function set_craft_delay($user_id, $block = 0) { $delay_move = 30; //Время стопания игрока if ($block == 1) { set_delay_info($user_id, time() + $delay_move, 1, 1); } else { set_delay_reason_id($user_id, 1); } }
define("MODULE_ID", '7'); } else { die; } if (function_exists("start_debug")) { start_debug(); } if (isset($_COOKIE['rpgsu_sess']) and isset($_COOKIE['rpgsu_login']) and isset($_COOKIE['rpgsu_pass'])) { require '../inc/lib_session.inc.php'; $sel = @mysql_result(@myquery("SELECT COUNT(*) FROM game_prison WHERE user_id='{$user_id}'"), 0, 0); if ($sel > 0) { die('Ты на каторге!'); } //Если игрок не стопнут, то поменяем ему статус if ($user_time >= $char['delay'] or isset($char['block']) and $char['block'] != 1) { set_delay_reason_id($user_id, 6); } $select = myquery("select * from game_admins where user_id='{$user_id}'"); if (mysql_num_rows($select)) { $adm = 'adm'; $clan = 'clan'; } else { if ($char['clan_id'] != '0') { $clan = 'clan'; } } $result = myquery("SELECT * FROM game_admins WHERE user_id=" . $user_id . " LIMIT 1"); if (mysql_num_rows($result) == 0) { $adm = mysql_fetch_array($result); if ($adm['forum'] >= '1') { $admin = 1;
function arcomage_user($char, $player, $money) { global $user_id; $id = $player['user_id']; list($map_id) = mysql_fetch_array(myquery("SELECT map_name FROM game_users_map WHERE user_id={$id}")); $map = mysql_fetch_array(myquery("SELECT * FROM game_maps WHERE id={$map_id}")); if ($map['name'] == 'Арена Хаоса') { return ''; } if ($map['dolina'] == 1) { return ''; } list($map_id) = mysql_fetch_array(myquery("SELECT map_name FROM game_users_map WHERE user_id={$user_id}")); $map = mysql_fetch_array(myquery("SELECT * FROM game_maps WHERE id={$map_id}")); if ($map['name'] == 'Арена Хаоса') { return ''; } if ($map['dolina'] == 1) { return ''; } if (played_arco($player['user_id']) != 0) { //нельзя нападать на игроков в две башни return 'Игрок играет в Две Башни'; } $r = mt_rand(1, 5); if ($r == 1) { $tower_win = 50; $resource_win = 150; $tower = 10; $wall = 5; $bricks = 10; $gems = 10; $monsters = 10; $bricks_add = 2; $gems_add = 2; $monsters_add = 2; } elseif ($r == 2) { $tower_win = 100; $resource_win = 100; $tower = 20; $wall = 15; $bricks = 15; $gems = 15; $monsters = 15; $bricks_add = 1; $gems_add = 1; $monsters_add = 1; } elseif ($r == 3) { $tower_win = 150; $resource_win = 250; $tower = 30; $wall = 20; $bricks = 20; $gems = 20; $monsters = 20; $bricks_add = 5; $gems_add = 5; $monsters_add = 5; } elseif ($r == 4) { $tower_win = 100; $resource_win = 300; $tower = 20; $wall = 10; $bricks = 20; $gems = 20; $monsters = 20; $bricks_add = 3; $gems_add = 3; $monsters_add = 3; } else { $tower_win = 200; $resource_win = 150; $tower = 20; $wall = 20; $bricks = 20; $gems = 20; $monsters = 20; $bricks_add = 2; $gems_add = 2; $monsters_add = 2; } $nachalo = time(); myquery("DELETE FROM arcomage_call WHERE user_id='{$user_id}'"); myquery("DELETE FROM arcomage_call WHERE user_id='{$id}'"); $ins = myquery("insert into arcomage (hod,tower_win,resource_win,money,timehod,user1, user1_name, user2, user2_name) values (1,'{$tower_win}','{$resource_win}','{$money}', {$nachalo}, {$user_id}, '" . $char['name'] . "', {$id}, '" . $player['name'] . "')"); $uid = mysql_insert_id(); myquery("DELETE FROM arcomage_users WHERE user_id='{$user_id}'"); myquery("DELETE FROM arcomage_users_cards WHERE user_id='{$user_id}'"); $ins = myquery("insert into arcomage_users (arcomage_id,user_id,tower,wall,bricks,gems,monsters,bricks_add,gems_add,monsters_add,func,hod) values ('{$uid}','{$user_id}','{$tower}','{$wall}','{$bricks}','{$gems}','{$monsters}','{$bricks_add}','{$gems_add}','{$monsters_add}','6',{$nachalo})"); $is = mysql_insert_id(); $charboy = mysql_fetch_array(myquery("SELECT * FROM arcomage_users WHERE id='{$is}'")); for ($n = 1; $n <= 5; $n++) { $new_card = get_new_card($charboy, 0); $ins = myquery("insert into arcomage_users_cards (arcomage_id,user_id,card_id) values ('{$uid}','{$user_id}','{$new_card}')"); } myquery("DELETE FROM arcomage_users WHERE user_id='{$id}'"); myquery("DELETE FROM arcomage_users_cards WHERE user_id='{$id}'"); $ins = myquery("insert into arcomage_users (arcomage_id,user_id,tower,wall,bricks,gems,monsters,bricks_add,gems_add,monsters_add,func,hod) values ('{$uid}','{$id}','{$tower}','{$wall}','{$bricks}','{$gems}','{$monsters}','{$bricks_add}','{$gems_add}','{$monsters_add}','7',{$nachalo})"); $is = mysql_insert_id(); $charboy = mysql_fetch_array(myquery("SELECT * FROM arcomage_users WHERE id='{$is}'")); for ($n = 1; $n <= 5; $n++) { $new_card = get_new_card($charboy, 0); $ins = myquery("insert into arcomage_users_cards (arcomage_id,user_id,card_id) values ('{$uid}','{$id}','{$new_card}')"); } set_delay_reason_id($user_id, 10); set_delay_reason_id($id, 10); // Пробный setLocation("arcomage.php"); // Попробуем так забросить противника в бой. Тут есть потенциальные проблемы. // Т.к. точно ли мы уверены, что игрок находится в тех режимах, из которых можно выйти в бой. А мы его форсируем. ForceFunc($id, 4); return ''; }
break; case $id_resource_gold_nugget: if ($founder['nas'] >= 51 and $founder['teplo'] >= 39 and $founder['teplo'] < 50) { $fault = 0; } break; } $add_query = ""; if ($fault == 0) { if (domain_name == 'testing.rpg.su' or domain_name == 'localhost') { $dlit = 5; } else { $dlit = max(120, 600 - getCraftLevel($user_id, 10) * 20); } craft_setFunc($user_id, 10); set_delay_reason_id($user_id, 34); $build_id = 'founder'; myquery("DELETE FROM craft_build_rab WHERE user_id={$user_id}"); myquery("INSERT INTO craft_build_rab (user_id,build_id,date_rab,dlit) VALUES ({$user_id},'{$build_id}'," . time() . ",{$dlit})"); ForceFunc($user_id, func_craft); setLocation("../craft.php"); } else { $mes = 'Неудача, ты неправильно ' . echo_sex('сбалансировал', 'сбалансировала') . ' тепло печи или насыщенность состава, все материалы потрачены впустую.'; myquery("UPDATE craft_build_founder SET state=0,nas=0,teplo=0,res_id=0,col_res=0,col_coal=0,col_water=0 WHERE user_id={$user_id}"); if (domain_name == 'localhost') { $option = 19; } else { $option = 18; } $url = 'town.php?option=' . $option . '&part4&add=18&mes=' . $mes; setLocation($url);
<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 ' <tr><td align="left"><font face="Verdana" size="1">Деньги</font></td><td align="right"><font face="Verdana" size="1"><img src="http://' . img_domain . '/nav/gold.gif" width="10" height="10" border="0">' . trim($char['GP']) . '</font></td></tr>'; echo '</table>'; OpenTable('close'); echo '<img src="http://' . img_domain . '/nav1/bar1.gif"></td></tr></table>'; } else { include 'inc/template_stats.inc.php'; } echo '</td></tr></table></td></tr></table>'; set_delay_reason_id($user_id, 22); if (function_exists("save_debug")) { save_debug(); }
<?php if (function_exists("start_debug")) { start_debug(); } if ($_SERVER['PHP_SELF'] != "/act.php") { die; } if (isset($teleport_map_name) and isset($teleport_map_xpos) and isset($teleport_map_ypos) and ($char['clan_id'] == 1 or $user_id == 9665)) { $up = myquery("UPDATE game_users_map SET map_name=" . $teleport_map_name . ", map_xpos=" . $teleport_map_xpos . ", map_ypos=" . $teleport_map_ypos . " WHERE user_id='" . $char['user_id'] . "'"); } set_delay_reason_id($char['user_id'], 24); $current_time = time(); $online_range = $current_time - 300; $result = mysql_result(myquery("SELECT COUNT(*) FROM view_active_users"), 0, 0); $online_number = $result; $result = myquery("SELECT COUNT( * )\nFROM game_npc, game_npc_template\nWHERE game_npc.time_kill + game_npc_template.respawn < unix_timestamp( )\nAND prizrak =0 \nAND game_npc.npc_id=game_npc_template.npc_id"); $online_bot = mysql_result($result, 0, 0); echo ' <table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td valign="top">'; OpenTable('title'); echo '<div align="right" style="position:relative;">'; if ($char['map_name'] == 18) { echo '<img style="z-index:100;position:absolute;right:0%;top:25px;" src="http://' . img_domain . '/map/sz_gerb_100.gif" height="100" weight="100" align=right> '; } elseif ($char['map_name'] == 5) { echo '<img style="z-index:100;position:absolute;right:0%;top:25px;" src="http://' . img_domain . '/map/bel_gerb_100.gif" height="100" weight="100" align=right> '; } else { echo '<img src="http://' . img_domain . '/nav/online.gif" align=right> '; } echo '<font face="Verdana" size="2" color="#f3f3f3"><b>Игроков в игре: </font><font face="Verdana" size="2" color=ff0000>' . $online_number . '</b></font> <font face="Verdana" size="2" color="#f3f3f3"><b>Ботов в игре: </font><font face="Verdana" size="2" color=ff0000>' . $online_bot . '</b></font></div>';
ForceFunc($user_id, 5); setLocation("../act.php"); } } before_print(); ?> <html> <head> <title>Средиземье :: Эпоха сражений :: RPG online игра по трилогии Толкиена "Властелин колец"</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <meta name="description" content="Многопользовательская RPG OnLine игра по трилогии Дж.Р.Р.Толкиена 'ВЛАСТЕЛИН КОЛЕЦ' - лучшая ролевая игра на постсоветском пространстве"> <meta name="Keywords" content="Средиземье, Властелин, колец, Толкиен, Lord, of, the, Rings, rpg, фэнтези, ролевая, онлайн, игра, Эпоха, сражений, online, game, поединки, бои, гильдии, кланы, магия, бк, таверна, игра, играть, игрушки, интернет, internet, fantasy, меч, топор, магия, кулак, удар, блок, атака, защита, Бойцовский, Клуб, бой, битва, отдых, обучение, развлечение, виртуальная, реальность, рыцарь, маг, знакомства, чат, лучший, форум, свет, тьма, bk, games, клан, банк, магазин, клан"> <style type="text/css">@import url("../style/global.css");</style> </head> <?php set_delay_reason_id($user_id, 13); $step = mysql_fetch_array(myquery("SELECT * FROM bookgame_step WHERE bookgame={$book_id} AND step={$curr_step}")); if ($step['add_dex'] != 0) { myquery("UPDATE bookgame_users SET dex=dex+" . $step['add_dex'] . " WHERE user_id={$user_id} AND bookgame={$book_id}"); } if ($step['add_master'] != 0) { myquery("UPDATE bookgame_users SET master=master+" . $step['add_master'] . " WHERE user_id={$user_id} AND bookgame={$book_id}"); } if ($step['add_lucky'] != 0) { myquery("UPDATE bookgame_users SET lucky=lucky+" . $step['add_lucky'] . " WHERE user_id={$user_id} AND bookgame={$book_id}"); } if ($step['add_gp'] != 0) { myquery("UPDATE bookgame_users SET gp=gp+" . $step['add_gp'] . " WHERE user_id={$user_id} AND bookgame={$book_id}"); } $user_book = mysql_fetch_array(myquery("SELECT * FROM bookgame_users WHERE user_id={$user_id} AND bookgame={$book_id}")); $string = $step['text'];
function combat_insert($char = 0, $user_id = 0, $combat_id, $type, $side, $hod = 1, $join = 0, $svit = 0, $k_komu = 0, $k_map_exp = 1, $k_map_gp = 1, $skill = 0, $func = 5, $delay, $no_rejoin = 0, $full_stats = 0) { if ($char == 0 and $user_id == 0) { return 0; } if ($char == 0) { $check_user = myquery("SELECT * FROM game_users WHERE user_id=" . $user_id . ""); if (mysql_num_rows($check_user) > 0) { $char = mysql_fetch_array($check_user); } else { $char = mysql_fetch_array(myquery("SELECT * FROM game_users_archive WHERE user_id=" . $user_id . "")); } } $user_id = $char['user_id']; $injury = ceil($char['injury'] / 13); //Определим травму игрока list($pol) = mysql_fetch_array(myquery("SELECT sex FROM game_users_data WHERE user_id=" . $user_id . "")); if ($skill == 0) { $skill = take_skills($user_id); } myquery("DELETE FROM combat_users WHERE user_id=" . $user_id . ""); myquery("DELETE FROM combat_users_exp WHERE user_id=" . $user_id . ""); //Восстановим жизни, ману, энергию, если надо if ($full_stats == 1) { $char['HP'] = $char['HP_MAX']; $char['MP'] = $char['MP_MAX']; $char['STM'] = $char['STM_MAX']; } $k_exp = skill_exp_effect($skill['MS_EXP'], $type) * $k_map_exp; $k_gp = skill_gp_effect($skill['MS_GP'], $type) * $k_map_gp; if ($svit > 0) { $k_exp = 0; if ($svit > 1) { $k_gp = 0; } } myquery("INSERT INTO combat_users (\n\t\tcombat_id,user_id,npc,time_last_active,name,clevel,reinc,side,\n\t\tHP,MP,STM,STR,DEX,SPD,VIT,NTL,PIE,HP_MAX,MP_MAX,STM_MAX,lucky,injury,\n\t\tk_komu,k_exp,k_gp,pol,avatar,sklon,race,clan_id,`join`,HP_start,hod_start,\n\t\tclass_type,class_level,MS_WEAPON,MS_KULAK,MS_PARIR,MS_ART,MS_LUK,MS_THROW,MS_BERSERK,MS_PRUDENCE,MS_VAMPIRE,MS_SPIKES,NPC_DEFENCE) \n\t\tVALUES (" . $combat_id . "," . $user_id . ",0," . time() . ",'" . $char['name'] . "'," . $char['clevel'] . "," . $char['reinc'] . "," . $side . ",\n\t\t" . $char['HP'] . "," . $char['MP'] . "," . $char['STM'] . "," . $char['STR'] . "," . $char['DEX'] . "," . $char['SPD'] . "," . $char['VIT'] . "," . $char['NTL'] . "," . $char['PIE'] . ",\t\t\t\n\t\t" . $char['HP_MAX'] . "," . $char['MP_MAX'] . "," . $char['STM_MAX'] . ",'" . $char['lucky'] . "','" . $injury . "',\n\t\t" . $k_komu . "," . $k_exp . "," . $k_gp . ",'" . $pol . "','" . $char['avatar'] . "','" . $char['sklon'] . "',\n\t\t'" . mysql_result(myquery("SELECT name FROM game_har WHERE id=" . $char['race'] . ""), 0, 0) . "'," . $char['clan_id'] . "," . $join . "," . $char['HP_MAX'] . ",'" . $hod . "',\n\t\t" . $skill['class_type'] . "," . $skill['class_level'] . "," . $skill['MS_WEAPON'] . "," . $skill['MS_KULAK'] . "," . $skill['MS_PARIR'] . "," . $skill['MS_ART'] . "," . $skill['MS_LUK'] . "," . $skill['MS_THROW'] . ",\n\t\t" . $skill['MS_BERSERK'] . "," . $skill['MS_PRUDENCE'] . "," . $skill['MS_VAMPIRE'] . "," . $skill['MS_SPIKES'] . "," . $skill['NPC_DEFENCE'] . ")\n\t\t"); combat_setFunc($user_id, $func, $combat_id); set_delay_reason_id($user_id, $delay); //Отработаем действие навыка "Паладин" if ($skill['PALADIN'] > 0) { $r = mt_rand(1, 100); if ($r <= $skill['PALADIN'] + 5) { if ($hod == 0) { $hod = 1; } $effect = $skill['PALADIN'] * 5; insert_fast_effect($user_id, $user_id, $combat_id, $hod + $join, 41, $effect); } } if ($no_rejoin == 1) { list($host) = mysql_fetch_array(myquery("SELECT host FROM game_users_active WHERE user_id=" . $user_id . "")); list($host_more) = mysql_fetch_array(myquery("SELECT host_more FROM game_users_active_host WHERE user_id=" . $user_id . "")); myquery("INSERT INTO combat_lose_user (combat_id,user_id,host,host_more) VALUES (" . $combat_id . "," . $user_id . "," . $host . ",'" . $host_more . "')"); } //Проверим - надо ли вести лог боя $check1 = 0; $check2 = 0; if ($hod == 1) { $check = myquery("SELECT * FROM combat_users WHERE npc=1 AND combat_id=" . $combat_id . ""); if (mysql_num_rows($check) == 0) { $check1 = 1; } } else { $check = myquery("SELECT * FROM game_combats_users WHERE boy=" . $combat_id . ""); if (mysql_num_rows($check) > 0) { $check2 = 1; } } if ($check1 == 1 or $check2 == 1) { myquery("INSERT INTO game_combats_users (boy, user_id, side) VALUES (" . $combat_id . ", " . $user_id . ", " . $side . ")"); } $sel_arco = myquery("SELECT * FROM arcomage_users WHERE user_id=" . $user_id . ""); if (mysql_num_rows($sel_arco) > 0) { $arco = mysql_fetch_array($sel_arco); myquery("DELETE FROM arcomage WHERE id='" . $arco['arcomage_id'] . "'"); myquery("DELETE FROM arcomage_users_cards WHERE arcomage_id='" . $arco['arcomage_id'] . "'"); myquery("DELETE FROM arcomage_history WHERE arcomage_id='" . $arco['arcomage_id'] . "'"); myquery("DELETE FROM arcomage_users WHERE arcomage_id='" . $arco['arcomage_id'] . "'"); } myquery("DELETE FROM arcomage_call WHERE user_id=" . $user_id . ""); ForceFunc($user_id, 1); }
myquery("INSERT INTO craft_build_rab (user_id, build_id, date_rab, dlit, eliksir) VALUES ('" . $char['user_id'] . "', '" . $build['id'] . "', '" . $date_rab . "', '" . $dlitel . "',{$eliksir})"); $_SESSION['craft_code'] = ''; $craft_index = 1; $refresh = 5; if ($building['include'] != '') { $craft_index = get_craft_index($building['include']); $refresh = 0; } else { echo 'Ты ' . echo_sex('устроился', 'устроилась') . ' на работу'; } $id_reason = getDelayReasonCraft($craft_index); if (isset($_SESSION['cur_get_mining'])) { unset($_SESSION['cur_get_mining']); } craft_setFunc($user_id, $craft_index); set_delay_reason_id($user_id, $id_reason); // Попробуем форсировать игрока. Это с точки зрения логичности не совсем верно, но все же. // Точнее не верно то, что мы и редиректим его и форсируем. ForceFunc($user_id, func_craft); if (isset($_GET['mes'])) { setLocation("../craft.php?mes=" . $mes); } else { setLocation("../craft.php"); } } elseif (!isset($_SESSION['captcha']) or !isset($_POST['digit']) or $_POST['digit'] != $_SESSION['captcha']) { echo 'Ты ' . echo_sex('ввел', 'ввела') . ' неправильный код'; } elseif ($razresheno == 1) { echo 'Нет мест'; } else { echo '!'; }