Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Citar

realCastle = {
    
    open_storage = 722374,
    guild_storage = 722375,
    date_storages = {722376,722377,722378},
    open_days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Wednesday","Saturday"},
    frompos = {x = 1625, y = 1706, z = 6},
    topos = {x = 1732, y = 1778, z = 6}

}

realCastle.removePlayers = function()    
    local first_cave = getPlayersInArea({x = 1953, y = 1473, z = 0},{x = 2071, y = 1569, z = 0})
    local second_cave = getPlayersInArea({x = 1734, y = 1056, z = 0},{x = 1845, y = 1135, z = 0})
    local third_cave = getPlayersInArea( {x = 2108, y = 1083, z = 0}, {x = 2194, y = 1156, z = 0})
       local fourth_cave = getPlayersInArea( {x = 1882, y = 1668, z = 0}, {x = 1961, y = 1776, z = 0})
    local fifith_cave = getPlayersInArea( {x = 2196, y = 1084, z = 0}, {x = 2278, y = 1169, z = 0})
    local sixth_cave = getPlayersInArea( {x = 1839, y = 1048, z = 0}, {x = 1944, y = 1128, z = 0})
    local area7 = getPlayersInArea( {x = 2323, y = 1093, z = 0}, {x = 2419, y = 1171, z = 0})
    local area8 = getPlayersInArea( {x = 2045, y = 1325, z = 0}, {x = 2206, y = 1441, z = 0})
    local area9 = getPlayersInArea( {x = 1954, y = 1664, z = 0}, {x = 2033, y = 1775, z = 0})
    local area10 = getPlayersInArea( {x = 1771, y = 1679, z = 0}, {x = 1877, y = 1767, z = 0})
        local castle_area = getPlayersInArea(realCastle.frompos,realCastle.topos)
    if first_cave then
        for _, pid in pairs(first_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if second_cave then
        for _, pid in pairs(second_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if third_cave then
        for _, pid in pairs(third_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if fourth_cave then
        for _, pid in pairs(fourth_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2288 and pos.x <= 2364 and pos.y >= 433 and pos.y <= 509 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2148 and pos.x <= 2189 and pos.y >= 641 and pos.y <= 679 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2229 and pos.x <= 622 and pos.y >= 2320 and pos.y <= 704 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if fifith_cave then
        for _, pid in pairs(fifith_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if sixth_cave then
        for _, pid in pairs(sixth_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area10 then
        for _, pid in pairs(area10) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    
    if castle_area then
        for _, pid in pairs(castle_area) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
end

realCastle.open = function()
    setGlobalStorageValue(realCastle.open_storage,1)
    setGlobalStorageValue(realCastle.guild_storage,-1)
    realCastle.removePlayers()
end

realCastle.release = function()
    setGlobalStorageValue(realCastle.guild_storage,-1)
    realCastle.removePlayers()
end

realCastle.close = function()
    setGlobalStorageValue(realCastle.open_storage,-1)
    local tomorrow = getTomorrowsDate(getTomorrowsDate()[1])
    for i = 1,3 do
        setGlobalStorageValue(realCastle.date_storages,tomorrow)
    end
    local players = getPlayersInArea(realCastle.frompos, realCastle.topos)
    if players then
        for _, pid in pairs(players) do
            doTeleportThing(pid,getTownTemplePosition(1))
        end
    end
    if getGlobalStorageValue(realCastle.guild_storage) == -1 then
        doBroadcastMessage("[Real Castle] A batalha terminou e nenhuma guild conseguiu dominar o castelo! Amanhã às 19:00 vocês podem tentar novamente!")
    else
        doBroadcastMessage("[Real Castle] A batalha terminou e a guild vencedora foi "..getGuildNameByID(getGlobalStorageValue(realCastle.guild_storage)).."! Todos os jogadores dessa guild agora podem aproveitar o castelo até amanhâ às 19:00!")
    end
    doSaveServer()
end

realCastle.broadcast = function(message)
    local players = getPlayersInArea(realCastle.frompos, realCastle.topos)
    if players then
        for _, pid in pairs(players) do
            doPlayerSendTextMessage(pid,MESSAGE_STATUS_WARNING,message)
        end
    end
end

realCastle.domain = function(cid)
    local guild_id = getPlayerGuildId(cid)
    setGlobalStorageValue(realCastle.guild_storage,guild_id)
    realCastle.broadcast("[Real Castle] O jogador "..getPlayerName(cid).." da guild "..getPlayerGuildName(cid).." dominou o castelo! As outras guilds têm até às 20:00 para conseguir tirar o domínio deles, não desistam!")
end

realCastle.isDominating = function(cid)
    local guild_id = getPlayerGuildId(cid)
    return guild_id == getGlobalStorageValue(realCastle.guild_storage)
end

realCastle.isOpen = function()
    return getGlobalStorageValue(realCastle.open_storage) == 1
end

 

 

 

 

 

ACTIONS

Citar

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 61466 then
        local guild = getGlobalStorageValue(realCastle.guild_storage) > 1 and "a guild "..getGuildNameByID(getGlobalStorageValue(realCastle.guild_storage)).." possui o domínio" or "nenhuma guild possui o domínio do castelo"
        local sto = realCastle.date_storages
        local gsto = getGlobalStorageValue
        local time = gsto(sto[1]).."/"..gsto(sto[2]).."/"..gsto(sto[3])
        local domain = realCastle.isOpen() and "as guilds estão batalhando pelo domínio do castelo" or guild
        local msg = " ----------[Real Castle]---------\n\n\nAtualmente "..domain..".\n\nPróxima batalha: "..time.." às 21:00."
        doShowTextDialog(cid,8977,msg)
        return true
    end
    if not realCastle.isOpen() then 
        doTeleportThing(cid,getTownTemplePosition(1)) 
        return true 
    end
    if not realCastle.isDominating(cid) then
        realCastle.domain(cid)
        doSendMagicEffect(getThingPos(cid), CONST_ME_CRAPS)
    else
        doPlayerSendCancel(cid,"Sua guild já está com o domínio do castelo.")
    end
    return true
end
 

 

 

GLOBAL EV

Citar

 

local function announce(message, times)
    if times == 0 then return true end
    doBroadcastMessage(message)
    addEvent(announce,5*60000,message,times - 1)
end

--[[function onTime()
    if not realCastle.isOpen() then
        announce("[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!",11)
        for i = 1,4 do
            addEvent(doBroadcastMessage,60000 * i,"[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!")
        end
        realCastle.open()
    else
        realCastle.close()
    end
    return true
end]]

function onTime()
    if realCastle.isOpen() then
        realCastle.close()
    else
        if isInArray(realCastle.open_days, os.date("%A")) then
            announce("[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!",11)
            for i = 1,4 do
                addEvent(doBroadcastMessage,60000 * i,"[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!")
            end
            realCastle.open()
        else
            doBroadcastMessage("[Real Castle] O castelo foi fechado para os plebeus poderem prepará-lo para a próxima batalha, que ocorrerá amanhã às 19:00!")
            realCastle.release()
        end
    end
    return true
end

 


 

 

 

 

MOVEME

 

Citar

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    if item.actionid == 61465 then
        if realCastle.isOpen() then
            if getPlayerGuildId(cid) > 0 then
                if getPlayerLevel(cid) >= 250 then
                    doSendMagicEffect(getThingPos(cid),CONST_ME_MAGIC_BLUE)
                else
                    doPlayerSendCancel(cid,"Somente jogadores level 250+ podem tentar dominar o castelo.")
                    doTeleportThing(cid,fromPosition)
                    doSendMagicEffect(fromPosition,CONST_ME_POFF)
                end
            else
                doPlayerSendCancel(cid,"Somente jogadores com guild podem tentar dominar o castelo.")
                doTeleportThing(cid,fromPosition)
                doSendMagicEffect(fromPosition,CONST_ME_POFF)
            end
        else
            doPlayerSendCancel(cid,"O castelo não está aberto para invasões.")
            doTeleportThing(cid,fromPosition)
            doSendMagicEffect(fromPosition,CONST_ME_POFF)
        end
    elseif item.actionid == 61466 then
        if not realCastle.isOpen() then
            if realCastle.isDominating(cid) then
                doSendMagicEffect(getThingPos(cid),CONST_ME_MAGIC_BLUE)
                doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Bem vindo ao New Castle!")
            else
                doPlayerSendCancel(cid,"Somente membros da guild dominante podem entrar.")
                doTeleportThing(cid,{x = toPosition.x, y = toPosition.y + 2, z = toPosition.z})
                doSendMagicEffect({x = toPosition.x, y = toPosition.y + 2, z = toPosition.z},6)
            end
        else
            doPlayerSendCancel(cid,"Não é permitido entrar no castelo enquanto as guild estão batalhando pelo seu domínio.")
            doTeleportThing(cid,{x = toPosition.x, y = toPosition.y + 2, z = toPosition.z})
            doSendMagicEffect({x = toPosition.x, y = toPosition.y + 2, z = toPosition.z},6)
        end
    end
    return true
end
 

 

 

Ele não funciona, não aparece o horario descrito para começar, não da nenhum erro no tfs 0.4

não começa o evento nem nada do tipo

 

@Cjaker

Editado por mostjf (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Precisa cadastrar o evento no globalevents.xml para que possa ser ativado, no caso ele é do tipo onTime, onde será executado em um tempo específico.
Não sei se é o mesmo exemplo no 8.6, mas segue como funciona nos Servidores atuais.

 

<globalevent name="Event" time="18:00:00" script="events/Event.lua"/>


Após cadastrado no .xml ele poderá ser executado, caso não funcione é problema no Script.

ichigo.gif
https://github.com/Cjaker/

  , _ ,
 ( o o )
/'` ' `'\                     ESTOU TE OBSERVANDO O_O
|'''''''|
|\\'''//|
   """

 

Link para o post
Compartilhar em outros sites

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo