1 頁 (共 1 頁)

[分享]V3 - 裝備特性化

文章發表於 : 2007-04-01 5:25 pm
逍遙亂舞
已解決 寫:
逍遙亂舞 寫:小弟把涅大很久以前發佈的裝備特性化‧改裝進V3,結果卻出現了不能冒險的問題,但經驗卻有增加,不知道是甚麼原因
請問有誰能夠幫幫小弟?
請到http://www.et99.org/viewtopic.php?t=29380觀看修改方法

文章發表於 : 2007-04-01 11:49 pm
涅魂
V3與以前版本的結構不同,而該篇文章中的內容只適用V2.8以前的版本

所以我們無法得知您的程式碼是如何修改的,請說明一下您修改的情形吧

文章發表於 : 2007-04-02 12:59 am
reload0402
這問題好像也常困擾一些玩家@@
也許可以找個時間把修改於V3的方法POST上來
應該可以大大便利許多架設者:)

文章發表於 : 2007-04-02 2:44 am
齋月
揉揉眼睛.....
真的是R耶 :shock: (搓)

文章發表於 : 2007-04-02 2:18 pm
逍遙亂舞
R大回來了~不知R大同不同意我們把你做的外掛發佈出來呢?
圖檔
↑就是這個

回涅大:
建立wog_skill資料表和在wog_df建立d_att欄位已經做了

class/wog_fight_m.php 寫:
代碼: 選擇全部
function fight_count($user_id,$p,$m,$cp=0,$pet=null,$p_support=null,$my_member="",$datecut=0)
覆蓋為
代碼: 選擇全部
function fight_count($user_id,$p,$m[color=red],$att=""[/color],$cp=0,$pet=null,$p_support=null,$my_member="",$datecut=0)
再於function fight_count裡的第一個
代碼: 選擇全部
//######### pact ##########(己方攻擊開始)
下加入
代碼: 選擇全部
            if(!empty($att["plus"]))
            {
               eval($att["plus"].";");
            }
            if(!empty($att["hp"]))
            {
               eval("\$p[p_hp]=$p[p_hp]$att[hp];");
            }
然後將
代碼: 選擇全部
function win_check($user_id,$p,$m,$my_member,$datecut)
覆蓋為
代碼: 選擇全部
function win_check($user_id,$p,$m[color=red],$att[/color],$my_member,$datecut)
然後在
代碼: 選擇全部
         $money=$this->get_money($m[m_hpmax],$m[m_at],$m[m_mat],$m[m_lv])*$this->skill_money_up;
下加上
代碼: 選擇全部
if(is_array($att))
{
eval("\$exp=\$exp$att[exp];");
eval("\$money=\$money$att[money];");
}


class/wog_fight_select.php 寫:在function fire的第一個
代碼: 選擇全部
$pet=$DB_site->query_first($sql);
下加上
代碼: 選擇全部
            //D_ATT_START
            $att=array("at" => "","mat" => "","df" => "","mdf" => "","agl" => "","m_at" => "","m_mat" => "","m_df" => "","m_mdf" => "","m_agl" => "","sk_hp" => "","money" => "","exp" => "","plus" => "");
            $d=$DB_site->query_first("select a.d_att as a,b.d_att as body,c.d_att as head,d.d_att as hand,e.d_att as foot,f.d_att as item
            from wog_player g left join wog_df a on g.a_id=a.d_id
            left join wog_df b on g.d_body_id=b.d_id
            left join wog_df c on g.d_head_id=c.d_id
            left join wog_df d on g.d_hand_id=d.d_id
            left join wog_df e on g.d_foot_id=e.d_id
            left join wog_df f on g.d_item_id=f.d_id
            where g.p_id=".$user_id." ");
            for($at=0;$at<6;$at++)
            {
               if($d[$at]!=0)
               {
                  $get=$DB_site->query_first("SELECT sk_at,sk_mat,sk_df,sk_mdf,sk_agl,sk_m_at,sk_m_mat,sk_m_df,sk_m_mdf,sk_m_agl,sk_hp,sk_exp,sk_money,sk_plus FROM wog_skill WHERE sk_id=$d[$at]");
                  $att["at"]=(!empty($get["sk_at"]))?$get["sk_at"]:$att["at"];
                  $att["mat"]=(!empty($get["sk_mat"]))?$get["sk_mat"]:$att["mat"];
                  $att["df"]=(!empty($get["sk_df"]))?$get["sk_df"]:$att["df"];
                  $att["mdf"]=(!empty($get["sk_mdf"]))?$get["sk_mdf"]:$att["mdf"];
                  $att["agl"]=(!empty($get["sk_agl"]))?$get["sk_agl"]:$att["agl"];
                  $att["m_at"]=(!empty($get["sk_m_at"]))?$get["sk_m_at"]:$att["m_at"];
                  $att["m_mat"]=(!empty($get["sk_m_mat"]))?$get["sk_m_mat"]:$att["m_mat"];
                  $att["m_df"]=(!empty($get["sk_m_df"]))?$get["sk_m_df"]:$att["m_df"];
                  $att["m_mdf"]=(!empty($get["sk_m_mdf"]))?$get["sk_m_mdf"]:$att["m_mdf"];
                  $att["m_agl"]=(!empty($get["sk_m_agl"]))?$get["sk_m_agl"]:$att["m_agl"];
                  $att["hp"]=(!empty($get["sk_hp"]))?$get["sk_hp"]:$att["hp"];
                  $att["exp"]=(!empty($get["sk_exp"]))?$get["sk_exp"]:$att["exp"];
                  $att["money"]=(!empty($get["sk_money"]))?$get["sk_money"]:$att["money"];
                  $att["plus"]=(!empty($get["sk_plus"]))?$get["sk_plus"]:$att["plus"];
               }
            }
            eval("\$p[p_at]=\$p[p_at]".$att["at"].";");
            eval("\$p[p_mat]=\$p[p_mat]".$att["mat"].";");
            eval("\$p[p_df]=\$p[p_df]".$att["df"].";");
            eval("\$p[p_mdf]=\$p[p_mdf]".$att["mdf"].";");
            eval("\$p[p_agl]=\$p[p_agl]".$att["agl"].";");
            eval("\$m[m_at]=\$m[m_at]".$att["m_at"].";");
            eval("\$m[m_mat]=\$m[m_mat]".$att["m_mat"].";");
            eval("\$m[m_df]=\$m[m_df]".$att["m_df"].";");
            eval("\$m[m_mdf]=\$m[m_mdf]".$att["m_mdf"].";");
            eval("\$m[m_agl]=\$m[m_agl]".$att["m_agl"].";");
            if($p["p_at"]<=0){$p["p_at"]=1;}
            if($p["p_mat"]<=0){$p["p_mat"]=1;}
            if($p["p_df"]<=0){$p["p_df"]=1;}
            if($p["p_mdf"]<=0){$p["p_mdf"]=1;}
            if($p["p_agl"]<=0){$p["p_agl"]=1;}
            if($m["m_at"]<=0){$m["m_at"]=1;}
            if($m["m_mat"]<=0){$m["m_mat"]=1;}
            if($m["m_df"]<=0){$m["m_df"]=1;}
            if($m["m_mdf"]<=0){$m["m_mdf"]=1;}
            if($m["m_agl"]<=0){$m["m_agl"]=1;}
            //D_ATT END
然後將
代碼: 選擇全部
               $wogclass->fight_count($user_id,$p,$m,0,$pet,$p_support,$my_member,$datecut);
覆蓋為
代碼: 選擇全部
               $wogclass->fight_count($user_id,$p,$m,0,$pet,$p_support,$my_member,$datecut[color=red],$att[/color]);
然後將function fire_cp裡的
代碼: 選擇全部
            $cp=$wogclass->fight_count($user_id,$p,$m,-$wog_arry["cp_mmoney"],NULL,NULL,"",time());
覆蓋為
代碼: 選擇全部
            $cp=$wogclass->fight_count($user_id,$p,$m[color=red],""[/color],-$wog_arry["cp_mmoney"],NULL,NULL,"",time());

唯一沒做的是這個
※為防止取值時出現錯誤,請自行在wog_df中新增一筆d_id=0且d_att=0的資料

文章發表於 : 2007-04-03 1:57 pm
逍遙亂舞
還沒有人回覆喔=.=

文章發表於 : 2007-04-03 8:16 pm
涅魂
抱歉,目前正處於期中考,所以不能處理比較麻煩的問題

請容我在明天下午時再回覆您的問題,謝謝^^

文章發表於 : 2007-04-04 8:24 pm
逍遙亂舞
不用急...我很有耐性的!我會慢慢等待

文章發表於 : 2007-04-04 9:43 pm
涅魂
已經整理出來了,請閱讀我從外掛區移出來的這篇文章吧^^

[外掛](ALL)裝備特性化.改

文章發表於 : 2007-04-05 2:39 pm
逍遙亂舞
萬分感謝涅大喔!!