blz.. assim.. eu n intendo nd de Tibia... entao.. hehe
n esqueça de configurar o numero das vocations nas 2 tabelas...
1* - va em creaturescripts/creaturescripts.xml, e adicione essa tag..
<event type="advance" name="rewardLevelUp" event="script" value="rewardLevelUp.lua"/>
2* - va em creaturescripts/scripts/ e crie um arquivo .lua com o nome: rewardLevelUp.lua... e adicione o script abaixo nele..
local configs = {
--[vocation] = {lvl, msg},
[1] = {50,
"Você quer escolher para sua jornada: Sword, Axe ou Club? Lembrando que sua resposta definirá seu presente.\nDiga /resposta, com a sua resposta. Exemplo: /resposta Axe"},
[2] = {42,
"Você quer escolher para sua jornada: Tera, Ice ou Death? Lembrando que sua resposta definirá seu presente.\nDiga /resposta, com a sua resposta. Exemplo: /resposta Tera"},
[3] = {42,
"Você quer escolher para sua jornada: Energy, Death ou Fire? Lembrando que sua resposta definirá seu presente.\nDiga /resposta, com a sua resposta. Exemplo: /resposta Fire"},
[4] = {55,
"Você quer escolher para sua jornada: Star, Arrow ou Bolt? Lembrando que sua resposta definirá seu presente.\nDiga /resposta, com a sua resposta. Exemplo: /resposta Bolt"},
}
function onAdvance(cid, skill, oldLevel, newLevel)
if skill ~= 8 then return true end
local pergunta = configs[getPlayerVocation(cid)]
if pergunta and newLevel == pergunta[1] and getPlayerStorageValue(cid, 98799) <= 0 then
doPlayerSendTextMessage(cid, 27, pergunta[2])
setPlayerStorageValue(cid, 98799, 1)
end
return true
end
3* va em creaturescripts/scripts/login.lua, e adicione isso la..
registerCreatureEvent(cid, "rewardLevelUp")
4* - va em talkactions/talkactions.xml, e adicione essa tag la..
<talkaction words="/resposta" event="script" value="rewardLevelUp.lua"/>
5* - va em talkactions/scripts/ e crie um arquivo .lua la com o nome: rewardLevelUp.lua, e adicione isso nele...
local configs = {
--[vocation] = {ids = {[arma] = {id}}}
[1] = {ids = {["sword"] = {7383}, ["axe"] = {7411}, ["club"] = {7409}}},
[2] = {ids = {["tera"] = {8912}, ["ice"] = {2183}, ["death"] = {8910}}},
[3] = {ids = {["energy"] = {8920}, ["death"] = {8922}, ["fire"] = {2187}}},
[4] = {ids = {["star"] = {7366}, ["arrow"] = {7365, 8857}, ["bolt"] = {2547, 5803}}},
}
function onSay(cid, words, param)
if getPlayerStorageValue(cid, 98799) ~= 1 then return true end
if tostring(param) == nil then
doPlayerSendTextMessage(cid, 27, "Você precisa responder qual arma você quer!")
return true
end
local reward = configs[getPlayerVocation(cid)]
param = string.lower(tostring(param))
if reward and reward.ids[param] then
for i = 1, #reward.ids[param] do
doPlayerAddItem(cid, reward.ids[param])
end
setPlayerStorageValue(cid, 98799, 2)
doPlayerSendTextMessage(cid, 27, "") --caso queira mandar uma msg pro player depois q ele recebe o item...
end
return true
end
achu q deu... qlqr duvida soh perguntar ^^






info
Grupo: Marquês
Registrado: 06/11/11
Posts: 1.1k
Reputação: +109
Char no Tibia: Stroked
Bom pessoal, desta vez venho pedir um script pouco complicado, mas que seria muito útil a mim e a muitas pessoas.
Como funciona ou pelo menos como gostaria que funcionasse:
Gostaria que quando um player de x vocation atingisse level 50 (configuravel) aparesse uma perguntinha no default mesmo dizendo
(caso ele seja knight):
Você quer escolher para sua jornada: Sword, Axe ou Club? Lembrando que sua resposta definirá seu presente.
Agora vai a lista das vocações, level e premio:
Knights:
Level 50
Pergunta: Você quer escolher para sua jornada: Sword, Axe ou Club? Lembrando que sua resposta definirá seu presente.
Rewards: Sword = 7383 / Axe = 7411 / Club = 7409.
Druids:
Level 42
Pergunta: Você quer escolher para sua jornada: Tera, Ice ou Death? Lembrando que sua resposta definirá seu presente.
Rewards: Tera = 8912 / Ice = 2183 / Death = 8910.
Sorcerers:
Level 42
Pergunta: Você quer escolher para sua jornada: Energy, Death ou Fire? Lembrando que sua resposta definirá seu presente.
Rewards: Energy = 8920 / Death = 8922 / Fire = 2187.
Paladins:
Level 55
Pergunta: Você quer escolher para sua jornada: Star, Arrow ou Bolt? Lembrando que sua resposta definirá seu presente.
Rewards: Star = 7366 / Arrow = 7365 e 8857 / Bolt = 2547 e 5803.
Pode ser em scripts separados, não sei como é mais facil de desenvolver, crie do jeito que se quiser deis de que siga os padrões do pedido, obrigado!
Acho que é um pouco complicado de desenvolver o script, mas não impossivel. Grato a quem puder me ajudar!
Editado Outubro 7 por GuizitoG