Mano eu sei que vai ser complicado pra voce mais tenta entender ^^ VMS LA ^^
1-Criação de objetos de manipulação de palavras-chave e NPCs:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
Nessa parte, são criados objetos para manipulação de palavras-chave e NPCs. O objeto keywordHandler é usado para lidar com palavras-chave e o objeto npcHandler é usado para lidar com NPCs. Em seguida, a função parseParameters é chamada para analisar os parâmetros do NPC.
2-Definição de funções de tratamento de eventos do jogo:
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
Essas são funções de tratamento de eventos do jogo OTServ. Elas são chamadas automaticamente pelo jogo quando certos eventos ocorrem, como quando um jogador aparece, desaparece, fala ou quando o NPC está pensando.
3-Definição de uma função de callback para a saudação do NPC:
local function greetCallback(cid)
if getPlayerStorageValue(cid, 1038) ~= 999 then
return true
else
npcHandler:say('NAO POSSO FALAR COM VOCE')
return false
end
end
Essa função é uma callback (retrochamada) que é registrada para ser executada quando um jogador sauda o NPC. Ela verifica se o valor de armazenamento do jogador (getPlayerStorageValue) com a chave 1038 é diferente de 999. Se for diferente, a função retorna verdadeiro (true) permitindo que o NPC responda à saudação. Caso contrário, o NPC diz 'NAO POSSO FALAR COM VOCE' e a função retorna falso (false) impedindo que o NPC responda à saudação.
4- Registro da função de callback para a saudação do NPC:
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
Nessa parte, a função de callback greetCallback é registrada para ser chamada quando um jogador saudar o NPC.
5- Definição de uma função de callback para as mensagens do jogador:
local function creatureSayCallback(cid, type, msg)
if not npcHandler:isFocused(cid) then
return false
end
-- Código para lidar com mensagens específicas do jogador
end
Essa função é outra callback que é registrada para ser chamada quando um jogador envia uma mensagem para o NPC. Ela verifica se o jogador está focado no NPC (ou seja, está interagindo com o NPC) usando a função isFocused do objeto npcHandler.
você pode simplesmente incluir esse código no script do NPC. As funções de callback, como greetCallback e creatureSayCallback, serão automaticamente acionadas em resposta
Valeau, espero ter ajudado ^^ fui