Postado Março 29, 2018 7 anos Pessoal não sei se estou na área correta mais eu gostaria de um NPC que teleporte o player conforme o level e um item exigido. Por exemplo. Para ir até a POI quest o player teria de ser level 80+ e ter um determinado item, por exemplo, uma fire sword. Se o player atingir esses dois requisitos o NPC teleportava o player até determinada posição.
Postado Março 30, 2018 7 anos Ver se este funciona: vai na pasta do seu OT/data/npc e cria um arquivo .xml com o nome do seu NPC e cola isso dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="nome do NPC" script="nome_do_npc.lua" walkinterval="0"> <health now="100" max="100"/> <look type="459"/> <parameters> <parameter key="module_shop" value="1"/> <parameter key="message_greet" value="Olá, |PLAYERNAME|! Em que posso lhe ajudar?."/> </parameters> </npc> agora vai na pasta do seu OT/data/npc/scripts e cria um arquivo .lua com o nome do seu npc e cola isso dentro local config = { objeto = 3581, -- ID do Objeto level = 100, -- Level Necessário travel = {x=993, y=1085, z=7}, - Pos onde vai ser teleportado } 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:lower()) end function onThink() npcHandler:onThink() end local talkState = {} 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, "travel") then selfSay("Eu posso te levar para Fire Island, porem você precisa ter uma {fire sword} e level 80.", cid) end if msgcontains(msg, "fire sword") then selfSay("Voce realmente quer viajar para {Fire Island}?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then if getPlayerItemCount(cid, config.objeto) == 1 and getPlayerLevel(cid) >= config.level then if not isPlayerPzLocked(cid) then npcHandler:releaseFocus(cid) doPlayerRemoveItem(cid, config.objeto, 1) doTeleportThing(cid, config.travel) else selfSay("Voce deve estar sem battle!", cid) end elseif getPlayerItemCount(cid, config.objeto) < 1 or getPlayerLevel(cid) < config.level then selfSay("Desculpe, voce nao possui o item ou não tem level!", cid) end talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ele funciona assim, se o player tive com 1 item e level necessário , e estiver sem Battle, ele viaja. Projeto/Serviços que desenvolvi durante esse Tempo. [SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.