Postado Maio 25, 2016 8 anos Ele vai nascer apenas uma vez em apenas uma posição? Serão vários bosses, certo? Eu pensei em sumonar um boss aleatório dos que você listar no script. Quer que eu faça assim ou que nasça apenas um boss fixo? Fiz um esboço aqui, não sei se está funcionando, não consegui testar. globalevents/scripts nome_arquivo.lua function onThink(cid, interval, lastExecution) local bosses = { [1] = {name = "Dragon", pos = {x=1050, y=1054, z=7}, city = "Thais", chance = 35, effect = 12}, [2] = {name = "Demon", pos = {x=1080, y=1034, z=7}, city = "Carlin", chance = 15, effect = 28}, -- [um numero maior que o de cima] = nome do boss, posição que ele vai nascer, cidade que ele vai nascer (para o broadcast), porcentagem de chance de nascer. } local config = { storage = 65121, check = 65122, timeToRespawn = 4, -- tempo em horas para nascer outro boss, caso tenha nascido um. } if getGlobalStorageValue (config.storage) < os.time () then setGlobalStorageValue (config.check, getGlobalStorageValue (config.check) + 1) local boss = math.random (#bosses) local percent = math.random (1, bosses[boss].chance) if percent <= bosses[boss].chance then setGlobalStorageValue (config.check, 0) setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ()) doSummonCreature(bosses[boss].name, bosses[boss].pos) doSendMagicEffect (bosses[boss].pos, bosses[boss].effect) doBroadcastMessage("Um boss acaba de aparecer em "..bosses[boss].city.."!") end elseif getGlobalStorageValue (config.check) == 4 and getGlobalStorageValue (config.storage) < os.time() then local boss = math.random (#bosses) setGlobalStorageValue (config.check, 0) setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ()) doSummonCreature(bosses[boss].name, bosses[boss].pos) doBroadcastMessage("Um boss acaba de aparecer em "..bosses[boss].city.."!") end return true end XML: <globalevent name="bossSpawnRandomTime" interval="3600" event="script" value="nome_arquivo.lua"/> Lembrando, o interval está em segundos. Editado Maio 25, 2016 8 anos por Talesigorvr (veja o histórico de edições)
Postado Maio 25, 2016 8 anos Talesigorvr alem de aparecer boss pode colocar para tipo aparecer alguns monstros e depois de um tempo o boss?
Postado Maio 25, 2016 8 anos Autor Vai ser um boss fixo mesmo. Ele vai nascer no alto de uma cidade no caso um local fixo... Vou aguardar a modificação, para testar!!!
Postado Maio 25, 2016 8 anos Solução @Striker Macabrus function onThink(cid, interval, lastExecution) local config = { storage = 65121, check = 65122, timeToRespawn = 4, -- tempo em horas para nascer outro boss, caso tenha nascido um. city = "Thais", -- cidade para o broadcast. chance = 35 -- porcentagem de chance de nascer. } local monster = { [1] = {name = "Dragon", pos = {x=1050, y=1054, z=7}, effect = 19, tempoSpawn = 60}, [2] = {name = "Demon", pos = {x = 1630, y = 1520, z = 7}, effect = 40, tempoSpawn = 5}, [3] = {name = "Hero", pos = {x = 1356, y = 1325, z = 7}, effect = 27, tempoSpawn = 5}, -- [um número maior que o anterior] = nome do monstro, posição que ele vai nascer, efeito ao nascer, tempo em segundos para nascer. } local percent = math.random (1, config.chance) if getGlobalStorageValue (config.storage) < os.time () then setGlobalStorageValue (config.check, getGlobalStorageValue (config.check) + 1) if percent <= config.chance then for i = 1, #monster do addEvent (doSummonCreature, monster[i].tempoSpawn * 1000, monster[i].name, monster[i].pos) addEvent (doSendMagicEffect, monster[i].tempoSpawn * 1000, monster[i].pos, monster[i].effect) end setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ()) setGlobalStorageValue (config.check, 0) doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!") end elseif getGlobalStorageValue (config.check) == 4 and getGlobalStorageValue (config.storage) < os.time() then for i = 1, #monster do addEvent (doSummonCreature, monster[i].tempoSpawn * 1000, monster[i].name, monster[i].pos) addEvent (doSendMagicEffect, monster[i].tempoSpawn * 1000, monster[i].pos, monster[i].effect) end setGlobalStorageValue (config.check, 0) setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ()) doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!") end return true end @brendoonh function onThink(cid, interval, lastExecution) local config = { storage = 65121, check = 65122, timeToRespawn = 4, -- tempo em horas para nascer outro boss, caso tenha nascido um. name = "Dragon", -- nome do boss. pos = {x=1050, y=1054, z=7}, -- posição que ele vai nascer. city = "Thais", -- cidade para o broadcast. chance = 35, -- porcentagem de chance de nascer. effect = 27 -- efeito ao nascer. } local percent = math.random (1, config.chance) if getGlobalStorageValue (config.storage) < os.time () then setGlobalStorageValue (config.check, getGlobalStorageValue (config.check) + 1) if percent <= config.chance then setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ()) setGlobalStorageValue (config.check, 0) doSummonCreature(config.name, config.pos) doSendMagicEffect (config.pos, config.effect) doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!") end elseif getGlobalStorageValue (config.check) == 4 and getGlobalStorageValue (config.storage) < os.time() then setGlobalStorageValue (config.check, 0) setGlobalStorageValue (config.storage, config.timeToRespawn * 60 * 60 + os.time ()) doSummonCreature(config.name, config.pos) doBroadcastMessage("Um boss acaba de aparecer em "..config.city.."!") end return true end Editado Maio 25, 2016 8 anos por Talesigorvr (veja o histórico de edições)
Postado Maio 25, 2016 8 anos Talesigorvr tipo eu quero a mesma script so que tipo cada boss aparecer criaturas diferentes tipo vamos supor tem 4 waves e elas tenhao uma duração de 10 minutos cada uma algo assim do genero me dando uma script assim eu edito ela certinho e Talesigorvr vlw dnv man sempre me ajudando :D
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.