Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Tem um banco global storage, como assim aushusahu não vi nada lá no script do link de mandar pro banco, não vou ficar procurando vou tentar fazer do meu jeito aí

 

Vai no banco, na tabela guilds e adiciona a coluna castleowner, põe default pra ser 0 e põe pra poder ser nil também pra evitar bugs.


Edita o script castlewar1 pra isso aqui

Spoiler

 

 


function onUse(cid, item, frompos, item2, topos) 

local castle_one_name = "Castle24h"                  -- Nome do castelo 1
local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa. 
local premio_vezes = 15            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
local premio = 5468                -- ID do Premio
local premio_cont = 1              -- Quantidade do Premio
local premio_reset = 1             -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

local sto_ativ = getGlobalStorageValue(storages[2])
position = getCreaturePosition(cid)


   if isPlayerGuild(cid) == TRUE then
      if sto_ativ == 1 or sto_ativ == -1 then

         guildname = getPlayerGuildName(cid)     
         guild = getPlayerGuildId(cid)               
         guild_sto = getGlobalStorageValue(storages[3])
                  
            if guild ~= guild_sto then            
               setPlayerStorageValue(cid,guild_sto,guild)                      
               if getPlayerStorageValue(cid,storages[1]) == -1 then
                  setPlayerStorageValue(cid,storages[1],0)
               end
               
               sto_vezes = getPlayerStorageValue(cid,storages[1])                   
               
               setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
               setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
               
               sto_vezes_total = getPlayerStorageValue(cid,storages[1])
                        
               doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22)
			   db.executeQuery("UPDATE `guilds` SET `castleowner` = 0;")
			   db.executeQuery("UPDATE `guilds` SET `castleowner` = 1 WHERE `guilds`.`id` = ".. guild ..";")
               doSendMagicEffect(position, 39)  
                 
                 if premio_por_vezes == 1 then
                    if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
                       if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
                          doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21)
                          doPlayerAddItem(cid, premio,premio_cont)
                          doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!")
                        -----------------------------------------------  --  
                            if premio_reset == 1 then                    --
                               setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
                            end                                          --
                        -----------------------------------------------  --
                        
                       else
                       doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
                       addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
                       end
                    end                                        
                 end               
            else
              doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!")
              doSendMagicEffect(position, 2)
            end
      else
      doPlayerSendCancel(cid,"O sistema está desativado")
      end      
   else
   doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!")
   doSendMagicEffect(position, 2)
   end
end

function additem(cid,premio,premio_cont,premio_reset)

 if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
    doPlayerAddItem(cid, premio,premio_cont)
    doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!")
     if premio_reset == 1 then
        setPlayerStorageValue(cid,storages[1],0)
     end
    stopEvent(additem)
  else
  doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!")
  addEvent(additem,10000,cid)
  end
end

function isPlayerGuild(cid)
if getPlayerGuildName(cid) ~= "" then
return TRUE
else
return FALSE
end
end

 

 

Edita esse script ae do gesior pra isso

 

Spoiler

<div class="sidebar">
<?php
$guild = $SQL->query('SELECT * FROM `guilds` WHERE `castleowner`=1;');
?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 10px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild['name']); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild['name'].'">'.$guild["name"].'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>

 

 

Não testei pode ter uns erros de coisas que esqueci

 

Esse script castlewar1 é executado só uma vez quando o jogador ganha, ou pra cada jogador da guilda que ganhou? Se for pra cada jogador, me fala qual arquivo começa o sistema, tipo, o primeiro a ser executado, porque aí tenho que usar uma storage. Se der erro na minha array ali eu arrumo separado, até porque é mais rápido que usar *.

Spoiler

Se der erro nessa linha


db.executeQuery("UPDATE `guilds` SET `castleowner` = 1 WHERE `guilds`.`id` = ".. guild ..";")

Usa assim

 


db.executeQuery("UPDATE `guilds` SET `castleowner` = 1 WHERE `id` = ".. guild ..";")

 

 

 

Editado por psychonaut (veja o histórico de edições)

Life is so meaningless, there is nothing worth a smile
So goodbye, I'll miss you

 

 

sugestões?

 

 

Link para o post
Compartilhar em outros sites
  • Respostas 39
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Vou baixar aqui amanhã ae posso testar pra fazer, é erro na query msm, não tá retornando. Editado dnv, testa ae Espera, como tá a coluna no banco, tá como int?

Testa ae, se não funcionar vai no Index.php, tem algo parecido com debug database, muda de 'false' pra 'true', ele vai printar os erros mysql no site, ai abre a pagina de novo e me manda, vlw gesior, c funfar tento arrumar pra pegar 1 valor só sem o foreach

Posted Images

Tipo, no banco ta indo o valor lá e em uma guilda só? Tenta assim, achei algo no gesior pra guildas já, o echo é só pra testar, se der certo é só remover. Se der erro nesse, remove a linha $guild = $guild['name'] e tenta dnv.

 

Spoiler

<div class="sidebar">
<?php
$guild = $SQL->query('SELECT `name` FROM `guilds` WHERE `castleowner`=1;');
$guild = $guild['name'];
echo $guild;

?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 10px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if ($guild) {
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php logo_exists($guild); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guild.'">'.$guild.'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>

 

 

Não deu erro no php?

Edit: Achei uma classe pras guilds no gesior se quiser tentar usar.

 

Spoiler

<div class="sidebar">
<?php
$guild_id = $SQL->query('SELECT `id` FROM `guilds` WHERE `castleowner`=1;');
$guild_id = $guild_id['id'];
$guild = new Guild();
$guild->load($guild_id);


?>
<style type="text/css" media="all">
   .name {
    position: relative;
    top:40px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 9.2pt;
    color: #FFF;
    font-weight: bold;
   }
   .logo {
    position: relative;
    top: 50px;
    text-align: center;
   }
  .CastleWarbox {
    position: relative;
    margin-top: 10px;
    margin-bottom: 5px;
    width: 200px;
    height: 200px;
  }
</style>
    <div id="CastleWar" class="CastleWarbox" style="background-image:url(https://i.imgur.com/ASZv7fN.png);">
         <?php
        if($guild->isLoaded())
		{
		$guildname = htmlspecialchars($guild->getName());
        ?>
            <div class="logo">
                 <img style="max-height:100px;" src="<?php echo $guild->getGuildLogoLink(); ?>">
            </div>
            <div class = "name">
                <?php echo '<br><a href="guilds.php?name='.$guildname.'">'.$guildname.'</a><br>';?>
            </div>
                        
        <?php
        }else ?>
        <div class = "name">
                <?php echo '<br><br><br><p>No Have Owner</p><br>';?>
        </div>
   </div>
</div>

 

 

Editado por psychonaut (veja o histórico de edições)

Life is so meaningless, there is nothing worth a smile
So goodbye, I'll miss you

 

 

sugestões?

 

 

Link para o post
Compartilhar em outros sites

o meu script na lib eu adicionei o executeQuery lá mais não foi. dá erro. poderia ver ?

Realcastle.lib

Spoiler

--[[
                Real Castle Event
    Desenvolvido por Vítor Bertolucci (Killua)
]]
realCastle = {
    
    open_storage = 100005,
    guild_storage = 100006,
    date_storages = {100007,100008,100009},
    frompos = {x = 63, y = 454, z = 7},
    topos = {x = 198, y = 530, 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 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
    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 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 >= 2902 and pos.x <= 3445 and pos.y >= 340 and pos.y <= 585 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 >= 3304 and pos.x <= 3687 and pos.y >= 192 and pos.y <= 340 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 seventh_cave then
        for _, pid in pairs(seventh_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 eight_cave then
        for _, pid in pairs(eight_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 ninth_cave then
        for _, pid in pairs(ninth_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 tenth_cave then
        for _, pid in pairs(tenth_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 eleventh_cave then
        for _, pid in pairs(eleventh_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 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.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("[New Castle] A batalhar terminou e nenhuma guild conseguiu dominar o castelo! Amanhã às 21:00 vocês podem tentar novamente!")
    else
        doBroadcastMessage("[New 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 21: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)
    setGuildRealCastle(cid)
    realCastle.broadcast("[New Castle] O jogador "..getPlayerName(cid).." da guild "..getPlayerGuildName(cid).." dominou o castelo! As outras guilds têm até às 22:30 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
function setGuildRealCastle(cid)
db.query("UPDATE `guilds` SET `castleowner` = 0;")
db.query("UPDATE `guilds` SET `castleowner` = 1 WHERE `id` = ".. guild ..";")
end

[Error - Action Interface]
data/actions/scripts/events/realCastle.lua:onUse
Description:
data/lib/realCastle.lua:150: attempt to concatenate global 'guild' (a nil value)
stack traceback:
        data/lib/realCastle.lua:150: in function 'setGuildRealCastle'
        data/lib/realCastle.lua:138: in function 'domain'
        data/actions/scripts/events/realCastle.lua:24: in function <data/actions/scripts/events/realCastle.lua:8>

 

Link para o post
Compartilhar em outros sites

A função tá errada, teria quer receber mais um valor pra guilda, mas dá pra incorporar no script já. Não sei dessa função que você colocou mas se não tiver usando mais, remove lá no fim.
 

Spoiler



--[[
                Real Castle Event
    Desenvolvido por Vítor Bertolucci (Killua)
]]
realCastle = {
    
    open_storage = 100005,
    guild_storage = 100006,
    date_storages = {100007,100008,100009},
    frompos = {x = 63, y = 454, z = 7},
    topos = {x = 198, y = 530, 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 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
    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 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 >= 2902 and pos.x <= 3445 and pos.y >= 340 and pos.y <= 585 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 >= 3304 and pos.x <= 3687 and pos.y >= 192 and pos.y <= 340 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 seventh_cave then
        for _, pid in pairs(seventh_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 eight_cave then
        for _, pid in pairs(eight_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 ninth_cave then
        for _, pid in pairs(ninth_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 tenth_cave then
        for _, pid in pairs(tenth_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 eleventh_cave then
        for _, pid in pairs(eleventh_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 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.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("[New Castle] A batalhar terminou e nenhuma guild conseguiu dominar o castelo! Amanhã às 21:00 vocês podem tentar novamente!")
    else
        doBroadcastMessage("[New 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 21:00!")
        db.query("UPDATE `guilds` SET `castleowner` = 0;")
		db.query("UPDATE `guilds` SET `castleowner` = 1 WHERE `id` = ".. getGlobalStorageValue(realCastle.guild_storage) ..";")                                                                   
    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)
    setGuildRealCastle(cid)
    realCastle.broadcast("[New Castle] O jogador "..getPlayerName(cid).." da guild "..getPlayerGuildName(cid).." dominou o castelo! As outras guilds têm até às 22:30 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
function setGuildRealCastle(cid)
return true
end


 

 

Life is so meaningless, there is nothing worth a smile
So goodbye, I'll miss you

 

 

sugestões?

 

 

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 Clyfe
      MyAAC - Gesior Shop Plugin + Mercado Pago (Pix QRCode)

      Olá pessoal, a um tempo queria integrar a API do Mercado Pago pra realizar pagamento por pix no  MyAAC  que utilizo. Me passaram um tópico de Gateway que fizeram para pagamento com Mercado Pago.
      Essa gateway utiliza IPN para validar os pagamentos e não é integrada com o Gesior Shop. Então liberei essa versão para gesior com base na versão liberada pelo @Under

      O que eu fiz
      Basicamente integrei o Mercado Pago ao Gesior Shop System V7.0 - Alpha e realizei algumas modificações para isso. Tentei seguir ao máximo as mesmas configurações do Gesior Shop então se vc já ta acostumado em utilizar o plugin, vc não vai ter problemas, só abrir o arquivo config.php e colocar suas informações.
      Aproveitei as páginas já criadas pelo Rafhael e apenas fiz algumas modificações para a integração funcionar.
      Outro ponto importante o gateway que peguei de base utiliza o IPN para comunicação, mas hoje em dia o Mercado Pago está descontinuando a notificação IPN por isso eu **REMOVI** a notificação IP e está sendo realizado via **WEBHOOK**. A documentação do mercado pago fornece explicações de [como configurar o webhook](https://www.mercadopago.com.br/developers/pt/docs/your-integrations/notifications/webhooks#bookmark_1._indicar_urls_e_configurar_eventos) no tópico *Indicar URLs e configurar eventos*.

      Importante:
      Ao configurar o webhook no site do mercado pago é solicitado a url de produção. Então você deve colocar a url para /payments-notify/mpnotification
      Por exemplo: https://seudominio/payments-notify/mpnotification
      Outro ponto é que o Secretkey do Webhook é gerado APÓS você adicionar o webhook no Mercado pago.

      Download:
      Zip disponível em anexo
      - Scan: https://www.virustotal.com/gui/file/3630a3b27c4e055dc4144b20809d5e2d4ea71a406d0dc40b143443a8bfea1b83/detection
       
      Imagens:
       
      Observações:
      - Não sei usar direito o virustotal, se tiver algum problema com o Scan, só me comunicar que faço de novo.
      - Fiz na versão mais atual do Gesior Shop System (v7.0-alpha) e não estou certo sobre a compatibilidade com versões mais antigas mas acredito que apenas adicionando os arquivos deve funcionar normalmente com poucas alterações (dependendo da sua versão do Gesior Shop e do PHP).
      - Não modifiquei ou alterei os outros scripts do Gesior Shop System. Apenas incluí a Api do mercado Pago.
      - Não tenho tanta experiência em PHP, muito menos com Plugin para MyAAC. Então é provável que o código não está tão Polido Assim.
      - Se tiverem Dúvidas podem mandar por aqui. Mas não pretendo manter nem oferecer suporte (afinal é gratuito e só quero contribuir com a comunidade)
       
      Integração com versões anteriores:
      Se você quiser integrar com versões antigas (ou talvez novas) do Gesior shop, estes são os arquivos do Mercado pago dentro do plugin:
      - payments\mercadopago.php
      - pages\payments-notify\mpnotification.php
      - config.php E/OU config.php.dist - No final do arquivo está a configuração das variáveis do Mercado Pago.
      - schema.sql - No final do arquivo existe a tabela myaac_mercadopago utilizada para verificações da integração.
       
      Créditos:
      - **Rafhael Oliveira (Discord: @Underewar)** @Under - Por fazer a versão original da integração com Mercado Pago 

      DOWNLOAD
      myaac-mercadoPago-gesior-shop-system-v7.0-alpha.zip

    • Por WooX
      Gesior 2012
      V. Baiak-PvP

      Como disse no tópico do servidor estou apenas postando o conteúdo e não pretendo dar suporte a eventuais duvidas e problemas, só estou postando pra evitar que paguem por algo que pode ser obtido de graça então nem adianta vir me mandar mensagem privada pedindo ajuda que vai ser ignorado.
       
      Se você ainda não viu o tópico sobre o servidor em questão, vale apena conferir, link para acesso abaixo.
       
      Conteúdo

      Assim como com o servidor eu não cheguei a analisar a fundo este conteúdo e vou listar apenas o que me foi dito que contém.
       
      Página Boosted creatures: página funcionando em sincronia com o sistema do servidor, atualizando no site o monstro que está com o boost e exibindo lista dos monstros anteriores da mesma semana. Página Anti entrosa: página em que o usuário pode selecionar as opções que deseja para a war e a própria página exibe a talkaction necessária pra enviar um convite com os parâmetros selecionados . Exibição de Pagamentos: tabela com informação de pedidos e status de pagamento na página de gerenciamento de conta (account management), exibe todas as doações realizadas pelo jogador. Seção de Pagamentos: seção de pagamentos na própria página de gerenciamento de conta (account management), com os seguintes meios de pagamento: PagSeguro, PicPay, PayGol, PayPal e Mercado Pago, sendo todos estes com retorno automático de pontos.  
      Imagens
       
      Créditos

      Nada contido aqui é de minha autoria, tudo foi adquirido pelo dono e idealizador do projeto.
      Créditos ao Maycon por desenvolver alguns sistemas utilizados no site.
       
      Link para Download

       
      Download - Scan
       
      Obs: Link para download de uma database limpa e compatível com o site se encontra no post do servidor.
    • Por Qwizer
      MercadoPago Checkout Transparente (CC)
       
      Abaixo Segue código PHP de pagamento via cartão de credito pelo mercado pago com retorno automático para quem quiser adaptar em seus sites ter uma direção de onde ir 
      testado em Znote e MyAcc.
       

       
       
      https://mega.nz/folder/m4QkWBLS#PIvJ_scVm7w8-5FLlStTHg  
    • Por Argona2509
      Boa tarde venho por aqui pedir ajuda estou com um problema no gesior para criar conta nao aparece vocacao e o nome Nadega Sample
       
       
    • Por Magato
      Galera, boa tarde a todos.
       
      Estou iniciando um servidor com o mapa Pbot e estou com dificuldades em encontrar um website para ele.
       
      Procurei na internet toda e não achei um link que me levasse ao download do Gesior Onix para pbot exclusivo (o link estava quebrado)
       
      Tentei utilizar o Gesior 2012 mas o layout do site e todas as funcionalidades estão bugadas.
       
      Gostaria que alguém pudesse me ajudar e postasse aqui algum link de gesior para PBOT. A versão do meu servidor é 8.60.
       
      Agradeço a quem puder.
       
       
  • Estatísticas dos Fóruns

    96845
    Tópicos
    519598
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo