Jump to content

Alguem me ajuda nesse codigo


Recommended Posts

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
Link to comment

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
Link to comment
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

Link to comment
  • Other Languages Moderators

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
Link to comment
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
Link to comment
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

Link to comment
  • Other Languages Moderators

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 )

 

Link to comment
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

Link to comment
  • Other Languages Moderators
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
Link to comment

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
Link to comment
  • Other Languages Moderators

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 )

 

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