Ir para conteúdo
  • 0

Definindo skills para 0 ou 1.


OriGM

Pergunta

Salve galera.

Um erro que tá me quebrando a cabeça,é como faço para diminuir a skill de algum player.

Por exemplo.

No skill inicial ao invez de começar com 10,gostaria que começasse ao 0(zero) ou 1(um).

E tentei com todos códigos porém todos apenas adicionam ,não diminuem o valor da skill.

Gostaria de saber se tem como fazer diminuir a skill,nem que seja mudando direto pela data base,e fazendo o char relogar logo após logar pela primeira vez.

Quem puder me ajudar,ficarei muito grato.

Um abração.

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Vai em (data/creaturescripts) e Cria um arquivo.lua com nome de startskills.lua e Cole isso la

function onLogin(cid)

local playerVoc = getPlayerVocation(cid)
local reqTries = getPlayerRequiredSkillTries
local skillStor = 56364
local gotSkills = getPlayerStorageValue(cid, 56364)
if playerVoc == 1 and gotSkills == -1 then
doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid,0.1)))
setPlayerStorageValue(cid, skillStor, 1)
elseif playerVoc == 2 and gotSkills == -1 then
doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid,0.1)))
setPlayerStorageValue(cid, skillStor, 1)
elseif playerVoc == 3 and gotSkills == -1 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, reqTries(cid, SKILL_DISTANCE, 0.1))
doPlayerAddSkillTry(cid, SKILL_SHIELD, reqTries(cid, SKILL_SHIELD, 0.1))
doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid,0.1))
setPlayerStorageValue(cid, skillStor, 1)
elseif playerVoc == 4 and gotSkills == -1 then
doPlayerAddSkillTry(cid, SKILL_AXE, reqTries(cid, SKILL_AXE, 0.1))
doPlayerAddSkillTry(cid, SKILL_SWORD, reqTries(cid, SKILL_SWORD, 0.1))
doPlayerAddSkillTry(cid, SKILL_CLUB, reqTries(cid, SKILL_CLUB, 0.1))
doPlayerAddSkillTry(cid, SKILL_SHIELD, reqTries(cid, SKILL_SHIELD, 0.1))
doPlayerAddMagLevel(cid, 0.1)
setPlayerStorageValue(cid, skillStor, 1)
end
return TRUE
end

Azul - A Vocation que vai receber Tal Skill (1=sorcerer)-(2=druid)-(3=paladin)-(4=knight)
Verde - O Skill que essa Vocation vai receber
Lembrando que as Skill se multiplicão por 10, então se vc colocar 1 vai começar com 10......
Agora va em creaturescripts.xml e Cole essa Tag la:

<event type="login" name="StartSkills" event="script" value="startskills.lua"/>

 

 

 

 

 

 

 

Ajudei? REP+

Editado por Shoguns
Link para o comentário
Compartilhar em outros sites

  • 0

Se você usa mysql, só mudar o valor inicial no sample da database...

 

Exemplo:

  `skill_fist` int(10) unsigned NOT NULL DEFAULT 10

Para:

  `skill_fist` int(10) unsigned NOT NULL DEFAULT 1
Link para o comentário
Compartilhar em outros sites

  • 0

Não consegui fazer isso,aonde faço? Tentei jogar no Campo sql e executar,mas deu erro.

 

 

---EDIT---

Consegui indo em "Acionadores" ,deve ser o SAMPLE traduzido. rsrs

 

Alguém sabe como posso executar em .lua para trocar qualquer que seja o valor do skill para 0 ? Sei que tem que logar,só queria saber qual o código em .lua para adicionar direto na database.

Editado por OriGM
Link para o comentário
Compartilhar em outros sites

  • 0
local query = "UPDATE player_skills SET value = valor WHERE skillid = skillid AND player_id = " .. getPlayerGUID(cid)

db.executeQuery(query)

Editado por Null
Link para o comentário
Compartilhar em outros sites

  • 0

Perfeito cara!

Só precisei trocar o getPlayerGUID(cid) colocando um "pid" porque nao reconhecia o ID quando o player logava,e funcionou perfeitinho.

Valeu mesmo,duvida sanada,reportei o topico para que movam.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...