Olá rapaziada como estamos?
Encontrei um script super bacana de comprar SKILLS via talkaction (ex: !comprar club)
Ele remove uma quantidade de certo item e te da skills pro char
Porém esse script nao está funcionando corretamente, ele está removendo o item, está deslogando o char mas nao está dando os skills
SCRIPT
skill = {
item = 2157, -- Item
quantidade = 10, -- Quantidade
quantidadeskill = 10, -- Skill adicionada
limiteskill = 350 -- Limite
}magicLevel = {
item = 2157,
quantidade = 15,
quantidademl = 5,
limitedeml = 200
}skillID = {
["club"] = SKILL_CLUB,
["sword"]= SKILL_SWORD,
["axe"] = SKILL_AXE,
["distance"] = SKILL_DISTANCE,
["shielding"] = SKILL_SHIELD
}vocationSkill = { -- Vocações - SKILL
["club"] = {4, 8, 13, 14},
["sword"] = {4, 8, 13, 14},
["axe"] = {4, 8, 13, 14},
["distance"] = {3, 7},
["shielding"] = {4, 8, 3, 7, 13, 14}
}vocationMagicLevel = {1, 2, 5, 6} -- Vocações - MAGIC LEVEL
protectZone = "sim"
function onSay(cid, words, param, channel)
local pid = getPlayerGUID(cid)
if (protectZone == "sim") and (not getTilePzInfo(getCreaturePosition(cid))) then
doPlayerSendCancel(cid, "Você precisa estar em protection zone pra poder comprar.")
endif (param == '') then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Como usar: !comprar club; !comprar magiclevel.")
return true
endlocal storage, duration = 5, 5
if (param == 'magiclevel') then
if getPlayerMagLevel(cid) < magicLevel.limitedeml then
if isInArray(vocationMagicLevel, getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, magicLevel.item, magicLevel.quantidade) then
if (os.time() - getPlayerStorageValue(cid, storage)) >= duration then
setPlayerStorageValue(cid, storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `maglevel` = `maglevel` + ".. magicLevel.quantidademl .." WHERE `id` = ".. pid)
else
doPlayerSendCancel(cid, "Espere ".. duration .." segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
end
return true
endif(skillID[param:lower()]) then
if(getPlayerSkill(cid, skillID[param:lower()]) < skill.limiteskill) then
if isInArray(vocationSkill[param:lower()], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, skill.item, skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, storage)) >= duration then
setPlayerStorageValue(cid, storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `player_skills` SET `value` = `value` + ".. skill.quantidadeskill .." WHERE `player_id` = ".. pid .. " and `skillID[` = ".. skillID[param:lower()])
else
doPlayerSendCancel(cid, "Espere ".. duration .." segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end
else
doPlayerSendCancel(cid, "Skill desconhecida.")
end
return true
end
alguem que manja consegue me ajudar? qual o erro