[分享]怪獸掉多種寶物

WOG設定安裝教學

版主: 涅魂, 簫哥


涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

[分享]怪獸掉多種寶物

文章涅魂 » 2005-06-11 7:17 am

功能:讓怪獸可以掉超過兩種以上的道具

注意事項

1.此篇不可與[Treasure Class System]並存,因為這會讓這個外掛失效= ="

2.掉落格式有兩種
->1.跟原來一樣只會掉一種的,照原來格式寫即可。
->2.掉多種寶物的話,格式必須為[寶物1,寶物2,寶物3,....]
例如說有隻會掉布衣(編號1,機率1/50),木刀(編號2,機率1/25),以及木弓(編號3,機率7/99)
則[wog_monster]裡面的[d_id],[m_topr],[m_getr]如下表示
代碼: 選擇全部
d_id:1,2,3
m_topr:50,25,99
m_getr:1,1,7


3.當怪物設定為會掉多種寶物的時候,戰鬥判定會任取一個寶物做取得判斷。 :wink:

請先將資料表wog_monster的欄位d_id,m_topr,m_getr的型態改為varchar(10)

開啟檔案wog/class/wog_fight_select.php
尋找
代碼: 選擇全部
               if($m[d_id] && rand(1,$m[m_topr])<=$m[m_getr])//判斷是否撿到物品
               {
                  $wog_event_class->get_item($user_id,$m[d_id],$m[m_topr],$m[m_getr]);
               }

改成
代碼: 選擇全部
               if($m[d_id])
               {
                  
                  if(eregi("[,]", $m[d_id]))
                  {
                     $m_d_id=split(",",$m[d_id]);
                     $m_topr=split(",",$m[m_topr]);
                     $m_getr=split(",",$m[m_getr]);
                     if(count($m_d_id)==count($m_topr) && count($m_d_id)==count($m_getr) && count($m_topr)==count($m_getr))
                     {
                        $rand_id=rand(0,count($m_d_id));
                        unset($m[d_id]);
                        unset($m[m_topr]);
                        unset($m[m_getr]);
                        $m[d_id]=$m_d_id[$rand_id];
                        $m[m_topr]=$m_topr[$rand_id];
                        $m[m_getr]=$m_getr[$rand_id];
                        if(rand(1,$m[m_topr])<=$m[m_getr])//判斷是否撿到物品
                        {
                           $wog_event_class->get_item($user_id,$m[d_id],$m[m_topr],$m[m_getr]);
                        }
                     }
                  }else
                  {
                     if(rand(1,$m[m_topr])<=$m[m_getr])//判斷是否撿到物品
                     {
                        $wog_event_class->get_item($user_id,$m[d_id],$m[m_topr],$m[m_getr]);
                     }
                  }
               }

儲存,關閉所有檔案
完畢,有任何問題請提出。 :wink:


最後由 涅魂 於 2005-12-02 9:51 pm 編輯,總共編輯了 2 次。

頭像
kelyiu3000
 
文章: 95
註冊時間: 2004-08-05 7:35 pm

文章kelyiu3000 » 2005-10-30 8:29 pm

我想問........
後台怎改.....................
?>?




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2005-10-30 8:52 pm

開啟檔案wog/acpmain.php
尋找
代碼: 選擇全部
switch ($getitemlist[m_s])
      {                       
                        case "1":
         $temps = "地";
         break;                   
                        case "2":
         $temps = "水";
         break;                   
                        case "3":
         $temps = "火";
         break;                   
                        case "4":
         $temps = "木";
         break;
                        case "5":
         $temps = "風";
         break;
                        case "6":
         $temps = "毒";
         break;   
                        case "7":
         $temps = "無";
         break;   
                }

下面,加上
代碼: 選擇全部
if($getitemlist[d_id]==0){$d_name="";}else
                {
                   if(eregi(",",$getitemlist[d_id])){$getitem=split(",",$getitemlist[d_id]);$getitemlist[d_id]=array_pop($getitem);}
                   $get_d=$DB_site->query("select d_name from wog_df where d_id=".$getitemlist[d_id]."");
                   $g_d=$DB_site->fetch_array($get_d);
                   $d_name="$g_d[d_name]";
                }


尋找
代碼: 選擇全部
$m_topr = $imodify["m_topr"];

上面,加上
代碼: 選擇全部
if($d_id==0){$d_name="";}else
{
   if(eregi(",",$d_id)){$getitem=split(",",$d_id);$d_id=array_pop($getitem);}
   $get_d=$DB_site->query("select d_name from wog_df where d_id=".$d_id."");
   $g_d=$DB_site->fetch_array($get_d);
   $d_name="$g_d[d_name]";
}


完畢。 :o




回到 精華區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客

cron