Example #1
0
                myquery("DELETE FROM game_items WHERE game_items.user_id={$user_id} AND game_items.priznak=0 and item_id=" . item_id_part_svitok_hranitel . "");
            } else {
                myquery("Update game_items Set count_item=count_item-5 WHERE game_items.user_id={$user_id} AND game_items.priznak=0 and item_id=" . item_id_part_svitok_hranitel . "");
            }
            myquery("UPDATE game_users SET CW=CW-{$minus_weight} WHERE user_id={$user_id}");
        }
    }
} elseif (isset($_GET['make_svitok_ice'])) {
    $minus_weight = 10 * mysqlresult(myquery("SELECT weight FROM game_items_factsheet WHERE id=" . item_id_part_svitok_ice_portal . ""), 0, 0);
    $result_items = myquery("SELECT Sum(game_items.count_item) as Count FROM game_items WHERE game_items.user_id={$user_id} AND game_items.priznak=0 and item_id=" . item_id_part_svitok_ice_portal . "");
    $result_items = mysql_fetch_array($result_items);
    if ($result_items['count'] < 10) {
        echo '<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<b>Для сборки Свитка Снежного Портала необходимо 10 частей</b><br /><br />';
    } else {
        $Item = new Item();
        $ar = $Item->add_user(item_id_svitok_ice_portal, $user_id, 0);
        if ($ar[0] > 0) {
            echo '<br /><br /><center><h2>Поздравляю!</h2><br /><i>Ты успешно ' . echo_sex('создал', 'создала') . ':</i><br /><br />';
            $Item->info($ar[1]);
            if ($result_items['count'] = 5) {
                myquery("DELETE FROM game_items WHERE game_items.user_id={$user_id} AND game_items.priznak=0 and item_id=" . item_id_part_svitok_ice_portal . ")");
            } else {
                myquery("DELETE game_items Set count_item=count_item-5 WHERE game_items.user_id={$user_id} AND game_items.priznak=0 and item_id=" . item_id_part_svitok_ice_portal . ")");
            }
            myquery("UPDATE game_users SET CW=CW-{$minus_weight} WHERE user_id={$user_id}");
        }
    }
}
if (isset($_SESSION['error_inv']) and $_SESSION['error_inv'] == 'error_ident') {
    QuoteTable('open');
    echo '<span class="ERROR">Не идентифицировано</span>';
         eval($text);
         //echo ' - <b>Все отлично!</b> - сказал получатель. - <b>Это так же верно, как и то, что рибоза и дизоксирибоза никогда не встречаютсяв одном нуклеотиде, в одной молекуле нуклеиновой кислоты. Друг с другом связываются либо одни рибонуклеотиды, либо дезоксирибонуклиотиды.  Отсюда название нуклеиновых кислот – рибонуклеиновая (РНК)и дезоксирибонуклеиновая (ДНК).  Азотистые основания обладают слабо выраженными основными свойствами. В нуклеиновые кислоты входят два типа оснований. Одни из них относятся к группе пиримидинов, основу которого составляет шестичленное кольцо. Другие основания– это представители группы пуринов. У пуринов к пиримидиновому кольцу присоединеноеще пятичленное кольцо. Дезоксирибоза, соединяясь с пуриновым или пиримидиновым основанием посредством атома азота образует соединение нуклеотид. Нуклеотиды, соединяясь с одной молекулой фосфорной кислоты, образуют более сложные соединения – нуклеотиды. Таким образом, ДНК состоит из последовательно соединенных друг с другом друг дезоксирибонуклеотидов, каждый из которых содержит какое-то одно из четырех оснований – аденин,  цитозин, гуанин или тимин. Макромолекула ДНК состоит из двухцепей, протяженность которых, колеблется в широких пределах – от 77 до нескольких миллионов нуклеотидов. В ДНК входят два пурина – аденин (А) и гуанин(Г), два пиримидина и цитозин (Ц) и тимин (Т). И размеры А и Г несколько больше, чем Ц и Т!</b< <br><br> Он забрал у вас пакет и вручил письмо с потверждением, что он доставлен  вовремя.';
         echo '</td></tr><tr><td bgcolor="#223344" align="center"><br><br><br><HR align="center" noshade size="2" width="80%"><br>';
         /*myquery("DELETE FROM game_items WHERE user_id='$user_id' AND item_id=$id_posylka AND item_for_quest=".$quest_user['quest_owner_id']."");
           $Item = new Item();
           $Item->add_user($id_item_letter,$user_id,0,$quest_user['quest_owner_id']);*/
         myquery("UPDATE quest_engine_users SET done=1 WHERE user_id='{$user_id}' AND quest_type=5 AND done=0 AND par1_value=" . $char['map_name'] . " AND par2_value=" . $town . " AND par3_value=" . $char['map_xpos'] . " AND par4_value=" . $char['map_ypos'] . " ");
     }
     //отберем посылку и дадим письмо
     list($sending_id, $weight) = mysql_fetch_array($sending);
     $Item = new Item();
     $Item = new Item($sending_id);
     $Item->admindelete();
     //с весом еще
     //myquery("UPDATE game_users SET CW = CW-'$weight' WHERE user_id = ".$user_id."");
     $new_id = $Item->add_user($id_item_letter_complete, $user_id, 0, $quest_user['quest_owner_id']);
     //if($new_id[0]==1)
     $new_id = $new_id[1];
     //сгенерим вес
     $weight = $weight = mt_rand(10, 30) / 100;
     myquery("UPDATE game_items SET item_uselife = '{$weight}' WHERE id = '{$new_id}'");
     //хоп
     myquery("UPDATE game_users SET CW = CW+'{$weight}' WHERE user_id = " . $char['user_id'] . "");
     echo '<br><br>';
     echo '<form action="" method="post"><input name="town_id" type="hidden" value="' . $town . '"><BLOCKQUOTE><input name="quest_fin" type="submit" value="Вернуться к своим делам" style="COLOR: #СССССС; FONT-SIZE: 9pt; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #000000"></BLOCKQUOTE></form></td></tr></table>';
     QuoteTable('close');
 } else {
     QuoteTable('open');
     echo '<TABLE bgcolor="#223344" align="center" ><tr><Td bgcolor="#223344"><div align=left><font color=#FBB5B5 size=3><BR><center>Итак...</center><HR align="center" noshade size="2" width="80%"><BR><BR>';
     echo 'Но у тебя же нет посылки!';
     echo '</td></tr><tr><td bgcolor="#223344" align="center"><br><br><br><HR align="center" noshade size="2" width="80%"><br>';
Example #3
0
            if (mysql_num_rows($item) == 0) {
                echo '<font color=red> There is no item like that you want.';
            } else {
                $item = mysql_fetch_array($item);
                echo '<br><font color=green>Do you want to buy item ' . $item['name'] . ', ID = ' . $item['id'] . ', encyclopedy view = ' . $item['view'] . '<br>';
                echo '
				<form method="POST" action="?magaz&buy">
				<INPUT type="hidden" name="to_buy_id" value=' . $item['id'] . '>
				<INPUT type="submit" name="ok" value="BUY IT">
				</FORM>
				';
            }
        }
        if (isset($to_buy_id)) {
            $Item = new Item();
            $Item->add_user($to_buy_id, $user_id, 0);
            echo '<font color=green size=5><br>Thanks for your purchase! Come to us again!<br>';
        }
    } else {
        $q = myquery("SELECT * FROM quest_engine_users where user_id=" . $user_id . " AND quest_type>800");
        $q1 = mysql_fetch_array($q);
        echo '<font color=green>До ' . strftime("%e-%m-%Y%t%T", $q1["quest_finish_time"]) . '';
    }
    $q = myquery("SELECT * FROM quest_engine_users where user_id=" . $user_id . "");
    if (mysql_num_rows($q) > 0) {
        echo '<font color=green>You have quests';
    } else {
        echo '<font color=green>You have no quests';
    }
    echo '<br>';
    while ($q1 = mysql_fetch_array($q)) {
         $check_frag = 1;
     }
     // Проверки пройдены - можно вручать награды
     if ($check_frag == 1) {
         $i = 1;
         while (isset($mas_u[$i])) {
             $item_id = 1278;
             $kol_kills = min(5, $mas_u[$i]['kills']);
             $kol_items[1] = 1;
             $kol_items[2] = 3;
             $kol_items[3] = 10;
             $kol_items[4] = 30;
             $kol_items[5] = 120;
             if (isset($kol_items[$kol_kills]) and $kol_items[$kol_kills] > 0) {
                 $Item = new Item();
                 $Item->add_user($item_id, $mas_u[$i]['user_id'], 0, 0, 0, $kol_items[$kol_kills]);
             }
             $i++;
         }
     }
     // Увеличение количества побед у клана победителя
     myquery("UPDATE game_clans SET cw_wins=cw_wins+1 WHERE clan_id = " . $win_side . " ");
 } elseif ($this->combat['combat_type'] == 12) {
     $say = 'Завершилась Битва Хаоса! Имя победителя - [color=yellow][b]' . $this->all[$win_side]['name'] . '![/b][/color]. Слава герою!!!';
     $say = iconv("Windows-1251", "UTF-8//IGNORE", "<span style=\"font-style:italic;font-size:12px;color:gold;font-family:Verdana,Tahoma,Arial,Helvetica,sans-serif\">" . $say . "</b></span>");
     myquery("INSERT INTO game_log (`message`,`date`,`fromm`) VALUES ('" . mysql_real_escape_string($say) . "'," . time() . ",-1)");
     $hawk = 28591;
     $ma = myquery("INSERT INTO game_pm (komu, otkogo, theme, post, view, time) VALUES (" . $hawk . ", '0', 'Битва Хаоса', 'Завершилась Битва Хаоса! Победитель - " . $this->all[$win_side]['name'] . "','0','" . time() . "')");
 }
 $sel_users = myquery("SELECT user_id  FROM combat_users_state WHERE combat_id=" . $this->combat['combat_id'] . " AND state IN (5,6)");
 while ($us = mysql_fetch_array($sel_users)) {
Example #5
0
 private function user_dead($user_id, $user_win)
 {
     if ($this->all[$user_id]['npc'] == 1) {
         //удаляем бота из таблицы состояний боя
         combat_delFunc($user_id);
         $expsumm = 0;
         $sel = myquery("SELECT * FROM combat_users_exp WHERE combat_id=" . $this->combat['combat_id'] . " AND prot_id=" . $user_id . " AND (exp>0 OR gp>0)");
         //начисляем накопленный опыт за бота игрокам
         while ($userwin = mysql_fetch_array($sel)) {
             if (!isset($this->all[$userwin['user_id']])) {
                 continue;
             }
             //для 3го типа квестов движка
             myquery("UPDATE quest_engine_users SET par2_value=par2_value+" . $userwin['exp'] . " WHERE user_id=" . $userwin['user_id'] . " AND quest_type=3");
             $this->all[$userwin['user_id']]['exp'] += $userwin['exp'];
             $this->all[$userwin['user_id']]['gp'] += $userwin['gp'];
             if ($userwin['user_id'] == $user_win) {
                 $expsumm += $userwin['exp'];
             }
             if ($userwin['gp'] != 0) {
                 setGP($userwin['user_id'], $userwin['gp'], 22);
             }
             if ($userwin['exp'] != 0) {
                 setEXP($userwin['user_id'], $userwin['exp'], 1);
             }
             if (function_exists("save_stat")) {
                 save_stat($userwin['user_id'], $user_id, "", 5, "", "", "", $userwin['gp'], "", $userwin['exp'], "", "");
             }
             $userwin_clan = (int) $this->all[$userwin['user_id']]['clan_id'];
             $da = getdate();
             $user_exp_store = 0;
             $npc_exp_store = (int) $userwin['exp'];
             myquery("INSERT INTO game_combats_exp (clan_id,year,month,npc_exp,user_exp) VALUES ({$userwin_clan}," . $da['year'] . "," . $da['mon'] . ",{$npc_exp_store},{$user_exp_store}) ON DUPLICATE KEY UPDATE npc_exp=npc_exp+{$npc_exp_store},user_exp=user_exp+{$user_exp_store}");
             if ($userwin['exp'] > 0 or $userwin['gp'] > 0) {
                 $mes = '<font color=\\"#eeeeee\\">Ты ' . echo_sex('выиграл', 'выиграла', $this->all[$userwin['user_id']]['pol']) . ' бой. ';
                 $mes .= '' . $this->all[$user_id]['name'] . ' был побежден и бежал в неизвестном направлении!';
                 $mes .= ' Ты получаешь <span style=\\"font-weight:800;color:gold;\\">' . $userwin['exp'] . '</span> опыта';
                 if ($userwin['gp'] != 0) {
                     $mes .= ' и <span style=\\"font-weight:800;color:gold;\\">' . $userwin['gp'] . '</span> монет';
                 }
                 $mes = $mes . '!</font>';
                 $result = myquery("INSERT game_battles SET attacker_id=" . $userwin['user_id'] . ", target_id={$user_id}, map_name=" . $this->combat['map_name'] . ", map_xpos=" . $this->combat['map_xpos'] . ", map_ypos=" . $this->combat['map_ypos'] . ", contents='" . mysql_real_escape_string($mes) . "', post_time=" . time() . "");
             }
         }
         myquery("DELETE FROM combat_users_exp WHERE combat_id=" . $this->combat['combat_id'] . " AND prot_id=" . $user_id . "");
         //перемещение бота, выставление времени респауна, "лечение" бота
         $this->clear_user($user_id);
         $Npc = new Npc($user_id);
         $Npc->on_dead();
         //если убивается бот вводного квеста в Гильдии Новичков
         $sel = myquery("SELECT step FROM game_users_intro WHERE user_id={$user_win}");
         if ($sel != false and mysql_num_rows($sel) > 0) {
             list($step) = mysql_fetch_array($sel);
             if ($step == 10 or $step == 11) {
                 myquery("UPDATE game_users_intro SET step=step+1 WHERE user_id={$user_win}");
             }
         }
         //проверка квестовых заданий на убийство бота
         $selquest = myquery("SELECT * FROM game_quest_users WHERE user_id={$user_win} AND quest_id=1 AND sost=2");
         if (mysql_num_rows($selquest)) {
             if (isset($_SESSION['quest1_step'])) {
                 myquery("UPDATE game_quest_users SET sost=0,last_time=0 WHERE user_id={$user_win} AND quest_id=1 AND sost=2");
                 if ($_SESSION['quest1_step'] == 7) {
                     $_SESSION['quest1_step'] = 8;
                 }
                 if ($_SESSION['quest1_step'] == 14) {
                     $_SESSION['quest1_step'] = 15;
                 }
                 if ($_SESSION['quest1_step'] == 24) {
                     $_SESSION['quest1_step'] = 25;
                 }
                 if ($_SESSION['quest1_step'] == 27) {
                     $_SESSION['quest1_step'] = 28;
                 }
                 if ($_SESSION['quest1_step'] == 30) {
                     $_SESSION['quest1_step'] = 31;
                 }
                 if ($_SESSION['quest1_step'] == 32) {
                     $_SESSION['quest1_step'] = 33;
                 }
                 if ($_SESSION['quest1_step'] == 34) {
                     $_SESSION['quest1_step'] = 35;
                 }
                 if ($_SESSION['quest1_step'] == 36) {
                     $_SESSION['quest1_step'] = 37;
                 }
                 if ($_SESSION['quest1_step'] == 38) {
                     $_SESSION['quest1_step'] = 39;
                 }
                 if ($_SESSION['quest1_step'] == 40) {
                     $_SESSION['quest1_step'] = 41;
                 }
                 if ($_SESSION['quest1_step'] == 42) {
                     $_SESSION['quest1_step'] = 43;
                 }
                 if ($_SESSION['quest1_step'] == 44) {
                     $_SESSION['quest1_step'] = 45;
                 }
                 if ($_SESSION['quest1_step'] == 51) {
                     $_SESSION['quest1_step'] = 52;
                 }
             }
         }
         $selquest = myquery("SELECT * FROM game_quest_users WHERE user_id={$user_win} AND quest_id=21 AND sost=2");
         if (mysql_num_rows($selquest)) {
             if (isset($_SESSION['quest2_step'])) {
                 myquery("UPDATE game_quest_users SET sost=0,last_time=0 WHERE user_id={$user_win} AND quest_id=21 AND sost=2");
                 if ($_SESSION['quest2_step'] == 201) {
                     $_SESSION['quest2_step'] = 202;
                 }
                 if ($_SESSION['quest2_step'] == 203) {
                     $_SESSION['quest2_step'] = 204;
                 }
                 if ($_SESSION['quest2_step'] == 205) {
                     $_SESSION['quest2_step'] = 206;
                 }
                 if ($_SESSION['quest2_step'] == 207) {
                     $_SESSION['quest2_step'] = 208;
                 }
                 if ($_SESSION['quest2_step'] == 209) {
                     $_SESSION['quest2_step'] = 210;
                 }
                 if ($_SESSION['quest2_step'] == 211) {
                     $_SESSION['quest2_step'] = 212;
                 }
             }
         }
         //движок квестов
         include "quest/quest_engine_types/quests_engine_wincheck.php";
         if ($Npc->npc['npc_quest_id'] >= 2 and $Npc->npc['npc_quest_id'] <= 7) {
             $selquest = myquery("SELECT * FROM game_quest_users WHERE user_id={$user_win} AND quest_id=" . $Npc->npc['npc_quest_id'] . " AND sost=" . $Npc->npc['npc_id'] . "");
             if (mysql_num_rows($selquest)) {
                 $proc = 100;
                 if ($Npc->npc['EXP'] == 0) {
                     $proc = 0;
                 } elseif ($expsumm < $Npc->npc['EXP'] - 5) {
                     $proc = 100 * ($expsumm / $Npc->npc['EXP']);
                 }
                 $proc = min(100, $proc);
                 myquery("DELETE FROM game_items WHERE user_id={$user_win} AND used=0 AND item_for_quest=" . $Npc->npc['npc_quest_id'] . "");
                 $npc_item = $Npc->npc['npc_quest_item'];
                 $Item = new Item();
                 $ar = $Item->add_user($npc_item, $user_win, 1, $Npc->npc['npc_quest_id']);
                 if ($ar[0] == 1) {
                     myquery("UPDATE game_items SET item_uselife={$proc} WHERE id=" . $ar[1] . "");
                 }
             }
         }
     } else {
         if ($this->combat['combat_type'] == 10) {
             $this->map['not_lose'] = 1;
             $this->map['not_win'] = 1;
         }
         $this->break_items($user_id, $this->combat['npc']);
         //уменьшим текущий ресурс прочности предметов
         if ($this->against_npc($user_id)) {
             $this->check_quest_lose($user_id);
         }
         if ($this->combat['combat_type'] < 8 or $this->combat['combat_type'] > 11) {
             $this->user_teleport($user_id);
         }
         //отразим смерть и на ездовом животном!
         $check = myquery("SELECT id,golod FROM game_users_horses WHERE used=1 AND user_id={$user_id}");
         if (mysql_num_rows($check) > 0) {
             list($id_horse, $golod) = mysql_fetch_array($check);
             $r = mt_rand(1, 5);
             $k = 0;
             switch ($golod) {
                 case 0:
                     $k = 0;
                     break;
                 case 1:
                     $k = 1;
                     break;
                 case 2:
                     $k = 2;
                     break;
                 case 3:
                     $k = 3;
                     break;
                 case 4:
                     $k = 4;
                     break;
                 default:
                     $k = 10;
                     break;
             }
             $add = $r * $k;
             myquery("UPDATE game_users_horses SET life=GREATEST(0,life-{$add}) WHERE id={$id_horse}");
         }
         //переводим накопленный опыт в очки опыта
         $this->nachisl_exp_gp($user_id, 2, $user_win);
         if ($user_win > 0) {
             if ($this->all[$user_win]['npc'] == 0) {
                 if ($this->map['not_lose'] == 0) {
                     $this->all[$user_id]['lose']++;
                 }
                 save_stat($user_id, '', '', 6, '', '', $user_win, 0, $this->all[$user_win]['clan_id'], 0, $this->all[$user_id]['clevel'], $this->all[$user_win]['clevel']);
             }
             if ($this->map['not_win'] == 0) {
                 $this->all[$user_win]['win']++;
             }
         }
         combat_setFunc($user_id, 8, $this->combat['combat_id'], $this->combat['hod']);
         //установим состояние игрока в бою
         $this->clear_user($user_id);
         //очистим записи боя от этого игрока
     }
 }
<?php

$eliksir = CreateArrayForCraftEliksir();
add_exp_for_craft($user_id, 2);
if ($rab['eliksir'] >= 0 and $rab['eliksir'] < sizeof($eliksir)) {
    //зелье приготовлено
    $i = $rab['eliksir'];
    $change_weight = 0;
    //добавляем эликсир
    $Item = new Item();
    $Item->add_user($eliksir[$i]['item_id'], $user_id);
    myquery("delete from craft_build_rab where user_id={$user_id}");
    setCraftTimes($user_id, 2, 1, 1);
    $mes = 'Ты успешно ' . echo_sex('приготовил', 'приготовила') . ' зелье: <font color=red size=2>' . $eliksir[$i]['name'] . '</b></font>';
} else {
    $mes = 'Вроде бы ' . echo_sex('должен', 'должна') . ' сварить элексир. Но у тебя что-то не получилось, и ты ничего не ' . echo_sex('сварил', 'сварила') . '.';
}
if (isset($_GET['house'])) {
    $option = 18;
    if (domain_name == 'localhost') {
        $option = 19;
    }
    $url = 'lib/town.php?option=' . $option . '&part4&add=21&mes=' . $mes;
    setLocation($url);
} else {
    $url = 'quest/alchemist.php?begin&mes=' . $mes;
    setLocation($url);
}
Example #7
0
     //Забираем у игрока ресурсы
     $query_res = "SELECT sum(cr.weight*geg.kol*'" . $result['in_kol'] . "') as kol \n\t\t\t\t\t\t              FROM game_exchange_groups geg\n\t\t\t\t\t\t\t\t\t  JOIN craft_resource cr ON geg.item_id = cr.id\n\t\t\t\t\t\t\t\t\t  WHERE geg.group_id = '" . $result['in_id'] . "' and geg.item_type = 1";
     list($weight) = mysql_fetch_array(myquery($query_res));
     if ($weight != "") {
         myquery("UPDATE craft_resource_user cru JOIN game_exchange_groups geg ON cru.res_id = geg.item_id\n\t\t\t\t\t\t\t         SET cru.col = cru.col - geg.kol*'" . $result['in_kol'] . "'\n\t\t\t\t\t\t\t\t\t WHERE geg.group_id = '" . $result['in_id'] . "' and geg.item_type = 1 and cru.user_id = '" . $char['user_id'] . "'");
         myquery("DELETE FROM craft_resource_user WHERE user_id = '" . $char['user_id'] . "' and col = 0");
         myquery("UPDATE game_users SET CW=CW-'" . $weight . "' WHERE user_id = '" . $char['user_id'] . "' ");
     }
 }
 if ($result['out_id'] > 0) {
     //Выдаём игроку предметы
     $check = myquery("SELECT item_id, kol*'" . $result['out_kol'] . "' as kol FROM game_exchange_groups WHERE group_id = '" . $result['out_id'] . "' and item_type = 0");
     if (mysql_num_rows($check) > 0) {
         while ($item = mysql_fetch_array($check)) {
             $Item = new Item();
             $Item->add_user($item['item_id'], $char['user_id'], 0, 0, 0, $item['kol']);
         }
     }
     //Выдаём игроку ресурсы
     $check = myquery("SELECT item_id, kol*'" . $result['out_kol'] . "' as kol FROM game_exchange_groups WHERE group_id = '" . $result['out_id'] . "' and item_type = 1");
     if (mysql_num_rows($check) > 0) {
         while ($item = mysql_fetch_array($check)) {
             $Res = new Res(0, $item['item_id']);
             $Res->add_user(0, $char['user_id'], $item['kol']);
         }
     }
 }
 //Выдаём игроку деньги
 if ($result['out_gp'] > 0) {
     save_gp($char['user_id'], $result['out_gp'], 110, 1);
 }
Example #8
0
 public function use_item($id = 0)
 {
     global $char;
     if ($id > 0) {
         $this->init_item($id);
     }
     //можно использовать только эликсиры
     if ($this->fact['type'] == 13) {
         if ($this->item['user_id'] == $this->char['user_id']) {
             if ($this->item['priznak'] == 0) {
                 list($dlit) = mysql_fetch_array(myquery("SELECT dlit FROM game_eliksir_dlit WHERE elik_id=" . $this->fact['id'] . ""));
                 //эликсиры продолжительного действия
                 if ($dlit > 0) {
                     if ($this->fact['id'] == eliksir_bodrosti_item_id) {
                         //зелье бодрости
                         myquery("DELETE FROM game_obelisk_users WHERE user_id=" . $this->char['user_id'] . " AND type=3");
                         myquery("INSERT INTO game_obelisk_users (user_id,time_end,type) VALUES (" . $this->char['user_id'] . "," . (time() + $dlit) . ",3)");
                         $this->message = $this->message . '<b><font color=red>Ты ' . echo_sex('выпил', 'выпила') . ' зелье "' . $this->fact['name'] . '"</font></b><br>';
                     } elseif ($this->fact['id'] == eliksir_zorkosti_item_id) {
                         //зелье зоркости
                         myquery("DELETE FROM game_obelisk_users WHERE user_id=" . $this->char['user_id'] . " AND type=4");
                         myquery("INSERT INTO game_obelisk_users (user_id,time_end,type) VALUES (" . $this->char['user_id'] . "," . (time() + $dlit) . ",4)");
                         $this->message = $this->message . '<b><font color=red>Ты ' . echo_sex('выпил', 'выпила') . ' зелье "' . $this->fact['name'] . '"</font></b><br>';
                     } elseif ($this->fact['id'] == eliksir_nevidimka_item_id) {
                         //зелье невидимости
                         myquery("DELETE FROM game_obelisk_users WHERE user_id=" . $this->char['user_id'] . " AND type=5");
                         myquery("INSERT INTO game_obelisk_users (user_id,time_end,type) VALUES (" . $this->char['user_id'] . "," . (time() + $dlit) . ",5)");
                         $this->message = $this->message . '<b><font color=red>Ты ' . echo_sex('выпил', 'выпила') . ' зелье "' . $this->fact['name'] . '"</font></b><br>';
                     } elseif ($this->fact['id'] == eliksir_mogushestva_item_id) {
                         //зелье движения
                         //проверка на наличие действующего эликсира
                         $check = myquery("SELECT * FROM game_obelisk_users WHERE user_id=" . $this->char['user_id'] . " AND type=2 AND harka='PR' AND time_end>" . time() . "");
                         $effect = 50;
                         if (mysql_num_rows($check) > 0) {
                             myquery("UPDATE game_obelisk_users SET time_end=time_end+" . $dlit . " WHERE user_id=" . $this->char['user_id'] . " AND type=2 AND (harka='PR' or harka='PR_MAX') AND time_end>" . time() . "");
                         } else {
                             myquery("UPDATE game_users SET PR=PR+" . $effect . ", PR_MAX=PR_MAX+" . $effect . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'PR',2," . (time() + $dlit) . "," . $effect . "), (" . $this->char['user_id'] . ",'PR_MAX',2," . (time() + $dlit) . "," . $effect . ") ");
                         }
                         $this->message = $this->message . '<b><font color=red>Ты ' . echo_sex('выпил', 'выпила') . ' зелье "' . $this->fact['name'] . '"</font></b><br>';
                     } elseif ($this->fact['name'] == "Эликсир Барда") {
                         $r = mt_rand(1, 7);
                         $har2 = "";
                         switch ($r) {
                             case 1:
                                 $har_sql = "LUCKY=LUCKY+1";
                                 $har1 = "LUCKY";
                                 $har_name = "Удача";
                                 break;
                             case 2:
                                 $har_sql = "STR=STR+1";
                                 $har1 = "STR";
                                 $har_name = "Сила";
                                 break;
                             case 3:
                                 $har_sql = "SPD=SPD+1";
                                 $har1 = "SPD";
                                 $har_name = "Мудрость";
                                 break;
                             case 4:
                                 $har_sql = "NTL=NTL+1, MP_MAX=MP_MAX+15";
                                 $har1 = "NTL";
                                 $har2 = "MP_MAX";
                                 $har_name = "Интеллект";
                                 break;
                             case 5:
                                 $har_sql = "PIE=PIE+1, STM_MAX=STM_MAX+15";
                                 $har1 = "PIE";
                                 $har2 = "STM_MAX";
                                 $har_name = "Ловкость";
                                 break;
                             case 6:
                                 $har_sql = "VIT=VIT+1";
                                 $har1 = "VIT";
                                 $har_name = "Защита";
                                 break;
                             case 7:
                                 $har_sql = "DEX=DEX+1, HP_MAX=HP_MAX+15";
                                 $har1 = "DEX";
                                 $har2 = "HP_MAX";
                                 $har_name = "Выносливость";
                                 break;
                         }
                         myquery("UPDATE game_users SET " . $har_sql . " WHERE user_id=" . $this->char['user_id'] . "");
                         myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'" . $har1 . "',2," . (time() + $dlit) . ",1)");
                         if ($har2 != "") {
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'" . $har2 . "',2," . (time() + $dlit) . ",15)");
                         }
                         $this->message = $this->message . '<b><font color=red>Ты ' . echo_sex('выпил', 'выпила') . ' зелье "' . $this->fact['name'] . '".<br>Характеристика "' . $har_name . '" увеличена.</font></b><br>';
                     } else {
                         // Повышение харок
                         if ($this->fact['hp_p'] > 0) {
                             myquery("UPDATE game_users SET HP_MAX=HP_MAX+" . $this->fact['hp_p'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'HP_MAX',2," . (time() + $dlit) . "," . $this->fact['hp_p'] . ")");
                         }
                         if ($this->fact['mp_p'] > 0) {
                             myquery("UPDATE game_users SET MP_MAX=MP_MAX+" . $this->fact['mp_p'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'MP_MAX',2," . (time() + $dlit) . "," . $this->fact['mp_p'] . ")");
                         }
                         if ($this->fact['stm_p'] > 0) {
                             myquery("UPDATE game_users SET STM_MAX=STM_MAX+" . $this->fact['stm_p'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'STM_MAX',2," . (time() + $dlit) . "," . $this->fact['stm_p'] . ")");
                         }
                         if ($this->fact['pr_p'] > 0) {
                             myquery("UPDATE game_users SET PR_MAX=PR_MAX+" . $this->fact['pr_p'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'PR_MAX',2," . (time() + $dlit) . "," . $this->fact['pr_p'] . ")");
                         }
                         if ($this->fact['dstr'] > 0) {
                             myquery("UPDATE game_users SET STR=STR+" . $this->fact['dstr'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'STR',2," . (time() + $dlit) . "," . $this->fact['dstr'] . ")");
                         }
                         if ($this->fact['dspd'] > 0) {
                             myquery("UPDATE game_users SET SPD=SPD+" . $this->fact['dspd'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'SPD',2," . (time() + $dlit) . "," . $this->fact['dspd'] . ")");
                         }
                         if ($this->fact['dntl'] > 0) {
                             myquery("UPDATE game_users SET NTL=NTL+" . $this->fact['dntl'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'NTL',2," . (time() + $dlit) . "," . $this->fact['dntl'] . ")");
                         }
                         if ($this->fact['dpie'] > 0) {
                             myquery("UPDATE game_users SET PIE=PIE+" . $this->fact['dpie'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'PIE',2," . (time() + $dlit) . "," . $this->fact['dpie'] . ")");
                         }
                         if ($this->fact['dvit'] > 0) {
                             myquery("UPDATE game_users SET VIT=VIT+" . $this->fact['dvit'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'VIT',2," . (time() + $dlit) . "," . $this->fact['dvit'] . ")");
                         }
                         if ($this->fact['ddex'] > 0) {
                             myquery("UPDATE game_users SET DEX=DEX+" . $this->fact['ddex'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'DEX',2," . (time() + $dlit) . "," . $this->fact['ddex'] . ")");
                         }
                         if ($this->fact['cc_p'] > 0) {
                             myquery("UPDATE game_users SET CC=CC+" . $this->fact['cc_p'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'CC',2," . (time() + $dlit) . "," . $this->fact['cc_p'] . ")");
                         }
                         if ($this->fact['dlucky'] > 0) {
                             myquery("UPDATE game_users SET LUCKY=LUCKY+" . $this->fact['dlucky'] . " WHERE user_id=" . $this->char['user_id'] . "");
                             myquery("INSERT INTO game_obelisk_users (user_id,harka,type,time_end,value) VALUES (" . $this->char['user_id'] . ",'LUCKY',2," . (time() + $dlit) . "," . $this->fact['dlucky'] . ")");
                         }
                         $this->message = $this->message . '<b><font color=red>Ты ' . echo_sex('выпил', 'выпила') . ' зелье "' . $this->fact['name'] . '"</font></b><br>';
                     }
                 } elseif ($dlit == 0) {
                     if ($this->fact['hp_p'] > 0 or $this->fact['mp_p'] > 0 or $this->fact['stm_p'] > 0 or $this->fact['pr_p'] > 0) {
                         $new_HP = min($this->char['HP_MAX'], $this->char['HP'] + $this->fact['hp_p']);
                         $new_MP = min($this->char['MP_MAX'], $this->char['MP'] + $this->fact['mp_p']);
                         $new_STM = min($this->char['STM_MAX'], $this->char['STM'] + $this->fact['stm_p']);
                         $new_PR = min($this->char['PR_MAX'], $this->char['PR'] + $this->fact['stm_p']);
                         myquery("UPDATE game_users SET HP=" . $new_HP . ",MP=" . $new_MP . ",STM=" . $new_STM . ",PR=" . $new_PR . " WHERE user_id=" . $this->char['user_id'] . "");
                         $char['HP'] = $new_HP;
                         $char['MP'] = $new_MP;
                         $char['STM'] = $new_STM;
                         $char['PR'] = $new_PR;
                         $this->message = $this->message . '<b><font color=red>Ты ' . echo_sex('выпил', 'выпила') . ' зелье "' . $this->fact['name'] . '"</font></b><br>';
                     }
                 }
             }
         }
     } else {
         if ($this->item['user_id'] == $this->char['user_id']) {
             if ($this->item['priznak'] == 0) {
                 if ($this->fact['id'] == shamp_item_id) {
                     myquery("INSERT INTO game_log (FROMm,message,date,color) VALUES ('" . $this->char['user_id'] . "','" . iconv("Windows-1251", "UTF-8//IGNORE", "<img src=mag/shamp.gif border=0>&nbsp;[b]" . echo_sex('открыл', 'открыла') . " бутылку шампанского[/b]") . "','" . time() . "','yellow')");
                 } elseif ($this->fact['id'] == hlop_item_id) {
                     myquery("INSERT INTO game_log (FROMm,message,date,color) VALUES ('" . $this->char['user_id'] . "','" . iconv("Windows-1251", "UTF-8//IGNORE", "<img src=mag/hlop.gif border=0>&nbsp;[b]громко " . echo_sex('выстрелил', 'выстрелила') . " хлопушкой[/b]") . "','" . time() . "','#47F8EF')");
                 } elseif ($this->fact['id'] == beer_td_item_id) {
                     myquery("INSERT INTO game_log (FROMm,message,date,color) VALUES ('" . $this->char['user_id'] . "','" . iconv("Windows-1251", "UTF-8//IGNORE", "<img src=mag/p_temn_beer_dwarf.jpg border=0>&nbsp;[b]  " . echo_sex('выпил', 'выпила') . " кружку темного дварфийского пива[/b]") . "','" . time() . "','#47F8EF')");
                 } elseif ($this->fact['id'] == beer_t_item_id) {
                     myquery("INSERT INTO game_log (FROMm,message,date,color) VALUES ('" . $this->char['user_id'] . "','" . iconv("Windows-1251", "UTF-8//IGNORE", "<img src=mag/p_temn_beer.jpg border=0>&nbsp;[b]  " . echo_sex('выпил', 'выпила') . " кружку темного пива[/b]") . "','" . time() . "','#47F8EF')");
                 } elseif ($this->fact['id'] == beer_s_item_id) {
                     myquery("INSERT INTO game_log (FROMm,message,date,color) VALUES ('" . $this->char['user_id'] . "','" . iconv("Windows-1251", "UTF-8//IGNORE", "<img src=mag/p_svet_beer.jpg border=0>&nbsp;[b]  " . echo_sex('выпил', 'выпила') . " кружку светлого пива[/b]") . "','" . time() . "','#47F8EF')");
                 } elseif ($this->fact['id'] == ell_item_id) {
                     myquery("INSERT INTO game_log (FROMm,message,date,color) VALUES ('" . $this->char['user_id'] . "','" . iconv("Windows-1251", "UTF-8//IGNORE", "<img src=mag/p_ell.jpg border=0>&nbsp;[b]  " . echo_sex('выпил', 'выпила') . " эль[/b]") . "','" . time() . "','#47F8EF')");
                 } elseif ($this->fact['id'] == berez_item_id) {
                     myquery("INSERT INTO game_log (FROMm,message,date,color) VALUES ('" . $this->char['user_id'] . "','" . iconv("Windows-1251", "UTF-8//IGNORE", "<img src=mag/p_berez_sok.jpg border=0>&nbsp;[b]  " . echo_sex('выпил', 'выпила') . " полную кружку березового сока[/b]") . "','" . time() . "','#47F8EF')");
                 } elseif ($this->fact['name'] == "Железная шкатулка") {
                     $bonus = 100;
                     $r = mt_rand(1, 2);
                     $item_name = 'Эликсир Барда';
                     $Item = new Item();
                     list($elik_id) = mysql_fetch_array(myquery("SELECT * FROM game_items_factsheet WHERE name like '" . $item_name . "'"));
                     $ar = $Item->add_user($elik_id, $this->char['user_id'], 0, 0, 0, $r);
                     save_exp($this->char['user_id'], $bonus, 14);
                     $this->message = $this->message . '<b><font color=red>Вы открыли предмет "' . $this->fact['name'] . '".<br>Ваш опыт увеличен на ' . $bonus . ' единиц.<br>Вы получили предмет ' . $item_name . ' (' . $r . ' шт.)</font></b><br>';
                 } elseif ($this->fact['name'] == "Медная шкатулка") {
                     $bonus = 300;
                     $r = mt_rand(1, 3);
                     $item_name = 'Эликсир Барда';
                     $Item = new Item();
                     list($elik_id) = mysql_fetch_array(myquery("SELECT * FROM game_items_factsheet WHERE name like '" . $item_name . "'"));
                     $ar = $Item->add_user($elik_id, $this->char['user_id'], 0, 0, 0, $r);
                     save_exp($this->char['user_id'], $bonus, 14);
                     $this->message = $this->message . '<b><font color=red>Вы открыли предмет "' . $this->fact['name'] . '".<br>Ваш опыт увеличен на ' . $bonus . ' единиц.<br>Вы получили предмет ' . $item_name . ' (' . $r . ' шт.)</font></b><br>';
                 } elseif ($this->fact['name'] == "Серебряная шкатулка") {
                     $bonus = 1000;
                     $r = mt_rand(1, 4);
                     $item_name = 'Эликсир Барда';
                     $Item = new Item();
                     list($elik_id) = mysql_fetch_array(myquery("SELECT * FROM game_items_factsheet WHERE name like '" . $item_name . "'"));
                     $ar = $Item->add_user($elik_id, $this->char['user_id'], 0, 0, 0, $r);
                     save_exp($this->char['user_id'], $bonus, 14);
                     $this->message = $this->message . '<b><font color=red>Вы открыли предмет "' . $this->fact['name'] . '".<br>Ваш опыт увеличен на ' . $bonus . ' единиц.<br>Вы получили предмет ' . $item_name . ' (' . $r . ' шт.)</font></b><br>';
                 } elseif ($this->fact['name'] == "Золотая шкатулка") {
                     $bonus = 2000;
                     $r = mt_rand(1, 5);
                     $item_name = 'Эликсир Барда';
                     $Item = new Item();
                     list($elik_id) = mysql_fetch_array(myquery("SELECT * FROM game_items_factsheet WHERE name like '" . $item_name . "'"));
                     $ar = $Item->add_user($elik_id, $this->char['user_id'], 0, 0, 0, $r);
                     save_exp($this->char['user_id'], $bonus, 14);
                 } elseif ($this->fact['name'] == "Мифриловая шкатулка") {
                     $bonus = 5000;
                     $r = mt_rand(2, 5);
                     $item_name = 'Эликсир Барда';
                     $Item = new Item();
                     list($elik_id) = mysql_fetch_array(myquery("SELECT * FROM game_items_factsheet WHERE name like '" . $item_name . "'"));
                     $ar = $Item->add_user($elik_id, $this->char['user_id'], 0, 0, 0, $r);
                     save_exp($this->char['user_id'], $bonus, 14);
                     $this->message = $this->message . '<b><font color=red>Вы открыли предмет "' . $this->fact['name'] . '".<br>Ваш опыт увеличен на "' . $bonus . '" единиц.<br>Вы получили предмет "' . $item_name . '" ("' . $r . '" шт.)</font></b><br>';
                 }
             }
         }
     }
     $this->admindelete(0, 1, 4);
 }
Example #9
0
                echo '</table>';
            } else {
                echo '<br />У тебя нет ни одной схемы изготовления предметов!<br />';
            }
        }
    }
} elseif ($hod - time() + $timeout <= 0) {
    //окончание работы
    list($weight, $item_name) = mysql_fetch_array(myquery("SELECT weight,name FROM game_items_factsheet WHERE id=" . $rab['eliksir'] . ""));
    $prov = mysql_result(myquery("select count(*) from game_wm where user_id={$user_id} and type=1"), 0, 0);
    if ($char['CW'] + $weight * $rab['add'] <= $char['CC'] or $prov > 0) {
        //Выдадим опыт за подход
        add_exp_for_craft($user_id, 11);
        $Item = new Item();
        for ($i = 1; $i <= $rab['add']; $i++) {
            $Item->add_user($rab['eliksir'], $user_id, 1);
        }
        setCraftTimes($user_id, 11, 1, 1);
        $mes = 'Ты успешно ' . echo_sex('создал', 'создала') . ' по схеме предмет <i>' . $item_name . '</i> в кол-ве: ' . $rab['add'] . ' шт.';
    } else {
        $mes = 'Неудачная попытка создания предмета. Нет свободного места в инвентаре!';
    }
    //уменьшим прочность набора оружейника
    myquery("UPDATE game_items SET item_uselife=item_uselife-" . mt_rand(100, 300) / 100 . " WHERE user_id={$user_id} AND used=21 AND priznak=0");
    list($nabor_id, $nabor) = mysql_fetch_array(myquery("SELECT id,item_uselife FROM game_items WHERE user_id={$user_id} AND used=21 AND priznak=0"));
    if ($nabor <= 0) {
        $Item = new Item($nabor_id);
        $Item->down();
    }
    $option = 18;
    if (domain_name == 'localhost') {
 //proverim, est' li nugnye kvestovye predmety
 /*$items=myquery("SELECT game_items_opis.* FROM game_items_opis,game_items WHERE game_items_opis.item_id=game_items.id AND game_items.user_id=$user_id AND game_items.item_id=$id_item_part_monster AND game_items.priznak=0 LIMIT 1");
 		$check=0;
 		while(list($item_opis)=mysql_fetch_array($items))
 		{
 			if(strpos($item_opis['opis'],$quest['par1_name'])===false) {} else {$check=1; break;}
 		}*/
 $items = myquery("SELECT * FROM game_items WHERE user_id='{$user_id}' AND item_id='{$id_item_part_monster}' AND priznak=0 AND item_for_quest=" . $quest['quest_owner_id'] . "");
 $weight = max(0.01, $npc['npc_max_hp'] / 200);
 list($to_opis) = mysql_fetch_array(myquery("SELECT npc_name FROM game_npc WHERE id='{$npc_id}'"));
 echo 'Ты ' . echo_sex('раздобыл', 'раздобыла') . ' ' . $quest['par1_name'] . '!';
 if (mysql_num_rows($items) == 0) {
     //echo 'Новое!';
     //создадим предмет
     $Item = new Item();
     $ar = $Item->add_user($id_item_part_monster, $user_id, 0, $quest['quest_owner_id']);
     if ($ar[0] == 1) {
         myquery("UPDATE game_items SET item_uselife='{$weight}', item_cost=1 WHERE id=" . $ar[1] . "");
         $Item->setOpis($ar[1], $to_opis);
         //c весом юзера еще посмотрим
         myquery("UPDATE game_users SET CW = CW+'{$weight}' WHERE user_id = " . $user_id . "");
     }
 } else {
     //echo 'Старое!';
     //апдейтим предмет
     $item = mysql_fetch_array($items);
     if ($item['item_cost'] + 1 == $quest['par1_value']) {
         myquery("UPDATE quest_engine_users SET done=1 WHERE quest_type=2 AND user_id='{$user_id}' AND quest_owner_id=" . $quest['quest_owner_id'] . "") or die(mysql_error());
     }
     myquery("UPDATE game_items SET item_cost=item_cost+1, item_uselife=item_uselife+'{$weight}' WHERE user_id='{$user_id}' AND item_for_quest=" . $quest['quest_owner_id'] . "") or die(mysql_error());
     $Opis = new Item($item['id']);
 //сгенерим монстра если надо
 if ($_SESSION['for_quest']['quest_type'] == 1) {
     $npc_id = generate_npc($_SESSION['for_quest']['npc_name'], $_SESSION['for_quest']['npc_race']);
     $up = myquery("UPDATE quest_engine_users SET par1_value=" . $npc_id . " WHERE user_id=" . $char['user_id'] . " AND quest_owner_id=" . $_SESSION['for_quest']['quest_owner_id'] . " ");
 }
 //добавим посылку елси надо
 if ($_SESSION['for_quest']['quest_type'] == 5) {
     /*$last_i=myquery("SELECT id FROM game_items ORDER BY id DESC limit 1");
     		list($last_i_id)=mysql_fetch_array($last_i);
     		$new_i_id=($last_i_id+1);	 
     		$weight=mt_rand(2,8);
     		myquery("INSERT INTO game_items SET id='$new_i_id', user_id='$user_id',	ident='Посылка', curse='Необходимо доставить по назначению. Заговорено от вскрытия.',	img='quest/runecube',	mode='".$owner_name."', type='".qengine_item_type."', weight=".$weight.", item_for_quest=".$_SESSION['for_quest']['quest_owner_id']."") or die('QE item.'.mysql_error());*/
     $weight = mt_rand(2, 8);
     //myquery("INSERT INTO game_items SET user_id='$user_id',	ident=$id_item_posylka, item_for_quest=".$_SESSION['for_quest']['quest_owner_id']."");
     $Item = new Item();
     $new_id = $Item->add_user($id_item_posylka, $user_id, 0, $_SESSION['for_quest']['quest_owner_id']);
     //if($new_id[0]==1)
     $new_id = $new_id[1];
     //добавим описание - вроде не надо, можно извлечь по ИД хозяина квеста
     //$Item->setOpis($new_id, $opis);
     //сгенерим вес
     $weight = $weight = mt_rand(50, 85) / 10;
     myquery("UPDATE game_items SET item_uselife = '{$weight}' WHERE id = '{$new_id}'");
     //хоп
     $weight_up = myquery("update game_users set CW=CW + " . $weight . " where user_id=" . $user_id . "");
 }
 //OpenTable('close');
 //if (isset($_SESSION['npc_name'])) unset($_SESSION['npc_name']);
 //if (isset($_SESSION['npc_race'])) unset($_SESSION['npc_race']);
 if (isset($_SESSION['for_quest'])) {
     unset($_SESSION['for_quest']);
         myquery("UPDATE game_users_intro SET step=2 WHERE user_id={$user_id}");
         print_step2();
     }
 } elseif ($char['map_xpos'] == 0 and $char['map_ypos'] == 19) {
     if ($step == 2 or $step == 3) {
         myquery("UPDATE game_users_intro SET step=3 WHERE user_id={$user_id}");
         print_step3();
     }
 } elseif ($char['map_xpos'] == 19 and $char['map_ypos'] == 19) {
     if ($step == 3 or $step == 4) {
         myquery("UPDATE game_users_intro SET step=4 WHERE user_id={$user_id}");
         print_step4();
         if ($step == 3) {
             //добавим элики
             $Item = new Item();
             $ar = $Item->add_user(313, $user_id, 0);
             $ar = $Item->add_user(314, $user_id, 0);
             $ar = $Item->add_user(315, $user_id, 0);
         }
     }
 } elseif ($char['map_xpos'] == 19 and $char['map_ypos'] == 0) {
     if ($step == 4 or $step == 5) {
         myquery("UPDATE game_users_intro SET step=5 WHERE user_id={$user_id}");
         print_step5();
     }
 } elseif ($char['map_xpos'] == 13 and $char['map_ypos'] == 16) {
     if ($step == 7) {
         print_step7();
     }
     if ($step == 9) {
         print_step9();
Example #13
0
         list($name_item) = mysql_fetch_array($items);
         echo '<div id="content" onclick="hideSuggestions();"><hr><center>Добавление предмета: <font size="2" face="Verdana" color="#ff0000"><b>' . $name_item . '</b></font> для игрока:<br>';
         echo '<form action="admin.php?opt=main&option=items&add_user='******'" method="post"><font size="1" face="Verdana" color="#ffffff">Имя игрока: <input name="user_name" type="text" size="25" id="keyword" onkeyup="handleKeyUp(event)"><div style="display:none;" id="scroll"><div id="suggest"></div></div>';
         echo '<br>Количество предметов: <input type="text" maxsize="3" size="3" name="kol" value="1">';
         echo '<br>Долговечность (0 - полная): <input type="text" maxsize="3" size="3" name="max_uselife" value="0">';
         echo '<br><input name="see" type="submit" value="Добавить игроку"></form></div><script>init();</script>';
     } else {
         $user_name = mysql_real_escape_string($_POST['user_name']);
         $sel = myquery("SELECT user_id FROM game_users WHERE name='" . $user_name . "'");
         if (!mysql_num_rows($sel)) {
             $sel = myquery("SELECT user_id FROM game_users_archive WHERE name='" . $user_name . "';");
         }
         if (mysql_num_rows($sel) > 0 and isset($_POST['kol']) and is_numeric($_POST['kol']) and $_POST['kol'] > 0 and isset($_POST['max_uselife']) and is_numeric($_POST['max_uselife']) and $_POST['max_uselife'] >= 0) {
             list($user_id_add) = mysql_fetch_array($sel);
             $Item = new Item();
             $ar = $Item->add_user($add_user, $user_id_add, 0, 0, 0, $_POST['kol'], $_POST['max_uselife']);
             if ($ar[0] > 0) {
                 echo '<hr><center>Сделано';
                 $da = getdate();
                 $log = myquery("INSERT INTO game_log_adm (adm,dei,cur_time,day,month,year)\n\t\t\t\t\t VALUES (\n\t\t\t\t\t '" . $char['name'] . "',\n\t\t\t\t\t 'Добавил предмет <b>" . $Item->getFact('name') . "</b> игроку <b>" . $user_name . "</b>',\n\t\t\t\t\t '" . time() . "',\n\t\t\t\t\t '" . $da['mday'] . "',\n\t\t\t\t\t '" . $da['mon'] . "',\n\t\t\t\t\t '" . $da['year'] . "')") or die(mysql_error());
                 echo '<meta http-equiv="refresh" content="3;url=admin.php?option=items&opt=main">';
             }
         } else {
             echo 'Что-то введено неверно!';
         }
     }
 }
 if (isset($_GET['edit']) and $adm['items'] == 2) {
     $edit = (int) $_GET['edit'];
     $usr = myquery("select * from game_items_factsheet where id={$edit}");
     if (mysql_num_rows($usr)) {
Example #14
0
                                $field11 = 'level1_success';
                                $field12 = 'level3_success';
                            } elseif ($level == 3) {
                                $field11 = 'level1_success';
                                $field12 = 'level2_success';
                            }
                            // Обновление или выдача медали
                            if ($state[$field1] == 1) {
                                myquery("INSERT INTO game_medal_users (user_id, medal_id, zachto) VALUES (" . $user_id . ", " . $medal_id . ", CURDATE() )");
                            } else {
                                myquery("UPDATE game_medal_users SET zachto = concat(zachto,'<br>',CURDATE()) WHERE user_id = " . $user_id . " and medal_id = " . $medal_id . " ");
                            }
                            // Выдача рясы монаха
                            if ($state[$field1] <= min($state[$field11], $state[$field12])) {
                                $Item = new Item();
                                $Item->add_user(544, $user_id);
                                echo '<br><br><font color=#aaffa8>Вы заметили, что Хранитель подземелий все ещё роется в своих бумагах. Вдруг Хранитель оторвался от рукописей и восхищённо уставился на вас: <b>Гром и молния! Прости меня...я не знал обо всех твоих достижения!!! Ты уже помог моим собратьям на других уровнях. Воистину ты Великий Герой! Прими данный предмет. Ряса Монаха священная реликвия гномов, символ благородства и смирения. Её владелец неузявим для нападений, хоть и сам не может атаковать. Носи её с честью! Успехов в дальнейших приключениях!</b></font>';
                            }
                            //обнулим статистику по выполненым
                            myquery("DELETE FROM dungeon_quests_done WHERE user_id=" . $user_id . "");
                        }
                    } elseif ($check_res == 1) {
                        echo '<br><font color=#aaffa8>Ты ' . echo_sex('сдал', 'сдала') . ' ресурсы.</font><br>';
                    }
                } else {
                    //вывод диалога
                    echo '<table cellpadding="0" cellspacing="0" width="80%" border="0"><tr><td><p align=justify><br><center>
					<font color=#aaffa8>Ты можешь сдать следущие ресурсы:<br><br>';
                    //найдем, какие ресы надо сдавать
                    $ress_id = array();
                    $i = 0;
             case 3:
                 $prize_name = "Серебряная шкатулка";
                 break;
             case 4:
                 $prize_name = "Золотая шкатулка";
                 break;
             case 5:
                 $prize_name = "Мифриловая шкатулка";
                 break;
         }
         if ($prize_name != "") {
             $check_item = myquery("SELECT id FROM game_items_factsheet WHERE name like '" . $prize_name . "'");
             if (mysql_num_rows($check_item) > 0) {
                 list($id) = mysql_fetch_array($check_item);
                 $Item = new Item();
                 $ar = $Item->add_user($id, $user_id);
                 set_delay_info($char['user_id'], time() + $delay_move, 1, 1);
                 echo '<br><br><i>За прекрасную песню Вы получаете предмет <b>"' . $prize_name . '".</b></i><br>Находясь под впечатлением песни, Вы не можете сдвинуться с места ещё 2 минуты';
             }
         }
     } else {
         echo '<br><br>Для того, чтобы спеть песню в честь Средиземья, необходимо указать верный код!';
     }
 }
 echo '</td></tr><tr><td>';
 //Покажем обелиски на гексе
 $obelisk_query = "select * from game_obelisk where map_name=" . $char['map_name'] . " and map_xpos=" . $char['map_xpos'] . " and map_ypos=" . $char['map_ypos'] . " AND user_id=0 AND time_begin<=" . time() . " AND time_begin>0 AND type NOT IN (SELECT harka FROM game_obelisk_users WHERE type=0 AND time_end>=" . time() . ") LIMIT 1";
 if (isset($_GET['obelisk'])) {
     $prov = myquery($obelisk_query);
     if (mysql_num_rows($prov)) {
         $obelisk = mysql_fetch_array($prov);
Example #16
0
 public function drop_loot($user_id)
 {
     if ($this->error == 1) {
         return;
     }
     if ($this->npc['dropable'] == 1) {
         $seldrop = myquery("SELECT * FROM game_npc_drop WHERE npc_id=" . $this->templ['npc_id'] . ";");
         if ($seldrop != false and mysql_num_rows($seldrop)) {
             $sum_chance = 0;
             $massiv = array(0);
             $m_last = 1;
             $mes = "";
             $lcm = array();
             $str = "";
             $r = 0;
             $no_loot = 0;
             //Обработаем профессию "Охотник"
             if ($this->templ['npc_id'] == npc_id_olen) {
                 if (checkCraftTrain($user_id, 8)) {
                     $r = $r + 2 * getCraftLevel($user_id, 8);
                 } else {
                     $no_loot = 1;
                 }
             }
             while ($chance = mysql_fetch_array($seldrop)) {
                 $lcm[] = $chance['random_max'];
             }
             mysql_data_seek($seldrop, 0);
             $lcm = lcm_arr($lcm);
             while ($chance = mysql_fetch_array($seldrop)) {
                 $this_chance = ($chance['random'] + $r) * $lcm / gcd($lcm, $chance['random_max']);
                 $massiv = array_merge($massiv, array_fill($m_last, $this_chance, $chance));
                 $m_last += $this_chance;
             }
             if ($m_last < $lcm + 1) {
                 $massiv = array_merge($massiv, array_fill($m_last, $lcm + 1 - $m_last, array('items_id' => 0)));
             }
             $drop = $massiv[mt_rand(1, $lcm)];
             if ($drop['items_id'] != 0 and $no_loot == 0) {
                 $it_user_id = 0;
                 $priznak = 2;
                 $kol_predmetov = mt_rand($drop['mincount'], $drop['maxcount']);
                 $map_name = 0;
                 $map_xpos = 0;
                 $map_ypos = 0;
                 for ($cikl = 1; $cikl <= $kol_predmetov; $cikl++) {
                     $add_result = array(0);
                     if ($drop['kuda'] == 1) {
                         $it_user_id = $user_id;
                         $priznak = 0;
                         //проверим вес
                         if ($drop['drop_type'] == 1) {
                             $item = mysql_fetch_array(myquery("SELECT * FROM game_items_factsheet WHERE id=" . $drop['items_id'] . ""));
                         } elseif ($drop['drop_type'] == 2) {
                             $item = mysql_fetch_array(myquery("SELECT * FROM craft_resource WHERE id=" . $drop['items_id'] . ""));
                         }
                         list($CW, $CC) = mysql_fetch_array(myquery("SELECT CW,CC FROM view_active_users WHERE user_id={$it_user_id}"));
                         $prov = mysqlresult(myquery("SELECT COUNT(*) FROM game_wm WHERE user_id={$it_user_id} AND type=1"), 0, 0);
                         if ($CC - $CW < $item['weight'] and $prov == 0) {
                             //инвентарь заполнен. На землю его!
                             $it_user_id = 0;
                             $priznak = 2;
                             list($map_name, $map_xpos, $map_ypos) = mysql_fetch_array(myquery("SELECT map_name,map_xpos,map_ypos FROM game_users_map WHERE user_id={$it_user_id}"));
                             $drop['kuda'] = 0;
                         }
                     }
                     //если предмет
                     if ($drop['drop_type'] == 1) {
                         if ($priznak == 0) {
                             $Item = new Item();
                             $add_result = $Item->add_user($drop['items_id'], $it_user_id, 0, 0, 1);
                             // не получилось добавить один - не выйдет и остальные.
                             if ($add_result[0] == 0) {
                                 break;
                             }
                         } else {
                             if (!isset($item)) {
                                 $item = mysql_fetch_array(myquery("SELECT * FROM game_items_factsheet WHERE id=" . $drop['items_id'] . ""));
                             }
                             myquery("INSERT INTO game_items (user_id,item_id,priznak,ref_id,item_uselife,item_uselife_max,item_cost,map_name,map_xpos,map_ypos) VALUES ('{$it_user_id}','" . $drop['items_id'] . "','{$priznak}',0,'" . $item['item_uselife'] . "','" . $item['item_uselife_max'] . "','" . $item['item_cost'] . "','{$map_name}','{$map_xpos}','{$map_ypos}')");
                         }
                     } elseif ($drop['drop_type'] == 2) {
                         if ($drop['kuda'] == 1) {
                             $Res = new Res($item, 0);
                             $Res->add_user(0, $it_user_id, 1);
                             if ($this->templ['npc_id'] == npc_id_olen) {
                                 myquery("INSERT INTO craft_stat (build_id, gp, res_id, dob, vip, dat, user, type) values (0, 0, " . $drop['items_id'] . ", 0, 1, " . time() . ", {$it_user_id}, 'z')");
                                 setCraftTimes($it_user_id, 8, 1, 1);
                                 add_exp_for_craft($it_user_id, 8);
                             }
                         } elseif ($drop['kuda'] == 0) {
                             $Res = new Res(0, $drop['items_id']);
                             $Res->add_map(0, 0, 1, 0, $map_name, $map_xpos, $map_ypos);
                             myquery("INSERT INTO craft_resource_market (user_id,town,col,price,res_id,opis,map_name,map_xpos,map_ypos) VALUES (0,0,1,0," . $drop['items_id'] . ",'','" . $map_name . "','" . $map_xpos . "','" . $map_ypos . "')");
                         }
                     }
                     if ($it_user_id > 0) {
                         if ($drop['drop_type'] == 1) {
                             $mes = '<font color=\\"#eeeeee\\">После убийства монстра ты ' . echo_sex('увидел', 'увидела') . ' оставшийся от него предмет: <b>' . $item['name'] . '</b>.Ты быстро ' . echo_sex('подобрал', 'подобрала') . ' выпавший предмет и ' . echo_sex('положил', 'положила') . ' его в свой инвентарь!</font>';
                         } elseif ($drop['drop_type'] == 2) {
                             $mes = '<font color=\\"#eeeeee\\">После убийства монстра ты ' . echo_sex('заметил', 'заметила') . ', как он выронил из рук: <b>' . $item['name'] . '<b/>. Не мешкая ты быстро ' . echo_sex('подобрал', 'подобрала') . ' выпавший ресурс и ' . echo_sex('положил', 'положила') . ' его в свой инвентарь!</font>';
                         }
                         $result = myquery("INSERT game_battles SET attacker_id=" . $user_id . ", target_id=0, map_name=" . $map_name . ", map_xpos=" . $map_xpos . ", map_ypos=" . $map_ypos . ", contents='" . $mes . "', post_time=" . time() . "");
                     }
                 }
             }
         }
     }
 }
Example #17
0
function add_item_to_user($item_id)
{
    global $user_id, $char;
    $Item = new Item();
    $Item->add_user($item_id, $user_id, 0);
}