Project1

标题: 关于同一地图设置不同等级敌人的问题!! [打印本页]

作者: 我心飞扬    时间: 2012-7-12 06:43
标题: 关于同一地图设置不同等级敌人的问题!!
本帖最后由 我心飞扬 于 2012-7-15 09:49 编辑

因剧情需要,多次到达同一地图,如何设置不同等级敌人?
比方说:游戏初期到达该地图,因为主角等级低,敌人也就较弱,敌人种类只有幽灵,金钱经验也很少;
              游戏中期,主角回到该地图,主角升了N级,敌人也较强,敌人的种类出现了地狱犬,不再有幽灵,金钱经验也较多;
              游戏后期,主角再到该地图,主角快满级了,敌人也非常强,出现了飞龙,不再有地狱犬,金钱经验也很多;
              但是因为初期来过,宝箱什么的都开过了,中期和后期再来,宝箱都是空的。
这样的情况如何设置?请高手指点。

有没有这样的脚本:在打开[N]号开关后,在[X]号地图只会遇到ID为[Y]的敌人队伍?
                     以及在打开[N]号开关后,在[X]号地图增加遇到ID为[Y]的敌人队伍?
或者这样的事件:在打开[N]号开关后,在本地图随机遇到ID为[Y]的敌人队伍?,这样在地图设置那一栏中的遇 敌设置就可以关了。
dsu_plus_rewardpost_czw
作者: hcm    时间: 2012-7-12 08:30
这完全可以用不同的地图进行设置的吧,
在地图入口处设置多个条件分歧,在不同等级分别到达不同的地图,
至于你说的宝箱开过就一直开着的问题也很好解决,
原本的宝箱设置方式你懂的吧。
本来由独立开关控制,改为由开关控制即可。
作者: 幻耶    时间: 2012-7-12 08:32
战斗事件里设置吧


作者: 我心飞扬    时间: 2012-7-12 08:43
hcm 发表于 2012-7-12 08:30
这完全可以用不同的地图进行设置的吧,
在地图入口处设置多个条件分歧,在不同等级分别到达不同的地图,
至 ...

您的办法我考虑过,也这样设置过。但是实际测试发现很麻烦,很容易出错。而且根据我设计的剧情,并不象我举例那样进出三次这个地图,而是很多次。间隔也并不长。主角的能力没有明显上升,只是根据剧情出现不同的敌人。我上面的举例是为了让前辈们能简单明了的了解我的要求。
如果增加一个怪物种类就新增一张地图的话,最后这个游戏的容量会很大。
很感谢您的指点。谢谢!
作者: 我心飞扬    时间: 2012-7-12 08:47
幻耶 发表于 2012-7-12 08:32
战斗事件里设置吧

谢谢前辈的指点,但是我不是以角色的级别来控制出现的敌人,而是以剧情进展来控制出现的敌人。
另外,如果我需要的是新增地狱犬而幽灵也还有,这样该怎么设置?
作者: 幻耶    时间: 2012-7-12 09:24
我心飞扬 发表于 2012-7-12 08:47
谢谢前辈的指点,但是我不是以角色的级别来控制出现的敌人,而是以剧情进展来控制出现的敌人。
另外,如 ...

这也就是一个思路,如果是以剧情进展来控制出现的敌人,完全可以把条件分歧里的角色级别改成对开关的判断。如果又要幽灵又要地狱犬,可以加一个随机数判断,让敌人按照随机数变身
作者: 我心飞扬    时间: 2012-7-12 10:24
幻耶 发表于 2012-7-12 09:24
这也就是一个思路,如果是以剧情进展来控制出现的敌人,完全可以把条件分歧里的角色级别改成对开关的判断 ...

请具体讲讲怎么设置好吗?就象你上个回复那样有截图的。毕竟我还只是一个菜鸟。
万分感谢。
作者: 幻耶    时间: 2012-7-12 10:29
本帖最后由 幻耶 于 2012-7-12 10:37 编辑

这样。。。。。。。



作者: 我心飞扬    时间: 2012-7-12 10:44
幻耶 发表于 2012-7-12 10:29
这样。。。。。。。

这样还不完全吧?
开关那里我明白了,脚本那句是什么意思?单纯这样设置就行了吗?其他地方不用再设置了吗?
而且这依然是用幽灵变身为地狱犬,并不是在该地图增加地狱犬。当剧情打开后,在游戏过程中就只有地狱犬没有幽灵了。
作者: 幻耶    时间: 2012-7-12 10:48
rand(2)是0~1的随机数,如果为0就遭遇地狱犬,如果为1依然是幽灵
作者: 我心飞扬    时间: 2012-7-12 11:33
本帖最后由 我心飞扬 于 2012-7-12 11:56 编辑
幻耶 发表于 2012-7-12 10:48
rand(2)是0~1的随机数,如果为0就遭遇地狱犬,如果为1依然是幽灵






我在一个场景里设置了两种敌人:幽灵和小蝙蝠。
在打开开关1以后,增加了鱼人和蜥蜴两种敌人,目前就是在该场景有幽灵、小蝙蝠、鱼人和蜥蜴四种敌人。而且出现的概率是一样的。
这是按照您的指点设置的,经过测试是完全可行的。十分感谢。问题是变身后敌人体力还是原来的。只是变身其他没变。

但是,我的工程的剧情不是一次进入该场景,也不是增加一次敌人。
比方说:我打开开关2后,我希望幽灵和小蝙蝠就没有了,但是鱼人和蜥蜴还在,而且增加了火狼、火鸡、小恶魔三种敌人,这样就一共有五种敌人,这样的情况该怎么设置?
请不吝赐教,谢谢。
作者: 幻耶    时间: 2012-7-12 12:42
本帖最后由 幻耶 于 2012-7-12 13:08 编辑

关于体力的问题,直接在战斗事件的变身后添加以下脚本,至于多出来的敌人,可以用中途出现

$game_troop.enemies[0].maxhp=$data_enemies[
12].maxhp
$game_troop.enemies[0].hp=$data_enemies[
12].maxhp

$game_troop.enemies[1].maxhp=$data_enemies[
12].maxhp
$game_troop.enemies[1].hp=$data_enemies[
12].maxhp���


作者: 我心飞扬    时间: 2012-7-12 15:23
幻耶 发表于 2012-7-12 12:42
关于体力的问题,直接在战斗事件的变身后添加以下脚本,至于多出来的敌人,可以用中途出现

$game_troop.en ...

感谢您的指点,按照您的指点我设置的很成功。
但是无法融合到我的工程里。我的工程里设计了战斗后除了经验、金钱还有第三种战利品。按照您的设计这第三种战利品无法正常实现。
有没有这样的脚本:在打开[N]号开关后,在[X]号地图只会遇到ID为[Y]的敌人队伍?
                     以及在打开[N]号开关后,在[X]号地图增加遇到ID为[Y]的敌人队伍?
或者这样的事件:在打开[N]号开关后,在本地图随机遇到ID为[Y]的敌人队伍?,这样在地图设置那一栏中的遇 敌设置就可以关了。
作者: 我心飞扬    时间: 2012-7-15 09:49
请前辈们祥加指点。
作者: 无忧谷主幻    时间: 2012-7-15 11:11
你可以改成明雷怪物或是暗雷怪物,在事件中设置敌人
作者: 我心飞扬    时间: 2012-7-15 20:47
明雷的好说,主要就是需要暗雷的。


‘‘──我心飞扬于2012-7-15 20:47补充以下内容:


明雷的好说,主要就是需要暗雷的。
’’
作者: 无忧谷主幻    时间: 2012-7-15 20:57
我心飞扬 发表于 2012-7-15 20:47
明雷的好说,主要就是需要暗雷的。

明雷和暗雷差不多,只不过把行走图设为空
你可以在事件出现条件上调,打开开关后才能触发此暗雷怪
作者: 钢铁列兵    时间: 2012-7-15 21:39
按照剧情的话我觉得只需要设置为事件分歧就可以了
作者: 我心飞扬    时间: 2012-7-16 06:33
无忧谷主幻 发表于 2012-7-15 20:57
明雷和暗雷差不多,只不过把行走图设为空
你可以在事件出现条件上调,打开开关后才能触发此暗雷怪 ...

你这样的办法,其实和明雷是一个性质的,只是画面上看不到敌人而已。主角走到特定位置发生战斗。


‘‘──我心飞扬于2012-7-16 06:33补充以下内容:

请仔细指点一下,应该怎么设置?
’’
作者: 灯笼菜刀王    时间: 2012-7-16 09:13
本帖最后由 灯笼菜刀王 于 2012-7-16 22:16 编辑


想同一个地图控制出现不同的敌人,直接在遇敌判定那增加个条件分歧不就可以了~

SCENEMAP里面,
if $game_player.encounter_count == 0 and $game_map.encounter_list != []
      # 不是在事件执行中或者禁止遇敌中
      unless $game_system.map_interpreter.running? or
             $game_system.encounter_disabled
        case $game_variables[1]  #加上个全局变量1号
        when 1   
          troop_id = rand(5)+5   #当变量是1的时候,出现的5-9号队伍的敌人
        when 2
          troop_id = rand(10)+10 #2的时候,出现10-14号队伍的敌人
        else                               #其他情况,按设置遇敌列表
                    
           # 确定队伍
        n = rand($game_map.encounter_list.size)
        troop_id = $game_map.encounter_list[n]
        end

这样就可以了
作者: 钢铁列兵    时间: 2012-7-16 09:17
钢铁列兵 发表于 2012-7-15 21:39
按照剧情的话我觉得只需要设置为事件分歧就可以了

实在不行就采用明雷的方式。
这样既好操作,有不容易起冲突。
作者: 我心飞扬    时间: 2012-7-16 09:43
本帖最后由 我心飞扬 于 2012-7-16 09:51 编辑
灯笼菜刀王 发表于 2012-7-16 09:13
想同一个地图控制出现不同的敌人,直接在遇敌判定那增加个条件分歧不就可以了~

SCENEMAP里面,


没有确定是在哪个地图呀?

有没有这样的脚本:在打开[N]号开关后,在[X]号地图只会遇到ID为[Y]的敌人队伍?
                     以及在打开[N]号开关后,在[X]号地图增加遇到ID为[Y]的敌人队伍?
或者这样的事件:在打开[N]号开关后,在本地图随机遇到ID为[Y]的敌人队伍?,这样在地图设置那一栏中的遇 敌设置就可以关了。
作者: 灯笼菜刀王    时间: 2012-7-16 11:27

所有地图有效, 只要你让变量等于1,所有地图都只会碰到特殊设置的敌人,, 既然是用剧情控制的, 只要在需要的时候控制变量等于1就可以了,不需要的时候让变量等于0就没影响.

在这里,这个变量等于开关, 引入不同的值就可以开启不同的队伍, 可以根据自己需要让变量等于条件值,也可以增加新的分歧, 这个分歧数量是无限. 如果只想在某个地图有效果,再加上一个条件if $game_map.map_id == y 就可以了

同样的,如果只想在原来的队伍里增加一只新怪, 那就建个新队伍,然后按原来的设置追加就可以了, 当然,高级手段是用脚本直接添加新的数组, 不过这个有点麻烦哈哈, 用新建法省事.

我不提供直接的脚本和范例, 本人不支持伸手党, 有思路上不懂的地方可以指点,但是不会直接提供成品, 事先说明~~
作者: 步兵中尉    时间: 2012-7-16 19:49
非得使用踩地雷的方法吗?
其实最简单的就是仙剑那种遇明敌的方法;简单是事件开关就解决了
作者: 我心飞扬    时间: 2012-7-16 21:10
灯笼菜刀王 发表于 2012-7-16 11:27
所有地图有效, 只要你让变量等于1,所有地图都只会碰到特殊设置的敌人,, 既然是用剧情控制的, 只 ...

老实说,你的第一、二段我根本就没看懂。我不知道怎么样去实现你说的东西。
你在第三段中说的,其实说误会我了,我不是在原来的队伍中增加新怪,而是增加新的队伍。我工程中的地图设置内可以设置暗雷怪,随着剧情的需要,增加几个队伍而已,原来设置的队伍也还在。

作者: 灯笼菜刀王    时间: 2012-7-16 22:10
本帖最后由 灯笼菜刀王 于 2012-7-16 22:34 编辑


如果我的理解没有错, 你就是要做个
"一开始正常, 一定剧情发展以后,回到这个地方, 地图里的怪变成另外一批, "

如果是要这样的效果, 就把20楼的那段脚本红色部分添加到 SCENEMAP里面句子里, 直接COPY过去就行, 注意先备份,,特别注意最后的end 别漏掉,否则会有语法错误,

然后在怪物队伍那里建5个队伍, 1-5是原来的弱小怪,在地图遇敌列表那设置就可以, 后6-10组是剧情发展后的怪, 11-15组是剧情发展后更强的怪, (这里也可以设置,我是以5组一批分的,可以自己设置, rand(5)代表0-4的随机数, 就是从前5组里选一个队伍出来,  后面+5. 那就变成了5-10的随机数,同理,需要调整就调整这里,适合自己的设置,  

这里队伍是要求连续的,如果是不连续,那再加上个判断,troop_id == N的时候,troop_id = N+1 .强制排除掉不出现的那个队伍就可以了.

同时,在剧情发展到这里,需要改变地图怪的时候, 加上这一句" 变量操作,公共变量[1](可以换成别的变量,改中括号里的数字就可以) = 1"  这样,不管地图设置列表里是什么怪, 踩雷后出现的一定是特殊设置的这5组, 同样的,还要变成别的就再让这个变量等于2, 这样出现的就是另外的5组, 因为自然数是无限的, 所以,这个变量就等于无限个开关, 只要你在开始的分歧那里设置好, 当它等于什么值的时候出现什么队伍就行了. 然后用事件给这个变量赋值就可以达到效果,

当然,出了这个地图就要把变量变成0 ,否则别的地图也是会出现特殊设置的怪, 可以在场所移动这里设置让变量等于0,然后再移动, 如果想回来这个地图还是踩特殊怪,那就回来的时候再让变量等于1就可以了.

这样的好处就是, 你想在任何地图设置任何时候出现任何特殊的怪都可以,  而且不限制次数和数量

如果你只想在一个地图上使用这个效果, 那就在用 if $game_map.map_id == N (这行脚本的意思是,当地图ID是XX的时候) 把改的这段圈起来,这样,只有在符合ID条件的地图里才会有这样的效果, 也就省了场所移动更改变量值的步骤了,

$game_variables[1]  这句是公共变量1号在脚本里的写法

这段脚本是简单的条件分歧应用, 当变量等于1的时候, 满足条件怎么样怎么样, 当变量等于2的时候,又怎么样怎么样,当变量不符合上面的数的时候, 是原来的脚本.

这个是入门级的脚本改造, 按F1, 看脚本教程, 看到条件分歧那一段就能理解.

靠自己的理解才是真正的东西,加油吧少年


作者: 步兵中尉    时间: 2012-7-16 23:39
本帖最后由 步兵中尉 于 2012-7-16 23:43 编辑

先制作一个透明的战斗图,然后放在设置为一个敌方角色。
之后凭借事件变化敌人,这个方法最简单了;附录范例一个。
一出来先走到遇敌;战斗后和阿尔西斯对话后就会发现地方角色变了

http://115.com/file/c252aw8k#
作者: 我心飞扬    时间: 2012-7-17 07:13
灯笼菜刀王 发表于 2012-7-16 22:10
如果我的理解没有错, 你就是要做个
"一开始正常, 一定剧情发展以后,回到这个地方, 地图里的怪变 ...

您的设置思路我看明白了。但是具体如何设置我还是一头雾水。
一直以来,我都是看范例后,针对相似情况进行套用。您这样一说,很多东西我都不知道该在什么情况下,在哪里使用。
再次,真心的感谢您,这样详细的指点。谢谢。
作者: 幻耶    时间: 2012-7-17 08:11
关于第三种战利品,请自行搜索战斗结束调用公共事件
作者: 我心飞扬    时间: 2012-7-17 08:38

关于第三种战利品,我是这么设定的,说为什么这么设,我也不知道,我是套用别人的工程。
而目前我的工程进展还可以,第三种战利品的获得也正常。但是不知道为什么,一用你的设定办法后,第三种战利品的获得就会变成我设定的正常值的10倍。
我没搞明白为什么。
作者: 灯笼菜刀王    时间: 2012-7-17 10:01

好吧,我上个范例, 不过,如果只会套用别人的工程的话,是无法驾驭脚本的, 只有真正变成自己的东西才能使用, 否则,以后肯定会因为依样画葫芦而卡得欢乐无比, 然后让自己的作品变成一个坑.

免责声明, 我不负责售后服务.

Project1.zip (228.94 KB, 下载次数: 60)


作者: 我心飞扬    时间: 2012-7-17 20:30
灯笼菜刀王 发表于 2012-7-17 10:01
好吧,我上个范例, 不过,如果只会套用别人的工程的话,是无法驾驭脚本的, 只有真正变成自己的东西 ...

谢谢,我去试试。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1