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>"; } }
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"); }
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, '', '', '', '', '', '', '', ''); } } }
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; } //Старый расчёт стоимости починки предмета
} $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':