设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2395|回复: 9
打印 上一主题 下一主题

[已经解决] 想请大触弄一个随机NPC脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
跳转到指定楼层
1
发表于 2015-11-19 12:22:52 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
7星屑
本帖最后由 duchen5779 于 2015-11-19 12:30 编辑

举个例子吧,200个NPC(没错,就是这么多……),15个地图,当某两个变量分别等于多少和多少的时候(一个等于30的倍数,另一个等于0或者1之类的),这200个NPC中随机挑出15个分别出现在这15个城市中(当然不一定是15个,能有30个或者更多的NPC分散在15个城市地图中更好,城市已固定,坐标要可以定义),每个地图出现的NPC数量可以固定也可以随机。与NPC交流,触发相关联的事件,然后NPC立刻消失。

当那两个变量分别到达一定值(相当于过去了XX天)的时候而你没有触发的话,NPC也会消失。当变量再次满足条件的时候,NPC又同上面的情况,随机出现。

每个NPC相关联的事件已经都用公共事件设置好,当然,NPC的关联事件最好也可以通过脚本来管理,比如每个NPC的事件里的共通的东西(打招呼之类的)。用途嘛……其实就是想营造出一个乱乱哄哄的世界,自己也用公共事件和不重复的随机数(每个城市一个)弄过,但是当一个NPC随机在不同的城市的时候,让该NPC消失的条件非常麻烦,来回判断随机数的值,赶上事件里东西又多,判断的太乱了……所以,没办法了。

以上。

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
2
 楼主| 发表于 2015-11-20 09:00:53 | 显示全部楼层
本帖最后由 duchen5779 于 2015-11-20 10:17 编辑
正太君 发表于 2015-11-19 17:52
你能具体一点吗?
假如现在有变量1,变量2,或者更多,你希望它们分别取什么值的时候发生什么事呢咿咿?
只 ...


昨天出去了不好意思,刚刚看见。
刚才又想了想,果然只这样说确实还不能让人有个思路。这里再说具体点吧。

假设有200个NPC(或者更多),有15个城市地图(或者更多),当25号控制天数的变量等于30或者30的倍数的时候(即按月计算),26号变量等于0或者1(控制天色)的时候(或者还有其他条件,最好能够使用者自己设定的),从这200个NPC中会随机抽出一些散落在这15个城市中,当和他触发的时候会出现几个选项,比如对话、调查、切磋之类的,无论选中哪个选项,进行完其中的设定之后,NPC立刻消失。 其他未触发的NPC继续存在,但当半个月或者一个月(或者可以设定的时间间隔)之后,未触发的NPC也消失。

以上应该是基本。但其中有几个问题。
1、这200个NPC也有开关来控制,初始肯定开关都是关闭,谁能加入到这个有“资格”随机到城市的原始队伍里(暂且这么说吧),都有开关控制。比如,张翠山,在控制他的开关为关闭时,他在武当山门口站岗,但是经过剧情后开关开启,他就从武当山门口消失,加入到可以随机的队列中。
2、消失条件。上面说过,无论选中哪个选项,进行完其中的设定之后,NPC立刻消失。 这个立刻消失的条件……我曾经用事件和随机数做过,如果用公共事件的话,消失条件非常繁琐,如果在每张地图上都弄相同的事件的话,那每张地图的量就会很大。所以是否能做成一句脚本,用事件脚本的形式加在每一个选择项里面。
3、我自己能做好的工作是,NPC的开关都已设置好,涉及到NPC行走图和脸图方面的,我在一个地图上建了几个分别有99个事件页的事件,每个事件页代表一个NPC,有相应的行走图和脸图,其实里面的选择项也做好,当时自己弄得消失条件是当901号变量等于900时消失,所以如果能弄一句代码的话,能弄成这个最好,主要是以前设置好的里面就有,所以可以减少工作量……
4、这些选项里,其实第一项都是对话,大概就是用随机数来搞的,每回说不一样的话,一说完就消失。不知道能不能脚本里统一设置,也涉及到消失条件。

以上这些是我想到的问题,不过我估计有很多在你们这里都不是问题(挠头),如果有什么还没讲明白或者是太罗嗦的,可以私聊。
另附两张图片,大概就是这个效果,一个XP的游戏,叫金书江湖的。不好意思让聪仔误会了,只是说基本就是图片中的效果吧。



里面的两个和尚就是随机出来的。



随机出来之后的NPC的选项。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
3
 楼主| 发表于 2015-11-20 09:36:16 | 显示全部楼层
本帖最后由 duchen5779 于 2015-11-20 10:18 编辑

不是……那是个例子,大概是那么个样子吧……怕说不清楚就用图来说一下……对不起,不好意思没说清楚,原文里我也改了。我今天白天基本都在线。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
4
 楼主| 发表于 2015-11-21 10:09:32 | 显示全部楼层
本帖最后由 duchen5779 于 2015-11-21 10:23 编辑
正太君 发表于 2015-11-20 21:14
范例有三张地图,在地图1和NPC对话后,每过30天他们就随机出现在地图2和地图3,对话后消失...
范例用到了的 ...


啊,努力看了看其中的事件脚本,能看懂一部分。
问这么几个问题。
一。如果因为某些剧情,不想让某个NPC出现在城市中,应该是从队列里删除,删除哈希表相应的项,还是说让这项的值等于0?
二。 其实每个NPC的单独事件页都已经设置好了(差不多吧)。如果想自己设置的话,应该是在公共事件2里,在变量4分别等于1,2,3……200(200个NPC的情况下),分别设置行走图(范例里是移动轨迹中的行走图)。然后在公共事件3里,在变量4分别等于1,2,3……200时,分别设置我之前设置好的每个角色的公共事件(范例中是比较具体的事件),这样就算连接上了吧?
三。变量1的这个事件数组,其实,就是固定NPC出现在每张地图里的位置吧?

正在抓紧时间在自己工程上调试,谢谢聪仔,估计还会有不明白的,到时还要请多指教。

另:如何现在就能转VIP,还是需要版主来帮忙。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
5
 楼主| 发表于 2015-11-21 13:23:07 | 显示全部楼层
本帖最后由 duchen5779 于 2015-11-21 13:31 编辑
正太君 发表于 2015-11-21 10:41
一、删除变量3哈希表中对应的项,例如希望去除泼妇,就$game_variables[3].delete("泼妇")咿咿...
二、NP ...


恩,大概弄明白了。另外,范例中的消失条件是独立开关A关闭,也就是说不管我每个NPC的事件多么复杂,只要想让他互动之后消失,就用独立开关A关闭就行了。比如说话,不管随机数随到说哪一句,说完了加一句独立开关A关闭,NPC就消失了。其他的选项也是一样……哈哈,解决了一个大难题。

不过,刚才在自己的工程里试了试,地图多的话好像就会很卡了,刚才弄15张地图的时候,不知道是因为地图多,并行事件多,还是因为地图多而NPC少(只是你设置的那7个),反正够卡的。看来还是减少地图,在每个地图上多设置事件点为好吧。╮(╯▽╰)╭

点评

那个事件是会暂时消除的,不碍事,并行是对的...  发表于 2015-11-21 21:02
但每张地图里的npc初始化的事件也是并行的。。。。。。难道是笔误?感觉好像自动执行就行吧?  发表于 2015-11-21 20:19
并行事件只有一个,卡不是因为聪聪的系统造成的咿咿...  发表于 2015-11-21 14:20
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
6
 楼主| 发表于 2015-11-21 22:03:59 | 显示全部楼层
啊,发现点问题,如果主角在其中一个地图等待这里的npc刷新的话,npc刷新出后,自己会变成没有行有图然后到屏幕左上角,相当于隐身了。但好像大的地图会出现这样,小一点的好像没有,用你的工程试了试也没有这种问题。(O_O)

点评

我的工程不会有这个问题,一定是你的工程哪里有问题...  发表于 2015-11-22 07:55
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-18 11:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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