Ir para conteúdo

[moveevent] Quest Firewalker Boots


awarkener

Posts Recomendados

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

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 por awarkener
Link para o comentário
Compartilhar em outros sites

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 por awarkener
Link para o comentário
Compartilhar em outros sites

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 por Marcryzius
Link para o comentário
Compartilhar em outros sites

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}
Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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 por awarkener
Link para o comentário
Compartilhar em outros sites

  • 5 months later...

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}

Link para o comentário
Compartilhar em outros sites

  • 7 months later...

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 por felipedorgas
Link para o comentário
Compartilhar em outros sites

  • 1 month later...
×
×
  • Criar Novo...