Exemple #1
0
function load_footer()
{
    $objResponse = new xajaxResponse();
    $text .= gen_footer();
    $objResponse->assign("bottom_nav", "innerHTML", $text);
    return $objResponse;
}
function learn_skill($skill, $price)
{
    global $p;
    global $sid;
    $skill = preg_replace('/[^0-9]/', '', $skill);
    $price = preg_replace('/[^0-9]/', '', $price);
    if ($skill === false) {
        put_error('неуказан навык');
    }
    if ($price === false) {
        put_error('неуказанa цена');
    }
    if (!isset($p['skills'][$skill])) {
        put_error('такого навыка нету');
    }
    if ($p['skills'][$skill]) {
        put_g_error('вы уже имеете этот навык!');
    }
    $mage = array(22, 23, 24, 25, 26, 27, 28, 29, 30);
    $warrior = array(7, 8, 9, 10, 41);
    $ranger = array(11, 12);
    // proverka na klassy:
    if ($p['classof'] != 3 && in_array($skill, $mage)) {
        put_g_error('только для магов!');
    }
    if ($p['classof'] != 1 && in_array($skill, $warrior)) {
        put_g_error('только для воина!');
    }
    if ($p['classof'] != 2 && in_array($skill, $ranger)) {
        put_g_error('только для лучников!');
    }
    if ($p['money'] < $price) {
        put_g_error('у вас нехватает серебра - надо ' . $price . ' монет!');
    }
    if (!$p['stats'][3]) {
        put_g_error('у вас нету очка навыка!');
    }
    // nelzja vychitq vtoroj navyk iz serii parirovanie - dvuruchnoe - dva
    if (($p['skills'][18] || $p['skills'][40] || $p['skills'][41]) && ($skill == 18 || $skill == 40 || $skill == 41)) {
        put_g_error('нелзя выучить два навыка из серии двуручное - два - парирование. Либо щит, либо двуручное, либо два.');
    }
    // esli vsju proverku proshli, podnimem i zabudem
    $p['skills'][$skill] = 1;
    $p['stats'][3] -= 1;
    $skills = implode('|', $p['skills']);
    $stats = implode('|', $p['stats']);
    $p['money'] -= $price;
    do_mysql("UPDATE players SET skills = '" . $skills . "', stats = '" . $stats . "', money = '" . $p['money'] . "' WHERE id_player = '" . $p['id_player'] . "';");
    $f = gen_header('навыки');
    $f .= '<div class="y" id="sodhg"><b>навыки:</b></div><p>';
    include 'modules/sp/sp_skillnames.php';
    $f .= 'вы выучили ' . $skn[$skill] . '!<br/>';
    $f .= '<a class="blue" href="game.php?sid=' . $sid . '">в игру</a></p>';
    $f .= gen_footer();
    exit($f);
}
Exemple #3
0
function gen_main()
{
    $text = '';
    $text .= '<div id="top_wrapper">';
    $text .= '<nav id="top_nav" class="navbar navbar-inverse navbar-fixed-top animated fadeInDown">';
    $text .= gen_nav();
    $text .= '</nav>';
    $text .= '</div>';
    $text .= '<div id="middle_wrapper" class="animated fadeIn">';
    switch ($_SESSION['curPage']) {
        case '1':
            $text .= gen_residents();
            break;
        case '2':
            $text .= gen_guests();
            break;
        case '3':
            if ($_SESSION['user']['admin']) {
                $text .= gen_users();
            } else {
                $_SESSION['curPage'] = 1;
                $text .= gen_main();
            }
            break;
        case '4':
            $text .= gen_shifts();
            break;
    }
    $text .= '</div>';
    $text .= '<div id="bottom_wrapper">';
    $text .= '<nav id="bottom_nav" class="navbar navbar-default navbar-fixed-bottom animated fadeInUp">';
    $text .= gen_footer();
    $text .= '</nav>';
    $text .= '</div>';
    return $text;
}
    }
    $f = gen_header('Забытая История');
    $f .= '<div class="y" id="udak"><b>Пауза</b>:</div>';
    $f .= '<p>';
    $f .= 'Вы еще не собрались силами после прошедшего заклинания!<br/>';
    $pl_eff = get_affected($LOGIN);
    if ($pl_eff) {
        $f .= 'Эффекты:<br/>-';
        include_once 'modules/f_translit.php';
        $pl_eff = translit($pl_eff);
        $pl_eff = str_replace('|', '<br/>-', $pl_eff);
        $f .= $pl_eff;
    }
    $f .= '<a class="blue" href="game.php?' . $str2 . '">продолжить</a> | ';
    $f .= '<a class="blue" href="game.php?sid=' . $sid . '">в игру</a></p>';
    $f .= gen_footer();
    exit($f);
}
// potom ispolqzuem manu:
include_once 'modules/f_use_mana.php';
if (!use_mana($spell, $LOGIN)) {
    put_g_error('у вас нехватает маны на это заклинание!');
}
// teperq obnovim poslednee zaklinanie:
include_once 'modules/f_upd_last_cast.php';
upd_last_cast($LOGIN, $spell);
// skazhem slova:
$q = do_mysql("SELECT words FROM magic WHERE fullname = '" . $spell . "';");
$words = mysql_result($q, 0);
add_journal($p['name'] . ': ' . $words . '!', 'l.' . $p['location']);
// potom proverka, vyshlo li kastanutq zakl -
    $result_string .= "</li>\n";
    return $result_string;
}
function extract_poem_detail($cat_id)
{
    global $db;
    $poemresults = $db->query('SELECT * FROM poem WHERE cat_id=' . $cat_id);
    $result_string = "";
    while ($poemInfo = $poemresults->fetchArray()) {
        $result_string .= "<li> <a href=\"poem.php?poem_id=" . $poemInfo['id'] . "\">" . $poemInfo['title'] . "</a> </li>\n";
    }
    if ($result_string == "") {
        return "no entry!";
    } else {
        return "<ul>\n" . $result_string . "</ul>\n";
    }
}
$catresults = $db->query('SELECT * FROM cat WHERE poet_id=' . $poet_id . ' AND parent_id=0');
gen_header("جستجوی آثار", "<script type=\"text/javascript\" src=\"simpletreemenu.js\"></script>\n");
echo "<ul id=\"cattree\" class=\"treeview\" rel=\"open\">\n";
while ($catInfo = $catresults->fetchArray()) {
    echo extract_cat_info($catInfo['id'], $catInfo['text']);
}
echo "</ul>\n";
echo <<<SCRIPT
<script type="text/javascript">
streemenu.createTree("cattree", true, 5)
</script>
SCRIPT;
gen_footer();
function put_g_error($error)
{
    ######### gen_header(); ###############
    // vyvedet nadpisq ob oshibke (igrovuju, otobazhatq mozhno)
    global $sid;
    $f = gen_header('ошибка!');
    echo $f;
    echo '<div class="y" id="asf5"><b>ошибка:</b></div>';
    // ssylk na vhod
    $s = '<p><a href="game.php?sid=' . $sid . '">далее</a></p>';
    $s .= gen_footer();
    $error = htmlspecialchars(addslashes($error));
    $error .= $s;
    exit('<p>' . $error . '</p>');
}
    }
    $poem[$i][$j] = $verseData["text"];
    $j++;
}
gen_header("نمایش شعر » " . $poemData['title'] . "");
echo "<div class=\"header\"><a href=\"cat.php?id=" . $poet_info['id'] . "&catid=" . $poet_info['cat_id'] . "\">" . implode(" » ", $cat_hierachy) . "</a> » <b>" . $poemData['title'] . "</b></div>\n";
echo "<table align=\"center\" dir=\"rtl\">\n";
//var_dump($poem);
for ($i = 0; $i < count($poem); $i++) {
    echo "<tr>\n";
    if (count($poem[$i]) == 1) {
        echo "<td class=\"verseCenter\" colspan=\"3\">" . $poem[$i][0] . "</td>\n";
    } else {
        if (count($poem[$i]) == 2) {
            echo "<td class=\"verseLeft\">" . $poem[$i][0] . "</td>\n";
            echo "<td class=\"spacer\">&nbsp;</td>\n";
            echo "<td class=\"verseRight\">" . $poem[$i][1] . "</td>\n";
        } else {
            echo "<td colspan=\"3\">ERROR</td>";
            //for ( $j = 0; $j < count($poem[$i]); $j++){
            //	echo "<td>" . $poem[$i][$j] . "</td>\n";
            //}
        }
    }
    echo "</tr>\n";
}
echo "</table>\n";
gen_footer(array("نمایش آثار " . $poet_info['name'] => "cat.php?id=" . $poet_info['id'] . "&catid=" . $poet_info['cat_id']));
?>

function teleport($who, $loc_go)
{
    # get_pl_info(), do_mysql();, get_npc_info();, loc();, put_error();, delete_from_loc();, add_to_loc();, addjournal();
    require_once 'modules/f_get_pl_info.php';
    require_once 'modules/f_get_npc_info.php';
    require_once 'modules/f_loc.php';
    require_once 'modules/f_add_to_loc.php';
    // proverka dannyh
    //$who = preg_replace ('/[^a-z\._0-9]/i', '', $who);
    //$loc_go = preg_replace ('/[^a-z0-9\|]/i', '', $loc_go);
    global $LOGIN;
    $id;
    $pi = is_player($who);
    if ($pi) {
        $id = $pi;
        $login = $who;
        $lq = do_mysql("SELECT location FROM players WHERE id_player = '" . $id . "';");
        $loc = mysql_result($lq, 0);
        //$loc = get_pl_info ($login, 'location');
        $qg = do_mysql("SELECT gender FROM players WHERE id_player = '" . $id . "';");
        $gender = mysql_result($qg, 0);
        $n = 0;
        // proverka na boj -
        $q = do_mysql("SELECT in_battle FROM players WHERE id_player = '" . $id . "';");
        $inb = mysql_result($q, 0);
        $qg = do_mysql("SELECT name FROM players WHERE id_player = '" . $id . "';");
        $name = mysql_result($qg, 0);
    } else {
        if (substr($who, 0, 2) == 'n.') {
            $id = is_npc(substr($who, 2));
            if (!$id) {
                return 0;
            }
            $loc = get_npc_info($who, 'location');
            $alo = do_mysql("SELECT name FROM npc WHERE id_npc = '" . $id . "';");
            $login = mysql_result($alo, 0);
            $name = $login;
            $n = 1;
        }
    }
    // karta na kotoroj stoit
    $map_is = substr($loc, 0, 4);
    // karta toj loki, na kotoruju poidut
    $map_will = substr($loc_go, 0, 4);
    // ESLI NA DRUGUJU KARU
    if ($map_is != $map_will) {
        // a eshe ustanovim flag show_info, po kotoromu potom opredelim, nado li pokazatq vstupitelqnyj tekst k loakacci
        $show_info = 1;
    } else {
        // voobshem eto tazhe lokacija
        // vstupitelqnyj tekst ne pisatqi
        $show_info = 0;
    }
    global $NEWMAP;
    $NEWMAP = 1;
    if (!loc($loc_go, 'locinfo')) {
        return 0;
    }
    // sotrem byvshij inloc
    add_to_loc($loc_go, $who);
    //////////////////////////////
    // pitomec
    $an = do_mysql("SELECT name, fullname FROM npc WHERE belongs = '" . $login . "' AND location = '" . $loc . "' AND move <> 0;");
    $an = mysql_fetch_assoc($an);
    if ($an['fullname']) {
        $pit = ' и ' . $an['name'] . ' ';
        add_to_loc($loc_go, $an['fullname']);
    } else {
        $pit = '';
    }
    if (substr($who, 0, 2) == 'n.') {
        $map = substr($loc_go, 0, 4);
        do_mysql("UPDATE npc SET location = '" . $loc_go . "', map = '" . $map . "' WHERE id_npc = '" . $id . "';");
    } else {
        do_mysql("UPDATE players SET location = '" . $loc_go . "' WHERE id_player = '" . $id . "';");
    }
    $loc2 = 'l.' . $loc;
    // formiruem soobshenie.
    if ($pit) {
        $gone = 'исчезли';
        $come = 'появиись';
    } else {
        if (!isset($gender)) {
            // dlja npc, esliimja konchaetsja na 'a', to skorej vsego devushka
            $len = strlen($login);
            $len2 = $len - 1;
            if (substr($login, $len2) == 'а') {
                $gone = 'исчезла';
                $come = 'появилась';
            } else {
                $gone = 'исчез';
                $come = 'появился';
            }
        } else {
            if ($gender == 'male') {
                $gone = 'исчез';
                $come = 'появился';
            }
            if ($gender == 'female') {
                $gone = 'исчезлa';
                $come = 'появилась';
            }
        }
    }
    // proverim $n, esli 1 to eto npc i nado vsem pisatq, esli net to perehodjashemu ne nado
    if ($n) {
        $need = 1;
    } else {
        $need = 0;
    }
    // v byvshuju lokaciju
    add_journal('<p>' . $name . '' . $pit . ' ' . $gone . '!</p>', 'l.' . $loc, $need);
    // v novuju
    add_journal('<p>' . $come . ' ' . $name . '' . $pit . '</p>', 'l.' . $loc_go, $need);
    $p = get_pl_info($who, 'all');
    $NEWMAP = 1;
    include 'modules/s_loadmaps.php';
    // zagruzim kartu
    unset($p);
    //echo '<br/>show info = '.$show_info.'<br/>';
    //echo 'n = '.$n.'<br/>';
    //echo 'settings 4 = '.$p['settings'][4].'<br/>';
    // takzhe, esli showinfo = 1, perehodjashemu chelu pokazatq info toj karty
    if ($show_info && !$n && $who == $LOGIN) {
        global $p;
        do_mysql("UPDATE gamesys SET life_regen = 0;");
        if ($p['settings'][4] == 1) {
            $lg = loc($loc_go, 'locinfo');
            // kartinki v locpics/(nazvanie karty).jpg
            $map = substr($loc_go, 0, 4);
            $mapi = gen_header($lg[1]);
            $mapi .= '<div class="y" id="adg"><b>' . $lg[1] . '</div>';
            if (file_exists('modules/locpics/' . $map . '.JPEG')) {
                $mapi .= '<p><img src="modules/locpics/' . $map . '.JPEG" alt="."/></p>';
            }
            // teperq infa
            // '/mapinfo/'.$map.'.mapi'
            if (file_exists('modules/mapinfo/' . $map . '.txt')) {
                $mapi .= '<p>';
                $mapi .= file_get_contents('modules/mapinfo/' . $map . '.txt');
                $mapi .= '</p>';
            } else {
                $mapi .= '<p>нет информации</p>';
            }
            global $sid;
            $mapi .= '<p><a class="blue" href="game.php?sid=' . $sid . '">в игру</a></p>';
            $mapi .= gen_footer();
            exit($mapi);
        }
    }
}