function AddUnionMember($union_id, $name) { global $db_prefix; global $GlobalUser; $union = LoadUnion($union_id); // Пустое имя, ничего не делаем. if ($name === "") { return ""; } // Достигнуто максимальное количество пользователей if ($union['players'] >= 5) { return "Участвовать могут максимум 5 игроков!"; } // Найти пользователя $name = mb_strtolower($name, 'UTF-8'); $query = "SELECT * FROM " . $db_prefix . "users WHERE name = '" . $name . "' LIMIT 1"; $result = dbquery($query); if (dbrows($result) == 0) { return "Пользователь не найден"; } $user = dbarray($result); // Проверить есть ли уже такой пользователь в САБе. for ($i = 0; $i <= $union['players']; $i++) { if ($union["player"][$i] == $user['player_id']) { return "Такой пользователь уже добавлен в союз"; } // есть. } // Проверить является ли пользователем другом или соалом. if (!IsBuddy($GlobalUser['player_id'], $user['player_id'])) { if ($user['ally_id']) { if ($user['ally_id'] != $GlobalUser['ally_id']) { return "Пользователь должен быть в списке друзей или одном альянсе"; } } else { return "Пользователь должен быть в списке друзей или одном альянсе"; } } // Добавить пользователя в САБ и послать ему сообщение о приглашении. $union['player'][$union['players']] = $user['player_id']; $query = "UPDATE " . $db_prefix . "union SET players = '" . implode(",", $union['player']) . "' WHERE union_id = {$union_id}"; dbquery($query); $target_player = LoadUser($union['target_player']); $head_fleet = LoadFleet($union['fleet_id']); $target_planet = GetPlanet($head_fleet['target_planet']); $queue = GetFleetQueue($union['fleet_id']); $text = va("#1 приглашает Вас на миссию #2 против игрока #3 на планете <a href=\"#\" onClick=showGalaxy(#4,#5,#6)><b><u>[#7:#8:#9]</u></b></a>. ", $GlobalUser['oname'], $union['name'], $target_player['oname'], $target_planet['g'], $target_planet['s'], $target_planet['p'], $target_planet['g'], $target_planet['s'], $target_planet['p']) . va("Прибытие флота назначено на #1. ВНИМАНИЕ: время прибытия может измениться из-за скорости других задействованных флотов!", date("D M Y H:i:s", $queue['end'])); SendMessage($user['player_id'], $GlobalUser['oname'], "Приглашение к совместной атаке", $text, 5); return ""; }
function AddBuddy($from, $to, $text) { global $db_prefix; $text = mb_substr($text, 0, 5000, "UTF-8"); // Огранчить длину строк if ($text === "") { $text = "пусто"; } // Проверить заявки, ожидающие подтверждения. $query = "SELECT * FROM " . $db_prefix . "buddy WHERE ((request_from = {$from} AND request_to = {$to}) OR (request_from = {$to} AND request_to = {$from})) AND accepted = 0"; $result = dbquery($query); if (dbrows($result)) { return 0; } // Пользователи уже друзья? if (IsBuddy($from, $to)) { return 0; } // Добавить запрос. $buddy = array(null, $from, $to, $text, 0); $id = AddDBRow($buddy, "buddy"); return $id; }
case '8': // Переработать if ($fleet[209] == 0) { FleetError("Для переработки надо послать переработчик!"); } else { if ($target['type'] != 10000) { FleetError("При переработке можно приближаться только к полям обломков!"); } } break; case '9': // Уничтожить if ($target == NULL) { FleetError("Планета необитаема либо должна быть колонизирована!"); } else { if ($origin_user['ally_id'] == $target_user['ally_id'] && $origin_user['ally_id'] > 0 || IsBuddy($origin_user['player_id'], $target_user['player_id'])) { $BlockAttack = 0; } } if ($fleet[214] == 0) { FleetError("Для уничтожения луны необходима звезда смерти."); } else { if ($target['type'] != 0) { FleetError("Уничтожать можно только луны!"); } else { if ($BlockAttack) { FleetError("Запрет на атаки"); } else { if ($GlobalUser['noattack']) { FleetError(va("Запрет на атаки до #1", date("d.m.Y H:i:s", $GlobalUser['noattack_util']))); }
if ($planettype == 1) { AjaxSendError(614); } else { if ($planettype == 3) { AjaxSendError(602); } else { AjaxSendError(); } } // нет ПО } $target_user = LoadUser($target['owner_id']); $probes = $aktplanet['f210']; $recyclers = $aktplanet['f209']; $missiles = $aktplanet['d503']; if ($GlobalUser['ally_id'] == $target_user['ally_id'] && $GlobalUser['ally_id'] > 0 || IsBuddy($GlobalUser['player_id'], $target_user['player_id'])) { $BlockAttack = 0; } /* ************ ШПИОНАЖ ************ */ if ($order == 6) { $amount = min($aktplanet["f210"], $shipcount); if ($target['owner_id'] == $GlobalUser['player_id']) { AjaxSendError(); } // Своя планета if ($GlobalUser['noattack'] || $BlockAttack) { AjaxSendError(); } // Бан атак if ($target_user['admin'] > 0) { AjaxSendError();