Porque o player não ganha um item que ao clicar ganharia a spell? Não seria mais fácil?
info
Grupo: Conde
Registrado: 30/11/11
Posts: 696
Reputação: +71
Gênero: Masculino
Char no Tibia: treinador de lobo

info
Grupo: Visconde
Registrado: 14/01/14
Posts: 276
Reputação: +30
Gênero: Masculino
Char no Tibia: 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
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

EDITADO, conteúdo está no meu post abaixo
Editado Janeiro 21 por amoeba13
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: 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
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: 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
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: 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.
Editado Janeiro 21 por caotic
info
Grupo: Campones
Registrado: 15/10/11
Posts: 60
Reputação: +18
Char no Tibia: 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
Editado Janeiro 22 por Totonho18






info
Grupo: Campones
Registrado: 15/10/11
Posts: 60
Reputação: +18
Char no Tibia: 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+