苏州媒婆婚礼问题(泥潭2单机)
本帖最后由 xiuliinlove 于 2013-11-8 17:40 编辑算了,前面我被定式思维给欺骗了,一直折腾的是suzhou目录下的meipo,如今仔细看了hongniangzhuang的代码才发现载入的居然是adm下的meipo。
在meipo文件里注释掉了转移月老的语句,可以进行拜堂之后的流程了。虽然没有完全解决问题(不注释还是会报错),但我的水平也只能搞到现在这样了。
估计会每次办婚礼yinyuantang都会多个yuelao出来,不知道mud重启多出来的yuelao会不会消掉……
单机泥潭2结婚测试,拜完堂后会提示:
“(执行时段错误:*call_other() couldn't find object
程式:feature/move.c 第 80 行
物件:/d/suzhou/npc/yuelao#3997
呼叫来自:adm/npc/meipo.c 的 last_marry() 第 632 行,物件: adm/npc/meipo#3705 ("媒婆")
呼叫来自:feature/move.c 的 move() 第 80 行,物件: d/suzhou/npc/yuelao#3997 ("月老")
媒婆笑着对二人说:“今个儿是你们大喜的日子,我没有什么礼物,只好送给你们这对新人一对结婚戒指吧)”
谁后拜就在谁那里显示这个错误信息,先拜的那个正常,然后后面的自动去酒楼的流程就停止执行了。
单机泥潭四里测试了一下,居然能正常执行后面去酒楼的流程。然后我把单机泥潭4的meipo.c和move.c都复制到单机泥潭2,结果还是出现同样的错误提示。又把泥潭4的mudos也复制过来,结果泥潭2直接不能注册账号了(输入中文名字报错)……
折腾了好久也没搞定。
请问:错误提示里面的问题应该是哪个文件导致的?我怀疑可能是mudos有问题,比如不支持call_other什么的,但mudos我不会改……
能通过修改meipo或者move的代码来搞定么?
相关文件部分相关代码:
meipo:
……
call_out("do_right",1,me,obj);
call_out("last_marry",1,ob,me,obj);
return 1;
}
}
int do_right(object me, object ob)
{
string fn;
string fc;
object ring;
message("visoin", name() + "笑着对二人说:“今个儿是你们"
"大喜的日子,我没有什么礼物,只好送给你"
"们这对新人一对结婚戒指吧!”\n\n", environment(me));
fc = read_file(MARRY_RING);
fc = replace_string(fc, "LONG_DESCRIPTION",
"这是" + me->name(1) + "和" +
ob->name(1) + "的结婚戒指,是两人的定情之物。\n");
// give ring to me
fn = RING_DIR + me->query("id");
if (file_size(fn + ".c") > 0)
{
if (ring = find_object(fn)) destruct(ring);
rm(fn + ".c");
}
assure_file(fn);
write_file(fn + ".c", fc);
ring = load_object(fn);
ring->move(me, 1);
tell_object(me, HIY "你获得了一个结婚戒指。\n" NOR);
me->set("can_summon/" + "wedding ring", fn);
// give ring to ob
fn = RING_DIR + ob->query("id");
if (file_size(fn + ".c") > 0)
{
if (ring = find_object(fn)) destruct(ring);
rm(fn + ".c");
}
assure_file(fn);
write_file(fn + ".c", fc);
ring = load_object(fn);
ring->move(ob, 1);
tell_object(ob, HIY "你获得了一个结婚戒指。\n" NOR);
ob->set("can_summon/" + "wedding ring", fn);
// record
me->set("couple/witness", name());
me->save();
ob->set("couple/witness", name());
ob->save();
return 1;//这个是meipo.c的632行
}
int last_marry(object ob,object me,object obj)//拜堂结束
{
object moon,room;
if(!(room = find_object("/d/suzhou/yinyuan-tang")))
room = load_object("/d/suzhou/yinyuan-tang");
moon = present("yue lao", room);
moon->move("/u/smallfish/workroom");
ob->delete_temp("wait_time");
ob->delete_temp("marry/money");
say("媒婆喊道:“轿夫!快将新人送到迎宾楼举行婚宴,我和月老就不去了,呵呵!”\n说完一扭一扭地向西边走去。\n");");
……
move:
……
if (objectp(dest))
ob = dest;
else
if (stringp(dest))
{
call_other(dest, "???");//这个是move.c的80行
ob = find_object(dest);
if (! ob) return notify_fail("move: destination unavailable.\n");
} else
return notify_fail(sprintf("move: invalid destination %O.\n", dest));
……
不知道为什么泥潭2里报错,也不知道为什么泥潭4里能够正常执行,泥潭2和泥潭4里都没有那个/u/smallfish/workroom目录和文件的,sign。希望有空能帮忙看看……
另外,我在排除skills代码的比较明显的错误,还没弄完。建议检查一下daojian-guizhen.c和wudang-zhang/zhen.c的me->add("neili",xxx)代码,里面应该是少了个负号,会把本来应该减内力的行为变成加内力(泥潭2里错误,看了下泥潭4里也没修正,所以以泥潭4为基础的需要检查一下,泥潭单机里错别字神马的还是不少的)……
/u/smallfish/workroom.c 是巫师的工作室, 随便建
wudang-zhang的pfm早就被我砍掉了
daojian-guizhen的什么? 我搜了下没看到 add neili 有问题啊 本帖最后由 xiuliinlove 于 2013-11-10 00:44 编辑
是开碧落 发表于 2013-11-9 14:22 static/image/common/back.gif
/u/smallfish/workroom.c 是巫师的工作室, 随便建
wudang-zhang的pfm早就被我砍掉了
那可能是已经修正了。
daojian-guizhen.c 练习(practice应当是add负的内力)
看了下,手上几个不同地方下载的nt4,有的是有负号,有的是没负号的……
婚礼问题不去弄了,因为我发现泥潭里结婚两个id也不能互学和教授武功了……
nt2的所有skills和pfm基本都看过一遍,修正了很多错别字和不当描述。挑出几个比较大的错误,供检查代码参考:
1 dugu-jiujian 修正jue精神判断,去掉jing_cost负号(if (me->query("jing") < -jing_cost)
return notify_fail("你现在太累了,无法集中精神演练「总诀式」!\n");)
2 taiji-quan 修正yin命中时增加消耗内力和不命中时增加消耗内力(原来不命中时消耗内力反而比命中时消耗多)
3 tanzhi-shentong 修正huayu命中时自己为消耗内力(少个负号)(if (ap / 2 + random(ap) > dp)
{
damage = damage_power(me, "finger");
me->add("neili", 350);)
4 yunlong-jian 修正yu命中时消耗内力(少个负号)
上面的是pfm的,下面的是skills本身的:
5 piaoxue-zhang.c 修正功夫id(if (me->query_skill("strike", 1) < me->query_skill("sixiang-zhang", 1))
return notify_fail("你的基本掌法太差,无法领会更高深的飘雪穿云掌。\n");)
6 rulai-zhang.c 修正功夫id(if (me->query("str") < 26)
return notify_fail("你先天膂力不足,无法学习淳厚的古拙掌法。\n");)
另外问下:梵文怎么学?貌似九阴真经上好多功夫需要梵文,但我没找到哪里教授梵文……
xiuliinlove 发表于 2013-11-10 00:32 static/image/common/back.gif
那可能是已经修正了。
daojian-guizhen.c 练习(practice应当是add负的内力)
看了下,手上几个不同地方 ...
梵文 大理一灯学
r dali;n;w;w
页:
[1]