外掛介紹 : 管理者可以透過這外掛 , 限制出 哪些種族 僅 可以選擇哪些職業 , 加以區分開來 .
外掛管理 : 管理者可以編輯出一種特殊職業 , 僅有某種種族可以選擇 , 你可以在職業編輯那邊 , 看到可以選擇 所有種族 或者 特定某種種族 .
相關外掛 :
無\r
支援的ADR版本 : 僅限 v0.3.x
下載頁面
代碼: 選擇全部
##############################################################
## MOD Title: Restrict Class Choice by Race [ADR addon]
## MOD Author: Seteo-Bloke (www.thegamingforum.com)
##
## MOD Version: 0.0.1 [BETA]
##
## MOD Description: Allows an admin to restrict the choice of classes available based
## upon the Race chosen at character creation.
##
##
## Installation Level: Easy
## Installation Time: 10 mins
##
## Files To Edit (5): adr_character.php
## admin_adr_classes.php
## config_adr_classes_edit_body.tpl
## config_adr_classes_list_body.tpl
## lang_adr_admin.php
##
## Included Files (0):
##
############################################
## Author Notes:
##
## A massive thanks to Dr. DLP / Malicious Rabbit for making such a great, fully featured
## RPG modification!.
##
############################################
## Version History:
##
## 0.0.1 - Initial release (25/11/04)
##
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ PRE-INSTALLATION REQS ]------------------------------------------
#
You will need to have v0.3.x of the 'Advanced Dungeons and Rabbits' (ADR) modification installed and working correctly.
Make sure to copy the images within this zip to the correct folders.
#
#--------------[ SQL ]-------------
#
# Run the following SQL requests:
#
ALTER TABLE phpbb_adr_classes ADD class_race_id int(8) NOT NULL default '0';
#
#-----[ OPEN ]------------------------------------------
#
adr_character.php
#
#-----[ FIND ]------------------------------------------
#
$template->assign_block_vars( 'nocharacterclass' , array());
#
#-----[ AFTER, ADD ]------------------------------------------
#
$race_id = intval($HTTP_POST_VARS['race']);
#
#-----[ FIND ]------------------------------------------
#
AND c.class_selectable = 1
#
#-----[ AFTER, ADD ]------------------------------------------
#
AND (c.class_race_id = 0 OR c.class_race_id = $race_id)
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_adr_classes.php
#
#-----[ FIND ]------------------------------------------
#
# 1st instance
$evolution_list .= '</select>';
#
#-----[ AFTER, ADD ]------------------------------------------
#
// List available races
$sql = "SELECT * FROM " . ADR_RACES_TABLE;
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, 'Could not obtain races info', "", __LINE__, __FILE__, $sql);
}
$races = $db->sql_fetchrowset($result);
$race_list = '<select name="race">';
$race_list .= '<option value = "0" >' . $lang['Adr_classes_race_none'] . '</option>';
for( $i = 0; $i < count($races); $i++ )
{
$race_list .= '<option value = "'.$races[$i]['race_id'].'" >'.adr_get_lang($races[$i]['race_name']).'</option>';
}
$race_list .= '</select>';
#
#-----[ FIND ]------------------------------------------
#
"EVOLUTION_LIST" => $evolution_list,
#
#-----[ AFTER, ADD ]------------------------------------------
#
# 1st instance
"RACE_LIST" => $race_list,
"L_RACE" => $lang['Adr_classes_race'],
"L_RACE_EXPLAIN" => $lang['Adr_classes_race_explain'],
#
#-----[ FIND ]------------------------------------------
#
# 2nd instance
$evolution_list .= '</select>';
#
#-----[ AFTER, ADD ]------------------------------------------
#
// List available races
$sql = "SELECT * FROM " . ADR_RACES_TABLE;
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, 'Could not obtain races info', "", __LINE__, __FILE__, $sql);
}
$races = $db->sql_fetchrowset($result);
$race_list = '<select name="race">';
$race_list .= '<option value = "0" >' . $lang['Adr_classes_race_none'] . '</option>';
for( $i = 0; $i < count($races); $i++ )
{
$selected = ( $races[$i]['race_id'] == $class['class_race_id'] ) ? ' selected="selected"' : '';
$race_list .= '<option value = "'.$races[$i]['race_id'].'" '.$selected.'>'.adr_get_lang($races[$i]['race_name']).'</option>';
}
$race_list .= '</select>';
#
#-----[ FIND ]------------------------------------------
#
# 2nd instance
"EVOLUTION_LIST" => $evolution_list,
#
#-----[ AFTER, ADD ]------------------------------------------
#
"RACE_LIST" => $race_list,
"L_RACE" => $lang['Adr_classes_race'],
"L_RACE_EXPLAIN" => $lang['Adr_classes_race_explain'],
#
#-----[ FIND ]------------------------------------------
#
# 1st instance
$evolution = intval($HTTP_POST_VARS['evolution']);
#
#-----[ AFTER, ADD ]------------------------------------------
#
$race = intval($HTTP_POST_VARS['race']);
#
#-----[ FIND ]------------------------------------------
#
class_update_of_req = $update_of_req ,
#
#-----[ AFTER, ADD ]-----------------------------------
#
class_race_id = $race ,
#
#-----[ FIND ]------------------------------------------
#
# 2nd instance
$evolution = intval($HTTP_POST_VARS['evolution']);
#
#-----[ AFTER, ADD ]------------------------------------
#
$race = intval($HTTP_POST_VARS['race']);
#
#-----[ FIND ]------------------------------------------
#
$sql = "INSERT INTO " . ADR_CLASSES_TABLE . "
( class_id , class_name , class_desc , class_level , class_img , class_might_req , class_dexterity_req , class_constitution_req , class_intelligence_req , class_wisdom_req , class_charisma_req , class_magic_attack_req , class_magic_resistance_req , class_base_hp , class_base_mp , class_base_ac , class_update_hp , class_update_mp , class_update_ac , class_update_xp_req , class_update_of , class_update_of_req , class_selectable )
VALUES ( $class_id,'" . str_replace("\'", "''", $class_name) . "', '" . str_replace("\'", "''", $class_desc) . "' , $level , '" . str_replace("\'", "''", $class_img) . "' , $req_might , $req_dext , $req_const , $req_int, $req_wis, $req_cha , $req_ma , $req_md , $base_hp , $base_mp , $base_ac , $update_hp , $update_mp , $update_ac , $update_xp_req , $evolution , $update_of_req , $selectable )";
#
#-----[ INLINE FIND ]------------------------------------
#
class_level
#
#-----[ INLINE AFTER, ADD ]------------------------------------------
#
, class_race_id
#
#-----[ FIND ]------------------------------------------
#
$level
#
#-----[ INLINE AFTER, ADD ]------------------------------------
#
, $race
#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT *
FROM " . ADR_CLASSES_TABLE;
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, 'Could not obtain classes information', "", __LINE__, __FILE__, $sql);
}
$classes = $db->sql_fetchrowset($result);
#
#-----[ REPLACE WITH ]------------------------------------
#
$sql = "SELECT cl.*, r.race_name FROM " . ADR_CLASSES_TABLE . " cl
LEFT JOIN " . ADR_RACES_TABLE . " r ON ( r.race_id = cl.class_race_id ) ";
$result = $db->sql_query($sql);
if( !$result )
{
message_die(GENERAL_ERROR, 'Could not obtain monsters information', "", __LINE__, __FILE__, $sql);
}
$classes = $db->sql_fetchrowset($result);
#
#-----[ FIND ]------------------------------------------
#
$class_level = $level[$classes[$i]['class_level']];
#
#-----[ AFTER, ADD ]------------------------------------
#
$race = $classes[$i]['class_race_id'] != 0 ? adr_get_lang($classes[$i]['race_name']) : $lang['Adr_classes_race_none'] ;
#
#-----[ FIND ]------------------------------------------
#
"DESC" => adr_get_lang($classes[$i]['class_desc']),
#
#-----[ AFTER, ADD ]------------------------------------
#
"RACE" => $race,
#
#-----[ FIND ]------------------------------------------
#
"L_DESC" => $lang['Adr_races_desc'],
#
#-----[ AFTER, ADD ]------------------------------------
#
"L_RACE" => $lang['Adr_classes_race_title'],
#
#-----[ OPEN ]------------------------------------------
#
adr/templates/admin/config_adr_classes_edit_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1">{L_SELECTABLE}</td>
#
#-----[ BEFORE, ADD ]------------------------------------
#
<tr>
<td class="row1">{L_RACE}</td>
<td class="row2" align="center" >{RACE_LIST}</td>
</tr>
#
#-----[ OPEN ]------------------------------------------
#
adr/templates/admin/config_adr_classes_list_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<th class="thTop">{L_DESC}</th>
#
#-----[ AFTER, ADD ]------------------------------------
#
<th class="thTop">{L_RACE}</th>
#
#-----[ FIND ]------------------------------------------
#
<td class="{classes.ROW_CLASS}" align="center">{classes.DESC}</td>
#
#-----[ AFTER, ADD ]------------------------------------
#
<td class="{classes.ROW_CLASS}" align="center">{classes.RACE}</td>
#
#-----[ OPEN ]------------------------------------------
#
adr/languages/lang_english/lang_adr_admin.php
#
#-----[ FIND ]------------------------------------------
#
# Actual line is longer
$lang['Adr_classes_evolution_none']
#
#-----[ AFTER, ADD ]------------------------------------
#
$lang['Adr_classes_race_title']='Race';
$lang['Adr_classes_race_none']='All races';
$lang['Adr_classes_race']='Define this class to this race only:';
$lang['Adr_classes_race_explain']='Define a specific race that this class will be attributed too at character creation';
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
代碼: 選擇全部
$lang['Adr_classes_race_title']='種族';
$lang['Adr_classes_race_none']='所有種族';
$lang['Adr_classes_race']='定義此職業僅此種族可選取:';
$lang['Adr_classes_race_explain']='定義一個特定的種族的職業將歸因於(始於)角色的創造 ';
