function crit($login) { //$login = preg_replace ('/[^a-z-0-9_\.]/i', '', $login); $id = is_player($login); if (!$id) { include_once 'modules/f_get_npc_info.php'; $life = get_npc_info($login, 'life'); $life = explode('|', $life); $cr = round(100 - $life[0] / $life[1] * 100); if (rand(0, 100) <= $cr) { return 2; } else { return 1; } } $p = do_mysql("SELECT life, skills FROM players WHERE id_player = '" . $id . "';"); $p = mysql_fetch_assoc($p); $p['skills'] = explode('|', $p['skills']); $p['life'] = explode('|', $p['life']); $cr = round(100 - $p['life'][0] / $p['life'][1] * 100 + $p['skills'][0]); include_once 'modules/f_get_affected.php'; $aff = get_affected($login); if (is_in('ispugan', $aff)) { return 1; } if (rand(0, 100) <= $cr) { return 2; } else { return 1; } }
function check_reagents($spell, $login) { //$spell = preg_replace ('/[^a-z0-9_]/i', '', $spell); //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); if (!is_player($login)) { return 0; } // spisok reagentov: $q = do_mysql("SELECT reagents FROM magic WHERE fullname = '" . $spell . "';"); if (!mysql_num_rows($q)) { return 0; } $rea = mysql_result($q, 0); if (!$rea) { return 1; } $rea = explode('|', $rea); // funkcija kotoroj proverim: include_once 'modules/f_has_misc_count.php'; $c = count($rea); $has = 1; for ($i = 0; $i < $c; $i++) { $rea[$i] = explode(':', $rea[$i]); // esli menqshe - 0 if (has_misc_count($rea[$i][0], $rea[$i][1], $login) < 1) { $has = 0; } } return $has; }
function healer_stop_b($healer, $patient, $cost) { //$healer = preg_replace ('/[^a-z0-9_\.]/i', '', $healer); //$patient = preg_replace ('/[^a-z0-9_]/i', '', $patient); $cost = preg_replace('/[^0-9]/', '', $cost); $id = is_player($patient); $nid = is_npc($healer); $q = do_mysql("SELECT location, money, status1 FROM players WHERE id_player = '" . $id . "';"); $p = mysql_fetch_assoc($q); $q = do_mysql("SELECT location FROM npc WHERE id_npc = '" . $nid . "';"); $loc = mysql_result($q, 0); if ($p['location'] != $loc) { return 0; } if (!$p['status1'][2] && !$p['status1'][3] && !$p['status1'][4]) { exit_msg('целительство', 'вы итак полностью здоровы!'); } $price = $cost; if ($p['money'] < $price) { exit_msg('целительство', 'у вас нехватает денег, надо ' . $price . ' серебра!'); } $p['money'] -= $price; $p['status1'][2] = 0; $p['status1'][3] = 0; $p['status1'][4] = 0; do_mysql("UPDATE players SET money = '" . $p['money'] . "', status1 = '" . $p['status1'] . "' WHERE id_player = '" . $id . "';"); exit_msg('целительство', 'вaши раны залечены! цена: ' . $price . ' серебра.'); }
function get_affected($name) { //$name = preg_replace ('/[^a-z\._0-9]/i', '', $name); // pokachto tolqko chelam: $id = is_player($name); if ($id) { $q = do_mysql("SELECT affected FROM players WHERE id_player = '" . $id . "';"); $a = mysql_result($q, 0); } else { $id = is_npc($name); if (!$id) { return 0; } $q = do_mysql("SELECT affected FROM npc WHERE id_npc = '" . $id . "';"); if (!mysql_num_rows($q)) { return 0; } $a = mysql_result($q, 0); } if (!$a) { return 0; } $a = explode('|', $a); $c = count($a); for ($i = 0; $i < $c; $i++) { $a[$i] = explode(':', $a[$i]); $arr[] = $a[$i][0]; } return $arr; }
function get_loc($who, $stor, $depth = 1) { // lokacija $id = is_player($who); if ($id) { $lq = do_mysql("SELECT location FROM players WHERE id_player = '" . $id . "';"); $loc = mysql_result($lq, 0); } else { include_once 'modules/f_get_npc_info.php'; $loc = get_npc_info($who, 'location'); } $near = loc($loc, 'near'); $lc = $near[$stor][0]; if (!$lc) { return 0; } if ($depth == 2) { unset($near); $near = loc($lc, 'near'); } if (!isset($near[$stor][0])) { return 0; } return $near[$stor][0]; }
function decr_abstr_misc($prot, $who, $count, $other = 0) { //$prot = preg_replace ('/[^a-z0-9_\.]/i', '', $prot); $count = preg_replace('/[^0-9]/', '', $count); //$who = preg_replace ('/[^a-z0-9_]/i', '', $who); if (!is_player($who)) { return 0; } if ($count < 1) { return 0; } $q = do_mysql("SELECT on_take FROM items WHERE belongs = '" . $who . "' AND is_in = 'inv' AND realname = '" . $prot . "' AND type = 'm';"); if (!mysql_num_rows($q)) { return 0; } $ci = mysql_result($q, 0); if ($ci < $count) { return 0; } $ci -= $count; if ($ci) { do_mysql("UPDATE items SET on_take = '" . $ci . "' WHERE belongs = '" . $who . "' AND is_in = 'inv' AND realname = '" . $prot . "';"); } else { include_once 'modules/f_delete_item.php'; $q = do_mysql("SELECT fullname FROM items WHERE belongs = '" . $who . "' AND is_in = 'inv' AND realname = '" . $prot . "' AND type = 'm';"); $item = mysql_result($q, 0); delete_item($item); } return 1; }
function heal($healer, $patient, $cost) { //$healer = preg_replace ('/[^a-z0-9_\.]/i', '', $healer); //$patient = preg_replace ('/[^a-z0-9_]/i', '', $patient); $cost = preg_replace('/[^0-9]/', '', $cost); $id = is_player($patient); $nid = is_npc($healer); $q = do_mysql("SELECT location, money, life, status1 FROM players WHERE id_player = '" . $id . "';"); $p = mysql_fetch_assoc($q); $q = do_mysql("SELECT location FROM npc WHERE id_npc = '" . $nid . "';"); $loc = mysql_result($q, 0); if ($p['location'] != $loc) { return 0; } $p['life'] = explode('|', $p['life']); if ($p['life'][0] == $p['life'][1]) { exit_msg('целительство', 'вы итак полностью здоровы!'); } $price = ceil(($p['life'][1] - $p['life'][0]) / 100) * $cost; if ($p['money'] < $price) { exit_msg('целительство', 'у вас нехватает денег, надо ' . $price . ' серебра!'); } $p['money'] -= $price; $nlife = $p['life'][1] . '|' . $p['life'][1]; $p['status1'][2] = 0; $p['status1'][3] = 0; $p['status1'][4] = 0; do_mysql("UPDATE players SET money = '" . $p['money'] . "', life = '" . $nlife . "', status1 = '" . $p['status1'] . "' WHERE id_player = '" . $id . "';"); exit_msg('целительство', 'вы выздоровили! цена: ' . $price . ' серебра.'); }
function is_inloc($login, $who) { //$login = mysql_real_escape_string ($login); //$who = mysql_real_escape_string ($who); // lokacija igroka $id = is_player($login); if ($id) { $q = do_mysql("SELECT location FROM players WHERE id_player = '" . $id . "';"); } else { $q = do_mysql("SELECT location FROM npc WHERE id_npc = '" . is_npc($login) . "';"); } if (!mysql_num_rows($q)) { return 0; } $loc = mysql_result($q, 0); $id = is_player($who); if ($id) { $q = do_mysql("SELECT location FROM players WHERE id_player = '" . $id . "';"); } else { $q = do_mysql("SELECT location FROM npc WHERE id_npc = '" . is_npc($who) . "';"); } if (!mysql_num_rows($q)) { return 0; } $loc2 = mysql_result($q, 0); if ($loc == $loc2) { return 1; } return 0; }
function start_blood($name) { //$name = preg_replace ('/[^a-z0-9_\.]/i', '', $name); $id = is_player($name); if ($id) { $q = do_mysql("SELECT status1 FROM players WHERE id_player = '" . $id . "';"); $st = mysql_result($q, 0); $st[2] = 1; do_mysql("UPDATE players SET status1 = '" . $st . "' WHERE id_player = '" . $id . "';"); // regeneracija sposobna so vremenem pereborotq krovotechenie: $q = do_mysql("SELECT skills, last FROM players WHERE id_player = '" . $id . "';"); $r = mysql_fetch_assoc($q); $r['skills'] = explode('|', $r['skills']); $r['last'] = explode('|', $r['last']); if ($r['skills'][5] > 0) { $time = time(); $plus = 130 - 10 * $r['skills'][5]; if ($plus < 30) { $plus = 30; } $r['last'][5] = $time + $plus; $last = $r['last'][0] . '|' . $r['last'][1] . '|' . $r['last'][2] . '|' . $r['last'][3] . '|' . $r['last'][4] . '|' . $r['last'][5] . '|' . $r['last'][6] . '|' . $r['last'][7] . '|' . $r['last'][8]; do_mysql("UPDATE players SET last = '" . $last . "' WHERE id_player = '" . $id . "';"); } return 1; } // proverjatq na npc nenado set_affected proverit include_once 'modules/f_set_affected.php'; set_affected($name, 'krovotechenie'); return 1; }
function use_reagents($spell, $login) { //$spell = preg_replace ('/[^a-z0-9_]/i', '', $spell); //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); if (!is_player($login)) { return 0; } // spisok reagentov: $q = do_mysql("SELECT reagents FROM magic WHERE fullname = '" . $spell . "';"); if (!mysql_num_rows($q)) { return 0; } $rea = mysql_result($q, 0); if (!$rea) { return 1; } $rea = explode('|', $rea); // funkcija kotoroj udalim: include_once 'modules/f_decr_abstr_misc.php'; $c = count($rea); for ($i = 0; $i < $c; $i++) { $rea[$i] = explode(':', $rea[$i]); decr_abstr_misc($rea[$i][0], $login, $rea[$i][1]); } return 1; }
function upd_last_cast($pl, $spell) { //$pl = preg_replace ('/[^a-z0-9_]/i', '', $pl); //$spell = preg_replace ('/[^a-z0-9_]/i', '', $spell); $now = time(); $id = is_player($pl); if (!$id) { put_error('npc cant cast spell'); } $q = do_mysql("SELECT last FROM players WHERE id_player = '" . $id . "';"); $last = mysql_result($q, 0); $last = explode('|', $last); // vremja zaklinanija: $q = do_mysql("SELECT timewait FROM magic WHERE fullname = '" . $spell . "';"); if (!mysql_num_rows($q)) { put_error('there are no such spell: ' . $spell . ''); } $tw = mysql_result($q, 0); $last[3] = $now + $tw; // obrabotka effektami: #include_once ('modules/f_get_affected.php'); // effecty: #$aff = get_affected ($LOGIN); // primer: if (is_in ('oglushen', $aff)) $last[3] += 10; $nlast = $last[0] . '|' . $last[1] . '|' . $last[2] . '|' . $last[3] . '|' . $last[4] . '|' . $last[5] . '|' . $last[6] . '|' . $last[7] . '|' . $last[8]; do_mysql("UPDATE players SET last = '" . $nlast . "' WHERE id_player = '" . $id . "';"); return 1; }
function use_mana($spell, $login) { //$spell = preg_replace ('/[^a-z0-9_]/i', '', $spell); //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); $q = do_mysql("SELECT mana FROM magic WHERE fullname = '" . $spell . "';"); if (!mysql_num_rows($q)) { return 0; } $minus = mysql_result($q, 0); $id = is_player($login); $q = do_mysql("SELECT mana FROM players WHERE id_player = '" . $id . "';"); if (!mysql_num_rows($q)) { return 0; } $mana = mysql_result($q, 0); $mana = explode('|', $mana); $mana[0] -= $minus; if ($mana[0] < 0) { return 0; } // many nehvatilo. $nmana = $mana[0] . '|' . $mana[1]; do_mysql("UPDATE players SET mana = '" . $nmana . "' WHERE id_player = '" . $id . "';"); return 1; }
function teach_magic_from_sc($scroll, $npc, $login) { //$scroll = preg_replace ('/[^a-z0-9_\.]/i', '', $scroll); //$npc = preg_replace ('/[^a-z0-9_\.]/i', '', $npc); //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); $nid = is_npc($npc); $id = is_player($login); // v odnoj li lokacii $q = do_mysql("SELECT location FROM npc WHERE id_npc = '" . $nid . "';"); if (!mysql_num_rows($q)) { return 0; } $loc1 = mysql_result($q, 0); $q = do_mysql("SELECT location FROM players WHERE id_player = '" . $id . "';"); if (!mysql_num_rows($q)) { return 0; } $loc2 = mysql_result($q, 0); if ($loc1 != $loc2) { return 0; } include_once 'modules/f_has_item.php'; if (!has_item($scroll, $login)) { put_g_error('у вас нету свитка!'); } $q = do_mysql("SELECT on_take, price FROM items WHERE fullname = '" . $scroll . "' AND type = 's';"); if (!mysql_num_rows($q)) { return 0; } $spell = mysql_fetch_assoc($q); // neumeet li on uzhe include_once 'modules/f_has_magic.php'; if (has_magic($spell['on_take'], $login)) { put_g_error('вы уже умеете это заклинание!'); } // cenu vyschitaem: $q = do_mysql("SELECT money FROM players WHERE id_player = '" . $id . "';"); $money = mysql_result($q, 0); $cost = $spell['price'] * 10; if ($money < $cost) { put_g_error('нехватает серебра, нужно ' . $cost . ' серебреных!'); } $money -= $cost; // dobavljaem zakl: $q = do_mysql("SELECT magic FROM players WHERE id_player = '" . $id . "';"); $magic = mysql_result($q, 0); if (!$magic) { $magic = $spell['on_take']; } else { $magic .= '|' . $spell['on_take']; } // obnovim dannye: do_mysql("UPDATE players SET magic = '" . $magic . "', money = '" . $money . "' WHERE id_player = '" . $id . "';"); // udaljaem svitok include_once 'modules/f_delete_item.php'; delete_item($scroll); $q = do_mysql("SELECT name FROM magic WHERE fullname = '" . $spell['on_take'] . "';"); $name = mysql_result($q, 0); exit_msg('магия', 'вы выучили заклинание ' . $name . ' за ' . $cost . ' серебреных!'); }
function check_pl_exp($login) { //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); $id = is_player($login); if (!$id) { return 0; } $q = do_mysql("SELECT stats FROM players WHERE id_player = '" . $id . "';"); $stats = mysql_result($q, 0); $stats = explode('|', $stats); if ($stats[1] >= $stats[2]) { $q = do_mysql("SELECT skills, rase FROM players WHERE id_player = '" . $id . "';"); $sk = mysql_fetch_assoc($q); $sk['skills'] = explode('|', $sk['skills']); switch ($sk['rase']) { case 1: $sk['skills'][0] += 1; $sk['skills'][2] += 1; break; case 2: $sk['skills'][1] += 1; $sk['skills'][3] += 1; break; case 3: $sk['skills'][0] += 1; $sk['skills'][3] += 1; break; } $sk['skills'] = implode('|', $sk['skills']); if (substr($sk['skills'], 0, 1) == '|') { $sk['skills'] = substr($sk['skills'], 1); } $stats[0] += 1; if ($stats[0] <= 12 || $stats[0] % 10 == 0) { $stats[3] += 1; } $stats[1] -= $stats[2]; $stats[2] = 600 * $stats[0] * $stats[0] + 1000 * $stats[0]; $nstats = $stats[0] . '|' . $stats[1] . '|' . $stats[2] . '|' . $stats[3] . '|' . $stats[4] . '|' . $stats[5] . '|' . $stats[6] . '|' . $stats[7]; do_mysql("UPDATE players SET stats = '" . $nstats . "', skills = '" . $sk['skills'] . "' WHERE id_player = '" . $id . "';"); add_journal('новый уровень: ' . $stats[0] . '!', $login); add_journal('вы получили очко навыка!', $login); } if ($stats[4] >= $stats[5]) { // poluchitq ochko opyta: $stats[6] += 1; $stats[4] -= $stats[5]; $stats[7] += 1; $stats[5] = round((600 * $stats[0] * $stats[0] + 1000 * $stats[0]) / 9); $nstats = $stats[0] . '|' . $stats[1] . '|' . $stats[2] . '|' . $stats[3] . '|' . $stats[4] . '|' . $stats[5] . '|' . $stats[6] . '|' . $stats[7]; do_mysql("UPDATE players SET stats = '" . $nstats . "' WHERE id_player = '" . $id . "';"); add_journal('вы получили очко опыта!', $login); } return 1; }
function end_battle($who) { $id = is_player($who); if ($id) { do_mysql("UPDATE players SET in_battle = '0' WHERE id_player = '" . $id . "';"); } else { $id = is_npc($who); do_mysql("UPDATE npc SET in_battle = '0' WHERE id_npc = '" . $id . "';"); } return 1; }
function increase_karma($login, $plus) { //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); $plus = preg_replace('/[^0-9]/', '', $plus); $id = is_player($login); $q = do_mysql("SELECT karma FROM players WHERE id_player = '" . $id . "';"); $karma = mysql_result($q, 0); $karma += $plus; do_mysql("UPDATE players SET karma = '" . $karma . "' WHERE id_player = '" . $id . "';"); add_journal('карма +' . $plus, $login); return 1; }
public function get_record_by_id($id) { $this->db->where($this->primary_key, $id); if (is_player()) { $this->db->where('status', 1); } else { if (is_developer()) { $this->db->where('developerID', $this->session->userdata('user_data')->id); } } return $this->db->get($this->table_name)->result_array(); }
function gain_item($item, $count, $login) { global $I_SEP_C, $p; //$item = preg_replace ('/[^a-z0-9\._]/i', '', $item); $count = preg_replace('/[^0-9]/', '', $count); //$login = preg_replace ('/[^a-z0-9_]/', '', $login); if (!$item || !$count || !$login) { put_error('заполните усе данные (это к админу)'); } $id = is_player($login); include_once 'modules/f_create_item.php'; include_once 'modules/f_add_item_to_pl.php'; include_once 'modules/f_add_item_to_loc.php'; include_once 'modules/f_get_it_name.php'; if (substr($item, 2, 1) == 'm') { $nitem = create_item($item); //add_item_to_pl ($login, $nitem); $name = get_it_name($nitem); $q = do_mysql("SELECT COUNT(*) FROM items WHERE belongs = '" . $login . "' AND is_in = 'inv' AND weight > 0;"); $c = mysql_result($q, 0); if ($c > $I_SEP_C) { add_item_to_loc($p['location'], $nitem); } else { $q = do_mysql("SELECT fullname FROM items WHERE belongs = '" . $login . "' AND is_in = 'inv' AND realname = '" . $item . "';"); if (mysql_num_rows($q)) { $fn = mysql_result($q, 0); do_mysql("UPDATE items SET on_take = on_take + " . $count . " WHERE fullname = '" . $fn . "';"); do_mysql("DELETE FROM items WHERE fullname = '" . $nitem . "';"); } else { add_item_to_pl($login, $nitem); do_mysql("UPDATE items SET on_take = '" . $count . "' WHERE fullname = '" . $nitem . "';"); } } add_journal('вы получили ' . $name . '!', $login); } else { for ($i = 0; $i < $count; $i++) { $nitem = create_item($item); $name = get_it_name($nitem); $q = do_mysql("SELECT COUNT(*) FROM items WHERE belongs = '" . $login . "' AND is_in = 'inv' AND weight > 0;"); $c = mysql_result($q, 0); if ($c > $I_SEP_C) { add_item_to_loc($p['location'], $nitem); } else { add_item_to_pl($login, $nitem); } add_journal('вы получили ' . $name . '!', $login); } } return $nitem; }
function block($to) { $id = is_player($to); if ($id) { $q = do_mysql("SELECT name, location FROM players WHERE id_player = '" . $id . "';"); $p = mysql_fetch_assoc($q); add_journal($p['name'] . ' блокировал!', 'l.' . $p['location']); } else { $id = is_npc($to); $q = do_mysql("SELECT name, location FROM npc WHERE id_npc = '" . $id . "';"); $n = mysql_fetch_assoc($q); add_journal($n['name'] . ' блокировал!', 'l.' . $n['location']); } return 1; }
function has_magic($spell, $login) { //$spell = preg_replace ('/[^a-z0-9_]/i', '', $spell); //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); $id = is_player($login); $q = do_mysql("SELECT magic FROM players WHERE id_player = '" . $id . "';"); if (!mysql_num_rows($q)) { return 0; } $magic = mysql_result($q, 0); if (strpos($magic, $spell) === false) { return 0; } return 1; }
function search_kombo($login, $kombo) { $id = is_player($login); $q = do_mysql("SELECT kombo FROM players WHERE id_player = '" . $id . "';"); $k = mysql_result($q, 0); $k = explode('|', $k); $c = count($k); for ($i = 0; $i < $c; $i++) { if (strpos($k[$i], $kombo) !== false) { $k[$i] = explode(':', $k[$i]); $k[$i][3] = $i; return $k[$i]; } } return 0; }
function start_fire($name) { //$name = preg_replace ('/[^a-z0-9_\.]/i', '', $name); $id = is_player($name); if ($id) { $q = do_mysql("SELECT status1 FROM players WHERE id_player = '" . $id . "';"); $st = mysql_result($q, 0); $st[4] = 1; do_mysql("UPDATE players SET status1 = '" . $st . "' WHERE id_player = '" . $id . "';"); return 1; } // proverjatq na npc nenado set_affected proverit include_once 'modules/f_set_affected.php'; set_affected($name, 'gorit'); return 1; }
function gain_silver($silver, $login) { $silver = preg_replace('/[^-0-9]/', '', $silver); //$login = preg_replace ('/[^a-z0-9_]/', '', $login); $id = is_player($login); if (!$id) { return 0; } do_mysql("UPDATE players SET money = money + '" . $silver . "' WHERE id_player = '" . $id . "';"); if ($silver > -1) { add_journal('серебро +' . $silver, $login); } else { add_journal('серебро ' . $silver, $login); } //add_journal ('[green]'.$login.' +'.$silver.'[/end]', 'maxx'); return 1; }
function gain_peace_exp($exp, $login) { $exp = preg_replace('/[^0-9]/', '', $exp); //$login = preg_replace ('/[^a-z0-9_]/', '', $login); $id = is_player($login); $q = do_mysql("SELECT stats FROM players WHERE id_player = '" . $id . "';"); $stats = mysql_result($q, 0); $stats = explode('|', $stats); $stats[1] += $exp; $stats[4] += $exp; $nstats = $stats[0] . '|' . $stats[1] . '|' . $stats[2] . '|' . $stats[3] . '|' . $stats[4] . '|' . $stats[5] . '|' . $stats[6] . '|' . $stats[7]; include_once 'modules/f_check_pl_exp.php'; do_mysql("UPDATE players SET stats = '" . $nstats . "' WHERE id_player = '" . $id . "';"); add_journal('exp +' . $exp, $login); check_pl_exp($login); return 1; }
function can_u_reach($who, $loc_go, $stor, $depth = 1) { // lokacija $id = is_player($who); if ($id) { $lq = do_mysql("SELECT location FROM players WHERE id_player = '" . $id . "';"); $loc = mysql_result($lq, 0); } else { include_once 'modules/f_get_npc_info.php'; $loc = get_npc_info($who, 'location'); } require_once 'modules/f_get_loc.php'; $near = get_loc($who, $stor, $depth); if (!$near || $near != $loc_go) { return 0; } return 1; }
function upd_last_attack($pl) { //$pl = preg_replace ('/[^a-z0-9_\.]/i', '', $pl); $now = time(); $id = is_player($pl); if (!$id) { $id = is_npc($pl); // npc do_mysql("UPDATE npc SET lastattack = '" . $now . "' WHERE id_npc = '" . $id . "';"); return 1; } $q = do_mysql("SELECT last FROM players WHERE id_player = '" . $id . "';"); $last = mysql_result($q, 0); $last = explode('|', $last); $last[1] = $now; $nlast = $last[0] . '|' . $last[1] . '|' . $last[2] . '|' . $last[3] . '|' . $last[4] . '|' . $last[5] . '|' . $last[6] . '|' . $last[7] . '|' . $last[8]; do_mysql("UPDATE players SET last = '" . $nlast . "' WHERE id_player = '" . $id . "';"); return 1; }
function upd_affected($name, $end = 0) { //$name = preg_replace ('/[^a-z0-9_\.]/i', '', $name); $id = is_player($name); $n = 0; if ($id) { $q = do_mysql("SELECT affected FROM players WHERE id_player = '" . $id . "';"); } else { $id = is_npc($name); $n = 1; $q = do_mysql("SELECT affected FROM npc WHERE id_npc = '" . $id . "';"); } $aff = mysql_result($q, 0); if (!$aff) { return 1; } $aff = explode('|', $aff); $c = count($aff); for ($i = 0; $i < $c; $i++) { $aff[$i] = explode(':', $aff[$i]); //echo $aff[$i][0].' '.$aff[$i][1].' '.(time()).'<br/>'; if ($aff[$i][1] <= time() || $end) { // dalee, esi estq takoj fail, spec izmenenija effekta ustanovim if (file_exists('modules/effects/e_end_' . $aff[$i][0] . '.php')) { include 'modules/effects/e_end_' . $aff[$i][0] . '.php'; } unset($aff[$i]); } if (isset($aff[$i])) { $aff[$i] = implode(':', $aff[$i]); } } $aff = implode('|', $aff); if ($aff == '|') { $aff = ''; } if (!$n) { do_mysql("UPDATE players SET affected = '" . $aff . "' WHERE id_player = '" . $id . "';"); } else { do_mysql("UPDATE npc SET affected = '" . $aff . "' WHERE id_npc = '" . $id . "';"); } return 1; }
/** * Adds extra post classes * * @since 1.0.0 * @param array $classes * @return array */ function wpcm_post_class($classes) { if (is_sponsor()) { $classes[] = 'wpcm-single-sponsors'; } if (is_club()) { $classes[] = 'wpcm-single-club'; } if (is_player()) { $classes[] = 'wpcm-single-player'; } if (is_staff()) { $classes[] = 'wpcm-single-staff'; } if (is_match()) { $classes[] = 'wpcm-single-match'; } return $classes; }
function check_last_cast($pl) { //$pl = preg_replace ('/[^a-z0-9_\.]/i', '', $pl); $now = time(); $id = is_player($pl); if (!$id) { // pokachtoo zhivotnye ne kastujut: put_error('npc cant cast'); } $q = do_mysql("SELECT last FROM players WHERE id_player = '" . $id . "';"); $a = mysql_fetch_assoc($q); $last = $a['last']; $last = explode('|', $last); // v magii pri obnovlenii ukazyvaetsja vremja, sejchas nado tolqko proveritq, nastupilo li if ($last[3] < $now) { return 1; } return 0; }
function mag_summon($spell, $login) { //$spell = preg_replace ('/[^a-z0-9_]/i', '', $spell); //$login = preg_replace ('/[^a-z0-9_]/i', '', $login); $id = is_player($login); $q = do_mysql("SELECT cname FROM magic WHERE fullname = '" . $spell . "';"); if (!mysql_num_rows($q)) { return 0; } $fullname = mysql_result($q, 0); if (!$fullname) { return 0; } // zapros na lokaciju igroka i kolichestvo priruchennyh zhivotnyh $q = do_mysql("SELECT location FROM players WHERE id_player = '" . $id . "';"); if (!mysql_num_rows($q)) { return 0; } $loc = mysql_result($q, 0); $q = do_mysql("SELECT COUNT(*) FROM npc WHERE belongs = '" . $login . "';"); $c = mysql_result($q, 0); if ($c > 0) { put_g_error('у вас уже есть нпц, принадлежащие вам'); } // sozdaem npc: include_once 'modules/f_create_npc.php'; $npc = create_npc($fullname, substr($loc, 0, 4), $loc); $nid = is_npc($npc); // izmenim imja: $q = do_mysql("SELECT name FROM npc WHERE id_npc = '" . $nid . "';"); $name = mysql_result($q, 0); $nname = 'призванный ' . $name; $fullname = $npc . '.' . $login; // ataka: $q = do_mysql("SELECT in_battle FROM players WHERE id_player = '" . $id . "';"); $inb = mysql_result($q, 0); do_mysql("UPDATE npc SET fullname = '" . $fullname . "', name = '" . $nname . "', belongs = '" . $login . "', move = '30', in_battle = '" . $inb . "', type = 'a' WHERE id_npc = '" . $nid . "';"); $q = do_mysql("SELECT name FROM players WHERE id_player = '" . $id . "';"); $pn = mysql_result($q, 0); add_journal($pn . ': призвал ' . $name . '!', 'l.' . $loc); return 1; }