Porque o player não ganha um item que ao clicar ganharia a spell? Não seria mais fácil?
info
Group: Conde
Joined: 30/11/11
Posts: 696
Reputation: +71
Gender: Masculino
Tibia Character: treinador de lobo

info
Group: Visconde
Joined: 14/01/14
Posts: 276
Reputation: +30
Gender: Masculino
Tibia Character: Sonda retro

Porque o player não ganha um item que ao clicar ganharia a spell? Não seria mais fácil?
Acredito que seria a mesma, coisa, uma action, é só colocar uniqueID no bau dai, mesma coisa no item, ... mas vou ver se consigo fazer
info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem

EDITADO, conteúdo está no meu post abaixo
Edited Janeiro 21 by amoeba13
info
Group: Infante
Joined: 04/03/11
Posts: 1.6k
Reputation: +393
Tibia Character: No Have

Essa aqui é a quest, normal: cria questSpell.lua em data/actions/scripts
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 281921) < 1 then doPlayerSetStorageValue(cid, 281921, 1) doPlayerSendTextMessage(cid, 22, "Voce ganhou uma nova magia!") else doPlayerSendCancel(cid, "Voce ja pegou sua magia.") end return true endtag no actions.xml
<action uniqueid="7702" script="quests/questSpell.lua"/>daí bota uniqueID 7702 na quest
E coloca isso no arquivo.lua da sua magia, vai ter uma function onCastSpell daí vc substitui ela por essa:
function onCastSpell(cid, var) if getPlayerStorageValue(cid, 281921) == 1 then return doCombat(cid, combat, {pos = getCreaturePosition(cid), type=2}) else doPlayerSendCancel(cid, "Voce precisa completar a quest para usar essa magia.") return false end endO resto da magia vc deixa igual
Mais facil você setar para que ele possa aprendar a usar a spell.
info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem

Essa aqui é a quest, normal: cria questSpell.lua em data/actions/scripts
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 281921) < 1 then doPlayerSetStorageValue(cid, 281921, 1) doPlayerSendTextMessage(cid, 22, "Voce ganhou uma nova magia!") else doPlayerSendCancel(cid, "Voce ja pegou sua magia.") end return true endtag no actions.xml
<action uniqueid="7702" script="quests/questSpell.lua"/>daí bota uniqueID 7702 na quest
E coloca isso no arquivo.lua da sua magia, vai ter uma function onCastSpell daí vc substitui ela por essa:
function onCastSpell(cid, var) if getPlayerStorageValue(cid, 281921) == 1 then return doCombat(cid, combat, {pos = getCreaturePosition(cid), type=2}) else doPlayerSendCancel(cid, "Voce precisa completar a quest para usar essa magia.") return false end endO resto da magia vc deixa igual
Mais facil você setar para que ele possa aprendar a usar a spell.
Não sabia que tinha função pra isso.... Acabei de procurar e achei doPlayerLearnInstantSpell(cid, name)
@TOPIC Nem precisa mudar nada no magia.lua, e a quest fica assim:
local magia = 'Healing' -- Nome da magia
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid, 281921) < 1 then
doPlayerSetStorageValue(cid, 281921, 1)
doPlayerSendTextMessage(cid, 22, "Voce ganhou uma nova magia!")
doPlayerLearnInstantSpell(cid, magia)
else
doPlayerSendCancel(cid, "Voce ja pegou sua magia.")
end
return true
end
E na tag da sua magia, vc coloca needlearn="1" depois do exhaustion="1000" por exemplo.
info
Group: Infante
Joined: 04/03/11
Posts: 1.6k
Reputation: +393
Tibia Character: No Have

Bem mais pratico e parabéns.
So tomar cuidado que mesmo em learn se a vocação não estiver liberada na xml não irá funcionar.
Edited Janeiro 21 by caotic
info
Group: Campones
Joined: 15/10/11
Posts: 60
Reputation: +18
Tibia Character: Foi Del :/

bom,eu estava totalmente perdido,mas agora já sei o caminho!
Amoeba13 e caotic,muito obrigado a ajuda de vcs foram muito uteis pra mim,como os 2 me ajudaram.
1 REP pra kda 1
OBS o do Amoeba é mais simples,mas encontrei outra utilidade pro seu metodo Caotic,Muito obrigado aos 2
Edited Janeiro 22 by Totonho18






info
Group: Campones
Joined: 15/10/11
Posts: 60
Reputation: +18
Tibia Character: Foi Del :/
É o seguinte,o player faz uma quest,clica no chest,e a recompensa é uma nova magia.
Clicou no chest!
aparece a msg!
"Parabéns ganhaste autorização para usar a magia Adura Gran!"
e aí o player poderá usar essa magia!
2 REP+