Postado Novembro 9, 2020 4 anos Fala pessoal! Eu quero fazer um script que ao matar 1000 dragons ou dragon lords, apareça um Boss na area X. E não quero que possa acumular, o script como ta se eu matar 3000 dragons o boss aparece acumulado 3 vezes. Eu quero que só possa aparecer outro depois que ele morrer. SCRIPT ATUAL: local t = { ["Dragon"] = {1003, "Demodras", 1000, l = { [1] = {x = 248, y = 1323, z = 11}, -- ["Nome do monstro"] = {Storage, NOME DO MONSTRO, QNT NECESSARIA PARA NASCER O BOSS, l = POSIÇÕES} }} ------------------------------ } function onDeath(cid, corpse, deathList) local killer = deathList[1] if not isMonster(cid) or not isPlayer(killer) then return true end local a = t[getCreatureName(cid)] if a then if getGlobalStorageValue(a[1]) >= a[3] then doCreateMonster(a[2], a.l[math.random(#a.l)]) setGlobalStorageValue(a[1], 0) doBroadcastMessage("O monstro ".. a[2] .." nasceu!", 20) else setGlobalStorageValue(a[1], getGlobalStorageValue(a[1]) + 1) end end return true end
Postado Novembro 9, 2020 4 anos Este tópico foi movido para a seção de Suporte Otserv. Discord: Naze#3578 Ter Linux Dentro de Windows com Acesso 'localhost' para testes e + AutoLoot Otimizado Direto na Source (tfs 0.4/otx) // Pirataria é crime, original é roubo, compartilhar é legal.
Postado Novembro 12, 2020 4 anos function doCreateMonsterWalkableAreaPosition(name, from, to) local pos {x=math.random(from.x, to.x), y=math.random(from.y, to.y), z=math.random(from.z, to.z)} if isWalkable(pos, false, false, false) then doSummonCreature(name, pos) else doCreateMonsterWalkableAreaPosition(name, from, to) end end local t = { [{"Dragon", "Dragon lord"}] = {storage = 741320, amount = 1000, boss = "demondras", from = {x = 230, y = 1315, z = 11}, to = {x = 248, y = 1323, z = 11}}, } function onDeath(cid, corpse, deathList) local killer = deathList[1] if not isMonster(cid) or not isPlayer(killer) then return true end for v , r in pairs(t) do if isInArray(v, getCreatureName(cid)) then local contador = getGlobalStorageValue(r.storage) <= 0 and 0 or getGlobalStorageValue(r.storage) if contador >= r.amount then for x = r.from.x - 1, r.to.x + 1 do for y = r.from.y - 1, r.to.y + 1 do local pos = {x=x, y=y, z=r.from.z} local m = getTopCreature(pos).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end doCreateMonsterWalkableAreaPosition(r.boss, r.from, r.to) setGlobalStorageValue(r.storage, 0) doBroadcastMessage("O monstro ".. r.boss .." nasceu!", 20) else setGlobalStorageValue(r.storage, contador + 1) end end end return true end Editado Novembro 12, 2020 4 anos por Shiuns (veja o histórico de edições)
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.