Postado Agosto 18, 2022 2 anos 2 horas atrás, Strikerzerh disse: tenta assim: function onDeath(cid) if not isPlayer(cid) then return true end for i=1, 7 do -- de 1 a 7 = de club até ML if i ~= 6 then --se for diferente de 6 (6 é fishing) local skills = getPlayerSkill(cid, i) if skills >= 12 then -- se for maior que 12 (só cai até 10, pra proteção de bug) doPlayerAddSkill(cid, i, -2, true) end end end return true end
Postado Agosto 18, 2022 2 anos Autor Mesmo erro na distro Editado Agosto 18, 2022 2 anos por Strikerzerh (veja o histórico de edições)
Postado Agosto 19, 2022 2 anos Bom vamos lá ... if not isPlayer(cid) then return true end Não acho que precise dessa verificação, pois a função onDeath deve ser registrada no jogador, ou seja, apenas jogadores terão ela. No const.h consta esses skills e valores .. SKILL_FIST = 1 SKILL_CLUB = 2 SKILL_SWORD = 3 SKILL_AXE = 4 SKILL_DIST = 5 SKILL_SHIELD = 6 SKILL_FISH = 7 SKILL__MAGLEVEL = 8 Esssa função é praticamente igual ao que o FeeTads mandou ... function onDeath(cid) for skill_id = SKILL_FIST, SKILL__MAGLEVEL do if skill_id ~= SKILL_FISH then local skill_atual = getPlayerSkillLevel(cid, skill_id) and getPlayerSkillLevel(cid, skill_id) or false if skill_atual and skill_atual > 12 then doPlayerAddSkillTry(cid, skill_id, getPlayerRequiredSkillTries(cid, skill_id, getPlayerSkillLevel(cid, skill_id) - 2) - getPlayerSkillTries(cid, skill_id), false) end end end return true end O erro diz que você não pode comparar um número com um booleano, porem a função getPlayerSkillLevel() deve retornar um e quando comparado, no caso, ao 12, deveria funcionar ... Você esta registrando o event no arquivo login.lua? registerCreatureEvent(cid, "Nome do evento onDeath que você colocou no XML") Editado Agosto 19, 2022 2 anos por luanluciano93 (veja o histórico de edições) STYLLER OT 2022
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.