Ir para conteúdo

Eventide

Cavaleiro
  • Total de itens

    189
  • Registro em

  • Última visita

Tudo que Eventide postou

  1. @miupinho Quer participar ainda? Me manda algum canal pra gente conversar, prefiro facebook, mas te adc no skype. @miupinho Quer participar ainda? Me manda algum canal pra gente conversar, prefiro facebook, mas te adc no skype.
  2. Layout de OTC que estou desenvolvendo, ainda pretendo mexer em muita coisa, principalmente esses bugs na textura que se vendiam como seamless mas não são porra nenhuma(ou eu tô usando muito errado rs)
  3. Massa! Mas eu já fechei com o Farathor... Caso a gente decida fazer um trio ao invés de uma dupla eu entro em contato com você. =D Sinceramente desconfio que seja trabalho demais pra 1 mapper e meio... rs
  4. Tá adc, pode apagar senão vão colocar seu face em chat homossexual ahsiulshuihsu
  5. Por mim tudo bem, mas, não garanto que você vai ficar fodão, "garanto" que você vai saber o basicão que eu citei, que é algo que QUALQUER UM minimamente inteligente pode aprender, mas me manda uns mapas seus pra eu ver, pode ser aqui no tópico ou por MP, pode me mandar seu Facebook por MP se quiser também. ps: Lua não é um acrônimo
  6. Preciso de um mapper, não precisa ser fodão, não é showoff É PRODUÇÃO, precisa só mapear rápido, funcionalmente e com boa noção de level design! Pretendo ajudar fazendo meus próprios mapas, mas você irá revisá-los depois. Saber o BÁSICO de scripting ou spriting é um diferencial, entende-se por básicão no scripting: fazer NPCs e/ou magias simples, feijão com arroz mesmo, precisa nem entender o que tá fazendo, só copiar, colar e editar uma coisinha aqui e ali. "Mas Eventide, quem é você?!" Sou programador e scripter, gabaritado, cheguei a cursar Ciências da Computação por 1 ano(dropei e mudei de curso), mexo com Lua insanamente sem parar há quase 10 anos e trabalho profissionalmente com web como freelancer há 4 anos, não sou nenhuma criança iludida não, pode confiar! =D "Tá, mas que projeto é esse?!" O nome era Dimension Door, e era um 3D aRPG single player com engine própria e tudo mais, até que eu percebi que demoraria 10 anos pra chegar na metade da porra toda e resolvi dropar tudo e transformá-lo em um OT! O nome Dimension Door não faz mais sentido, pois a funcionalidade que levava a esse nome foi abandonada nesse novo projeto, que, por enquanto, se chama Gaenos. A mecânica desse jogo será um pouco diferente, vou enumerar as principais features: -> Ausência total de vocação/classe, o jogador tem total liberdade pra construir seu personagem como quiser -> Sem pots, cura só no regen ou magia -> Para de upar no nível 200, sem reset, depois disso fica mais forte quem construiu melhor o personagem, tem itens melhores ou melhores títulos -> Sistema de títulos, funciona quase como uma classe, um título dá bônus em certas coisas e desbloqueia um outfit, cada título pode ter 3 níveis, sendo que no 2° desbloqueia addon 1 e no 3° addon 2, títulos serão infinitamente acumuláveis, porém só poderão estar ativos um determinado n° simultaneamente(eu penso em três, por agora), o título de um personagem aparecerá no lugar da descrição da vocação quando alguém olha o personagem, por exemplo, se eu tenho os títulos "Count", "Dark" e "Assassin", se eu olhar pra mim mesmo vai aparecer "You see yourself. You are Count Dark Assassin.". Títulos serão obtidos por quests. -> Magias serão obtidas através de livros e pergaminhos, cada livro pode conter infinitas magias, pergaminhos apenas uma, ambos obtidos em quests, talvez alguns pergaminhos bem básicos podem ser adquiridos em lojinhas, talvez, é algo a se pensar. -> Atributos e distribuição de pontos a cada novo nível, eu até tinha quais seriam esses atributos, características deles e tudo mais no "GDD" do projeto antigo, mas eu esqueci de salvar essa parte então isso vai ter que ser repensado. -> Sem skills! Nem ao menos ML? NEM AO MENOS ML! Por que? Porque é um sistema chato pra caralho, treinar é uma bosta e não faz o mínimo sentido um personagem ser mais forte que outro porque consegue ficar mais tempo AFK. -> Sistema de reputação. É simples, fez quest? Ganha reputação. Ganhou um título ou nível no título? Ganhou reputação. Matou um boss? Reputação. Pra que serve essa porra? Pra substituir o level no highscore, só isso. "Só isso? Não tem nenhum sistema inovador fodão?" Pode até vir a ter alguma coisa, mas, até o lançamento, focaremos no básico, quests, magia e mecânica do jogo, depois podemos pensar em sistemas complementares que enchem os olhos, já tenho alguns em mente mas é melhor não especular muito. "É tudo por quest? Eu vou pirar de tanto mapear!" Sim, o jogo vai ser focado em quest, por isso que eu disse, mapper rápido e funcional, não mapper de showoff, não adianta nada você ser um Chau da vida, não serve pro meu projeto. "Quem é que vai bancar essa porra toda?" Eu mesmo, vou pagar os primeiros meses de host sozinho. "O que eu ganho com isso?" Agora? Absolutamente nada. Depois, com o servidor online, você será ADM e usufruirá de uma porcentagem dos lucros(aquilo que sobrar do host+caixinha), porcentagem tal que podemos discutir posteriormente, agora o foco não é esse, esquece a grana fião, cê não vai enriquecer com OT não, no máximo comprar aquela placa de vídeo usada que cê fica babando no mercado livre igual cachorro no açougue. Poste seus mapas, duvidas e considerações aqui.
  7. A introdução não se correlaciona bem com o desenvolvimento, poderia ter citado Snowden ao invés de Balman(foge do senso comum e se correlaciona melhor com o tema), texto curto demais e com pouco conteúdo, intervenção comum demais, erros de português bobos, redação claramente feita com pressa. Mas relaxa, a nota da redação é overated, só vai te ferrar se a nota for muito baixa.
  8. Nunca existiu servidor custom DE VERDADE que durasse com muitos players online, apenas projetos que não saem do papel, ou, quando saem se autodestroem por ter uma equipe de merda, se você considera qualquer serv com mapa próprio custom, então baiak é custom.
  9. Já faz um tempo que não mexo com OT, mas me veio uma ideia na cabeça e eu quero fazer um OT com ela. Na minha época, TFS 0.4 era relativamente novo e muita gente, inclusive eu, preferia o 0.3 por ser supostamente mais estável, o mesmo ocorre com o 1.x ou muito pelo contrário? Vale a pena esquecer tudo que eu sei e reaprender com o 1.x? O que ele trás de novo? Percebi que o sistema de scripting mudou bastante ao ler alguns por aí, não sei dizer se gosto da mudança, mas que possibilidades novas ela trás?
  10. Levar a outro nível é uma coisa, viajar na maionese é outra, pra transformar OT em 3D teria que mudar 90% do OTC e no mínimo metade do TFS, dá pra perceber que vocês dois não fazem a mínima ideia do que é criar um jogo 3D, a ideia é simplesmente absurda. O que dá pra ser feito, é repensar todos os efeitos de magia do Tibia em particles e shaders, só isso já é um trampo do caralho, mesmo com o OTC dando suporte a particles.
  11. Não tenho certeza do que tô falando, vou apenas especular... Talvez o valor que retorne quando você pega a velocidade da criatura seja a velocidade atual, modificada, que está negativa, e, talvez, esse valor esteja marcado como unsigned na source, se tornando 0 ou NULL, tente pegar esse valor antes de mudá-lo, caso retorne normal, coloque-o em um storage.
  12. Mano, te dar uma dica, não tem porque vincular o nome Runescape ao seu jogo, você pode até copiar toda a jogabilidade, ou usar como base, mas um OT de Runescape não faz o mínimo sentido.
  13. um jogo "praticamente" open source com 60k jogadores estar morrendo eh meio exagero né
  14. sou programador, designer, webmaster, scripter e mapper quebra galho, me manda pm com alguma forma de contato, pode ser skype, facebook ou irc
  15. O cara administra um fórum de Tibia e nem sabe o que é Phobos... Vergonhoso.
  16. Muito massa, fui olhar seu script bem quando eu to ralando pra fazer uma manipulação de string aqui, nunca fui bom nisso... =|
  17. Muita coragem... huehuehue Muito difícil conflitar storages, só aconteceu uma vez comigo...
  18. Eu estou fazendo um mapa no RME e estou usando algumas sprites de raw->others e nessas ele confunde as IDs, quando eu faço o mapa tá lá tudo certinho mas quando eu coloco pra rodar no tibia as sprites estão diferentes das que eu coloquei, como arrumar isso? Desconfio que seja algo relacionado ao RME precisar do .dat e do .spr do cliente baixado do site, alias, alguém sabe o porque dessa necessidade?
  19. Esse tipo de mistura com esses tipos de paredes fica feio pra caralho. Faltou colocar as IDs tbm...
  20. Vou postar aqui o script da Arena Svargrond, algumas partes do script foram baseadas no script do Gesior. XML do NPC: <npc name="Halvar" script="data/npc/scripts/arena.lua" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"/> </npc> O looktype não está muito certo, se você tiver o certo poste que eu substituo... Script do NPC: (crie com o nome de arena.lua) local focuses = {} local function isFocused(cid) for i, v in pairs(focuses) do if(v == cid) then return true end end return false end local function addFocus(cid) if(not isFocused(cid)) then table.insert(focuses, cid) end end local function removeFocus(cid) for i, v in pairs(focuses) do if(v == cid) then table.remove(focuses, i) break end end end local function lookAtFocus() for i, v in pairs(focuses) do if(isPlayer(v)) then doNpcSetCreatureFocus(v) return end end doNpcSetCreatureFocus(0) end local function getPlayerMoney(cid) return ((getPlayerItemCount(cid, 2160) * 10000) + (getPlayerItemCount(cid, 2152) * 100) + getPlayerItemCount(cid, 2148)) end function onCreatureAppear(cid) end function onCreatureDisappear(cid) if(isFocused(cid)) then selfSay("Hmph!") removeFocus(cid) end end talkstate = 0 function onCreatureSay(cid, type, msg) if((msg == "hi") and not (isFocused(cid))) then addFocus(cid) selfSay("Welcome, ".. getCreatureName(cid) ..". Do you wanna fight at the Arena?", cid) talkstate = 1 elseif isFocused(cid) and talkstate == 1 and msg == "yes" then completed = getPlayerStorageValue(cid, arenaconf.storages.level_completed) current = getPlayerStorageValue(cid, arenaconf.storages.level) money = getPlayerMoney(cid) if getGlobalStorageValue(arenaconf.storages.busy) == -1 then if completed == -1 and current == -1 then if money >= arenaconf.cost[1] then setPlayerStorageValue(cid, arenaconf.storages.level, 1) setPlayerStorageValue(cid, arenaconf.storages.room, 1) current = 1 doPlayerRemoveMoney(cid, arenaconf.cost[1]) selfSay("You will fight at Greenshore level, good luck!", cid) else selfSay("You don't have enough money, you need ".. arenaconf.cost[1] .."gp to fight.", cid) end elseif current == -1 and completed ~= -1 and completed ~= 3 then if money >= arenaconf.cost[completed+1] then setPlayerStorageValue(cid, arenaconf.storages.level, completed+1) setPlayerStorageValue(cid, arenaconf.storages.room, 1) current = completed+1 doPlayerRemoveMoney(cid, arenaconf.cost[current]) selfSay("You will fight at ".. arenaconf.levelname[current] .." level, good luck!", cid) else selfSay("You don't have enough money, you need ".. arenaconf.cost[completed+1] .."gp to fight.", cid) end elseif completed == 3 then selfSay("You already did every arena level.", cid) end else selfSay("Sorry but there is another adventurer fighting right now.", cid) end end end function onPlayerCloseChannel(cid) if(isFocused(cid)) then selfSay("Hmph!") removeFocus(cid) end end function onThink() for i, focus in pairs(focuses) do if(not isCreature(focus)) then removeFocus(focus) else local distance = getDistanceTo(focus) or -1 if((distance > 4) or (distance == -1)) then selfSay("Hmph!") removeFocus(focus) end end end lookAtFocus() end no movements.xml adicione: <movevent type="StepIn" actionid="42321" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42300" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42301" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42302" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42303" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42304" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42305" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42306" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42307" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42308" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42309" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42310" event="script" value="arena teleports.lua"/> <movevent type="StepIn" actionid="42360" event="script" value="arena globet.lua"/> <movevent type="StepOut" actionid="42360" event="script" value="arena globet.lua"/> <movevent type="StepIn" actionid="42370" event="script" value="arena globet.lua"/> <movevent type="StepOut" actionid="42370" event="script" value="arena globet.lua"/> <movevent type="StepIn" actionid="42380" event="script" value="arena globet.lua"/> <movevent type="StepOut" actionid="42380" event="script" value="arena globet.lua"/> crie um arquivo chamado "arena teleports.lua" e adicione: function onStepIn(cid, item, position, fromPosition) room = getPlayerStorageValue(cid, arenaconf.storages.room) level = getPlayerStorageValue(cid, arenaconf.storages.level) if item.actionid == 42321 then setPlayerStorageValue(cid, arenaconf.storages.room, -1) setPlayerStorageValue(cid, arenaconf.storages.level, -1) setGlobalStorageValue(arenaconf.storages.busy, -1) if getCreatureByName(arenaconf.boss[level][room]) ~= nil then doRemoveCreature(getCreatureByName(arenaconf.boss[level][room]), false) end doTeleportThing(cid, arenaconf.position["kick"]) elseif room == 10 and isCreature(getCreatureByName(arenaconf.boss[level][10])) == false then setPlayerStorageValue(cid, arenaconf.storages.room, -1) setPlayerStorageValue(cid, arenaconf.storages.level_completed, level) setPlayerStorageValue(cid, arenaconf.storages.level, -1) setGlobalStorageValue(arenaconf.storages.busy, -1) doTeleportThing(cid, arenaconf.position["rewards"]) elseif room < 10 and item.actionid ~= 42300 and isCreature(getCreatureByName(arenaconf.boss[level][room])) == false then setPlayerStorageValue(cid, arenaconf.storages.room, room+1) room = room+1 setGlobalStorageValue(arenaconf.storages.busy, 1) local pos = arenaconf.position[room] doCreateMonster(arenaconf.boss[level][room], pos) doTeleportThing(cid, {x = (pos.x+1), y = pos.y, z = pos.z}) elseif item.actionid == 42300 then local pos = arenaconf.position[room] doCreateMonster(arenaconf.boss[level][room], pos) doTeleportThing(cid, {x = (pos.x+1), y = pos.y, z = pos.z}) end return true end Crie um arquivo chamado "arena globet.lua" e adicione: STORAGE_GLOBET = {arenaconf.storage_init+6, arenaconf.storage_init+7, arenaconf.storage_init+8} function onStepIn(cid, item, position, fromPosition) local gobletPos = getThingPos(item.uid) level = getPlayerStorageValue(cid, arenaconf.storages.level_completed) glob = getPlayerStorageValue(cid, STORAGE_GLOBET[level]) if item.actionid == 42360 and glob == -1 then if level == 1 then setPlayerStorageValue(cid, STORAGE_GLOBET[1], 1) local goblet = doCreateItemEx(5807, 1) doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena greenhorn difficulty.\nAwarded to " .. getCreatureName(cid) .. ".") doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet) end elseif item.actionid == 42370 and glob == -1 then if level == 2 then setPlayerStorageValue(cid, STORAGE_GLOBET[2], 1) local goblet = doCreateItemEx(5806, 1) doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena scrapper difficulty.\nAwarded to " .. getCreatureName(cid) .. ".") doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet) end elseif item.actionid == 42380 and glob == -1 then if level == 3 then setPlayerStorageValue(cid, STORAGE_GLOBET[3], 1) local goblet = doCreateItemEx(5805, 1) doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena warlord difficulty.\nAwarded to " .. getCreatureName(cid) .. ".") doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet) end end doTransformItem(item.uid, item.itemid - 1) return TRUE end function onStepOut(cid, item, pos) doTransformItem(item.uid, item.itemid + 1) return TRUE end Vá no actions.xml e adicione: <action actionid="42357" event="script" value="global/arena doors.lua"/> <action actionid="42366" event="script" value="global/arena doors.lua"/> <action actionid="42376" event="script" value="global/arena doors.lua"/> <action actionid="42386" event="script" value="global/arena doors.lua"/> <action actionid="42361" event="script" value="global/arena presentbox.lua"/> <action actionid="42362" event="script" value="global/arena sword.lua"/> <action actionid="42363" event="script" value="global/arena axe.lua"/> <action actionid="42364" event="script" value="global/arena club.lua"/> <action actionid="42365" event="script" value="global/arena backpack.lua"/> <action actionid="42371" event="script" value="global/arena presentbox.lua"/> <action actionid="42372" event="script" value="global/arena sword.lua"/> <action actionid="42373" event="script" value="global/arena axe.lua"/> <action actionid="42374" event="script" value="global/arena club.lua"/> <action actionid="42375" event="script" value="global/arena backpack.lua"/> <action actionid="42381" event="script" value="global/arena presentbox.lua"/> <action actionid="42382" event="script" value="global/arena sword.lua"/> <action actionid="42383" event="script" value="global/arena axe.lua"/> <action actionid="42384" event="script" value="global/arena club.lua"/> <action actionid="42385" event="script" value="global/arena backpack.lua"/> Crie um arquivo chamado "arena doors.lua" e adicione nele: function onUse(cid, item, fromPosition, itemEx, toPosition) local cidPosition = getCreaturePosition(cid) if item.actionid ~= 42357 then if (item.actionid == 42366 and getPlayerStorageValue(cid, arenaconf.storages.level_completed) == 1) or (item.actionid == 42376 and getPlayerStorageValue(cid, arenaconf.storages.level_completed) == 2) or (item.actionid == 42386 and getPlayerStorageValue(cid, arenaconf.storages.level_completed) == 3) then if cidPosition.x < toPosition.x then doTeleportThing(cid, {x=toPosition.x+1,y=toPosition.y,z=toPosition.z}, TRUE) else doTeleportThing(cid, {x=toPosition.x-1,y=toPosition.y,z=toPosition.z}, TRUE) end return TRUE else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not enter room.") return TRUE end elseif (item.actionid == 42357 and getPlayerStorageValue(cid, arenaconf.storages.level) ~= -1 and getGlobalStorageValue(arenaconf.storages.busy) == -1) then setGlobalStorageValue(arenaconf.storages.busy, 1) if cidPosition.x < toPosition.x then doTeleportThing(cid, {x=toPosition.x+1,y=toPosition.y,z=toPosition.z}, TRUE) else doTeleportThing(cid, {x=toPosition.x-1,y=toPosition.y,z=toPosition.z}, TRUE) end return TRUE else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You must pay first.") return TRUE end return FALSE end Crie um arquivo chamdo "arena sword.lua" e adicione: STORAGE_CHEST = {arenaconf.storage_init+3, arenaconf.storage_init+4, arenaconf.storage_init+5} function onUse(cid, item, fromPosition, itemEx, toPosition) level = getPlayerStorageValue(cid, arenaconf.storages.level_completed) if getPlayerStorageValue(cid, STORAGE_CHEST[level]) == -1 then setPlayerStorageValue(cid, STORAGE_CHEST[level], 1) doPlayerAddItem(cid, getItemIdByName(arenaconf.reward["sword"][level])) return true end return true end Crie um arquivo com o nome de "arena axe.lua" e adicione: STORAGE_CHEST = {arenaconf.storage_init+3, arenaconf.storage_init+4, arenaconf.storage_init+5} function onUse(cid, item, fromPosition, itemEx, toPosition) level = getPlayerStorageValue(cid, arenaconf.storages.level_completed) if getPlayerStorageValue(cid, STORAGE_CHEST[level]) == -1 then setPlayerStorageValue(cid, STORAGE_CHEST[level], 1) doPlayerAddItem(cid, getItemIdByName(arenaconf.reward["axe"][level])) return true end return true end Crie um arquivo chamado "arena club.lua" e coloque nele: STORAGE_CHEST = {arenaconf.storage_init+3, arenaconf.storage_init+4, arenaconf.storage_init+5} function onUse(cid, item, fromPosition, itemEx, toPosition) level = getPlayerStorageValue(cid, arenaconf.storages.level_completed) if getPlayerStorageValue(cid, STORAGE_CHEST[level]) == -1 then setPlayerStorageValue(cid, STORAGE_CHEST[level], 1) doPlayerAddItem(cid, getItemIdByName(arenaconf.reward["club"][level])) return true end return true end Crie um arquivo chamado "arena presentbox.lua" e coloque isso nele: STORAGE_CHEST = {arenaconf.storage_init+3, arenaconf.storage_init+4, arenaconf.storage_init+5} function onUse(cid, item, fromPosition, itemEx, toPosition) level = getPlayerStorageValue(cid, arenaconf.storages.level_completed) if getPlayerStorageValue(cid, STORAGE_CHEST[level]) == -1 then setPlayerStorageValue(cid, STORAGE_CHEST[level], 1) pb = doPlayerAddItem(cid, 1990) for t = 1,#arenaconf.reward["presentbox"][level] do doAddContainerItem(pb, getItemIdByName(arenaconf.reward["presentbox"][level][t][1]), arenaconf.reward["presentbox"][level][t][2]) end return true end return true end Crie um arquivo chamdo "arena backpack.lua" e coloque isso nele: STORAGE_CHEST = {arenaconf.storage_init+3, arenaconf.storage_init+4, arenaconf.storage_init+5} function onUse(cid, item, fromPosition, itemEx, toPosition) level = getPlayerStorageValue(cid, arenaconf.storages.level_completed) if getPlayerStorageValue(cid, STORAGE_CHEST[level]) == -1 then setPlayerStorageValue(cid, STORAGE_CHEST[level], 1) bp = doPlayerAddItem(cid, 7342) for t = 1,#arenaconf.reward["backpack"][level] do doAddContainerItem(bp, getItemIdByName(arenaconf.reward["backpack"][level][t][1]), arenaconf.reward["backpack"][level][t][2]) end return true end return true end Agora neste código é que você configurará informações como a posição das salas dos bixos, a sala de recompensas, pra onde o player será kicado quando desistir e todo o resto: arenaconf = {} arenaconf.storage_init = 60000 arenaconf.storages = {} arenaconf.storages.busy = arenaconf.storage_init -- global storage arenaconf.storages.level = arenaconf.storage_init arenaconf.storages.level_completed = arenaconf.storage_init+1 arenaconf.storages.room = arenaconf.storage_init+2 arenaconf.cost = {1000, 5000, 10000} arenaconf.levelname = {"Greenshore", "Scrapper", "Warlord"} arenaconf.boss = {} arenaconf.boss[1] = {"Achad", "Axeitus Headbanger", "Bloodpaw", "Bovinus", "Colerian the Barbarian", "Cursed Gladiator", "Frostfur", "Orcus the Cruel", "Rocky", "The Hairy One"} arenaconf.boss[2] = {"Avalanche", "Drasilia", "Grimgor Guteater", "Kreebosh the Exile", "Slim", "Spirit of Earth", "Spirit of Fire", "Spirit of Water", "The Dark Sorcerer", "The Hag"} arenaconf.boss[3] = {"Darakan the Executioner", "Deathbringer", "Fallen Mooh'Tah Master Ghar", "Gnorre Chyllson", "Norgle Glacierbeard", "Svoren the Mad", "The Masked Marauder", "The Obliverator", "The Pit Lord", "Webster"} arenaconf.position = {} arenaconf.position[1] = {x = 1059, y = 1067, z = 7} arenaconf.position[2] = {x = 1044, y = 1067, z = 7} arenaconf.position[3] = {x = 1030, y = 1067, z = 7} arenaconf.position[4] = {x = 1016, y = 1067, z = 7} arenaconf.position[5] = {x = 1053, y = 1051, z = 7} arenaconf.position[6] = {x = 1038, y = 1051, z = 7} arenaconf.position[7] = {x = 1023, y = 1051, z = 7} arenaconf.position[8] = {x = 1045, y = 1039, z = 7} arenaconf.position[9] = {x = 1030, y = 1039, z = 7} arenaconf.position[10] = {x = 1037, y = 1025, z = 7} arenaconf.position["kick"] = {x = 32222, y = 31094, z = 7} arenaconf.position["rewards"] = {x = 1071, y = 1049, z = 6} arenaconf.reward = {} arenaconf.reward["presentbox"] = {} arenaconf.reward["presentbox"][1] = {{"Piggy Bank", 1}, {"Surprise Bag", 1}, {"Bar of Chocolate", 1}, {"Candy", 10}, {"Ice Cream", 1}} arenaconf.reward["presentbox"][2] = {{"Baby Seal Doll", 1}, {"Bar of Chocolate", 1}, {"Ice Cream", 1}, {"Candy", 10}} arenaconf.reward["presentbox"][3] = {{"Panda Teddy", 1}, {"Bar of Chocolate", 1}, {"Ice Cream", 1}, {"Candy", 10}} arenaconf.reward["backpack"] = {} arenaconf.reward["backpack"][1] = {{"Sniper Arrow", 100}, {"Onyx Arrow", 100}} arenaconf.reward["backpack"][2] = {{"great fireball rune", 50}, {"heavy magic missile rune", 50}, {"Power Bolt", 200}, {"Onyx Arrow", 100}} arenaconf.reward["backpack"][3] = {{"Infernal Bolt", 100}, {"Mastermind Potion", 1}, {"Bullseye Potion", 1}, {"Sudden Death Rune", 50}, {"Ultimate Healing Rune", 50}} arenaconf.reward["axe"] = {"Headchopper", "Heroic Axe", "Royal Axe"} arenaconf.reward["sword"] = {"Blacksteel Sword", "Mystic Blade", "Justice Seeker"} arenaconf.reward["club"] = {"Orcish Maul", "Cranial Basher", "Blessed Sceptre"} Esse código você colocará dentro da pasta lib com o nome de arena.lua, depois disso você tem que pegar um código qualquer desta pasta e adicionar isso no começo ou no final: dofile(getDataDir() .. "lib/arena.lua") Clique aqui para baixar o mapa com os actionids já configurados edit: tinha um pequeno problema com o arquivo arena doors.lua que já foi resolvido
  21. Obrigado por move-lo roscas, ele ainda está um pouco incompleto mas vou edita-lo ainda hoje...
  22. As quests da Arena e do Demon Helmet foram arrumadas, a arena só entrará em vigor nesta madrugada pois é necessário reiniciar o servidor.
  23. Tem um erro de recorte na roda esquerda...
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...