momomm 发表于 2010-8-25 23:25:07

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

根据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所说的,有灵感的那一号人!yct49


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

[ 本帖最后由 momomm 于 2010-8-26 12:14 AM 编辑 ]

jason 发表于 2010-8-25 23:36:12

用code功能贴代码。
写的挺不错的,这个题目本来就没指望1天做出来,你这算快的了。

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

ivanfox 发表于 2010-8-25 23:54:28

原帖由 jason 于 2010-8-25 11:36 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
用code功能贴代码。
写的挺不错的,这个题目本来就没指望1天做出来,你这算快的了。

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


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

momomm 发表于 2010-8-26 00:04:02

原帖由 jason 于 2010-8-25 11:36 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
用code功能贴代码。
写的挺不错的,这个题目本来就没指望1天做出来,你这算快的了。

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


呃……老大,整点干货啊!
帮忙指点一下啊·我哪写的有问题啊
请求,详细的教导。谢谢!!
实在是郁闷的睡不着觉。

momomm 发表于 2010-8-26 00:05:14

原帖由 ivanfox 于 2010-8-25 11:54 PM 发表 http://pkuxkx.com/forum/images/common/back.gif



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

yct55 你少来,你就是带孩子比较忙,没回忆起你以前学的。
我是纯小白,一步一步走啊。没啥回忆的!

momomm 发表于 2010-8-26 00:10:34

jason请看这个代码

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

inherit NPC;

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

void create()
{
set_name("大仙",({"xian"}) );
set("age",20);
set("gender","男性");
set("long","带着面具,什么都看不到。\n");
set("chat_chance",50);
set("chat_msg",({"看什么看,都闪开!\n",
( : random_move : )
}) );
};
void init()
{
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)
{
object ob;
ob=this_play();
if(ob->

[ 本帖最后由 momomm 于 2010-8-26 09:31 AM 编辑 ]

jason 发表于 2010-8-26 09:02:40

原帖由 momomm 于 2010-8-26 12:10 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
jason请看这个代码

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

inherit NPC;

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

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


你先想办法把代码贴全啊。
工具栏上有个《》的按钮,用那个

reallove 发表于 2010-8-26 09:24:14

jason出了啥题目,有链接么??

momomm 发表于 2010-8-26 09:36:27

大神·我更改了·之前写的那个代码了·用<>连接了··
你看一下··主要是后面是在是不会写了··
另外·你在帮看一下这个··
昨晚半夜·做了一下小刀留的题目··测试·说是语法错误·希望详解·谢谢·(知道答案并不重,重要的是我的明白这个道理)还望赐教!// /d/city/npc/xian1.c
// 10.8.26 刂刂
// lzkd的考题


void create()
{
        set_name("小仙", ({ "xiao xian","xiao" }));
        set("title", "能掐会算");
        set("gender", "女性");
        set("age", 20);
        set("long",
                "小仙是当地有名的性感小妖精,八方来客都被勾搭的神魂颠倒!
                \n");
        set("combat_exp", 600);
}
void init()
{
        remove_call_out("greeting");
        call_out("greeting". 1, ob);
}
void greeting(object ob)
{
        object ob;
        ob = this_player();
        if( !ob || environment(ob) !=
        envuronment() ) return;

        command("haha");
        command("hahah "+ob->query("id"));
}       
       

jason 发表于 2010-8-26 09:39:11

原帖由 momomm 于 2010-8-26 09:36 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
大神·我更改了·之前写的那个代码了·用连接了··
你看一下··主要是后面是在是不会写了··
另外·你在帮看一下这个··
昨晚半夜·做了一下小刀留的题目··测试·说是语法错误·希望详解·谢谢·(知道答案 ...


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

不过,编译不过的代码是不应该贴出来的
页: [1] 2
查看完整版本: 哎,jason的难题啊难解!!!