예제 #1
0
function RecruitOfficer($player_id, $off, $seconds)
{
    global $db_prefix;
    $query = "SELECT * FROM " . $db_prefix . "queue WHERE type = '" . $off . "' AND owner_id = {$player_id} LIMIT 1";
    $result = dbquery($query);
    if (dbrows($result) == 0) {
        AddQueue($player_id, $off, 0, 0, 0, time(), $seconds, 0);
    } else {
        $queue = dbarray($result);
        $query = "UPDATE " . $db_prefix . "queue SET end = end + {$seconds} WHERE task_id = " . $queue['task_id'];
        dbquery($query);
    }
}
예제 #2
0
function LaunchRockets($origin, $target, $seconds, $amount, $type)
{
    global $db_prefix;
    $uni = LoadUniverse();
    if ($uni['freeze']) {
        return;
    }
    if ($amount > $origin['d503']) {
        return;
    }
    // Нельзя запустить ракет больше чем имеется на планете
    $now = time();
    $prio = 200 + 20;
    // Списать МПР с планеты.
    $origin['d503'] -= $amount;
    SetPlanetDefense($origin['planet_id'], $origin);
    // Добавить ракетную атаку.
    $fleet_obj = array(null, $origin['owner_id'], 0, 0, 0, 0, 0, 20, $origin['planet_id'], $target['planet_id'], $seconds, 0, $amount, $type, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    $fleet_id = AddDBRow($fleet_obj, 'fleet');
    // Запись в лог
    $weeks = $now - 4 * (7 * 24 * 60 * 60);
    $query = "DELETE FROM " . $db_prefix . "fleetlogs WHERE start < {$weeks};";
    dbquery($query);
    $fleetlog = array(null, $origin['owner_id'], $target['owner_id'], 0, 0, 0, 0, 0, 0, 0, 0, 20, $seconds, 0, $now, $now + $seconds, $origin['g'], $origin['s'], $origin['p'], $origin['type'], $target['g'], $target['s'], $target['p'], $target['type'], $amount, $type, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    AddDBRow($fleetlog, 'fleetlogs');
    // Добавить задание в глобальную очередь событий.
    AddQueue($origin['owner_id'], "Fleet", $fleet_id, 0, 0, $now, $seconds, $prio);
    return $fleet_id;
}
예제 #3
0
function BotBuildFleet($obj_id, $n)
{
    global $db_prefix, $BotID, $BotNow, $GlobalUni;
    $user = LoadUser($BotID);
    $aktplanet = GetPlanet($user['aktplanet']);
    $text = AddShipyard($user['player_id'], $user['aktplanet'], $obj_id, $n, 0);
    if ($text === '') {
        $speed = $GlobalUni['speed'];
        $now = ShipyardLatestTime($aktplanet, $BotNow);
        $shipyard = $aktplanet["b21"];
        $nanits = $aktplanet["b15"];
        $seconds = ShipyardDuration($obj_id, $shipyard, $nanits, $speed);
        AddQueue($user['player_id'], "Shipyard", $aktplanet['planet_id'], $obj_id, $n, $now, $seconds);
        UpdatePlanetActivity($user['aktplanet'], $BotNow);
        return $seconds;
    } else {
        return 0;
    }
}