Jump to content

Alguem me ajuda nesse codigo


Recommended Posts

Posted (edited)

Alguem me ajuda pfv eu digito /level meu nick e quantidade xp mais nao esta funcionando se alguem me poder me ajudar agradeço

 

function DAR_XP_AIRNEWSCR ( source, cmd, pname, Quantidade )
    if pname and tonumber(Quantidade) then
        local cliente = getPlayerFromPartialName(pname)
        if isElement(cliente) then
            if getElementData ( source, "Console_AirNewSCR" ) == "Sim" then
                setElementData ( cliente, "Level", Quantidade )
                exports.Scripts_Dxmessages:outputDx(source, "Você Setou o Level do(a) Jogador(a) "..getPlayerName(cliente).."#ffffff para "..Quantidade.." com Sucesso!", "success")
                exports.Scripts_Dxmessages:outputDx(cliente, "O(A) Admin "..getPlayerName(source).."#ffffff Setou seu Level para "..Quantidade.." com Sucesso!", "success")
            end
        else
            exports.Scripts_Dxmessages:outputDx(source, "O Jogador Não Foi Encontrado", "error")
        end
    end
end
addCommandHandler ( "level", DAR_XP_AIRNEWSCR )

 

Edited by GuysTREM
  • Moderators
Posted (edited)

Olá.

Qual erro que aparece no /debugscript 3?

Edited by Lord Henry
  • Like 1
  • 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

Se você usa sistema de EXP pra upar de level, aconselho usar pra setar EXP o meu é assim, eu seto experiencia ao invés de level.

  • Thanks 1
Posted
7 minutes ago, Lord Henry said:

Olá.

Qual erro que aparece no /debugscript 3?

Porem oque mais acho nao aparece nem um erro so aparece que o jogador nao foi encontrado

  • Moderators
Posted

E cadê a função getPlayerFromPartialName?

  • 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

Não esquece de usar a função getPlayerFromPartialName ela não é nativa.

 

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

 

  • Thanks 2
  • Moderators
Posted

E esse script é client-side ou server-side?

  • Thanks 2

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
2 minutes ago, Lord Henry said:

E esse script é client-side ou server-side?

Server-side

2 minutes ago, OverKILL said:

Não esquece de usar a função getPlayerFromPartialName ela não é nativa.

 


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

 

Olha logo acima tem essa funçao e e igualzinha

 

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 DAR_XP_AIRNEWSCR ( source, cmd, pname, Quantidade )
    if pname and tonumber(Quantidade) then
	    local cliente = getPlayerFromPartialName(pname)
	    if isElement(cliente) then
		    if getElementData ( source, "Console_AirNewSCR" ) == "Sim" then
			    setElementData ( cliente, "Level", Quantidade )
			    exports.Scripts_Dxmessages:outputDx(source, "Você Setou o Level do(a) Jogador(a) "..getPlayerName(cliente).."#ffffff para "..Quantidade.." com Sucesso!", "success")
			    exports.Scripts_Dxmessages:outputDx(cliente, "O(A) Admin "..getPlayerName(source).."#ffffff Setou seu Level para "..Quantidade.." com Sucesso!", "success")
		    end
		else
		    exports.Scripts_Dxmessages:outputDx(source, "O Jogador Não Foi Encontrado", "error")
		end
	end
end
addCommandHandler ( "level", DAR_XP_AIRNEWSCR )

 

10 minutes ago, Lord Henry said:

E esse script é client-side ou server-side?

Tem algo de errado nessa print ou esta certo

 

unknown.pngunknown.pngunknown.pngunknown.png

  • Moderators
Posted

Tá, é o seguinte.

Recomendo que vc debugue seu código para ver onde ele está lendo e onde não está lendo.

Faça isso na sua função:

function DAR_XP_AIRNEWSCR ( source, cmd, pname, Quantidade )
	outputChatBox ("01", source)
	if pname and tonumber(Quantidade) then
		outputChatBox ("02", source)
		local cliente = getPlayerFromPartialName(pname)
		if isElement(cliente) then
			outputChatBox ("03", source)
			if getElementData ( source, "Console_AirNewSCR" ) == "Sim" then
				outputChatBox ("04", source)
				setElementData ( cliente, "Level", Quantidade )
				exports.Scripts_Dxmessages:outputDx(source, "Você Setou o Level do(a) Jogador(a) "..getPlayerName(cliente).."#ffffff para "..Quantidade.." com Sucesso!", "success")
				exports.Scripts_Dxmessages:outputDx(cliente, "O(A) Admin "..getPlayerName(source).."#ffffff Setou seu Level para "..Quantidade.." com Sucesso!", "success")
			end
		else
			outputChatBox ("05", source)
			exports.Scripts_Dxmessages:outputDx(source, "O Jogador Não Foi Encontrado", "error")
		end
	end
end
addCommandHandler ( "level", DAR_XP_AIRNEWSCR )

Me diga quais números aparecem no chat ao usar o comando.

  • 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 (edited)
4 minutes ago, Lord Henry said:

Tá, é o seguinte.

Recomendo que vc debugue seu código para ver onde ele está lendo e onde não está lendo.

Faça isso na sua função:


function DAR_XP_AIRNEWSCR ( source, cmd, pname, Quantidade )
	outputChatBox ("01", source)
	if pname and tonumber(Quantidade) then
		outputChatBox ("02", source)
		local cliente = getPlayerFromPartialName(pname)
		if isElement(cliente) then
			outputChatBox ("03", source)
			if getElementData ( source, "Console_AirNewSCR" ) == "Sim" then
				outputChatBox ("04", source)
				setElementData ( cliente, "Level", Quantidade )
				exports.Scripts_Dxmessages:outputDx(source, "Você Setou o Level do(a) Jogador(a) "..getPlayerName(cliente).."#ffffff para "..Quantidade.." com Sucesso!", "success")
				exports.Scripts_Dxmessages:outputDx(cliente, "O(A) Admin "..getPlayerName(source).."#ffffff Setou seu Level para "..Quantidade.." com Sucesso!", "success")
			end
		else
			outputChatBox ("05", source)
			exports.Scripts_Dxmessages:outputDx(source, "O Jogador Não Foi Encontrado", "error")
		end
	end
end
addCommandHandler ( "level", DAR_XP_AIRNEWSCR )

Me diga quais números aparecem no chat ao usar o comando.

01

02

05

Fiz o comando /level admin 50

unknown.png

Edited by GuysTREM
  • Moderators
Posted

Qual o nick dos jogadores atualmente online no servidor? (Olhe na tabela do TAB)

  • 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
Just now, Lord Henry said:

Qual o nick dos jogadores atualmente online no servidor? (Olhe na tabela do TAB)

Apenas eu estou online, mais quando uso o comando /level coloco meu login, não o nickname. Quando coloco o nick name nao aparece nada.

unknown.png

Posted

Teste com seu nick, a função não funciona com o cargo da ACL. E mostre o que sai no chat com o código de depuração que o Lord postou.

  • Thanks 1

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

  • Moderators
Posted

Então mano. Tente o comando /level Lucas 50

Realmente não existe nenhum jogador com nick admin

  • 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
2 minutes ago, Lord Henry said:

Então mano. Tente o comando /level Lucas 50

 Realmente não existe nenhum jogador com nick admin

Já tentamos pois nao aparece nada no chat

 

unknown.png

e me retornou

unknown.png

4 minutes ago, DNL291 said:

Teste com seu nick, a função não funciona com o cargo da ACL. E mostre o que sai no chat com o código de depuração que o Lord postou.

Sim ja tentei com meu nick e no caso admin e meu login

Posted
if getElementData ( source, "Console_AirNewSCR" ) == "Sim" then

Então o erro deve estar nessa linha.

  • Thanks 1

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

  • Moderators
Posted

Então descobrimos o problema.

Você não está com a data "Console_AirNewSCR"

  • 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

A proposito esse seu sistema de level é pra que necessariamente? o jogador vai entrar e ganhar 1 level? não entendi como funciona a parte de upar o level

  • Moderators
Posted

Repita o comando mas use essa função:

function DAR_XP_AIRNEWSCR ( source, cmd, pname, Quantidade )
	outputChatBox ("01", source)
	if pname and tonumber(Quantidade) then
		outputChatBox ("02", source)
		local cliente = getPlayerFromPartialName(pname)
		if isElement(cliente) then
			outputChatBox ("03", source)
			if getElementData ( source, "Console_AirNewSCR" ) == "Sim" then
				outputChatBox ("04", source)
				setElementData ( cliente, "Level", Quantidade )
				exports.Scripts_Dxmessages:outputDx(source, "Você Setou o Level do(a) Jogador(a) "..getPlayerName(cliente).."#ffffff para "..Quantidade.." com Sucesso!", "success")
				exports.Scripts_Dxmessages:outputDx(cliente, "O(A) Admin "..getPlayerName(source).."#ffffff Setou seu Level para "..Quantidade.." com Sucesso!", "success")
			else
				outputChatBox ("05", source)
				exports.Scripts_Dxmessages:outputDx(source, "O Jogador Foi Encontrado Mas Não Possui A Data Necessária", "error")
			end
		else
			outputChatBox ("06", source)
			exports.Scripts_Dxmessages:outputDx(source, "O Jogador Não Foi Encontrado", "error")
		end
	end
end
addCommandHandler ( "level", DAR_XP_AIRNEWSCR )

 

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
1 minute ago, Lord Henry said:

Então descobrimos o problema.

Você não está com a data "Console_AirNewSCR"

Oque seria essa data console_airnewscr ? e outro script ?

  • Moderators
Posted
Just now, GuysTREM said:

Oque seria essa data console_airnewscr ? e outro script ?

Ué. Não foi vc quem fez?

Se essa data não tem utilidade, pq ela está no 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
1 minute ago, OverKILL said:

A proposito esse seu sistema de level é pra que necessariamente? o jogador vai entrar e ganhar 1 level? não entendi como funciona a parte de upar o level

Ele upara os level trabalhando e isso vai conseguindo mais acesso a novos trabalho

  • Moderators
Posted
2 minutes ago, OverKILL said:

A proposito esse seu sistema de level é pra que necessariamente? o jogador vai entrar e ganhar 1 level? não entendi como funciona a parte de upar o level

Creio que ele esteja apenas testando um comando para dar level, os scripts de trabalho é que darão automaticamente.

  • Like 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 (edited)

Então, acho mais fácil você usar o sistema de level do @DNL291 você tem toda a base completa, alias, ta bem mais completo que esse aí, ao inves de ganhar level, você pode fazer pra ganhar experiencia , dai quando o jogador atingir uma certa experiencia ele upara de level, eu uso esse.

Edited by OverKILL
  • Moderators
Posted

Código sem o uso daquela data:

function DAR_XP_AIRNEWSCR ( source, cmd, pname, Quantidade )
	outputChatBox ("01", source)
	if pname and tonumber(Quantidade) then
		outputChatBox ("02", source)
		local cliente = getPlayerFromPartialName(pname)
		if isElement(cliente) then
			outputChatBox ("03", source)
			setElementData ( cliente, "Level", Quantidade )
			exports.Scripts_Dxmessages:outputDx(source, "Você Setou o Level do(a) Jogador(a) "..getPlayerName(cliente).."#ffffff para "..Quantidade.." com Sucesso!", "success")
			exports.Scripts_Dxmessages:outputDx(cliente, "O(A) Admin "..getPlayerName(source).."#ffffff Setou seu Level para "..Quantidade.." com Sucesso!", "success")
		else
			outputChatBox ("04", source)
			exports.Scripts_Dxmessages:outputDx(source, "O Jogador Não Foi Encontrado", "error")
		end
	end
end
addCommandHandler ( "level", DAR_XP_AIRNEWSCR )

 

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.

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