罪惡城及其周邊區域開放。 - 聖殿英雄傳說 MUD

Lucy avatar
By Lucy
at 2015-11-14T15:17

Table of Contents

※ 引述《hlead (希多)》之銘言:
: → hlead : 掉落物與新型態防具還要在特別看一下怎麼弄。 11/14 11:13
: → hlead : 預計都會弄成虛擬物品及未鑑定裝備之類。 11/14 11:14
: → hlead : 話說 recall -record 用途是啥?.. 11/14 11:15
: → hlead : 設了後看不懂實際用途。...xd 11/14 11:15

> vobjs -mob_drop
怪物掉落物設定選單:
================================
1.創建新目錄
2.刪除某目錄(laechan 限定)
3.列出所有目錄
4.列出某一目錄下的所有設定
5.列出所有目錄下的所有設定
6.進入某一目錄做細部設定
7.離開
================================
請選擇: 5
cd .
cd /d/aty/bird/mob
vobjs -mob_drop zombie1 set m068 = 500
vobjs -mob_drop corpse3 set m068 = 500
vobjs -mob_drop corpse2 set m068 = 500
vobjs -mob_drop wraithzombie1 set m068 = 500
cd /d/blood/mob
vobjs -mob_drop mob2 set m824 = 50
vobjs -mob_drop mob2 set m829 = 10
vobjs -mob_drop mob6 set m802 = 100
.
.

上面列出來的的東西,意思是說將它們原封不動地「複製」,再
「貼上」,就會去執行每一行「指令」。

(每一行都代表一個指令,也就是 vobjs -mob_drop 支援 quick 模式)

一、先 cd 到要設定的目錄
二、vobjs -mob_drop zombie1 set m068 = 500
↑     ↑   ↑
│     │   └─掉落機率 50.0%
           │     │
           │     └──── m068這項虛擬物品(也可接實體物品檔)
           │
           └──────────該目錄下的 zombie1.c 這個怪物檔

這樣玩家打死這隻怪物,呼叫了 /adm/daemons/mob_d.c 的 die 函數時就
會去執行掉落物的判斷。

===========================================================================

未鑑定裝備的設定主要在 /std/new_ob/

> ls
4 area_mob.h 1 cape_set.c 1 mask_set.c
1 arm.c 1 cloth.c 1 medicine.c
1 arm_set.c 1 cloth_set.c 1 misc.c
1 armor.c felid/ 1 misc_set.c
1 armor.h 1 foot.c 1 necklace.c
5 boat.20130910 1 foot_set.c 1 necklace_set.c
6*boat.c 1*gmonster.c 1*npc.c
1 boss.c instance/ 1 set_d.c
1 bracelet.c 4*instance_room.c 1 smonster.c
1 bracelet_set.c map/ syt/
1 cape.c 1 mask.c vobjs/

例如最近泰帕依區域會掉 necklace 類的防具,more necklace_set.c

> more necklace_set.c
inherit __DIR__+"set_d.c";

mixed return_ob_effect(string ftype)
{
switch(ftype)
{
case "克迷倫":
return ({"kemi" ,"精美小墬鍊", 10, 10, 10, 10, 10, 10, 0});
case "黔闇城":
return ({"dark" ,"黑夜項鍊", 20, 20, 20, 20, 20, 20, 0});
case "泰帕依":
switch(random(3))
{
case 0: return ({"tapay" ,"黑魔項鍊", 60, 0, 0,-20, 30, 50, 0});
case 1: return ({"tapay" ,"黑晶墜鍊", 40, 0, 0,-20, 35, 60, 0});
case 2: return ({"tapay" ,"闇芒之鍊", 55, 0, 0,-20, 40, 55, 0});
}
default: return ({"sanc" ,"聖殿項鍊", 50,-50, 50, 0, 0, 0, 0});
}
}

然後再去 /u/p/ppl/hiei/tapay/tapay1/mob 去 da mob5

(我在 /u/p/ppl/hiei/tapay/tapay1/area.h 設定只有 mob5 會掉 necklace)

> da mob5
Object : 怪物(blackwitch /u/p/ppl/hiei/tapay/tapay1/mob/mob5)
drop_types :({ "necklace" })
ftype : "泰帕依"

從上面就可判斷,只要 area.h 有設定資料,area_room.c 就會將該資料
設定到怪物的 drop_types 欄位;而 ftype 欄位則是 gmonster.c的統一
設定:

> more gmonster.c
:::::::::::::: /u/p/ppl/hiei/tapay/tapay1/gmonster.c ::::::::::::::
inherit "/std/new_ob/gmonster.c";

void create()
{
::create();
seteuid(getuid(this_object()));
set("drop_rate",1);
set("ftype","泰帕依");
}

上面可看到該檔繼承 /std/new_ob/gmonster.c,這個檔就自訂了 die 函
數(而且視情況它依舊會做 ::die(ppl))

其 die 函數的部份內容就如下:

r=random(sizeof(drop_types));

// 叫出相對映的 /std/new_ob/防具型態.c
if(catch(ob=clone_object(__DIR__+drop_types[r])))
{
::die(ppl);
return 1;
}

換言之,剛呼叫出來時就只是該型態的防具,要等鑑定了,才會去做
switch(random(n)) 的動作,來決定鑑定出來的是底下的哪一件:

case "泰帕依":
switch(random(3))
{
case 0: return ({"tapay" ,"黑魔項鍊", 60, 0, 0,-20, 30, 50, 0});
case 1: return ({"tapay" ,"黑晶墜鍊", 40, 0, 0,-20, 35, 60, 0});
case 2: return ({"tapay" ,"闇芒之鍊", 55, 0, 0,-20, 40, 55, 0});
}

比方玩家可能得到 黑魔項鍊 或是 黑晶墜鍊 或是 闇芒之鍊:

一、負值代表玩家鑑定完該防具時,可能有哪些屬性會是負屬性
二、0 值代表玩家鑑定完該防具時,哪些屬性不可能出現
三、數字以 fel str dex air con mag int 順序排列
四、一定要有「負值」及「0 值」,以及 int 值通常為 0

新增或修改了 /std/new_ob/ 下的檔案時要說一下,以及遵循新型態
防具的屬性設定原則:


===================================================================

// Laechan@Sanc add in 2013/08/13
if(str && str=="-record")
{
write("你紀錄了 recall 點。\n");
me->set_temp("crystal_broken_env",base_name(env));
}

> grep -n s001 user_d.c
[/adm/daemons/user_d.c]
433:object s001;
443: if(!s001)
444: s001=find_object_or_load("/adm/daemons/eq/s001");
536: if(me->query_vobjs("s001")>0)
555: call_other(s001,"pre_die",me,killer);

所以 more /adm/daemons/eq/s001.c

tell_object(me,HIC"\n你的生命水晶在你即將陣亡時爆了開來!\n\n"NOR);

// Laechan@Sanc add in 2013/08/13
// 增加登錄陣亡地點
me->set_temp("crystal_broken_env",base_name(environment(me)));


好像有一個機制是,可以讓玩家爆水晶→重新領水晶→依 crystal_broken_env
的設定回到陣亡點再戰→如果又爆水晶→重覆上面

然後如果不想使用該機制了就用 recall -record 蓋掉原本的陣亡點即可。

那這個機制倒是衍生了其它想法例如「儲存重生點」,也就是說比方玩家擔
心進某區域可能會掛掉爆水晶,那先用 recall -record 紀錄一下重生點這
類的,等爆水晶→領完水晶→再利用某種方式回到紀錄的重生點,就可以省
下再走區域的時間這樣。

(然後應該是因故沒有實裝其它的東西啦我猜,有可能是 SAO 計劃的一環)


LAechan

--
Tags: 線上

All Comments

William avatar
By William
at 2015-11-17T21:29
我以為是可以更改recall時會傳送到的地點...

安黛莉 霧水 物品被盜

Dorothy avatar
By Dorothy
at 2015-11-14T14:23
1.伺服器:安黛莉 2.分流:ch-HOUSE 3.情報物(有圖片可附圖):武鬥兔、星星的兔 房屋內為贓物 4.現在遊戲時間:下午兩點發現廣播 5.備註:請大家不要去購買 -- 機 動 戦 ...

隊伍平均分配

Xanthe avatar
By Xanthe
at 2015-11-14T11:56
是依照什麼去平均分的啊........ 這兩天剛好有時間玩一下,在戰車都遇到我這邊整隊就我一個紅牌,其他都藍綠牌 對面又紅又紫的還鑲金框 Orz 兩場都被對方嗆:新手就是要教育才會成長、教育新手是我的責任 -.- 當然我是沒有很強,但是整隊被關住根本打不出去....... - ...

安黛莉 11/14 騙子時間

Jessica avatar
By Jessica
at 2015-11-14T09:31
1.伺服器:愛黛莉 2.分流:ch-762135 3.情報物(有圖片可附圖): 4.現在遊戲時間: 5.備註: 按照騙子死亡時間排序 C7 8:26 C6 8:32 C2 8:37 C1 8:51 ...

罪惡城及其周邊區域開放。

Heather avatar
By Heather
at 2015-11-14T09:23
大致上結構示意圖: 獸人大陸 | 盜賊公會 出口 | ...

光明使者即將到來 英雄等級系統改版

Necoo avatar
By Necoo
at 2015-11-14T08:02
11/17 改版網頁連結 http://dn.gameflier.com/ep/20151117_light/index.html#2 原來銀色果子還沒開放阿 地獄玩具巢穴開放 英雄等級系統開放 大富翁第6季開放 看到後面有資格查詢,不意外大概是師徒或者是回歸者的活動。 謎之聲: 打 ...