kubikiri 0 Postado Dezembro 16, 2008 Share Postado Dezembro 16, 2008 (editado) 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 aquiMas 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.rarPesso 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 postoudetalhes 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 -------------------------------------------------------------------------------------------------- Começando a criar a Arena 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. 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: È 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, 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. 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 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 Janeiro 11, 2009 por Kubikirirenan Link para o comentário Compartilhar em outros sites More sharing options...
BillyBola 1 Postado Dezembro 16, 2008 Share Postado Dezembro 16, 2008 Nossa. Bem feito, organizado e bonito. Parabéns. Link para o comentário Compartilhar em outros sites More sharing options...
tozinho123 0 Postado Dezembro 18, 2008 Share Postado Dezembro 18, 2008 noss cara muitoo bom ajudo muito quem n conseguio "instalar" a arena =D Link para o comentário Compartilhar em outros sites More sharing options...
Shnissugah5 0 Postado Dezembro 23, 2008 Share Postado Dezembro 23, 2008 arenaroom={x=1205,y=934, z=7, stackpos =253} - posição do teleport que ira para a primeira arena-- tenhu umas dúvidas: esse teleport eh da warlord, scrapper ou da outra? e oq eh esses stackpos? Link para o comentário Compartilhar em outros sites More sharing options...
kubikiri 0 Postado Dezembro 25, 2008 Autor Share Postado Dezembro 25, 2008 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 More sharing options...
profelezio 0 Postado Dezembro 29, 2008 Share Postado Dezembro 29, 2008 Pow muito bem expliado!!! Brigadão cara... Perfeito!! Link para o comentário Compartilhar em outros sites More sharing options...
lucashgas 53 Postado Janeiro 11, 2009 Share Postado Janeiro 11, 2009 funciona em otservs 8.4? Link para o comentário Compartilhar em outros sites More sharing options...
kubikiri 0 Postado Janeiro 11, 2009 Autor Share Postado Janeiro 11, 2009 Pode ter certeza que sim, passei meu ot para 8.4 e esta tudo ok com ela. Testei a poucos dias a arena depois do update. Link para o comentário Compartilhar em outros sites More sharing options...
Sematico 17 Postado Fevereiro 8, 2009 Share Postado Fevereiro 8, 2009 (editado) 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! n esquenta n, seu post ta otimo, so eu q tenho problema de entender flw vlw ae Editado Fevereiro 8, 2009 por Sematico Link para o comentário Compartilhar em outros sites More sharing options...
flavio12 0 Postado Fevereiro 15, 2009 Share Postado Fevereiro 15, 2009 (editado) tenho um problema vc disse q nao é pra por cordenadas no tp q da acesso a arena mais quando vo por actionID nele diz que eu preciso colocar cordenadas e agora? Editado Fevereiro 24, 2009 por Bugh Link para o comentário Compartilhar em outros sites More sharing options...
Stormwind 0 Postado Fevereiro 16, 2009 Share Postado Fevereiro 16, 2009 Xiii... aqui não deu não.. O server não conseguiu carregar o lib/movements.xml.. e eu coloquei as coordenadas todas certas! :B To usando TFS 0.2.. tem alguma relação? =O Link para o comentário Compartilhar em outros sites More sharing options...
kubos2010 0 Postado Fevereiro 17, 2009 Share Postado Fevereiro 17, 2009 @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 More sharing options...
flavio12 0 Postado Fevereiro 17, 2009 Share Postado Fevereiro 17, 2009 @BughNao precisa coloca mesmo, e so fexar sem coloca ela, que vai esta tudo ok é isso q tento mais da um erro dizendo q eu tenho q por coordenada alem disso nao abriu o movements/lib =( Link para o comentário Compartilhar em outros sites More sharing options...
Sorokaba 0 Postado Fevereiro 24, 2009 Share Postado Fevereiro 24, 2009 aqui tmb nao deu certo, nao carregou o movements da pasta lib uso TFS 0.2, mas o mapa ta na versao 8.31, se eu coloco na 8.4 o server nem abre =/ Link para o comentário Compartilhar em outros sites More sharing options...
fernandobacate 0 Postado Abril 19, 2009 Share Postado Abril 19, 2009 fiz tudo certinho coloquei as coordenadas, editei os XML os LUA, e na hora de rodar o server [19/04/2009 06:39:11] [Warning - BaseEvents::loadFromXml] Can not load movements/lib/movements.lua ajuda Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados