[討論]FFA WOG php模組結構~

WOG設定安裝教學

版主: 涅魂, 簫哥

zoochung
 
文章: 9
註冊時間: 2005-03-17 5:44 am

[討論]FFA WOG php模組結構~

文章zoochung » 2005-04-04 4:40 pm

找了好久好像沒有人發這類的文章...
我想要能吸收有能力修改的人...
這是一個很好的方法吧~

希望已經有修改經驗的大大們能在這邊打出自己發現的心得...
例如...FFA裡面所有設定變數的意義...
或是各類函數的功能...
以及各檔案之間串聯的意義(include)等等...
這樣有助於開發更多插件...
也助於整合於更多論壇及CMS裡...




ETERNAL
 
文章: 2928
註冊時間: 2003-12-03 11:08 pm
性別: 男生

文章ETERNAL » 2005-04-04 10:37 pm

這建議不錯
wog的函數很多,整理起來也頗累人的
大家一起來努力吧,我相信整理出來
可以讓想製作外掛的人,方便很多


水色論壇 http://www.et99.net
簡恩峻分享


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

文章涅魂 » 2005-04-05 9:04 pm

wog_class.php
1.function fight($f_a,$f_lv,$f_s,$d_d,$d_lv,$d_s)#2005/04/05
功能:處理戰鬥中依屬性而改變的傷害值
變數:$f_a:玩家的攻擊力(攻擊力*奧義攻擊力)
   $f_lv:玩家的等級
   $f_s:玩家的屬性
   $d_d:敵人的防禦力(防禦力*奧義防禦力)
   $d_lv:敵人的等級
   $d_s:敵人的屬性
凾式內容:
步驟1 寫:
代碼: 選擇全部
$temp_at=($f_a/$d_d);

意義:令$temp_at為$f_a除$d_d的值

步驟2 寫:
代碼: 選擇全部
$temp_lv=$f_lv-$d_lv;

意義:令$temp_lv為$f_lv減$d_lv的值


步驟3 寫:
代碼: 選擇全部
      if($temp_at < 0){$temp_at=1;}
      if($temp_lv < 0){$temp_lv=1;}

意義:替$temp_at 和$temp_lv 除錯


步驟4 寫:
代碼: 選擇全部
$temp_s=$f_s-$d_s

意義:令$temp_s為$f_s減$d_s的值

若玩家的屬性為火,敵人的屬性為水,則$temp_s的值為3-2=1
若玩家的屬性為毒,敵人的屬性為地,則$temp_s的值為6-1=5
若玩家的屬性為風,敵人的屬性為無,則$temp_s的值為5-7=-2
$temp_s的值會影響步驟5的結果

步驟5 寫:
代碼: 選擇全部
      switch($temp_s)
      {
         case -1:
            $temp_s=1.3;
         break;
         case 1:
            $temp_s=0.7;
         break;
         case 5:
            $temp_s=1.3;
         break;
         case -5:
            $temp_s=0.7;
         break;
         default:
            $temp_s=1;
         break;
      }

意義:判別$temp_s的值
若$temp_s為-1或5,則$temp_s設為1.3(玩家剋敵人)
若$temp_s為1或-5,則$temp_s設為0.7(敵人剋玩家)
若$temp_s不為以上結果,則$temp_s設為1(屬性不相剋)

步驟6 寫:
代碼: 選擇全部
$temp_d=(($f_a*$temp_at)-$d_d)*$temp_s;

意義:設$temp_d為$f_a乘$temp_at,再減$d_d,最後乘$temp_s

$f_a=100 $f_s=3 $d_d=20 $d_s=4
則$temp_at=5 $temp_s=1.3
因此$temp_d=((100*5)-20)*1.3=(500-20)*1.3=480*1.3=624

步驟7 寫:
代碼: 選擇全部
if($temp_d<=0){$temp_d=1;}

意義:替$temp_d除錯

步驟8 寫:
代碼: 選擇全部
$temp_rd=(int)$temp_d/$f_a;

意義:令$temp_rd為$temp_d除$f_a的值,且格式為int

$f_a=100 $temp_d=624
則$temp_rd=(int)624/100=(int)6.24

步驟9 寫:
代碼: 選擇全部
$temp_d=$temp_d+($temp_rd*rand(1,$temp_lv));

意義:令$temp_d為$temp_rd乘1到$temp_lv之間的亂數,再加$temp_d的值

$f_lv=24
$d_lv=5
$temp_d=624
$temp_rd=6.24
$temp_lv=$f_lv-$d_lv=24-5=21
rand(1,$temp_lv)=$temp_random=rand(1,21)=8
則$temp_d=624+(6.24*8)=624+49.92=671.92

步驟10 寫:
代碼: 選擇全部
return round($temp_d);

意義:傳回$temp_d的整數值

有時間再繼續增加..
我發現做這個雖然蠻花時間的....不過卻能夠更深入的了解程式..


最後由 涅魂 於 2005-04-07 10:03 pm 編輯,總共編輯了 2 次。
圖檔

頭像
New-TypeChobits
 
文章: 176
註冊時間: 2003-12-12 9:44 am
來自: HONG KONG
性別: 男生

文章New-TypeChobits » 2005-04-05 10:42 pm

其實我考慮過重新Design過Item系統的架構.... 但工程浩大.. 所以最後也放棄了..


人在江湖... 身不由己...


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

文章涅魂 » 2005-04-07 9:55 pm

小技巧..

小技巧1 寫:遊戲中也可以做出模擬提升能力的道具喔!只要設定道具的補血量不為0即可。
:1 0 0 0 0 0 0 0 10000 力量強化範例道具 5 1 0 0 1


小技巧2 寫:覺得"捕捉器"這個名稱不夠符合您的遊戲風格嗎,可是把名稱改掉之後卻又造成捕捉器失效嗎?
其實是因為有一個地方沒有作修改所以才會這樣,現在就來看看要如何修改吧。
1.將"捕捉器"的名稱更改,例如改成"棒棒糖"
2.開啟檔案wog/class/wog_fight_select.php

3.尋找
代碼: 選擇全部
"捕捉器"

4.覆蓋為
代碼: 選擇全部
"棒棒糖"

5.儲存,關閉所有檔案



有時間再增加....


圖檔


ETERNAL
 
文章: 2928
註冊時間: 2003-12-03 11:08 pm
性別: 男生

文章ETERNAL » 2005-04-07 11:56 pm

檔案wog_etc_peo.php
function peo_view($userid) 負責顯示線上名單

檔案wog_etc_race.php
function race_view($userid) 顯示出場的賽鳥
function race_end($userid) 顯示賽鳥結果

檔案wog_etc_well.php
function well_view() 顯示WOG首頁的冠軍狀態

檔案wog_etc_king.php
function king_view() 顯示英雄風雲榜



zoochung
 
文章: 9
註冊時間: 2005-03-17 5:44 am

文章zoochung » 2005-04-10 6:00 pm

目前著手製作插件~

就是能組隊打怪的功能...
不過好像蠻麻煩的...

看看大家是否支持就是囉~
(等更多結構出來...看能不能用更好的方法寫~)




ETERNAL
 
文章: 2928
註冊時間: 2003-12-03 11:08 pm
性別: 男生

文章ETERNAL » 2005-04-10 8:36 pm

zoochung 寫:目前著手製作插件~

就是能組隊打怪的功能...
不過好像蠻麻煩的...

看看大家是否支持就是囉~
(等更多結構出來...看能不能用更好的方法寫~)


組隊打怪是蠻麻煩的
所以目前都還沒這個功能
加油囉 :wink:



頭像
New-TypeChobits
 
文章: 176
註冊時間: 2003-12-12 9:44 am
來自: HONG KONG
性別: 男生

文章New-TypeChobits » 2005-04-11 9:11 am

重點是.. 組隊打怪是由誰帶隊.. 誰去打.. 還是一起打... 掉寶和Exp如何分配... 先想好概念... 有概念的話Coding就容易寫... :)


人在江湖... 身不由己...

zoochung
 
文章: 9
註冊時間: 2005-03-17 5:44 am

文章zoochung » 2005-04-13 1:07 am

哇咧...掉寶跟exp我還不知道怎麼寫ㄝ...我目前預設都一樣...
誰帶隊的我已經用誰提起就誰帶對作為預設了...
中途可離隊...
不過...我發現...要取消在線時間...不然會混淆...
(目前用文本暫存組隊的資訊...不過好像很佔資源...有更好的提議請幫忙~)



訪客
 

文章訪客 » 2005-04-13 5:36 pm

概念:
一定要有聊天室用來組隊,所以版本一定要有聊天室!
1.聊天室增加一些功能,例如:
當有人對你密語時,如果沒有人在,便會自動回覆!
2.當新手不明如何玩WOG時,可在聊天室內輸入:/news,這個指令,就可以得到詳細的資料在聊版出來,但一定要只是顯示該操作者的聊版,其他人不會顯示!
3.再加入一個聊天室功能,叫做組隊,有如New-TypeChobits所發佈的聊天室有私語,大家及組織,的聊版,加入組隊這一個聊版,只有組隊的人來可以聊天。
4.如何組隊,在聊天室輸入(私語)/come on,(對想組該玩家的人輸入唷),就是招攬組員,當只有一人時,開始收第一個組員的時候,令外的這一個人就為組長,然後只能有組長才可招人,那麼便好喔!
5.加入聊天室凡有人登入,就會顯示,玩家1登入了,如果有人登出,就顯示玩家1登出了,如果管理員對一些違反遊戲規則的玩家進行禁言,停權等,則該聊版就會顯示,管理員把XXX禁言了,原因:XXXXX,管理員把XXX停權了,原因:XXXXX,最好就是有設定解封時間,不是太想有永久停權唷~
6.應該加插一個炸機功能,主要原理,管理員等級分為:A等級管理員,B等級管理員,C等級管理員,只有A和B等級的管理員才可使用炸機功能,炸機的方法:當管理員對玩家1進行私語,輸入/eats,該玩家的電腦便會不停地彈出空白網頁(不停彈,設定時間唷),那樣就可以情處生事的玩家唷!
7.防止說粗言為語,當玩家輸入fuck,pk等字眼的時候,未發出,系統就會自動轟炸該玩家,原理也同上面一樣,就是狂出空白網頁。詳細原理可參考www.game80.com,在用戶輸入/這一個符號,不需輸入任何東西,然後禁下一層的密碼,按一下,然後你就會道是什麼事唷!
8.有關組隊如何計算的想法,暫時想不到了,有機會再post文,我會盡力思想的!



訪客
 

文章訪客 » 2005-04-13 5:48 pm

建議V3版可發佈埋怪物圖片,因為我知道很多人找不到圖片,但他的玩家認為是無聊遊戲而沒有繼續玩下去。
也希望有一個功能,但是我也不知道如何說,可能有些人說我白痴,但是我真是很希望有這一個功能唷,由於WOG是空間支持(php+mysql)的,空間,也要付錢,所以建議WOG加入一個做會員的功能,所賺回來的錢,便可以繼續開發WOG唷!
原理:
主要是轉至江湖的原理!
江湖,有加經驗,卡片等等,泡點加快
而WOG我的想法就是:
加等級,力量,生命等等,加入一些強化物品(等於江湖的卡片),打完一場戰役後就要等15秒,如果是會員就只等5秒(等於江湖的泡點加快)。

會員也設定分為1級會員,2級會員,3級會員等等~~~
1級會員又設定價錢,2級也是,3級也是。
當然,1級會員補的東西也是少些
2級就多些
3級也是!

例如:1級會員打完一場要等10秒
2級就等8秒
3級就等5秒

這個想法也是我在自己的WOG說有沒有得加東西,而然想到我自己所玩的江湖,也有這個功能,所以說WOG的空間也付錢,為什麼不制作一些加東的方法,然後賺錢金錢,繼續維持WOG發展下去。



訪客
 

文章訪客 » 2005-04-13 5:51 pm

usersaihou 寫:建議V3版可發佈埋怪物圖片,因為我知道很多人找不到圖片,但他的玩家認為是無聊遊戲而沒有繼續玩下去。
也希望有一個功能,但是我也不知道如何說,可能有些人說我白痴,但是我真是很希望有這一個功能唷,由於WOG是空間支持(php+mysql)的,空間,也要付錢,所以建議WOG加入一個做會員的功能,所賺回來的錢,便可以繼續開發WOG唷!
原理:
主要是轉至江湖的原理!
江湖,有加經驗,卡片等等,泡點加快
而WOG我的想法就是:
加等級,力量,生命等等,加入一些強化物品(等於江湖的卡片),打完一場戰役後就要等15秒,如果是會員就只等5秒(等於江湖的泡點加快)。

會員也設定分為1級會員,2級會員,3級會員等等~~~
1級會員又設定價錢,2級也是,3級也是。
當然,1級會員補的東西也是少些
2級就多些
3級也是!

例如:1級會員打完一場要等10秒
2級就等8秒
3級就等5秒

這個想法也是我在自己的WOG說有沒有得加東西,而然想到我自己所玩的江湖,也有這個功能,所以說WOG的空間也付錢,為什麼不制作一些加東的方法,然後賺錢金錢,繼續維持WOG發展下去。


補充:
名字在列表顯示不同唷-.-還顯示多少等級,多少等級會員唷!
只要滑鼠E動到點擊名字,就會顯示!



頭像
New-TypeChobits
 
文章: 176
註冊時間: 2003-12-12 9:44 am
來自: HONG KONG
性別: 男生

文章New-TypeChobits » 2005-04-14 3:42 pm

usersaihou 寫:概念:
一定要有聊天室用來組隊,所以版本一定要有聊天室!
1.聊天室增加一些功能,例如:
當有人對你密語時,如果沒有人在,便會自動回覆!
2.當新手不明如何玩WOG時,可在聊天室內輸入:/news,這個指令,就可以得到詳細的資料在聊版出來,但一定要只是顯示該操作者的聊版,其他人不會顯示!
3.再加入一個聊天室功能,叫做組隊,有如New-TypeChobits所發佈的聊天室有私語,大家及組織,的聊版,加入組隊這一個聊版,只有組隊的人來可以聊天。
4.如何組隊,在聊天室輸入(私語)/come on,(對想組該玩家的人輸入唷),就是招攬組員,當只有一人時,開始收第一個組員的時候,令外的這一個人就為組長,然後只能有組長才可招人,那麼便好喔!
5.加入聊天室凡有人登入,就會顯示,玩家1登入了,如果有人登出,就顯示玩家1登出了,如果管理員對一些違反遊戲規則的玩家進行禁言,停權等,則該聊版就會顯示,管理員把XXX禁言了,原因:XXXXX,管理員把XXX停權了,原因:XXXXX,最好就是有設定解封時間,不是太想有永久停權唷~
6.應該加插一個炸機功能,主要原理,管理員等級分為:A等級管理員,B等級管理員,C等級管理員,只有A和B等級的管理員才可使用炸機功能,炸機的方法:當管理員對玩家1進行私語,輸入/eats,該玩家的電腦便會不停地彈出空白網頁(不停彈,設定時間唷),那樣就可以情處生事的玩家唷!
7.防止說粗言為語,當玩家輸入fuck,pk等字眼的時候,未發出,系統就會自動轟炸該玩家,原理也同上面一樣,就是狂出空白網頁。詳細原理可參考www.game80.com,在用戶輸入/這一個符號,不需輸入任何東西,然後禁下一層的密碼,按一下,然後你就會道是什麼事唷!
8.有關組隊如何計算的想法,暫時想不到了,有機會再post文,我會盡力思想的!

1-7項也很簡單,用regex及event的概念已可以做到.. 但有必要嗎? @.@"


人在江湖... 身不由己...

訪客
 

文章訪客 » 2005-04-14 5:44 pm

對台灣人可能沒有這個必要,但是香港和澳門人的言行,就可能有這個需要了-.-你唔發覺好多聊天室比香港同澳門人玩,都有加呢d功能嫁咩-.-



下一頁

回到 精華區

誰在線上

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

cron