Estou tendo problemas com o NPC abaixo, esses dias ele travou de vez e deixou o OT todo lagado... gostaria de saber se alguém sabe o que tem de errado nele, a função que tinha dado pau foi a onThink, não consegui tirar o print, pq o pc travou e tive que reiniciar... o NPC ainda exibe alguns erros no console, mas não consigo identificar onde está o erro.
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Morte" script="data/npc/scripts/npchunt.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="300"/>
<parameters>
<parameter key="message_greet" value="Ola. Para entrar na arena voce deve pagar uma taxa de 500k. Diga {arena} para entrar na quest." />
<parameter key="message_farewell" value="Ate mais." />
<parameter key="message_walkaway" value="Ate mais." />
</parameters>
</npc>
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)
local pos = {x=86, y=945, z=15} -- Local da hunt
local posreturn = {x=160, y=54, z=7} -- Posiçao onde o player sera teleportado quando acabar o tempo
local money = 250000 --- Quanto de dinheiro sera removido
config = {
time = 15 ---Tempo que ele vai ficar na hunt sabendo que cada numeral equivale a um minuto-----
}
function doReturnPos()
doTeleportThing(cid, posreturn)
setGlobalStorageValue(24688, 0)
setGlobalStorageValue(24686, none)
setPlayerStorageValue(cid, 28680, 0)
end
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'arena') then
if getGlobalStorageValue(24688) == 1 then
doPlayerSendTextMessage(cid,22,"O player "..getGlobalStorageValue(24686).." esta na arena")
return true
end
if not doPlayerRemoveMoney(cid, money) then
doPlayerSendTextMessage(cid,22,""..getPlayerName(cid).." precisa de 500k para entrar na arena")
return true
end
doPlayerRemoveMoney(cid, money)
doPlayerSendTextMessage(cid,22,""..getPlayerName(cid).." voce tem 15 minutos para fazer a quest se passar o tempo, voce sera teleportado para o templo.")
doTeleportThing(cid, pos)
setGlobalStorageValue(24688, 1)
setGlobalStorageValue(24686, getPlayerName(cid))
setPlayerStorageValue(cid, 28680, 1)
addEvent(doReturnPos, config.time*60*1000)
else
selfSay('Diga arena', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Erros que aparecem no console:
Estou usando ele para liberar a entrada para a quest arena, a função dele é teleportar o player para dentro da arena e deixar o player nesta área por 15 minutos, após este tempo o player é teleportado para o templo e se outro player tentar entrar na arena, o NPC informa que já existe um player dentro da arena.
Só estou postando o código do NPC aqui, pois o código completo possui também funções para verificar se o player deslogou ou morreu.
Ah... e outra coisa que reparei é que o NPC cobra o dobro do preço que é colocado na variável money, por este motivo tive que colocar 250k na variável e 500k na mensagem.
Pergunta
juliok80 17
E ae galera, blz!?
Estou tendo problemas com o NPC abaixo, esses dias ele travou de vez e deixou o OT todo lagado... gostaria de saber se alguém sabe o que tem de errado nele, a função que tinha dado pau foi a onThink, não consegui tirar o print, pq o pc travou e tive que reiniciar... o NPC ainda exibe alguns erros no console, mas não consigo identificar onde está o erro.
Erros que aparecem no console:
Estou usando ele para liberar a entrada para a quest arena, a função dele é teleportar o player para dentro da arena e deixar o player nesta área por 15 minutos, após este tempo o player é teleportado para o templo e se outro player tentar entrar na arena, o NPC informa que já existe um player dentro da arena.
Só estou postando o código do NPC aqui, pois o código completo possui também funções para verificar se o player deslogou ou morreu.
Segue o link do NPC completo: http://www.xtibia.co...87179-npc-hunt/
Ah... e outra coisa que reparei é que o NPC cobra o dobro do preço que é colocado na variável money, por este motivo tive que colocar 250k na variável e 500k na mensagem.
Muitíssimo obrigado!
Editado por juliok80Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados