Ir para conteúdo

Arenasvargrond


kubikiri

Posts Recomendados

Bom, vi milhares de "explicacoes", post etç sobre como fazer a Arena.



Pois bem, aqui voce vai entender tudo direitinho.

Vou utilizar os scripts postador por Tibiaa4e.

estou só ajudando aqueles que não entenderam, assim como eu que tive que aprende na raça. Boa sorte para voçês em seus ot

 

:forward: Observação :back: , sem querer eu coloquei o todo texto do post no meio, e pode ter afetado os textos para criar os arquivos, e estou sem tempo para arruma denovo, deu trabalho fazer isso.

Voçês tem 2 escolhas ou entra na pagina do post (original) do tibiaa4e, para ir pegando os aquivos ou baixar eles aqui

Mas o tutorial de como criar a arena esta valendo.

 

Link do post tibiaa4e http://www.xtibia.com/forum/Arena-Quest-V4...und-t96282.html

 

Ou Baixar aqui arquivos.rar

Pesso mil desculpas.....mesmo :withstupidsmiley:

 

Ah outra coisa, o arquivo movements que vai em movements/lib/, tirem os traços --------, pois eles dao erro no ot, isso se der erro, porque aqui deu erro com eles.

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

 

Criando Arena em seu ot (não copiando mapa ja com tudo pronto)

Esta arena é v4 conforme nosso amigo tibiaa4e postou

detalhes da arena:

Detalhes da arena v4:

Creditos: Tibiaa4e

Changelog Arena 3.0 to 4.0

 

-Fixados

- Fixado bug dos baus na qual alguns abriam e outros diziam que você fez a quest sem ter feito.

- Fixado bug dos trofeus, agora todos estão funcionando.

- Fixado erro que permitia o player fazer a arena varias vezes, sem pegar a recompensa.

- Fixado erro da porta de permissão, na qual mostrava a frase, mesmo ele passando.

- Fixado erro da porta ao checar players nas arena (GMs não é considerado player, ou seja, se houver 1 a porta abre normalmente).

- Fixado bug que deixava o player pegar o item a mostra na sala de recompensa.

 

-Adicionado

- Frase especial no Trofeu igual tibia real.

- Mapa melhorado, não estando igual ao real.

- Adicionado actionid para o player escapar da arena e não pode-la fazer denovo até comprar outra

- Player não pode comprar permissão do nivel, se já terminou ele.

- Função DoMakeEffect para diminuir script.

- Arena é agora area de não logout para evitar macetes de players.

- Npc agora é para TFS 0.3.0 Alpha 3

 

- Arena, Arena1 e Trofeu compactados e adicionados para apenas um arquivo (Que esse ficou menor que o antigo Arena1)

- Diminuição das coordenadas, se usar o mapa postado (podendo apenas decora-lo, não mudando ordem de tiles).

 

Actionid usadas

 

5000 a 5012

5100 a 5111

 

Storages ids

5000 a 5002

5005 a 5007

5010 a 5012

5015 a 5017

 

Uniqueid

5300 a 5314 para recompensas

 

-A fazer

 

- Adicionar montros reais, e não aqueles ridiculos da SVN.

- Corrigir (Se houver) bugs da versão 4.0

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



:rules: Começando a criar a Arena :whip:

Primeira parte:

 

O Cenario, entendendo:

Para esta parte, se voce ja tem o mapa ou se vai criar preste atencao no chao, deixe ele sem bordas na parte onde vai as actionid. como mostra a foto abaixo.

chaofe2.gif

 

Preste atencao nesse ponto, nao deixe bordas ao redor de cada arena, (bordas no chao). pois em cada sqm que o jogador vai pisar vai ter uma action, que representa arenas 1 a 10. Ta explicado, cuidado com o chao de cada arena, nao deixei bordas onde voce vai colocas o action ids.

 

Segunda parte, começando:

 

Primeiro coloque esse script dentro da pasta movements/scripts, crie arquivo arena.lua e cole isto

--Function by Ta4e 07/11/2008--

--90% Arena quest in tibia rl--

--Version 4.0--

--This script make create a globet, summons monsters and create and delete teleports--

 

function onStepIn(cid, item, position, fromPosition)

 

getele = getThingfromPos(arenaroom)

getele1 = getThingfromPos(arenache1)

getele2 = getThingfromPos(arenache2)

getele3 = getThingfromPos(arenache3)

getele4 = getThingfromPos(arenache4)

getele5 = getThingfromPos(arenache5)

getele6 = getThingfromPos(arenache6)

getele7 = getThingfromPos(arenache7)

getele8 = getThingfromPos(arenache8)

getele9 = getThingfromPos(arenache9)

getele10 = getThingfromPos(arenache10)

 

greenhornstatus = getPlayerStorageValue(cid,5000)

scrapperstatus = getPlayerStorageValue(cid,5001)

warlordstatus = getPlayerStorageValue(cid,5002)

 

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

 

if item.itemid == 1387 and item.actionid == 5110 then

doTeleportThing(getele.uid,arenapos,0)

doSendMagicEffect(arenapos,10)

if warlordstatus == 1 then

doSummonCreature(bossw1, monsterpos1)

setPlayerStorageValue(cid,5002,2)

elseif scrapperstatus == 1 then

doSummonCreature(bosss1, monsterpos1)

setPlayerStorageValue(cid,5001,2)

elseif greenhornstatus == 1 then

doSummonCreature(bossg1, monsterpos1)

setPlayerStorageValue(cid,5000,2)

else

doPlayerSendCancel(cid,"You need talk to halvar")

end

 

 

elseif item.itemid == 1387 and item.actionid == 5100 then

doTeleportThing(getele1.uid,arenapos2,0)

doSendMagicEffect(arenapos2,10)

getrem1 = getThingfromPos({x=arenache1.x, y=arenache1.y, z=arenache1.z, stackpos =1})

doCreateItem(1354,1,arenache1)

doRemoveItem(getrem1.uid,1)

if warlordstatus == 2 then

doSummonCreature(bossw2, monsterpos2)

elseif scrapperstatus == 2 then

doSummonCreature(bosss2, monsterpos2)

elseif greenhornstatus == 2 then

doSummonCreature(bossg2, monsterpos2)

end

 

elseif item.itemid == 1387 and item.actionid == 5101 then

doTeleportThing(getele2.uid,arenapos3,0)

doSendMagicEffect(arenapos3,10)

local getrem2 = getThingfromPos({x=arenache2.x, y=arenache2.y, z=arenache2.z, stackpos =1})

doRemoveItem(getrem2.uid,1)

doCreateItem(1354,1,arenache2)

if warlordstatus == 2 then

doSummonCreature(bossw3, monsterpos3)

elseif scrapperstatus == 2 then

doSummonCreature(bosss3, monsterpos3)

elseif greenhornstatus == 2 then

doSummonCreature(bossg3, monsterpos3)

end

 

elseif item.itemid == 1387 and item.actionid == 5102 then

doTeleportThing(getele3.uid,arenapos4,0)

doSendMagicEffect(arenapos4,10)

local getrem3 = getThingfromPos({x=arenache3.x, y=arenache3.y, z=arenache3.z, stackpos =1})

doRemoveItem(getrem3.uid,1)

doCreateItem(1354,1,arenache3)

if warlordstatus == 2 then

doSummonCreature(bossw4, monsterpos4)

elseif scrapperstatus == 2 then

doSummonCreature(bosss4, monsterpos4)

elseif greenhornstatus == 2 then

doSummonCreature(bossg4, monsterpos4)

end

 

elseif item.itemid == 1387 and item.actionid == 5103 then

doTeleportThing(getele4.uid,arenapos5,0)

doSendMagicEffect(arenapos5,10)

local getrem4 = getThingfromPos({x=arenache4.x, y=arenache4.y, z=arenache4.z, stackpos =1})

doRemoveItem(getrem4.uid,1)

doCreateItem(1354,1,arenache4)

if warlordstatus == 2 then

doSummonCreature(bossw5, monsterpos5)

elseif scrapperstatus == 2 then

doSummonCreature(bosss5, monsterpos5)

elseif greenhornstatus == 2 then

doSummonCreature(bossg5, monsterpos5)

end

 

elseif item.itemid == 1387 and item.actionid == 5104 then

doTeleportThing(getele5.uid,arenapos6,0)

doSendMagicEffect(arenapos6,10)

local getrem5 = getThingfromPos({x=arenache5.x, y=arenache5.y, z=arenache5.z, stackpos =1})

doRemoveItem(getrem5.uid,1)

doCreateItem(1354,1,arenache5)

if warlordstatus == 2 then

doSummonCreature(bossw6, monsterpos6)

elseif scrapperstatus == 2 then

doSummonCreature(bosss6, monsterpos6)

elseif greenhornstatus == 2 then

doSummonCreature(bossg6, monsterpos6)

end

 

elseif item.itemid == 1387 and item.actionid == 5105 then

doTeleportThing(getele6.uid,arenapos7,0)

doSendMagicEffect(arenapos7,10)

local getrem6 = getThingfromPos({x=arenache6.x, y=arenache6.y, z=arenache6.z, stackpos =1})

doRemoveItem(getrem6.uid,1)

doCreateItem(1354,1,arenache6)

if warlordstatus == 2 then

doSummonCreature(bossw7, monsterpos7)

elseif scrapperstatus == 2 then

doSummonCreature(bosss7, monsterpos7)

elseif greenhornstatus == 2 then

doSummonCreature(bossg7, monsterpos7)

end

 

elseif item.itemid == 1387 and item.actionid == 5106 then

doTeleportThing(getele7.uid,arenapos8,0)

doSendMagicEffect(arenapos8,10)

local getrem7 = getThingfromPos({x=arenache7.x, y=arenache7.y, z=arenache7.z, stackpos =1})

doRemoveItem(getrem7.uid,1)

doCreateItem(1354,1,arenache7)

if warlordstatus == 2 then

doSummonCreature(bossw8, monsterpos8)

elseif scrapperstatus == 2 then

doSummonCreature(bosss8, monsterpos8)

elseif greenhornstatus == 2 then

doSummonCreature(bossg8, monsterpos8)

end

 

elseif item.itemid == 1387 and item.actionid == 5107 then

doTeleportThing(getele8.uid,arenapos9,0)

doSendMagicEffect(arenapos8,10)

local getrem8 = getThingfromPos({x=arenache8.x, y=arenache8.y, z=arenache8.z, stackpos =1})

doRemoveItem(getrem8.uid,1)

doCreateItem(1354,1,arenache8)

if warlordstatus == 2 then

doSummonCreature(bossw9, monsterpos9)

elseif scrapperstatus == 2 then

doSummonCreature(bosss9, monsterpos9)

elseif greenhornstatus == 2 then

doSummonCreature(bossg9, monsterpos9)

end

 

elseif item.itemid == 1387 and item.actionid == 5108 then

doTeleportThing(getele9.uid,arenapos10,0)

doSendMagicEffect(arenapos9,10)

local getrem9 = getThingfromPos({x=arenache9.x, y=arenache9.y, z=arenache9.z, stackpos =1})

doRemoveItem(getrem9.uid,1)

doCreateItem(1354,1,arenache9)

if warlordstatus == 2 then

doSummonCreature(bossw10, monsterpos10)

elseif scrapperstatus == 2 then

doSummonCreature(bosss10, monsterpos10)

elseif greenhornstatus == 2 then

doSummonCreature(bossg10, monsterpos10)

end

 

elseif item.itemid == 1387 and item.actionid == 5109 then

doTeleportThing(getele10.uid,rewardpos,0)

doSendMagicEffect(rewardpos,10)

local getrem10 = getThingfromPos({x=arenache10.x, y=arenache10.y, z=arenache10.z, stackpos =1})

doRemoveItem(getrem10.uid,1)

doCreateItem(1354,1,arenache10)

if warlordstatus == 2 then

setPlayerStorageValue(cid,5002,3)

setPlayerStorageValue(cid,5007,1)

elseif scrapperstatus == 2 then

setPlayerStorageValue(cid,5001,3)

setPlayerStorageValue(cid,5006,1)

elseif greenhornstatus == 2 then

setPlayerStorageValue(cid,5000,3)

setPlayerStorageValue(cid,5005,1)

end

 

 

elseif item.itemid == 1387 and item.actionid == 5111 then

if warlordstatus == 2 then

setPlayerStorageValue(cid,5002,0)

elseif scrapperstatus == 2 then

setPlayerStorageValue(cid,5001,0)

elseif greenhornstatus == 2 then

setPlayerStorageValue(cid,5000,0)

end

 

elseif item.itemid == 426 then

if item.actionid == 5010 then

doTransformItem(item.uid, 425)

if getPlayerStorageValue(cid,5017) == -1 then

local golden = doCreateItem(8698,1,globet1)

doSetItemSpecialDescription(golden, 'rox by'..getPlayerName(cid)..'.')

doSendMagicEffect(globet1,10)

setPlayerStorageValue(cid,5017,1)

else

doSendMagicEffect(globet1,2)

end

 

elseif item.actionid == 5011 then

doTransformItem(item.uid, 425)

if getPlayerStorageValue(cid,5016) == -1 then

local golden = doCreateItem(7370,1,globet2)

doSetItemSpecialDescription(golden, 'rox by'..getPlayerName(cid)..'.')

doSendMagicEffect(globet2,10)

setPlayerStorageValue(cid,5016,1)

else

doSendMagicEffect(globet2,2)

end

 

elseif item.actionid == 5012 then

doTransformItem(item.uid, 425)

if getPlayerStorageValue(cid,5015) == -1 then

local golden = doCreateItem(7371,1,globet3)

doSetItemSpecialDescription(golden, 'rox by'..getPlayerName(cid)..'.')

doSendMagicEffect(globet3,10)

setPlayerStorageValue(cid,5015,1)

else

doSendMagicEffect(globet3,2)

end

end

 

 

end

return TRUE

end

 

function onAddItem(moveitem, tileitem, position)

 

if moveitem.itemid == 7349 and tileitem.actionid == 5000 then

local getrem1 = getThingfromPos({x=arenache1.x, y=arenache1.y, z=arenache1.z, stackpos =1})

doRemoveItem(getrem1.uid,1)

doCreateItem(1387,1,arenache1)

doMakeEffect(arenache1,13)

local getrem1 = getThingfromPos({x=arenache1.x, y=arenache1.y, z=arenache1.z, stackpos =1})

doSetItemActionId(getrem1.uid,5100)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5001 then

local getrem2 = getThingfromPos({x=arenache2.x, y=arenache2.y, z=arenache2.z, stackpos =1})

doRemoveItem(getrem2.uid,1)

doCreateItem(1387,1,arenache2)

doMakeEffect(arenache2,13)

local getrem2 = getThingfromPos({x=arenache2.x, y=arenache2.y, z=arenache2.z, stackpos =1})

doSetItemActionId(getrem2.uid,5101)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5002 then

local getrem3 = getThingfromPos({x=arenache3.x, y=arenache3.y, z=arenache3.z, stackpos =1})

doRemoveItem(getrem3.uid,1)

doCreateItem(1387,1,arenache3)

doMakeEffect(arenache3,13)

local getrem3 = getThingfromPos({x=arenache3.x, y=arenache3.y, z=arenache3.z, stackpos =1})

doSetItemActionId(getrem3.uid,5102)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5003 then

local getrem4 = getThingfromPos({x=arenache4.x, y=arenache4.y, z=arenache4.z, stackpos =1})

doRemoveItem(getrem4.uid,1)

doCreateItem(1387,1,arenache4)

doMakeEffect(arenache4,13)

local getrem4 = getThingfromPos({x=arenache4.x, y=arenache4.y, z=arenache4.z, stackpos =1})

doSetItemActionId(getrem4.uid,5103)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5004 then

local getrem5 = getThingfromPos({x=arenache5.x, y=arenache5.y, z=arenache5.z, stackpos =1})

doRemoveItem(getrem5.uid,1)

doCreateItem(1387,1,arenache5)

doMakeEffect(arenache5,13)

local getrem5 = getThingfromPos({x=arenache5.x, y=arenache5.y, z=arenache5.z, stackpos =1})

doSetItemActionId(getrem5.uid,5104)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5005 then

local getrem6 = getThingfromPos({x=arenache6.x, y=arenache6.y, z=arenache6.z, stackpos =1})

doRemoveItem(getrem6.uid,1)

doCreateItem(1387,1,arenache6)

doMakeEffect(arenache6,13)

local getrem6 = getThingfromPos({x=arenache6.x, y=arenache6.y, z=arenache6.z, stackpos =1})

doSetItemActionId(getrem6.uid,5105)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5006 then

local getrem7 = getThingfromPos({x=arenache7.x, y=arenache7.y, z=arenache7.z, stackpos =1})

doRemoveItem(getrem7.uid,1)

doCreateItem(1387,1,arenache7)

doMakeEffect(arenache7,13)

local getrem7 = getThingfromPos({x=arenache7.x, y=arenache7.y, z=arenache7.z, stackpos =1})

doSetItemActionId(getrem7.uid,5106)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5007 then

local getrem8 = getThingfromPos({x=arenache8.x, y=arenache8.y, z=arenache8.z, stackpos =1})

doRemoveItem(getrem8.uid,1)

doCreateItem(1387,1,arenache8)

doMakeEffect(arenache8,13)

local getrem8 = getThingfromPos({x=arenache8.x, y=arenache8.y, z=arenache8.z, stackpos =1})

doSetItemActionId(getrem8.uid,5107)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5008 then

local getrem9 = getThingfromPos({x=arenache9.x, y=arenache9.y, z=arenache9.z, stackpos =1})

doRemoveItem(getrem9.uid,1)

doCreateItem(1387,1,arenache9)

doMakeEffect(arenache9,13)

local getrem9 = getThingfromPos({x=arenache9.x, y=arenache9.y, z=arenache9.z, stackpos =1})

doSetItemActionId(getrem9.uid,5108)

 

elseif moveitem.itemid == 7349 and tileitem.actionid == 5009 then

local getrem10 = getThingfromPos({x=arenache10.x, y=arenache10.y, z=arenache10.z, stackpos =1})

doRemoveItem(getrem10.uid,1)

doCreateItem(1387,1,arenache10)

doMakeEffect(arenache10,13)

local getrem10 = getThingfromPos({x=arenache10.x, y=arenache10.y, z=arenache10.z, stackpos =1})

doSetItemActionId(getrem10.uid,5109)

end

end

Como voce viu antes, o esquema do chao, agora vamos ao trabalho.

Primeiro pegue o scripts e nomei ele de movements.lua, e coloque dentro da pasta movements/lib/ -->

arenapos={x=1172, y=925, z=7} --posição do meio da primeira arena--

rewardpos={x=1208, y=899, z=6} --posicao que ele ira ao matar o ultimo boss--

arenaroom={x=1205,y=934, z=7, stackpos =253} - posição do teleport que ira para a primeira arena--

 

 

 

--posicao que criara os trofeus--

globet1 = {x=1215, y=869, z=7, stackpos = 1} -- warlord

globet2 = {x=1215, y=876, z=7, stackpos = 1} --scrapper

globet3 = {x=1215, y=883, z=7, stackpos = 1} --greenhorn

 

 

 

--Bosses of Warlord Arena--

 

bossw1 = "webster"

bossw2 = "darakan the executioner"

bossw3 = "norgle glacierbeard"

bossw4 = "the pit lord"

bossw5 = "svoren the mad"

bossw6 = "the masked marauder"

bossw7 = "gnorre chyllson"

bossw8 = "fallen mooh'tah master ghar"

bossw9 = "deathbringer"

bossw10 = "the obliverator"

 

--Bosses of Scrapper Arena--

bosss1 = "avalanche"

bosss2 = "kreebosh the exile"

bosss3 = "The Dark Dancer"

bosss4 = "the hag"

bosss5 = "slim"

bosss6 = "Grimgor Guteater"

bosss7 = "drasilla"

bosss8 = "spirit of earth"

bosss9 = "spirit of water"

bosss10 = "spirit of fire"

 

--Bosses of Greenhorn Arena--

 

bossg1 = "frostfur"

bossg2 = "bloodpaw"

bossg3 = "bovinus"

bossg4 = "achad"

bossg5 = "colerian the barbarian"

bossg6 = "the hairy one"

bossg7 = "axeitus headbanger"

bossg8 = "rocky"

bossg9 = "cursed gladiator"

bossg10 = "Orcus the cruel"

 

--Posicoes de chegada--

 

arenapos2={x=arenapos.x-12, y=arenapos.y, z=arenapos.z, stackpos = 1}

arenapos3={x=arenapos.x-24, y=arenapos.y, z=arenapos.z, stackpos = 1}

arenapos4={x=arenapos.x-36, y=arenapos.y, z=arenapos.z, stackpos = 1}

arenapos5={x=arenapos.x-30, y=arenapos.y-12, z=arenapos.z, stackpos = 1}

arenapos6={x=arenapos.x-18, y=arenapos.y-12, z=arenapos.z, stackpos = 1}

arenapos7={x=arenapos.x-6, y=arenapos.y-12, z=arenapos.z, stackpos = 1}

arenapos8={x=arenapos.x-12, y=arenapos.y-25, z=arenapos.z, stackpos = 1}

arenapos9={x=arenapos.x-24, y=arenapos.y-25, z=arenapos.z, stackpos = 1}

arenapos10={x=arenapos.x-18, y=arenapos.y-38, z=arenapos.z, stackpos = 1}

 

--Posicoes de teleport--

 

arenache1={x=arenapos.x-5, y=arenapos.y, z=arenapos.z, stackpos = 253}

arenache2={x=arenapos.x-17, y=arenapos.y, z=arenapos.z, stackpos = 253}

arenache3={x=arenapos.x-29, y=arenapos.y, z=arenapos.z, stackpos = 253}

arenache4={x=arenapos.x-41, y=arenapos.y, z=arenapos.z, stackpos = 253}

arenache5={x=arenapos.x-35, y=arenapos.y-12, z=arenapos.z, stackpos = 253}

arenache6={x=arenapos.x-23, y=arenapos.y-12, z=arenapos.z, stackpos = 253}

arenache7={x=arenapos.x-11, y=arenapos.y-12, z=arenapos.z, stackpos = 253}

arenache8={x=arenapos.x-17, y=arenapos.y-25, z=arenapos.z, stackpos = 253}

arenache9={x=arenapos.x-29, y=arenapos.y-25, z=arenapos.z, stackpos = 253}

arenache10={x=arenapos.x-23, y=arenapos.y-38, z=arenapos.z, stackpos = 253}

 

--Posição de Sumonar monstros--

 

monsterpos1={x=arenapos.x+1, y=arenapos.y-3, z=arenapos.z, stackpos =1}

monsterpos2={x=arenapos2.x+1, y=arenapos2.y-3, z=arenapos2.z, stackpos =1}

monsterpos3={x=arenapos3.x+1, y=arenapos3.y-3, z=arenapos3.z, stackpos =1}

monsterpos4={x=arenapos4.x+1, y=arenapos4.y-3, z=arenapos4.z, stackpos =1}

monsterpos5={x=arenapos5.x+1, y=arenapos5.y-3, z=arenapos5.z, stackpos =1}

monsterpos6={x=arenapos6.x+1, y=arenapos6.y-3, z=arenapos6.z, stackpos =1}

monsterpos7={x=arenapos7.x+1, y=arenapos7.y-3, z=arenapos7.z, stackpos =1}

monsterpos8={x=arenapos8.x+1, y=arenapos8.y-3, z=arenapos8.z, stackpos =1}

monsterpos9={x=arenapos9.x+1, y=arenapos9.y-3, z=arenapos9.z, stackpos =1}

monsterpos10={x=arenapos10.x+1, y=arenapos10.y-3, z=arenapos10.z, stackpos =1}

 

 

function doMakeEffect(pos,effect)

 

pos1={x=pos.x+1, y=pos.y, z=pos.z}

pos2={x=pos.x+1, y=pos.y+1, z=pos.z}

pos3={x=pos.x+1, y=pos.y-1, z=pos.z}

 

doSendMagicEffect(pos,effect)

doSendMagicEffect(pos1,effect)

doSendMagicEffect(pos2,effect)

doSendMagicEffect(pos3,effect)

 

end

 

Explicando a segunda parte:

*Posição do meio da primeira arena, vai ser a posicao onde o jogador vai aparecer quando entra na arena, ou seja o meio fica entre a pedra e o portal abaixo. veja a foto:

meiocf3.gif

 

È ai que o jogador vai aparece, e apartir dai que vai entra todo um esquema de teletransporte para cada nivel da arena.

 

*posicao que ele ira ao matar o ultimo boss, Facil neh, aonde o jogador vai aparece depois de ter concluido a arena, onde ele vao escolher seus premium.

 

*posição do teleport que ira para a primeira arena, È o local de onde vai fica o seu teleporte, o teleporte só vai usar a action 5110, esta codernada fica por conta de levar o jogador ate a primeira sala da arena

 

*posicao que criara os trofeus, esta sera a posicao de onde vai aparece o trofeu, ou seja emcima da mesa. PS: coloque o piso que tem igual nos depot que afundam, e coloque a id para cada premio, 5010 trofeu ouro, 5011 trofeu de prata e 5012 trofeu de bronze.

 

*Bosses of Warlord Arena, somente o nome dos bosses de cada nivel da arena.

 

Agora explicando outras coisas que entra nessa parte:

 

*Posicoes de chegada e Posicoes de teleport.

Esta parte vou explicar, pois esta é a parte chata e que ninguem explicou.

Aqui são as coodernadas de acordo com as coodernadas que voçê colocou para a primeira arena (primeira arena eu me refiro a primeira sala), e para fazer isto é muito simples, veja exemplo com a foto logo depois:

 

posicoes de chegada

arenapos5={x=arenapos.x-30, y=arenapos.y-12, z=arenapos.z, stackpos = 1} <-(5º Arena)

 

Este é o exemplo quando o jogador passou de uma arena para outra, neste caso ele ja esta na quinta arena, ai voçê abre a calculadora e começa o seu trabalho. Pois aqui entra um esquema que supondo que a posicao que o jogador chega na arena seje x=200 y=200 z=5, a posicao do meio da arena. Voçê vai pegar a coordenadas da primeira arena, aonde o jogador aparece e vai calcular ou contar sqm po sqm (fica a seu criterio) só que voce vai contar ou calcular um sqm depois, se for X vai ser 1sqm a parti da esquerda, se for Y vai ser 1sqm para cima.

Veja foto para entender,

posicaoow8.gif

 

Legenda: Troquei o amarelo pelo vermelho representa X (facilitar a vizualização)

Azul vai representa Y

 

A posicao inicial do jogador entra em acao, quando ele passa de uma arena para outra,

no caso é simples de entender, voçê vai contar apartir da primeira posição, supondo que voçê quer arrumar as coordernadas da 5º arena.

 

Primeiro, a coodernada X, voçê conta 1sqm depois do sqm da posição inicial, ate a linha de onde esta a posição do meio da arena que voçê quer, no caso ali é a quinta.

 

Segundo, a coodernada Y, voçê conta 1sqm depois do sqm da posição inicial, ate linha de onde esta a posição do meio da arena que voçê quer.

exemplo, da posicao inicial, supondo que este seja a primeira arena x200 y200 e z7, quando voce mata o boss, a pedra vai sair normal dando lugar ao portal,já nas outras arenas entra a posição de chegada e posições do teleporte, para nao da erro de posição. Este exemplo vale tanto para uma quanto para a outra.

continuando, assim que voçê for passar da primeira arena para outra esses 2 entram, e funciona assim, se a posição inicial for x200...o esquema é contar ou calcular quantos sqm ate a proxima arena, conta da forma como ta na foto acima, mesmo se a arena for 10 voçê vai contar da arena 1 quantos sqm a esquerda (X) chega ate na linha de onde esta o meio da arena 10.

se for conta é mole, leia o que eu falei. Se for calcular, diminua...supondo que arena 10 o seu meio seja x220 e y220 voçê pega 1sqm x esquerda, y acima, ou seja x219 y 219, na calculadora diminua x200 posição inicial pelo x219 posição arena 10, 200-219 = 19, ai voçê coloca o resultado na posição de chegada de acordo com a arena, colocar -19 (quer dizer, -19 x para a esquerda). Simples não, isto vale tanto para a posição de chegada quanto posicoes de teleporte. O Z não se preocupe porque nem precisa mecher, já que arena "deve" fica no mesmo andar.

 

*Posição de Sumonar monstros

Aqui voce nao precisa mecher, aqui ja é automatico, se voçê configuro tudo certo acima.

 

 

 

 

Colocando as IDs nos pisos e no teleporte para entrar na arena:

 

È o seguinte, como eu explique la começo o esquema do chao, aqui vai entra as ids, voçê vai fazer o seguinte, colocar as id respectiva a arena, colocar em todo piso que abrange cada arena, embaixo do portal nao precisa, mas da pedra precisa.

 

Os ids começam do 5000 e vai ate 5009, 10 arenas. Veja a foto de onde colocar.

pisodj4.gif

 

Em cada arena voçê vai colocar em todo piso sua actionid, exemplo actionid 5000, em todo piso daquela arena voçê coloca em actionid o 5000, por isso nao pode ter bordas perto do chão onde vai coloca o actionid...

E o actionid do teleporte para entra na arena é 5110, coloque no teleporte a actionid e nao utilize coodernadas. A codernada voçê vai colocar no arquivo movements.lua que esta dentro do movements/lib

 

 

Adicione isto em movements.xml

Script:

<movevent event="AddItem" tileitem="1" actionid="5000" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5001" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5002" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5003" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5004" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5005" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5006" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5007" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5008" script="arena.lua"/>

<movevent event="AddItem" tileitem="1" actionid="5009" script="arena.lua"/>

<movevent event="StepIn" actionid="5010" script="arena.lua"/>

<movevent event="StepIn" actionid="5011" script="arena.lua"/>

<movevent event="StepIn" actionid="5012" script="arena.lua"/>

<movevent event="StepIn" actionid="5100" script="arena.lua"/>

<movevent event="StepIn" actionid="5101" script="arena.lua"/>

<movevent event="StepIn" actionid="5102" script="arena.lua"/>

<movevent event="StepIn" actionid="5103" script="arena.lua"/>

<movevent event="StepIn" actionid="5104" script="arena.lua"/>

<movevent event="StepIn" actionid="5105" script="arena.lua"/>

<movevent event="StepIn" actionid="5106" script="arena.lua"/>

<movevent event="StepIn" actionid="5107" script="arena.lua"/>

<movevent event="StepIn" actionid="5108" script="arena.lua"/>

<movevent event="StepIn" actionid="5109" script="arena.lua"/>

<movevent event="StepIn" actionid="5110" script="arena.lua"/>

Adicione em Action/scripts crie aquivo reward.lua e cole isto,

--Function by Ta4e 07/11/2008--

--90% Arena quest in tibia rl--

--Version 4.0--

 

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

 

--Storages values when you win a reward--

warlord = 5012

scrapper = 5011

greenhorn = 5010

 

--Caution when modify--

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

 

--ARENA warlord--

if item.uid == 5300 then

queststatus = getPlayerStorageValue(cid,warlord)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 39.00 then

doPlayerSendTextMessage(cid,24,"You have found a blessed sceptre.")

doPlayerAddItem(cid,7429,1)

setPlayerStorageValue(cid,warlord,1)

else

doPlayerSendTextMessage(cid,24,"You have found a blessed sceptre. Weighing 39.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5301 then

queststatus = getPlayerStorageValue(cid,warlord)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 92.00 then

doPlayerSendTextMessage(cid,24,"You have found a Royal Axe.")

doPlayerAddItem(cid,7434,1)

setPlayerStorageValue(cid,warlord,1)

else

doPlayerSendTextMessage(cid,24,"You have found a Royal Axe. Weighing 92.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5302 then

queststatus = getPlayerStorageValue(cid,warlord)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 50.00 then

doPlayerSendTextMessage(cid,24,"You have found a justice seeker.")

doPlayerAddItem(cid,7390,1)

setPlayerStorageValue(cid,warlord,1)

else

doPlayerSendTextMessage(cid,24,"You have found a justice seeker. Weighing 50.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5303 then

queststatus = getPlayerStorageValue(cid,warlord)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 20.00 then

doPlayerSendTextMessage(cid,24,"You have found a present.")

container = doPlayerAddItem(cid,1990,1)

doAddContainerItem(container, 6558, 1) --panda

doAddContainerItem(container, 6574, 1) --chocolate

doAddContainerItem(container, 6569,10) --candy

doAddContainerItem(container, 7372, 1) --ice cream

setPlayerStorageValue(cid,warlord,1)

else

doPlayerSendTextMessage(cid,24,"You have found a present. Weighing 20.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5304 then

queststatus = getPlayerStorageValue(cid,warlord)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 110.00 then

doPlayerSendTextMessage(cid,24,"You have found a backpack.")

container = doPlayerAddItem(cid,7342,1)

doAddContainerItem(container, 2268, 50)

doAddContainerItem(container, 2273, 50)

doAddContainerItem(container, 7440, 1)

doAddContainerItem(container, 7439, 1)

doAddContainerItem(container, 6529, 100)

setPlayerStorageValue(cid,warlord,1)

else

doPlayerSendTextMessage(cid,24,"You have found a backpack. Weighing 110.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

 

 

--ARENA scrapper--

elseif item.uid == 5305 then

queststatus = getPlayerStorageValue(cid,scrapper)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 78.00 then

doPlayerSendTextMessage(cid,24,"You have found a Cranial Basher.")

doPlayerAddItem(cid,4715,1)

setPlayerStorageValue(cid,scrapper,1)

else

doPlayerSendTextMessage(cid,24,"You have found a Cranial Basher. Weighing 78.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5306 then

queststatus = getPlayerStorageValue(cid,scrapper)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 61.00 then

doPlayerSendTextMessage(cid,24,"You have found a heroic axe.")

doPlayerAddItem(cid,7751,1)

setPlayerStorageValue(cid,scrapper,1)

else

doPlayerSendTextMessage(cid,24,"You have found a heroic axe. Weighing 61.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5307 then

queststatus = getPlayerStorageValue(cid,scrapper)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 35.00 then

doPlayerSendTextMessage(cid,24,"You have found a mystic blade.")

doPlayerAddItem(cid,7765,1)

setPlayerStorageValue(cid,scrapper,1)

else

doPlayerSendTextMessage(cid,24,"You have found a mystic blade. Weighing 35.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5308 then

queststatus = getPlayerStorageValue(cid,scrapper)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 15.00 then

doPlayerSendTextMessage(cid,24,"You have found a present.")

container = doPlayerAddItem(cid,1990,1)

doAddContainerItem(container, 7184, 1)

doAddContainerItem(container, 6574, 1) --chocolate

doAddContainerItem(container, 6569,10) --candy

doAddContainerItem(container, 7372, 1) --ice cream

setPlayerStorageValue(cid,scrapper,1)

else

doPlayerSendTextMessage(cid,24,"You have found a present. Weighing 15.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

 

elseif item.uid == 5309 then

queststatus = getPlayerStorageValue(cid,scrapper)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 158.00 then

doPlayerSendTextMessage(cid,24,"You have found a backpack.")

container = doPlayerAddItem(cid,7342,1)

doAddContainerItem(container, 2304, 50)

doAddContainerItem(container, 2311, 50)

doAddContainerItem(container, 7365, 100)

doAddContainerItem(container, 2457, 100)

setPlayerStorageValue(cid,scrapper,1)

else

doPlayerSendTextMessage(cid,24,"You have found a backpack. Weighing 158.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

 

 

--ARENA greenhorn--

elseif item.uid == 5310 then

queststatus = getPlayerStorageValue(cid,greenhorn)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 158.00 then

doPlayerSendTextMessage(cid,24,"You have found a backpack.")

container = doPlayerAddItem(cid,7342,1)

doAddContainerItem(container, 7364, 100)

doAddContainerItem(container, 7365, 100)

setPlayerStorageValue(cid,greenhorn,1)

else

doPlayerSendTextMessage(cid,24,"You have found a backpack. Weighing 158.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

 

elseif item.uid == 5311 then

queststatus = getPlayerStorageValue(cid,greenhorn)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 54.00 then

doPlayerSendTextMessage(cid,24,"You have found a orcish maul.")

doPlayerAddItem(cid,7392,1)

setPlayerStorageValue(cid,greenhorn,1)

else

doPlayerSendTextMessage(cid,24,"You have found a orcish maul. Weighing 54.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5312 then

queststatus = getPlayerStorageValue(cid,greenhorn)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 59.00 then

doPlayerSendTextMessage(cid,24,"You have found a Blacksteel Sword.")

doPlayerAddItem(cid,7406,1)

setPlayerStorageValue(cid,greenhorn,1)

else

doPlayerSendTextMessage(cid,24,"You have found a Blacksteel Sword. Weighing 59.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5313 then

queststatus = getPlayerStorageValue(cid,greenhorn)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 73.80 then

doPlayerSendTextMessage(cid,24,"You have found a HeadChopper.")

doPlayerAddItem(cid,7380,1)

setPlayerStorageValue(cid,greenhorn,1)

else

doPlayerSendTextMessage(cid,24,"You have found a HeadChopper. Weighing 73.80 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

elseif item.uid == 5314 then

queststatus = getPlayerStorageValue(cid,greenhorn)

if queststatus == -1 then

if getPlayerFreeCap(cid) >= 18.00 then

doPlayerSendTextMessage(cid,24,"You have found a present.")

container = doPlayerAddItem(cid,1990,1)

doAddContainerItem(container, 2114, 1)

doAddContainerItem(container, 6570, 1)

doAddContainerItem(container, 6574, 1)

doAddContainerItem(container, 2668,10)

doAddContainerItem(container, 7372, 1)

setPlayerStorageValue(cid,greenhorn,1)

else

doPlayerSendTextMessage(cid,24,"You have found a present. Weighing 18.00 oz it is too heavy.")

end

else

doPlayerSendTextMessage(cid,24,"The chest is empty.")

end

 

 

end

return 1

end

 

Em Action/scripts crie arquivo door.lua e cole isto,

 

--Function by Ta4e 28/09/2008--

--90% Arena quest in tibia rl--

--Version 4.0--

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

 

--Storages of Arena NPC--

greenhorn = 5000

scrapper = 5001

warlord = 5002

 

starting={x=1132, y=882, z=7, stackpos=253}

ending={x=1176, y=929, z=7, stackpos=253}

trash= {x=1169, y=725, z=13}

 

 

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

greenhornstatus = getPlayerStorageValue(cid,greenhorn)

scrapperstatus = getPlayerStorageValue(cid,scrapper)

warlordstatus = getPlayerStorageValue(cid,warlord)

checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}

 

if item.itemid == 5132 and item.actionid == 60000 then

if warlordstatus == 1 or scrapperstatus == 1 or greenhornstatus == 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

current=0

repeat

current=current+1

doTeleportThing(monster[current],trash)

until current>=totalmonsters

 

doTransformItem(item.uid, 5133)

doTeleportThing(cid, toPosition, TRUE)

 

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need permission of Halvar to enter in Arena.")

end

 

end

end

 

Explicando script door.lua:

 

starting={x=1132, y=882, z=7, stackpos=253} Coloque aqui a posição maxima de onde começa a arena ending={x=1176, y=929, z=7, stackpos=253}

Coloque aqui a posição maxima de onde termina a arena trash= {x=1169, y=725, z=13}

???? lixo, coloque bem escondido

Veja a foto explicando o Starting e Ending. Tando faz se for de cima pra baixo, quanto de baixo pra cima

xezkq6.gif

 

Use isto se der erro, abra o arquivo door.lua dentro da pasta others.

Troque este

if isInArray(questDoors, item.itemid) == TRUE then

if getPlayerStorageValue(cid, item.actionid) ~= -1 then

por este

if isInArray(questDoors, item.itemid) == TRUE and itemEx.actionid < 59999 then

if getPlayerStorageValue(cid, item.actionid) >= 1 then

 

Abra action.xml e adicione isto:

<action uniqueid="5300" script="Reward.lua" />

<action uniqueid="5301" script="Reward.lua" />

<action uniqueid="5302" script="Reward.lua" />

<action uniqueid="5303" script="Reward.lua" />

<action uniqueid="5304" script="Reward.lua" />

<action uniqueid="5305" script="Reward.lua" />

<action uniqueid="5306" script="Reward.lua" />

<action uniqueid="5307" script="Reward.lua" />

<action uniqueid="5308" script="Reward.lua" />

<action uniqueid="5309" script="Reward.lua" />

<action uniqueid="5310" script="Reward.lua" />

<action uniqueid="5311" script="Reward.lua" />

<action uniqueid="5312" script="Reward.lua" />

<action uniqueid="5313" script="Reward.lua" />

<action uniqueid="5314" script="Reward.lua" />

<action actionid="60000" script="arena door.lua"/>

 

O npc:

<npc name="Halvar" script="data/npc/scripts/arena.lua" floorchange="0" access="5">

<health now="150" max="150"/>

<look type="143" head="2" body="112" legs="78" feet="116" addons="2" corpse="2212"/>

 

 

<parameters>

<parameter key="message_greet" value="Hello competitor! Do you want to {fight} in the arena or shall I explain the {rules} first "/>

</parameters></npc>

 

script

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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

 

if msgcontains(msg, 'fight') then

selfSay('So you agree to the rules and want to participate in the challenge? Which difficulty do you choose, {Greenhorn}, {Scrapper} or {Warlord}?', cid)

talkState[talkUser] = 2

 

elseif msgcontains(msg, 'rules') then

selfSay('What do you want to know? Something about the three different {DIFICULTIES}, the {GENERAL} rules or the {PRICES}? Maybe you also want to know what happens when you die?', cid)

talkState[talkUser] = 1

 

elseif talkState[talkUser] == 1 then

if msgcontains(msg, 'dificulties') then

selfSay('We have three difficulty. The easiest are Greenhorn, the medium are scrapper and the hardest are warlord.', cid)

talkState[talkUser] = 0

 

 

elseif msgcontains(msg, 'general') then

selfSay('Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack.If you enter in arena or you win or you go to temple.', cid)

talkState[talkUser] = 0

 

 

elseif msgcontains(msg, 'prices') then

selfSay('A greenhorn cost 1000 gold, scrapper cost 5000 golds and a great warlord cost 10000 golds.', cid)

talkState[talkUser] = 0

end

 

 

 

 

elseif talkState[talkUser] == 2 then

if msgcontains(msg, 'greenhorn') then

selfSay('The fee is 1000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse andyour backpack. Do you really want to participate in the arena in the easiest difficulty?', cid)

talkState[talkUser] = 3

 

 

elseif msgcontains(msg, 'scrapper') then

selfSay('The fee is 5000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack. Do you really want to participate in the arena in the medium difficulty?', cid)

talkState[talkUser] = 4

 

 

elseif msgcontains(msg, 'warlord') then

selfSay('The fee is 10000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack. Do you really want to participate in the arena in the hardest difficulty?', cid)

talkState[talkUser] = 5

end

 

 

elseif talkState[talkUser] == 3 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,5005) == -1 then

if(doPlayerRemoveMoney(cid, 1000) == TRUE) then

setPlayerStorageValue(cid,5000,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

elseif talkState[talkUser] == 4 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,5006) == -1 then

if(doPlayerRemoveMoney(cid, 5000) == TRUE) then

setPlayerStorageValue(cid,5001,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

elseif talkState[talkUser] == 5 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,5007) == -1 then

if(doPlayerRemoveMoney(cid, 10000) == TRUE) then

setPlayerStorageValue(cid,5002,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

 

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('Ok then.', cid)

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Para quem quer adicionar actionid a porta para pessoa só passa se tiver comprando o "passe" da arena segue as actionsid:

5000,5001 e 5002 (greenhorn, scrapper e warlord)

 

As actionid das recompensa não vou passar, pois duas ou mais estao erradas, ai voçês arrumam e colocam seus premio.

 

 

Fim de tuto xD

 

Lembrando que isto é para ajudar a entender.

 

 

 

Te mais povo, hehe minha primeira explicação.

 

 

Editado por Kubikirirenan
Link para o comentário
Compartilhar em outros sites

Shnissugah5

tenhu umas dúvidas:

esse teleport eh da warlord, scrapper ou da outra?

 

Esta é arena só precisa de um teleporte, o que vai fazer a diferença é o npc, ele que vai dar o "passe" para a arena desejada.

 

e oq eh esses stackpos?

Isto não sei te dizer, sou novo no ramo de otserver, estou apredendo muito ainda. Mas sobre este só sei que não precisa mecher.

Fora isto, leia algum tutorial pois não sou professor de ninguem.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 4 weeks later...

Cara tenhu umas duvidas... por favor me ajude!

 

tipo essa "Posiçoes de teleport" é o tp da pedra ou eh o tp pra desistir?

 

_____________________________________________________________

 

e cara sabe esse coiso ai de:

arenapos2={x=arenapos.x-12, y=arenapos.y, z=arenapos.z, stackpos = 1}

tipo eu tenho q dexa assim:

arenapos2={x=arenapos.868, y=arenapos.727, z=arenapos.7, stackpos = 1}

ou assim?

arenapos2={x=868, y=727, z=7, stackpos = 1}

 

_____________________________________________________________

 

 

tipo minha arena é 10 x 10 sqm's

e a distancia de uma "sala" pra outra é de 4 sqm's...

ta certo?

 

me ajuda! :cry:

n esquenta n, seu post ta otimo,

so eu q tenho problema de entender :tongue:

flw

vlw ae

Editado por Sematico
Link para o comentário
Compartilhar em outros sites

@Sematico

 

Soa coodernadas dos portais para cada fase da arena, onde ira aparece os portais para ele passa de uma arena para outra, deve se colocar as codernadas debaixo da pedra, para que a pedra suma e aparece o portal.

 

@Bugh

Nao precisa coloca mesmo, e so fexar sem coloca ela, que vai esta tudo ok

 

@Stormwind

Eu uso tfs 0.2 tambem, aqui esta tudo certo, veja se voce nao coloco algo errado.

Link para o comentário
Compartilhar em outros sites

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