Exemple #1
0
<?php

menuitem("News", "news");
// at home
if (is_null($acc[x]) && is_null($acc[y])) {
    $time = time();
    if ($acc["attacked"]) {
        $flash = TRUE;
    } else {
        $flash = FALSE;
    }
    menuitem("Battles", "battles", "", $flash);
    menuitem("Character", "character", "", gGetSkillPointsLeft() > 0);
    menuitem("Creatures", "creatures");
    menuitem("Items", "items");
    menuitem("Amulets", "amulets");
    $workers = $acc["b_workers"] + $acc["c_workers"] + $acc["e_workers"] + $acc["g_workers"];
    $workersleft = $acc["level"] * gdWorkersPerLevel - $workers;
    menuitem("Spellbook", "spellbook", "", $workersleft > 0 || $acc["castcurse"] != 0);
    menuitem("Buildings", "buildings", "", $acc["arcanechamber"] > 99);
    menuitem("Defense", "defense");
    echo '<table height="3" width="1"><tr><td></td></table>';
    menuitem("Your Kingdom", "kingdom");
    menuitem("Pub", "kingdom", "&action=pub&type=0");
    menuitem("Marketplace", "kingdom", "&action=pub&type=1");
    $sql = "SELECT count(*) FROM mails WHERE receiver = '{$acc['id']}' AND receiverstatus = '0'";
    $result = $db->query($sql);
    $numrows = $db->result($result, 0);
    if ($numrows > 0) {
        $flash = TRUE;
    } else {
        echo $array["minutes"], ' minute', $addon, ' until next income (current time: ', date("Y-m-d @ H:i"), ').<br>';
    } else {
        echo 'Income is being processed right now.<br>';
    }
    tEnd();
}
if ($action == "skills") {
    // reset skill
    if (!$skill) {
        $skill = gdsBase;
    }
    // print skill path
    echo '<br>';
    FindPath($skill);
    echo '<br><br>';
    $skillsleft = gGetSkillPointsLeft();
    if ($skillsleft <= 0) {
        echo 'You don\'t have any skill points available.<br><br><br>';
    } else {
        echo $skillsleft, ' skill points left.<br><br>';
    }
    // get child skills
    $sql = "SELECT s.*, acs.account AS asid FROM (skills AS s) LEFT JOIN accskills AS acs ON acs.account = '{$acc['id']}' AND acs.skill = s.id WHERE s.parent = '{$skill}' AND (s.class = {$acc['class']} OR s.class = 0) AND s.level <= '{$acc['level']}' ORDER BY s.name ASC";
    $result = $db->query($sql);
    while ($row = $db->fetch_array($result)) {
        // skill not learned yet
        if ($row["asid"] == "") {
            echo '
				', stripslashes($row["name"]), ' (', $row["cost"], ' skill points to learn):<br>
				', stripslashes($row["description"]), '<br>
				';
        if ($acc["level"] < gdSkillLevelMin) {
            $output .= 'Your level is too low.<br>';
            $no = 1;
        }
    }
    if ($no == 0) {
        $sql = "LOCK TABLES accounts LOW_PRIORITY WRITE, accskills LOW_PRIORITY WRITE, skills READ";
        $result = $db->query($sql);
        $sql = "SELECT class, forest, death, air, earth, skills FROM accounts WHERE id = '{$acc['id']}'";
        $result = $db->query($sql);
        $arow = $db->fetch_array($result);
        // amount of skill points left
        $sql = "SELECT SUM(skills.cost) AS totalcost, COUNT(*) AS aantal FROM accskills, skills WHERE accskills.account = '{$acc['id']}' AND accskills.skill = skills.id";
        $result = $db->query($sql);
        $tmp = $db->fetch_array($result);
        $arow["skills"] = $tmp["aantal"] == 0 ? 0 : $tmp["totalcost"];
        $arow["level"] = $acc["level"];
        $left = gGetSkillPointsLeft($arow);
        if ($left >= $row["cost"]) {
            $sql = "INSERT INTO accskills (account, skill) VALUES ('{$acc['id']}', '{$skill}')";
            $result = $db->query($sql);
            $sql = "UPDATE accounts SET skills = skills + {$row['cost']} WHERE id = '{$acc['id']}'";
            $result = $db->query($sql);
            $acc["skills"] += $row["cost"];
            $output .= 'You succesfully learn that skill!<br><br>';
            $action = "skills";
        }
        $sql = "UNLOCK TABLES";
        $result = $db->query($sql);
    }
}