Ir para conteúdo

[Funçao Lua] Doplayeraddskiltry


sauvadur2

Posts Recomendados

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

Link para o comentário
Compartilhar em outros sites

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 por Mattew
Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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 por kydrai
Link para o comentário
Compartilhar em outros sites

  • 1 year later...

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.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...