コード例 #1
0
function adr_update_all_cache_infos()
{
    global $db, $lang, $phpEx, $userdata, $phpbb_root_path, $table_prefix, $board_config;
    $cache_config = explode('-', $board_config['Adr_use_cache_system']);
    // Update cache files which are currently enabled
    if ($cache_config[0] == '1') {
        adr_update_alignment_infos();
    }
    if ($cache_config[1] == '1') {
        adr_update_class_infos();
    }
    if ($cache_config[2] == '1') {
        adr_update_general_config();
    }
    if ($cache_config[3] == '1') {
        adr_update_element_infos();
    }
    if ($cache_config[4] == '1') {
        adr_update_item_quality();
    }
    if ($cache_config[5] == '1') {
        adr_update_item_type();
    }
    if ($cache_config[6] == '1') {
        adr_update_posters_infos();
    }
    if ($cache_config[7] == '1') {
        adr_update_race_infos();
    }
    if ($cache_config[8] == '1') {
        adr_update_skills();
    }
    if ($cache_config[9] == '1') {
        adr_update_monster_infos();
    }
    // Update last update stamp
    $sql = "UPDATE " . ADR_GENERAL_TABLE . " SET config_value = " . time() . " WHERE config_name = 'Adr_cache_last_updated' ";
    if (!($result = $db->sql_query($sql))) {
        adr_previous(Adr_character_general_update_error, admin_adr_general, '');
    }
    return;
}
コード例 #2
0
ファイル: adr_global.php プロジェクト: ZerGabriel/ADR2
function adr_substract_sp($id, $sum, $direct, $nav)
{
    global $lang, $phpEx, $userdata, $db;
    $id = intval($id);
    $sql = "SELECT character_sp FROM  " . ADR_CHARACTERS_TABLE . "\n\t\tWHERE character_id = {$id} ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, 'Could not check character SP', "", __LINE__, __FILE__, $sql);
    }
    $user_infos = $db->sql_fetchrow($result);
    $character_sp = $user_infos['character_sp'];
    $sum = intval($sum);
    if ($character_sp < $sum) {
        adr_previous(Adr_lack_sp, $direct, $nav);
    } else {
        $sql = "UPDATE " . ADR_CHARACTERS_TABLE . "\n\t\t\tSET character_sp = character_sp - {$sum}\n\t\t\tWHERE character_id = {$id} ";
        if (!$db->sql_query($sql)) {
            message_die(GENERAL_ERROR, 'Could not update character SP', "", __LINE__, __FILE__, $sql);
        }
    }
}
コード例 #3
0
ファイル: adr_functions_cache.php プロジェクト: Nekrofage/FJR
function adr_update_all_cache_infos()
{
    global $db, $lang, $phpEx, $userdata, $phpbb_root_path, $table_prefix, $board_config;
    // Update cache files which are currently enabled
    // V: actually, cache everything LOLE
    adr_update_alignment_infos();
    adr_update_class_infos();
    adr_update_general_config();
    adr_update_element_infos();
    adr_update_item_quality();
    adr_update_item_type();
    adr_update_posters_infos();
    adr_update_race_infos();
    adr_update_skills();
    adr_update_monster_infos();
    // Update last update stamp
    $sql = "UPDATE " . ADR_GENERAL_TABLE . " SET config_value = " . time() . " WHERE config_name = 'Adr_cache_last_updated' ";
    if (!($result = $db->sql_query($sql))) {
        adr_previous(Adr_character_general_update_error, admin_adr_general, '');
    }
}
コード例 #4
0
         message_die(GENERAL_MESSAGE, $message);
     } else {
         if ($used_food[0] == 0) {
             adr_previous(Adr_food_used, adr_character_inventory, '');
         }
     }
     break;
 case "use_potion":
     $potion_id = !empty($HTTP_POST_VARS['potion_id']) ? intval($HTTP_POST_VARS['potion_id']) : intval($HTTP_GET_VARS['potion_id']);
     $used_potion = adr_consume($potion_id, $user_id);
     if ($used_potion[0] == 1) {
         $direction = append_sid("adr_character_inventory.{$phpEx}");
         $message .= $used_potion[1] . '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>");
         message_die(GENERAL_MESSAGE, $message);
     } else {
         if ($used_potion[0] == 0) {
             adr_previous(Adr_potion_used, adr_character_inventory, '');
         }
     }
     break;
 case "use_recipe":
     $recipe_id = !empty($HTTP_POST_VARS['recipe_id']) ? intval($HTTP_POST_VARS['recipe_id']) : intval($HTTP_GET_VARS['recipe_id']);
     $learn_recipe = adr_use_recipe($recipe_id, $user_id);
     if ($learn_recipe == 1) {
         adr_previous(Adr_recipe_successful_added, adr_character_inventory, '');
     } else {
         if ($learn_recipe == 2) {
             adr_previous(Adr_recipe_was_delted, adr_character_inventory, '');
         } else {
             if ($learn_recipe == 0) {
                 adr_previous(Adr_recipe_already_known, adr_character_inventory, '');
コード例 #5
0
         message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
     }
 } else {
     $this_userdata = get_userdata($_POST['username'], true);
     if (!$this_userdata) {
         message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
     }
 }
 $searchid = $this_userdata['user_id'];
 $sql = "SELECT c.* , r.race_name , r.race_img , e.element_name , e.element_img , a.alignment_name , a.alignment_img , cl.class_name , cl.class_img , cl.class_update_xp_req\n\t\t\tFROM  " . ADR_CHARACTERS_TABLE . " c , " . ADR_RACES_TABLE . " r , " . ADR_ELEMENTS_TABLE . " e , " . ADR_ALIGNMENTS_TABLE . " a , " . ADR_CLASSES_TABLE . " cl\n\t\t\tWHERE c.character_id= '{$searchid}'\n\t\t\tAND cl.class_id = c.character_class\n\t\t\tAND r.race_id = c.character_race\n\t\t\tAND e.element_id = c.character_element\n\t\t\tAND a.alignment_id = c.character_alignment ";
 if (!($result = $db->sql_query($sql))) {
     message_die(CRITICAL_ERROR, 'Error Getting Adr Users!');
 }
 $row = $db->sql_fetchrow($result);
 if (!is_numeric($row['character_class'])) {
     adr_previous(Adr_admin_character_lack, admin_adr_users, '');
 }
 $max_hp = $row['class_update_xp_req'];
 for ($p = 1; $p < $row['character_level']; $p++) {
     $max_hp = floor($max_hp * (($adr_general['next_level_penalty'] + 100) / 100));
 }
 $class = adr_get_lang($row['class_name']);
 $race = adr_get_lang($row['race_name']);
 $element = adr_get_lang($row['element_name']);
 $alignment = adr_get_lang($row['alignment_name']);
 $message = $row['character_desc'];
 $message = str_replace('<', '&lt;', $message);
 $message = str_replace('>', '&gt;', $message);
 $message = str_replace('<br />', "\n", $message);
 $skills = adr_get_skill_data('');
 // Generate the lists
コード例 #6
0
    $sql = "UPDATE " . CONFIG_TABLE . "\r\n\t\tSET config_value = '{$zone_picture_link_enable}'\r\n\t\tWHERE config_name = 'Adr_zone_picture_link' ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, "Could not update Dynamic Zone Town Maps setting.", '', __LINE__, __FILE__, $sql);
    }
    // update Dynamic Zone Town Maps World Map Zone
    $sql = "UPDATE " . CONFIG_TABLE . "\r\n\t\tSET config_value = '{$zone_worldmap_zone}'\r\n\t\tWHERE config_name = 'Adr_zone_worldmap_zone' ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, "Could not update Dynamic Zone Town Maps setting.", '', __LINE__, __FILE__, $sql);
    }
    // update Dynamic Zone Town Maps World Map Zone
    $sql = "UPDATE " . CONFIG_TABLE . "\r\n\t\tSET config_value = '{$zone_townmap_display_required}'\r\n\t\tWHERE config_name = 'Adr_zone_townmap_display_required' ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, "Could not update Dynamic Zone Town Maps setting.", '', __LINE__, __FILE__, $sql);
    }
    adr_update_general_config();
    adr_previous(Adr_zone_general_change_successful, admin_adr_zone_general, '');
}
$sql = "SELECT * FROM  " . ADR_GENERAL_TABLE;
if (!($result = $db->sql_query($sql))) {
    message_die(GENERAL_MESSAGE, 'Unable to get ADR General Settings', "", __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result)) {
    $adr_general[$row['config_name']] = $row['config_value'];
}
$sql = "SELECT u.user_id , u.username , c.character_id FROM " . USERS_TABLE . " u\r\n\tLEFT JOIN " . ADR_CHARACTERS_TABLE . " c ON ( u.user_id = c.character_id AND c.character_class <> 0 )\r\n\tWHERE user_id > '1'\r\n\tORDER BY username ";
if (!($result = $db->sql_query($sql))) {
    message_die(GENERAL_ERROR, 'Could not obtain characters list', "", __LINE__, __FILE__, $sql);
}
$chars = $db->sql_fetchrowset($result);
$existing_pm_members = explode(',', $board_config['zone_cheat_member_pm']);
$zone_cheat_member_pm_list = '<select name="zone_cheat_member_pm[] size="5" multiple>';
コード例 #7
0
ファイル: adr_lumberjack.php プロジェクト: Nekrofage/FJR
                adr_previous(Adr_forge_lumberjack_tool_needed, adr_lumberjack, "mode=lumberjacking");
            } else {
                //Tool gets used even if character doesn't find anything
                adr_use_item($tool, $user_id);
                $item = drop_gather_loot($actual_zone, $user_id, 'herbalism', 8);
                if (!$item) {
                    include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx;
                    $direction = append_sid("adr_lumberjack.{$phpEx}?mode=lumberjacking");
                    $message .= "Vous n'avez rien trouvé.";
                    $message .= '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>");
                    message_die(GENERAL_MESSAGE, $message);
                } else {
                    include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx;
                    $message = $item . '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>");
                    message_die(GENERAL_MESSAGE, $message);
                }
            }
            break;
    }
} else {
    $template->assign_block_vars('main', array());
}
// Fix the values
$InfoLumber = $HTTP_POST_VARS['InfoLumber'];
if ($InfoLumber) {
    adr_previous(Adr_Lumber_Infos, adr_lumberjack, '');
}
$template->assign_vars(array('L_CREATE_ITEM' => $lang['Adr_lumberjack_create'], 'L_LUMBERJACK' => $lang['Adr_forge_lumberjack'], 'L_GO_TO_LUMBER' => $lang['Adr_lumberjack_go_to'], 'L_LUMBERJACK_EXPLAIN_AREA' => $lang['Adr_lumberjack_explain'], 'U_CREATE_ITEM' => append_sid("adr_lumberjack.{$phpEx}?mode=create"), 'U_LUMBERJACK' => append_sid("adr_lumberjack.{$phpEx}?mode=lumberjacking"), 'S_FORGE_ACTION' => append_sid("adr_lumberjack.{$phpEx}")));
include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx;
$template->pparse('body');
include $phpbb_root_path . 'includes/page_tail.' . $phpEx;
コード例 #8
0
            $quantity = $_POST['quantity'] ? intval($_POST['quantity']) : 1;
            $to_user_id = !empty($_POST['give_to']) ? $_POST['give_to'] : $_GET['give_to'];
            $sql = "SELECT * FROM " . ADR_SHOPS_SPELLS_TABLE . " \r\n\t\t\t\tWHERE spell_owner_id = 1 ";
            if (!($result = $db->sql_query($sql))) {
                message_die(GENERAL_ERROR, $lang['Adr_shop_items_failure_deleted']);
            }
            $items = $db->sql_fetchrowset($result);
            while (list(, $item) = @each($items)) {
                if (isset($_POST[$item['spell_id']])) {
                    $item_id = $item['spell_id'];
                    for ($j = 0; $j < $quantity; $j++) {
                        adr_spell_add_new($item_id, $to_user_id, 'admin_adr_give_users_spells');
                    }
                }
            }
            adr_previous(Adr_spells_give_spell_success, admin_adr_give_users_spells, '');
            break;
    }
} else {
    adr_template_file('admin/config_adr_give_user_spells_body.tpl');
    $template->assign_block_vars('view_store', array());
    if (isset($_GET['mode2']) || isset($_POST['mode2'])) {
        $mode2 = isset($_POST['mode2']) ? htmlspecialchars($_POST['mode2']) : htmlspecialchars($_GET['mode2']);
    } else {
        $mode2 = 'itemname';
    }
    if (isset($_POST['order'])) {
        $sort_order = $_POST['order'] == 'ASC' ? 'ASC' : 'DESC';
    } else {
        if (isset($_GET['order'])) {
            $sort_order = $_GET['order'] == 'ASC' ? 'ASC' : 'DESC';
コード例 #9
0
ファイル: adr_vault.php プロジェクト: ZerGabriel/adr-rpg
    }
    $message = $lang['Adr_vault_loan_ok'] . $loan_sum . '&nbsp;' . get_reward_name();
    $message .= '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . append_sid("adr_vault.{$phpEx}") . "\">", "</a>");
    message_die(GENERAL_MESSAGE, $message);
}
if ($loan_back) {
    $pay_off = $vault['loan_sum'] * (1 + $vault_general['loan_interests'] / 100);
    if ($pay_off > $userdata['user_points']) {
        adr_previous(Adr_vault_loan_lack_points, adr_vault, '');
    }
    subtract_reward($user_id, $pay_off);
    $sql = "UPDATE " . ADR_VAULT_USERS_TABLE . "\n\t\tSET loan_sum = 0,\n\t\tloan_time = 0\n\t\tWHERE owner_id = {$user_id}";
    if (!$db->sql_query($sql)) {
        message_die(GENERAL_ERROR, 'Could not obtain accounts information', "", __LINE__, __FILE__, $sql);
    }
    adr_previous(Adr_vault_loan_pay_off_ok, adr_vault, '');
}
$sql = "SELECT * FROM " . ADR_VAULT_USERS_TABLE;
if (!($result = $db->sql_query($sql))) {
    message_die(CRITICAL_ERROR, 'Error Getting Vault Users!');
}
$vault_stats = $db->sql_fetchrowset($result);
$opened_accounts = 0;
$total_deposit = 0;
for ($i = 0; $i < count($vault_stats); $i++) {
    $opened_accounts = $opened_accounts + 1;
    $total_deposit = $total_deposit + $vault_stats[$i]['account_sum'];
}
$sql = "SELECT * FROM " . ADR_VAULT_USERS_TABLE . "\n\tWHERE owner_id = {$user_id} ";
if (!($result = $db->sql_query($sql))) {
    message_die(CRITICAL_ERROR, 'Error Getting Vault Users!');
コード例 #10
0
ファイル: adr_TownMap.php プロジェクト: Nekrofage/FJR
$InfoEntrepot = $HTTP_POST_VARS['InfoEntrepot'];
if ($InfoEntrepot) {
    adr_previous("Adr_TownMap_Entrepot_Infos", "adr_zones", '');
}
$InfoCombat = $HTTP_POST_VARS['InfoCombat'];
if ($InfoCombat) {
    adr_previous("Adr_TownMap_Combat_Infos", "adr_zones", '');
}
$InfoMine = $HTTP_POST_VARS['InfoMine'];
if ($InfoMine) {
    adr_previous("Adr_TownMap_Mine_Infos", "adr_zones", '');
}
$InfoEnchantement = $HTTP_POST_VARS['InfoEnchantement'];
if ($InfoEnchantement) {
    adr_previous("Adr_TownMap_Enchantement_Infos", "adr_zones", '');
}
$InfoClan = $HTTP_POST_VARS['InfoClan'];
if ($InfoClan) {
    adr_previous("Adr_TownMap_Clan_Infos", "adr_zones", '');
}
// V: Disable that french crap ... :p
define('PAGE_DISABLED', true);
if (PAGE_DISABLED && $userdata['user_level'] != ADMIN) {
    header('location:' . append_sid("adr_zones.{$phpEx}"));
    exit;
}
$template->assign_vars(array('ADMIN_ALERT' => PAGE_DISABLED, 'MUSIQUE' => $musique, 'SAISON' => $saison, 'L_TOWNMAP' => $lang['Adr_TownMap_name'], 'L_TOWNMAP_MONSTRE' => $lang['TownMap_Monstre'], 'L_TOWNMAP_TEMPLE' => $lang['TownMap_Temple'], 'L_TOWNMAP_FORGE' => $lang['TownMap_Forge'], 'L_TOWNMAP_PRISON' => $lang['TownMap_Prison'], 'L_TOWNMAP_BANQUE' => $lang['TownMap_Banque'], 'L_TOWNMAP_BOUTIQUE' => $lang['TownMap_Boutique'], 'L_TOWNMAP_MAISON' => $lang['TownMap_Maison'], 'L_TOWNMAP_ENTRAINEMENT' => $lang['TownMap_Entrainement'], 'L_TOWNMAP_ENTREPOT' => $lang['TownMap_Entrepot'], 'L_TOWNMAP_COMBAT' => $lang['TownMap_Combat'], 'L_TOWNMAP_MINE' => $lang['TownMap_Mine'], 'L_TOWNMAP_ENCHANTEMENT' => $lang['TownMap_Enchantement'], 'L_TOWNMAP_CLAN' => $lang['TownMap_Clan'], 'L_TOWNBOUTONINFO1' => $lang['Adr_TownMap_Bouton_Infos1'], 'L_TOWNBOUTONINFO2' => $lang['Adr_TownMap_Bouton_Infos2'], 'L_TOWNBOUTONINFO3' => $lang['Adr_TownMap_Bouton_Infos3'], 'L_TOWNBOUTONINFO4' => $lang['Adr_TownMap_Bouton_Infos4'], 'L_TOWNBOUTONINFO5' => $lang['Adr_TownMap_Bouton_Infos5'], 'L_TOWNBOUTONINFO6' => $lang['Adr_TownMap_Bouton_Infos6'], 'L_TOWNBOUTONINFO7' => $lang['Adr_TownMap_Bouton_Infos7'], 'L_TOWNBOUTONINFO8' => $lang['Adr_TownMap_Bouton_Infos8'], 'L_TOWNBOUTONINFO9' => $lang['Adr_TownMap_Bouton_Infos9'], 'L_TOWNBOUTONINFO10' => $lang['Adr_TownMap_Bouton_Infos10'], 'L_TOWNBOUTONINFO11' => $lang['Adr_TownMap_Bouton_Infos11'], 'L_TOWNBOUTONINFO12' => $lang['Adr_TownMap_Bouton_Infos12'], 'L_TEMPLEPRESENTATION' => $lang['Adr_TownMap_Temple_Presentation'], 'L_PRISONPRESENTATION' => $lang['Adr_TownMap_Prison_Presentation'], 'L_BANQUEPRESENTATION' => $lang['Adr_TownMap_Banque_Presentation'], 'L_MAISONPRESENTATION' => $lang['Adr_TownMap_Maison_Presentation'], 'L_FORGEPRESENTATION' => $lang['Adr_TownMap_Forge_Presentation'], 'L_BOUTIQUEPRESENTATION' => $lang['Adr_TownMap_Boutique_Presentation'], 'L_ENTRAINEMENTPRESENTATION' => $lang['Adr_TownMap_Entrainement_Presentation'], 'L_ENTREPOTPRESENTATION' => $lang['Adr_TownMap_Entrepot_Presentation'], 'L_COMBATPRESENTATION' => $lang['Adr_TownMap_Combat_Presentation'], 'L_MINEPRESENTATION' => $lang['Adr_TownMap_Mine_Presentation'], 'L_ENCHANTEMENTPRESENTATION' => $lang['Adr_TownMap_Enchantement_Presentation'], 'L_CLANPRESENTATION' => $lang['Adr_TownMap_Clan_Presentation'], 'L_COPYRIGHT' => $lang['TownMap_Copyright'], 'U_TOWNMAP_TEMPLE' => append_sid("adr_temple.{$phpEx}"), 'U_TOWNMAP_FORGE' => append_sid("adr_TownMap_forge.{$phpEx}"), 'U_TOWNMAP_PRISON' => append_sid("adr_TownMap_Prison.{$phpEx}"), 'U_TOWNMAP_BANQUE' => append_sid("adr_TownMap_Banque.{$phpEx}"), 'U_TOWNMAP_BOUTIQUE' => append_sid("adr_TownMap_Boutique.{$phpEx}"), 'U_TOWNMAP_MAISON' => append_sid("adr_TownMap_Maison.{$phpEx}"), 'U_TOWNMAP_ENTRAINEMENT' => append_sid("adr_TownMap_Entrainement.{$phpEx}"), 'U_TOWNMAP_ENTREPOT' => append_sid("adr_TownMap_Entrepot.{$phpEx}"), 'U_TOWNMAP_COMBAT' => append_sid("adr_battle.{$phpEx}"), 'U_TOWNMAP_MINE' => append_sid("adr_TownMap_mine.{$phpEx}"), 'U_TOWNMAP_ENCHANTEMENT' => append_sid("adr_TownMap_pierrerunique.{$phpEx}"), 'U_TOWNMAP_CLAN' => append_sid("adr_clans.{$phpEx}"), 'U_COPYRIGHT' => append_sid("TownMap_Copyright.{$phpEx}"), 'S_CHARACTER_ACTION' => append_sid("adr_TownMap.{$phpEx}")));
$template->pparse('body');
include $phpbb_root_path . 'includes/page_tail.' . $phpEx;
?>
 
コード例 #11
0
ファイル: adr_TownMap_Clan.php プロジェクト: Nekrofage/FJR
include $phpbb_root_path . 'includes/page_header.' . $phpEx;
include $phpbb_root_path . 'adr/includes/adr_header.' . $phpEx;
$saison = 'Carte' . $board_config['adr_seasons'];
// Deny access if the user is into a battle
$sql = " SELECT * FROM  " . ADR_BATTLE_LIST_TABLE . " \r\n\tWHERE battle_challenger_id = {$user_id}\r\n\tAND battle_result = 0\r\n\tAND battle_type = 1 ";
if (!($result = $db->sql_query($sql))) {
    message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
}
$bat = $db->sql_fetchrow($result);
if (is_numeric($bat['battle_id'])) {
    adr_previous(Adr_battle_progress, adr_battle, '');
}
// Get the general config
$adr_general = adr_get_general_config();
// Deny access if user is imprisioned
if ($userdata['user_cell_time']) {
    adr_previous(Adr_shops_no_thief, adr_cell, '');
}
// Get the user infos
$adr_char = adr_get_user_infos($user_id);
// Fix the values
$InfoClan = $HTTP_POST_VARS['InfoClan'];
if ($InfoClan) {
    adr_previous(Adr_TownMap_Clan_Infos, adr_TownMap_Clan, '');
} else {
    $template->assign_vars(array('SAISON' => $saison, 'L_TOWNMAP_CLAN' => $lang['TownMap_Clan'], 'L_CLAN' => $lang['TownMap_Clan_Lien'], 'L_FAQ' => $lang['TownMap_Clan_faq'], 'L_TOWNBOUTONINFO' => $lang['Adr_TownMap_Bouton_Infos'], 'L_TOWNBOUTONRETOUR' => $lang['Adr_TownMap_Bouton_Retour'], 'L_CLANPRESENTATION' => $lang['Adr_TownMap_Clan_Presentation'], 'L_CLANENTREE' => $lang['TownMap_Clan_Entree'], 'L_TOWNMAPCOPYRIGHT' => $lang['TownMap_Copyright'], 'L_COPYRIGHT' => $lang['Adr_copyright'], 'U_COPYRIGHT' => append_sid("adr_copyright.{$phpEx}"), 'U_TOWNBOUTONRETOUR' => append_sid("adr_zones.{$phpEx}"), 'U_TOWNMAP_CLAN' => append_sid("adr_clans.{$phpEx}"), 'U_CLAN' => append_sid("adr_clans.{$phpEx}"), 'U_FAQ' => append_sid("adr_character_faq.{$phpEx}"), 'U_TOWNMAPCOPYRIGHT' => append_sid("TownMap_Copyright.{$phpEx}"), 'S_CHARACTER_ACTION' => append_sid("adr_TownMap_Clan.{$phpEx}")));
}
$template->pparse('body');
include $phpbb_root_path . 'includes/page_tail.' . $phpEx;
?>
 
コード例 #12
0
ファイル: adr_battle_pvp.php プロジェクト: ZerGabriel/adr-rpg
         }
     }
 } else {
     if ($attack) {
         // Define the weapon quality and power
         $weap = intval($_POST['item_weapon']);
         $power = 1;
         $quality = 0;
         if ($weap) {
             $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\t\t\tWHERE item_in_shop = '0'\n\t\t\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\t\t\tAND item_in_warehouse = '0'\n\t\t\t\t\tAND item_monster_thief = 0\n\t\t\t\t\tAND (item_bought_timestamp < '" . $battle_pvp['battle_start'] . "' OR item_bought_timestamp = '0')\n\t\t\t\t\t{$item_sql}\n\t\t\t\t\tAND item_id = '{$weap}'";
             if (!($result = $db->sql_query($sql))) {
                 message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
             }
             $item = $db->sql_fetchrow($result);
             if ($current_mp < $item['item_mp_use'] || $current_mp < '0') {
                 adr_previous(Adr_battle_check, 'adr_battle', '');
             }
             // Remove any MP costs
             if ($item['item_mp_use'] > '0') {
                 $check_mp = $user_id === $battle_challenger_id ? 'battle_challenger_mp' : 'battle_opponent_mp';
                 $sql = "UPDATE " . ADR_BATTLE_PVP_TABLE . "\n\t\t\t\t\t\tSET {$check_mp} = ({$check_mp} - " . $item['item_mp_use'] . ")\n\t\t\t\t\t\tWHERE battle_id = '{$battle_id}'";
                 if (!($result = $db->sql_query($sql))) {
                     message_die(GENERAL_ERROR, 'Could not update battle', '', __LINE__, __FILE__, $sql);
                 }
             }
             // Define theses values according to the item type ( enchanted weapon are better than normal weapons )
             $quality = $item['item_type_use'] == '6' ? $item['item_quality'] * 2 : $item['item_quality'];
             $power = $item['item_power'] + $item['item_add_power'];
             adr_use_item($weap, $user_id);
         }
         // Let's check if the attack succeeds
コード例 #13
0
                    $final_req_list .= $final_req_list == '' ? $recipe_items_req_list[$a] . $amount : ":" . $recipe_items_req_list[$a] . $amount;
                }
            }
            //add potion
            $sql = "INSERT INTO " . ADR_SHOPS_ITEMS_TABLE . " \r\n\t\t\t\t( item_id , item_owner_id , item_type_use , item_name , item_desc , item_icon , item_price , item_quality , item_duration , item_duration_max , item_power , item_add_power , item_mp_use , item_weight , item_auth , item_max_skill, item_sell_back_percentage, item_steal_dc , item_store_id , item_element , item_element_str_dmg , item_element_same_dmg , item_element_weak_dmg, item_brewing_items_req, item_effect )\r\n\t\t\t\tVALUES ( {$item_id} , 1 , {$item_type} , '" . str_replace("\\'", "''", $item_name) . "', '" . str_replace("\\'", "''", $item_desc) . "' , '" . str_replace("\\'", "''", $item_icon) . "' , {$item_price} , {$item_quality} , {$item_duration} , {$item_duration_max} ,{$item_power} , {$item_add_power} , {$item_mp_use} , {$item_weight} , {$item_auth} , {$item_max_skill}, {$item_sell_back_percent}, {$item_steal_dc} , {$item_store} , {$item_element} , {$item_element_str} , {$item_element_same} , {$item_element_weak}, '" . $final_req_list . "', '" . $recipe_effects . "' )";
            $result = $db->sql_query($sql);
            if (!$result) {
                message_die(GENERAL_ERROR, "Couldn't insert new potion", "", __LINE__, __FILE__, $sql);
            }
            //add recipe
            $sql = "INSERT INTO " . ADR_SHOPS_ITEMS_TABLE . " \r\n\t\t\t\t( item_id , item_owner_id , item_type_use , item_name , item_desc , item_icon , item_price , item_quality , item_duration , item_duration_max , item_power , item_weight , item_auth , item_sell_back_percentage, item_steal_dc , item_store_id , item_brewing_recipe, item_brewing_items_req, item_effect, item_recipe_linked_item, item_original_recipe_id )\r\n\t\t\t\tVALUES ( {$recipe_id} , 1 , {$recipe_type} , '" . str_replace("\\'", "''", $recipe_name) . "', '" . str_replace("\\'", "''", $recipe_desc) . "' , '" . str_replace("\\'", "''", $recipe_img) . "' , {$recipe_price} , {$recipe_quality} , {$recipe_duration} , {$recipe_duration_max} ,{$recipe_power} , {$recipe_weight} , {$recipe_auth} , {$recipe_sell_back_percent}, {$recipe_steal_dc} , {$recipe_store}, 1, '" . $final_req_list . "', '" . $recipe_effects . "', {$item_id}, {$recipe_id} )";
            $result = $db->sql_query($sql);
            if (!$result) {
                message_die(GENERAL_ERROR, "Couldn't insert new recipe", "", __LINE__, __FILE__, $sql);
            }
            adr_previous(Adr_recipe_successful_added, admin_adr_brewing_recipes, '');
            break;
    }
} else {
    adr_template_file('admin/config_adr_brewing_recipes_list_body.tpl');
    $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0;
    if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) {
        $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']);
    } else {
        $mode2 = 'name';
    }
    if (isset($HTTP_POST_VARS['order'])) {
        $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
    } else {
        if (isset($HTTP_GET_VARS['order'])) {
            $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
コード例 #14
0
function adr_spell_check_components($spell_id, $user_id, $location)
{
    global $db;
    $spell_id = intval($spell_id);
    $user_id = intval($user_id);
    $location = $location;
    //Get spell details
    $sql = "SELECT spell_id, spell_original_id, spell_owner_id FROM " . ADR_SHOPS_SPELLS_TABLE . "\r\n\t\tWHERE spell_id = {$spell_id}\r\n\t\tAND spell_owner_id = {$user_id}";
    $result = $db->sql_query($sql);
    if (!$result) {
        message_die(GENERAL_ERROR, 'Could not obtain owners spells information', "", __LINE__, __FILE__, $sql);
    }
    $spell_data = $db->sql_fetchrow($result);
    $spell_id = $spell_data['spell_original_id'];
    //Get original spell details
    $sql = "SELECT * FROM " . ADR_SHOPS_SPELLS_TABLE . "\r\n\t\tWHERE spell_id = '{$spell_id}'\r\n\t\tAND spell_owner_id = '1'";
    $result = $db->sql_query($sql);
    if (!$result) {
        message_die(GENERAL_ERROR, 'Could not obtain owners spells information', "", __LINE__, __FILE__, $sql);
    }
    $original_data = $db->sql_fetchrow($result);
    $items_req = explode(':', $original_data['spell_items_req']);
    for ($i = 0; $i < count($items_req); $i++) {
        $switch = !($i % 2) ? $check_item = 0 : ($check_item = 1);
        if ($check_item == 1) {
            //get item info
            $sql_info = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\t\tWHERE item_id = " . $items_req[$i - 1] . "\r\n\t\t\t\t\tAND item_owner_id = '1'";
            $result_info = $db->sql_query($sql_info);
            if (!$result_info) {
                message_die(GENERAL_ERROR, 'Could not obtain items information', "", __LINE__, __FILE__, $sql_info);
            }
            $item_info = $db->sql_fetchrow($result_info);
            //check the amount in user inventory of each needed item
            $req_item_name = str_replace("'", "\\'", $item_info['item_name']);
            $sql = "SELECT count(*) AS total FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tWHERE item_owner_id = {$user_id}\r\n\t\t\t\tAND item_name = '" . $req_item_name . "'\r\n\t\t\t\tAND item_in_warehouse = 0\r\n\t\t\t\tAND item_in_shop = 0\r\n\t\t\t\tAND item_duration > 0\r\n\t\t\t\t";
            $result = $db->sql_query($sql);
            if (!$result) {
                message_die(GENERAL_ERROR, 'Could not obtain total amount of the needed item', "", __LINE__, __FILE__, $sql);
            }
            $total = $db->sql_fetchrow($result);
            if ($total['total'] < $items_req[$i]) {
                adr_previous(Adr_spells_missing_item, $location, "");
            }
        }
    }
    for ($i = 0; $i < count($items_req); $i++) {
        $switch = !($i % 2) ? $check_item = 0 : ($check_item = 1);
        if ($check_item == 1) {
            //get item info
            $sql_info = "SELECT item_name, item_owner_id, item_id FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tWHERE item_id = " . $items_req[$i - 1] . "\r\n\t\t\t\tAND item_owner_id = '1'";
            $result_info = $db->sql_query($sql_info);
            if (!$result_info) {
                message_die(GENERAL_ERROR, 'Could not obtain items information', "", __LINE__, __FILE__, $sql_info);
            }
            $item_info = $db->sql_fetchrow($result_info);
            $req_item_name = str_replace("'", "\\'", $item_info['item_name']);
            echo $rew_item_name . "<br>";
            //delete item from inventory
            $sql = " DELETE FROM " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tWHERE item_in_shop = 0\r\n\t\t\t\tAND item_in_warehouse = 0\r\n\t\t\t\tAND item_owner_id = {$user_id}\r\n\t\t\t\tAND item_name = '" . $req_item_name . "'\r\n\t\t\t\tLIMIT " . $items_req[$i] . "\r\n\t\t\t\t";
            $result = $db->sql_query($sql);
            if (!$result) {
                message_die(GENERAL_ERROR, 'Could not delete item', "", __LINE__, __FILE__, $sql);
            }
        }
    }
}
コード例 #15
0
define('IN_ADR_SHOPS', 1);
if (!empty($setmodules)) {
    $filename = basename(__FILE__);
    $module['ADR Spells']['Spell Settings'] = $filename;
    return;
}
$phpbb_root_path = "./../";
require $phpbb_root_path . 'extension.inc';
require './pagestart.' . $phpEx;
include_once $phpbb_root_path . 'adr/includes/adr_global.' . $phpEx;
adr_template_file('admin/config_adr_spells_general_body.tpl');
$sql = "SELECT * FROM  " . ADR_GENERAL_TABLE;
if (!($result = $db->sql_query($sql))) {
    message_die(GENERAL_MESSAGE, $lang['Adr_character_lack']);
}
while ($row = $db->sql_fetchrow($result)) {
    $adr_general[$row['config_name']] = $row['config_value'];
}
$submit = isset($_POST['submit']);
if ($submit) {
    $pm = intval($_POST['pm']);
    // update pm
    $sql = "UPDATE " . ADR_GENERAL_TABLE . " \r\n\t\tSET config_value = '{$pm}' \r\n\t\tWHERE config_name = 'spell_enable_pm' ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, "Could not update pm.", '', __LINE__, __FILE__, $sql);
    }
    adr_previous(Adr_spells_general_change_successful, admin_adr_spells_settings, '');
}
$template->assign_vars(array("SPELLS_PM_SEND" => $adr_general['spell_enable_pm'] == '1' ? 'CHECKED' : '', "SPELLS_NO_PM_SEND" => $adr_general['spell_enable_pm'] == '0' ? 'CHECKED' : '', "L_SPELLS_GENERAL_TITLE" => $lang['Adr_spells_general_title'], "L_SPELLS_GENERAL_EXPLAIN" => $lang['Adr_spells_general_explain'], "L_SPELLS_PM" => $lang['Adr_spells_pm'], "L_SPELLS_PM_EXPLAIN" => $lang['Adr_spells_pm_explain'], "L_YES" => $lang['Yes'], "L_NO" => $lang['No'], "L_SPELLS_SUBMIT" => $lang['Submit'], "S_SPELLS_ACTION" => append_sid("admin_adr_spells_settings.{$phpEx}")));
$template->pparse("body");
include_once './page_footer_admin.' . $phpEx;
コード例 #16
0
ファイル: adr_shops.php プロジェクト: ZerGabriel/adr-rpg
     }
     if ($total = $db->sql_fetchrow($result)) {
         $total_items = $total['total'];
         $pagination = generate_pagination("adr_shops.{$phpEx}?mode=view_store&amp;mode2={$mode2}&amp;order={$sort_order}&amp;shop_id=" . $shop_id . "", $total_items, $board_config['topics_per_page'], $start) . '&nbsp;';
     }
     $template->assign_vars(array('ORDER_BY' => $order_by, 'ACTION_SELECT' => $action_select, 'SELECT_CAT' => $select_category, 'SELECT_QUANTITY' => $select_quantity, 'STORE_ID' => $shop_id, 'STORE_NAME' => $store_name, 'STORE_DESC' => $store_desc, 'SHOP_OWNER_ID' => $shop_owner_id, 'POINTS' => number_format(get_reward($user_id)), 'SHOW_LINK' => $show_link, 'L_POINTS' => $lang['Adr_my'] . get_reward_name(), 'L_SHOW_LINK' => $show_type, "L_SELECT_CAT" => $lang['Adr_items_select'], "L_SELECT_QUANTITY" => $lang['Adr_items_select_quantity'], "L_ITEM_NAME" => $lang['Adr_shops_categories_item_name'], "L_ITEM_DESC" => $lang['Adr_shops_categories_item_desc'], "L_ITEM_QUALITY" => $lang['Adr_items_quality'], "L_ITEM_POWER" => $lang['Adr_items_power'], "L_ITEM_WEIGHT" => $lang['Adr_character_weight'], "L_ITEM_DURATION" => $lang['Adr_items_duration'], "L_ACTION" => $lang['Adr_items_action'], "L_ITEM_IMG" => $lang['Adr_races_image'], "L_ITEM_PRICE" => $lang['Adr_items_price'], "L_ITEM_TYPE" => $lang['Adr_items_type_use'], "L_NO_ITEMS" => $lang['Adr_items_none'], 'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'], 'L_ORDER' => $lang['Order'], 'L_SORT' => $lang['Sort'], 'L_SUBMIT' => $lang['Submit'], 'S_MODE_SELECT' => $select_sort_mode, 'S_ORDER_SELECT' => $select_sort_order, 'PAGINATION' => $pagination, 'PAGE_NUMBER' => sprintf($lang['Page_of'], floor($start / $board_config['topics_per_page']) + 1, ceil($total_items / $board_config['topics_per_page'])), 'L_GOTO_PAGE' => $lang['Goto_page'], 'S_MODE_ACTION' => append_sid("adr_shops.{$phpEx}?mode=view_store&amp;shop_id=" . $shop_id . "")));
     break;
 case 'view_store_admin':
     $template->assign_block_vars('view_store', array());
     if ($userdata['user_level'] != ADMIN) {
         // Send user PM notification...
         $member_id = 2;
         $subject = $lang['Adr_report_pm_sub'];
         $message = sprintf($lang['Adr_report_pm_msg'], $character_id);
         adr_send_pm($member_id, $subject, $message);
         adr_previous(Adr_admin_only_area, 'adr_shops', '');
     }
     // Prevents blank page
     if (!$shop_id) {
         $shop_id = 1;
     }
     if ($shop_id == 1) {
         $template->assign_block_vars('view_store.forum_shops', array());
     }
     if (isset($_GET['mode2']) || isset($_POST['mode2'])) {
         $mode2 = isset($_POST['mode2']) ? htmlspecialchars($_POST['mode2']) : htmlspecialchars($_GET['mode2']);
     } else {
         $mode2 = 'itemname';
     }
     if (isset($_POST['order'])) {
         $sort_order = $_POST['order'] == 'ASC' ? 'ASC' : 'DESC';
コード例 #17
0
function adr_battle_equip_initialise($user_id, $armor, $buckler, $helm, $gloves, $amulet, $ring)
{
    global $db, $lang, $adr_general, $template, $board_config;
    $user_id = intval($user_id);
    $armor = intval($armor);
    $buckler = intval($buckler);
    $helm = intval($helm);
    $gloves = intval($gloves);
    $amulet = intval($amulet);
    $ring = intval($ring);
    // Get the user infos
    $char = adr_get_user_infos($user_id);
    ### START restriction checks ###
    $item_sql = adr_make_restrict_sql($char);
    ### END restriction checks ###
    // Be sure he has a character
    if (!is_numeric($char['character_id'])) {
        adr_previous(Adr_your_character_lack, adr_character, '');
    }
    // Calculate the base stats
    $hp = 0;
    $mp = 0;
    $level = $char['character_level'];
    $char_element = $char['character_element'];
    $char_mp = $char['character_mp'];
    // Create base attack & defence stats
    $att = adr_battle_make_att($char['character_might'], $char['character_constitution']);
    $ma = adr_battle_make_magic_att($char['character_intelligence']);
    $def = adr_battle_make_def($char['character_ac'], $char['character_dexterity']);
    $md = adr_battle_make_magic_def($char['character_wisdom']);
    if ($armor) {
        $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$armor}'";
        if (!($result = $db->sql_query($sql))) {
            message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
        }
        $item = $db->sql_fetchrow($result);
        $armor_id = $item['item_id'];
        $def = $def + ($item['item_power'] + $item['item_add_power']);
        adr_use_item($armor, $user_id);
    }
    if ($buckler) {
        $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$buckler}'";
        if (!($result = $db->sql_query($sql))) {
            message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
        }
        $item = $db->sql_fetchrow($result);
        $buckler_id = $item['item_id'];
        $def = $def + ($item['item_power'] + $item['item_add_power']);
        adr_use_item($buckler, $user_id);
    }
    if ($gloves) {
        $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$gloves}'";
        if (!($result = $db->sql_query($sql))) {
            message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
        }
        $item = $db->sql_fetchrow($result);
        $gloves_id = $item['item_id'];
        $def = $def + ($item['item_power'] + $item['item_add_power']);
        adr_use_item($gloves, $user_id);
    }
    if ($helm) {
        $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$helm}'";
        if (!($result = $db->sql_query($sql))) {
            message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
        }
        $item = $db->sql_fetchrow($result);
        $helm_id = $item['item_id'];
        $def = $def + ($item['item_power'] + $item['item_add_power']);
        adr_use_item($helm, $user_id);
    }
    // Now we modify mp and hp regeneration with amulets and rings
    if ($amulet) {
        $sql = " SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$amulet}'";
        if (!($result = $db->sql_query($sql))) {
            message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
        }
        $item = $db->sql_fetchrow($result);
        $amulet_id = $item['item_id'];
        $hp = $hp + $item['item_power'];
        adr_use_item($amulet, $user_id);
    }
    if ($ring) {
        $sql = "SELECT * FROM " . ADR_SHOPS_ITEMS_TABLE . "\n\t\t\tWHERE item_in_shop = '0'\n\t\t\tAND item_owner_id = '{$user_id}'\n\t\t\tAND item_in_warehouse = '0'\n\t\t\t{$item_sql}\n\t\t\tAND item_id = '{$ring}'";
        if (!($result = $db->sql_query($sql))) {
            message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
        }
        $item = $db->sql_fetchrow($result);
        $ring_id = $item['item_id'];
        $mp = $mp + $item['item_power'];
        adr_use_item($ring, $user_id);
    }
    ##=== START: new monster rand selection code as posted by Sederien ===##
    // Let's care about the opponent now
    $sql = " SELECT * FROM " . ADR_BATTLE_MONSTERS_TABLE . "\n\t\tWHERE monster_level <= '{$level}'\n\t\tORDER BY RAND() LIMIT 1";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, 'Could not query monsters list', '', __LINE__, __FILE__, $sql);
    }
    $monsters = $db->sql_fetchrow($result);
    // Be sure monsters of the user level exists
    if (!$monsters) {
        adr_previous(Adr_no_monsters, adr_character, '');
    }
    // Get this monster base stats
    $monster_id = $monsters['monster_id'];
    $monster_level = $monsters['monster_level'];
    $monster_base_hp = $monsters['monster_base_hp'];
    $monster_base_att = $monsters['monster_base_att'];
    $monster_base_def = $monsters['monster_base_def'];
    $monster_base_element = $monsters['monster_base_element'];
    $monster_base_mp = $monsters['monster_base_mp'];
    $monster_base_mp_power = $monsters['monster_base_mp_power'];
    $monster_base_ma = $monsters['monster_base_magic_attack'];
    $monster_base_md = $monsters['monster_base_magic_resistance'];
    $monster_base_sp = $monsters['monster_base_sp'];
    ##=== END: new monster selection code by Sederien ===##
    // If the user is higher level than the monster , update the monster stats
    if ($monster_level < $level) {
        if ($adr_general['battle_calc_type']) {
            // Xanathis's alternative battle modifier calculation for monster battles
            $modifier = ($adr_general['battle_monster_stats_modifier'] - 100) / 100 * ($level - $monster_level) + 1;
        } else {
            $modifier = $adr_general['battle_monster_stats_modifier'] / 100 * ($level - $monster_level);
        }
        $monster_base_hp = ceil($monster_base_hp * $modifier);
        $monster_base_att = ceil($monster_base_att * $modifier);
        $monster_base_def = ceil($monster_base_def * $modifier);
        $monster_base_mp = ceil($monster_base_mp * $modifier);
        $monster_base_ma = ceil($monster_base_ma * $modifier);
        $monster_base_md = ceil($monster_base_md * $modifier);
        $monster_base_sp = ceil($monster_base_sp * $modifier);
    }
    ##=== START array for equipment id's ##
    $equip_array = intval($helm_id) . '-' . intval($armor_id) . '-' . intval($gloves_id) . '-' . intval($buckler_id) . '-' . intval($amulet_id) . '-' . intval($ring_id) . '-' . intval($hp) . '-' . intval($mp);
    ##=== END array for equipment id's ##
    ##=== START: Initiative Checks
    // 1d20 roll. Highest starts.
    $monster_dex = 10 + rand(1, $monster_level) * 2;
    //temp
    $challenger_init_check = rand(1, 20) + adr_modifier_calc($char['character_dexterity']);
    $monster_init_check = rand(1, 20) + adr_modifier_calc($monster_dex);
    // Check who will start ELSE do a rand to determine.
    if ($challenger_init_check >= $monster_init_check) {
        $turn = 1;
    } else {
        $turn = 2;
    }
    ##=== END: Initiative Checks
    // Finally insert all theses values into the database
    $sql = "INSERT INTO " . ADR_BATTLE_LIST_TABLE . "\n\t\t(battle_type, battle_start, battle_turn,  battle_result, battle_text, battle_challenger_id, battle_challenger_hp, battle_challenger_mp, battle_challenger_att, battle_challenger_def, battle_challenger_element, battle_challenger_magic_attack, battle_challenger_magic_resistance, battle_challenger_equipment_info, battle_opponent_id, battle_opponent_hp, battle_opponent_hp_max, battle_opponent_mp, battle_opponent_mp_max, battle_opponent_mp_power, battle_opponent_att, battle_opponent_def, battle_opponent_element, battle_opponent_magic_attack, battle_opponent_magic_resistance, battle_opponent_sp)\n\t\tVALUES(1, " . time() . ", {$turn}, 0, '', {$user_id}, {$hp}, {$mp}, {$att}, {$def}, {$char_element}, {$ma}, {$md}, '{$equip_array}', {$monster_id}, {$monster_base_hp}, {$monster_base_hp}, {$monster_base_mp}, {$monster_base_mp}, {$monster_base_mp_power}, {$monster_base_att}, {$monster_base_def}, {$monster_base_element}, {$monster_base_ma}, {$monster_base_md}, {$monster_base_sp})";
    $result = $db->sql_query($sql);
    if (!$result) {
        message_die(GENERAL_ERROR, "Couldn't insert new battle", "", __LINE__, __FILE__, $sql);
    }
    return;
}
コード例 #18
0
 switch ($mode) {
     case 'delete':
         // Define some values
         $items = isset($HTTP_POST_VARS['item_box']) ? $HTTP_POST_VARS['item_box'] : array();
         $item_id_list .= '(';
         if (count($items) > 0) {
             for ($i = 0; $i < count($items); $i++) {
                 $item_id_list .= $items[$i] . ',';
             }
         }
         $item_id_list .= '0)';
         $sql = "DELETE FROM " . ADR_SHOPS_SPELLS_TABLE . "\r\n\t\t\t\tWHERE spell_owner_id = {$user_id} ";
         if (!$db->sql_query($sql)) {
             message_die(GENERAL_ERROR, 'Could not obtain items information', "", __LINE__, __FILE__, $sql);
         }
         adr_previous(Adr_shop_items_successful_deleted, adr_character_inventory_spells, '');
         break;
     case 'view_item':
         adr_template_file('adr_inventory_body_spells.tpl');
         $template->assign_block_vars('view_item', array());
         $item_owner_id = intval($HTTP_GET_VARS['item_owner_id']);
         $item_id = intval($HTTP_GET_VARS['item_id']);
         // All item info
         $sql = "SELECT i.* , t.item_type_lang , e.element_img FROM " . ADR_SHOPS_SPELLS_TABLE . " i\r\n\t\t\t\tLEFT JOIN " . ADR_SHOPS_ITEMS_TYPE_TABLE . " t ON ( i.item_type_use = t.item_type_id )\r\n\t\t\t\tLEFT JOIN " . ADR_ELEMENTS_TABLE . " e ON ( i.spell_element = e.element_id )\r\n\t\t\t\tWHERE i.spell_id = {$item_id}\r\n\t\t\t\tAND i.spell_owner_id = {$item_owner_id} ";
         if (!($result = $db->sql_query($sql))) {
             message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
         }
         $row = $db->sql_fetchrow($result);
         $item_logo = $row['spell_icon'];
         if ($row['spell_icon'] != '') {
             $item_img = '<img src="adr/images/items/' . $item_logo . '">';
コード例 #19
0
function adr_pet_magic()
{
    global $monster, $bat, $adr_user, $opponent_element, $item, $db, $lang, $user_id, $power;
    global $challenger, $battle_message, $user_action, $monster_action, $attack_img, $attackwith_overlay;
    global $rabbit_user;
    if ($rabbit_user['creature_attack'] < 1 || $rabbit_user['creature_health'] < 1) {
        adr_previous(Adr_battle_pet_dead_or_limitattack, 'adr_battle', '');
    }
    $pet_poison = '0';
    $price_mp = rand($rabbit_general['mp_min'], $rabbit_general['mp_max']) * $rabbit_user['creature_level'];
    rabbit_check_mp($price_mp);
    $pet_dice = rand(0, 20);
    if ($rabbit_user['creature_statut'] == '0') {
        if ($pet_dice == '20') {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(2, 5) * 5;
            $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />';
        } else {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8);
            $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />';
        }
    }
    //$rabbit_user['creature_statut'] == '0'
    if ($rabbit_user['creature_statut'] == '1') {
        if ($pet_dice == '20') {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(5, 15);
            $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />';
        } else {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(2, 5);
            $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />';
        }
    }
    //$rabbit_user['creature_statut'] == '1'
    if ($rabbit_user['creature_statut'] == '2') {
        if ($pet_dice == '20') {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8);
            $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />';
        } else {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'];
            $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />';
        }
    }
    //$rabbit_user['creature_statut'] == '2'
    if ($rabbit_user['creature_statut'] == '3') {
        if ($pet_dice == '20') {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(2, 5) * 5;
            $poison = rand(0, 5);
            $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />';
            $battle_message .= sprintf($lang['Adr_battle_pet_poison'], intval($poison)) . '<br />';
        } else {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8);
            $poison = rand(0, 3);
            $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />';
            $battle_message .= sprintf($lang['Adr_battle_pet_poison'], intval($poison)) . '<br />';
        }
    }
    //$rabbit_user['creature_statut'] == '3'
    if ($rabbit_user['creature_statut'] == '4') {
        if ($pet_dice == '20') {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(3, 8) * 6;
            $battle_message .= sprintf($lang['Adr_battle_pet_success_critical'], intval($pet_damage)) . '<br />';
        } else {
            $pet_damage = $rabbit_user['creature_power'] * $rabbit_user['creature_level'] + rand(5, 10);
            $battle_message .= sprintf($lang['Adr_battle_pet_success'], intval($pet_damage)) . '<br />';
        }
    }
    //$rabbit_user['creature_statut'] == '4'
    rabbit_pet_regen();
    adr_use_hp_amulet();
    adr_use_mp_ring();
    $sql = "UPDATE " . RABBITOSHI_USERS_TABLE . "\n\t\tSET creature_health = creature_health - '{$poison}',\n\t\t    creature_mp = creature_mp - '{$price_mp}',\n\t\t    creature_magicattack = (creature_magicattack - 1)\n\t\tWHERE owner_id = {$user_id} ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, 'Could not update pet info', '', __LINE__, __FILE__, $sql);
    }
    //!$result = $db->sql_query($sql)
    // Update the database
    $sql = "UPDATE " . ADR_BATTLE_LIST_TABLE . "\n\t\tSET battle_opponent_hp = battle_opponent_hp - '{$pet_damage}',\n\t\t    battle_turn = 2 ,\n\t\t    battle_challenger_dmg = '{$pet_damage}'\n\t\tWHERE battle_challenger_id = {$user_id}\n\t\tAND battle_result = 0\n\t\tAND battle_type = 1 ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, 'Could not update battle', '', __LINE__, __FILE__, $sql);
    }
    //!($result = $db->sql_query($sql))
}
コード例 #20
0
ファイル: adr_zones.php プロジェクト: Nekrofage/FJR
$template->assign_var('OUT_OF_ZONES', false);
// Get Zone infos
$area_id = $adr_user['character_area'];
$zone = zone_get($area_id);
// V: let's make sure nothing bad happened for some reason
//  i.e. somebody deleted the zone.
//  of course, it's still gonna fail its race's start zone got ERASED
if (!$zone) {
    $sql = "SELECT race_zone_begin FROM " . ADR_RACES_TABLE . "\r\n\t\tWHERE race_id = " . $adr_user['character_race'];
    $result = $db->sql_query($sql);
    if (!($race = $db->sql_fetchrow($result))) {
        message_die(GENERAL_MESSAGE, 'Could not query race data');
    }
    $sql = "UPDATE " . ADR_CHARACTERS_TABLE . "\r\n\t\tSET character_area = " . $race['race_zone_begin'];
    $db->sql_query($sql);
    adr_previous('ADR_MOVED_BACK_TO_SAFE_ZONE', 'adr_zones');
}
$zone_name = $zone['zone_name'];
$zone_img = $zone['zone_img'];
$zone_desc = $zone['zone_desc'];
$zone_element = $zone['zone_element'];
$zone_shops = $zone['zone_shops'];
$zone_forge = $zone['zone_forge'];
$zone_mine = $zone['zone_mine'];
$zone_enchant = $zone['zone_enchant'];
$zone_temple = $zone['zone_temple'];
$zone_prison = $zone['zone_prison'];
$zone_bank = $zone['zone_bank'];
// V: let's build actions stuff
$has_actions = false;
$extra_buildings = array('beggar', 'blacksmith', 'brewing', 'cooking', 'fish', 'herbal', 'hunting', 'jobs', 'lake', 'lumberjack', 'research', 'tailor');
コード例 #21
0
ファイル: admin_adr_library.php プロジェクト: Nekrofage/FJR
             } else {
                 $book_zone = implode(',', $HTTP_POST_VARS['book_zone']);
             }
             $book_details = isset($HTTP_POST_VARS['book_details']) ? trim($HTTP_POST_VARS['book_details']) : trim($HTTP_GET_VARS['book_details']);
             $book_difficulty = intval($HTTP_POST_VARS['book_difficulty']);
             $book_false = intval($HTTP_POST_VARS['book_false']);
             $book_crafting = intval($HTTP_POST_VARS['book_crafting']);
             $book_id = $fields_data['book_id'] + 1;
             if ($book_name == '' || $book_details == '') {
                 message_die(MESSAGE, $lang['Fields_empty']);
             }
             $sql = "INSERT INTO " . ADR_LIBRARY_TABLE . " \r\n\t\t\t\t( book_id , book_name , book_details , book_zone , book_difficulty , book_false , book_crafting )\r\n\t\t\t\tVALUES ( {$book_id},'" . str_replace("\\'", "''", $book_name) . "', '" . str_replace("\\'", "''", $book_details) . "' , '" . str_replace("\\'", "''", $book_zone) . "' , {$book_difficulty} , '{$book_false}' , '{$book_crafting}' )";
             if (!($result = $db->sql_query($sql))) {
                 message_die(GENERAL_ERROR, "Couldn't insert new alignment", "", __LINE__, __FILE__, $sql);
             }
             adr_previous(Adr_library_successful_added, admin_adr_library, '');
             break;
     }
 } else {
     adr_template_file('admin/config_adr_library_list_body.tpl');
     $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0;
     if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) {
         $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']);
     } else {
         $mode2 = 'book_id';
     }
     if (isset($HTTP_POST_VARS['order'])) {
         $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
     } else {
         if (isset($HTTP_GET_VARS['order'])) {
             $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
コード例 #22
0
             $alignment_name = isset($_POST['alignment_name']) ? trim($_POST['alignment_name']) : trim($_GET['alignment_name']);
             $alignment_img = isset($_POST['alignment_img']) ? trim($_POST['alignment_img']) : trim($_GET['alignment_img']);
             $alignment_desc = isset($_POST['alignment_desc']) ? trim($_POST['alignment_desc']) : trim($_GET['alignment_desc']);
             $level = intval($_POST['level']);
             $alignment_id = $fields_data['alignment_id'] + 1;
             if ($alignment_name == '') {
                 message_die(MESSAGE, $lang['Fields_empty']);
             }
             $sql = "INSERT INTO " . ADR_ALIGNMENTS_TABLE . " \n\t\t\t\t( alignment_id , alignment_name , alignment_desc ,  alignment_level , alignment_img )\n\t\t\t\tVALUES ( {$alignment_id},'" . str_replace("\\'", "''", $alignment_name) . "', '" . str_replace("\\'", "''", $alignment_desc) . "' , {$level} , '" . str_replace("\\'", "''", $alignment_img) . "' )";
             $result = $db->sql_query($sql);
             if (!$result) {
                 message_die(GENERAL_ERROR, "Couldn't insert new alignment", "", __LINE__, __FILE__, $sql);
             }
             // Update cache
             adr_update_alignment_infos();
             adr_previous(Adr_alignment_successful_added, admin_adr_alignments, '');
             break;
     }
 } else {
     adr_template_file('admin/config_adr_alignments_list_body.tpl');
     $sql = "SELECT *\n\t\tFROM " . ADR_ALIGNMENTS_TABLE;
     $result = $db->sql_query($sql);
     if (!$result) {
         message_die(GENERAL_ERROR, 'Could not obtain alignments information', "", __LINE__, __FILE__, $sql);
     }
     $alignments = $db->sql_fetchrowset($result);
     for ($i = 0; $i < count($alignments); $i++) {
         $row_class = !($i % 2) ? $theme['td_class1'] : $theme['td_class2'];
         $level[0] = $lang['Adr_races_level_all'];
         $level[1] = $lang['Adr_races_level_admin'];
         $level[2] = $lang['Adr_races_level_mod'];
コード例 #23
0
ファイル: adr_character_pvp.php プロジェクト: Nekrofage/FJR
 if (!($result = $db->sql_query($sql))) {
     message_die(GENERAL_ERROR, 'Could not query battle list', '', __LINE__, __FILE__, $sql);
 }
 $row = $db->sql_fetchrow($result);
 // Get the "other" id
 $other_id = $row['battle_opponent_id'] != $user_id ? intval($row['battle_opponent_id']) : intval($row['battle_challenger_id']);
 $stopped_by = $row['battle_opponent_id'] != $user_id ? 6 : 5;
 $sql = " UPDATE " . ADR_CHARACTERS_TABLE . "\r\t\t\t\tSET character_victories = character_victories + 1\r\t\t\t\tWHERE character_id = {$other_id} ";
 if (!($result = $db->sql_query($sql))) {
     message_die(GENERAL_ERROR, 'Could not update character', '', __LINE__, __FILE__, $sql);
 }
 $sql = " UPDATE " . ADR_CHARACTERS_TABLE . "\r\t\t\t\tSET character_flees = character_flees + 1\r\t\t\t\tWHERE character_id = {$user_id} ";
 if (!($result = $db->sql_query($sql))) {
     message_die(GENERAL_ERROR, 'Could not update character', '', __LINE__, __FILE__, $sql);
 }
 $sql = " UPDATE " . ADR_BATTLE_PVP_TABLE . "\r\t\t\t\tSET battle_result = {$stopped_by}\r\t\t\t\tWHERE battle_id = {$battle_id}\r\t\t\t\tAND ( battle_opponent_id = {$user_id}\tOR battle_challenger_id = {$user_id} ) ";
 if (!($result = $db->sql_query($sql))) {
     message_die(GENERAL_ERROR, 'Could not delete defy', '', __LINE__, __FILE__, $sql);
 }
 $sql = " SELECT prefs_pvp_notif_pm FROM " . ADR_CHARACTERS_TABLE . "\r\t\t\t\tWHERE character_id = {$other_id} ";
 $result = $db->sql_query($sql);
 if (!$result) {
     message_die(GENERAL_ERROR, "Couldn't query preferences", "", __LINE__, __FILE__, $sql);
 }
 $opponent = $db->sql_fetchrow($result);
 $subject = $lang['Adr_pvp_stopped'];
 $message = sprintf($lang['Adr_pvp_stopped_by'], $adr_user['character_name']);
 if ($opponent['prefs_pvp_notif_pm']) {
     adr_send_pm($other_id, $subject, $message);
 }
 adr_previous(Adr_pvp_stop_ok, adr_character_pvp, "");
コード例 #24
0
            $result = $db->sql_query($sql);
            if (!$result) {
                message_die(GENERAL_ERROR, 'Could not obtain item information', "", __LINE__, __FILE__, $sql);
            }
            $del_item = $db->sql_fetchrow($result);
            $split_loottables = explode(':', $del_item['item_loottables']);
            foreach ($split_loottables as $value) {
                if ($value != $loottable_id) {
                    $loottables_list .= $loottables_list == '' ? $value : ":" . $value;
                }
            }
            $sql = "UPDATE " . ADR_SHOPS_ITEMS_TABLE . "\r\n\t\t\t\tSET item_loottables = '" . $loottables_list . "'\r\n\t\t\t\tWHERE item_id = " . $item_id . " \r\n\t\t\t\tAND item_owner_id = 1\r\n\t\t\t\t";
            if (!($result = $db->sql_query($sql))) {
                message_die(GENERAL_ERROR, "Couldn't update item", "", __LINE__, __FILE__, $sql);
            }
            adr_previous(Adr_loottable_cats_successful_item_deleted, admin_adr_loottables_cats, 'mode=view_loottable&amp;loottable_id=' . $loottable_id . '');
            break;
    }
} else {
    adr_template_file('admin/config_adr_loottables_cats_list_body.tpl');
    $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0;
    if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) {
        $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']);
    } else {
        $mode2 = 'loottablename';
    }
    if (isset($HTTP_POST_VARS['order'])) {
        $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
    } else {
        if (isset($HTTP_GET_VARS['order'])) {
            $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
コード例 #25
0
ファイル: adr_TownMap_forge.php プロジェクト: Nekrofage/FJR
            $success = adr_use_skill_stone($user_id, $tool, $item_to_repair);
            if ($success == -1) {
                $message = $lang['Adr_forge_repair_failure_critical'];
            } else {
                if (!$success) {
                    $message = $lang['Adr_forge_stone_failure'];
                } else {
                    $message = sprintf($lang['Adr_forge_stone_success'], $success);
                }
            }
            $direction = append_sid("adr_TownMap_forge.{$phpEx}?mode=stone");
            $message .= '<br /><br />' . sprintf($lang['Adr_return'], "<a href=\"" . $direction . "\">", "</a>");
            message_die(GENERAL_MESSAGE, $message);
            break;
        case 'create':
            break;
    }
} else {
    $template->assign_block_vars('main', array());
}
// Fix the values
$InfoForge = $HTTP_POST_VARS['InfoForge'];
if ($InfoForge) {
    adr_previous(Adr_TownMap_Forge_Infos, adr_TownMap_forge, '');
} else {
    $template->assign_vars(array('SAISON' => $saison, 'L_TOWNMAP_FORGE' => $lang['TownMap_Forge'], 'L_TOWNBOUTONINFO' => $lang['Adr_TownMap_Bouton_Infos'], 'L_TOWNBOUTONRETOUR' => $lang['Adr_TownMap_Bouton_Retour'], 'L_FORGEPRESENTATION' => $lang['Adr_TownMap_Forge_Presentation'], 'L_FORGEENTREE' => $lang['TownMap_Forge_Entree'], 'L_REPAIR_ITEM' => $lang['Adr_forge_repair'], 'L_CREATE_ITEM' => $lang['Adr_forge_create'], 'L_STONE' => $lang['Adr_forge_stone'], 'L_COPYRIGHT' => $lang['Adr_copyright'], 'L_TOWNMAPCOPYRIGHT' => $lang['TownMap_Copyright'], 'U_TOWNBOUTONRETOUR' => append_sid("adr_zones.{$phpEx}"), 'U_TOWNMAP_FORGE' => append_sid("adr_TownMap_forge.{$phpEx}"), 'U_COPYRIGHT' => append_sid("adr_copyright.{$phpEx}"), 'U_TOWNMAPCOPYRIGHT' => append_sid("TownMap_Copyright.{$phpEx}"), 'U_REPAIR_ITEM' => append_sid("adr_TownMap_forge.{$phpEx}?mode=repair"), 'U_CREATE_ITEM' => append_sid("adr_TownMap_forge.{$phpEx}?mode=create"), 'U_STONE' => append_sid("adr_TownMap_forge.{$phpEx}?mode=stone"), 'S_FORGE_ACTION' => append_sid("adr_TownMap_forge.{$phpEx}"), 'S_CHARACTER_ACTION' => append_sid("adr_TownMap_forge.{$phpEx}")));
}
$template->pparse('body');
include $phpbb_root_path . 'includes/page_tail.' . $phpEx;
?>
 
コード例 #26
0
             $oppose_weak_dmg = intval($_POST['oppose_weak_dmg']);
             $element_oppose_str = intval($_POST['element_str_list']);
             $element_oppose_weak = intval($_POST['element_weak_list']);
             $element_colour = $_POST['element_colour'];
             $element_id = $fields_data['element_id'] + 1;
             if ($element_name == '') {
                 message_die(MESSAGE, $lang['Fields_empty']);
             }
             $sql = "INSERT INTO " . ADR_ELEMENTS_TABLE . " \n\t\t\t\t( element_id , element_name , element_desc ,  element_level , element_img , element_skill_mining_bonus , element_skill_stone_bonus , element_skill_forge_bonus , element_skill_enchantment_bonus , element_skill_trading_bonus , element_skill_thief_bonus , element_oppose_strong , element_oppose_strong_dmg , element_oppose_weak , element_oppose_weak_dmg , element_oppose_same_dmg, element_colour )\n\t\t\t\tVALUES ( {$element_id},'" . str_replace("\\'", "''", $element_name) . "', '" . str_replace("\\'", "''", $element_desc) . "' , {$level} , '" . str_replace("\\'", "''", $element_img) . "' , {$b_mining} , {$b_stone} , {$b_forge} ,{$b_enchant} , {$b_trading} ,{$b_thief} , {$element_oppose_str} , {$oppose_str_dmg} , {$element_oppose_weak} , {$oppose_weak_dmg} , {$oppose_same_dmg}, '{$element_colour}' )";
             $result = $db->sql_query($sql);
             if (!$result) {
                 message_die(GENERAL_ERROR, "Couldn't insert new element", "", __LINE__, __FILE__, $sql);
             }
             // Update cache
             adr_update_element_infos();
             adr_previous(Adr_element_successful_added, admin_adr_elements, '');
             break;
     }
 } else {
     adr_template_file('admin/config_adr_elements_list_body.tpl');
     $sql = "SELECT *\n\t\tFROM " . ADR_ELEMENTS_TABLE;
     $result = $db->sql_query($sql);
     if (!$result) {
         message_die(GENERAL_ERROR, 'Could not obtain elements information', "", __LINE__, __FILE__, $sql);
     }
     $elements = $db->sql_fetchrowset($result);
     for ($i = 0; $i < count($elements); $i++) {
         $row_class = !($i % 2) ? $theme['td_class1'] : $theme['td_class2'];
         $level[0] = $lang['Adr_races_level_all'];
         $level[1] = $lang['Adr_races_level_admin'];
         $level[2] = $lang['Adr_races_level_mod'];
コード例 #27
0
                $item_price = $adr_type_price;
                // Then apply the quality modifier
                $item_price = $item_price * ($adr_quality_price / 100);
                // And now the power - it's a little more complicated
                $item_price = $item_power > 1 ? $item_price + $item_price * (($item_power - 1) * ($adr_general['item_modifier_power'] - 100) / 100) : $item_price;
                // Apply the duration penalty
                $item_price = abs($item_price / ($item_duration_max / $item_duration));
                // Finally let's use a non decimal value & add 10 %
                $item_price = ceil($item_price * 1.1);
            }
            $sql = "INSERT INTO " . ADR_BEGGAR_DONATIONS . "\r\n\t\t\t\t( item_id , item_owner_id , item_chance , item_type_use , item_name , item_desc , item_icon , item_price , item_quality , item_duration , item_duration_max , item_power , item_add_power , item_mp_use , item_weight , item_max_skill , item_element , item_element_str_dmg , item_element_same_dmg , item_element_weak_dmg )\r\n\t\t\t\tVALUES ( {$item_id} , 1 , {$item_chance} , {$item_type} , '" . str_replace("\\'", "''", $item_name) . "', '" . str_replace("\\'", "''", $item_desc) . "' , '" . str_replace("\\'", "''", $item_icon) . "' , {$item_price} , {$item_quality} , {$item_duration} , {$item_duration_max} , {$item_power} , {$item_add_power} , {$item_mp_use} , {$item_weight} , {$item_max_skill} , {$item_element} , {$item_element_str} , {$item_element_same} , {$item_element_weak} )";
            $result = $db->sql_query($sql);
            if (!$result) {
                message_die(GENERAL_ERROR, "Couldn't insert new item", "", __LINE__, __FILE__, $sql);
            }
            adr_previous(Adr_shops_items_successful_added, admin_adr_beggar_donations, '');
            break;
    }
} else {
    adr_template_file('admin/config_adr_beggar_donations_list_body.tpl');
    $start = isset($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0;
    if (isset($HTTP_GET_VARS['mode2']) || isset($HTTP_POST_VARS['mode2'])) {
        $mode2 = isset($HTTP_POST_VARS['mode2']) ? htmlspecialchars($HTTP_POST_VARS['mode2']) : htmlspecialchars($HTTP_GET_VARS['mode2']);
    } else {
        $mode2 = 'itemname';
    }
    if (isset($HTTP_POST_VARS['order'])) {
        $sort_order = $HTTP_POST_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
    } else {
        if (isset($HTTP_GET_VARS['order'])) {
            $sort_order = $HTTP_GET_VARS['order'] == 'ASC' ? 'ASC' : 'DESC';
コード例 #28
0
ファイル: admin_adr_seasons.php プロジェクト: Nekrofage/FJR
$season[2] = $lang['Adr_Season_2'];
$season[3] = $lang['Adr_Season_3'];
$season[4] = $lang['Adr_Season_4'];
$season_list = '<select name="season">';
for ($i = 1; $i < 5; $i++) {
    $selected = $i == $board_config['adr_seasons'] ? ' selected="selected"' : '';
    $season_list .= '<option value = "' . $i . '" ' . $selected . ' >' . $season[$i] . '</option>';
}
$season_list .= '</select>';
$submit = isset($HTTP_POST_VARS['submit']);
if ($submit) {
    $new_season = trim(str_replace('"', '&quot;', $HTTP_POST_VARS['season']));
    $season_time = intval($HTTP_POST_VARS['season_time']) * 86400;
    // verify empty fields
    if ($season_time == '') {
        adr_previous(Adr_season_empty, admin_adr_seasons, '');
    }
    // update season
    $sql = "UPDATE " . CONFIG_TABLE . " \r\n\t\tSET config_value = '{$new_season}' \r\n\t\tWHERE config_name = 'adr_seasons' ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, "Could not acces seasons table.", '', __LINE__, __FILE__, $sql);
    }
    $sql = "UPDATE " . CONFIG_TABLE . " \r\n\t\tSET config_value = '{$season_time}' \r\n\t\tWHERE config_name = 'adr_seasons_time' ";
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, "Could not acces seasons table.", '', __LINE__, __FILE__, $sql);
    }
    adr_previous(Adr_season_change_successful, admin_adr_seasons, '');
}
$template->assign_vars(array("SEASON_LIST" => $season_list, "SEASON_TIME" => floor($board_config['adr_seasons_time'] / 86400), "L_SEASONS_TITLE" => $lang['Adr_seasons_acp_title'], "L_SEASONS_EXPLAIN" => $lang['Adr_seasons_acp_explain'], "L_SEASONS_CONFIG" => $lang['Adr_seasons_acp_config'], "L_SEASON_CHOICE" => $lang['Adr_seasons_acp_choice'], "L_SEASON_TIME" => $lang['Adr_seasons_acp_time'], "L_SEASON_DAYS" => $lang['Adr_seasons_acp_days'], "L_SEASON_SUBMIT" => $lang['Adr_seasons_acp_submit'], "S_SEASON_ACTION" => append_sid("admin_adr_seasons.{$phpEx}")));
$template->pparse("body");
include_once './page_footer_admin.' . $phpEx;
コード例 #29
0
function rabbit_check_mp($price_mp)
{
    global $rabbit_user;
    if ($rabbit_user['creature_mp'] > $price_mp) {
        adr_previous('Adr_battle_pet_mp_lack', 'adr_battle', '');
    }
}
コード例 #30
0
ファイル: admin_adr_monsters.php プロジェクト: Nekrofage/FJR
     $loottables_list = '';
 } elseif (in_array('0', $monster_loottables)) {
     $loottables_list = '0';
 } else {
     sort($monster_loottables);
     $loottables_list = '';
     for ($a = 0; $a < $selected_loottables; $a++) {
         $loottables_list .= $loottables_list == '' ? $monster_loottables[$a] : ":" . $monster_loottables[$a];
     }
 }
 $monster_items = array();
 $monster_items = $HTTP_POST_VARS['items'];
 $selected_items = count($monster_items);
 if ($selected_items == 0) {
     $items_list = '';
 } elseif (in_array('0', $monster_items)) {
     $items_list = '0';
 } else {
     sort($monster_items);
     $items_list = '';
     for ($a = 0; $a < $selected_items; $a++) {
         $items_list .= $items_list == '' ? $monster_items[$a] : ":" . $monster_items[$a];
     }
 }
 $sql = "INSERT INTO " . ADR_BATTLE_MONSTERS_TABLE . " \r\t\t\t\t( monster_id , monster_name , monster_img , monster_level , monster_base_hp , monster_base_def , monster_base_att , monster_base_element , monster_base_mp , monster_base_mp_power , monster_base_magic_attack , monster_base_magic_resistance , monster_base_sp , monster_base_custom_spell , monster_thief_skill, monster_season , monster_weather  , monster_message_enable , monster_message, monster_possible_drop, monster_guranteened_drop, monster_loottables, monster_specific_drop, monster_regeneration , monster_mp_regeneration , monster_base_mp_drain , monster_base_mp_transfer , monster_base_hp_drain , monster_base_hp_transfer, monster_time )\r\t\t\t\tVALUES ( {$monster_id} , '" . str_replace("\\'", "''", $monster_name) . "', '" . str_replace("\\'", "''", $monster_img) . "' , {$level} , {$hp} , {$def} , {$att} , {$element} , {$mp} , {$mp_power} , {$ma} , {$md} , {$sp} , '" . str_replace("\\'", "''", $custom_spell) . "' , {$thief_skill}, {$season} , {$weather} , {$message_enable} , '" . str_replace("\\'", "''", $message) . "' , {$possible_drop}, {$guranteened_drop}, '" . $loottables_list . "', '" . $items_list . "', {$regeneration} , {$mp_regeneration} , {$mp_drain} , {$mp_transfer} , {$hp_drain} , {$hp_transfer}, {$time})";
 $result = $db->sql_query($sql);
 if (!$result) {
     message_die(GENERAL_ERROR, "Couldn't insert new monster", "", __LINE__, __FILE__, $sql);
 }
 adr_previous(Adr_monster_successful_added, admin_adr_monsters, '');
 break;