Tópico reportado para que movam!
JE
dúvida
Mais uma Bless que não funciona
Por jefersonzc, 11 de out. de 2013 em Scripts
bless não funciona
doplayeraddblessing
resolvido
otserv
tibia
script
3
629
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

11 de outubro de 2013 às 23:40
info
Grupo: Herói
Registrado: 25/10/12
Posts: 2.4k
Reputação: +687
Gênero: Masculino
Char no Tibia: Nuncative

12 de outubro de 2013 às 00:00
Tópico movido para a seção de dúvidas e pedidos resolvidos.


info
Grupo: Campones
Registrado: 27/02/11
Posts: 30
Reputação: +2
Char no Tibia: Galileu Galilei
Galera, seguinte, tô criando um npc que vende bless, aol e premium scroll, tudo junto (mas sem o sistema de trade, apenas por palavras).
A parte do scroll e do aol tão funcionando de boa, mas a parte da bless tá me matando. Já li e testei um monte de dicas aki do fórum mas nada me ajudou. Acho que o erro está no doPlayerAddBlessing. Segue meu Script:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'premium')) then selfSay('You must pay 30000 gps for a premium scroll. Is it ok for you?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveMoney(cid, 30000) == TRUE) then doPlayerAddItem(cid, 16101) selfSay('Enjoy it!', cid) else selfSay('Sorry, you dont have enough money.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'aol')) then selfSay('It will coust 10000 gps. Is it ok for you?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if(doPlayerRemoveMoney(cid, 10000) == TRUE) then doPlayerAddItem(cid, 2173) selfSay('Here you are!', cid) else selfSay('Sorry, you dont have enough money.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'bless')) then selfSay('I can give you all blesseings for an amount of 10000. Is it ok for you?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if(doPlayerRemoveMoney(cid, 10000) == TRUE) then doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doPlayerAddBlessing(cid, 3) doPlayerAddBlessing(cid, 4) doPlayerAddBlessing(cid, 5) selfSay('You are now blessed!', cid) doSendMagicEffect(getPlayerPosition(cid), 49) else selfSay('Sorry, you dont have enough money.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())O erro é o segunte:
o npc, desconta a grana, fala a mensagem, manda o magic effect, mas sempre que eu morro pra testar, perco a bag.
Obs.: No console não é mostrado nenhum erro
------------------------------------------------------------------------------------------------------------
Aff gente, perdoem-me pela minha noobisse, eu martelei a cabeça o dia todo com esse script. Então, apenas fiz o post e de repente tive um insight.
O problema estava no config.lua
Agora ta certo:
Editado Outubro 11 por jefersonzc