Jump to content

Variavel


Recommended Posts

Posted

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

  • Moderators
Posted

Depende.

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

Poste a parte do código.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
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

Posted

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.

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
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 

Posted
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.

Please do not PM me with scripting related question nor support, use the forums instead.

Posted (edited)
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
Posted

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

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
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 )

 

Posted

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 = {}).

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
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 )

 

Posted

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.

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
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 )

 

Posted

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

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
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

  • Moderators
Posted
20 minutes ago, zThyPvpTK said:

n sei mecher muito no fedecamera

Pra isso que existe a Wiki e servidor local. Pra vc testar.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

  • Moderators
Posted

Dai vc usa dxDrawText. Vc vai precisar dele independente de usar o fade ou não.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
10 minutes ago, Lord Henry said:

Dai vc usa dxDrawText. Vc vai precisar dele independente de usar o fade ou não.

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

  • Moderators
Posted (edited)

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

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
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 

Posted

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

Please do not PM me with scripting related question nor support, use the forums instead.

Posted (edited)
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
Posted

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 ?

Posted

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 )

 

Please do not PM me with scripting related question nor support, use the forums instead.

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...