发表于 2008-6-7 16:401#
楼主单机任务从头讲起。
首先就是修改RES来排列任务。

外链图片 · 若无法显示说明原图床已关闭
红框的位置,作用:是否在任务栏显示,改成39为显示,19为不显示。
绿框的位置,作用:任务的顺序,第一个是00,第二个是01,以此类推。最大为09。(也就是可以有10个任务,鸟泉居然少给我们了一个任务 -_-||)
黑框位置,作用:背景音乐,数值是16进制数值,读取自music文件夹
路点:
路点其实不光用来当作AI行走的路线,还是任务的出生点,所以做任务时的路点也十分重要。
首先选择你的地图(注意,选择的地图必须在LEVEL下有wp文件,没有可以自己建一个),然后加入一个AI(注意,不能是adddummy加入的,必须是\AI加入的),然后打命令\editai开启路点编辑。按键如下:
按1键:制造一个最小范围的路点
按2键:制造一个中等范围的路点
按3键:制造一个大范围的路点
按4键:制造一个超大范围的路点(路点的范围就是电脑的行动范围)
按m键:打开路点显示或关闭路点显示
按空格键:选择你要编辑的路点(把方框指到你要编辑的路点,按空格键就变成红色的,表示你可以编辑这个路点了)
按z键:要在路点变红色才能用,可以对路点位置改变,这个键只要按一下就可以用ASDW键控制左右前后.F键控制路点往上升,v键路点往下降。(提示:高级版本不好用哦)在按一次这键就关闭位置改变功能.
按删除(←)键:就是先让路点变成红色的了在按这个键就能把路点删除!
按p键:可以把整个地图的结构显示出来(在按一下就是关闭),下图就是按P以后的效果……有点吓人。

外链图片 · 若无法显示说明原图床已关闭 图片
保存路点命令是Shift+S键
下图为编辑时的样子。

外链图片 · 若无法显示说明原图床已关闭
这下知道AI和主角出生点怎么弄了吧 ^_^
路点和任务顺序都弄好了,下一步就是编辑流程了,具体可以见http://www.yfzz.net/bbs/a/a.asp?B=170&ID=219510&q=1&r=91507这张帖子,不过需要一些补充和修改。
int Rule = 4; 作用是任务的模式,1是盟主,2截镖,3护城,4暗杀,5死斗
关于盟主模式的结尾方法
首先需要在开头int gameover = 0;(就是在int timer*的那个位置)
然后在最后,如果是player死亡,可以这么设定(一个很懒惰的设定,直接复制过来的)
if (gameover!=-1 && GetHP(player)<=0)
{
gameover = -1;
timer* = now + 2;
}
if ((gameover==1 || gameover==-1) && now>timer*)
{
GameOver(gameover);
gameover = 2;
}
记得要改timer*,开头也要Int一下,否则会出错。
如果要赢,也有很多种方法,比如某人死亡就赢。
c = GetAnyChar("死亡的人名");
if (gameover!=-1 && c>=0 && GetHP(c)<=0)
{
gameover = -1;
timer* = now + 2;
}
if ((gameover==1 || gameover==-1) && now>timer*)
{
GameOver(gameover);
gameover = 1;
}
实际上,看完上面两段就可以发现,gameover = 1就是赢,2就是输,再根据上面的进行改造就可以了。比如把第二个改成某人死亡就输,就可以把gameover = 1改成2。具体大家还是实践吧。
另外还有attack功能,尽管是让NPC攻击,但NPC攻击是随机的,并不会固定。
基本上没什么可以讲的了,如果还有什么不对或者遗漏的地方,希望大家能回复告诉我 o(∩_∩)o...
单机任务常见问题
[/color]Q:为什么我改了之后进不去?
A:一般是由于修改后的PST有错误,请仔细检查。具体要检查这些:
结尾是否以 } 结束;是否把引号打成 “ 或 ”,必须全部为" ";是否没有int而直接使用timer,trg或者没有int一个代码而直接让它 = GetChar;如果找不到,我的方法是新建一个TXT文档,然后剪切一段流程过去,保存再进入,直到可以进入为止,然后仔细检查出错的流程。
Q:我的任务可以进入但到一段流程后会卡主,按回车两下后就可以继续,但该进入的NPC没有?
A:是由于NPC档有错误,仔细检查NPC文件是否出错。
Q:如何设定对话?
A:对话设定确实很麻烦(个人就不喜欢去弄对话,太累人了 0.0``),代码就不说了,注意流程是从下往上进行的,一定要注意顺序,每个对话要用pause断开,掌握好时间才能让对话像个对话,具体设定要不断测试和修改,还要算好时间,总之……累!
Q:为什么有些流程不会进行?
A:依然是有错误的说……注意是否是条件没设定好,或者GetChar后的名称没有弄对……总之一句话,仔细检查,注意细节。
Q:我设定了timer,可是为什么对话没有结束就直接执行了下一个流程?
A:timer的时间计算是从这个流程的开始开始计算,所以如果设定了timer,就需要算好对话的时间,免得出现对话没结束now就大于timer了。
如果还有其他问题可以回复本贴,我会尽量回答的。
首先就是修改RES来排列任务。

红框的位置,作用:是否在任务栏显示,改成39为显示,19为不显示。
绿框的位置,作用:任务的顺序,第一个是00,第二个是01,以此类推。最大为09。(也就是可以有10个任务,鸟泉居然少给我们了一个任务 -_-||)
黑框位置,作用:背景音乐,数值是16进制数值,读取自music文件夹
路点:
路点其实不光用来当作AI行走的路线,还是任务的出生点,所以做任务时的路点也十分重要。
首先选择你的地图(注意,选择的地图必须在LEVEL下有wp文件,没有可以自己建一个),然后加入一个AI(注意,不能是adddummy加入的,必须是\AI加入的),然后打命令\editai开启路点编辑。按键如下:
按1键:制造一个最小范围的路点
按2键:制造一个中等范围的路点
按3键:制造一个大范围的路点
按4键:制造一个超大范围的路点(路点的范围就是电脑的行动范围)
按m键:打开路点显示或关闭路点显示
按空格键:选择你要编辑的路点(把方框指到你要编辑的路点,按空格键就变成红色的,表示你可以编辑这个路点了)
按z键:要在路点变红色才能用,可以对路点位置改变,这个键只要按一下就可以用ASDW键控制左右前后.F键控制路点往上升,v键路点往下降。(提示:高级版本不好用哦)在按一次这键就关闭位置改变功能.
按删除(←)键:就是先让路点变成红色的了在按这个键就能把路点删除!
按p键:可以把整个地图的结构显示出来(在按一下就是关闭),下图就是按P以后的效果……有点吓人。

保存路点命令是Shift+S键
下图为编辑时的样子。

这下知道AI和主角出生点怎么弄了吧 ^_^
路点和任务顺序都弄好了,下一步就是编辑流程了,具体可以见http://www.yfzz.net/bbs/a/a.asp?B=170&ID=219510&q=1&r=91507这张帖子,不过需要一些补充和修改。
int Rule = 4; 作用是任务的模式,1是盟主,2截镖,3护城,4暗杀,5死斗
关于盟主模式的结尾方法
首先需要在开头int gameover = 0;(就是在int timer*的那个位置)
然后在最后,如果是player死亡,可以这么设定(一个很懒惰的设定,直接复制过来的)
if (gameover!=-1 && GetHP(player)<=0)
{
gameover = -1;
timer* = now + 2;
}
if ((gameover==1 || gameover==-1) && now>timer*)
{
GameOver(gameover);
gameover = 2;
}
记得要改timer*,开头也要Int一下,否则会出错。
如果要赢,也有很多种方法,比如某人死亡就赢。
c = GetAnyChar("死亡的人名");
if (gameover!=-1 && c>=0 && GetHP(c)<=0)
{
gameover = -1;
timer* = now + 2;
}
if ((gameover==1 || gameover==-1) && now>timer*)
{
GameOver(gameover);
gameover = 1;
}
实际上,看完上面两段就可以发现,gameover = 1就是赢,2就是输,再根据上面的进行改造就可以了。比如把第二个改成某人死亡就输,就可以把gameover = 1改成2。具体大家还是实践吧。
另外还有attack功能,尽管是让NPC攻击,但NPC攻击是随机的,并不会固定。
基本上没什么可以讲的了,如果还有什么不对或者遗漏的地方,希望大家能回复告诉我 o(∩_∩)o...
单机任务常见问题
[/color]Q:为什么我改了之后进不去?
A:一般是由于修改后的PST有错误,请仔细检查。具体要检查这些:
结尾是否以 } 结束;是否把引号打成 “ 或 ”,必须全部为" ";是否没有int而直接使用timer,trg或者没有int一个代码而直接让它 = GetChar;如果找不到,我的方法是新建一个TXT文档,然后剪切一段流程过去,保存再进入,直到可以进入为止,然后仔细检查出错的流程。
Q:我的任务可以进入但到一段流程后会卡主,按回车两下后就可以继续,但该进入的NPC没有?
A:是由于NPC档有错误,仔细检查NPC文件是否出错。
Q:如何设定对话?
A:对话设定确实很麻烦(个人就不喜欢去弄对话,太累人了 0.0``),代码就不说了,注意流程是从下往上进行的,一定要注意顺序,每个对话要用pause断开,掌握好时间才能让对话像个对话,具体设定要不断测试和修改,还要算好时间,总之……累!
Q:为什么有些流程不会进行?
A:依然是有错误的说……注意是否是条件没设定好,或者GetChar后的名称没有弄对……总之一句话,仔细检查,注意细节。
Q:我设定了timer,可是为什么对话没有结束就直接执行了下一个流程?
A:timer的时间计算是从这个流程的开始开始计算,所以如果设定了timer,就需要算好对话的时间,免得出现对话没结束now就大于timer了。
如果还有其他问题可以回复本贴,我会尽量回答的。
UID 42128







