Ir para conteúdo

Featured Replies

Postado

@Vodkart

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Fire Storm Event" version="8.6" author="Vodkart" contact="" enabled="yes">
<config name="fire_config"><![CDATA[
Fire = {
    storages = {172354, 172355}, -- storage Count
    players = {min = 2, max = 20}, -- min, max players no evento
    minLevel = 20, -- level minimo para entrar no event
    rewards = {{2160,100},{2494,1}}, -- premios que vai receber
    timeToStartEvent = 30, -- segundos para começar o evento
    CheckTime = 5, -- time to check event
    teleport = {{x=158, y=49, z=7}, {x=32415 , y=32442, z=7}}, -- posição do teleport, posição para onde o jogador vai
    arena = {{x=32404, y=32431, z=7},{x=32426, y=32453, z=7}} -- posição começo e final da area
}
Fire_Days = {
    ["Monday"] = {"13:00","18:00","20:00","22:00"},
    ["Tuesday"] = {"12:41","18:00","20:00","22:00"},
    ["Wednesday"] = {"13:00","18:00","20:00","22:00"},
    ["Thursday"] = {"13:00","18:00","20:00","22:00"},
    ["Friday"] = {"13:00","18:00","20:00","22:00"},
    ["Saturday"] = {"13:00","18:00","20:00","22:00"},
    ["Sunday"] = {"13:00","18:00","20:00","22:00"}
}
function removeFireTp()
    local t = getTileItemById(Fire.teleport[1], 1387).uid
    return t > 0 and doRemoveItem(t) and doSendMagicEffect(Fire.teleport[1], CONST_ME_POFF)
end
function ZerarStorFire()
    setGlobalStorageValue(Fire.storages[1], 0)
    setGlobalStorageValue(Fire.storages[2], 0)
end
function getPlayersInFireEvent()
    local t = {}
    for _, pid in pairs(getPlayersOnline()) do
        if isInRange(getPlayerPosition(pid), Fire.arena[1], Fire.arena[2]) then
            t[#t+1] = pid
        end
    end
    return t
end
function getFireRewards(cid, items)
    local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID
    for _, i_i in ipairs(items) do
        local item, amount = i_i[1],i_i[2]
        if isItemStackable(item) or amount == 1 then
            doAddContainerItem(backpack, item, amount)
        else
            for i = 1, amount do
                doAddContainerItem(backpack, item, 1)
            end
        end
    end
end
function doFireInArea(n)
    if #getPlayersInFireEvent() > 1 then
        for i = 1, n do
            local pos = {x=math.random(Fire.arena[1].x, Fire.arena[2].x), y=math.random(Fire.arena[1].y,Fire.arena[2].y), z=Fire.arena[1].z}
            local m = getTopCreature(pos).uid
            doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
            addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
            addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
            if m ~= 0 and isPlayer(m) then
                doSendMagicEffect(getCreaturePosition(m), CONST_ME_FIREAREA)
                doCreatureSay(m, "Ooh Burn Burn", TALKTYPE_ORANGE_1)
                local corpse = doCreateItem(3058, 1, getPlayerPosition(m))
                doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(m) .. ". He was killed by Fire Field.")
                doSendMagicEffect(getPlayerPosition(m), CONST_ME_POFF)
                doTeleportThing(m, getTownTemplePosition(getPlayerTown(m)))
                doPlayerSendTextMessage(m, MESSAGE_EVENT_ADVANCE, "[Fire Storm Event] You died burned out.")
            end
        end
        local x = 2700-(200*n)
        addEvent(doFireInArea, x <= 0 and 500 or x, n+1)
    elseif #getPlayersInFireEvent() == 1 then
        local cid = getPlayersInFireEvent()[1]
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
        getFireRewards(cid, Fire.rewards)
        doBroadcastMessage("Fire Storm Event have finished. The winner is ".. getCreatureName(cid).. ". Congratulations.", MESSAGE_EVENT_ADVANCE)
        ZerarStorFire()
    else
        doBroadcastMessage("No one Won the Fire Storm Event.", MESSAGE_EVENT_ADVANCE)
        ZerarStorFire()
    end
end
function CheckFireEvent(delay)
    if getGlobalStorageValue(Fire.storages[1]) ~= (Fire.players.max+1) then
        if delay > 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.max then
            doBroadcastMessage("[Fire Stortm Event] Starting in " .. delay .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)
        elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.min then
            for _, cid in pairs(getPlayersInFireEvent()) do
                doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
            end
            removeFireTp()
            doBroadcastMessage("The Fire Storm event could not start because of to few players participating.\n At least " .. Fire.players.min .. " players is needed!", MESSAGE_STATUS_WARNING)
            ZerarStorFire()
        elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) >= Fire.players.min then
            removeFireTp()
            doBroadcastMessage("Good Lucky! The event will start on "..Fire.timeToStartEvent.." seconds. get ready!")
            addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1)
        end
        addEvent(CheckFireEvent, 60000, delay-1)
    end
end
]]></config>
<globalevent name="Storm_Fire_Start" interval="60000" event="script"><![CDATA[
domodlib('fire_config')
function onThink(interval, lastExecution)
    if Fire_Days[os.date("%A")] then
        local hrs = tostring(os.date("%X")):sub(1, 5)
        if isInArray(Fire_Days[os.date("%A")], hrs) and getGlobalStorageValue(Fire.storages[2]) <= 0 then
            local tp = doCreateItem(1387, 1, Fire.teleport[1])
            doItemSetAttribute(tp, "aid", 45111)
            CheckFireEvent(Fire.CheckTime)
            setGlobalStorageValue(Fire.storages[1], 0) 
        end
    end
    return true
end]]></globalevent>
<event type="login" name="Storm_Fire_Login" event="script"><![CDATA[
domodlib('fire_config')
function onLogin(cid)
    registerCreatureEvent(cid, "FireStormBatle")
    if isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
    end
    return true
end]]></event>
<event type="combat" name="FireStormBatle" event="script"><![CDATA[
domodlib('fire_config')
if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then
    doPlayerSendCancel(cid, "You may not attack this player.")
    return false
end
return true
]]></event>
<movevent type="StepIn" actionid ="45111" event="script"><![CDATA[
domodlib('fire_config')
function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then return true end
    if getPlayerAccess(cid) > 3 then return doTeleportThing(cid, Fire.teleport[2]) end
    if getPlayerLevel(cid) < Fire.minLevel then
        doTeleportThing(cid, fromPosition, true)
        doPlayerSendCancel(cid, "You need to be at least level " .. Fire.minLevel .. ".")
        doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
        return true
    end
    if getGlobalStorageValue(Fire.storages[1]) <= Fire.players.max then
        doTeleportThing(cid, Fire.teleport[2])
        setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1)
        doBroadcastMessage(getPlayerName(cid) .. " entered the fire stortm event! Currently " .. getGlobalStorageValue(Fire.storages[1]) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED)
        if getGlobalStorageValue(Fire.storages[1]) == Fire.players.max then
            setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1)
            removeFireTp()
            doBroadcastMessage("The event will start on "..Fire.timeToStartEvent.." seconds. get ready!")
            addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1)
        end 
    end
    return true
end]]></movevent>
<talkaction words="/firestart;!firestart" access="5" event="buffer"><![CDATA[
domodlib('fire_config')
if getGlobalStorageValue(Fire.storages[2]) > 0 then
    doPlayerSendCancel(cid, "The event is already starting.") return true
elseif not param or not tonumber(param) then 
    doPlayerSendCancel(cid, "Use only numbers.") return true 
end
local param = tonumber(param) <= 0 and 1 or tonumber(param)
local tp = doCreateItem(1387, 1, Fire.teleport[1])
doItemSetAttribute(tp, "aid", 45111)
CheckFireEvent(tonumber(param))
setGlobalStorageValue(Fire.storages[1], 0)
setGlobalStorageValue(Fire.storages[2], 1)
]]></talkaction>
<globalevent name="FireDebug-Start" type="start" event="buffer"><![CDATA[
domodlib('fire_config')
ZerarStorFire()
return true]]></globalevent>
</mod>

 

o erro ainda continua.

ficou assim com a nova arena e 60000 que vc pediu.

  • Respostas 53
  • Visualizações 7.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • seu serve deve ser em milesegundos   troque essa linha:   <globalevent name="Storm_Fire_Start" interval="60" event="script"><![CDATA[   por   <globaleve

  • @Vodkart vou testar ele jaja, mas to com uma duvida, no dia e o horario esta assim ["Monday"] = {"18:00","20:00","18:00"}, tem 2x o 18:00 foi erro de digitação ?

  • foi sim, nem vi que dupliquei kkkk valeu

Postado
  • Autor

@pokadelo Muito estranho, na verdade não está dando erro em si, é como se na hora que fosse jogar os fires, os players não tivessem sido encontrados...

 

que horas vai estar no discord? vou te auxiliar em tempo real.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
Em 31/05/2019 em 10:36, Vodkart disse:

@pokadelo Muito estranho, na verdade não está dando erro em si, é como se na hora que fosse jogar os fires, os players não tivessem sido encontrados...

 

que horas vai estar no discord? vou te auxiliar em tempo real.

 

te add la, me aceite por favor, abraços

  • 9 months later...

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo