function AddBot($name) { global $db_prefix; // Сгенерировать пароль. $len = 8; $r = ''; for ($i = 0; $i < $len; $i++) { $r .= chr(rand(0, 25) + ord('a')); } $pass = $r; if (!IsUserExist($name)) { $player_id = CreateUser($name, $pass, '', 'en', true); $query = "UPDATE " . $db_prefix . "users SET validatemd = '', validated = 1 WHERE player_id = " . $player_id; dbquery($query); StartBot($player_id); SetVar($player_id, 'password', $pass); return true; } else { return false; } }
function CreateUser($name, $pass, $email, $lang, $bot = false) { global $db_prefix, $db_secret, $Languages; $origname = $name; $name = mb_strtolower($name, 'UTF-8'); $email = mb_strtolower($email, 'UTF-8'); $md = md5($pass . $db_secret); $ack = md5(time() . $db_secret); error_reporting(E_ALL); // Увеличить счетчик пользователей во вселенной. $query = "SELECT * FROM " . $db_prefix . "uni" . ";"; $result = dbquery($query); $unitab = dbarray($result); $unitab['usercount']++; $query = "UPDATE " . $db_prefix . "uni" . " SET usercount = " . $unitab['usercount'] . ";"; dbquery($query); $ip = $_SERVER['REMOTE_ADDR']; if (!key_exists($lang, $Languages)) { $lang = 'en'; } $user = array(null, time(), 0, 0, 0, "", "", $name, $origname, 0, 0, $md, "", $email, $email, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $ip, 0, $ack, 0, 0, 0, 0, hostname() . "evolution/", 1, 0, 1, 3, $lang, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); $id = AddDBRow($user, "users"); LogIPAddress($ip, $id, 1); // Создать Главную планету. $homeplanet = CreateHomePlanet($id); $query = "UPDATE " . $db_prefix . "users SET hplanetid = {$homeplanet}, aktplanet = {$homeplanet} WHERE player_id = {$id};"; dbquery($query); // Выслать приветственное письмо и сообщение. if (!$bot) { if ($ip !== "127.0.0.1") { SendGreetingsMail($origname, $pass, $email, $ack); } SendGreetingsMessage($id); } // Активировать Командира на 9999 дней. RecruitOfficer($id, 'CommanderOff', 9999 * 24 * 60 * 60); // Удалить неактивированного пользователя через 3 дня. SetVar($id, "TimeLimit", 3 * 365 * 24 * 60 * 60); RecalcRanks(); return $id; }
function BotSetVar($var, $value) { global $BotID, $BotNow; SetVar($BotID, $var, $value); }