Bom, veja bem:
if getPlayerItemCount(cid, itemid, count) == x then doPlayerAddSkill(cid, skillid, amount) doPlayerRemoveItem(uid, n)
Espero ter ajudado, ai é só você substituir, e aplicar onde você quiser, se vai ser num npc, ou sei lá.
Mattew.
Bom, veja bem:
if getPlayerItemCount(cid, itemid, count) == x then doPlayerAddSkill(cid, skillid, amount) doPlayerRemoveItem(uid, n)
Espero ter ajudado, ai é só você substituir, e aplicar onde você quiser, se vai ser num npc, ou sei lá.
Mattew.
Editado Abril 2 por Mattew
info
Grupo: Herói
Registrado: 17/02/08
Posts: 2.5k
Reputação: +193

Não se usa a função doPlayerAddSkillTry para adicionar skills, já que essa função apenas adiciona uma "tentativa" de skill ao jogador. Uma tentativa de skill é a mesma coisa de como se ele tivesse dado um hit em certo bixo, por exemplo, quando o jogador hita um monstro é como se ele tivesse ganhado uma tentativa.
Abraços.
info
Grupo: Campones
Registrado: 28/11/09
Posts: 62
Reputação: +3
Char no Tibia: Misstter Emme

E existe alguma funçao que adcione skills? porque ja tentei doPlayerAddSkill e n funciona, ja procurei em todos os lugares e n axei ![]()
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

Não se usa a função doPlayerAddSkillTry para adicionar skills, já que essa função apenas adiciona uma "tentativa" de skill ao jogador. Uma tentativa de skill é a mesma coisa de como se ele tivesse dado um hit em certo bixo, por exemplo, quando o jogador hita um monstro é como se ele tivesse ganhado uma tentativa.
Abraços.
Claro que usa ...
A função do TFS 0.3.6 é:
function doPlayerAddSkill(cid, skill, amount, round)
if(skill == SKILL__LEVEL) then
return doPlayerAddLevel(cid, amount, round)
elseif(skill == SKILL__MAGLEVEL) then
return doPlayerAddMagLevel(cid, amount)
end
return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))
end
doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))
doPlayerAddSkillTry(cid, skillid, n) -> add n "tentativas" de skill.
getPlayerRequiredSkillTries(cid, skillId, skillLevel) -> pega a quantidade de "tentativas" necessária para o skillLevel desejado.
getPlayerSkillLevel(cid, skillid) -> pega o level do skill do player.
getPlayerSkillTries(cid, skillId) -> pega a quantidade de "tentativas" que o player ja deu.
getConfigInfo(key) -> nesse caso vai pega a rate no config.lua
Editado Abril 3 por kydrai
Ola, gostaria de saber qual o codigo que devo usar para add 1 ponto de skill , tipo.. o player tem 45 de sword, usou a funçao vai para 46.
tipo a funçao /addskill dos ADM , mas eu queria saber qual a linha de codigo que eu preciso pra fazer isso, add exatamente 1 ponto na skill que eu quero...
Ja faz dias ( serio ) que eu estou procurando, nao aguento mais... ninguem sabe ao certo como resolver isso.
O server que eu estou usando eh o 8.6 Alissow Server 4.11
Agradeceria imençamente a ajuda.
info
Grupo: Campones
Registrado: 28/11/09
Posts: 62
Reputação: +3
Char no Tibia: Misstter Emme
Ae galera to com duvida na funçao doPlayerAddSkilTry.
Tipo, eu queria que com essa funçao adciona-se sempre uma skill ao player, nao importa o numero da skill dele, desde que adcione...
Por exemplo:
eu vo fazer um script que remove certo item e adciona 1 skill, dependendo do comando usado pelo jogador, dai eu irei colocar doPlayerAddSkilTry(cid, skillid, e qual numero devo colocar aqui para sempre adcionar só uma skill, nem mais, nem menos, exatamente uma skill
Versao do ot server: 8.54