Não ta no pastebin porque fiz rapidão aqui mesmo.
1º 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 local storage = xxx local storage2 = ttt local itemID = yyy local quantidade = uuu 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, "entregar") then if getPlayerStorageValue(cid, storage) <= 0 then selfSay("preciso que voce me traga X itens tal. voce aceita a missao?", cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, storage) == 1 then selfSay("voce me trouxe os itens?", cid) talkState[talkUser] = 1 else selfSay("voce ja me foi de grande ajuda.", cid) talkState[talkUser] = 0 end npcHandler:addFocus(cid) end if msgcontains(msg, "yes") and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage) <= 0 then selfSay("obrigado por aceitar a missao", cid) setPlayerStorageValue(cid, storage, 1) elseif getPlayerStorageValue(cid, storage) == 1 and doPlayerRemoveItem(cid, itemID, quantidade) then selfSay("obrigado pela ajuda. como recompensa, lhe darei acesso ao lugar X", cid) setPlayerStorageValue(cid, storage, 2) setPlayerStorageValue(cid, storage2, 1) else selfSay("voce nao tem os X itens, esta tentando me enganar?", cid) end elseif msgcontains(msg, "no") and talkState[talkUser] == 1 then selfSay("então porque veio até mim?", cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
2º NPC
Só você definir o valor da storage que vai representar a graduação X e na hora que o NPC setar a nova graduação, você seta a storage com o novo valor.
Exemplo: A storage é 1111 e o aluno é valor 1, professor é valor 2 e mestre valor 3. Então, se quiser que vá de graduação nenhuma pra aluno, você faz> setPlayerStorageValue(cid, 1111, 1). Se quiser ir de aluno pra professor, você faz> setPlayerStorageValue(cid, 1111, 2). E assim por diante.
3º NPC
Não está com a necessidade de precisar falar "viajar", mas não precisa falar "yes", ele já manda na hora que você falar o nome da cidade.
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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
-- se nao quiser que tenha level, é so tirar.
-- basta repetir esses travelNode para os outros locais que você deseja adicionar
local travelNode = keywordHandler:addKeyword({'nome da cidade'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, level = 1 , cost = 0, destination = {x=XXXX, y=YYYY, z=ZZZZ}})
npcHandler:addModule(FocusModule:new())








" que estará disponivel a cada 24hrs.
info
Grupo: Campones
Registrado: 23/01/19
Posts: 37
Reputação: 0
Gênero: Masculino
Boa noite, rapaziada do Xtibia
TFS 0.4
Gostaria de um npc que o jogador entregava 6 items e em troca recebesse a storage.
Outro Npc \/
Tenho uma duvida, tem sistemas como por exemplo os de Graduação
Eles utilizam o Look para mostrar qual graduação o jogador está, mas como eu faço para um npc entregar uma storage com valor 1,2,3,4,5 como os de Graduação?
e Ultimo Npc \/
Gostaria de um npc que seria Travel, só que para ir pros locais que estão nesse npc
[Obs: mesmo ele sabendo o nome da cidade ele teria que fazer isso] = O jogador teria que escrever "Viajar"
E ele teria outras três funções = Só poderia funcionar com players sem PK e o jogador não precisaria falar "hi/viajar/templo/yes"
Queria que o jogador só falasse "hi/viajar/templo" e já seria teleportado
Eu poderia escolher se a cidade seria Premium ou Free
Por gentileza se poderem enviar no pastebin.com , porque aqui no forum toda vez que vou copiar algum script fica com error no script não sei porque.
Espero que me ajudem.