Jump to content

Variavel


Recommended Posts

Ola Queria saber se a variavel que eu criei e so pra uma pessoa ou e geral vamos disse quero fazer uma loja e dai compro uma arma e deixar a variavel compra = true blz ne dai vamos disse outra pessoa tenta comprar ele n vai consegui por a variavel esta como true queria saber se e assim ou se e por pessoas

Link to comment
On 09/07/2019 at 11:42, Lord Henry said:

Depende.

O script é server-side ou é client-side?

Poste a parte do código.

nao entendi o server-side ou é client-side? queria saber como coloco uma variavel so pra 1 player n para todos vo pegar o codico 

--[[



 ################################################
 #                                              #
 #              Script Criado Por               #
 #           FACEBOOK.COM/AIRNEWSCR             #
 #                                              #
 #                                              #
 ################################################



--]]

--------------------------------------------------------------------------------------------

Comando_Revistar = "vendar"
Comando_Revistar2 = "comprar"
venda = false

function getPlayerFromPartialName ( name )
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil
    if name then
        for _, player in ipairs(getElementsByType("player")) do
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower()
            if name_:find(name, 1, true) then
                return player
            end
        end
    end
end
function comprarv (source)
	if venda then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
		venda = true
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )


function Revistar ( source, cmd, player )
    if venda then
        local Jogador = getPlayerFromPartialName ( player )
        if Jogador then
		    local cx,cy,cz = getElementPosition(Jogador)
		    local x,y,z = getElementPosition(source)
		    local dist = getDistanceBetweenPoints3D(x,y,z,cx,cy,cz)
		    if dist <= 5 then
		    	outputChatBox ( "Você Vendou Um Jogador [-1 Venda]", source )
		    	outputChatBox ( "Você Foi Vendado", Jogador )
		    	venda = false
			end
			else
				outputChatBox("#bebebeChegue mais perto do jogador!", source, 255, 255, 255, true)
				
	   end
	end
end
addCommandHandler ( Comando_Revistar, Revistar )

e uma loja que to fazendo de venda soque n sei se a variavel e pra todo mundo ou pra 1 pessoa so queria pra 1 pessoa so a variavel

Link to comment
43 minutes ago, DNL291 said:

No lado server será compartilhada entre os jogadores, então você pode definir um valor numa tabela com o player na chave para evitar conflitos. O código acima é lado server.

o meu codico e do server ent e pra todo mundo a variavel ? como faço pra colocar so pra uma pessoa 

Link to comment
  • Moderators
function comprarv (source, cmd, playerName)
	if venda[source] and isElement(venda[source]) then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		if not playerName then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar2.." <jogador>", source )
		end
		local thePlayer = getPlayerFromPartialName (playerName )
		if isElement(thePlayer) then
			outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
			venda[source] = thePlayer
		else
			outputChatBox( "["..Comando_Revistar2.."] Jogador não encontrado!", source )
		end
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )

'venda' passa a ser uma tabela e não uma variável, daí você define como tal no topo do código.

Link to comment
15 minutes ago, DNL291 said:

function comprarv (source, cmd, playerName)
	if venda[source] and isElement(venda[source]) then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		if not playerName then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar2.." <jogador>", source )
		end
		local thePlayer = getPlayerFromPartialName (playerName )
		if isElement(thePlayer) then
			outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
			venda[source] = thePlayer
		else
			outputChatBox( "["..Comando_Revistar2.."] Jogador não encontrado!", source )
		end
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )

'venda' passa a ser uma tabela e não uma variável, daí você define como tal no topo do código.

 ta então pra ver se a variavel esta ativada tenho que colocar isso

if venda[source] and isElement(venda[source]) then

 

Edited by zThyPvpTK
Link to comment
  • Moderators

No lugar da variável passa a ser a tabela, a qual o jogador-alvo ficará armazenado dentro da chave com o elemento-player como você pode ver no código.

'source' aí na tabela venda se refere ao jogador (que digitou o comando).

  • Thanks 1
Link to comment
11 minutes ago, DNL291 said:

No lugar da variável passa a ser a tabela, a qual o jogador-alvo ficará armazenado dentro da chave com o elemento-player como você pode ver no código.

'source' aí na tabela venda se refere ao jogador (que digitou o comando).

source to ligado que e jogador ta obrigado ai

22 minutes ago, DNL291 said:

No lugar da variável passa a ser a tabela, a qual o jogador-alvo ficará armazenado dentro da chave com o elemento-player como você pode ver no código.

'source' aí na tabela venda se refere ao jogador (que digitou o comando).

ve se ta tudo certo agr 

--[[



 ################################################
 #                                              #
 #              Script Criado Por               #
 #           FACEBOOK.COM/AIRNEWSCR             #
 #                                              #
 #                                              #
 ################################################



--]]

--------------------------------------------------------------------------------------------

Comando_Revistar = "vendar"
Comando_Revistar2 = "comprar"
venda = false

function getPlayerFromPartialName ( name )
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil
    if name then
        for _, player in ipairs(getElementsByType("player")) do
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower()
            if name_:find(name, 1, true) then
                return player
            end
        end
    end
end

function comprarv (source, cmd, playerName)
	if venda[source] and isElement(venda[source]) then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		if not playerName then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar2.." <jogador>", source )
		end
		local thePlayer = getPlayerFromPartialName (playerName )
		if isElement(thePlayer) then
			outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
			venda[source] = thePlayer
		else
			outputChatBox( "["..Comando_Revistar2.."] Jogador não encontrado!", source )
		end
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )

function Revistar ( source, cmd, player )
    if venda[source] and isElement(venda[source]) then
        local Jogador = getPlayerFromPartialName ( player )
        if Jogador then
		    local cx,cy,cz = getElementPosition(Jogador)
		    local x,y,z = getElementPosition(source)
		    local dist = getDistanceBetweenPoints3D(x,y,z,cx,cy,cz)
		    if dist <= 5 then
		    	outputChatBox ( "Você Vendou Um Jogador [-1 Venda]", source )
		    	outputChatBox ( "Você Foi Vendado", Jogador )
		    	venda[source] = thePlayer
			end
			else
				outputChatBox("#bebebeChegue mais perto do jogador!", source, 255, 255, 255, true)
				
	   end
	end
end
addCommandHandler ( Comando_Revistar, Revistar )

 

Link to comment
14 minutes ago, DNL291 said:

Na linha 64 tem um end que irá causar erro, coloque-o depois do outputChatBox abaixo. E também, a variável 'venda' na linha 21 deve ser uma tabela (local venda = {}).

--[[



 ################################################
 #                                              #
 #              Script Criado Por               #
 #           FACEBOOK.COM/AIRNEWSCR             #
 #                                              #
 #                                              #
 ################################################



--]]

--------------------------------------------------------------------------------------------

Comando_Revistar = "vendar"
Comando_Revistar2 = "comprar"
local venda = {}

function getPlayerFromPartialName ( name )
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil
    if name then
        for _, player in ipairs(getElementsByType("player")) do
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower()
            if name_:find(name, 1, true) then
                return player
            end
        end
    end
end

function comprarv (source, cmd, playerName)
	if venda[source] and isElement(venda[source]) then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		if not playerName then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar2.." <jogador>", source )
		end
		local thePlayer = getPlayerFromPartialName (playerName )
		if isElement(thePlayer) then
			outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
			venda[source] = thePlayer
		else
			outputChatBox( "["..Comando_Revistar2.."] Jogador não encontrado!", source )
		end
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )

function Revistar ( source, cmd, player )
    if venda[source] and isElement(venda[source]) then
        local Jogador = getPlayerFromPartialName ( player )
        if Jogador then
		    local cx,cy,cz = getElementPosition(Jogador)
		    local x,y,z = getElementPosition(source)
		    local dist = getDistanceBetweenPoints3D(x,y,z,cx,cy,cz)
		    if dist <= 5 then
		    	outputChatBox ( "Você Vendou Um Jogador [-1 Venda]", source )
		    	outputChatBox ( "Você Foi Vendado", Jogador )
		    	venda[source] = thePlayer
			else
				outputChatBox("#bebebeChegue mais perto do jogador!", source, 255, 255, 255, true)
			end
	   end
	end
end
addCommandHandler ( Comando_Revistar, Revistar )

 

Link to comment
  • Moderators

Falta verificar se 'player' existe na função Revistar, coloque está verificação após o primeiro if:

		if not player then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar.." <jogador>", source )
		end

Quanto ao seu código eu ainda não entendi o que você quer fazer.

Link to comment
17 minutes ago, DNL291 said:

Falta verificar se 'player' existe na função Revistar, coloque está verificação após o primeiro if:


		if not player then			return outputChatBox( "Sintaxe: /"..Comando_Revistar.." <jogador>", source )		end

Quanto ao seu código eu ainda não entendi o que você quer fazer.

vo fazer pra abrir um painel dx que vai ficar a tela preta ta ligado

19 minutes ago, DNL291 said:

Falta verificar se 'player' existe na função Revistar, coloque está verificação após o primeiro if:


		if not player then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar.." <jogador>", source )
		end

Quanto ao seu código eu ainda não entendi o que você quer fazer.

function Revistar ( source, cmd, player )
    if venda[source] and isElement(venda[source]) then
		if not player then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar.." <jogador>", source )
		else
	        local Jogador = getPlayerFromPartialName ( player )
	        if Jogador then
			    local cx,cy,cz = getElementPosition(Jogador)
			    local x,y,z = getElementPosition(source)
			    local dist = getDistanceBetweenPoints3D(x,y,z,cx,cy,cz)
			    if dist <= 5 then
			    	outputChatBox ( "Você Vendou Um Jogador [-1 Venda]", source )
			    	outputChatBox ( "Você Foi Vendado", Jogador )
			    	venda[source] = thePlayer
				else
					outputChatBox("#bebebeChegue mais perto do jogador!", source, 255, 255, 255, true)
				end
			end
		end
	end
end
addCommandHandler ( Comando_Revistar, Revistar )

 

Link to comment
11 minutes ago, DNL291 said:

É um script de vendar o jogador? Você pode deixar a tela preta com fadeCamera também.

vo usar o painel dx msm e que n sei mecher muito no fedecamera e tmb quero colocar um texto na tela e isso ainda n sei como fazer se poder me mandar os links pra min fazer isso

Link to comment
  • Other Languages Moderators

Quando vc usa fadeCamera, vc tem 2 opções.

fadeCamera (player, false, 1.5, 255, 100, 150)
-- ou
fadeCamera (player, true, 1.5)

-- player = Jogador cuja camera vai escurecer ou voltar ao normal.
-- true/false = Coloque true pra voltar a câmera ao normal, coloque false pra escurecer a tela pra uma cor.
-- 1.5 = Segundos de transiçao. Pode ser qualquer número real positivo. Esse parâmetro é opcional, se não for declarado ele fica 1.0 automaticamente.
-- 255, 100, 150 = Cor RGB para qual a câmera vai escurecer se o segundo parâmetro for false. Esses parâmetros são opcionais, se não forem declarados, são todos 0, 0, 0. (preto)

 

Edited by Lord Henry
  • Thanks 1
Link to comment
12 minutes ago, Lord Henry said:

Quando vc usa fadeCamera, vc tem 2 opções.


fadeCamera (player, false, 1.5, 255, 100, 150)-- player = Jogador cuja camera vai escurecer ou voltar ao normal.-- true/false = Coloque true pra voltar a câmera ao normal, coloque false pra escurecer a tela pra uma cor.-- 1.5 = Segundos de transiçao. Pode ser qualquer número real positivo. Esse parâmetro é opcional, se não for declarado ele fica 1.0 automaticamente.-- 255, 100, 150 = Cor RGB para qual a câmera vai escurecer se o segundo parâmetro for false. Esses parâmetros são opcionais, se não forem declarados, são todos 0, 0, 0. (preto)fadeCamera (player, true, 1.5)

 

tendi obrigado 

Link to comment
  • Moderators

A propósito, fadeCamera é bem mais fácil do que um dx, pois você terá que: fazer um trigger, adicionar o "onClientRender" para renderizar o dx; pra remover o mesmo, trigger e removeEventHandler. Enquanto que com fadeCamera seria diretamente na sintaxe da função, sem utilizar triggerClient.

fadeCamera( thePlayer, false, 1 ) > escurecer a tela

fadeCamera( thePlayer, true, 1 ) > voltar ao normal

Você só irá alterar o valor booleano, ali no 1, você pode diminuir se quiser que o fadding gradual seja mais rápido.

Obs: O Lord Henry já respondeu antes mas acho conveniente deixar aqui o meu post também

Quando ao texto você também pode fazê-lo no lado server, aqui estão as funções:

https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#Text_functions

Edit:

20 minutes ago, zThyPvpTK said:

ata tendi so pra saber a cor preta no fede qual e o numero e que na wiki n fala se sabe ?

A cor preta já será a cor padrão na função, ou seja, se você não definir a cor, ela já será preta (red: 0, green: 0, blue: 0)

  • Thanks 1
Link to comment
33 minutes ago, DNL291 said:

A propósito, fadeCamera é bem mais fácil do que um dx, pois você terá que: fazer um trigger, adicionar o "onClientRender" para renderizar o dx; pra remover o mesmo, trigger e removeEventHandler. Enquanto que com fadeCamera seria diretamente na sintaxe da função, sem utilizar triggerClient.

fadeCamera( thePlayer, false, 1 ) > escurecer a tela

fadeCamera( thePlayer, true, 1 ) > voltar ao normal

Você só irá alterar o valor booleano, ali no 1, você pode diminuir se quiser que o fadding gradual seja mais rápido.

Obs: O Lord Henry já respondeu antes mas acho conveniente deixar aqui o meu post também

Quando ao texto você também pode fazê-lo no lado server, aqui estão as funções:

https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#Text_functions

Edit:

A cor preta já será a cor padrão na função, ou seja, se você não definir a cor, ela já será preta (red: 0, green: 0, blue: 0)

como pego a cordenada pra colocar no texto ?

e como coloco pra aparecer e o codico pra desaparecer e que n to entendendo mt na wiki

Edited by zThyPvpTK
Link to comment

bom fui testar o script e não esta indo do /comprar ele fala pra dar /comprar player era pra dar so /comprar e comprar a venda e deixar a variavel como true so pro player dai tentei tirar 


function comprarv (source, cmd, playerName)
	if venda[source] and isElement(venda[source]) then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		if not playerName then
			return outputChatBox( "Sintaxe: /"..Comando_Revistar2.." <jogador>", source )
		end
		local thePlayer = getPlayerFromPartialName (playerName )
		if isElement(thePlayer) then
			outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
			venda[source] = thePlayer
		else
			outputChatBox( "["..Comando_Revistar2.."] Jogador não encontrado!", source )
		end
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )

e deixei assim 

function comprarv (source, cmd, playerName)
	if venda[source] and isElement(venda[source]) then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		local thePlayer = getPlayerFromPartialName (playerName )
			outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
			venda[source] = thePlayer
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )

e não esta deixando a variavel venda como true so para o player pode me ajudar novamente ?

Link to comment
  • Moderators

Tem o isElement ali acima, se você mudar pra uma boolean vai precisar revisar essa linha. Remova também o "local thePlayer = getPlayerFromPartialName (playerName )" do código já que esse não será usado.

Tente:


function comprarv (source, cmd)
	if venda[source] then
		outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source )
	else
		if getPlayerMoney(source) >= 1000 then -- verifique o dinheiro já que se trata de uma compra
			outputChatBox ( "* Venda Comprada /vendar [Jogador]", source )
			venda[source] = true
			takePlayerMoney( source, 1000 )
		else
			outputChatBox( "["..Comando_Revistar2.."] Dinheiro insuficiente!", source, 230, 30, 30 )
		end
	end
end
addCommandHandler ( Comando_Revistar2, comprarv )

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...