-
leo199345
-
- 文章: 198
- 註冊時間: 2006-01-18 9:32 pm
由 leo199345 » 2007-02-04 3:16 pm
無人理我嗎?? = ="'''
小弟有點兒心急這功能...
-
涅魂
-
- 文章: 4463
- 註冊時間: 2004-01-04 11:17 am
- 來自: Taiwan
- 性別: 男生
由 涅魂 » 2007-02-04 8:49 pm
理論上是可行的
先在wog_df中新增一項欄位,假設名為d_hp,屬性設為 unsigned int(10)
接著在處理裝上裝備的函式arm_setup()中為玩家的p_hpmax加上裝備物品的d_hp
之後再在卸下裝備的函式arm_move()中將玩家的p_hpmax扣除掉要卸下的裝備的d_hp應該就沒問題了
而要讓玩家的目前生命p_hp同步調整的話只要在兩個函式中為玩家的p_hp做與p_hpmax同樣的步驟即可
-
leo199345
-
- 文章: 198
- 註冊時間: 2006-01-18 9:32 pm
由 leo199345 » 2007-02-05 4:40 pm
小弟還是一個新手....
不知道應怎做= =""
望大大指教
-
涅魂
-
- 文章: 4463
- 註冊時間: 2004-01-04 11:17 am
- 來自: Taiwan
- 性別: 男生
由 涅魂 » 2007-02-05 5:37 pm
在資料庫中執行下列SQL語法以建立d_hp欄位
- 代碼: 選擇全部
ALTER TABLE `wog_df` ADD `d_hp` INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ; 開啟檔案wog/class/wog_act_arm.php In arm_setup() Function尋找 - 代碼: 選擇全部
$sql="select a.ch_pro,a.ch_id,a.d_df,a.d_mdf,a.d_agl,a.d_at,a.d_mat,a.d_name,a.d_type,a.d_g_str,a.d_g_smart,a.d_g_agl,a.d_g_life,a.d_g_vit,a.d_g_au,a.d_g_be,a.d_g_exp,a.d_g_bag
覆蓋為 - 代碼: 選擇全部
$sql="select a.ch_pro,a.ch_id,a.d_df,a.d_mdf,a.d_agl,a.d_at,a.d_mat,a.d_name,a.d_type,a.d_g_str,a.d_g_smart,a.d_g_agl,a.d_g_life,a.d_g_vit,a.d_g_au,a.d_g_be,a.d_g_exp,a.d_g_bag[color=red],a.d_hp[/color]
尋找 - 代碼: 選擇全部
$sql="select a.d_df,a.d_mdf,a.d_agl,a.d_at,a.d_mat,a.d_id from wog_df a,wog_player b where b.".$a_id."=a.d_id and b.p_id=".$user_id." ";
覆蓋為 - 代碼: 選擇全部
$sql="select a.d_df,a.d_mdf,a.d_agl,a.d_at,a.d_mat,a.d_id[color=red],a.d_hp[/color] from wog_df a,wog_player b where b.".$a_id."=a.d_id and b.p_id=".$user_id." ";
尋找 - 代碼: 選擇全部
if($pack2) { $DB_site->query("update wog_item set ".$a_id."='".$s."' where p_id=".$user_id." "); $DB_site->query("update wog_player set ".$a_id."=".$adds.",p_df=p_df-".$pack2[d_df]."+".$pack[d_df]." ,p_mdf=p_mdf-".$pack2[d_mdf]."+".$pack[d_mdf].",p_agl=p_agl-".$pack2[d_agl]."+".$pack[d_agl]." ,p_at=p_at-".$pack2[d_at]."+".$pack[d_at].",p_mat=p_mat-".$pack2[d_mat]."+".$pack[d_mat]." where p_id=".$user_id." "); }else { $DB_site->query("update wog_item set ".$a_id."='".$s."' where p_id=".$user_id." "); $DB_site->query("update wog_player set ".$a_id."=".$adds.",p_df=p_df+".$pack[d_df]." ,p_mdf=p_mdf+".$pack[d_mdf].",p_agl=p_agl+".$pack[d_agl]." ,p_at=p_at+".$pack[d_at].",p_mat=p_mat+".$pack[d_mat]." where p_id=".$user_id." "); }
覆蓋為 - 代碼: 選擇全部
if($pack2) { $DB_site->query("update wog_item set ".$a_id."='".$s."' where p_id=".$user_id." "); $DB_site->query("update wog_player set ".$a_id."=".$adds.",p_df=p_df-".$pack2[d_df]."+".$pack[d_df]." ,p_mdf=p_mdf-".$pack2[d_mdf]."+".$pack[d_mdf].",p_agl=p_agl-".$pack2[d_agl]."+".$pack[d_agl]." ,p_at=p_at-".$pack2[d_at]."+".$pack[d_at].",p_mat=p_mat-".$pack2[d_mat]."+".$pack[d_mat]."[color=red],p_hp=p_hp-".$pack2['d_hp']."+".$pack['d_hp'].",p_hpmax=p_hpmax-".$pack2['d_hp']."+".$pack['d_hp']."[/color] where p_id=".$user_id." "); }else { $DB_site->query("update wog_item set ".$a_id."='".$s."' where p_id=".$user_id." "); $DB_site->query("update wog_player set ".$a_id."=".$adds.",p_df=p_df+".$pack[d_df]." ,p_mdf=p_mdf+".$pack[d_mdf].",p_agl=p_agl+".$pack[d_agl]." ,p_at=p_at+".$pack[d_at].",p_mat=p_mat+".$pack[d_mat]."[color=red],p_hp=p_hp+".$pack['d_hp'].",p_hpmax=p_hpmax+".$pack['d_hp']."[/color] where p_id=".$user_id." "); }
而arm_move()不用修改,之前說要改是因為看錯…
另外,若將遊戲中已存在物品的d_hp設為非0的值的話可能會造成原先已裝備該物品的玩家的HP在脫裝備後出現異常
所以若對已存在物品的d_hp作修正時要記得替有裝備該物品的玩家的p_hp和p_hpmax作相對應的調整喔
-
涅魂
-
- 文章: 4463
- 註冊時間: 2004-01-04 11:17 am
- 來自: Taiwan
- 性別: 男生
由 涅魂 » 2007-02-05 9:25 pm
不用客氣,有問題的話歡迎繼續發問
不過記得在提問的同時也要記得學習PHP喔,這樣可以更順利地解決您的問題^^
|