Postado Maio 17, 2014 11 anos Preciso de um NPC que leva as pessoas para este local: [X: 1685] [Y: 591] [Z: 7]. De Graça { texto: deseja ir para a Super Quest ? } com o "yes" as pessoas vão para esse local. ( Obs: quando mandarem os scripts falem onde eu devo e como devo criar, Se poderem ! )
Postado Maio 17, 2014 11 anos Crie um arquivo questnpc.lua em /data/npc/scripts/ e coloque: 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 cfg = { toPos = {x=1685, y=591, z=7}, -- Posição que o jogador sera teleportado level = 170 -- Level necessário para ser teleportado price = 0 -- Dinheiro a ser cobrado para ser teleportado } 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, 'hi') then selfSay('Deseja ir para a Super Quest?', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then if getPlayerLevel(cid) >= cfg.level then if doPlayerRemoveMoney(cid, cfg.price) then doTeleportThing(cid, cfg.toPos) talkState[talkUser] == 0 else selfSay('Voce nao tem dinheiro suficiente.', cid) end else selfSay('Para fazer a quest e necessario level '.. level ..'.', cid) end elseif msgcontains(msg, 'no') then selfSay('Skirt here!', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Crie um arquivo chamado Quest.xml na pasta data/npc e cole isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Super Quest" script="data/npc/scripts/questnpc.lua" walkinterval="2000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="114" body="12" legs="57" feet="114" addons="0" /></npc> depois teste =D para configurar e nessa parte: toPos = {x=1685, y=591, z=7}, -- Posição que o jogador sera teleportado level = 170 -- Level necessário para ser teleportado price = 0 -- Dinheiro a ser cobrado para ser teleportado
Postado Maio 17, 2014 11 anos <npc name="Captain Albert" script="data/npc/scripts/default.lua" floorchange="0" access="5"> <health now="150" max="150"/> <look type="9" head="96" body="58" legs="3" feet="114" corpse="2212"/> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Hello |PLAYERNAME|. " /> <parameter key="travel_destinations" value="tiquanda,161,191,6,50"/> </parameters> </npc> Bem, o que você precisa saber é isso: "message_greet" = É aonde você vai colocar a mensagem de saudação do NPC para o Player. "travel_destinations" = Ali você vai por o nome que o player vai ter que falar (nome do lugar) para ele ser teleportado, na posição x = 161; y = 191; z = 6; custando 50 golds. Entendeu? só alterar 愛"A alma permanece em suas criações" 平(Não dou suporte por mensagem privada.)
Postado Maio 17, 2014 11 anos Autor [17/05/2014 12:58:32] [Error - LuaScriptInterface::loadFile] data/npc/scripts/.questnpc.lua:15: '}' expected (to close '{' at line 11) near 'price' [17/05/2014 12:58:32] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/.questnpc.lua [17/05/2014 12:58:32] data/npc/scripts/.questnpc.lua:15: '}' expected (to close '{' at line 11) near 'price' :/
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.