Example #1
0
 public function sell($kol = 1, $shop_id = 0)
 {
     $this->init_res_user(0, $this->char['user_id']);
     $kol = min($kol, $this->res_user['col']);
     if ($kol > 0) {
         $gp = $kol * $this->res['incost'];
         $check = $this->add_user(0, $this->char['user_id'], -$kol, 0, 0, $gp, 8);
         myquery("INSERT INTO game_pm (komu, otkogo, theme, post, view, time, folder) VALUES ('" . $this->char['user_id'] . "', '0', 'Продажа в магазине', 'Ты " . echo_sex('продал', 'продала') . " ресурс <b>" . $this->res['name'] . "</b> торговцу в количестве " . $kol . " шт. за " . $gp . " " . pluralForm($gp, 'монету', 'монеты', 'монет') . "','0','" . time() . "',5)");
         $this->message = "<b><font color=ff0000 face=verdana size=2>Продан ресурс: " . $this->res['name'] . " " . $kol . " шт. за " . $gp . " " . pluralForm($gp, 'монету', 'монеты', 'монет') . "</font></b>";
         if ($shop_id > 0) {
             save_stat($this->char['user_id'], '', '', 11, $shop_id, $this->res['name'], '', $gp, '', '', '', '');
         }
     } else {
         $this->message = "<b><font color=#FF0000 size=3>У Вас нет данного ресурса!</font></b>";
     }
 }
Example #2
0
function join_attack_user($char, $player, $svit)
{
    $user_id = $char['user_id'];
    $map = mysql_fetch_array(myquery("SELECT * FROM game_maps WHERE id='" . $char['map_name'] . "'"));
    list($type, $npc) = mysql_fetch_array(myquery("SELECT combat_type, npc FROM combat WHERE combat_id=" . $player['boy'] . ""));
    switch ($type) {
        case 1:
            list($side) = mysql_fetch_array(myquery("SELECT side FROM combat_users WHERE combat_id=" . $player['boy'] . " and user_id=" . $player['user_id'] . " and npc=0"));
            break;
        case 2:
            $error = 'duel';
            break;
        case 3:
            $sred_level = 0;
            $sred_level_1 = 0;
            $side_1 = 0;
            $sred_level_2 = 0;
            $side_2 = 0;
            $kol = 0;
            $sel = myquery("SELECT clevel,side FROM combat_users WHERE combat_id='" . $player['boy'] . "' AND `join`=0 AND svitok=0");
            while ($boyuser = mysql_fetch_array($sel)) {
                $sred_level += $boyuser['clevel'];
                $kol++;
                if ($side_1 == 0 or $side_1 == $boyuser['side']) {
                    $side_1 = $boyuser['side'];
                    $sred_level_1 += $boyuser['clevel'];
                } elseif ($side_2 == 0 or $side_2 == $boyuser['side']) {
                    $side_2 = $boyuser['side'];
                    $sred_level_2 += $boyuser['clevel'];
                }
            }
            $sred_level = round($sred_level / $kol);
            if ($sred_level_1 <= $sred_level_2) {
                $side = $side_1;
            } else {
                $side = $side_2;
            }
            break;
        case 4:
            $side = $char['clan_id'];
            break;
        case 5:
            $side = $char['user_id'];
            break;
        case 6:
            $side = $char['sklon'];
            break;
        case 7:
            $side = $char['race'];
            break;
    }
    if ($svit == 2 and clans_war == 0) {
        list($side) = mysql_fetch_array(myquery("SELECT side FROM combat_users WHERE combat_id=" . $player['boy'] . " AND user_id=" . $player['user_id'] . ""));
    }
    if (!isset($side)) {
        list($side) = mysql_fetch_array(myquery("SELECT side FROM combat_users WHERE combat_id=" . $player['boy'] . " AND user_id=" . $player['user_id'] . ""));
    }
    $k_komu = 0;
    $svit_id = 0;
    //используем свиток
    if ($svit == 1) {
        $svit_id = svitok_small_item_id;
    } elseif ($svit == 2) {
        $svit_id = svitok_sred_item_id;
    }
    if ($svit_id != 0) {
        $ch = myquery("SELECT id FROM game_items WHERE user_id={$user_id} AND priznak=0 AND used IN (12,13,14) AND item_id='" . $svit_id . "' LIMIT 1");
        if (mysql_num_rows($ch)) {
            $svitok = mysql_fetch_array($ch);
            $Item = new Item($svitok['id']);
            $Item->use_item();
        }
        $k_komu = $player['user_id'];
    }
    save_stat($char['user_id'], '', '', 1, '', '', $player['user_id'], '', '', '', '', '');
    $nam = 0;
    if ($type == 1) {
        $nam = 14;
    }
    if ($type == 2) {
        $nam = 15;
    }
    if ($type == 3) {
        $nam = 16;
    }
    if ($type == 4) {
        $nam = 17;
    }
    if ($type == 5) {
        $nam = 18;
    }
    if ($type == 6) {
        $nam = 49;
    }
    if ($type == 7) {
        $nam = 48;
    }
    //Снимем с атакующего игрока эффект неуязвимости, если бой не с ботом
    if ($npc == 0) {
        myquery("DELETE FROM game_obelisk_users WHERE user_id=" . $char['user_id'] . " AND type=6");
    }
    list($current_hod) = mysql_fetch_array(myquery("SELECT hod FROM combat WHERE combat_id=" . $player['boy'] . ""));
    //Кидаем в бой игрока
    combat_insert($char, 0, $player['boy'], $type, $side, $current_hod, 1, $svit, $k_komu, $map['k_exp'] / 100, $map['k_gp'] / 100, 0, 6, $nam, 1);
    setLocation("http://" . domain_name . "/combat.php");
}
Example #3
0
 private function kill_user($kto, $kogo)
 {
     if ($this->all[$kogo]['npc'] == 1) {
         $Npc = new Npc($kogo);
         //АЙ-АЙ-ЯЙ... УБИЛИ БОТА....НИ ЗА ЧТО ЗАМОЧИЛИ....
         if ($Npc->templ['npc_id'] == npc_id_nechto) {
             $mas = array();
             foreach ($this->all as $key => $value) {
                 if ($this->all[$key]['npc'] == 0) {
                     for ($j = $this->all[$key]['hod_start']; $j <= $this->combat['hod']; $j++) {
                         $mas[] = $key;
                         if ($key == $kto) {
                             $mas[] = $key;
                         }
                     }
                 }
             }
             if (sizeof($mas) > 0) {
                 $user_loot = $mas[mt_rand(0, sizeof($mas) - 1)];
             } else {
                 $user_loot = $kto;
             }
             $Npc->drop_loot($user_loot);
             $say = 'В Средиземье (' . $this->combat['map_xpos'] . ',' . $this->combat['map_ypos'] . ') было повержено [b]НЕЧТО[/b]. Имя героя, одолевшего этого монстра - [color=yellow][b]' . $this->all[$kto]['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)");
         } else {
             $Npc->drop_loot($kto);
             $Npc->check_hunter($kto);
             $Npc->teleport($kto);
         }
     }
     //ВСЕ. КТО-ТО СЕЙЧАС СТАЛ ТРУПОМ.
     $this->user_dead($kogo, $kto);
     if ($this->all[$kto]['pol'] == 'female') {
         $this->log[$kto][]['action'] = 48;
     } else {
         $this->log[$kto][]['action'] = 49;
     }
     $index = sizeof($this->log[$kto]) - 1;
     $this->log[$kto][$index]['na_kogo'] = $kogo;
     $this->log[$kto][$index]['na_kogo_name'] = $this->all[$kogo]['name'];
     $this->log[$kto][$index]['name'] = $this->all[$kto]['name'];
     $this->log[$kto][$index]['mode'] = $kto;
     if ($this->all[$kto]['npc'] == 1 and $this->all[$kogo]['npc'] == 0) {
         //бот убил игрока
         if (function_exists("save_stat")) {
             save_stat($kogo, $kto, '', 2, '', '', '', '', '', '', '', '');
         }
     }
 }
Example #4
0
         echo '<tr><td align=center><font size=2 face=verdana><b>У тебя нет незаклейменных предметов</td></tr>';
     }
     echo '</table>';
 }
 if (isset($_GET['remont']) and $shop['remont'] == 1) {
     $remont = (int) $remont;
     if (isset($remont1)) {
         //выбрали предмет для ремонта
         if (isset($remont2)) {
             $Item = new Item($remont);
             $ar = $Item->repair();
             if ($ar[0] > 0) {
                 if ($shop['view'] == 1) {
                     $time = time();
                     //$stat = myquery("INSERT DELAYED INTO game_stat (user_id,item_id,stat_id,gp,shop_id,time) VALUES ('$user_id','".$items['ident']."','15','$cena','".$shop['id']."','$time')");
                     save_stat($user_id, '', '', 15, $shop['id'], $ar[1], '', $ar[0], '', '', '', '');
                 }
             }
         } else {
             //сначала получим подтверждение от игрока
             $it = myquery("select game_items_factsheet.name,game_items.item_uselife,game_items_factsheet.oclevel,game_items_factsheet.item_cost from game_items,game_items_factsheet where game_items.user_id='{$user_id}' and game_items_factsheet.type<90 and game_items_factsheet.type NOT IN (12,13,19,20,21) and game_items.item_uselife<100 and (game_items.used=0 or game_items.item_uselife>=10) and game_items.id={$remont} and game_items_factsheet.id=game_items.item_id and game_items.ref_id=0 and game_items.priznak=0");
             if (mysql_num_rows($it)) {
                 $items = mysql_fetch_array($it);
                 if ($char['clevel'] < 5) {
                     $cena = 0;
                 } elseif ($items['oclevel'] < 15) {
                     $cena = 5;
                 } else {
                     $cena = 15;
                 }
                 //Старый расчёт стоимости починки предмета
Example #5
0
     }
     $ar = $Item->buy_market();
     if ($ar[0] > 0) {
         $town_select = myquery("select rustown from game_gorod where town='{$town}'");
         list($rustown) = mysql_fetch_array($town_select);
         $userid = $Item->getItem('user_id');
         $selname = myquery("SELECT name FROM game_users WHERE user_id={$userid}");
         if (!mysql_num_rows($selname)) {
             $selname = myquery("SELECT name FROM game_users_archive WHERE user_id={$userid}");
         }
         list($name) = mysql_fetch_array($selname);
         myquery("INSERT INTO game_pm (komu, otkogo, theme, post, view, time, folder) VALUES ('{$user_id}', '0', 'Рынок: Ты " . echo_sex('купил', 'купила') . " предмет " . mysql_real_escape_string($ar[1]) . " у игрока " . mysql_real_escape_string($name) . "', 'Ты " . echo_sex('купил', 'купила') . " предмет " . mysql_real_escape_string($ar[1]) . " выставленный на продажу на рынке в " . mysql_real_escape_string($rustown) . " у игрока " . mysql_real_escape_string($name) . " за " . $ar[0] . " " . pluralForm($ar[0], 'монету', 'монеты', 'монет') . ". Комментарий к предмету - " . mysql_real_escape_string($ar[2]) . "','0','" . time() . "',4)");
         if ($user_id != $userid) {
             myquery("INSERT INTO game_pm (komu, otkogo, theme, post, view, time, folder) VALUES ('{$userid}', '0', 'Рынок: Твоя вещь " . mysql_real_escape_string($ar[1]) . " куплена игроком " . mysql_real_escape_string($char['name']) . "', 'Твоя вещь " . mysql_real_escape_string($ar[1]) . ", выставленная на продажу на рынке в " . mysql_real_escape_string($rustown) . ", куплена " . mysql_real_escape_string($char['name']) . " за " . $ar[0] . " " . pluralForm($ar[0], 'монету', 'монеты', 'монет') . ". Комментарий к предмету - " . mysql_real_escape_string($ar[2]) . "','0','" . time() . "',4)");
         }
         save_stat($user_id, '', $town, 9, '', $ar[1], $userid, $ar[0], '', '', '', '');
         echo '<br /><br /><font color="#FFFF00">Предмет <b>' . $Item->fact['name'] . '</b> куплен</font>';
     }
     if ($dostup_clan == 2) {
         $str_query = "SELECT DISTINCT game_items_factsheet.type FROM game_items,game_items_factsheet where game_items.user_id={$user_id} and game_items.priznak=1 and game_items.town='{$town}' and game_items_factsheet.type<=97 and game_items.sell_time>'{$time_for_check}' AND game_items.post_to=0 AND game_items.item_id = game_items_factsheet.id and game_items_factsheet.type=" . $Item->fact['type'] . "";
     } else {
         $str_query = "SELECT DISTINCT game_items_factsheet.type FROM game_items,game_items_factsheet where game_items.priznak=1 and game_items.town='{$town}' and game_items_factsheet.type<=97 and game_items.sell_time>'{$time_for_check}' AND game_items.post_to=0 AND game_items.item_id = game_items_factsheet.id and game_items_factsheet.type=" . $Item->fact['type'] . "";
     }
     $test = myquery($str_query);
     if (mysql_num_rows($test) > 0) {
         echo '<meta http-equiv="refresh" content="1;url=town.php?option=' . $option . '&do=viewtype&type=' . $Item->fact['type'] . '">';
     } else {
         echo '<meta http-equiv="refresh" content="1;url=town.php?option=' . $option . '">';
     }
     break;
 case 'purchase_res':