北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 10414|回复: 15

哎,jason的难题啊难解!!!

[复制链接]
发表于 2010-8-25 23:25:07 | 显示全部楼层 |阅读模式
根据jason留的题,今天研究了一下午。
搜索各种资料,各种教程,看的是头昏眼花,云山雾绕。总算是明白怎么写开头了!
写完测试了一下,目前只能站在城里,还不能四处走动。
发一下我写的npc代码,有几个问题请帮忙解答!!!谢谢。
// /d/city/npc/daxian.c
//10.8.25 刂刂
//jason的考题

inherit NPC;                   之前我没有写着一行,然后发现,在城里没有我写的npc,看了一些资料,解释是(继承)NPC这个函数文件,不知道我理解的对不对。然后zgbl告诉我城里没有npc,是因为我没在城里的代码添加
                                       我写的这个文件名,加上之后,npc出现了。不理解这行的真正意义是什么?看了一些lib,发现好多npc的代码里都有这个!

string* homes = ({            这一行的意思·知道一个大概,就是npc所在的位置,不知道是不是包含着,npc来回走动的意思!迷惑。               
"/d/city/dongdajie1",
"/d/city/xidajie1",
});
void create()                   这行是今天最大的收获,明白是啥意思啊!!哎,不容易啊。数据类型啊lpc语言。
{
set_name("大仙",({"xian"}) );                         这些都基本明白是干啥的了。
set("age",20);
set("gender","男性"
);
set("long","带着面具,什么都看不到。\n"
);
-------------------------------------------------------------------------------------------------------------------------------------------
set("chat_chance",50);                                               这个是动作的几率吧
set("chat_msg",({"看什么看,都闪开!\n",
   ( : random_move : )                                        这个难道不是让npc四处走动的意思吗?(为解谜题,首先想到了扬州最能溜达的“巡捕”,这句就是巡捕代码的来源)估计肯定错了,但是不明白!
   }) );
};
void init()                                                      这个就是让玩家禁止说话的触发(我是突然想起了以前的xkx在“雷洞坪”喊话,会被雷击。出处是根据雷洞坪写的。)不知道这个概念对不对!
{
add_action("do_chat","say"
);
add_action("do_chat","chat"
);
add_action("do_chat","reply"
);                                                 想法:把各种说的指令写成一个类型,那就需要设置这个类型。在设置的过程中,如果玩家,输入以上类型中的指令,不会发生任何事情。(这样是不是就属于禁止呢?)
add_action("do_chat","rumor"
);                     
add_action("do_tell","tell"
);
};
本想继续写,可是怎么也写不下去了。
下面的概念,是这样的。
void do_chat(string arg)                       有了上面的想法,开始设置,发现好像用到if句了,(个人理解啊!)
{
object ob;
ob=this_play();              
if(ob->                                              自己希望的意思 :如果玩家输入do_chat,就不会产生任何效果。
                                                         代码书写:if(ob->输入xxx无法产生效果)                                是这个意思吗?

现在的问题是:
1、只添加说话指令,是不是就可以起到禁止的效果呢?
2、如果不是,那么是不是就需要设置if句了呢?if句还不会写。


以上就是我理解,希望给我一些详细的指导,最好是每一句的意思。
如果能仔细的引导我写完,那是最好的了·

一下午的结果就弄了这么一点。很遗憾,我不是jason所说的,有灵感的那一号人!


另:不知道写这个东西,与理科有关系吗?(主要是从小开始学一门专业,数学我只会最基本的加减乘除。
初中没有数学课,艺术类考大学不需要数学分 ,今天看的这个函数,那个换算的,头就是一个大。)

[ 本帖最后由 momomm 于 2010-8-26 12:14 AM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-8-25 23:36:12 | 显示全部楼层
用code功能贴代码。
写的挺不错的,这个题目本来就没指望1天做出来,你这算快的了。

最近根骨好的人源源不断呀。。。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-8-25 23:54:28 | 显示全部楼层
原帖由 jason 于 2010-8-25 11:36 PM 发表
用code功能贴代码。
写的挺不错的,这个题目本来就没指望1天做出来,你这算快的了。

最近根骨好的人源源不断呀。。。



,不活了,我到现在还没想出头绪…… 10悟的人现实版
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-8-26 00:04:02 | 显示全部楼层
原帖由 jason 于 2010-8-25 11:36 PM 发表
用code功能贴代码。
写的挺不错的,这个题目本来就没指望1天做出来,你这算快的了。

最近根骨好的人源源不断呀。。。



呃……老大,整点干货啊!
帮忙指点一下啊·我哪写的有问题啊
请求,详细的教导。谢谢!!
实在是郁闷的睡不着觉。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-8-26 00:05:14 | 显示全部楼层
原帖由 ivanfox 于 2010-8-25 11:54 PM 发表



,不活了,我到现在还没想出头绪…… 10悟的人现实版


你少来,你就是带孩子比较忙,没回忆起你以前学的。
我是纯小白,一步一步走啊。没啥回忆的!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-8-26 00:10:34 | 显示全部楼层
jason请看这个代码

  1. // /d/city/npc/daxian.c
  2. //10.8.25 刂刂
  3. //jason的考题

  4. inherit NPC;

  5. string* homes = ({
  6. "/d/city/dongdajie1",
  7. "/d/city/xidajie1",
  8. });

  9. void create()
  10. {
  11. set_name("大仙",({"xian"}) );
  12. set("age",20);
  13. set("gender","男性");
  14. set("long","带着面具,什么都看不到。\n");
  15. set("chat_chance",50);
  16. set("chat_msg",({"看什么看,都闪开!\n",
  17. ( : random_move : )
  18. }) );
  19. };
  20. void init()
  21. {
  22. add_action("do_chat","say");
  23. add_action("do_chat","chat");
  24. add_action("do_chat","reply");
  25. add_action("do_chat","rumor");
  26. add_action("do_tell","tell");
  27. };
  28. void do_chat(string arg)
  29. {
  30. object ob;
  31. ob=this_play();
  32. if(ob->
复制代码

[ 本帖最后由 momomm 于 2010-8-26 09:31 AM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-8-26 09:02:40 | 显示全部楼层
原帖由 momomm 于 2010-8-26 12:10 AM 发表
jason请看这个代码

// /d/city/npc/daxian.c
//10.8.25 刂刂
//jason的考题

inherit NPC;

string* homes = ({
        "/d/city/dongdajie1",
        "/d/city/xidajie1",
});

void create()
{
        set_name("大仙 ...



你先想办法把代码贴全啊。
工具栏上有个《》的按钮,用那个
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-8-26 09:24:14 | 显示全部楼层
jason出了啥题目,有链接么??
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-8-26 09:36:27 | 显示全部楼层
大神·我更改了·之前写的那个代码了·用<>连接了··
你看一下··主要是后面是在是不会写了··
另外·你在帮看一下这个··
昨晚半夜·做了一下小刀留的题目··测试·说是语法错误·希望详解·谢谢·(知道答案并不重,重要的是我的明白这个道理)还望赐教!
  1. // /d/city/npc/xian1.c
  2. // 10.8.26 刂刂
  3. // lzkd的考题


  4. void create()
  5. {
  6.         set_name("小仙", ({ "xiao xian","xiao" }));
  7.         set("title", "能掐会算");
  8.         set("gender", "女性");
  9.         set("age", 20);
  10.         set("long",
  11.                 "小仙是当地有名的性感小妖精,八方来客都被勾搭的神魂颠倒!
  12.                 \n");
  13.         set("combat_exp", 600);
  14. }
  15. void init()
  16. {
  17.         remove_call_out("greeting");
  18.         call_out("greeting". 1, ob);
  19. }
  20. void greeting(object ob)
  21. {
  22.         object ob;
  23.         ob = this_player();
  24.         if( !ob || environment(ob) !=
  25.         envuronment() ) return;

  26.         command("haha");
  27.         command("hahah "+ob->query("id"));
  28. }       
  29.        
复制代码
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-8-26 09:39:11 | 显示全部楼层
原帖由 momomm 于 2010-8-26 09:36 AM 发表
大神·我更改了·之前写的那个代码了·用连接了··
你看一下··主要是后面是在是不会写了··
另外·你在帮看一下这个··
昨晚半夜·做了一下小刀留的题目··测试·说是语法错误·希望详解·谢谢·(知道答案 ...



嘿嘿,既然有热情,不如来做个真实的任务吧。

不过,编译不过的代码是不应该贴出来的
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-27 12:16 PM , Processed in 0.011042 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表