- 精华
- 阅读权限
- 130
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2010-6-10
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2011-12-24 17:37:17
|
显示全部楼层
首先叫你如何用william 制作任务。
物品兌換的資料表為william 與 william_2
物品附加魔法的資料表為william2
成套變身的資料表為william3, 我的範例為: 若穿上內衣以及抗魔法鬥篷會變身成狼人,並伴隨屬性增加
特殊物品觸發怪物的資料表為 william4 , 我的範例為: 若身上帶有解毒藥水, 會出現史巴托來喝掉你身上的物品
特殊物品觸發怪物的資料表為 william5 , 我的範例為: 若身上帶有肉, 且在布魯迪卡洞點兩下使用,會出現史巴托
怪物說話的資料表為william6 , 我的範例為: 打史巴托的時候, 他會跟你說\"打死你\" XD
武器進化的資料表為william7, william8 , 我的範例為: 裝備著銀長劍找npc(在潘朵拉附近) 進行升級,但是要付出一些金錢
簡單新增兌換NPC的資料表為 william9
魔法攻擊plugin的資料表為 william10
順便提一下,資料庫不做I18N(效率考量)且資料庫的設定改了,系統要重開哦
我的開發環境 java 6 , eclipse 3.3 , mysql 5.1 , navicat mysql , windows xp
歡迎跟我討論設計手法,謝謝
特別感謝ffsaga , andy52005
資料表簡單解釋
table william { 兌換任務
command: 存放html檔案\"action\"的值, 當使用者用滑鼠選擇想要兌換的物品,就會觸發此命令
htmlid: 代表系統要使用哪種html 跟玩家溝通,
htmldata: 代表html對話內容的置換
materials: 代表玩家要準備什麼東西, 若是多種物品請用逗號區隔
counts: 跟materials搭配, 代表此物品需要的數量, 多種請用逗號區隔,但務必一對一跟materials相應
createitem: 兌換的物品, 若是多種可以用逗號區隔
createcount: 兌換的數量,若是多種可以用逗號區隔, 但務必一對一跟createitem相應
activated_leve: 等級限制,若不限制填0
activated_timestart:
activated_timeend:
activated_type:
若 type=1 , 則
activated_timestart填入日期,例: 20071020
activated_timeend: 填入日期,例: 20071030
代表隻有在 10/20 到 10/30 之間才能觸發
若 type=2 , 則
activated_timestart填入時間(24hr),例: 9
activated_timeend: 填入時間(24hr),例:23
代表每天9點到23點之間才能觸發
若activated_timestart與activated_timeend都是null,
代表不做時間限制(此時type是甚麼都不重要)
islimit: 若為1代表隻能觸發一次 , 下次再來會被拒絕, 若非1, 代表可以連續觸發任務
justcheck:
若為1代表隻會檢查身上有沒有 materials 所指定的東西 , 並不會兌換物品,
若身上有指定物品有則觸發 html 裡面所指定的任務
enable: 若為1代表此資料有效, 非1則系統不予理會
}
table william_2 { 當 islimit 設定為1時候, 記載使用者有執行此任務,避免連續觸發
使用者這不用設定此table
...
}
table william2 { 武器附加魔法
weaponid: 武器編號
skillid: 技能編號
areaskill: 此技能影響的範圍
damage: 此技能傷害值
who: 填0就會傷害自己, 非0就傷害敵人
skillrandom: 魔法發動機率
}
table william3 { 成套變身
sets: 防具成套設定填入防具代號, 可以填入多個 , 用逗號\",\" 區隔
polyid: 變身成哪種怪請參考polymorphs 這個資料表的代號
SkillIconGFX1: 這個沒用請一律填寫35
SkillIconGFX2: 這個好像有用,若不清楚請填寫7200, 這好像跟荒神底下魔法陣有關
str: 當變身時候能力值增加
.... : 其他也是相關能力值增加
}
table william4{ 若玩家身上有特定物品,走路時,會隨機招換怪出來
materials: 代表玩家要準備什麼東西, 若是多種物品請用逗號區隔
counts: 跟materials搭配, 代表此物品需要的數量, 多種請用逗號區隔,但務必一對一跟materials相應
destroy: 當檢查有符合的物品,是否刪除
random: 呼叫怪的成功率
monster_id: 怪的ID
}
table william5{ 若玩家在指定的矩形還有指定的地圖上使用materials指定的物品(點兩下該物品),就招怪
materials: 代表玩家要準備什麼東西, 若是多種物品請用逗號區隔
counts: 跟materials搭配, 代表此物品需要的數量, 多種請用逗號區隔,但務必一對一跟materials相應
destroy: 當檢查有符合的物品,是否刪除
monster_id: 怪的ID
location_minx: 矩形x的最小值
location_miny: 矩形y的最小值
location_maxx: 矩形x的最大值
location_maxy: 矩形y的最大值
map_id: 地圖ID
}
table william6{
npc_id: 怪物ID
random: 講話機率
talktext: 講話內容
type: 1: 怪物搜尋狀態 2:攻擊狀態 3: 死亡時候講的話 4: 逃跑講得話
}
table william7{ 這table玩家不用維護
weapon_oid: 玩家身上的武器物件ID(Object ID), 不是武器ID哦
exp: 此武器目前經驗值
}
table william8{ 設定哪些武器可以升級
weapon_id: 武器ID
upgrade_exp: 升級必須的經驗值
upgrade_weapon_id: 升級之後變成哪種武器ID
materials: 代表玩家要準備什麼東西, 若是多種物品請用逗號區隔
counts: 跟materials搭配, 代表此物品需要的數量, 多種請用逗號區隔,但務必一對一跟materials相應
}
table william9{ 方便新增兌換任務的NPC
npcid: 自訂NPC ID , 請不要跟別的NPC ID衝突
type: 請填 L1Merchant
gfxid: 這我不知道是甚麼, 可能是人物的造型吧,不知道請填 98
name: NPC名稱
htmlid: 觸發此NPC對話的 html 檔, 當然玩家要有吃此檔案
htmldata: 此NPC講話的內容, 若要拆成多段變數, 以便對應html檔的 <var src=\"#0\">
請用\",\"來區隔, ps . 因此講話內容, 請避開逗號這個字 \",\" , 因為是分段用的
location_x: NPC 所在的地方
location_y:
map
}
table william10{ 魔法攻擊plugin
oid: 唯一值, 判別用.
class_name: plug-in 類別 , 改類別必須繼承 l1j.william.L1MagicPlugin
}
很簡單的,這寫不是我寫的,我這是幫你複制下而已!
教導如何輕鬆創造怪物NPC(魔法攻擊+掉落物品)
應該許多人不會在新地圖內創造怪物
有的人創造出來卻不知道在哪裡增設掉落物品或者是怪物施放魔法
這篇教學可以讓你創造自我的風格
不需要動到核心(應用DB內擁有的魔法)
所以隻要會複製貼上跟打打數字的人都學的會= =\"
PS:首先不管那種版本..必須要有完整的圖檔
1、先設定要新增在哪一個地圖裡?
舉例:在亞丁城地監3樓增設怪物(這是一個新地圖,舊版本的很多沒有開放這塊地圖)所以必須要
先知道地圖的座標及地圖編號..
地圖編號可以在mapids內看到,有的版本可以在旁邊看到XY軸的座標,有的無法,如果看不到的
人就必須麻煩點,上線開GM飛進去試試看
如何飛進去呢?想必還是有人不知道=.=\"開GM打指令..
有的GM指令是:移動 X座標 Y座標 地圖編號( 記得要空格 ),如果不一樣請自行找找吧!!
這樣就可以去飛進去新地圖試看看了
2、飛進去新地圖之後就找一個點當做傳送或是指定捲軸的座標,指定卷軸請去etcitem內找尋指定捲
軸找一個不需要的更改名子座標及地圖編號(這樣就不需要去核心內增設新的指定捲軸);傳送師就
請去更改teleport內的座標或新增,但必須要改對話檔( 這部份就要去找尋相關文章,這裡不多說
了)
3、再來就是新增怪物在地圖上了,使用GM指令在地圖指定地點打(.定點創怪NPC編號)有些指令不
同..
自行區分,這樣就可以將想要的怪物創造到定點地圖中...接下來就是看自己要放多少怪在地圖中..
也可以利用地圖增加2倍怪物的方式來增加怪物量 ( 地圖中增加2倍怪物量..請參考相關文章 )
4、增設怪物掉落物品..請在droplist這邊修改dropId(這是排序編號..照排就行了)、mobId(這是怪
物NPC編號)、itemId(這是掉落物品的編號)請自行搜尋etcitem( 物品)、weapon(武器)、
armor(防具)、min(掉落最小值),max(掉落最大值)、special(掉落機率%,通常設定
100000)、chance(掉落%多少)
假設:special=100000(為100),那chance=10000,那掉落機率為10000/100000=1/10
5、最後增設怪物魔法
請打開mobskill及skills還有npc這三個資料庫
舉例:a、先創一隻怪物>>>>瑪依奴夏門(BOSS),官方資料會出現雷霆風暴及閃電之錘
b、接著到skills新增魔法skill_id(這是排序編號..順序下來就可以了)、mame(瑪依奴夏門-雷
霆風暴)、skill_level~到最後面的都可以用複製的....複製哪個呢? 依照我的資料庫可以看
到>>吸血鬼-雷霆風暴所以後面都可以複製吸血鬼的資料...最主要可以調整power(這是
攻擊力量)
c、再來就是設置mobskill...
mobid(這是排序編號..順序下來就可以了)、actNo(這是攻擊順序,必須由0開始;假設
攻擊1就要打0,攻擊2就要打1...以此類推)、mobname(瑪依奴夏門-雷霆風暴),接著後
面一樣複製(一樣搜尋吸血鬼-雷霆風暴),注意更改SkillId編號(假設上面skills那邊的編號
是10000,這邊就是一樣10000);也可以不需要改(因為同是雷霆風暴,效果一樣)除非
你有變更skills裡面的數據
這樣怪物就會出現魔法攻擊了!!
這邊多做一個說明..有的怪物魔法資料庫會不存在...例如:閃電之錘這個魔法在我的資料庫就找不到..所以我就大約幻想應該是哪種魔法現象@@\"..就用[ 神官長‧邦妮-閃電之擊 ]取代..所以瑪依奴夏門的閃電之錘就變成閃電之擊
還有一個狀況就是[ 瑪依奴夏門的鑽石高崙-究極光列術 ]這個情況比較特殊..所以這邊解釋一下
目前應該隻有這隻怪會使用究極光列術...所以無法重別的資料複製過來...
我的方法是..究極光列術是一種單體攻擊..所以複製[ 長者-極道落雷 ] 的資料..然後將skills內的castgfx(這是魔法圖檔)變更究極光列術的圖檔..再將power調高..這樣究極光列術就完成了
請不要用範圍攻擊的資料覆蓋單體攻擊的資料...這樣怪物會自己打到自己..
這樣一張新地圖新怪物就誕生了,如果想要研究skills及mobskills裡面各種功能的話..這邊不多做說明
可以自行研究....這篇隻是讓不想麻煩跟不懂的新手做為參考資料 |
|