Ir para conteúdo
Entre para seguir isso  
Pivizz

Sistema de incêndio

Recommended Posts

Seven Log    0
Seven Log

Duvida: Voce ja pois as arvores queimadas depois da invasao ?

e tipo eu escolho a area q o bixo nace neah ¬¬

vlw

Editado por Seven Log

Compartilhar este post


Link para o post
Pivizz    1
Pivizz

Desculpa, não entendi tua dúvida

Compartilhar este post


Link para o post
Kerooker    0
Kerooker

tem como colocar isso cmo uma raid???

Compartilhar este post


Link para o post
Mock    32
Mock

@kerooker

sim, usando globalevents.

Compartilhar este post


Link para o post
Pivizz    1
Pivizz

Isso, a não ser que você queira dizer que quer executar isso por comando, aí você vai precisar usar talkaction.

Boa sorte

abraço

Compartilhar este post


Link para o post
Kerooker    0
Kerooker

sera que você pode me esplicar como colocar como um comando? tipow

/incendio

Compartilhar este post


Link para o post
Rafael20x    0
Rafael20x

No meu não funciona, aparece invalid parameters no incendiomonster.lua

Compartilhar este post


Link para o post
gsa    0
gsa

EStou com um ot 8.40 tfs

 

E esta acontecendo o seguinte erro:

 

[Error - GlobalEvents::onThink] Couldn't execute event: incendio]:no:

 

 

Espero q possa me ajudar!

 

Grato!

Compartilhar este post


Link para o post
Sparken    0
Sparken

Ow gsa, Olha melhor u script que vc intende, olha com atencao pq vc deve ter eskecido de alguma coisa ou copiado errado...

Compartilhar este post


Link para o post
Gianloco    0
Gianloco

To com o msm erro do gsa msm protocolo e msm ot meu script ta assim:

-- Incêndio script by Pivigu - Pivigu World OTServ, em breve!

 

function onThink(interval, lastExecution)

 

-- Configuração

local fromArea = {x = 315, y = 320, z = 7} -- Área que o incêndio vai acontecer.

local toArea = {x = 300, y = 327, z = 7} -- Área que o incêndio vai acontecer.

local chanceRaid = 100 -- Chance do incêndio acontecer, em porcentagem.

local intervaloExe = 1 -- Intervalo de execução, em minutos. No exemplo, ela só poderá ocorrer 7 dias após a última execucao.

 

-- Monstros

local bossName = "The Incendier" -- Nome do Boss a ser sumonado.

local monsterMinions = {"Fire Elemental", "Fire Devil"} -- Monstros que também serão sumonados.

local monsterAmount = 28 -- Quantidade de monstros a serem sumonados (Múltiplos de 4, de preferência).

local florestaName = "Dark Gardner Florest" -- Nome da floresta ou da cidade onde a floresta se localiza.

 

-- M = Mensagem, T = Tempo em segundos

local BroadCast1M = ("A temperatura está muito quente na floresta de " .. florestaName .. ".")

local BroadCast1T = 1

local BroadCast2M = ("Um incêndio está começando em " .. florestaName .. "!")

local BroadCast2T = 3

local BroadCast3M = ("Parece que um monstro muito quente está botando fogo em tudo o que vê!")

local BroadCast3T = 6

local BroadCast4M = (bossName .. " foi visto em " .. florestaName .. ". Não se aproxime da floresta. Tudo está pegando fogo!")

local BroadCast4T = 9

 

-- Incêndio

local idArvoresG = {2700, 2708, 2701, 2702, 2707} -- ID de árvores grandes para FireWall.

local idArvoresP = {2767, 2703, 2768} -- ID de árvores pequenas para FireField. (2703 considerada pequena)

local FFID = {1487,1488,1489} -- ID dos Fire Fields.

local FWID = {5063} -- ID dos FireWalls.

 

local fogoNoChao = TRUE -- Adicionar fogo no chão? TRUE = Verdadeiro, FALSE = Falso

local terraID = {103} -- ID dos chãos a pegar fogo

 

for iid = 4526, 4541 do -- Adicionando as gramas ao terraID

terraID[table.maxn(terraID) + 1] = iid

end

 

local chanceFogo = 65 -- Chance de pegar fogo.

-- Fim de Configuracao

 

-- Verificar Erros

if math.random(1, 100) > chanceRaid then

return TRUE

end

 

if os.time(t) - getGlobalStorageValue(5001) < intervaloExe*60 then

-- debugPrint("doIncendio: Execução cancelada pelo intervalo de execuções.")

return TRUE

end

 

if toArea.x <= fromArea.x or toArea.y <= fromArea.y or toArea.z < fromArea.z then

debugPrint("doIncendio: Erro na Area.")

return FALSE

end

 

if BroadCast4T <= BroadCast3T or BroadCast3T <= BroadCast2T or BroadCast2T <= BroadCast1T then

debugPrint("doIncendio: Erro no tempo dos Broadcasts.")

return FALSE

end

 

if chanceFogo < 1 then

chanceFogo = 0

end

 

local summonArea = 0

local allArea = {}

local getChao = 0

local getItem = 0

 

for xx = fromArea.x, toArea.x do

for yy = fromArea.y, toArea.y do

for zz = fromArea.z, toArea.z do

 

getChao = getThingFromPos({x = xx, y = yy, z = zz, stackpos = STACKPOS_GROUND})

getItem = getThingFromPos({x = xx, y = yy, z = zz, stackpos = 1})

for ch = 1, table.maxn(terraID) do

if terraID[ch] == getChao.itemid and (getItem.itemid == 0 or getItem.itemid == 6216 or getItem.itemid == 6217 or getItem.itemid == 6218 or getItem.itemid == 6219) then

allArea[table.maxn(allArea) + 1] = {x = xx, y = yy, z = zz}

end

end

 

end

end

end

 

 

-- Fim de verificar erros

 

-- Adicionando eventos

addEvent(BroadCast, BroadCast1T*1000, BroadCast1M, monsterAmount, monsterMinions, allArea)

addEvent(BroadCast, BroadCast2T*1000, BroadCast2M, monsterAmount, monsterMinions, allArea)

addEvent(BroadCast, BroadCast3T*1000, BroadCast3M, monsterAmount, monsterMinions, allArea)

addEvent(BroadCastBoss, BroadCast4T*1000, BroadCast4M, monsterAmount, monsterMinions, bossName, allArea)

 

addEvent(doIncendio, BroadCast4T*1002, fromArea, toArea, idArvoresG, idArvoresP, fogoNoChao, chanceFogo, FFID, FWID, terraID)

-- Fim de Adicionando eventos

debugPrint("doIncendio: Incendio iniciado.")

 

setGlobalStorageValue(5001, lastExecution)

return TRUE

end

 

 

 

 

function BroadCast(BroadCastM, Amount, Monsters, allArea)

doBroadcastMessage(BroadCastM,22)

local summonPos = {x = 0, y = 0, z = 0}

local monsterName = 0

 

for i = 1, Amount / 4 do

monsterName = Monsters[math.random(1, table.maxn(Monsters))]

summonPos = allArea[math.random(1, table.maxn(allArea))]

doSummonCreature(monsterName, summonPos)

end

 

return TRUE

end

 

function BroadCastBoss(BroadCastM, Amount, Monsters, BossName, allArea)

doBroadcastMessage(BroadCastM,22)

local summonPos = {x = 0, y = 0, z = 0}

local monsterName = 0

 

for i = 1, Amount / 4 do

monsterName = Monsters[math.random(1, table.maxn(Monsters))]

summonPos = allArea[math.random(1, table.maxn(allArea))]

doSummonCreature(monsterName, summonPos)

end

 

monsterName = Monsters[math.random(1, table.maxn(Monsters))]

summonPos = allArea[math.random(1, table.maxn(allArea))]

doSummonCreature(BossName, summonPos)

 

 

return TRUE

end

 

 

-- Incendios

function doIncendio(fromArea, toArea, agID, apID, FChao, Chance, FireFieldID, FireWallsID, chaoLib)

local arvoreID = 0

local posNow = {x = 0, y = 0, z = 0}

local randomFF = math.random(1, table.maxn(FireFieldID))

local chaoID = 0

 

for t = fromArea.z, toArea.z do -- Área

for n = fromArea.y, toArea.y do

for i = fromArea.x, toArea.x do

posNow = {x = i, y = n, z = t}

 

 

for ar = 1, table.maxn(apID) do -- Nas árvores pequenas FF

arvoreID = getThingFromPos({x = i, y = n, z = t, stackpos = 1})

if arvoreID.itemid == apID[ar] then

if Chance >= math.random(1,100) then

randomFF = math.random(1, table.maxn(FireFieldID))

doCreateItem(FireFieldID[randomFF], 1, posNow)

end

end

end

 

for ar = 1, table.maxn(agID) do -- Nas árvores grandes FireWall

arvoreID = getThingFromPos({x = i, y = n, z = t, stackpos = 1})

if arvoreID.itemid == agID[ar] then

if Chance / 4 >= math.random(1,100) then

randomFF = math.random(1, table.maxn(FireFieldID))

doCreateItem(FireFieldID[randomFF], 1, posNow)

end

 

if Chance >= math.random(1,100) then

posNow = {x = i, y = n, z = t}

randomFF = math.random(1, table.maxn(FireWallsID))

doCreateItem(FireWallsID[randomFF], 1, posNow)

end

end

end

 

if FChao == TRUE then -- FF no Chão

arvoreID = getThingFromPos({x = i, y = n, z = t, stackpos = 1})

chaoID = getThingFromPos({x = i, y = n, z = t, stackpos = STACKPOS_GROUND})

 

if arvoreID.itemid == 0 then

if Chance >= math.random(1,100) then

for ch = 1, table.maxn(chaoLib) do

if chaoID.itemid == chaoLib[ch] then

posNow = {x = i, y = n, z = t}

randomFF = math.random(1, table.maxn(FireFieldID))

doCreateItem(FireFieldID[randomFF], 1, posNow)

end

end

end

end

end

 

 

end -- Área

end

end

 

return TRUE

end

<globalevent name="incendio" interval="60" script="incendio.lua"/>

 

puis interval="60" pra testar rapido ;/ Help Maldito erro [Error - GlobalEvents::onThink] Couldn't execute event: incendio]

Compartilhar este post


Link para o post
Pivizz    1
Pivizz

No novo protocolo, é um pouco diferente o xml.

Tenta por isso:

   <globalevent name="incendio" interval="60" event="script" value="incendio.lua"/>

Compartilhar este post


Link para o post
reski.paladino    0
reski.paladino

Aki eu tenho uma duvida... esse script pode ser usado em qualquer mapa?

Compartilhar este post


Link para o post
Pivizz    1
Pivizz

Sim, qualquer mapa.

Compartilhar este post


Link para o post
Gorgulf    0
Gorgulf

não tem como esses fields de fogo que tem no chão firarem fatal? (mata a pessoa quando pisa) :P....

...fico mt rox

 

--edit--

o link pra download do mapa ta quebrado, concerta ai :P

Editado por Gorgulf

Compartilhar este post


Link para o post
eletroboy97    0
eletroboy97

link do mapa quebrado

Compartilhar este post


Link para o post
#Allow    0
#Allow

só num curtí os summons... e outra...

tem que fazer mta edição se for baixar ...

tem que mudar todas coordenadas de fire....

 

 

né?

Compartilhar este post


Link para o post
patrickdelfim    0
patrickdelfim

tenho uma duvida isso acontece so quando o god quer ou acontece aleatoriamente?

Compartilhar este post


Link para o post
demonotzin    0
demonotzin

kkk vlw mto loko o incendio kkkkk

Compartilhar este post


Link para o post
Pivizz    1
Pivizz

@Nervine II

Não, é um random de todo território selecionado.

 

@patrick

Aleatório, mas da pra configurar pra ser um talkaction, é só copiar e adaptar...

 

Sobre o link do mapa:

Infelizmente não tenho mais o mapa para atualizar o download.

Compartilhar este post


Link para o post
mstorck    0
mstorck

posso colocar em qualquer lugar ou tem que configurar as arvores da floresta que está sendo queimada?

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×