[心得] 區域寫作 ROOM
這篇會介紹房間的寫法,這邊先放上一個範例,再來一行一行trace code XD
===================================================================
#3735
皇宮城牆~
當你爬上皇宮城牆,從這裡可以向北瞭望整個諾瓦提利亞城市,南邊
則是十分神祕的皇宮,至今仍未對外開放,能通過的只有皇宮內的人
,和少數達官貴族。這裡的高度很適合監視著周遭的變化,只是這裡
並不開放給一般人上來,依照花園內衛兵們的謹慎態度,出現在這裡
恐怕不是個好的主意,也許要小心謹慎一點!
~
0 4|16384|32768|65536|131072|262144 1
D1
皇宮城牆
~
~
0 0 3701
D3
皇宮城牆
~
~
0 0 3734
S
====================================================================
#3735
房間編號,Mars的區域檔通是以100為單位,也就是這個區域編號是 37
皇宮城牆~
房間名稱
當你爬上皇宮城牆,從這裡可以向北瞭望整個諾瓦提利亞城市,南邊
則是十分神祕的皇宮,至今仍未對外開放,能通過的只有皇宮內的人
,和少數達官貴族。這裡的高度很適合監視著周遭的變化,只是這裡
並不開放給一般人上來,依照花園內衛兵們的謹慎態度,出現在這裡
恐怕不是個好的主意,也許要小心謹慎一點!
~
要注意 ~ 符號代表結尾
0 4|16384|32768|65536|131072|262144 1
這邊有三個部分,以空白隔開,分別是[area] [flag] [sector],
再來分別解釋這三個屬性
[area] 這部分我也不是很清楚,就先寫預設值 0
[flag] 這格房間的屬性,每個數值用 | 隔開
:#define ROOM_DARK 1 黑暗
:#define ROOM_NO_MOB 4 Mob禁止進入
:#define ROOM_INDOORS 8 室內
:#define ROOM_PRIVATE 512 只能兩個人進入
:#define ROOM_SAFE 1024 禁止戰鬥
:#define ROOM_SOLITARY 2048 只能一個人進入
:#define ROOM_PET_SHOP 4096 商店
:#define ROOM_NO_RECALL 8192 不能祈禱天神傳送
:#define ROOM_SPECIAL 16384 呼叫char_move special函式用
:#define ROOM_NO_TELEPORT 32768 不能使用隨機傳送進來
:#define ROOM_NO_SUMMON 65536 這格Mob不能被summon
:#define ROOM_NO_QUIT 131072 不能在這格quit
:#define ROOM_NO_FIXEXIT 262144 不能在這格設點
:#define ROOM_OF_SKY 524288 天空的房間
:#define ROOM_PK 1048576 PK房間
[sector] 代表這格房間的地勢,可能平地、平原、高山等
:#define SECT_INSIDE 0 室內
:#define SECT_CITY 1 城中
:#define SECT_FIELD 2 平原
:#define SECT_FOREST 3 森林
:#define SECT_HILLS 4 山丘
:#define SECT_MOUNTAIN 5 高山
:#define SECT_WATER_SWIM 6 需要會游泳
:#define SECT_WATER_NOSWIM 7 需要船
:#define SECT_UNUSED 8
:#define SECT_AIR 9 需要飛翔術
:#define SECT_DESERT 10 沙漠
:#define SECT_DIVE 11 需要會潛水
:#define SECT_MAX 12 最高
D1 D代表門,也就是出口方向 N:0 E:1 S:2 W:3 U:4 D:5
皇宮城牆 下一格出口的房間名稱
~ 按照預設格式 ~
~ 按照預設格式 ~
0 0 3701
這邊有三種屬性,分別是[door] [key] [to_room]
[door] 設定門的狀態,狀態分別如下
若輸入0則代表沒有門
#define EX_ISDOOR 1 一般門
#define EX_CLOSED 2 關上的門
#define EX_LOCKED 4 鎖上的門
#define EX_PICKPROOF 32 可以撬開的門
[key],如果這是一個鎖上的門,則這邊要輸入開啟這道門的key編號
[to_room]下一格的房間編號
D3
皇宮城牆
~
~
0 0 3734
S 最後這格房間在 S 結尾
有些房間會看到類似這種敘述 此處有一個告示牌(sign)立在這。
在程式當中並不需要真的新增一個 sign 物件,可以直接使用 E 這個功能,
例如要新增一個 sign 敘述,則在上述的程式碼當中改成這樣
D3
皇宮城牆
~
~
0 0 3734
E sign~
Hello Sign !
~
S
E後面空格接的是物件的英文名稱 sign
再來是使用兩個 ~ 括住敘述,敘述內容就看你怎麼發揮了
格式就是玩家在遊戲中 look sign 看到的內容
這樣一格ROOM就完成啦!像諾瓦提利亞這樣的區域就剛好是100格整
非常龐大也要花很多時間在寫敘述,下一篇會介紹更困難的物件......
--
Mars-瑪爾斯群英傳,為一種多人的地下城文字網路遊戲(MUD),
以西方魔法奇幻風格為背景,讓玩家扮演各種職業進行冒險、解謎。
IP:220.135.242.105:8888 討論板: PTT mud_mars
Eplis @ Mars
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.69.213.141
※ 編輯: eplis 來自: 42.69.213.141 (09/27 15:32)
※ 編輯: eplis 來自: 42.69.213.141 (09/27 15:33)
推
09/27 18:19, , 1F
09/27 18:19, 1F
推
09/27 18:28, , 2F
09/27 18:28, 2F
推
09/27 18:38, , 3F
09/27 18:38, 3F
→
09/27 19:47, , 4F
09/27 19:47, 4F
討論串 (同標題文章)
mud_mars 近期熱門文章
10
10
PTT遊戲區 即時熱門文章
32
102