Ta bom, da pra melhorar duro trabalho leva o rep.
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- Monster War Arena System 1.0 - By SmiX
Monster War Arena System 1.0 - By SmiX
Por SmiX, 01 de jan. de 2013 em Globalevents e Spells
Obrigado usuário. Quero melhorar mais e mais...
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas

parece legalzinho.. dica: ao invés do user colocar a posição que o bicho vai nascer, faz um random pra nascer em qualquer lugar de dentro da arena
... dae os players num vao ficar esperando resp nas posições corretas ![]()
Obrigado! Mais acho que isso fica meio ruim, até pensei em colocar o math.random() nas posições mais achei melhor não.
Cara não sei se coloquei errado mais eu falo a cmd aqui e ñ funfa, e ñ esta dando erro no serve.
![]()
Editado Janeiro 8 por garep
info
Grupo: Campones
Registrado: 30/11/13
Posts: 7
Reputação: +1

Oi, Sei que já faz Muito Tempo que este Tópico Foi Adicionado no Xtibia, Mas mesmo assim vou perguntar.....
Nos Talkactions, Tenho que adicionar a Tag Nos players..? e eles falam /event Register ?
se for responda por favor!
Outra coisa Qual id Do item que precisa para Registrar... Ou melhor aonde muda, Queria por para 2160. Caso não tenha item para começar só me responda a primeira Valeu ai !
info
Grupo: Visconde
Registrado: 27/01/13
Posts: 443
Reputação: +83
Gênero: Masculino

Editado Dezembro 1 por ScythePhantom
info
Grupo: Infante
Registrado: 28/01/12
Posts: 1.6k
Reputação: +262
Gênero: Masculino

Obrigado! Mais acho que isso fica meio ruim, até pensei em colocar o math.random() nas posições mais achei melhor não.
Eu acho que seria melhor msm, com math.random






info
Grupo: Conde
Registrado: 25/01/12
Posts: 963
Reputação: +265
Olá pessoal, hoje venho postar o meu primeiro evento do ano ^^. Ele é para ots que gostam de comemorar datas especiais, como o ano novo. Vou explicar como ele funciona:
Como funciona tio SmiX?
O evento só começa se tiver "x" players registrados. Como eu vejo muitos scripts de pokémon legais por ai, pensei; "Por que não adpitar um deles para Tibia"?. O evento é chamado de "Monster War Arena". Ela sai invocando monstros em uma "arena" e os players serão teleportado para ela, para killar todos os mostros. Semelhante ao "Golden Arena" da PXG.
Vamos instala-lo?
Não >.<
Vá em (globalevents/scripts) e crie um arquivo chamado "event1.lua" e cole o seguinte código dentro:
function doSummonMonsterInEvent(cid) summonMonster = getGlobalStorageValue(29474) summonMonsterInPos = math.random(arenaPositionInitial, arenaPositionEnd) for g = 1, #monstersPositions do monster = doSummonCreature(levels[summonMonster][g], monstersPositions[g]) doSendMagicEffect(getThingPos(monster), 21) local sto = getGlobalStorageValue(29474) == -1 and 0 or getGlobalStorageValue(29474) setGlobalStorageValue(29474, sto+1) for _, sid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(sid, playerstoragewararena) == 1 then doPlayerSendTextMessage(sid, 21, "The "..summonMonster.." level monsters appeared.") doPlayerSendTextMessage(sid, 28, "The "..summonMonster.." level monsters appeared.") end end end addEvent(doSummonMonsterInEvent, 30000, cid) end function getPlayerInEvent(cid) if getGlobalStorageValue(wararenastor) >= minPLayers then for _, poid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(poid, playerstoragewararena) == 1 then doPlayerSendTextMessage(poid, 25, "Prepare your weapons warrior. The monsters will spawn in 30 seconds.") doTeleportThing(poid, math.random(arenaPositionInitial, arenaPositionEnd), false) addEvent(doSummonMonsterInEvent, 30 * 1000, cid) end end end end function onTimer(cid, interval, lastExecution) setGlobalStorageValue(29474, 1) doBroadcastMessage("The Monster War Arena will start 5 minuts.") addEvent(getPlayerInEvent, 5 * 1000 * 60, cid) endA tag:
Agora vamos em lib e criemos um arquivo chamado "eventArena.lua" e cole isto dentro:
wararenastor = 10101 -- Global storage playerstoragewararena = 10102 -- Npc storage minPLayers = 5 -- Minimo de players arenaPositionInitial = { x = 1, y = 1, z = 1 } -- Posição da ponta inferior direita da arena arenaPositionEnd = { x = 1, y = 1, z = 1 } -- Posição da ponta superior esquerda da arena, formando assim um quadrado; -------- | *| | | |* | -------- local monstersPositions = { { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 },-- posição aonde os monstros vão nescer { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 }, { x = 1, y = 1, z = 1 }, } local levels = { [1] = {monsters = {"Rat", "Cave rat", "Rotworm", "Assassin", "Rat", "Cave rat", "Rotworm", "Assassin", "Zombie", ""}}, --/\ Caso não queira colocar os dez monstros deixe um espaço nas aspas }agora vamos em data/talkactions/scripts, crie um arquivo chamado "event1.lua" e colemos isso dentro:
function onSay(cid, words, param, channel) if param and (param == "register" or param == "Register") then if getPlayerStorageValue(cid, playerstoragewararena) < 1 then if getGlobalStorageValue(wararenastor) > minPLayers then setPlayerStorageValue(cid, playerstoragewararena, 1) doPlayerSendTextMessage(cid, 27, "You are a registred in the event. Good luck!") end end end return true endtag:
Acho que eu esqueci algo, vale lembrar que eu não testei. Preciso da ajuda de vocês para isso. Obrigado.