function get_level_from_exp_system2($current_exp) { $clevel = 0; $l_exp = $current_exp; while ($l_exp >= 0) { $minus_exp = get_new_level($clevel); $l_exp -= $minus_exp; if ($l_exp >= 0) { $clevel++; } } return $clevel; }
function take_win() { global $char, $quest_id, $book_id; $new_clevel = get_new_level($char['clevel']); $get_exp = floor(0.1 * $new_clevel); setEXP($char['user_id'], $get_exp, $book_id + 7); $get_gp = mysqlresult(myquery("SELECT gp FROM bookgame_users WHERE user_id=" . $char['user_id'] . " AND bookgame={$book_id}"), 0, 0); setGP($char['user_id'], $get_gp, $book_id + 100); myquery("UPDATE game_users SET EXP=EXP+{$get_exp},GP=GP+{$get_gp} WHERE user_id=" . $char['user_id'] . ""); myquery("DELETE FROM bookgame_users WHERE user_id=" . $char['user_id'] . " AND bookgame={$book_id}"); myquery("UPDATE game_quest_users SET last_time=UNIX_TIMESTAMP(),finish=1 WHERE user_id=" . $char['user_id'] . " AND quest_id={$quest_id}"); exit_quest(); }
<?php if (function_exists("start_debug")) { start_debug(); } echo '<table width=100% border=0 cellpadding="1" cellspacing="2" bordercolor=c0c0c0><tr><th>Уровень</th><th>Опыт до уровня</th><th>Золото</th><th>Навыки</th><th>Харки</th></tr>'; for ($clevel = 1; $clevel <= 40; $clevel++) { $gp = 0; $nav = 0; $xar = 0; $new_clevel = get_new_level($clevel - 1); if ($clevel >= 0 and $clevel < 10) { $gp += 50; } elseif ($clevel == 10) { $gp += 300; $xar += 1; } elseif ($clevel > 10 and $clevel < 20) { $gp += 100; } elseif ($clevel == 20) { $gp += 500; $xar += 1; } elseif ($clevel > 20 and $clevel < 30) { $gp += 200; } elseif ($clevel == 30) { $gp += 1000; $xar += 1; } elseif ($clevel > 30 and $clevel < 40) { $gp += 300; } elseif ($clevel == 40) { $gp += 1500; $xar += 1;
} if ($bar_percentage >= '100') { $append_string = '<img src="http://' . img_domain . '/bar/bar_red.gif" width="100" height="7" border="0">'; } elseif ($bar_percentage <= '0') { $append_string = '<img src="http://' . img_domain . '/bar/bar_empty.gif" width="100" height="7" border="0">'; } else { $append_string = '<img src="http://' . img_domain . '/bar/bar_empty.gif" width="' . (100 - $bar_percentage) . '" height="7" border="0"><img src="http://' . img_domain . '/bar/bar_red.gif" width="' . $bar_percentage . '" height="7" border="0">'; } echo '<tr> <td align="left" valign="middle"><font face="Verdana" size="1">Прана</font></td> <td align="right"><font face="Verdana" size="1">' . $char['PR'] . ' / ' . $char['PR_MAX'] . '</font><br> <img src="http://' . img_domain . '/bar/bar_side.gif" width="1" height="7" border="0">' . $append_string . '<img src="http://' . img_domain . '/bar/bar_side.gif" width="1" height="7" border="0"><br> <img src="http://' . img_domain . '/nav/x.gif" width="0" height="0" vspace="2" border="0"></td> </tr>'; $clevel = $char['clevel']; $new_clevel = get_new_level($clevel); $bar_percentage = number_format($char['EXP'] / $new_clevel * 100, 0); if ($bar_percentage >= 100) { $append_string = '<img src="http://' . img_domain . '/bar/bar_blue.gif" width="100" height="7" border="0">'; } elseif ($bar_percentage <= 0) { $append_string = '<img src="http://' . img_domain . '/bar/bar_empty.gif" width="100" height="7" border="0">'; } else { $append_string = '<img src="http://' . img_domain . '/bar/bar_empty.gif" width="' . (100 - $bar_percentage) . '" height="7" border="0"><img src="http://' . img_domain . '/bar/bar_blue.gif" width="' . $bar_percentage . '" height="7" border="0">'; } echo '<tr> <td align="left" valign="middle" title="Текущий опыт/Опыт до уровня"><font face="Verdana" size="1">Опыт</font></td> <td align="right" title="Текущий опыт/Опыт до уровня"><font face="Verdana" size="1">' . $char['EXP'] . ' / ' . $new_clevel . '</font><br> <img src="http://' . img_domain . '/bar/bar_side.gif" width="1" height="7" border="0">' . $append_string . '<img src="http://' . img_domain . '/bar/bar_side.gif" width="1" height="7" border="0"><br> <img src="http://' . img_domain . '/nav/x.gif" width="0" height="0" vspace="2" border="0"></td> </tr>'; echo '
/** * Vérification des sanctions pour l'utilisateur */ $Warning_List = get_db("get_sanction_user", array('Account_ID' => logged_data('Account_ID'))); if (!empty($Warning_List)) { extract(stripslashes_r($Warning_List)); $message = "Vous avez recu un(e) {$Sanction_Type} de la part de {$Sanction_Transmitter}\\n\\n{$Sanction_Message}"; delete_db('Caranille_Sanctions', array('Sanction_ID' => $Sanction_ID)); } /* Mise à jour du compte en temps réel */ //get_user($Pseudo); if (verif_auth()) { init_equipement_session(); get_perso($Pseudo); get_equipement($Pseudo); get_Guild($Pseudo); $Next_Level = get_new_level(); updateConnected(); } else { $Reason = user_data('Account_Reason'); $message = "IMPOSSIBLE DE SE CONNECTER\\nVotre compte est banni pour la raison suivante :\\n : {$Reason}"; session_destroy(); } if (isset($message) && !empty($message)) { echo "<script type=\"text/javascript\"> alert(\"{$message}\"); </script>"; } } else { logged_set('Account_Access', 'Visit'); }
if ($result == false or mysql_num_rows($result) == 0) { $result = myquery("SELECT game_users.*, game_users_map.map_name, game_users_map.map_xpos,game_users_map.map_ypos,game_users_active_delay.delay,game_users_active_delay.delay_reason FROM game_users,game_users_map,game_users_active_delay WHERE game_users.user_id=game_users_active_delay.user_id AND game_users_map.user_id=game_users.user_id AND game_users.user_id={$user_id}"); } $char = mysql_fetch_assoc($result); if (isset($_GET['teleport_map_name']) and isset($_GET['teleport_map_xpos']) and isset($_GET['teleport_map_ypos']) and ($char['clan_id'] == 1 or $user_id == 36051 or $user_id == 612 or domain_name == 'localhost')) { $up = myquery("UPDATE game_users_map SET map_name='" . $_GET['teleport_map_name'] . "', map_xpos='" . $_GET['teleport_map_xpos'] . "', map_ypos='" . $_GET['teleport_map_ypos'] . "' WHERE user_id='" . $char['user_id'] . "'"); $char['map_name'] = $_GET['teleport_map_name']; $char['map_xpos'] = $_GET['teleport_map_xpos']; $char['map_ypos'] = $_GET['teleport_map_ypos']; } $char['func_id'] = getFunc($user_id); $char['last_active'] = $user_time; //Если игрок в первый раз зашёл сюда за день, то выдадим ему 1% до максимального уровня if (isset($_SESSION['add_exp']) and $_SESSION['add_exp'] == 1) { unset($_SESSION['add_exp']); $add_exp = get_new_level($char['clevel']) / 100; myquery("UPDATE game_users SET EXP=EXP+'" . $add_exp . "' WHERE user_id={$user_id}"); setEXP($char['user_id'], $add_exp, 15); } //Обработаем игрока с отрицательным числом жизней if ($char['HP'] <= 0) { $char['HP'] == 1; myquery("UPDATE game_users SET HP=1 WHERE user_id={$user_id}"); } if (isset($_COOKIE['rpgsu_login']) and $char['user_name'] != $_COOKIE['rpgsu_login']) { destroy_all("4"); } elseif (isset($_COOKIE['rpgsu_login']) and md5($char['user_pass']) != $_COOKIE['rpgsu_pass']) { destroy_all("5"); } else { setcookie("rpgsu_login", $char['user_name'], 0, "/"); setcookie("rpgsu_pass", md5($char['user_pass']), 0, "/");
} } $sel_sost = myquery("SELECT sost,finish FROM game_quest_users WHERE user_id={$user_id} AND quest_id=1"); if ($sel_sost != false and mysql_num_rows($sel_sost) > 0) { $sst = mysql_fetch_array($sel_sost); $sost = $sst['sost']; if ($sost == 99 and $sst['finish'] != 1) { $sst['finish'] = 1; myquery("UPDATE game_quest_users SET finish=1 WHERE user_id={$user_id} AND quest_id=1"); } if ($sst['finish'] >= 1) { ForceFunc($user_id, 5); setLocation("../act.php"); } } $new_clevel = get_new_level($char['clevel']); $get_exp = floor(0.2 * $new_clevel); $last_time = time() - 10 * 60; if (isset($_SESSION['quest1_exit']) and $_SESSION['quest1_exit'] > 0) { $sost = 0; $finish = 0; set_delay_reason_id($user_id, 1); if ($_SESSION['quest1_exit'] == 99) { myquery("UPDATE game_users SET EXP=EXP+{$get_exp},GP=GP+'" . $_SESSION['quest1_get_gp'] . "',CW=CW+'" . $_SESSION['quest1_get_gp'] * money_weight . "' WHERE user_id={$user_id}"); setGP($user_id, $_SESSION['quest1_get_gp'], 59); setEXP($user_id, $get_exp, 6); if ($_SESSION['quest1_take_weapon'] == 1) { add_item_to_user(4); } if ($_SESSION['quest1_take_shlem'] == 1) { add_item_to_user(8);