Então gente, no meu server tem um script que muda a classe, e eu alterei ele pra que pra ser usado, o player teria que ter tantos resets, porem quando eu uso o comando no jogo, da error na distro..
OBS na distro nao da error ao ligar o server;
Script:
function onSay(cid, words, param, channel)
if (param ~= "dark" and param ~= "hellborn" and param ~= "supreme") then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce digitou errado o nome da classe")
return TRUE
end
local config = {
darklvl = 20, -- level para resetar dark
hellbornlvl = 30, -- level para resetar hellborn
supremelvl = 50, -- level para resetar supreme
vocationDark = 15, -- id vocação dark
vocationHellborn = 16, -- id vocação hellborn
vocationSupreme = 17, -- id vocação supreme
lvlreset = 250, -- level apos resetar primeiras vocações
pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no").
battle = "yes", -- players deve estar sem battle ("yes" or "no")
premium = "no" -- se precisa ser premium account ("yes" or "no")
}
if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa estar em Protection Zone para usar este comando.")
return TRUE
end
if(config.premium == "yes") and (not isPremium(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Only players with premium account can use.")
return TRUE
end
if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce nao pode usar com battle.")
return TRUE
end
if (param == "dark") then
if (getPlayerReset(cid) >= 50) then
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce precisa ter ".. reset.." resets para poder mudar de classe.")
return TRUE
end
if (getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 7 or getPlayerVocation(cid) == 8 or getPlayerVocation(cid) == 14) then
if (getPlayerLevel(cid) >= config.darklvl) then
doPlayerSetVocation(cid, config.vocationDark)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..config.lvlreset..", `experience` = 0 WHERE `id` = "..config.player)
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa ser level "..config.darklvl..".")
return TRUE
end
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa ter promotion.")
return TRUE
end
local newvoc = tabble[param].reqVoc ~= nil and (tabble[param].reqVoc+1) or 14
setPlayerStorageValue(cid, 887979, newvoc)
end
if (param == "hellborn") then
if (getPlayerVocation(cid) == 15) then
if (getPlayerLevel(cid) >= config.hellbornlvl) then
doPlayerSetVocation(cid, config.vocationHellborn)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..config.lvlreset..", `experience` = 0 WHERE `id` = "..config.player)
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa ser level "..config.hellbornlvl..".")
return TRUE
end
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"You don't have vocation for this reset.")
return TRUE
end
end
if (param == "supreme") then
if (getPlayerVocation(cid) == 16) then
if (getPlayerLevel(cid) >= config.supremelvl) then
doPlayerSetVocation(cid, config.vocationSupreme)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..config.lvlHellborn..", `experience` = 0 WHERE `id` = "..config.player)
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa ser level "..config.supremelvl..".")
return TRUE
end
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"You don't have vocation for this reset.")
return TRUE
end
end
return TRUE
end
O codigo, linha, comando, seila como se chama, que lê a quantidade de resets do player é getPlayerReset(cid)
Error:
[04/01/2014 17:35:31] [Error - TalkAction Interface]
[04/01/2014 17:35:32] data/talkactions/scripts/classes.lua:onSay
[04/01/2014 17:35:32] Description:
[04/01/2014 17:35:32] data/talkactions/scripts/classes.lua:40: attempt to call global 'getPlayerReset' (a nil value)
[04/01/2014 17:35:32] stack traceback:
[04/01/2014 17:35:32] data/talkactions/scripts/classes.lua:40: in function <data/talkactions/scripts/classes.lua:1>
Pergunta
kaizy536 19
Então gente, no meu server tem um script que muda a classe, e eu alterei ele pra que pra ser usado, o player teria que ter tantos resets, porem quando eu uso o comando no jogo, da error na distro..
OBS na distro nao da error ao ligar o server;
Script:
O codigo, linha, comando, seila como se chama, que lê a quantidade de resets do player é getPlayerReset(cid)
Error:
Link para o comentário
https://xtibia.com/forum/topic/226568-error-ao-usar-o-comando/Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados