[心得] 區域寫作 ROOM

看板mud_mars作者 (Eplis)時間11年前 (2012/09/27 15:32), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串1/2 (看更多)
這篇會介紹房間的寫法,這邊先放上一個範例,再來一行一行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
區域編輯器 是各大mud自己寫的嗎??還是有通用的
09/27 18:28, 2F

09/27 18:38, , 3F
應該是通用的吧,我有用過叫什麼XXX orb的
09/27 18:38, 3F

09/27 19:47, , 4F
沒有通用 因為很多都是後來自己有加東西
09/27 19:47, 4F
文章代碼(AID): #1GP03r98 (mud_mars)
討論串 (同標題文章)
文章代碼(AID): #1GP03r98 (mud_mars)