副本 - 聖殿英雄傳說 MUD

Harry avatar
By Harry
at 2018-05-14T11:00

Table of Contents

剛實驗,可以了,以下為全檔。

// 簡單副本
// /std/new_ob/instance/laechan/006.c
// 該副本設定於 /u/l/laechan/workroom, instance -list 後可選
// "測試串接副本" 的單人 or 多人模式, 進入後往南走兩格, 殺掉
// 所有 corps, 理論上就會出現 next 的出口,連往第二副本
#include "../instance.h"
inherit INSTANCE_OB;

void create()
{
string tmp;
int i;
::create();
seteuid(getuid(this_object()));

set("pre_clean",1);
instance_cd_times=INSTANCE_CD_TIMES;

// 設定區開始

// 理論上多張地圖可畫在同一 map2data 中, 重點在新增出口串接
// 同一副本下模擬其為多個副本的適當做法應該就是這樣, 結案

// 兩個副本寫在同一張 map2data 內
// 分隔方式不一定要照下面, 只要確定副本與副本間原本並無出口連接即可
// 微複雜的多層式副本原則上可以照此做法去設定
instance_map2data=@LONG
501
|
502
|
503

504-505-506
LONG
;

instance_names="測試串接副本";
instance_comm=(["xxxxx":1]);
instance_data=([
"503":([
"instance_check":1,
]),
]);
instance_paths="/u/l/laechan/area/felid/room/"; // 副本實際區域目錄
instance_ob=base_name(this_object()); // 固定
// 副本區域房間範圍, 第一個 room (如083) 固定為起點
instance_files=({
"501","502","503","504","505","506"
});
// 底下固定
foreach(tmp in instance_files)
instance_files[i++]=instance_paths+tmp;

// 怪物資料 files 必備, 其它就是 short, long, ... 等可自訂
instance_mob_datas=([
"corps1":(["files":"/u/l/laechan/area/felid/mob/corps1",
"level":150,
]),
]);
// 副本各房間生怪資料, 所生的怪在 instance_mob_datas 都要有定義
instance_mobs=([
"5":([
"501":({"corps1","corps1"}),
"502":({"corps1","corps1"}),
"503":({"corps1","corps1"}),
"504":({"corps1","corps1"}),
"505":({"corps1","corps1"}),
"506":({"corps1","corps1"}),
]),
]);

// 設定區結束
}

int instance_check(string files,object room)
{
mixed ppl_rooms;
int flags,t;
string ppl_names;
object ob;

switch(files)
{
case "503":
flags=(int)room->query("instance_flags");
t=time();
switch(flags)
{
case 0:
// 工兵都被消滅時
if(!present("felid corps",room))
room->set("instance_flags",1);
break;

case 1:

// 先改 flag
room->set("instance_flags",2);
// 讀取副本創建者
ppl_names=room->query("instance_player");
// 載入 /std/new_ob/instance_rooms.c 物件
ob=find_object_or_load(INSTANCE_ROOMS);
// 讀取該副本下的所有房間, 未來可增加讀取特定房間的函數語法
ppl_rooms=ob->ppl_instance("query",ppl_names);
// 設定連往虛擬第二副本的出口
room->set("exits/next",ppl_rooms["/u/l/laechan/area/felid/room/504"]);

break;
}
break;
}
return 1;
}


--
Tags: 線上

All Comments

半藏484過強

David avatar
By David
at 2018-05-14T10:49
汝提 箭速加快之後遠距離更好中 E的CD短 平推還能拿來破盾 刺客跳過來 空白鍵快速連按兩下 開e然後左鍵壓著 咻咻咻咻 背後有輔助 一次幹兩個刺客不是問題 現在的半藏484過強 各位Bang藏麵覺得呢 好啦其實我就是那個半藏main(人權只有水白金就不po了) 昨天打快速的時候赫然發覺 現在的 ...

ESPN:OWL擴增參賽權的價格預期將達3到6千

Anthony avatar
By Anthony
at 2018-05-14T09:11
https://i.imgur.com/74HVGm5.jpg 來源:Overwatch League expansion slots expected to be $30-60 million from Jacob Wolf http://www.espn.com/esports/story/_/id/2 ...

GAMER 皇家追加金卡

Eden avatar
By Eden
at 2018-05-14T08:34
情報來源:https://www.gamer.ne.jp/news/201805140001/ 情報詳細內容: 悪魔伯爵・ダリオ 皇家金卡 指揮官 2/2/1→2/4/3 能力:對手的卡牌能力可以指定時,只能指定這隻生物。 不會被卡牌的能力直接破壞(依然會受到攻擊傷害、法術傷害等破壞) ...

慈善實況P6 elspeth

Todd Johnson avatar
By Todd Johnson
at 2018-05-14T04:26
實況網址:https://www.twitch.tv/elspeth 實況主ID:elspeth 簡介: 對這位實況主不太了解,單純活動掛獎勵用 是說到六點也剩沒多久時間了,下次該早點發 Kappa -- 推 tom91002: 真的,婕翎一定是故意要霸凌Sandy,所以才在節目途中朝 01/12 ...

韓服活動-史詩之路2.0

Lauren avatar
By Lauren
at 2018-05-14T04:12
※ 引述《grant202 (ˋ(°▽ ° )ノˋ( ° ▽)》之銘言: : 推 grant202: 我是覺得真的接95的話也不是不好,讓路克更平民化 05/13 17:01 : → grant202: 倒是真的要解決95 epic強度平衡的問題,雖然我不太期待 05/13 17:01 : ...