作者laechan (小太保)
看板mud_sanc
标题Re: [问题] 问题
时间Tue Apr 8 18:40:53 2014
※ 引述《justinj (黑旋风)》之铭言:
: 问题 1:
: 你发觉蟑螂对你展开攻击!
: ☆☆☆ 战 斗 开 始 ☆☆☆
: 你发觉蟑螂对你展开攻击!
: 你发觉蟑螂对你展开攻击!
: 你发觉蟑螂对你展开攻击!
: 你发觉蟑螂对你展开攻击!
: 你发觉蟑螂对你展开攻击!
: 其实只有3只而已....这个通常发生在那个房间还没启动时
这原因很简单,因为新型态区域的写法问题,我有空把它修一下好了。
(在旧区域不会有这问题)
: 问题2:
: 不知道是不是副本没写完..
: instance_data :([ "short" : "[副本]武魂殿的厨房", "long" : "\n 这里是武魂
: 殿的厨房,时常有黑色的生物从这里进进出出的\n,所以这里的卫生不太好,请将这里打
: 扫乾净保持卫生。\n\n" ])
: long :"\n这里是一片广大的草原,穿越了层层的杂草来到了这里,你被眼\n
: 前的景象吓了一跳,竟然会是一小片的矮草区,虽然此处的草都\n长不高,但前面尽是一
: 堆比你还要高的草,你心想应该是过不去\n了。你仔细一看,发现地上有些许\的圆形痕
: 迹,而且周围的草却\n没有枯\萎看来似乎是某种神奇的力量所造成的。\n\n"
: short :"[副本]\t -- 坎达尼亚草原 --"
: 我想房间设定上面那个short及long..
这要检查 create_instance
// 然後载入 iroom 的预先设定集
if(instance_data[tmp])
{
tmps2=keys(instance_data[tmp]);
if(sizeof(tmps2)>0)
foreach(tmp2 in tmps2)
iroom->set(tmp2,instance_data[tmp][tmp2]);
}
// iroom 剩下的未设定项目就使用 oroom 原来的设定
// 而且限定在 short, long, item_desc 三项
if(!iroom->query("short"))
iroom->set("short","[副本]"+oroom->query("short"));
从上面你可以发现,如果 instance_data 里面有设定 short 资料,
它就会先在 iroom 上面设定 short,则「理论上」,oroom 的short
就不会设到 iroom 上面。
iroom: 副本房间 oroom: 原先的房间
所以除非 if(!iroom->query("short")) 这一句有问题,而我在撰写
之初这一句是的确有问题的,我改成 query_ob_data() 的做法後就
解决,我最近会再改成这种做法。
: 问题3:
: 副本那边..有没有法子全部都是载入同一种房间(反正就问题2是这个没法度去设定才出现的)
: instance_files=({
: "083","084","085","086","087","088","089","090",
: "091","092","093","094","095","096","097","098","099","100",
: });
这什麽意思?
另外我会给副本房间一些弹性,如果它侦测到 "/" 就直接读档,没
有侦测到就 INSTANCE_PATH + files[i] 这样。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.224.75.120
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1396953656.A.D1F.html
※ 编辑: laechan (61.224.75.120), 04/08/2014 18:43:31
1F:推 justinj :原本的副本是"截取"一段现存的区域变成副本(但原区域 04/09 08:36
2F:→ justinj :长什麽样子副本就是这个样子) 04/09 08:37
3F:→ justinj :我想多一种副本是 一个房间+地图(或只给房间方向)去 04/09 08:38
4F:→ justinj :演变成副本....不过问题2解决了.那问题3我自己改改看 04/09 08:39
我不太建议这样─但是副本系统可以支援。
不太建议的原因是,这样你的副本档 xxx.c 会设定过长,它有折衷
的做法就是你可以用区域产生器,把副本地图丢进去,让它产生出房
间,这样你的 xxx.c 档就可以只设定 short、long 及生怪资料,而
不必包含 exits 资料。
我之前有贴一篇说明「为何我觉得每一个副本都有一个原生区域会比
较好」的文,你可以参看:
http://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1393213631.A.8DD.html
我猜测暗黑三也是同样的做法,它并不是玩家每一次进去都是随机地
图随机产生出口,而是「地图早就存在了,只是让玩家觉得随机」,
关键就在於它不是单一伺服器,以圣殿的说法就是,圣殿就算只有单
一伺服器,我也可以先产生出一百张「每张之间都只有些微差异的地
图」,然後玩家每次进一张地图就是从这一百张里面随机挑一张,这
样同样能具现所谓的随机地图。
换言之,我认为你自己写一个 001.c 然後
instance_rooms=({
"001","001","001",......
});
这样也可以,因为 instance_rooms 有包括出口设定,你自订出口就
相当於每个房间都是不同出口,甚至在 init_instance 里面写随机
改变出口的呼叫也不是不行,但是与其这样,还不如一开始就有原生
区域(尤其现在从地图→区域是已经有现成工具了),你会更好设定,
设定档也不会过长,我是觉得,一但连每个房间的 long 都要设定到
xxx.c 那还不如现在就思考有没有更好的设定方式,我的原意是只有
少数房间需要额外设定 long。
Laechan
※ 编辑: laechan (210.61.157.53), 04/09/2014 10:31:15