Drk Shadow 48 Postado Fevereiro 19, 2012 Share Postado Fevereiro 19, 2012 (editado) ae Galerinha acho que é façil ein kk mais nao pra min que não sou script teria como alguem me ajudar com uma porta de quest que funciona assim : no caso, seria 2 portas porque quero colocar numa quest assim são 3 baus de quests e 3 portas, o primeiro bau te da uma vocação e um storage ai, eu queria que a porta teletransportasse o player pra coordenada xxxx se ele tivesse tal vocation ou storage, o bau não precisa pq ja tenho o script ake. Resumindo : uma porta que te teleporta pra coordenada xxxx se vc tiver tal vocação ou storage. isso ae galera vllw Agora acho que ta na area certo né ? ¬¬ @EDiT Esqueçi do npc hehe é o seguinte: eu preciso de 1 npc assim, que chega se o player tem tal storage, se nao ticer mandar uma mensagem e se ele tiver ele continua a quest dando esses items ao o npc 1 Luck Medalion 5 Feathers 2 Bird Beaks 1 Heart Stone e em recompensa, ele ganha 1 outift 604 se for homen e 605 se for mulher [ 605 e 604 é o looktype ] e 6000 de xp e 1 box 3. do rep por 4 dias pra qm ajudar ^^ Editado Fevereiro 19, 2012 por Pokemonultimatetwo Link para o comentário https://xtibia.com/forum/topic/180895-porta-de-quest-e-npc/ Compartilhar em outros sites More sharing options...
lucashgas 53 Postado Fevereiro 19, 2012 Share Postado Fevereiro 19, 2012 (editado) Acho que isso serve como uma base. Crie um arquivo chamado portaquest.lua na pasta data/actions/scripts/ e nele adicione isso. function onUse(cid, item, frompos, item2, topos) local storage = XXXXX -- storage que o player precisa ter para abrir a porta local vocation = YYY -- numero da vocation que o player precisa ter para conseguir abrir a porta local poss = {x=1000, y=1000, z=7} -- local para onde o player sera mandando if getPlayerStoraveValue(cid, storage) >= 1 and getPlayerVocation(cid) == vocation then doTeleportThing(cid, poss, false) else doPlayerSendCancel(cid, "Sorry, but you are not allowed to enter in this place.") end return true end depois no actions.xml adicione a tag tag: <action itemid="iddaporta" event="script" value="portaquest.lua"/> Não testei, qualquer coisa estamos ai! Abraço edit: Lembrando que se você escolher aquelas portas que não fecham sozinhas o script muda um pouco Editado Fevereiro 20, 2012 por lucashgas Link para o comentário https://xtibia.com/forum/topic/180895-porta-de-quest-e-npc/#findComment-1202437 Compartilhar em outros sites More sharing options...
Drk Shadow 48 Postado Fevereiro 19, 2012 Autor Share Postado Fevereiro 19, 2012 (editado) @lucashgas finalmente ein kk acertei a area. testei ake e deu certo vllw manin ^^ data/actions/scripts/quests né ? ;p @Edit vllw msm manow REP + e sobre o npc, consege fazer ? Editado Fevereiro 19, 2012 por Pokemonultimatetwo Link para o comentário https://xtibia.com/forum/topic/180895-porta-de-quest-e-npc/#findComment-1202440 Compartilhar em outros sites More sharing options...
lucashgas 53 Postado Fevereiro 19, 2012 Share Postado Fevereiro 19, 2012 (editado) Crie um arquivo na pasta data/npc/ chamado Baltor.xml nele coloque isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Baltor" script="npcquest.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2"> <health now="150" max="150"/> <look type="614" head="91" body="114" legs="86" feet="0"/> </npc> Depois em data/npc/scripts crie um arquivo chamado npcquest.lua e dentro coloque isso: 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local stg = XXX -- storage para falar com o npc local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'help') then if getPlayerStorageValue(cid, stg) >= 1 then selfSay("Sorry, but you already have completed this mission!", cid) talkState[talkUser] = 0 else selfSay("Ooooh good! I'm looking for some rare items... They are: 1 Luck Medalion, 5 Feathers, 2 Bird Beaks e uma Heart Stone. Do you have these items?", cid) talkState[talkUser] = 1 end end --------------------------------------------------------- if (msgcontains(msg, "yes") or msgcontains(msg, "sim")) and talkState[talkUser] == 1 then if doPlayerRemoveItem(cid, 12186, 1) and doPlayerRemoveItem(cid, 12200, 5) and doPlayerRemoveItem(cid, 12172, 2) and doPlayerRemoveItem(cid, 11453, 1) == TRUE then selfSay("Thank you!", cid) setPlayerStorageValue(cid, 1004, 1) -- storage para liberar outfit setPlayerStorageValue(cid, stg, 1) -- para ele nao fazer a missao novamente doPlayerAddExperience(cid,6000) -- experiencia local bags = getPlayerSlotItem(cid, 3) doAddContainerItem(bags.uid, 11640, 1) -- box 3 else selfSay("Sorry, but you don't have one of these items.", cid) talkState[talkUser] = 0 end elseif (msgcontains(msg, "no") or msgcontains(msg, "nao")) and talkState[talkUser] == 1 then selfSay("Good bye '..getCreatureName(cid)..'.", cid) talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Ai para liberar o outfit vá em data/XML/outfits.xml procure pelo outfit escolhido e adicione quest="numero da stg que voce colocou no arquivo" depois do ID Espero ter ajudado! Editado Fevereiro 20, 2012 por lucashgas Link para o comentário https://xtibia.com/forum/topic/180895-porta-de-quest-e-npc/#findComment-1202459 Compartilhar em outros sites More sharing options...
Drk Shadow 48 Postado Fevereiro 20, 2012 Autor Share Postado Fevereiro 20, 2012 (editado) vllw mano tu é foda, vou te dar os rep mais 3 dias ein vllw ^^ agora outra coisa pra terminar de encher e fuder seu saco totalmente ._. tava tentano fazer um script, tpw rollout, que quando eu dizer "ad" se o monstro tiver a looktype xxxx a look type do monstro vai virar xxxx tava tentano fazer isso e saiu mais ou menos assim: getCreatureOutfit(cid, 598) if creatureOutfit(cid,598) doSetCreatureOutfit(cid, 599, 60) return true end sera q tem mt coisa errada ? e_e daria mt trabalho pra fazer ? HMM perguntas intrigantes e.e @EDIT consegi fazer o script, com 1 problema: eu useia spell rollout como base deletei e editei umas função, só que ele nao ta trocando o outiffit mais o comando e as outra coisa foi, o princiapl não e_e Editado Fevereiro 20, 2012 por Pokemonultimatetwo Link para o comentário https://xtibia.com/forum/topic/180895-porta-de-quest-e-npc/#findComment-1202467 Compartilhar em outros sites More sharing options...
Posts Recomendados