[外掛](ALL)修行屋..

版主: 涅魂, 簫哥

頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

[外掛](ALL)修行屋..

文章Kagami » 2005-08-13 3:32 pm

呵呵..如果運不好..能力可會減的..不過可以自己修改...
這個外掛很簡單的..只不過是依等級下降屋修改的= =
先到phpmyadmin加入以下的code
代碼: 選擇全部
ALTER TABLE `wog_player` ADD `p_moral`  tinyint(4) unsigned NOT NULL ;


之後
打開/class/wog_act_chara.php
找:
代碼: 選擇全部
function revive($user_id)
   {
      global $DB_site,$wog_arry,$lang;
      $DB_site->query("update wog_player set p_hp=p_hpmax,p_exp=p_exp*0.8 where p_id=".$user_id);
      showscript("parent.job_end(19)");
   }


在下加上:
代碼: 選擇全部
 function ulv($user_id)
   {
      global $DB_site,$wog_arry,$lang;
                   $have_price=$DB_site->query_first("select p_money,p_lv,p_moral from wog_player where p_id=".$user_id."");
         if($wog_arry["chang_ulv"]>$have_price[0] || $have_price[p_lv]<500 || $have_price[p_moral]>0){
            alertWindowMsg("金額不足 或 角色等級低於500不能使用此功能 或 悟性不足");
         }
                $r=rand(-100,200);
                $DB_site->query("update wog_player set p_str=p_str+$r,p_smart=p_smart+$r,p_au=p_au+$r,p_be=p_be+$r,p_life=p_life+$r,p_agl=p_agl+$r,p_at=p_at+$r,p_df=p_df+$r,p_mat=p_mat+$r,p_mdf=p_mdf+$r,p_moral=p_moral+1,p_exp=0,p_money=p_money-".$wog_arry["chang_ulv"]." where p_id=".$user_id);
                showscript("parent.job_end(31)");
   }


打開:wog_act.php
找:
代碼: 選擇全部
           case "revive":
         revive($HTTP_COOKIE_VARS["wog_cookie"]);
         break;


在下加上:
代碼: 選擇全部
case "ulv":
        ulv($HTTP_COOKIE_VARS["wog_cookie"]);
        break;


找:
代碼: 選擇全部
//##########################  function revive  #################
function revive($user_id)
{
   $wog_act_class = new wog_act_chara;
   $wog_act_class->revive($user_id);
}


在下在上:
代碼: 選擇全部
//##########################  function ulv  #################
function ulv($user_id)
{
   $wog_act_class = new wog_act_chara;
   $wog_act_class->ulv($user_id);
}


打開wog.js
找:
代碼: 選擇全部
view_name.document.write('<tr><td >其他商店</td><td> <input type="button" value="銀行中心" onClick=parent.act_click("bank","view")>

在後加上:
代碼: 選擇全部
 <input type="button" value="修行屋" onClick=parent.act_click(\'chara\',\'ulv\')>


找:
代碼: 選擇全部
s[18]="放生成功";

在下加上:
代碼: 選擇全部
s[31]="修行成功";


打開wog_act_config.php
找:
代碼: 選擇全部
$wog_arry["chang_sex"]=1000000;//變性費用

在下加上:
代碼: 選擇全部
$wog_arry["chang_ulv"]=1000000;//修行費用


完成..
如果不想修行屋只能用一次..找:
代碼: 選擇全部
$have_price[p_moral]>0

把0修改成你的最多上限..
加時候最大的直...
找:
代碼: 選擇全部
$r=rand(-100,200);

-100為最小的數..200為最大數..
有bug,suggestion請說出..


最後由 Kagami 於 2005-08-14 2:41 pm 編輯,總共編輯了 7 次。


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

文章涅魂 » 2005-08-13 3:41 pm

用眼睛找到一個....= =+
代碼: 選擇全部
$wog_arry["chang_ulv=1000000;//修行費用

少了陣列的右括號了...
代碼: 選擇全部
$wog_arry["chang_ulv[color=red]"][/color]=1000000;//修行費用


還有這個..
代碼: 選擇全部
//##########################  function ulv  #################
function ulv($user_id)
{
   $wog_act_class = new wog_act_chara;
   $wog_act_class->ulv($user_id);
}
[color=red]}[/color]

多一個括號
代碼: 選擇全部
//##########################  function ulv  #################
function ulv($user_id)
{
   $wog_act_class = new wog_act_chara;
   $wog_act_class->ulv($user_id);
}




頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-08-13 3:47 pm

原文修正了....




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

文章涅魂 » 2005-08-13 3:51 pm

而亂數增值的製作方式....
先在程式中加入一個變數指派為一值落於50至200的亂數
代碼: 選擇全部
$r=rand(50,200);

接著將程式中增加能力的部分從+200改成+$r
代碼: 選擇全部
p_str+=$r

大概就這樣。 :wink:



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-08-13 4:05 pm

涅魂 寫:而亂數增值的製作方式....
先在程式中加入一個變數指派為一值落於50至200的亂數
代碼: 選擇全部
$r=rand(50,200);

接著將程式中增加能力的部分從+200改成+$r
代碼: 選擇全部
p_str+=$r

大概就這樣。 :wink:

謝謝大大..加入到原文了... :lol:



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-08-14 2:17 pm

呵呵..剛剛找到了新功能..就是加運氣了..
打開/class/wog_act_chara.php
找:
代碼: 選擇全部
function ulv($user_id)
   {
      global $DB_site,$wog_arry,$lang;
                   $have_price=$DB_site->query_first("select p_money,p_lv,p_moral from wog_player where p_id=".$user_id."");
         if($wog_arry["chang_ulv"]>$have_price[0] || $have_price[p_lv]<500 || $have_price[p_moral]>0){
            alertWindowMsg("金額不足 或 角色等級低於500不能使用此功能 或 悟性不足");
         }
                $r=rand(-100,200);
                $DB_site->query("update wog_player set p_str=p_str+$r,p_smart=p_smart+$r,p_au=p_au+$r,p_be=p_be+$r,p_life=p_life+$r,p_agl=p_agl+$r,p_at=p_at+$r,p_df=p_df+$r,p_mat=p_mat+$r,p_mdf=p_mdf+$r,p_moral=p_moral+1,p_exp=0,p_money=p_money-".$wog_arry["chang_ulv"]." where p_id=".$user_id);
                showscript("parent.job_end(31)");
   }


改成:
代碼: 選擇全部
function ulv($user_id)
   {
      global $DB_site,$wog_arry,$lang;
                   $have_price=$DB_site->query_first("select p_money,p_lv,p_moral from wog_player where p_id=".$user_id."");
         if($wog_arry["chang_ulv"]>$have_price[0] || $have_price[p_lv]<500 || $have_price[p_moral]>0){
            alertWindowMsg("金額不足 或 角色等級低於500不能使用此功能 或 悟性不足");
         }
                $r=rand(-100,200);
                $DB_site->query("update wog_player set p_str=p_str+$r,p_smart=p_smart+$r,p_au=p_au+$r,p_be=p_be+$r,p_life=p_life+$r,p_agl=p_agl+$r,p_at=p_at+$r,p_df=p_df+$r,p_mat=p_mat+$r,p_mdf=p_mdf+$r,p_luck=p_luck+5,p_moral=p_moral+1,p_exp=0,p_money=p_money-".$wog_arry["chang_ulv"]." where p_id=".$user_id);
                showscript("parent.job_end(31)");
   }


完成..
p.s.這個沒加入原文中...


最後由 Kagami 於 2005-08-14 2:51 pm 編輯,總共編輯了 1 次。


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

文章涅魂 » 2005-08-14 2:47 pm

總覺得運氣好像提高太多了....(汗

另外,若不會再更新的話我就會將這篇移到外掛區囉...
若還會更新的話請發文聲明即可。 :wink:



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-08-14 2:51 pm

涅魂 寫:總覺得運氣好像提高太多了....(汗

另外,若不會再更新的話我就會將這篇移到外掛區囉...
若還會更新的話請發文聲明即可。 :wink:

喔喔..己修正lu..
更新...想不到有啥新功能要加了吧..
如果有新功能再用短訊息發給你吧= =




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

文章涅魂 » 2005-08-14 3:01 pm

給你個建議... :wink:

可以在裡面加上依等級限制使用修行屋時能力會有不同幅度的增減
而按鈕的話就像商店街那樣,只是不用寫成[lv?]這個樣子
像這樣
代碼: 選擇全部
[初級修行屋] [中級修行屋] [高級修行屋]

而判斷時可以這樣判斷
代碼: 選擇全部
switch($u_lv)
{
case "1":
$r_max=10;
$r_min=-5;
break;
case "2":
$r_max=25;
$r_min=-10;
break;
case "3":
$r_max=50;
$r_min=-25;
break;
}

而亂數取值的話最好能夠每個能力的增減都不同
所以可以將之前的$r=......刪掉
而能力增加部分可以改成這樣
代碼: 選擇全部
p_str+=".rand($r_max,$r_min)."

以上。 :wink:



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-08-14 3:30 pm

如果依照大大的建議..
wog_act_chara.php
應該是:
代碼: 選擇全部
 function ulv($user_id)
   {
      global $DB_site,$wog_arry,$lang;
                   $have_price=$DB_site->query_first("select p_money,p_lv,p_moral from wog_player where p_id=".$user_id."");
         if($wog_arry["chang_ulv"]>$have_price[0] || $have_price[p_lv]<500 || $have_price[p_moral]>10){
            alertWindowMsg("金額不足 或 角色等級低於500不能使用此功能 或 悟性不足");
         }
                switch($u_lv)
{
case "1":
$r_max=10;
$r_min=-5;
break;
case "2":
$r_max=25;
$r_min=-10;
break;
case "3":
$r_max=50;
$r_min=-25;
break;
}
                $DB_site->query("update wog_player set p_str+=".rand($r_max,$r_min).",p_smart+=".rand($r_max,$r_min).",p_au+=".rand($r_max,$r_min).",p_be+=".rand($r_max,$r_min).",p_life+=".rand($r_max,$r_min).",p_agl+=".rand($r_max,$r_min).",p_at+=".rand($r_max,$r_min).",p_df+=".rand($r_max,$r_min).",p_mat+=".rand($r_max,$r_min).",p_mdf+=".rand($r_max,$r_min).",p_moral=p_moral+1,p_exp=0,p_money=p_money-".$wog_arry["chang_ulv"]." where p_id=".$user_id);
                showscript("parent.job_end(31)");
   }

這樣吧..
但wog.js..我不知應怎寫..因為剛剛學php= =




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

文章涅魂 » 2005-08-14 8:04 pm

差不多就是那樣子 :wink:
不過我把一個地方忘掉了..
就是$u_lv應該要改成$_POST[temp_id]才對...因為這是從wog.js用act_click()傳過來的值。

而wog.js的部分可先將商店街的三個lv複製下來之後再改名,然後再修改一下傳送的值即可。 :wink:



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-08-14 8:30 pm

大大可以給我一個例子嗎?
我做過2次修改..一次是用
代碼: 選擇全部
onClick="parent.th_submit
..一次是用
代碼: 選擇全部
onClick=parent.act_click

可是2個都修改不成功= =
代碼: 選擇全部
onClick="parent.th_submit(\'chara\',1,\'ulv\')

是我的例子..




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

文章涅魂 » 2005-08-14 8:57 pm

代碼: 選擇全部
onClick=parent.act_click("train",/'/',1)

像這樣
然後還要記得在wog_act.php中新增相對應的類別。 :wink:



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-08-14 10:21 pm

對我有點難度..不知怎加= =
還是算了吧..=口=




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

文章涅魂 » 2005-08-14 11:01 pm

那...你可以先去瞭解一下function act_click()函式的運作方式, 然後再去找act_click()的實際運用例子
然後再追蹤用act_click()傳出去的值的型態會變成怎樣...
以上是我當初要瞭解act_click()的運作方式時所用的方法...僅供參考^^"



下一頁

回到 外掛區

誰在線上

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