Ir para conteúdo
  • 0

[Resolvido] Widget Castle Gesior


Belmont

Pergunta

Aaah, então, eu não sei se precisa adicionar uma storage no script da alavanca do castle que assim que o jogador dominar o castelo o php puxe essa informação e mostre no site, ou é só colocar o php sem uma storage no script da alanvaca. Em fim, como eu adiciono um Widget no meu gesior estilo esse na imagem abaixo? Obrigado desde já, rep+ para quem ajudar.

image.png.96760380efb9ad439fe81ffc40cfddd8.png

 

Caso precise adicionar a storage no script como que faz?

Spoiler

--[[

                Real Castle Event
    Desenvolvido por Vítor Bertolucci (Killua)

]]

realCastle = {
    
    open_storage = 100005,
    guild_storage = 100006,
    date_storages = {100007,100008,100009},
    frompos = {x = 3166, y = 260, z = 7},
    topos = {x = 3293, y = 337, z = 7}

}

realCastle.removePlayers = function()
    local first_cave = getPlayersInArea({x = 2829, y = 7, z = 7},{x = 3118, y = 467, z = 7})
    local second_cave = getPlayersInArea({x = 2902, y = 340, z = 7},{x = 3445, y = 585, z = 7})
    local fifith_cave = getPlayersInArea({x = 3304, y = 192, z = 7},{x = 3687, y = 340, z = 7})
    local sixth_cave = getPlayersInArea({x = 3595, y = 260, z = 8},{x = 3689, y = 338, z = 8})
    local seventh_cave = getPlayersInArea({x = 3616, y = 270, z = 9},{x = 3680, y = 341, z = 9})
    local eight_cave = getPlayersInArea({x = 3445, y = 175, z = 6},{x = 3515, y = 241, z = 6})
    local ninth_cave = getPlayersInArea({x = 3445, y = 175, z = 5},{x = 3515, y = 241, z = 5})
    local tenth_cave = getPlayersInArea({x = 3445, y = 175, z = 4},{x = 3515, y = 241, z = 4})
    local eleventh_cave = getPlayersInArea({x = 3143, y = 342, z = 8},{x = 3246, y = 423, z = 8})
    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 Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if second_cave then
        for _, pid in pairs(second_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2829 and pos.x <= 3118 and pos.y >= 7 and pos.y <= 467 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2902 and pos.x <= 3445 and pos.y >= 340 and pos.y <= 585 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 3304 and pos.x <= 3687 and pos.y >= 192 and pos.y <= 340 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if fifith_cave then
        for _, pid in pairs(fifith_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if sixth_cave then
        for _, pid in pairs(sixth_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if seventh_cave then
        for _, pid in pairs(seventh_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if eight_cave then
        for _, pid in pairs(eight_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if ninth_cave then
        for _, pid in pairs(ninth_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if tenth_cave then
        for _, pid in pairs(tenth_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if eleventh_cave then
        for _, pid in pairs(eleventh_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
    if castle_area then
        for _, pid in pairs(castle_area) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O Castle 48H estar em modo de batalha. Todos os jogadores que estavam dentro do castle foram levados ao templo.")
        end
    end
end

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

realCastle.close = function()
    setGlobalStorageValue(realCastle.open_storage,-1)
    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("[Castle 48H] A batalha terminou e nenhuma guild conseguiu dominar o castelo! Amanhã às 21:00 vocês podem tentar novamente!")
    else
        doBroadcastMessage("[Castle 48H] 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 20: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("[Castle 48H] O jogador "..getPlayerName(cid).." da guild "..getPlayerGuildName(cid).." dominou o castelo! As outras guilds têm até às 21: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

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 1

Bom o layout do Widget não é comigo, vou deixar para o mestre @VictorWEBMaster, mas para pegar o nome da Guild basta utilizar essa essa linha, do resto é só design.

$guildName = $SQL->query('SELECT name FROM `guilds` WHERE id = (SELECT value FROM global_storage WHERE global_storage.key = 100006)')->fetch()['name'];

 

Editado por Gengo
Link para o comentário
Compartilhar em outros sites

  • 0

Há alguma house que a guild ganha quando ganha o castle? Porque com as storages fica meio vago de conseguir o nome da guild com a programação de site....

 

Preciso de uma house_id que a guild recebe quando ganha o castle, dai fica bem facil de conseguir o nome da guild.

Link para o comentário
Compartilhar em outros sites

  • 0

@VictorWEBMaster Isso, a porta é bloqueada por uma storage, e não é uma house, o castle é uma área que abre as 20:00 e termina as 21:00, após o termino do castle a guild que obteve a posse do castle fica com ele por 24h com hunts exclusivas para quem o dominou

Link para o comentário
Compartilhar em outros sites

  • 0

@Phineasz é basicamente aquilo ali o código, vc só vai ajeitar a posição onde vai ficar o Widget e colocar um paragrafo ali na parte preta.

 

$guildName = $SQL->query('SELECT name FROM `guilds` WHERE id = (SELECT value FROM global_storage WHERE global_storage.key = 100006)')->fetch()['name'];
<p>$guildName</p>

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...