示例#1
0
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);
    }
}
示例#2
0
    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 '';
}
示例#4
0
         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);
示例#5
0
	<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();
}
示例#6
0
<?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>&nbsp;';
} 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>&nbsp;';
} else {
    echo '<img src="http://' . img_domain . '/nav/online.gif" align=right>&nbsp;';
}
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'];
示例#8
0
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);
}
示例#9
0
     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 '!';
 }