Postado Julho 31, 2014 10 anos Este é um post popular. 3 Teans and 1 Boss Informações: Abre-se um portal em uma determinada posição que levara os players para uma sala de espera lá eles aguardaram até caírem em outro mapa, separados em 3 times, objetivo, o time que matar o boss primeiro tem direito a entrar na sala de premio e pegar o premio. Descrição: Todo dia as 15:00 horas o script é ativado, aparecera um teleport na posição desejada, ao se passar um tempo pré determinado, se houverem a quantidade de players necessários na sala de espera todos os players na sala de espera serão divididos em 3 times, o time que mais tirar vida do boss terá o privilégio de passar pelo tile com aid 32114, e pegar o premio no bau com o aid 12688. OBS: IMPORTANTE! Colocar piso no-logout em todo mapa utilizado no sistema. Sigam as instruções das linhas que apresentam "-- Alterar". Instalação Vá em data/globalevents/scripts/ e cria um arquivo chamado evento times.lua, dentro dele coloque. function onTime(interval, lastExecution) local players = getPlayersOnline() local conta_players = 0 local player_time = 1 -- ALTERAR quantidade de players por time local pos_teleport = {x = 156, y = 55, z = 7} -- ALTERAR posição em que o teleport vai nascer local pos_espera = {x = 158, y = 52, z = 5} -- ALTERAR posição da sala de espera até iniciar o evento local storage = 873456 -- ALTERAR storage usado no sistema local tempo_espera = 60 * 1000 -- ALTERAR tempo que players vão esperar na sala de espera local pos_topos = { {x = 571, y = 701, z = 7}, -- ALTERAR posição em que o time 1 vai nascer {x = 567, y = 743, z = 7}, -- ALTERAR posição em que o time 2 vai nascer {x = 634, y = 742, z = 7}, -- ALTERAR posição em que o time 3 vai nascer } local pos_templo = {x = 0, y = 0, z = 0} -- ALTERAR posição do templo if #players <= (player_time*3) then print("[************] >> Evento Cancelado - Menos de "..(player_time*3).." players online.") return TRUE end doCreateTeleport(1387, pos_espera, pos_teleport) doBroadcastMessage("Evento de Times Aberto Vocês tem "..(tempo_espera/1000).." segundos para entrar no portal.",22) addEvent( function() local i = 1 local a = 1 local pos_espera1 = {x = 150, y = 39, z = 5} -- ALTERAR posição do canto superior esquerdo da sala de espera local pos_espera2 = {x = 171, y = 59, z = 5} -- ALTERAR posição do canto inferior direito da sala de espera while i <= #players do local pos_player = getPlayerPosition(players) if pos_player.x >= pos_espera1.x and pos_player.y >= pos_espera1.y and pos_player.x <= pos_espera2.x and pos_player.y <= pos_espera2.y then if getPlayerGroupId(players) <= 1 then conta_players = conta_players + 1 end end i = i + 1 end i = 1 if conta_players < (player_time*3) then while i <= #players do local pos_player = getPlayerPosition(players) if pos_player.x >= pos_espera1.x and pos_player.y >= pos_espera1.y and pos_player.x <= pos_espera2.x and pos_player.y <= pos_espera2.y then if getPlayerGroupId(players) <= 1 then doTeleportThing(players, pos_templo) end end i = i + 1 end print("[************] >> Evento Cancelado - Menos de "..(player_time*3).." players na sala de espera.") return TRUE else while i <= #players do local outfit1 = getCreatureOutfit(players) outfit1.lookHead = 81 outfit1.lookBody = 81 outfit1.lookLegs = 81 outfit1.lookFeet = 81 local outfit2 = getCreatureOutfit(players) outfit2.lookHead = 86 outfit2.lookBody = 86 outfit2.lookLegs = 86 outfit2.lookFeet = 86 local outfit3 = getCreatureOutfit(players) outfit3.lookHead = 94 outfit3.lookBody = 94 outfit3.lookLegs = 94 outfit3.lookFeet = 94 local pos_player = getPlayerPosition(players) if pos_player.x >= pos_espera1.x and pos_player.y >= pos_espera1.y and pos_player.x <= pos_espera2.x and pos_player.y <= pos_espera2.y then if getPlayerGroupId(players) <= 1 then if a == 1 then setPlayerStorageValue(players, storage, 1) doTeleportThing(players, pos_topos[1]) doSetCreatureOutfit(players, outfit1, -1) a = 2 else if a == 2 then setPlayerStorageValue(players, storage, 2) doTeleportThing(players, pos_topos[2]) doSetCreatureOutfit(players, outfit2, -1) a = 3 else if a == 3 then setPlayerStorageValue(players, storage, 3) doTeleportThing(players, pos_topos[3]) doSetCreatureOutfit(players, outfit3, -1) a = 1 end end end end end i = i + 1 end doBroadcastMessage("Evento Iniciado, Bora matar o Boss.",22) end end ,tempo_espera) return TRUE end Vá em data/globalevents.xml e adicione a tag. <globalevent name="eventotimes" time="15:00" event="script" value="evento times.lua"/> Vá em data/creaturescripts.xml e adicione a tag. <event type="kill" name="eventotimes" event="script" value="evento times.lua"/> Vá em data/creaturescripts/scripts/ crie um arquivo chamado evento times.lua e coloque isso. function onKill(cid, target, lasthit) if getCreatureName(target) == "Boss" then -- ALTERAR nome do BOSS local storage = 123456 -- ALTERAR storage usado no sistema local players = getPlayersOnline() local storage_p = getPlayerStorageValue(cid, storage) local i = 1 local pos_arena1 = {x = 0, y = 0, z = 0} -- ALTERAR posição do canto superior esquerdo da sala de arena local pos_arena2 = {x = 0, y = 0, z = 0} -- ALTERAR posição do canto inferior direito da sala de arena local pos_templo = {x = 0, y = 0, z = 0} -- ALTERAR posição do templo local tempo = 60 * 1000 -- ALTERAR tempo para o player pegar o premio e vazar da arena antes que ele seja expulso local pos_teleport = {x = 0, y = 0, z = 0} -- ALTERAR posição do teleport para ser retirado mesma do globalevents while i <= #players do local pos_player = getPlayerPosition(players) if pos_player.x >= pos_arena1.x and pos_player.y >= pos_arena1.y and pos_player.x <= pos_arena2.x and pos_player.y <= pos_arena2.y then if getPlayerGroupId(players) <= 1 then if getPlayerStorageValue(players, storage) == storage_p then setPlayerStorageValue(players, storage, 4) doPlayerSendTextMessage(players, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem "..(tempo/1000).." segundos para pegar seu premio e sair.") addEvent(doTeleportThing,tempo,players, pos_templo) else setPlayerStorageValue(players, storage, -1) doTeleportThing(players, pos_templo) doPlayerSendTextMessage(players, MESSAGE_STATUS_CONSOLE_BLUE, "Seu time perdeu o Evento, quem sabe em uma proxima.") end end end doRemoveCondition(players, CONDITION_OUTFIT) i = i + 1 end local item5 = getTileItemById(pos_teleport, 1387) if item5.uid > 0 then doRemoveItem(item5.uid, 1) end end return TRUE end Vá em data/creaturescripts/scripts/ e adicione essa tag no arquivo login.lua. registerCreatureEvent(cid, "eventotimes") Vá em data/movements.xml e adicione a tag. <movevent type="StepIn" actionid="32114" event="script" value="evento times.lua"/> Vá em data/movements/scripts/ e crie um arquivo chamado evento times.lua e coloque isso. function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local storage = 123456 -- ALTERAR storage usado no sistema if getPlayerStorageValue(cid, storage) ~= 4 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não ganhou o Evento.") doTeleportThing(cid, fromPosition, true) return TRUE end return true end Vá em data/actions.xml e adicione a tag. <action actionid="12688" script="evento times.lua"/> Vá em data/actions/scripts/ e crie um arquivo chamado evento times.lua e coloque isso. function onUse(cid, item, frompos, item2, topos) local storage = 123456 -- ALTERAR storage usado no sistema local pos_templo = {x = 0, y = 0, z = 0} -- ALTERAR posição do templo local item = 2160 -- ALTERAR item que vai ganhar de premio local count = 1 -- ALTERAR quantidade de item que vai ganhar if getPlayerStorageValue(cid, storage) == 4 then doPlayerSendTextMessage(cid,22,"Você é um Grande Vitorioso, parabens.") doPlayerAddItem(cid,item,count) doTeleportThing(cid, pos_templo) setPlayerStorageValue(cid,storage,-1) else doTeleportThing(cid, pos_templo) end end Exemplo de Boss. <?xml version="1.0" encoding="UTF-8"?> <monster name="Divine Element" nameDescription="a divine element" race="undead" experience="30000" speed="300" manacost="0"> <health now="150000" max="150000"/> <look type="294" corpse="8946"/> <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/>. <script> <event name="eventotimes"/> </script> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag staticattack="15"/> <flag lightlevel="0"/> <flag lightcolor="0"/> <flag targetdistance="1"/> <flag runonhealth="30"/> </flags> <attacks> <attack name="melee" interval="500" min="-500" max="-800"/> <attack name="lifedrain" interval="5000" min="-1000" max="-1500"/> </attacks> <defenses armor="150" defense="170"/> <elements> <element energyPercent="-30"/> <element earthPercent="-80"/> <element deathPercent="-10"/> </elements> <loot> <item id="12696" countmax="1" chance1="10000" chancemax="0"/> <item id="12697" countmax="1" chance1="500" chancemax="0"/> </loot> <immunities> <immunity physical="0"/> <immunity energy="0"/> <immunity fire="0"/> <immunity poison="0"/> <immunity lifedrain="0"/> <immunity paralyze="0"/> <immunity outfit="0"/> <immunity drunk="0"/> <immunity invisible="0"/> </immunities> <voices interval="2000" chance="5"> <voice sentence="Crackle!"/> <voice sentence="Tsshh"/> </voices> </monster> Vermelho - Essencial colocar no seu Boss Pronto instalado com sucesso. Créditos Pelo Script: 100% - Gabisa00 Créditos Pela Ideia: 100% - Macalo Dúvidas, bugs, sugestões, somente no tópico. Gostou do Sistema Faça Seu Pedido Aqui! Editado Agosto 1, 2014 10 anos por gabisa00 (veja o histórico de edições) Meus Trabalhos *CreatureScripts* Defense System *CreatureScripts* {Premium} No Nome *GlobalEvents* Removing Houses Inactive Players *Função* getplayerbyhousewildcard *Função* getplayerbynameaccountid *Sistema* Arena War *Sistema* 3 Teans And 1 Boss *Sistema* Five Fase Quest *Sistema* Pilar Bosses *Sistema* Absorb Mana ArmMeu Site Porno ;P
Postado Agosto 1, 2014 10 anos Idéia perfeita cara, sem mais, depois vou testar. Projeto Zerphys Dragon Ball Online V1.0 (Open Source) Em breve! - Mapa 3% - Monstros 0% - Vocações 0% - Spells 0% - Scripts (talkactions, sistemas,mods, geral etc ...) 0% - Client 0% - Website 0%
Postado Agosto 1, 2014 10 anos Autor Muito Obrigado, são pessoas como essas que me fazem postar meus scripts. Meus Trabalhos *CreatureScripts* Defense System *CreatureScripts* {Premium} No Nome *GlobalEvents* Removing Houses Inactive Players *Função* getplayerbyhousewildcard *Função* getplayerbynameaccountid *Sistema* Arena War *Sistema* 3 Teans And 1 Boss *Sistema* Five Fase Quest *Sistema* Pilar Bosses *Sistema* Absorb Mana ArmMeu Site Porno ;P
Postado Agosto 1, 2014 10 anos Esse script funciona pra 8.54? Gostei pensando em por em meu Ot de pokemon! Quero se banido adm
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.