Postado Fevereiro 23, 2017 8 anos Boa tarde! Peço ajuda aos programadores para resolver meu problema. Tenho um script de Oracle e fiz a remoção da parte de vocações pelo fato de todo jogador já começar com vocação. Quero manter o NPC Oracle porque de qualquer forma quero ter uma ilha para o jogador ficar até certo level. Enfim, gostaria que arrumassem o script para funcionar o teletransporte e definir o jogador como morador da cidade escolhida. REP+ para quem me ajudar. 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 function oracle(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local cityNode = node:getParent():getParent() local vocNode = node:getParent() local destination = cityNode:getParameters().destination local town = cityNode:getParameters().town local vocation = vocNode:getParameters().vocation if(destination ~= nil and vocation ~= nil and town ~= nil) then if(getPlayerLevel(cid) < parameters.level) then npcHandler:say('You must first reach level ' .. parameters.level .. '!', cid) npcHandler:resetNpc() else if(getPlayerVocation(cid) > 0) then npcHandler:say('Sorry, You already have a vocation!') npcHandler:resetNpc() else doPlayerSetVocation(cid, vocation) doPlayerSetTown(cid, town) npcHandler:resetNpc() local tmp = getCreaturePosition(cid) doTeleportThing(cid, destination) doSendMagicEffect(tmp, CONST_ME_POFF) doSendMagicEffect(destination, CONST_ME_TELEPORT) end end end return true end function greetCallback(cid) if(getPlayerLevel(cid) < 8) then npcHandler:say('COME BACK WHEN YOU GROW UP, CHILD!') return false else return true end end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setMessage(MESSAGE_GREET, 'Hello |PLAYERNAME|. Are you prepared to face your destiny?') local yesNode = KeywordNode:new({'yes'}, oracle, {level = 8}) local noNode = KeywordNode:new({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then where would you like to go?'}) local node1 = keywordHandler:addKeyword({'yes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'What city do you wish to live in? {Rhyves}, {Varak} or {Jorvik}?'}) local node2 = node1:addChildKeyword({'varak'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, town = 3, destination = {x=242, y=429, z=12}, text = 'Varak, yes? So what you wait for? Lets {go}?!'}) node3 = node2:addChildKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Are you sure about that? This decision is irreversible!'}) node2 = node1:addChildKeyword({'rhyves'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, town = 2, destination = {x=159, y=387, z=6}, text = 'Rhyves, yes? So what you wait for? Lets {go}?!'}) node3 = node2:addChildKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Are you sure about that? This decision is irreversible!'}) node3:addChildKeywordNode(yesNode) node3:addChildKeywordNode(noNode) node2 = node1:addChildKeyword({'jorvik'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, town = 4, destination = {x=469, y=172, z=7}, text = 'Jorvik, yes? So what you wait for? Lets {go}?!'}) node3 = node2:addChildKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Are you sure about that? This decision is irreversible!'}) node3:addChildKeywordNode(yesNode) node3:addChildKeywordNode(noNode) keywordHandler:addKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Then come back when you are ready.'}) npcHandler:addModule(FocusModule:new())
Postado Fevereiro 23, 2017 8 anos e o npc já não faz isso? eu percebi que ele já muda a town do jogador de acordo com a cidade doPlayerSetTown(cid, town)
Postado Fevereiro 23, 2017 8 anos Autor Resolvido. Pode trancar. Editado Fevereiro 23, 2017 8 anos por RealMapper Resolvido (veja o histórico de edições)
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.