[外掛] ADR的Addon-Restrict Class Choice by Race[限制種族的選擇職業]

MODs Released by Other phpbb Sites
非官方認證通過之 MOD ,或許有安全性之疑慮,所有問題由原發表者回覆!

版主: 版主管理群

主題已鎖定
米加
星球普通子民
星球普通子民
文章: 14
註冊時間: 2004-11-24 09:37
聯繫:

[外掛] ADR的Addon-Restrict Class Choice by Race[限制種族的選擇職業]

文章 米加 »

外掛名稱 : Restrict Class Choice by Race [設定種族可選擇的職業]

外掛介紹 : 管理者可以透過這外掛 , 限制出 哪些種族 僅 可以選擇哪些職業 , 加以區分開來 .

外掛管理 : 管理者可以編輯出一種特殊職業 , 僅有某種種族可以選擇 , 你可以在職業編輯那邊 , 看到可以選擇 所有種族 或者 特定某種種族 .

相關外掛 :
無\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']='定義一個特定的種族的職業將歸因於(始於)角色的創造 ';
此版本目前還是0.0.1 [Beta] 示範圖片 :
圖檔
主題已鎖定

回到「非官方認證外掛」