Land 0 #1 Postado 21 Junho, 2009 (editado) ------------------------------- Nome: FireWalker Boots Quest Versão: 8.4x Tipo do script: Moviments,Creaturescripts Servidor Testado: The Forgotten Server 0.3.4 (Crying Damson) Patch Level 2 Autor: Land Creditos: Ta4e(uma parte do script foi tirada de um outro dele) ------------------------------- TUDO QUE ESTIVER EM VERMELHO SAUM IMPORTANTE PARA O SCRIPT E É AONDE TERAUM QUE MUDAR DE ACORDO COM SEU MAP. ROSA SAUM AS ACTIONID. Configurando Moviments CRIE UM ARQUIVO .LUA EM "data\movements\scripts\" Nome = the_pythius_rotten_portal AGORA EM "data\movements\scripts\the_pythius_rotten_portal.lua": function onStepIn(cid, item, position, fromPosition) --Config--> local starting = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 253} local ending = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 253} local checking = {x = starting.x, y = starting.y, z = starting.z, stackpos = starting.stackpos} local portal_in_pos = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 1} local portal_iten_pos = getThingfromPos(portal_in_pos) local teleportId = 1387 local player_pos_entrada = {x = XXXXX, y = XXXXX, z = XXXXX} local player_pos_saida = {x = XXXXX, y = XXXXX, z = XXXXX} local boss_pos = {x = XXXXX, y = XXXXX, z = XXXXX} local boss = "Pythius The Rotten" local queststatus = getPlayerStorageValue(cid, XXXXX) --ValueID DA QUEST QUANDO VOCE JA PEGO O ITEM --EndConfig--> --Do not touch this-- if getPlayerLookDir(cid) == 0 then newdir = 2 elseif getPlayerLookDir(cid) == 1 then newdir = 3 elseif getPlayerLookDir(cid) == 2 then newdir = 0 else newdir = 1 end --Don't edit this unless you know what you are doing. if item.actionid == 9022 then doTeleportThing(cid, player_pos_saida) doSendMagicEffect(player_pos_saida, 10) doRemoveItem(portal_iten_pos.uid, 1) return TRUE end if item.actionid == 9021 and queststatus == -1 then players = 0 totalmonsters = 0 monster = {} repeat creature = getThingfromPos(checking) if creature.itemid > 0 then if getPlayerAccess(creature.uid) == 0 then players = players + 1 end if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then totalmonsters = totalmonsters + 1 monster[totalmonsters] = creature.uid end end checking.x = checking.x + 1 if checking.x > ending.x then checking.x = starting.x checking.y = checking.y + 1 end until checking.y > ending.y if players == 0 then if totalmonsters ~= 0 then current = 0 repeat current = current + 1 doRemoveCreature(monster[current]) until current >= totalmonsters end doTeleportThing(cid, player_pos_entrada) doSendMagicEffect(player_pos_entrada, 10) doCreateMonster(boss, boss_pos) if portal_iten_pos.itemid == teleportId then doRemoveItem(portal_iten_pos.uid, 1) end else doMoveCreature(cid, newdir) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'is in the room now. Wait a moment!') end else doMoveCreature(cid, newdir) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Sorry you already did this quest!') end end movements.xml:<!-- The Pythius Rotten Portal --> <movevent type="StepIn" actionid="9021" event="script" value="the_pythius_rotten_portal.lua" /> <movevent type="StepIn" actionid="9022" event="script" value="the_pythius_rotten_portal.lua" /> <!-- End The Pythius Rotten Portal --> NO PORTAL PARA ENTRA NA SALA DA QUEST COLOQUE ESSE ACTIONID,9021: STARTING,ENDING:SAUM AS COORNADAS PARA QUE O SCRIPT CHECK SE TEM ALGUEM NA SALA OU ALGUM BIXO PORTAL_IN_POS:É A COORDENADA DA ONDE O PORTAL DA SAIDA ESTARA,SERVE PARA Q QUANDO ALGUEM TERMINE A QUEST APOS ENTRA NO PORTAL PARA SAI DA QUEST ELE REMOVE O PORTAL PLAYER_POS_ENTRADA:É A COORDENADA DA ONDE O PLAYER SERA TELEPORTADO APOS ENTRA NA SALA PLAYER_POS_SAIDA:É A COORDENADA DA SALA DA RECOMPENSA BOSS_POS:É A ONDE O BOSS SERA SUMONADO Configurando Creaturescripts CRIE UM ARQUIVO .LUA EM "data\creaturescripts\scripts\" Nome = pythius_the_rotten AGORA EM "data\creaturescripts\scripts\pythius_the_rotten.lua": local config = { teleportId = 1387, bosse = "Pythius The Rotten" } local portal_in_pos = {x = XXXXX, y = XXXXX, z = XXXXX} function onDeath(cid, corpse, killer) registerCreatureEvent(cid, "PythiusDead") if config.bosse == getCreatureName(cid) then local position = portal_in_pos teleport = doCreateItem(config.teleportId,1,position) doSetItemActionId(teleport, 9022) end return TRUE end PORTAL_IN_POS:É A COORDENADA DA ONDE O PORTAL SERA CRIADO APOS MATA O BOSS AGORA EM "data\creaturescripts\scripts\login.lua" REGISTRE UM EVENTO: NO FINAL, ANTES DE "RETURN TRUE" ADICIONE: registerCreatureEvent(cid, "PythiusDead") creaturescripts.xml:<event type="death" name="PythiusDead" script="pythius_the_rotten.lua" /> Configurando Creature: PRA QUEM JA TIVER A CREATURA: DEPOIS DE "/FLAGS" ADICIONE: <script> <event name="PythiusDead"/> </script> PRA QUEM NAO TIVER A CREATURA:<?xml version="1.0" encoding="UTF-8"?><monster name="Pythius The Rotten" nameDescription="pythius the rotten" race="undead" experience="100" speed="280" manacost="0"> <health now="9000" max="9000"/> <look type="231" corpse="6306"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <script> <event name="PythiusDead"/> </script> <attacks> <attack name="melee" interval="2000" skill="145" attack="135"/> <attack name="fire" interval="2000" chance="20" range="7" radius="4" target="1" min="-165" max="-205"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="redspark"/> </attack> <attack name="death" interval="9000" chance="100" radius="4" target="0" min="0" max="0"> <attribute key="areaEffect" value="mortarea"/> </attack> <attack name="poison" interval="2000" chance="20" range="7" radius="4" target="1" min="-55" max="-155"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="poison"/> </attack> <attack name="poison" interval="2000" chance="20" length="8" spread="3" min="-300" max="-415"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="manadrain" interval="2000" chance="12" range="5" radius="4" target="1" min="-85" max="-110"> <attribute key="areaEffect" value="greenshimmer"/> </attack> </attacks> <defenses armor="35" defense="30"> </defenses> <summons maxSummons="2"> <summon name="undead gladiator" interval="9000" chance="100"/> <summon name="undead gladiator" interval="9000" chance="100"/> </summons> <elements> <element physicalPercent="10"/> <element icePercent="10"/> <element holyPercent="-10"/> </elements> <immunities> <immunity death="1"/> <immunity earth="1"/> <immunity energy="1"/> <immunity lifedrain="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="YOU'LL NEVER GET MY TREASURE!"/> <voice sentence="MINIONS, MEET YOUR NEW BROTHER!"/> <voice sentence="YOU WILL REGRET THAT YOU ARE BORN!"/> <voice sentence="YOU MADE A HUGE WASTE!"/> </voices> </monster> Editado 28 Junho, 2009 por Land Compartilhar este post Link para o post
Gpwjhlkdcf 21 #2 Postado 24 Junho, 2009 Aprovado e Movido para Download de Outros Scripts. Observação: Ficou meio grandinho. Compartilhar este post Link para o post
jamis 0 #4 Postado 15 Julho, 2009 nussa lek vlw mesmo tava precisando dessa quest meio complicada e grande mais fico maneira aki XD... fiz ela agr so vou arrumar o mapa na entrar dela rsrs.. Compartilhar este post Link para o post
chinok 0 #5 Postado 19 Setembro, 2009 APROVADO no meu ot funcionou 100% vlw Compartilhar este post Link para o post
Gorgulf 0 #6 Postado 19 Setembro, 2009 nossa, muito bom, aqui funciono perfeitamente Compartilhar este post Link para o post