Ir para conteúdo
Entre para seguir isso  
Land

Yalahar Quest Room

Recommended Posts

Land    0
Land

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

Nome: Yalahar Quest Last Mission

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 = yalahar_azerus_quest

 

EM "data\movements\scripts\yalahar_azerus_quest.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 queststatus = getPlayerStorageValue(cid, XXXXX) --Value ID DA QUEST QUANDO VOCE JA PEGO O ITEM

local player_pos_entrada = {x = XXXXX, y = XXXXX, z = XXXXX}

--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 == 1974 and queststatus == -1 then

doCreatureSay(cid, "It seems by defeating Azarus you have stopprd this army from entering your world! Better leave this ghastly place forever.", TALKTYPE_ORANGE_1)

setPlayerStorageValue(cid, XXXXX, 1) --Value ID PARA QUE O PLAYER POSSA ENTRA NA PORTA ONDE ESTAUM AS RECOMPENSA

return TRUE

end

 

if item.actionid == 1973 and queststatus == -1 then

totalmonsters = 0

monster = {}

 

repeat

creature = getThingfromPos(checking)

 

if creature.itemid > 0 then

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 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)

 

else

doMoveCreature(cid, newdir)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Someone has already done this quest.')

end

end

 

NO PORTAL PARA ENTRA NA SALA DA QUEST ADICIONE ACTIONID,1973 CONFORME A IMAGEM

imagem5v1.jpg

 

STARTING,ENDING:SAUM AS COORNADAS PARA QUE O SCRIPT CHECK SE TEM ALGUM BIXO NA SALA,SE ESTIVER ALGUM ELE REMOVERA

PLAYER_POS_ENTRADA:É A COORDENADA DA ONDE O PLAYER SERA TELEPORTADO APOS ENTRA NA SALA

imagem6v1.jpg

 

NO FINAL DA QUEST ADICIONE ACTIONID,1974 NO TILE CONFORME A FIGURA PARA QUE QUANDO O PLAYER PISE NELE EXIBIRA A MSG FALANDO QUE ELE JA PODE ENTRA NA SALA DE RECOMPENSA

imagem7v1.jpg

 

AGORA LA NO SCRIPT NA ACTION,1974 NA PARTE ONDE ESTA OS 'X' ADICIONE UM VALUE E NAS PORTA DA QUEST COLOKE O MESMO VALUE CONFORME A IMAGEM ABAIXO PARA QUE O PLAYER POSSA ENTRA APOS TERMINA A QUEST

imagem4d.jpg

 

movements.xml:

<!-- Yalahar Set Quest -->

<movevent type="StepIn" actionid="1973" event="script" value="yalahar_azerus_quest.lua" />

<movevent type="StepIn" actionid="1974" event="script" value="yalahar_azerus_quest.lua" />

<!-- End Yalahar Set Quest -->

 

Configurando Actions:

 

CRIE UM ARQUIVO .LUA EM "data\actions\scripts\"

Nome = yalahar_azerus_quest

 

EM "data\actions\scripts\yalahar_azerus_quest.lua":

function onUse(cid, item, frompos, item2, topos)

 

--Config-->

local statue_pos = {x = XXXXX, y = XXXXX, z = XXXXX}

local portal_quest01_pos = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 2}

local portal_quest02_pos = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 2}

local new_portal_pos = {x = XXXXX, y = XXXXX, z = XXXXX, stackpos = 1}

local new_pos = {x = XXXXX, y = XXXXX, z = XXXXX}

--End Config-->

 

function Potwory1()

if math.random (1,8) == 4 then

doCreateMonster('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

addEvent(Potwory2, 30 * 1000)

else

doCreateMonster('Azerus', {x = statue_pos.x, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

addEvent(Potwory2, 30 * 1000)

end

end

 

function Potwory2()

doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

addEvent(Potwory3, 35 * 1000)

end

 

function Potwory3()

doCreateMonster('Rift Scythe', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Scythe', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Scythe', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

doCreateMonster('Rift Scythe', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

addEvent(Potwory4, 40 * 1000)

end

 

function Potwory4()

doCreateMonster('Azerus', {x = statue_pos.x, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('War Golem', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('War Golem', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253})

doCreateMonster('War Golem', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253})

doCreateMonster('War Golem', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})

addEvent(NewPortal, 90 * 1000)

end

 

function NewPortal()

doCreateTeleport(1387, new_pos, new_portal_pos)

addEvent(RemoveAll, 60 * 1000)

end

 

function RemoveAll()

doRemoveItem(getThingfromPos(portal_quest01_pos).uid,1)

doRemoveItem(getThingfromPos(portal_quest02_pos).uid,1)

doRemoveItem(getThingfromPos(new_portal_pos).uid,1)

end

 

if item.uid == 1968 and getThingfromPos(portal_quest01_pos).itemid ~= 9772 then

doCreateItem(9772,1,portal_quest01_pos)

doCreateItem(9772,1,portal_quest02_pos)

addEvent(Potwory1, 0)

else

doPlayerSendTextMessage(cid,22,"Sorry, not possible.")

end

return TRUE

end

 

 

STATUE_POS:COORDENADAS DA ONDE A ESTATUA VAI ESTA

ADICIONE NA ESTATUA EM UNIQUEID,1968

NEW_PORTAL_POS:VAI SER NA ONDE O PORTAL APARECERA QUANDO ACABAR A QUEST

PORTAL_QUEST01_POS:É A POSIÇÃO NA ONDE O PORTAL DE DENTRO DA SALA ESTA

OBS:ISSO SERVE PARA QUE QUANDO A QUEST FOR ACIONADA CRIE UM ORB NO PORTAL PARA QUE NGM MAIS POSSA SAI

imagem6k.jpg

 

PORTAL_QUEST02_POS:É A POSIÇÃO NA ONDE O PORTAL DE FORA DA SALA ESTA

OBS:ISSO SERVE PARA QUE QUANDO A QUEST FOR ACIONADA CRIE UM ORB NO PORTAL PARA QUE NGM MAIS POSSA ENTRA NA SALA

imagem5o.jpg

 

NEW_POS:SAUM AS COORDENADAS DA ONDE O PLAYER SERA TELEPORTADO APOS TERMINA A QUEST

imagem7fxe.jpg

 

actions.xml:

<!-- Yalahar Set Quest -->

<action uniqueid="1968" script="yalahar_azerus_quest.lua"/>

<!-- End Yalahar Set Quest -->

Editado por Land

Compartilhar este post


Link para o post
Gpwjhlkdcf    21
Gpwjhlkdcf

  • Aprovado e Movido para Download de Outros Scripts.

 

Observação: smileb.png

Compartilhar este post


Link para o post
Jake    0
Jake

O script está legal, mas não temos acesso ao mapa e mappear e conseguir acertar tudinho nos trinques é dificil. Outra coisa é o Azerus, poste a criatura porque ela está vindo toda bugada.

 

 

obrigado (Y)

Compartilhar este post


Link para o post
ShufflezOr    0
ShufflezOr

Carakaa Veeiii '-'

Script Nervoso

Valew aee, tava precisando de uma yalahar room

:D

 

Te Amo

=*

Compartilhar este post


Link para o post
chinok    0
chinok

no meu mapa esses script nao funcionou

[22/08/2009 23:28:34] Lua Script Error: [MoveEvents Interface]

[22/08/2009 23:28:34] data/movements/scripts/yalahar_azerus_quest.lua:onStepIn

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×