Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Respostas 42
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Hello nação TK, de um tempo pra cá eu e o membro ViitinG resolvemos trabalhar em cima de um novo evento para vocês, é o FireStorm event!   Eu vim trabalhando no script do evento em MODS e o Victor n

Desculpa reviver o tópico, mas tenho o mesmo problema.   Cheio de erros para OT 8.6 Rev 3777 ... CONSEGUI RESOLVER ! PARA QUEM QUER O MOD PARA OT 8.6 AQUI ESTÁ:  

Posted Images

Você não comprou esse sistema? podia jura que vc me falo que comprou do Roksas ou do Chaito mais era comprado sim ! estranho...não ta nos creditos :O

Skype : emersonaaron Se Te ajudei não me REP+ isso não muda nada! kkkkkkkkkkkk

Link para o post
Compartilhar em outros sites

Aqui uso o TFS 0.4_DEV  rev 3777, da um monte de erro no distro também, alguem pode nos dar uma luz do que fazer?

 

abraços!

 

Poste o erro, fica mais fácil!

 

 

 

Você não comprou esse sistema? podia jura que vc me falo que comprou do Roksas ou do Chaito mais era comprado sim ! estranho...não ta nos creditos :O

 

Créditos:

CollocorpuseK base do evento

Absolute (adaptação, funções e abertura por comando)

VitiinG (mapa)

 

 

 

Mimimimimimimi

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

PLSS OLHA O ERROR QUE TA DANDO AJUDA AI n e error de configuração Poderia ajuda fazendo FAvor.

 

 

Segue a imagem abaixo.

 

 

post-80963-0-51033700-1407089929_thumb.p

 

 

 

 

Entao mostra ai o error n sei dizer pq ta dando teria como ajuda.

 

 

o script que voce passo logo abaixo mas configurei alguma coisa ali so as posição 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Fire_Storm_Event" version="0.1" author="Absolute Version" contact="lu.lukinha" enabled="yes">
 
    <config name="config_fire_storm_event">
        <![CDATA[
            configFireStormEvent = {
                storages = {
                    main = 'fireStormEventMain', -- set free storage
                    player = 'fireStormEventPlayer', -- set free storage
                    joining = 'fireStormEventJoining', -- set free storage
                    exhaust = 'fireStormEventExhaust', -- set free storage
                    countEvent = 'fireStormEventCountEvent' -- set free storage
                },
                
                position = {x=1041 ,y=1980,z=7}, -- posiotion to which player is teleporting
                room = {
                    from = {x=1010,y=1950,z=7}, -- left top corner of event room
                    to = {x=1077,y=2004,z=7} -- right bottom corner of event room
                },
 
                rewards = {8858, 2346, 2538, 2437}, -- reward id which player can win (reward is random)
                players = {
                    max = 80,
                    min = 2,
                    minLevel = 100
                },
 
                days = {
                    ['Tuesday'] = {'19:59:20'},
                    ['Thursday'] = {'19:59:20'},
                    ['Sunday'] = {'15:20:20'}
 
               }
 
                fireStormDelay = 1000, -- milisecond
                
                delayTime = 5.0, -- time in which players who joined to event are teleporting to teleport position
                startEvent = 5 -- time from teleport to start event
                text = '-PL-\nAby wygrac i otrzymac nagrode, utrzymaj sie jak najdluzej na arenie.\n\n-ENG-\nTo win and get a Rewards, to stay as long as possible in the arena.'
            }
 
            y, x = 1, 1 -- don't change it
        ]]>
    </config>
    
    <lib name="lib_fire_storm_event">
        <![CDATA[
            function doStartFireStormEvent()
                doSetStorage(configFireStormEvent.storages.joining, -1)
                
                if configFireStormEvent.players.min <= doCountPlayersFireStormEvent() then        
                    for _, cid in ipairs(getPlayersOnline()) do
                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                            doCreatureSetNoMove(cid, false)
                            doRemoveCondition(cid, CONDITION_INFIGHT)
                            doTeleportThing(cid, configFireStormEvent.position)
                            doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                            
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Get ready. Fire Storm Event start in '..configFireStormEvent.startEvent..' seconds.')
                        end
                    end
                    
                    addEvent(doSetStorage, configFireStormEvent.startEvent * 1000, configFireStormEvent.storages.main, 1)
                    addEvent(doRepeatCheckFireStorm, configFireStormEvent.startEvent * 1000 + 2000)
                    
                    doBroadcastMessage('Fire Storm Event has started. LET\'S GO!')
                else
                    for _, cid in ipairs(getPlayersOnline()) do
                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                            doCreatureSetNoMove(cid, false)
                            doRemoveCondition(cid, CONDITION_INFIGHT)
                        end
                    end
                    
                    doBroadcastMessage('Fire Storm hasn\'t started beacuse there were not enough players.')
                end
            end
            
            function doRepeatCheckFireStorm()
                if getStorage(configFireStormEvent.storages.main) > 0 then
                    local xTable, yTable, playerTable = {}, {}, {}
 
                    for x = configFireStormEvent.room.from.x, configFireStormEvent.room.to.x do
                        for y = configFireStormEvent.room.from.y, configFireStormEvent.room.to.y do
                            table.insert(xTable, x)
                            table.insert(yTable, y)
 
                            local n, i = getTileInfo({x=x, y=y, z=configFireStormEvent.room.to.z}).creatures, 1
                            if n ~= 0 then
                                local v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid
                                while v ~= 0 do
                                    if isPlayer(v) then
                                        table.insert(playerTable, v)
                                        if n == #playerTable then
                                            break
                                        end
                                    end
                                    i = i + 1
                                    v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid
                                end
                            end
                        end
                    end
 
                    if #playerTable == 1 then
                        local prize = math.random(#configFireStormEvent.rewards)
                        doCreatureAddHealth(playerTable[1], getCreatureMaxHealth(playerTable[1]) - getCreatureHealth(playerTable[1]))
                        doCreatureAddMana(playerTable[1], getCreatureMaxMana(playerTable[1]) - getCreatureMana(playerTable[1]))
                        doTeleportThing(playerTable[1], getTownTemplePosition(getPlayerTown(playerTable[1])), true)
                        doPlayerAddItem(playerTable[1], configFireStormEvent.rewards[prize], 1)
                        doPlayerSendTextMessage(playerTable[1], MESSAGE_EVENT_ADVANCE, 'You win! You have received ' .. getItemNameById(configFireStormEvent.rewards[prize]) .. ' as reward.')
                        doBroadcastMessage('Fire Storm Event has finished. The winner is ' .. getCreatureName(playerTable[1]) .. '. Congratulations.')
                        doSetStorage(configFireStormEvent.storages.main, -1)
                        
                        db.query("INSERT INTO `events` (`event_name`, `winner_name`, `won_item`, `time_win`) VALUES (\"Fire\", \"" .. getCreatureName(playerTable[1]) .. "\", \"" .. getItemNameById(configFireStormEvent.rewards[prize]) .. "\", " .. getStorage(configFireStormEvent.storages.countEvent) ..");")
                        doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)
                        
                        x, y = 1, 1
                    elseif #playerTable > 1 then
                        for a = 1, y do
                            addEvent(
                                function()
                                    local pos = {x=xTable[math.random(#xTable)], y=yTable[math.random(#yTable)], z=7}
 
                                    for _, player in ipairs(playerTable) do
                                        local pPos = getThingPos(player)
                                        if pPos.x == pos.x and pPos.y == pos.y and pPos.z == pos.z then
                                            doCreatureAddHealth(player, - getCreatureMaxHealth(player))
                                        end
                                    end
                                    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)
                                end,
                                math.random(100,1000)
                            )
                        end
                        if x == 5 * y then
                            y = y + 1
                        end
                        
                        x = x + 1
                    else
                        doBroadcastMessage('No one have won in Fire Storm Event.')
                        doSetStorage(configFireStormEvent.storages.main, -1)                        
                        doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)
                        x, y = 1, 1
                    end
                    
                    addEvent(doRepeatCheckFireStorm, configFireStormEvent.fireStormDelay)
                end
            end
            
            function doCountPlayersFireStormEvent()
                local x = 0
                for _, cid in ipairs(getPlayersOnline()) do
                    if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                        x = x + 1
                    end
                end
                return x
            end
            
            function doStartCountingFireStormEvent(x)
                if configFireStormEvent.delayTime-x > 0 then
                    doBroadcastMessage('Fire Storm Event will start in '..configFireStormEvent.delayTime-x..' minutes. You can join to the event by say "!fire join".')
                    addEvent(doStartCountingFireStormEvent, 60*1000, x+1)
                end
            end
        ]]>
    </lib>
 
    <talkaction words="!fire" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
 
            function onSay(cid, words, param)
                if getStorage(configFireStormEvent.storages.joining) ~= 1 then
                    return doPlayerSendCancel(cid, 'Fire Storm Event hasn\'t started yet.')
                elseif param == '' then
                    return doPlayerSendCancel(cid, 'Command param required (say: "!fire join" or "!fire leave.").')
                elseif getPlayerLevel(cid) < configFireStormEvent.players.minLevel then
                    return doPlayerSendCancel(cid, 'You can\'t join to the event if you don\'t have a require '..configFireStormEvent.players.minLevel..' level.')
                elseif getTileInfo(getThingPos(cid)).protection ~= true then
                    return doPlayerSendCancel(cid, 'You can\'t join to the event if you aren\'t in protection zone.')
                elseif exhaustion.check(cid, configFireStormEvent.storages.exhaust) ~= false then
                    return doPlayerSendCancel(cid, 'You must wait '..exhaustion.get(cid, configFireStormEvent.storages.exhaust)..' seconds to use this command again.')
                end
 
                if param == 'join' then
                    if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                        return doPlayerSendCancel(cid, 'You have arleady joined to event. Wait patiently for start.')
                    elseif doCountPlayersFireStormEvent() == configFireStormEvent.players.max then
                        return doPlayerSendCancel(cid, 'Max players in the event have been reached.')
                    end
                    
                    doCreatureSetNoMove(cid, true)
                    doPlayerPopupFYI(cid, configFireStormEvent.text)
                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, 1)
                    doAddCondition(cid, createConditionObject(CONDITION_INFIGHT, -1))
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have joined to Fire Storm Event. You can\'t move until event don\'t start. Wait patiently for the event start.')
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have joined to Fire Storm Event.')
                elseif param == 'leave' then
                    if getCreatureStorage(cid, configFireStormEvent.storages.player) <= 0 then
                        return doPlayerSendCancel(cid, 'You can\'t leave from the event if you don\'t join.')
                    end
                    
                    doCreatureSetNoMove(cid, false)
                    doRemoveCondition(cid, CONDITION_INFIGHT)
                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have left from the Fire Storm Event.')
                end
                
                exhaustion.set(cid, configFireStormEvent.storages.exhaust, 5)
                
                return true
            end
        ]]>
    </talkaction>
    
    <talkaction words="!startfire" access="4" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
            domodlib("lib_fire_storm_event")
 
            function onSay(cid, words, param)
                if getStorage(configFireStormEvent.storages.main) > 0 then
                    return doPlayerSendCancel(cid, 'Fire Storm Event is already running.')
                end
            
                doStartCountingFireStormEvent(0)
                
                for _, pid in ipairs(getPlayersOnline()) do
                    if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then
                        doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)
                        doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
                    end
                end
                
                doSetStorage(configFireStormEvent.storages.joining, 1)
                addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)
                return true
            end
        ]]>
    </talkaction>
 
    <globalevent name="Fire_Storm_Event_Days" interval="1000" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
            domodlib("lib_fire_storm_event")
 
            local daysOpen = {}            
            for k, v in pairs(configFireStormEvent.days) do
                table.insert(daysOpen, k)
            end
            
            function onThink(interval)
                if isInArray(daysOpen, os.date('%A')) then
                    if isInArray(configFireStormEvent.days[os.date('%A')], os.date('%X', os.time())) then
                        if getStorage(configFireStormEvent.storages.joining) ~= 1 then
                            doStartCountingFireStormEvent(0)
                            
                            for _, pid in ipairs(getPlayersOnline()) do
                                if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then
                                    doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)
                                    doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
                                end
                            end
                            
                            doSetStorage(configFireStormEvent.storages.joining, 1)
                            addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)
                        end
                    end
                end
                return true
            end
        ]]>
    </globalevent>
 
    <event type="statschange" name="Fire_Storm_Event_Dead" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
 
            function onStatsChange(cid, attacker, type, combat, value)
                if type == 1 and getCreatureHealth(cid) <= value then
                    if isInRange(getThingPos(cid), configFireStormEvent.room.from, configFireStormEvent.room.to) then
                        doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))
                        doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid))
                        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You loss.')
                        return false
                    end
                end
                return true
            end
        ]]>
    </event>
    
    <event type="login" name="Fire_Storm_Event_Login" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
        
            function onLogin(cid)
                if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true)
                    doCreatureSetNoMove(cid, false)
                    doRemoveCondition(cid, CONDITION_INFIGHT)
                end
 
                registerCreatureEvent(cid, 'Fire_Storm_Event_Dead')
                return true
            end
        ]]>
    </event>
    
    <globalevent name="Fire_Storm_Event_Start" type="startup" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
 
            function onStartup()
                doSetStorage(configFireStormEvent.storages.main, -1)
                doSetStorage(configFireStormEvent.storages.joining, -1)
                return true
            end
        ]]>
    </globalevent>
</mod>
 

ajudA UP


TERIA COMO alguem me ajuda meu ot e 8.54 vai funfa? configurei tudo certo pls olha imagem ali com os erros

Link para o post
Compartilhar em outros sites

PLSS OLHA O ERROR QUE TA DANDO AJUDA AI n e error de configuração Poderia ajuda fazendo FAvor.

 

 

Segue a imagem abaixo.

 

 

attachicon.gifSem título.png

 

 

 

 

Entao mostra ai o error n sei dizer pq ta dando teria como ajuda.

 

 

o script que voce passo logo abaixo mas configurei alguma coisa ali so as posição 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="Fire_Storm_Event" version="0.1" author="Absolute Version" contact="lu.lukinha" enabled="yes">

 

    <config name="config_fire_storm_event">

        <![CDATA[

            configFireStormEvent = {

                storages = {

                    main = 'fireStormEventMain', -- set free storage

                    player = 'fireStormEventPlayer', -- set free storage

                    joining = 'fireStormEventJoining', -- set free storage

                    exhaust = 'fireStormEventExhaust', -- set free storage

                    countEvent = 'fireStormEventCountEvent' -- set free storage

                },

                

                position = {x=1041 ,y=1980,z=7}, -- posiotion to which player is teleporting

                room = {

                    from = {x=1010,y=1950,z=7}, -- left top corner of event room

                    to = {x=1077,y=2004,z=7} -- right bottom corner of event room

                },

 

                rewards = {8858, 2346, 2538, 2437}, -- reward id which player can win (reward is random)

                players = {

                    max = 80,

                    min = 2,

                    minLevel = 100

                },

 

                days = {

                    ['Tuesday'] = {'19:59:20'},

                    ['Thursday'] = {'19:59:20'},

                    ['Sunday'] = {'15:20:20'}

 

               }

 

                fireStormDelay = 1000, -- milisecond

                

                delayTime = 5.0, -- time in which players who joined to event are teleporting to teleport position

                startEvent = 5 -- time from teleport to start event

                text = '-PL-\nAby wygrac i otrzymac nagrode, utrzymaj sie jak najdluzej na arenie.\n\n-ENG-\nTo win and get a Rewards, to stay as long as possible in the arena.'

            }

 

            y, x = 1, 1 -- don't change it

        ]]>

    </config>

    

    <lib name="lib_fire_storm_event">

        <![CDATA[

            function doStartFireStormEvent()

                doSetStorage(configFireStormEvent.storages.joining, -1)

                

                if configFireStormEvent.players.min <= doCountPlayersFireStormEvent() then        

                    for _, cid in ipairs(getPlayersOnline()) do

                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then

                            doCreatureSetNoMove(cid, false)

                            doRemoveCondition(cid, CONDITION_INFIGHT)

                            doTeleportThing(cid, configFireStormEvent.position)

                            doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)

                            

                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Get ready. Fire Storm Event start in '..configFireStormEvent.startEvent..' seconds.')

                        end

                    end

                    

                    addEvent(doSetStorage, configFireStormEvent.startEvent * 1000, configFireStormEvent.storages.main, 1)

                    addEvent(doRepeatCheckFireStorm, configFireStormEvent.startEvent * 1000 + 2000)

                    

                    doBroadcastMessage('Fire Storm Event has started. LET\'S GO!')

                else

                    for _, cid in ipairs(getPlayersOnline()) do

                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then

                            doCreatureSetNoMove(cid, false)

                            doRemoveCondition(cid, CONDITION_INFIGHT)

                        end

                    end

                    

                    doBroadcastMessage('Fire Storm hasn\'t started beacuse there were not enough players.')

                end

            end

            

            function doRepeatCheckFireStorm()

                if getStorage(configFireStormEvent.storages.main) > 0 then

                    local xTable, yTable, playerTable = {}, {}, {}

 

                    for x = configFireStormEvent.room.from.x, configFireStormEvent.room.to.x do

                        for y = configFireStormEvent.room.from.y, configFireStormEvent.room.to.y do

                            table.insert(xTable, x)

                            table.insert(yTable, y)

 

                            local n, i = getTileInfo({x=x, y=y, z=configFireStormEvent.room.to.z}).creatures, 1

                            if n ~= 0 then

                                local v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid

                                while v ~= 0 do

                                    if isPlayer(v) then

                                        table.insert(playerTable, v)

                                        if n == #playerTable then

                                            break

                                        end

                                    end

                                    i = i + 1

                                    v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid

                                end

                            end

                        end

                    end

 

                    if #playerTable == 1 then

                        local prize = math.random(#configFireStormEvent.rewards)

                        doCreatureAddHealth(playerTable[1], getCreatureMaxHealth(playerTable[1]) - getCreatureHealth(playerTable[1]))

                        doCreatureAddMana(playerTable[1], getCreatureMaxMana(playerTable[1]) - getCreatureMana(playerTable[1]))

                        doTeleportThing(playerTable[1], getTownTemplePosition(getPlayerTown(playerTable[1])), true)

                        doPlayerAddItem(playerTable[1], configFireStormEvent.rewards[prize], 1)

                        doPlayerSendTextMessage(playerTable[1], MESSAGE_EVENT_ADVANCE, 'You win! You have received ' .. getItemNameById(configFireStormEvent.rewards[prize]) .. ' as reward.')

                        doBroadcastMessage('Fire Storm Event has finished. The winner is ' .. getCreatureName(playerTable[1]) .. '. Congratulations.')

                        doSetStorage(configFireStormEvent.storages.main, -1)

                        

                        db.query("INSERT INTO `events` (`event_name`, `winner_name`, `won_item`, `time_win`) VALUES (\"Fire\", \"" .. getCreatureName(playerTable[1]) .. "\", \"" .. getItemNameById(configFireStormEvent.rewards[prize]) .. "\", " .. getStorage(configFireStormEvent.storages.countEvent) ..");")

                        doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)

                        

                        x, y = 1, 1

                    elseif #playerTable > 1 then

                        for a = 1, y do

                            addEvent(

                                function()

                                    local pos = {x=xTable[math.random(#xTable)], y=yTable[math.random(#yTable)], z=7}

 

                                    for _, player in ipairs(playerTable) do

                                        local pPos = getThingPos(player)

                                        if pPos.x == pos.x and pPos.y == pos.y and pPos.z == pos.z then

                                            doCreatureAddHealth(player, - getCreatureMaxHealth(player))

                                        end

                                    end

                                    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)

                                end,

                                math.random(100,1000)

                            )

                        end

                        if x == 5 * y then

                            y = y + 1

                        end

                        

                        x = x + 1

                    else

                        doBroadcastMessage('No one have won in Fire Storm Event.')

                        doSetStorage(configFireStormEvent.storages.main, -1)                        

                        doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)

                        x, y = 1, 1

                    end

                    

                    addEvent(doRepeatCheckFireStorm, configFireStormEvent.fireStormDelay)

                end

            end

            

            function doCountPlayersFireStormEvent()

                local x = 0

                for _, cid in ipairs(getPlayersOnline()) do

                    if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then

                        x = x + 1

                    end

                end

                return x

            end

            

            function doStartCountingFireStormEvent(x)

                if configFireStormEvent.delayTime-x > 0 then

                    doBroadcastMessage('Fire Storm Event will start in '..configFireStormEvent.delayTime-x..' minutes. You can join to the event by say "!fire join".')

                    addEvent(doStartCountingFireStormEvent, 60*1000, x+1)

                end

            end

        ]]>

    </lib>

 

    <talkaction words="!fire" event="script">

        <![CDATA[

            domodlib("config_fire_storm_event")

 

            function onSay(cid, words, param)

                if getStorage(configFireStormEvent.storages.joining) ~= 1 then

                    return doPlayerSendCancel(cid, 'Fire Storm Event hasn\'t started yet.')

                elseif param == '' then

                    return doPlayerSendCancel(cid, 'Command param required (say: "!fire join" or "!fire leave.").')

                elseif getPlayerLevel(cid) < configFireStormEvent.players.minLevel then

                    return doPlayerSendCancel(cid, 'You can\'t join to the event if you don\'t have a require '..configFireStormEvent.players.minLevel..' level.')

                elseif getTileInfo(getThingPos(cid)).protection ~= true then

                    return doPlayerSendCancel(cid, 'You can\'t join to the event if you aren\'t in protection zone.')

                elseif exhaustion.check(cid, configFireStormEvent.storages.exhaust) ~= false then

                    return doPlayerSendCancel(cid, 'You must wait '..exhaustion.get(cid, configFireStormEvent.storages.exhaust)..' seconds to use this command again.')

                end

 

                if param == 'join' then

                    if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then

                        return doPlayerSendCancel(cid, 'You have arleady joined to event. Wait patiently for start.')

                    elseif doCountPlayersFireStormEvent() == configFireStormEvent.players.max then

                        return doPlayerSendCancel(cid, 'Max players in the event have been reached.')

                    end

                    

                    doCreatureSetNoMove(cid, true)

                    doPlayerPopupFYI(cid, configFireStormEvent.text)

                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, 1)

                    doAddCondition(cid, createConditionObject(CONDITION_INFIGHT, -1))

                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have joined to Fire Storm Event. You can\'t move until event don\'t start. Wait patiently for the event start.')

                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have joined to Fire Storm Event.')

                elseif param == 'leave' then

                    if getCreatureStorage(cid, configFireStormEvent.storages.player) <= 0 then

                        return doPlayerSendCancel(cid, 'You can\'t leave from the event if you don\'t join.')

                    end

                    

                    doCreatureSetNoMove(cid, false)

                    doRemoveCondition(cid, CONDITION_INFIGHT)

                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)

                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have left from the Fire Storm Event.')

                end

                

                exhaustion.set(cid, configFireStormEvent.storages.exhaust, 5)

                

                return true

            end

        ]]>

    </talkaction>

    

    <talkaction words="!startfire" access="4" event="script">

        <![CDATA[

            domodlib("config_fire_storm_event")

            domodlib("lib_fire_storm_event")

 

            function onSay(cid, words, param)

                if getStorage(configFireStormEvent.storages.main) > 0 then

                    return doPlayerSendCancel(cid, 'Fire Storm Event is already running.')

                end

            

                doStartCountingFireStormEvent(0)

                

                for _, pid in ipairs(getPlayersOnline()) do

                    if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then

                        doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)

                        doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)

                    end

                end

                

                doSetStorage(configFireStormEvent.storages.joining, 1)

                addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)

                return true

            end

        ]]>

    </talkaction>

 

    <globalevent name="Fire_Storm_Event_Days" interval="1000" event="script">

        <![CDATA[

            domodlib("config_fire_storm_event")

            domodlib("lib_fire_storm_event")

 

            local daysOpen = {}            

            for k, v in pairs(configFireStormEvent.days) do

                table.insert(daysOpen, k)

            end

            

            function onThink(interval)

                if isInArray(daysOpen, os.date('%A')) then

                    if isInArray(configFireStormEvent.days[os.date('%A')], os.date('%X', os.time())) then

                        if getStorage(configFireStormEvent.storages.joining) ~= 1 then

                            doStartCountingFireStormEvent(0)

                            

                            for _, pid in ipairs(getPlayersOnline()) do

                                if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then

                                    doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)

                                    doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)

                                end

                            end

                            

                            doSetStorage(configFireStormEvent.storages.joining, 1)

                            addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)

                        end

                    end

                end

                return true

            end

        ]]>

    </globalevent>

 

    <event type="statschange" name="Fire_Storm_Event_Dead" event="script">

        <![CDATA[

            domodlib("config_fire_storm_event")

 

            function onStatsChange(cid, attacker, type, combat, value)

                if type == 1 and getCreatureHealth(cid) <= value then

                    if isInRange(getThingPos(cid), configFireStormEvent.room.from, configFireStormEvent.room.to) then

                        doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))

                        doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid))

                        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You loss.')

                        return false

                    end

                end

                return true

            end

        ]]>

    </event>

    

    <event type="login" name="Fire_Storm_Event_Login" event="script">

        <![CDATA[

            domodlib("config_fire_storm_event")

        

            function onLogin(cid)

                if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then

                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)

                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true)

                    doCreatureSetNoMove(cid, false)

                    doRemoveCondition(cid, CONDITION_INFIGHT)

                end

 

                registerCreatureEvent(cid, 'Fire_Storm_Event_Dead')

                return true

            end

        ]]>

    </event>

    

    <globalevent name="Fire_Storm_Event_Start" type="startup" event="script">

        <![CDATA[

            domodlib("config_fire_storm_event")

 

            function onStartup()

                doSetStorage(configFireStormEvent.storages.main, -1)

                doSetStorage(configFireStormEvent.storages.joining, -1)

                return true

            end

        ]]>

    </globalevent>

</mod>

 

ajudA UP

TERIA COMO alguem me ajuda meu ot e 8.54 vai funfa? configurei tudo certo pls olha imagem ali com os erros

 

 

 

 

Que rev usa? (sources)

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

3.4.5 versao da distro cliente 8.54 

 

 

mas n tem como da error pq tem algo mal configurado ali na linha 30 teria como ver ? 


a n tenho a soures do meu ot narutibia eo shinobi tentei ve se alguem tinha aqui no Tk ninguem tem 


Absolute saberia dize o erros da imagem ?

 

alguma parte ali do script talves eu possa ter configurado algo que n podia teria como ver pra mim ? 


ooooooooooo up


MDS AJUDA AI PLSSSS


???

Link para o post
Compartilhar em outros sites

Refazendo esse Evento poq só por chesus ... Alguem poderia me dizer onde existe essa função? "doSetStorage" UHAuHAUAH

Skype : emersonaaron Se Te ajudei não me REP+ isso não muda nada! kkkkkkkkkkkk

Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 10 months later...

Desculpa reviver o tópico, mas tenho o mesmo problema.

 

Cheio de erros para OT 8.6 Rev 3777 ...


CONSEGUI RESOLVER ! PARA QUEM QUER O MOD PARA OT 8.6 AQUI ESTÁ:

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Fire Storm Event" version="1.0" author="iFate" contact="otland.net/members/iFate/" enabled="yes">
 
<config name="lms_config">
<![CDATA[
configFire = {
storage = 8998, -- set free storage
eventStorage = 6254, -- set free storage
joinEventStorage = 5535, -- set free storage
countPlayerStorage = 7373, -- set free storage
exhaustStorage = 8387,
 
maxPlayers = 50, -- max players in event
teleportPos = {x=32164 ,y=32236,z=7}, -- position to which player is teleporting
rewardID = {9693}, -- reward id which player can win (reward is random)
minLevel = 80, -- minimum of level with which player can join to event
days = {
['Monday'] = {'18:00:00'},
['Tuesday'] = {'18:00:00'}, 
['Wednesday'] = {'18:00:00'},
['Thursday'] = {'18:00:00'}, 
['Friday'] = {'18:00:00'},
['Saturday'] = {'18:00:00'},
['Sunday'] = {'18:00:00'}
},
minPlayers = 2,
 
delayTime = 1.0, -- time in which players who joined to event are teleporting to teleport position
timeToStartEvent = 30 -- time from teleport to start event
}
 
arena = {fromPos = {x=32132,y=32207,z=7}, -- left top corner of event room
toPos = {x=32198,y=32255,z=7} -- right bottom corner of event room
}
 
y, x = 1, 1
]]>
</config>
 
<lib name="lms_fire_lib">
<![CDATA[
function doStartEvent()
doSetStorage(configFire.joinEventStorage, -1)
 
if configFire.minPlayers <= getStorage(configFire.countPlayerStorage) + 1 then 
for _, cid in ipairs(getPlayersOnline()) do
if getCreatureStorage(cid, configFire.storage) == 1 then
addEvent(doSetStorage, configFire.timeToStartEvent * 1000, configFire.eventStorage, 1)
doCreatureSetStorage(cid, configFire.storage, -1)
doCreatureSetNoMove(cid, false)
doRemoveCondition(cid, CONDITION_INFIGHT)
 
doTeleportThing(cid, configFire.teleportPos)
 
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Get ready, The Event will start in ' .. configFire.timeToStartEvent .. ' seconds.')
end
end
else
for _, cid in ipairs(getPlayersOnline()) do
if getCreatureStorage(cid, configFire.storage) == 1 then
doCreatureSetNoMove(cid, false)
doRemoveCondition(cid, CONDITION_INFIGHT)
end
end
doBroadcastMessage('The fire storm event has not started because not enough players joined.', MESSAGE_EVENT_ADVANCE)
end
 
doSetStorage(configFire.countPlayerStorage, 0)
end
]]>
</lib>
 
<talkaction words="!event" event="script">
<![CDATA[
domodlib("lms_config")
 
function onSay(cid, words, param)
local storage, playerJoined, counter = getCreatureStorage(cid, configFire.storage), {}, getStorage(configFire.countPlayerStorage)
 
if getStorage(configFire.joinEventStorage) == 1 then
if(param == '') then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'Command param required (say: "!event join" or "!event leave").')
end
 
if configFire.minLevel ~= nil then
if getPlayerLevel(cid) < configFire.minLevel then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'You cannot join The Fire Storm Event if you do not have a require level. [' .. configFire.minLevel .. ']')
end
end
 
if getTileInfo(getThingPos(cid)).protection ~= true then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'You cannot join The Fire Storm Event if you are not in a Protection Zone.')
end
 
if exhaustion.check(cid, configFire.exhaustStorage) ~= false then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'You must wait' .. exhaustion.get(cid, configFire.exhaustStorage) .. ' seconds.')
end
 
if param == 'join' then
if storage <= 0 then
if counter ~= configFire.maxPlayers - 1 then
doSetStorage(configFire.countPlayerStorage, 0)
for _, pid in ipairs(getPlayersOnline()) do
if getCreatureStorage(pid, configFire.storage) > 0 then
table.insert(playerJoined, pid)
doSetStorage(configFire.countPlayerStorage, #playerJoined)
end
end
local count = getStorage(configFire.countPlayerStorage)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, count == 0 and 'You are first in the fire storm event.' or count == 1 and 'There is 1 player in fire storm event.' or count > 1 and 'There are '.. count ..' players in fire storm event.')
doCreatureSetStorage(cid, configFire.storage, 1)
 
doCreatureSetNoMove(cid, true)
local condition = createConditionObject(CONDITION_INFIGHT,-1)
 
doAddCondition(cid, condition)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have joined the Fire Storm Event, You may not move until the Event has started please wait patiently...')
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'Max players in event have been reached.')
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'You already joined the Event, Wait patiently for it to start.')
end
elseif param == 'leave' then
if storage > 0 then
doCreatureSetNoMove(cid, false)
doRemoveCondition(cid, CONDITION_INFIGHT)
doCreatureSetStorage(cid, configFire.storage, -1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have left the Fire Run Event, And you can move now.')
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'You cannot leave The Fire Storm Event.')
end
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_SMALL, 'You cannot join/leave The Fire Storm Event yet.')
end
 
exhaustion.set(cid, configFire.exhaustStorage, 5)
 
return true
end
]]>
</talkaction>
 
<talkaction words="!startfire" access="5" event="script">
<![CDATA[
domodlib("lms_config")
domodlib("lms_fire_lib")
 
function onSay(cid, words, param)
doBroadcastMessage('Fire Storm Event will start in ' .. configFire.delayTime .. ' minutes. You can join the Fire Storm Event by using this command "!event join".', MESSAGE_EVENT_ADVANCE)
 
for _, pid in ipairs(getPlayersOnline()) do
if getCreatureStorage(pid, configFire.storage) == 1 then
doCreatureSetStorage(pid, configFire.storage, -1)
doSetStorage(configFire.countPlayerStorage, 0)
doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
end
end
 
doSetStorage(configFire.joinEventStorage, 1) 
addEvent(doStartEvent, configFire.delayTime * 60 * 1000)
return true
end
]]>
</talkaction>
 
<event type="think" name="LMS_Event_Start" event="script">
<![CDATA[
domodlib("lms_config")
domodlib("lms_fire_lib")
 
local daysOpen = {}
 
for k, v in pairs(configFire.days) do
table.insert(daysOpen, k)
end
 
function onThink(cid, interval)
if isInArray(daysOpen, os.date('%A')) then
if isInArray(configFire.days[os.date('%A')], os.date('%X', os.time())) then
if getStorage(configFire.joinEventStorage) ~= 1 then
doBroadcastMessage('Fire Storm Event will start in '.. configFire.delayTime ..' minutes. You can join the event by typing "!event join".', MESSAGE_EVENT_ADVANCE)
 
for _, pid in ipairs(getPlayersOnline()) do
if getCreatureStorage(pid, configFire.storage) == 1 then
doCreatureSetStorage(pid, configFire.storage, -1)
doSetStorage(configFire.countPlayerStorage, 0)
doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
end
end
 
doSetStorage(configFire.joinEventStorage, 1) 
addEvent(doStartEvent, configFire.delayTime * 60 * 1000)
end
end
end
return true
end
]]>
</event>
 
<globalevent name="LMS_Event" interval="1000" event="script">
<![CDATA[
domodlib("lms_config")
 
function onThink(interval, lastExecution)
if getStorage(configFire.eventStorage) == 1 then
local xTable, yTable, playerTable = {}, {}, {}
 
for x = arena.fromPos.x, arena.toPos.x do
for y = arena.fromPos.y, arena.toPos.y do
table.insert(xTable, x)
table.insert(yTable, y)
 
local n, i = getTileInfo({x=x, y=y, z=7}).creatures, 1
if n ~= 0 then
local v = getThingfromPos({x=x, y=y, z=7, stackpos=i}).uid
while v ~= 0 do
if isPlayer(v) then
table.insert(playerTable, v)
if n == #playerTable then
break
end
end
i = i + 1
v = getThingfromPos({x=x, y=y, z=7, stackpos=i}).uid
end
end
end
end
 
if #playerTable == 1 then
local prize = math.random(#configFire.rewardID)
 
doTeleportThing(playerTable[1], getTownTemplePosition(getPlayerTown(playerTable[1])), true)
doPlayerAddItem(playerTable[1], configFire.rewardID[prize], 1)
doPlayerSendTextMessage(playerTable[1], MESSAGE_EVENT_ADVANCE, 'You win. Your reward is ' .. getItemNameById(configFire.rewardID[prize]) .. '.')
doBroadcastMessage('Fire Storm Event have finished. The winner is ' .. getCreatureName(playerTable[1]) .. '. Congratulations.', MESSAGE_EVENT_ADVANCE)
doSetStorage(configFire.eventStorage, -1)
 
x, y = 1, 1
elseif #playerTable > 1 then
for a = 1, y do
local pos = {x=xTable[math.random(#xTable)], y=yTable[math.random(#yTable)], z=7}
 
for _, player in ipairs(playerTable) do
local pPos = getThingPos(player)
if pPos.x == pos.x and pPos.y == pos.y and pPos.z == pos.z then
doCreatureAddHealth(player, - getCreatureMaxHealth(player))
end
end
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)
end
if x == 5 * y then
y = y + 1
end
 
x = x + 1
else
doBroadcastMessage('No one Won the Fire Storm Event.', MESSAGE_EVENT_ADVANCE)
doSetStorage(configFire.eventStorage, -1)
x, y = 1, 1
end
end 
return true
end
]]>
</globalevent>
 
<event type="login" name="LMS_Fire_login" event="script">
<![CDATA[
function onLogin(cid)
if getCreatureStorage(cid, configFire.storage) == 1 then
doCreatureSetStorage(cid, configFire.storage, -1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true)
doCreatureSetNoMove(cid, false)
doRemoveCondition(cid, CONDITION_INFIGHT)
end
 
registerCreatureEvent(cid, "LMS_fire_dead")
registerCreatureEvent(cid, "LMS_Event_Start")
return true
end
]]>
</event>
 
<event type="statschange" name="LMS_fire_dead" event="script">
<![CDATA[
domodlib("lms_config")
 
function onStatsChange(cid, attacker, type, combat, value)
if type == 1 and getCreatureHealth(cid) <= value then
if isInRange(getThingPos(cid), arena.fromPos, arena.toPos) then
doCreatureAddHealth(cid, - getCreatureHealth(cid) + 1)
doCreatureAddMana(cid, - getCreatureMana(cid))
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have lost the Fire Storm Event.')
return false
end
end
return true
end
]]>
</event>
</mod>

Link para o post
Compartilhar em outros sites
  • 3 months later...

Bom dia Galerinha do Tibia King. Usei o evento civil war do Absolute e gostei muito, entao tentei usar o FireStorm, porém depois de fazer todas as mudancas (Coordenadas e rewards), eu tentei botar o otserver online. Ele comecou a me dar um erro. Sempre que alguém tentava logar eu ganhava o mesmo erro. Abaixo postarei a imagem no erro, e o meu mod que eu peguei do Absolute. Por favor, se alguém puder me ajudar, ficarei muito agradecido. 

 

 

 

w-fire.xml

Error.png

Link para o post
Compartilhar em outros sites
  • 1 month later...
Em 04/06/2014 21:21:29, Absolute disse:

Hello nação TK, de um tempo pra cá eu e o membro ViitinG resolvemos trabalhar em cima de um novo evento para vocês, é o FireStorm event!

 

Eu vim trabalhando no script do evento em MODS e o Victor no mapa do mesmo.

 

WTF DE FAIRIEISTORMIII IS IT?

Pois é galera, o nome já diz tudo "Chuva de Fogos".
Algum membro da equipe executará o comando !startfire para dar início ao evento, então irá aparecer uma mensagem para todos os jogadores do servidor que o evento Fire Storm foi aberto.
Então os jogadores irão dizer: !joinfire para entrar no evento, os jogadores ficarão imóveis até que o evento comece, o jogador não poderá usar o comando quando estiver com battle fight.

Pós dar o tempo para inciar o evento (configurável no script) os jogadores serão teleportados para a área específica do mesmo onde em 1 minuto começará a cair FOGOS do céu, onde os jogadores contaram com a habilidade e a sorte para fugir dos fogos.
A regra é clara Casa Grande, foi atingido é teleportado para o templo com a mensagem "You loss" VOCÊ PERDEU BABY!

 

O Último sobrevivente da arena é recompensado com X item automáticamente (configurável).

 

 

 

Sem mimimi vamos ao que interessa:

 

Na pasta incial do seu servidor há uma pasta com o nome de MODS, então crie um arquivo com o nome de w-fire.xml dentro dela com o conteúdo abaixo:


<?xml version="1.0" encoding="UTF-8"?>
<mod name="Fire_Storm_Event" version="0.1" author="Absolute Version" contact="lu.lukinha" enabled="yes">

    <config name="config_fire_storm_event">
        <![CDATA[
            configFireStormEvent = {
                storages = {
                    main = 'fireStormEventMain', -- set free storage
                    player = 'fireStormEventPlayer', -- set free storage
                    joining = 'fireStormEventJoining', -- set free storage
                    exhaust = 'fireStormEventExhaust', -- set free storage
                    countEvent = 'fireStormEventCountEvent' -- set free storage
                },
                
                position = {x=890 ,y=993,z=7}, -- posiotion to which player is teleporting
                room = {
                    from = {x=736,y=933,z=7}, -- left top corner of event room
                    to = {x=781,y=955,z=7} -- right bottom corner of event room
                },

                rewards = {8858, 2346, 2538, 2437}, -- reward id which player can win (reward is random)
                players = {
                    max = 80,
                    min = 2,
                    minLevel = 100
                },

                days = {
                    ['Tuesday'] = {'19:59:20'},
                    ['Thursday'] = {'19:59:20'},
                    ['Sunday'] = {'19:59:20'}
                },

                fireStormDelay = 1000, -- milisecond
                
                delayTime = 5.0, -- time in which players who joined to event are teleporting to teleport position
                startEvent = 5 -- time from teleport to start event
                text = '-PL-\nAby wygrac i otrzymac nagrode, utrzymaj sie jak najdluzej na arenie.\n\n-ENG-\nTo win and get a Rewards, to stay as long as possible in the arena.'
            }

            y, x = 1, 1 -- don't change it
        ]]>
    </config>
    
    <lib name="lib_fire_storm_event">
        <![CDATA[
            function doStartFireStormEvent()
                doSetStorage(configFireStormEvent.storages.joining, -1)
                
                if configFireStormEvent.players.min <= doCountPlayersFireStormEvent() then        
                    for _, cid in ipairs(getPlayersOnline()) do
                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                            doCreatureSetNoMove(cid, false)
                            doRemoveCondition(cid, CONDITION_INFIGHT)
                            doTeleportThing(cid, configFireStormEvent.position)
                            doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                            
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Get ready. Fire Storm Event start in '..configFireStormEvent.startEvent..' seconds.')
                        end
                    end
                    
                    addEvent(doSetStorage, configFireStormEvent.startEvent * 1000, configFireStormEvent.storages.main, 1)
                    addEvent(doRepeatCheckFireStorm, configFireStormEvent.startEvent * 1000 + 2000)
                    
                    doBroadcastMessage('Fire Storm Event has started. LET\'S GO!')
                else
                    for _, cid in ipairs(getPlayersOnline()) do
                        if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                            doCreatureSetNoMove(cid, false)
                            doRemoveCondition(cid, CONDITION_INFIGHT)
                        end
                    end
                    
                    doBroadcastMessage('Fire Storm hasn\'t started beacuse there were not enough players.')
                end
            end
            
            function doRepeatCheckFireStorm()
                if getStorage(configFireStormEvent.storages.main) > 0 then
                    local xTable, yTable, playerTable = {}, {}, {}

                    for x = configFireStormEvent.room.from.x, configFireStormEvent.room.to.x do
                        for y = configFireStormEvent.room.from.y, configFireStormEvent.room.to.y do
                            table.insert(xTable, x)
                            table.insert(yTable, y)

                            local n, i = getTileInfo({x=x, y=y, z=configFireStormEvent.room.to.z}).creatures, 1
                            if n ~= 0 then
                                local v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid
                                while v ~= 0 do
                                    if isPlayer(v) then
                                        table.insert(playerTable, v)
                                        if n == #playerTable then
                                            break
                                        end
                                    end
                                    i = i + 1
                                    v = getThingfromPos({x=x, y=y, z=configFireStormEvent.room.to.z, stackpos=i}).uid
                                end
                            end
                        end
                    end

                    if #playerTable == 1 then
                        local prize = math.random(#configFireStormEvent.rewards)
                        doCreatureAddHealth(playerTable[1], getCreatureMaxHealth(playerTable[1]) - getCreatureHealth(playerTable[1]))
                        doCreatureAddMana(playerTable[1], getCreatureMaxMana(playerTable[1]) - getCreatureMana(playerTable[1]))
                        doTeleportThing(playerTable[1], getTownTemplePosition(getPlayerTown(playerTable[1])), true)
                        doPlayerAddItem(playerTable[1], configFireStormEvent.rewards[prize], 1)
                        doPlayerSendTextMessage(playerTable[1], MESSAGE_EVENT_ADVANCE, 'You win! You have received ' .. getItemNameById(configFireStormEvent.rewards[prize]) .. ' as reward.')
                        doBroadcastMessage('Fire Storm Event has finished. The winner is ' .. getCreatureName(playerTable[1]) .. '. Congratulations.')
                        doSetStorage(configFireStormEvent.storages.main, -1)
                        
                        db.query("INSERT INTO `events` (`event_name`, `winner_name`, `won_item`, `time_win`) VALUES (\"Fire\", \"" .. getCreatureName(playerTable[1]) .. "\", \"" .. getItemNameById(configFireStormEvent.rewards[prize]) .. "\", " .. getStorage(configFireStormEvent.storages.countEvent) ..");")
                        doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)
                        
                        x, y = 1, 1
                    elseif #playerTable > 1 then
                        for a = 1, y do
                            addEvent(
                                function()
                                    local pos = {x=xTable[math.random(#xTable)], y=yTable[math.random(#yTable)], z=7}

                                    for _, player in ipairs(playerTable) do
                                        local pPos = getThingPos(player)
                                        if pPos.x == pos.x and pPos.y == pos.y and pPos.z == pos.z then
                                            doCreatureAddHealth(player, - getCreatureMaxHealth(player))
                                        end
                                    end
                                    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)
                                end,
                                math.random(100,1000)
                            )
                        end
                        if x == 5 * y then
                            y = y + 1
                        end
                        
                        x = x + 1
                    else
                        doBroadcastMessage('No one have won in Fire Storm Event.')
                        doSetStorage(configFireStormEvent.storages.main, -1)                        
                        doSetStorage(configFireStormEvent.storages.countEvent, getStorage(configFireStormEvent.storages.countEvent) + 1)
                        x, y = 1, 1
                    end
                    
                    addEvent(doRepeatCheckFireStorm, configFireStormEvent.fireStormDelay)
                end
            end
            
            function doCountPlayersFireStormEvent()
                local x = 0
                for _, cid in ipairs(getPlayersOnline()) do
                    if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                        x = x + 1
                    end
                end
                return x
            end
            
            function doStartCountingFireStormEvent(x)
                if configFireStormEvent.delayTime-x > 0 then
                    doBroadcastMessage('Fire Storm Event will start in '..configFireStormEvent.delayTime-x..' minutes. You can join to the event by say "!fire join".')
                    addEvent(doStartCountingFireStormEvent, 60*1000, x+1)
                end
            end
        ]]>
    </lib>

    <talkaction words="!fire" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")

            function onSay(cid, words, param)
                if getStorage(configFireStormEvent.storages.joining) ~= 1 then
                    return doPlayerSendCancel(cid, 'Fire Storm Event hasn\'t started yet.')
                elseif param == '' then
                    return doPlayerSendCancel(cid, 'Command param required (say: "!fire join" or "!fire leave.").')
                elseif getPlayerLevel(cid) < configFireStormEvent.players.minLevel then
                    return doPlayerSendCancel(cid, 'You can\'t join to the event if you don\'t have a require '..configFireStormEvent.players.minLevel..' level.')
                elseif getTileInfo(getThingPos(cid)).protection ~= true then
                    return doPlayerSendCancel(cid, 'You can\'t join to the event if you aren\'t in protection zone.')
                elseif exhaustion.check(cid, configFireStormEvent.storages.exhaust) ~= false then
                    return doPlayerSendCancel(cid, 'You must wait '..exhaustion.get(cid, configFireStormEvent.storages.exhaust)..' seconds to use this command again.')
                end

                if param == 'join' then
                    if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                        return doPlayerSendCancel(cid, 'You have arleady joined to event. Wait patiently for start.')
                    elseif doCountPlayersFireStormEvent() == configFireStormEvent.players.max then
                        return doPlayerSendCancel(cid, 'Max players in the event have been reached.')
                    end
                    
                    doCreatureSetNoMove(cid, true)
                    doPlayerPopupFYI(cid, configFireStormEvent.text)
                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, 1)
                    doAddCondition(cid, createConditionObject(CONDITION_INFIGHT, -1))
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have joined to Fire Storm Event. You can\'t move until event don\'t start. Wait patiently for the event start.')
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have joined to Fire Storm Event.')
                elseif param == 'leave' then
                    if getCreatureStorage(cid, configFireStormEvent.storages.player) <= 0 then
                        return doPlayerSendCancel(cid, 'You can\'t leave from the event if you don\'t join.')
                    end
                    
                    doCreatureSetNoMove(cid, false)
                    doRemoveCondition(cid, CONDITION_INFIGHT)
                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have left from the Fire Storm Event.')
                end
                
                exhaustion.set(cid, configFireStormEvent.storages.exhaust, 5)
                
                return true
            end
        ]]>
    </talkaction>
    
    <talkaction words="!startfire" access="4" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
            domodlib("lib_fire_storm_event")

            function onSay(cid, words, param)
                if getStorage(configFireStormEvent.storages.main) > 0 then
                    return doPlayerSendCancel(cid, 'Fire Storm Event is already running.')
                end
            
                doStartCountingFireStormEvent(0)
                
                for _, pid in ipairs(getPlayersOnline()) do
                    if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then
                        doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)
                        doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
                    end
                end
                
                doSetStorage(configFireStormEvent.storages.joining, 1)
                addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)
                return true
            end
        ]]>
    </talkaction>

    <globalevent name="Fire_Storm_Event_Days" interval="1000" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
            domodlib("lib_fire_storm_event")

            local daysOpen = {}            
            for k, v in pairs(configFireStormEvent.days) do
                table.insert(daysOpen, k)
            end
            
            function onThink(interval)
                if isInArray(daysOpen, os.date('%A')) then
                    if isInArray(configFireStormEvent.days[os.date('%A')], os.date('%X', os.time())) then
                        if getStorage(configFireStormEvent.storages.joining) ~= 1 then
                            doStartCountingFireStormEvent(0)
                            
                            for _, pid in ipairs(getPlayersOnline()) do
                                if getCreatureStorage(pid, configFireStormEvent.storages.player) > 0 then
                                    doCreatureSetStorage(pid, configFireStormEvent.storages.player, -1)
                                    doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true)
                                end
                            end
                            
                            doSetStorage(configFireStormEvent.storages.joining, 1)
                            addEvent(doStartFireStormEvent, configFireStormEvent.delayTime * 60 * 1000)
                        end
                    end
                end
                return true
            end
        ]]>
    </globalevent>

    <event type="statschange" name="Fire_Storm_Event_Dead" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")

            function onStatsChange(cid, attacker, type, combat, value)
                if type == 1 and getCreatureHealth(cid) <= value then
                    if isInRange(getThingPos(cid), configFireStormEvent.room.from, configFireStormEvent.room.to) then
                        doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))
                        doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid))
                        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You loss.')
                        return false
                    end
                end
                return true
            end
        ]]>
    </event>
    
    <event type="login" name="Fire_Storm_Event_Login" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")
        
            function onLogin(cid)
                if getCreatureStorage(cid, configFireStormEvent.storages.player) > 0 then
                    doCreatureSetStorage(cid, configFireStormEvent.storages.player, -1)
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true)
                    doCreatureSetNoMove(cid, false)
                    doRemoveCondition(cid, CONDITION_INFIGHT)
                end

                registerCreatureEvent(cid, 'Fire_Storm_Event_Dead')
                return true
            end
        ]]>
    </event>
    
    <globalevent name="Fire_Storm_Event_Start" type="startup" event="script">
        <![CDATA[
            domodlib("config_fire_storm_event")

            function onStartup()
                doSetStorage(configFireStormEvent.storages.main, -1)
                doSetStorage(configFireStormEvent.storages.joining, -1)
                return true
            end
        ]]>
    </globalevent>
</mod>

Como configurar:

 

position = {x=890 ,y=993,z=7}, -- posiotion to which player is teleporting - Aqui você deve colocar o centro da posição do mapa que o linduxo do meu querido amigo e parceiro vosso disponibiliza AQUI

from = {x=736,y=933,z=7}, -- left top corner of event room - Aqui você deve colocar a posição superior esquerda da área do evento, como exemplo na imagem:

 

Conteúdo Oculto

 

to = {x=781,y=955,z=7} -- right bottom corner of event room - Aqui você deve colocar a posição inferior direita da área do evento, como exemplo na imagem:

 

 

Conteúdo Oculto


 

Configurar prêmio:

rewards = {8858, 2346, 2538, 2437}, -- reward id which player can win (reward is random) - onde está os números de exemplo 8858, 2346, 2538, 2437 são os IDS dos items que você colocará como premiação, o player ganhará apenas UM item que pode ser um dos 4 (sorteio).
Caso você queira colocar apenas 1 item específico altere para:

rewards = {8858}, -- reward id which player can win (reward is random)

 

 

Permissão para abrir o evento:

<talkaction words="!startfire" access="4" event="script"> - em acess="4" você poderá alterar o membro da staff que poderá abrir, o número 4 indica que CM e ADMS poderão abrir, caso troque para 3, GM'S, CM'S E ADM'S poderão executar o comando !startfire para abrir o evento quando quiser.

 

 

Configuração automática:

    days = {
                    ['Tuesday'] = {'19:59:20'},
                    ['Thursday'] = {'19:59:20'},
                    ['Sunday'] = {'19:59:20'}

 

Simples, os dias são colocados em inglês, então basta ajustar, por exemplo, você quer que o evento ocorra na segunda-feira ás 19:00, segue um exemplo:

   ['Monday'] = {'19:00:00'},

 

Lembrando que o dia e horário deve corresponder com o horário atual da máquina onde roda o servidor.

 

 

É isso meus queridos, na próxima versão do evento colocarei para entrar no mesmo por teleport.

 

Não esqueçam de baixar e usar o mapa que recomendo do Victor aqui. É ideal para o evento =)

 

 

Qualquer dúvida não deixe de me perguntar.

 

 

 

Créditos:
CollocorpuseK base do evento

Absolute (adaptação, funções e abertura por comando)

VitiinG (mapa)

 

 

 

 

EVENTO SUPER BACANA E INTERESSANTE PARA OTS SERVER!,

MAIS VOCE PODERIA ARRUMAR SCRIPTS, ESTA TODO BAGUNÇADO!!

Link para o post
Compartilhar em outros sites
58 minutos atrás, mateusmoretti disse:

 

 

 

EVENTO SUPER BACANA E INTERESSANTE PARA OTS SERVER!,

MAIS VOCE PODERIA ARRUMAR SCRIPTS, ESTA TODO BAGUNÇADO!!

 

BAGUNÇADO? AHUSDHUSHUAHUSAH está todo em mods com as funções e necessidades. Nada bagunçado.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites
1 minuto atrás, Absolute disse:

 

BAGUNÇADO? AHUSDHUSHUAHUSAH está todo em mods com as funções e necessidades. Nada bagunçado.

Oxi, nao quis desrespeitar você nem muito menos ofender!,  me desculpa

e porque vi tudo junto, TALKACTIONS, GLOBALEVENTS, 

No caso pode adicionar tudo aqui em 1 xml so??

 

Link para o post
Compartilhar em outros sites
Agora, mateusmoretti disse:

Oxi, nao quis desrespeitar você nem muito menos ofender!,  me desculpa

e porque vi tudo junto, TALKACTIONS, GLOBALEVENTS, 

No caso pode adicionar tudo aqui em 1 xml so??

 

Não pô também só expliquei doido kkkk

Até agradeci pelo feedback.

Então é só um arquivo MOD .XML

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites
3 horas atrás, Absolute disse:

 

Ta dando esse erro e o server nao liga

 

[26/1/2016 20:7:35] >>> Loading w-fire.xml ...[Error - ScriptManager::loadFromXml] Cannot load mod w-fire.xml
[26/1/2016 20:7:35] Line: 16, Info: Input is not proper UTF-8, indicate encoding !
[26/1/2016 20:7:35] Bytes: 0xEA 0x20 0x64 0x65

Editado por mateusmoretti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Veigh
      IP: HYPEOT.COM (Versão 8.60) Por que jogar no HYPEOT? Confira nossos diferenciais: Sistema de Reset 180+ Montarias 65+ Outfits Sistema de Stage Sistema de Pesca Sistema de Refinamento Sistema de Aura Sistema de Mineração Sistema de Woodcut Sistema de Dungeons Sistema de Survival Mais de 30 Bosses de Alavancas +10 Eventos Automáticos Mais de 5 anos online com apenas 2 resets. Agora estamos de volta com força total desde 05/12! O que você está esperando? Junte-se à aventura e faça parte dessa jornada épica! Conecte-se agora mesmo e não fique de fora!
    • Por Thiagodsw
      Olá galera do Tibia King !
      Venho por meio deste tópico, publicar a ultima versão do meu servidor derivado de Tibia NTO Battle.
       
      deixei para brincarem e verem sistemas, as sources não disponibilizarei nem o site. afinal é um projeto que fiz com carinho e está a venda as sources. Thogo#9713
       
      O que tem de diferente no NTO Battle ? 
       
      Aura System e Wings Healthbar Monster Bar Healthbar vocation Sistema Raridade Shaders Dungeons e Tasks Game Shop Entre outros Veja algumas Imagens !
       
       
      O que tem nesse Pacote de Arquivos NTO Battle? 
       
      Datapack mais recente e completa do servidor. ( compilada pra windows Client Compilado SQL
      ACC GOD - god/god


      QUALQUER MSG NO DISCORD Thogo#9713
      -source client e otserv e site.
       
      DOWNLOAD  &  SCAN


       
      Client:
      https://mega.nz/file/hbgnSDRJ#xQT-qQHWLUV2Dn8jalwMGblCWnmL0_s3rZfqbxO7znw
      Server:
      https://mega.nz/file/sSZXlZ6a#gow-Db6diNVrnnPIH7qyBqP8WmVLFxWy85-yub_f32Y


       
      Scan
      Client
      https://www.virustotal.com/gui/file/86da72135d75d826c2665bb572084c30288eea843c2cfe2f7a405cfe1ea2f59c/detection
      Servidor
      https://www.virustotal.com/gui/file/cfa4d83c8b6c12fa0daf28cefd6762a053aee7245e6be8f5c02594825a2e2c1e?nocache=1
    • Por Ocrux
      Procuro equipe pra abrir um OT Rookgaard. 
      To terminando o mapa, acho que ta bonito e pouco grandinho.
       
      RookSmart
      Continente único, na base de Rookgaard & com cidades de referencias as do Tibia.
      Por hora tem 4 cidades Prontas: Rookgaard, Carlore, Liadahar e Akuahmun.
      Estou terminando a 5ª cidade: Dahlia (de gelo) & já to achando uma boa ideia colocar Roshamuul (já providenciei).
      O servidor ta em TFS 0.4, com sources & na versão 8.6 (creio eu que parado no tempo).
       
      Quem quiser formar uma equipe pra botar on & terminar o que falta, whatsapp: 15 935001689

      Mapa Mundi
       
       
    • Por Fir3element
      Reporte qualquer bug encontrado.
       
      - Mudanças:
      * opcode adicionado
      * Monstros andando em cima de corpos
      * War system arrumado
      * Anti-divulgação melhorado
      * Cast system arrumado
      * Crash bugs arrumados
      * Adicionado exhaust ao comprar/vender items
      * Account manager com opção para cidades
      * /ghost stacking arrumado
      * !disband arrumado
      * Erros no linux arrumado
      * Aleta som arrumado
      * Bug nos rings arrumado
      * Adicionado suporte para Visual Studio
      * Remover battle ao entrar em PZ
      * Não pode jogar lixo em casas
      * Salt removido
       
      - Downloads:
      * Distro (x32): https://github.com/Fir3element/binaries/raw/master/x32-windows.zip
      * Distro (x64): https://github.com/Fir3element/binaries/raw/master/x64-windows.zip
      * Requisitos: Microsoft Visual C++ Redistributable Package
      * Source + datapack: https://github.com/Fir3element/3777/archive/refs/heads/main.zip
       
      - Scans:
      * Distro (x32): https://virustotal.com/pt/file/6683a91273b848a39ac21288da9d3abde341436744d6846e35a477c8e7c8f5f7/analysis/1480675335/
      * Distro (x64): https://virustotal.com/pt/file/21028857bb1124f19e0353e7f5775c8f66afc4f87f29df9cf4ab8ca1a046b816/analysis/1480675394/
      * Source + datapack: https://virustotal.com/pt/file/3761b48ee19f3f540d4c4a48c35c73c89a85615876307073494b1dcfed464d36/analysis/1480675473/
    • Por rhuandiego21
      Boa tarde galera tudo joia ?
      Estou abrindo um server 8.6, so que ja fiz de tudo para deixar ele on, so que nao abre pros outros de jeito nenhum, ja abri as portas no moldem, e no pc, alguem me ajuda por favor obrigado 



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo