Пример #1
0
function check_obnul($param)
{
    global $char, $user_id, $dostup;
    if ($char['clevel'] < 5) {
        return;
    }
    if ($dostup == -1) {
        $dostup = 0;
        if ($char['clevel'] >= 5) {
            $obnul = mysql_result(myquery("SELECT obnul FROM game_users_data WHERE user_id={$user_id}"), 0, 0);
            if ($obnul > 0) {
                $dostup = 1;
            } else {
                $dostup = 2;
            }
            //проверим, не сидит ли игрок на каторге
            $prison_check = mysql_num_rows(myquery("SELECT * FROM game_prison WHERE user_id='{$user_id}'"));
            //если игрок на каторге, не дадим ему ссылку на форум
            if ($prison_check > 0) {
                $dostup = 0;
            }
        }
    }
    if ($dostup > 0) {
        if (isset($_POST['make_obnul2']) and $param == 0) {
            do_obnul($user_id, $dostup);
            echo '<div style="padding:10px;align:center;font-weight:700;color:#FFFF00;font-family:Verdana,Tahoma,Arial,sans-serif;font-size:12px;">Твой персонаж удачно обнулен! Поздравляю! Теперь ты можешь заново развить своего героя!</div>';
            $result = myquery("SELECT * FROM game_users WHERE user_id={$user_id} LIMIT 1");
            $char = mysql_fetch_array($result);
            list($char_map_name, $char_map_xpos, $char_map_ypos) = mysql_fetch_array(myquery("SELECT map_name,map_xpos,map_ypos FROM game_users_map WHERE user_id='{$user_id}'"));
            list($IP) = mysql_fetch_array(myquery("SELECT work_IP FROM game_users_data WHERE user_id='{$user_id}'"));
            $char['map_name'] = $char_map_name;
            $char['map_xpos'] = $char_map_xpos;
            $char['map_ypos'] = $char_map_ypos;
            $char['last_active'] = $_SESSION['user_time'];
        } elseif ($param == 1 and !isset($_POST['make_obnul'])) {
            echo '<script language="JavaScript" type="text/javascript">
			function show_hide_obnul()
			{
				div = document.getElementById("obn");
				if (div.style.display=="none")
				{
					div.style.display = "block";
				}
				else
				{
					div.style.display = "none";
				}
			}
			</script>';
            echo '<div><a href="#" onClick="show_hide_obnul();">Тебе доступно обнуление персонажа</a></div>';
            echo '<div id="obn" style="display:none;">';
            QuoteTable('open');
            echo '<div style="padding:10px;align:center;font-weight:400;color:#FF8080;font-family:Verdana,Tahoma,Arial,sans-serif;font-size:12px;">Тебе доступно "обнуление" своего персонажа. После "обнуления" твой уровень и характеристики будут сброшены до начального уровня (0 уровня). Все предметы будут с тебя сняты. Если у тебя есть конь, то тебе вернут половину его стоимости, а самого коня удалят. У тебя будет вычтено то количество золотых монет, которое ты будешь получать в дальнейшем при повышении уровней';
            //$obnul = mysqlresult(myquery("SELECT obnul FROM game_users_data WHERE user_id=$user_id"),0,0);
            if ($dostup == 2) {
                $allexp = 0;
                $gp = 0;
                count_all_exp($allexp, $gp);
                $shtraf = floor($allexp * 0.1);
                echo '<div style="padding:10px;align:center;font-weight:400;color:#00FFFF;font-family:Verdana,Tahoma,Arial,sans-serif;font-size:12px;">За обнуление ты ' . echo_sex('должен', 'должна') . ' будешь заплатить: ' . $shtraf . ' единиц опыта</div>';
            }
            echo '<br /><br /><center><form action="" method="post" name="form_obnul"><input type="submit" name="make_obnul" value="ДА, я хочу сделать обнуление своего персонажа" style="padding:5px;font-size:13px;color:white;font-weight:900;font-family:Verdana;"></form>';
            echo '</div>';
            QuoteTable('close');
            echo '</div>';
            echo '<br />';
        } elseif ($param == 1 and isset($_POST['make_obnul'])) {
            QuoteTable('open');
            echo '<div style="padding:10px;align:center;font-weight:400;color:#FF8080;font-family:Verdana,Tahoma,Arial,sans-serif;font-size:12px;">Тебе доступно "обнуление" своего персонажа. После "обнуления" твой уровень и характеристики будут сброшены до начального уровня (0 уровня). Все предметы будут с тебя сняты. Если у тебя есть конь, то тебе вернут половину его стоимости, а самого коня удалят. У тебя будет вычтено то количество золотых монет, которое ты будешь получать в дальнейшем при повышении уровней.';
            //$obnul = mysqlresult(myquery("SELECT obnul FROM game_users_data WHERE user_id=$user_id"),0,0);
            if ($dostup == 2) {
                $allexp = 0;
                $gp = 0;
                count_all_exp($allexp, $gp);
                $shtraf = floor($allexp * 0.1);
                echo '<div style="padding:10px;align:center;font-weight:400;color:#00FFFF;font-family:Verdana,Tahoma,Arial,sans-serif;font-size:12px;">За обнуление ты ' . echo_sex('должен', 'должна') . ' будешь заплатить: ' . $shtraf . ' единиц опыта</div>';
            }
            echo '<center><div style="font-weight:700;font-size:16px;color:red;height:55px;"><br>Ты ' . echo_sex('решил', 'решила') . ' сделать обнуление персонажа. <br />Действительно ли ты хочешь это сделать?<br></div>';
            echo '<form action="" method="post" name="form_obnul" class="button"><input type="submit" name="make_obnul2" value="ДА, я действительно хочу сделать обнуление своего персонажа" style="padding:5px;font-size:13px;color:white;font-weight:900;font-family:Verdana;"></form>';
            echo '</div>';
            QuoteTable('close');
            echo '<br />';
        }
    }
}
Пример #2
0
function do_obnul($user_id, $obnul = 0)
{
    // Формула накопленного опыта
    $sel_char = myquery("SELECT * FROM game_users WHERE user_id={$user_id}");
    if (!mysql_num_rows($sel_char)) {
        $sel_char = myquery("SELECT * FROM game_users_archive WHERE user_id={$user_id}");
    }
    if (!mysql_num_rows($sel_char)) {
        return;
    }
    $char = mysql_fetch_array($sel_char);
    $gp = 0;
    $EXP_NEW = 0;
    count_all_exp($EXP_NEW, $gp);
    if ($obnul == 2) {
        if ($char['clevel'] >= 25) {
            $EXP_NEW -= floor($EXP_NEW * 0.1);
        } elseif ($char['clevel'] >= 10) {
            $EXP_NEW -= floor($EXP_NEW * 0.05);
        }
    }
    $result = myquery("select * from game_har where id='" . $char['race'] . "'");
    $row = mysql_fetch_array($result);
    $hp_maxn = $row["hp_max"];
    $mp_maxn = $row["mp_max"];
    $stm_maxn = $row["stm_max"];
    $strn = $row["str"];
    $ntln = $row["ntl"];
    $pien = $row["pie"];
    $vitn = $row["vit"];
    $dexn = $row["dex"];
    $spdn = $row["spd"];
    $upd = myquery("update game_users set clevel='0', HP='{$hp_maxn}', HP_MAX='{$hp_maxn}', HP_MAXX='{$hp_maxn}', MP='{$mp_maxn}', MP_MAX='{$mp_maxn}',\n    STM='{$stm_maxn}', STM_MAX='{$stm_maxn}', EXP='{$EXP_NEW}',GP=GP-{$gp}, STR='{$strn}', NTL='{$ntln}', PIE='{$pien}', VIT='{$vitn}', DEX='{$dexn}',\n    SPD='{$spdn}', STR_MAX='{$strn}', NTL_MAX='{$ntln}', PIE_MAX='{$pien}', VIT_MAX='{$vitn}', DEX_MAX='{$dexn}',\n    SPD_MAX='{$spdn}', CC=40, lucky=0, lucky_max=0 where user_id={$user_id} limit 1");
    $upd = myquery("update game_users_archive set clevel='0', HP='{$hp_maxn}', HP_MAX='{$hp_maxn}', HP_MAXX='{$hp_maxn}', MP='{$mp_maxn}', MP_MAX='{$mp_maxn}',\n    STM='{$stm_maxn}', STM_MAX='{$stm_maxn}', EXP='{$EXP_NEW}',GP=GP-{$gp}, STR='{$strn}', NTL='{$ntln}', PIE='{$pien}', VIT='{$vitn}', DEX='{$dexn}',\n    SPD='{$spdn}', STR_MAX='{$strn}', NTL_MAX='{$ntln}', PIE_MAX='{$pien}', VIT_MAX='{$vitn}', DEX_MAX='{$dexn}',\n    SPD_MAX='{$spdn}', CC=40, lucky=0, lucky_max=0 where user_id={$user_id} limit 1");
    //обновление навыков и специализаций
    $gp = 0;
    //удаляем коней
    $sel = myquery("SELECT SUM(game_vsadnik.cena) FROM game_vsadnik,game_users_horses WHERE game_vsadnik.id=game_users_horses.horse_id AND game_users_horses.user_id=" . $char['user_id'] . " GROUP BY game_users_horses.user_id");
    $gp = mysqlresult($sel, 0, 0);
    myquery("DELETE FROM game_users_horses WHERE user_id=" . $char['user_id'] . "");
    //if ($char['vsadnik']!=0) $gp= mysql_result(myquery("SELECT cena FROM game_vsadnik WHERE id='".$char['vsadnik']."'"),0,0);
    $upd = myquery("update game_users set MS_ART=0, MS_KULAK=0, MS_LUK=0, MS_WEAPON=0, MS_VOR=0, MS_VSADNIK=0, MS_PARIR=0, MS_LEK=0, MS_KUZN=0, MS_SPEAR=0, MS_SWORD=0, MS_AXE=0, MS_THROW=0, skill_war=0, skill_music=0, skill_cook=0, skill_art=0, skill_explor=0, skill_craft=0,skill_card=0,skill_pet=0,skill_uknow=0,dvij=1, exam='0', bound='0',vsadnik=0,GP=GP+'{$gp}' where user_id='" . $char['user_id'] . "'");
    $upd = myquery("update game_users_archive set MS_ART=0, MS_KULAK=0, MS_LUK=0, MS_WEAPON=0, MS_VOR=0, MS_VSADNIK=0, MS_PARIR=0, MS_LEK=0, MS_KUZN=0, MS_SPEAR=0, MS_SWORD=0, MS_AXE=0, MS_THROW=0, skill_war=0, skill_music=0, skill_cook=0, skill_art=0, skill_explor=0, skill_craft=0,skill_card=0,skill_pet=0,skill_uknow=0,dvij=1, exam='0', bound='0',vsadnik=0,GP=GP+'{$gp}' where user_id='" . $char['user_id'] . "'");
    setGP($user_id, $gp, 29);
    //Снятие всех предметов
    $upd = myquery("update game_items set used=0 where user_id='" . $char['user_id'] . "' and priznak=0");
    if ($obnul == 1) {
        myquery("UPDATE game_users_data SET obnul=0 WHERE user_id={$user_id}");
    }
}