GuysTREM Posted January 27, 2019 Share Posted January 27, 2019 (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 January 27, 2019 by GuysTREM Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 (edited) Olá. Qual erro que aparece no /debugscript 3? Edited January 27, 2019 by Lord Henry 1 1 Link to comment
Jonas^ Posted January 27, 2019 Share Posted January 27, 2019 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. 1 Link to comment
GuysTREM Posted January 27, 2019 Author Share Posted January 27, 2019 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 Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 E cadê a função getPlayerFromPartialName? 1 Link to comment
Jonas^ Posted January 27, 2019 Share Posted January 27, 2019 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 2 Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 E esse script é client-side ou server-side? 2 Link to comment
GuysTREM Posted January 27, 2019 Author Share Posted January 27, 2019 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 Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 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. 1 Link to comment
GuysTREM Posted January 27, 2019 Author Share Posted January 27, 2019 (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 Edited January 27, 2019 by GuysTREM Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 Qual o nick dos jogadores atualmente online no servidor? (Olhe na tabela do TAB) 1 Link to comment
GuysTREM Posted January 27, 2019 Author Share Posted January 27, 2019 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. Link to comment
DNL291 Posted January 27, 2019 Share Posted January 27, 2019 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. 1 Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 Então mano. Tente o comando /level Lucas 50 Realmente não existe nenhum jogador com nick admin 1 Link to comment
GuysTREM Posted January 27, 2019 Author Share Posted January 27, 2019 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 e me retornou 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
DNL291 Posted January 27, 2019 Share Posted January 27, 2019 if getElementData ( source, "Console_AirNewSCR" ) == "Sim" then Então o erro deve estar nessa linha. 1 Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 Então descobrimos o problema. Você não está com a data "Console_AirNewSCR" 1 Link to comment
Jonas^ Posted January 27, 2019 Share Posted January 27, 2019 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 Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 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
GuysTREM Posted January 27, 2019 Author Share Posted January 27, 2019 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 ? Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 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? Link to comment
GuysTREM Posted January 27, 2019 Author Share Posted January 27, 2019 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 Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 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. 1 Link to comment
Jonas^ Posted January 27, 2019 Share Posted January 27, 2019 (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 January 27, 2019 by OverKILL Link to comment
Other Languages Moderators Lord Henry Posted January 27, 2019 Other Languages Moderators Share Posted January 27, 2019 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now