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; }
<?php // fail soderzhit zagruzochnuju infu karty // VESHI $items = array('i.f.tra.podorozhnik' => 'i.f.tra.podorozhnik:rbfo|4x5~rbfo|6x5:1', 'i.m.rea.pautina' => 'i.m.rea.pautina:rbfo|8x4~rbfo|7x1:1', 'i.o.sta.rosarock' => 'i.o.sta.rosarock:rbfo|4x3:1', 'i.o.sta.lake' => 'i.o.sta.lake:rbfo|3x3:1', 'i.o.sta.runestone_vk2' => 'i.o.sta.runestone_vk2:rbfo|5x5:1', 'i.o.sta.runestone_vk10' => 'i.o.sta.runestone_vk10:rbfo|7x1:1'); $npc = array('n.a.mouse.1.m2' => 'n.a.mouse.1.m2::5', 'n.a.rabbit.1.0' => 'n.a.rabbit.1.0:rbfo|4x5~rbfo|2x3~rbfo|1x6:3', 'n.x.rabbit.1.2' => 'n.x.rabbit.1.2:rbfo|4x3~rbfo|5x3:2', 'n.a.sinica.1.m2' => 'n.a.sinica.1.m2:rbfo|1x3~rbfo|3x6:1', 'n.a.vorobej.1.m2' => 'n.a.vorobej.1.m2:rbfo|2x1~rbfo|2x3:1', 'n.a.young_rabbit.1.m1' => 'n.a.young_rabbit.1.m1:rbfo|6x2~rbfo|5x5:1', 'n.a.big_rabbit.1.1' => 'n.a.big_rabbit.1.1:rbfo|8x5:1', 'n.a.old_rabbit.1.m1' => 'n.a.old_rabbit.1.m1:rbfo|8x2:1', 'n.s.tuslik' => 'n.s.tuslik:rbfo|4x6:1', 'n.a.utka.1.m1' => 'n.a.utka.1.m1:rbfo|3x3:1', 'n.a.red_bird.3.1' => 'n.a.red_bird.3.1:rbfo|8x3:1', 'n.x.witch.5.0' => 'n.x.witch.5.0:rbfo|5x1:1', 'n.x.black_cat.4.1' => 'n.x.black_cat.4.1:rbfo|5x1:1'); // tekagi q: ninzja nochqju s 00 do 1h. $hour = get_hour(); $q = do_mysql("SELECT COUNT(*) FROM npc WHERE realname = 'n.s.hiroki';"); $cnin = mysql_result($q, 0); if ($hour < 1 && !$cnin) { // sozdaem hiroki include_once 'modules/f_create_npc.php'; create_npc('n.s.hiroki', 'rbfo', 'rbfo|1x6'); } if ($hour > 0 && $cnin) { // udaljaem hiroki do_mysql("DELETE FROM npc WHERE realname = 'n.s.hiroki';"); }
// npc include_once 'modules/f_create_npc.php'; include_once 'modules/f_add_to_loc.php'; include_once 'modules/f_gen_rnd_loc.php'; // sozdaem npc if (!is_array($npc[$a[1]])) { $npc[$a[1]] = explode(':', $npc[$a[1]]); } // esli vtoraja chastq pusta, generiruem sluchajno iz vsej karty // esli net to iz ukazanyh if (!$npc[$a[1]][1]) { $nloc = gen_rnd_loc($pl_map); } else { $nloc = gen_rnd_loc($pl_map, $npc[$a[1]][1]); } $nnpc = create_npc($npc[$a[1]][0], $pl_map, $nloc); // dobavljaem npc v lokaciju i vse unset($act[$i]); } } $nact = implode('~', $act); do_mysql("UPDATE maps SET actions = '" . $nact . "' WHERE map = '" . $pl_map . "';"); } // ochistim ot staryh trupov $qdd = do_mysql("SELECT fullname FROM dead WHERE puttime < NOW() - INTERVAL '15' MINUTE"); while ($de = mysql_fetch_assoc($qdd)) { do_mysql("DELETE FROM items WHERE belongs = '" . $de['fullname'] . "';"); do_mysql("DELETE FROM dead WHERE fullname = '" . $de['fullname'] . "';"); } // teperq ochistim nenuzhnye karty include_once 'modules/f_erease_map.php';