OR
pedido

Definindo skills para 0 ou 1.

Por OriGM, 16 de jan. de 2014 em Scripts

resolvido
9
848
OriGMO
16 de janeiro de 2014 às 01:24

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.

 

16 de janeiro de 2014 às 10:14

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 Janeiro 16 por Shoguns

OriGMO
18 de janeiro de 2014 às 19:44

Fazendo isso ae,está adicionando 3 na skill.

18 de janeiro de 2014 às 19:48

Fazendo isso ae,está adicionando 3 na skill.

 

 

Então tente trokar 0.1 por 0.0

Nu77N
18 de janeiro de 2014 às 20:22

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
OriGMO
23 de janeiro de 2014 às 00:54

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 Janeiro 23 por OriGM

Nu77N
23 de janeiro de 2014 às 07:03
local query = "UPDATE player_skills SET value = valor WHERE skillid = skillid AND player_id = " .. getPlayerGUID(cid)

db.executeQuery(query)

Editado Janeiro 23 por Null

OriGMO
23 de janeiro de 2014 às 18:44

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.

zipter98Z
23 de janeiro de 2014 às 19:33

Tópico movido para a seção de dúvidas e pedidos resolvidos.