Ir para conteúdo

Featured Replies

  • Respostas 10
  • Visualizações 604
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Explique mais sobre esse "War", e se puder poste Script para detalhar e tals. 

Postado
  • Autor
19 minutos atrás, Master zikka disse:

 

Explique mais sobre esse "War", e se puder poste Script para detalhar e tals. 

 

As guilds se enfrentam manda no site invite de war, ai começa a war mas ela nunca termina! li alguns tutoriais e dizem que é no 

data\globalevents\scripts\startup.lua

porem minha função é diferente

dizem pra eu trocar isso:   db.asyncQuery('DELETE FROM `guild_wars` WHERE `status` = 0')

por isso:  db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";")

 

mas dar erro no meu executavel e nao muda nada.

 

STARTUP.LUA:

 

local startupGlobalStorages = {GlobalStorage.TheAncientTombs.AshmunrahSwitchesGlobalStorage, GlobalStorage.TheAncientTombs.DiprathSwitchesGlobalStorage, GlobalStorage.TheAncientTombs.ThalasSwitchesGlobalStorage}

function onStartup()
    math.randomseed(os.mtime())

    print('>> Servidor feito por MitSuig!')
    print(string.format('>> Loaded %d npcs and spawned %d monsters.\n>> Loaded %d towns with %d houses in total.', Game.getNpcCount(), Game.getMonsterCount(), #Game.getTowns(), #Game.getHouses()))
    for i = 1, #startupGlobalStorages do
        Game.setStorageValue(startupGlobalStorages, 0)
    end

    local time = os.time()
    db.asyncQuery('TRUNCATE TABLE `players_online`')
    db.asyncQuery('DELETE FROM `guild_wars` WHERE `status` = 0')
    db.asyncQuery('DELETE FROM `players` WHERE `deletion` != 0 AND `deletion` < ' .. time)
    db.asyncQuery('DELETE FROM `ip_bans` WHERE `expires_at` != 0 AND `expires_at` <= ' .. time)
    db.asyncQuery('DELETE FROM `market_history` WHERE `inserted` <= ' .. (time - configManager.getNumber(configKeys.MARKET_OFFER_DURATION)))

    -- Move expired bans to ban history
    local resultId = db.storeQuery('SELECT * FROM `account_bans` WHERE `expires_at` != 0 AND `expires_at` <= ' .. time)
    if resultId ~= false then
        repeat
            local accountId = result.getNumber(resultId, 'account_id')
            db.asyncQuery('INSERT INTO `account_ban_history` (`account_id`, `reason`, `banned_at`, `expired_at`, `banned_by`) VALUES (' .. accountId .. ', ' .. db.escapeString(result.getString(resultId, 'reason')) .. ', ' .. result.getNumber(resultId, 'banned_at') .. ', ' .. result.getNumber(resultId, 'expires_at') .. ', ' .. result.getNumber(resultId, 'banned_by') .. ')')
            db.asyncQuery('DELETE FROM `account_bans` WHERE `account_id` = ' .. accountId)
        until not result.next(resultId)
        result.free(resultId)
    end

    -- Check house auctions
    local resultId = db.storeQuery('SELECT `id`, `highest_bidder`, `last_bid`, (SELECT `balance` FROM `players` WHERE `players`.`id` = `highest_bidder`) AS `balance` FROM `houses` WHERE `owner` = 0 AND `bid_end` != 0 AND `bid_end` < ' .. time)
    if resultId ~= false then
        repeat
            local house = House(result.getNumber(resultId, 'id'))
            if house then
                local highestBidder = result.getNumber(resultId, 'highest_bidder')
                local balance = result.getNumber(resultId, 'balance')
                local lastBid = result.getNumber(resultId, 'last_bid')
                if balance >= lastBid then
                    db.query('UPDATE `players` SET `balance` = ' .. (balance - lastBid) .. ' WHERE `id` = ' .. highestBidder)
                    house:setOwnerGuid(highestBidder)
                end
                db.asyncQuery('UPDATE `houses` SET `last_bid` = 0, `bid_end` = 0, `highest_bidder` = 0, `bid` = 0 WHERE `id` = ' .. house:getId())
            end
        until not result.next(resultId)
        result.free(resultId)
    end
end
 

@Absolute Só você pode me salvar irmao, dar essa mão pf.

estou usando o Absolute Global tfs 1.2 + gersior mais atual 2015

 

War não acaba, fica infinita.

Postado

Pelo que vejo:

db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";")

não daria certo em seu server porque talvez a database não deve conter as mesmas tabelas do seu server...

como 10.94 é mais recente e ainda não mexi com essa versão que não me interessa muito por enquanto, sugiro pesquisar mais um pouco ou dar uma olhada na compatibilidade deste banco de dados com o que seu servidor utiliza! 

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

:D

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo