文字MUD游戏论坛-天下泥潭群英会-水泊梁山

文字MUD游戏论坛-天下泥潭群英会-水泊梁山 (http://www.aolai.org/forums/index.php)
-   『 巫师天下 』 (http://www.aolai.org/forums/forumdisplay.php?f=21)
-   -   【求助】有活人么,问个单机架设问题 (http://www.aolai.org/forums/showthread.php?t=11736)

kkkkk 2006-04-08 22:56

【求助】有活人么,问个单机架设问题
 
用的是西游记2000,就小熊下载的那个
但是为什么开封那几个npc就 一直不出来呢
clone都不行,是怎么回事,哪位大仙知道给解释一下啊
bow

fengyue_xyj 2006-04-09 15:10

回复: 【求助】有活人么,问个单机架设问题
 
:em01: 这个到没试过哦。。。

kkkkk 2006-04-09 22:48

回复: 【求助】有活人么,问个单机架设问题
 
把dtxy和4.5的那些npc文件拷进去也不行,update都不成,
fengyue帮忙啊
要不把你的能出npc的版本支援我一份?
不知道是不是mudos的问题?

onlyhero 2006-04-10 13:16

回复: 【求助】有活人么,问个单机架设问题
 
把你的开封npc文件发个上来看看。

kkkkk 2006-04-14 12:58

回复: 【求助】有活人么,问个单机架设问题
 
// cracked by vikee 2/09/2002 vikee@263.net
inherit NPC;

#include <quest_fd.c>
#include <reporting.c>

int test_player();

void create()
{
set_name("猪八戒", ({ "zhu bajie", "zhu", "bajie" }));
set("age", 600);
set("gender", "男性");
set("long", "嘿嘿,连老猪都不认识啦?\n");
set("attitude", "peaceful");
set("str", 50);
set("per", 10);
set("combat_exp", 1200000);
set("daoxing", 2000000);

set("max_kee", 1500);
set("max_sen", 1500);
set("max_force", 1500);
set("force", 1500);
set("force_factor", 150);
set("mana_factor", 150);
set_skill("unarmed", 90);
set_skill("dodge", 60);
set_skill("parry", 60);
set_skill("rake", 150);
set_skill("force", 80);
set_skill("spells", 80);
set_skill("baguazhou", 80);
set_skill("yanxing-steps", 70);
set_skill("skyriver-rake", 180);
map_skill("force", "lengquan-force");
map_skill("spells", "baguazhou");
map_skill("rake", "skyriver-rake");
map_skill("parry", "skyriver-rake");
map_skill("dodge", "yanxing-steps");
set("chat_chance",5);
set("chat_msg",({
"猪八戒乐呵呵地说道:西天归来,老猪便是天下美食家也。\n",
"猪八戒想想说:乡下发大水灾了,老猪该当救济饥民。\n",
"猪八戒说道:老猪要寻遍天下美酒佳肴,再请世人来俺帅府品尝品尝。\n",
"猪八戒说道:不是老猪贪嘴,俺老猪想凑个美宴,请平民百姓也能尝个新鲜。\n",
"猪八戒自言自语地说:俺老猪不是为自己,老猪想收集世上美食,让大唐人都能来尝尝。\n",
"猪八戒扭过身去捧起澡盆大的金饭盆吧嗒吧嗒大嚼了起来。\n",
"猪八戒弯腰捧起水桶大的银酒壶咕咚咕咚地灌了下去。\n",
}));
set("inquiry", ([
"here": "此乃天蓬帅府也,老猪西天归来后唐太宗御赐在此开府,专事饮食慈善业。\n",
"name": "猪八戒,谁人不知也。\n",
"food": (: test_player() :),
"美食": (: test_player() :),
"美酒": (: test_player() :),
"美宴": (: test_player() :),
"佳肴": (: test_player() :),
"食物": (: test_player() :),
"饮水": (: test_player() :),
"吃": (: test_player() :),
"喝": (: test_player() :),
]));
setup();
carry_object("/d/kaifeng/obj/jiuchipa")->wield();
carry_object("/d/obj/armor/tongjia")->wear();
}

void rewarding (object who, object ob);

void init ()
{
call_out ("check_player",1,this_player());
}

int test_player()
{
string *strs = ({
"$N略有所思地点点头对$n说道:俺老猪想给大唐人凑个美宴,正缺",
"$N对$n说道:老猪我四处寻求天下美味佳肴,正要找",
"$N对$n说道:对了乡下发大水灾,有几个灾民想要什么",
"$N对$n说道:京城客到,在开封府上,其中有一官人让老猪我代寻什么",
"$N对$n点头说道:水陆大会即将开宴请各路法师到会,听说有法师想要什么",
"$N对$n一点头说道:俺老猪救济饥民,听说正需要",
"$N想想说:有人倒是想让俺老猪给找个什么什么",
});
string str;
object me = this_object();
object who = this_player();
int *quest_keys;
string *quest;
int delay;
int i;

if (who->query("quest/reward") > 0)
{
message_vision ("$N对$n说道:这位"+RANK_D->query_respect(who)+
",俺见你身上祥云环绕,何不去从速赴长安进宫请赏?\n",me,who);
return 1;
}

if (who->query("quest/pending/food"))
{
message_vision ("$N对$n说道:这位"+RANK_D->query_respect(who)+
",俺还等着请您帮忙找的"+
who->query("quest/pending/food/name")+"呢!\n",me,who);
return 1;
}

quest_keys = me->query_temp("quest_keys");
if (! quest_keys)
{
quest_keys = sort_quests (quests_food);
me->set_temp("quest_keys",quest_keys);
}
i = quest_accurate_index (quest_keys, who);
i = quest_random_index (quest_keys, i, who, "quest/cache/food");
if (i == -1)
{
message_vision ("$N对$n叹气说道:这位"+RANK_D->query_respect(who)+
"该做的事做了不少,俺看您还是以后再来吧。\n",me,who);
return 1;
}
delay = MAXDELAY * i / sizeof(quest_keys) + DELAY_CONST + uptime();
quest = quests_food[quest_keys[i]];
who->set("quest/pending/food/index", i);
who->set("quest/pending/food/daoxing", quest_keys[i]);
who->set("quest/pending/food/name", quest[IDX_NAME]);
who->set("quest/pending/food/id", quest[IDX_ID]);
who->set("quest/pending/food/time", delay);
str = strs[random(sizeof(strs))]+quest[IDX_NAME]+
",\n这位"+RANK_D->query_respect(who)+
"可否赏老猪个大脸设法子去给弄来?\n";
message_vision (str,me,who);
informing (me,who,str);
return 1;
}

void check_player (object who)
{
object me = this_object();
object ob;

if (!who || !visible(who))
return;

if (! who || environment(who)!=environment(me))
return;

if (who->query("quest/reward") > 0)
{
message_vision ("$N对$n说道:这位"+RANK_D->query_respect(who)+
"身上祥云环绕,请速赴长安进宫请赏!\n",me,who);
return;
}

if (! who->query("quest/pending/food"))
return;

ob = present (who->query("quest/pending/food/id"),who);
if (! ob)
return;
if (! ob->query("no_give"))
return;

if (who->query("quest/pending/food/name") != ob->query("name"))
return;

message_vision ("$N见$n手上拿着"+ob->query("name")+",便赶紧伸手接过去。\n",me,who);
rewarding (who, ob);
destruct (ob);
}

int accept_object(object who, object ob)
{
object me = this_object();
int t;

/*
if (! ob->query("food_remaining") &&
! ob->query("liquid/remaining"))
{
message_vision ("$N摇摇头:俺老猪现在只须要吃的喝的。\n",me);
return 0;
}
*/

if (who->query("quest/reward") > 0)
{
message_vision ("$N对$n说道:这位"+RANK_D->query_respect(who)+
",俺见你身上祥云环绕,何不去从速赴长安进宫请赏?\n",me,who);
return 0;
}

if (! who->query("quest/pending/food"))
{
message_vision ("$N对$n说道:您给老猪这干什么?俺老猪尽管贪嘴也不受不义之财也。\n",me,who);
return 0;
}

if(ob->is_character()) return 0;

if (who->query("quest/pending/food/name") != ob->query("name"))
{
message_vision ("$N对$n说道:这位"+RANK_D->query_respect(who)+
",俺等着请您帮忙找的"+
who->query("quest/pending/food/name")+
",您却给俺"+ob->query("name")+",这……\n",me,who);
return 0;
}

if (who->query("quest/pending/food/id") != ob->query("id"))
{
message_vision ("$N对$n说道:这位"+RANK_D->query_respect(who)+
",俺等着您的"+who->query("quest/pending/food/name")+
",东西倒挺象,但不是同一个货;俺要的是("+
who->query("quest/pending/food/id")+"),您给的是("+
ob->query("id")+")!\n",me,who);
return 0;
}

t = who->query("quest/pending/food/time");

if (t >= uptime() && (t-MAXDELAY) <= uptime())
{
message_vision ("$N对$n摇头道:这么快就回来了?俺老猪不要假货。\n",me,who);
message_vision ("$N又吩咐道:您再花个"+chinese_number((t-uptime())/60+1)+
"分钟去寻寻。\n",me,who);
if (! DEBUG)
return 0;
else
tell_object (who,"NOW DEBUG MODE: 让老猪要下东西。\n");
}
rewarding (who, ob);
call_out ("destruct_ob",1,ob);
return 1;
}

void destruct_ob (object ob)
{
destruct (ob);
}

void rewarding (object who, object ob)
{
object me = this_object();
string reason;
int reward;

reason = "为唐人美宴寻得"+ob->query("name")+",";
message_vision ("$N对$n说道:多谢这位"+RANK_D->query_respect(who)+
reason+"真是为大唐天下民众造福哇!\n",me,who);
reward = quest_reward(who, quests_food, "food");
who->add("quest/reward",reward);
who->set("quest/reason",reason);
who->add("quest/food/times",1);
who->add("quest/food/reward",reward);
reporting (who,reason, reward, "奖分");
who->delete("quest/pending/food");
quest_done(who);
}



kkkkk 2006-04-14 12:59

回复: 【求助】有活人么,问个单机架设问题
 
这个是猪八戒那个屋子的源码
// cracked by vikee 2/09/2002 vikee@263.net
// create by snowcat jan 21 1998
inherit ROOM;

void create ()
{
set ("short", "帅府");
set ("long", @LONG

帅府内灯笼高悬,正中放着一把肥大的特号躺椅。屋后有一个案台,
上面放着一个澡盆大的金饭盆,边上有一水桶大小的银酒壶。西边有
一门,通向帅府外。

LONG);

set("exits", ([
"west" : __DIR__"tianpeng",
]));
set("objects", ([
__DIR__"npc/zhubajie" : 1,
]));

setup();
}

onlyhero 2006-05-07 16:14

回复: 【求助】有活人么,问个单机架设问题
 
1 个附件
没有问题,我的跟你的一样,用mudos v22p11驱动,我的没有问题。
附件是我的mudos和配置文件,你可以用下看看。
还有,你开开,sys wiz频道看看错误信息,或者mudos.log发下看看都是什么错误,
然后帮你分析下,呵呵。

kkkkk 2006-05-13 01:02

回复: 【求助】有活人么,问个单机架设问题
 
不行啊,大侠,用你的配置文件就没法打开了

用我的还能打开,虽然先出错,mudos的重启一次就可以了

而且你的和我的配置文件名不一样?

你的是config.cfg,我的是config.xyj

附图是出错提示,谢谢啊

kkkkk 2006-05-13 01:06

回复: 【求助】有活人么,问个单机架设问题
 
1 个附件
图片没有贴进去?ft

ntspy 2006-05-15 18:47

回复: 【求助】有活人么,问个单机架设问题
 
我看看,先谢谢了!!!!!!!!!!

a.e. 2006-08-02 11:50

回复: 【求助】有活人么,问个单机架设问题
 
config里面做相应改动了么
另外检查npc路径

flylions 2006-08-18 11:48

回复: 【求助】有活人么,问个单机架设问题
 
复杂得很复杂得很。

ruidi 2006-12-01 19:28

回复: 【求助】有活人么,问个单机架设问题
 
和我遇到的问题是一样的。我的debug信息是
Accepting connections on port 6666.
Error in error handler: *Too deep recursion.
program: /d/kaifeng/npc/zhubajie.c, object: /d/kaifeng/npc/zhubajie, file: /d/kaifeng/npc/quest.c:52
' command_hook' in ' feature/command.c' (' obj/user#1') /feature/command.c:62
arguments were ("east")
locals were: "go","/cmds/std/go",obj/user#1
' main' in ' cmds/std/go.c' (' cmds/std/go') /cmds/std/go.c:61
arguments were (obj/user#1,"east",0)
locals were: "/d/kaifeng/shuaifu",0,0,0,0,d/kaifeng/tianpeng,0,0,([ /* sizeof() == 2 */
"east" : "/d/kaifeng/shuaifu",
"west" : "/d/kaifeng/yao1",
]),0
' load_object' in 'adm/obj/simul_efun.c' (' adm/obj/simul_efun') /adm/simul_efun/object.c:103
arguments were ("/d/kaifeng/shuaifu")
' create' in ' d/kaifeng/shuaifu.c' (' d/kaifeng/shuaifu') /d/kaifeng/shuaifu.c:24
arguments were ()
' setup' in ' std/room.c' (' d/kaifeng/shuaifu') /std/room.c:215
arguments were ()
' reset' in ' std/room.c' (' d/kaifeng/shuaifu') /std/room.c:56
arguments were ()
locals were: ([ /* sizeof() == 1 */
"/d/kaifeng/npc/zhubajie" : 1,
]),([ ]),({ /* sizeof() == 1 */
"/d/kaifeng/npc/zhubajie"
}),0,0
' make_inventory' in ' std/room.c' (' d/kaifeng/shuaifu') /std/room.c:21
arguments were ("/d/kaifeng/npc/zhubajie")
locals were: 0
' create' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/zhubajie.c:64
arguments were ()
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0
' setup' in 'd/kaifeng/npc/zhubajie.c' ('d/kaifeng/npc/zhubajie') /d/kaifeng/npc/quest.c:52
arguments were ()
locals were: 0

onlyhero 2007-02-16 12:00

回复: 【求助】有活人么,问个单机架设问题
 
你的路径错误了,
我的配制文件是需要把mudos和配制文件放到你的G:\mud\xyj2k下面跟你的world在一个目录里边,如果放到你现在的目录,配制文件里的地址应该下面的样子:

external_port_1 : telnet 8888
address server ip : localhost
address server port : 6688
mudlib directory : .

# absolute pathname of driver/config dir
binary directory : .

mudlib directory : 这个是西游记的数据目录地址,按照你目前mudos放置的目录可以改成
绝对路径G:/mud/xyj2k/world
binary directory : 这个是mudos的配制文件,按照你目前的mudos放置的目录绝对路径
应该是 G:/mud/xyj2k/world
建议你的mudos不要放到/world下面.
我的mudos目录图片见下

onlyhero 2007-02-16 12:03

回复: 【求助】有活人么,问个单机架设问题
 
1 个附件
图片没弄上图片没弄上图片没弄上

orical 2007-06-06 19:03

回复: 【求助】有活人么,问个单机架设问题
 
:em06:

请问结果如何啊?解决了吗?我也遇到同样的问题,开封quest的NPC无法显示。还有就是南天门老是报错,看不到天王,随着时间增长,天兵越来越多。哪位大侠指点一下啊。

orical 2007-06-06 20:18

回复: 【求助】有活人么,问个单机架设问题
 
:em12:
知道怎么回事了,代码里面有误,就是在quest.c里面,第52行,setup函数有误。呵呵,参考了其他的源代码发现的问题。

void setup() ///////setup()函数
{
string id;
setup(); ///////此处递归调用导致无法编译通过

id=query("id");
if(!id) return;
if(undefinedp(color_code[id])) return;
my_color=color_code[id];
return;
}


void setup()
{
string id;
::setup(); /////////修改后,编译通过。

id=query("id");
if(!id) return;
if(undefinedp(color_code[id])) return;
my_color=color_code[id];
return;
}

丘希特 2007-06-25 12:02

回复: 【求助】有活人么,问个单机架设问题
 
谢谢你!
我还为了这个问题几乎放弃了呢!

想不到在这里看到你的解决方案!

谢谢你!!

byx0621 2008-12-13 14:29

回复: 【求助】有活人么,问个单机架设问题
 
问题好象在/KAIFENG/NPC/QUESTS.C那个文件里
你看看那个文件,有一小段不知什么意思,删了就好象好了

byx0621 2008-12-13 14:39

回复: 【求助】有活人么,问个单机架设问题
 
引用:

作者: byx0621 (帖子 99117)
问题好象在/KAIFENG/NPC/QUESTS.C那个文件里
你看看那个文件,有一小段不知什么意思,删了就好象好了...

void setup()
{
string id;
setup();
id=query("id");
if(!id) return;
if(undefinedp(color_code[id])) return;
my_color=color_code[id];
return;
}
看看有没有这段,我也不懂什么意思,删了再试下

shle 2009-06-03 01:01

回复: 【求助】有活人么,问个单机架设问题
 
估计是数据库里没有设立这几个npc吧

finesnow 2011-05-12 20:39

回复: 【求助】有活人么,问个单机架设问题
 
如果就是那几个quests的npc加不进去的话就肯定是npc文件的问题了。

finesnow 2011-05-12 20:42

回复: 【求助】有活人么,问个单机架设问题
 
这已经是好几年的帖子了啊。。。

大火球 2011-10-18 15:34

回复: 【求助】有活人么,问个单机架设问题
 
这个游戏单机玩就没意思了。。:em08::em08:

guai 2012-01-21 12:23

回复: 【求助】有活人么,问个单机架设问题
 
猪八戒和香兰是由quest.c文件出错引起的,我开始和你一样替代NPC文件,最后发现提示出错的是quest.c文件的52行
我把我正常运行的quest.c文件代码复制上来,如果是在linux下运行,请改换行编码!!

// by snowcat
// mon
#ifndef ESC
#include <ansi.h>
#endif
#include "colors.h";
#ifndef __KAIFENG_QUEST__
#define __KAIFENG_QUEST__
//#define MAXDELAY 200
// mon reduced time limit. 4/7/98
// #define MAXDELAY 60
//#define MAXDELAY 80
//#define DELAY_CONST 50
//#define MAXREWARD 200
#define MAXDELAY 80
#define DELAY_CONST 35
#define MAXREWARD 120
#define Max_count 10
#define INDEXTIMES 40
#define CACHESIZE 30
#define INDEXDELTA 20
#define IDX_TYPE 0
#define IDX_NAME 1
#define IDX_ID 2
#define IDX_OBJ 3
#define IDX_AMT 4
// the quest format is the following mapping:
// daoxing : type name id object amount
//---------------------------------------------------------------
// 1000 : ({ "find", "秘笈", "mi ji" , "", "1" }),
// 5000 : ({ "give", "灾民", "zai min" , "白银(silver)", "5" }),
// 12000 : ({ "kill", "白骨精", "baigu jing", "", "3" });

//找一本秘笈,救济灾民五两银子,三打白骨精......
string my_color=WHT"灰"NOR;
void _quest_done (object who);
void setup()
{
string id;
::setup();
id=query("id");
if(!id) return;
if(undefinedp(color_code[id])) return;
my_color=color_code[id];
return;
}
int *order_list (int *list)
{
int i, j;
int size = sizeof(list);

for (i = size-2; i >= 0; i--)
{
for (j = 0; j <= i; j++)
{
reset_eval_cost();
if (list[j] > list[j+1])
{
int k = list[j];
list[j] = list[j+1];
list[j+1] = k;
}
}
}
return list;
}
// must execute only once !
int *sort_quests (mapping quests)
{
int *quest_keys = keys (quests);
return order_list (quest_keys);
}
int quest_accurate_index (int *quest_keys, object who)
{
int i = 0;
int j = 0;
int k = sizeof(quest_keys)-1;
int daoxing;
// mon 3/31/99 give daoxing more weight here.
daoxing=(who->query("daoxing")*2+who->query("combat_exp"))/3;
while (i < k)
{
// reset_eval_cost();
j = (k-i)/2+i;
if (quest_keys[j] == daoxing)
{
return j;
}
else if (quest_keys[j] > daoxing)
{
k = j - 1;
}
else
{
i = j + 1;
}
}
return j;
}
void reduce_cache (object who, string cache_name)
{
mapping cache = who->query(cache_name);
string key;
int value = 0;
int k = 0;
string *my_keys;
int *my_values;

if (! cache)
return;

my_keys = keys(cache);
my_values = values(cache);

k = sizeof (cache);
if (k < CACHESIZE)
return;

while (k--)
{
if (my_values[k] < value ||
0 == value)
{
key = my_keys[k];
value = my_values[k];
}
}
who->delete (cache_name+"/"+key);
}
int quest_random_index (int *quest_keys, int i, object who, string cache_name)
{
int j = INDEXTIMES;
int k;
int lower;
int upper;
int size = sizeof (quest_keys);
lower = i - INDEXDELTA;
upper = i + INDEXDELTA;
if (lower < 0)
{
lower = 0;
upper = INDEXDELTA + INDEXDELTA;
}
if (upper >= size)
{
upper = size - 1;
}
// adjust here, allow access to lower quests:
lower = upper/4;
if (upper - lower < INDEXDELTA)
lower = 0;

reduce_cache (who, cache_name);
while (j--)
{
string str;

reset_eval_cost();
k = lower + random (upper-lower);
str = cache_name+"/"+to_chinese(k);
if (! who->query(str))
{
who->set(str,who->query("quest/number"));
return k;
}
}
return -1;
}
int log10 (int i)
{
int j = 0;
while (i = i/10)
j++;
return j;
}
int quest_reward (object who, mapping quests, string quest)
{
int reward;
int exp = (who->query("combat_exp")+
who->query("daoxing")*2)/3;
int dx = who->query("quest/pending/"+quest+"/daoxing");
int index = who->query("quest/pending/"+quest+"/index");
if (exp > 2000000) exp = 2000000;

reward = random(who->query("cps")); // initial value
reward += MAXREWARD*(1+index)/sizeof(quests); // normal value
reward = reward*(1+log10(exp/10000))*exp/(exp+dx)*dx/(exp+dx); // high value
reward += random(who->query_int())+random(who->query_kar()); // base value
while (reward <= 0)
reward = random(who->query("kar"));
if (reward >= MAXREWARD)
reward = MAXREWARD + random(who->query("kar"));
return reward;
}
void _quest_done (object who)
{
string *strs = ({
"慢慢地一小团"+my_color+"色祥云在$N的身边升起。\n",
"$N的身上慢慢升起一股"+my_color+"色祥云。\n",
"一小股"+my_color+"色祥云在$N的身上缓缓升起。\n",
"只见$N的身上徐徐飘浮起一小团"+my_color+"色祥云。\n",
"一团"+my_color+"色小祥云在$N的身上慢慢升起。\n",
});
if(!who) return;
message_vision (strs[random(sizeof(strs))],who);
tell_object (who, "你的品德增加了。\n");
}
void color_counter(object who)
{
mapping colors=who->query("quest/colors");
string id=query("id");
string *key;
string code, *value;
int i,j;

if(!id || undefinedp(color_code[id])) return;
code=color_code[id];
value=values(color_code);
if(!colors) {
colors=([code: Max_count-1]);
} else {
if(undefinedp(colors[code])) {
colors+=([code: Max_count]);
} else {
colors[code]=Max_count;
}
key=keys(colors);
i=sizeof(key);
while(i--) {
if(member_array(key[i],value)==-1) {
map_delete(colors,key[i]);
continue;
}
j=(int)colors[key[i]];
if(j>Max_count) j=Max_count;
else if(j<=1) {
map_delete(colors,key[i]);
continue;
}

j--;
colors[key[i]]=j;
}
}
who->set("quest/colors",colors);
}
void quest_done (object who)
{
who->add("quest/number",1);
color_counter(who);
call_out("_quest_done",1,who);
}
#endif

hakulla 2015-03-23 14:38

回复: 【求助】有活人么,问个单机架设问题
 
我也正在尝试这个。。。还没有成功。


所有时间均为格林尼治时间 +9, 现在的时间是 22:32.

Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue


Search Engine Optimization by vBSEO 3.6.1