AW
moveevent

[moveevent] Quest Firewalker Boots

Por awarkener, 20 de jun. de 2009 em Actions e Talkactions

script
15
5.1k
awarkenerA
20 de junho de 2009 às 07:30

-------------------------------

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:

imagem2fuf.jpg

 

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

imagem1fgv.jpg

 

 

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

imagem3mbp.jpg

 

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 Agosto 5 por awarkener

satan666S
20 de junho de 2009 às 13:14

boa gostei mesmo so que voce se esqueceu de citar que e pra por a action id 9021 no portal que entra pra sala porque voce nao citou isso e muitos nao iriam saber onde por essa actionid.

 

foi voce ou o ta4e que fez o script?

awarkenerA
20 de junho de 2009 às 15:57
boa gostei mesmo so que voce se esqueceu de citar que e pra por a action id 9021 no portal que entra pra sala porque voce nao citou isso e muitos nao iriam saber onde por essa actionid.

 

foi voce ou o ta4e que fez o script?

 

AHHH SIM...FOI EU, MAIS COLOQUEI CREDITO PRA ELE TBM PORQUE PEQUEI UM CODE DELE DA "DEMON AOK" E FIZ ESSA.

Editado Junho 21 por awarkener

satan666S
21 de junho de 2009 às 19:50

se nao me engano e pra por a actionid 9021 no teleport mas e a coordenada?

porque nao pode por a actionid sem por uma coordenada no teleport.

pelo menos no meu map editor ele nao deixa fazer isso.

Editado Junho 21 por Marcryzius

awarkenerA
21 de junho de 2009 às 20:24
se nao me engano e pra por a actionid 9021 no teleport mas e a coordenada?

porque nao pode por a actionid sem por uma coordenada no teleport.

pelo menos no meu map editor ele nao deixa fazer isso.

 

nao, você soh poe a actionid mesmo as coordendas você por aki:

 

local player_pos_entrada = {x = XXXXX, y = XXXXX, z = XXXXX}
satan666S
21 de junho de 2009 às 20:29

sim mas pelo map editor ele naoo aceita eu por apenas a action id no teleport sem por um destino pra ele.

 

eu uso o simone map editor sera que e problema dele?

awarkenerA
21 de junho de 2009 às 21:01
sim mas pelo map editor ele naoo aceita eu por apenas a action id no teleport sem por um destino pra ele.

 

eu uso o simone map editor sera que e problema dele?

 

 

eu uso o Remere's Map Editor.

e nele aparece isso aki

imagem8d.jpg

se for isso é soh vc coloka não e boa

satan666S
21 de junho de 2009 às 22:56

nao e isso ele nao aceita de maneira alguma ae ta a ss do erro.

 

erroc.png

awarkenerA
21 de junho de 2009 às 23:38
nao e isso ele nao aceita de maneira alguma ae ta a ss do erro.

 

erroc.png

 

hummm, coloke entaum as coordenadas e ve noque da, acho que isso num afeta nd o script ;~~

satan666S
22 de junho de 2009 às 13:17

eu fiz isso o ot bugou deu varios erros ate duplicou meu char o.0

awarkenerA
23 de junho de 2009 às 00:32
eu fiz isso o ot bugou deu varios erros ate duplicou meu char o.0

 

 

KKKKKKKKK...foda.

sei la cara mude de map editor entaum ;~~

Editado Junho 23 por awarkener

6 meses depois...
yanleonardoY
01 de dezembro de 2009 às 19:48

Estou com uma duvida.

 

eu tenho um mapa global full e quero por a quest da firewalker boots mais estou com duvida em saber o que é "local starting" e "local ending". Onde fica isso.. Pra eu por as cordenadas..

 

--Config-->

local starting = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 253}

local ending = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 253}

7 meses depois...
18 de julho de 2010 às 00:50

alguem poderia me ajudar,

 

eu não entendi essa parte

 

local queststatus = getPlayerStorageValue(cid, XXXXX) --ValueID DA QUEST QUANDO VOCE JA PEGO O ITEM

 

é pra coloca o UniqID da quest ? ou o que?

 

 

tpw, eu acho q é quem ja fez a quest pra não entra no portal

 

ai ia apareçe essa mensagem :

Sorry you already did this quest!

Desculpe, mas você já fez esta quest!

 

+ o player pode faze a quest quantas vezes quiser :worriedsmiley:

(entrar no tp e matar o boss neh, pegar o item, ele pega só 1x)

Editado Julho 18 por felipedorgas

1 mês depois...
SynGameS
24 de agosto de 2010 às 14:14

humn vou testar.. mas acho que o problema é no meu monstro.

hyuri100H
26 de agosto de 2010 às 10:59

no meu quando aparece o portal depois que mata o boss, o portal nao leva pra lugar nenhum, voce sobe em cima e nada acontece.

 

por que?