幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1966|回复: 11

[RM2K&2K3] [求助]有关RPG中原地遇敌和队员替换问题

[复制链接]

4

主题

40

帖子

242

积分

③业余

永远忠诚的AC FAN

积分
242
发表于 2006-7-30 14:31:40 | 显示全部楼层 |阅读模式
请问如果要设计一个物品用了后就会原地遇敌,是不是应该让它被用后触发公共事件:设置一个循环,开启触发事件2的开关[事件2是我设计的检测方向键的变量,如果有按键则它的值加一],然后计时3秒,如果这期间角色有移动那么方向键变量的值就会增加,3秒过后进行条件分歧,如果计时器过了3秒而且方向键变量的值为0时,那么触发战斗,否则中断事件处理。大概就是这个思路吧,但是在计时的时候时间并不会停下来让事件3秒后继续处理,而且判断时间是否过了3秒时只能是计时器在XX秒之上或之下,这就不好判断了,如果选0秒之下的话,那么在条件分歧的否[即3——0秒时]又该作如何设置?还有用对方向键变量的操作我是通过一个公共事件处理的,这个事件是通过第一个公共事件里的一个开关打开来触发的,不知道这样能不能对变量进行操作。
还有个问题,我一个队里只能有4个队员,如果第5人加入怎么才能设置一个空闲队来替换,即把暂时不用的队员放入空闲队中??
我语言表述不是很好,如果有看懂了我说的请帮帮我,谢谢
荣誉即吾命![/COLOR]
回复

使用道具 举报

4

主题

109

帖子

2494

积分

⑥精研

不灌水者

积分
2494
发表于 2006-7-30 15:38:12 | 显示全部楼层
在公共事件里加入以下脚本,使用物品启动这个时间就遇敌了,事件也可以拉,不过RGSS和事件那个方便那个就是王道咯
n = rand($game_map.encounter_list.size)
troop_id = $game_map.encounter_list[n]
if $data_troops[troop_id] != nil
$game_temp.battle_calling = true
$game_temp.battle_troop_id = troop_id
$game_temp.battle_can_escape = true
$game_temp.battle_can_lose = false
$game_temp.battle_proc = nil
end

第2个同样,改RGSS
不知道你要的效果是不是这样
按某键把主力队员转成板凳队员?
在鄙视中变强
回复 支持 反对

使用道具 举报

4

主题

40

帖子

242

积分

③业余

永远忠诚的AC FAN

积分
242
 楼主| 发表于 2006-7-30 15:41:56 | 显示全部楼层
哦,多谢,我是想创建另一个队,在菜单中可见,并且可以随时替换2个队的队员 [s:2]
荣誉即吾命![/COLOR]
回复 支持 反对

使用道具 举报

4

主题

40

帖子

242

积分

③业余

永远忠诚的AC FAN

积分
242
 楼主| 发表于 2006-7-30 15:55:15 | 显示全部楼层
蟋蟀大哥你那个脚本我加入一个公共事件,然后让使用道具后调用那个事件,但是运行游戏时说什么  执行脚本时发生TypeError  noimplicit from nil to integer [s:3]
荣誉即吾命![/COLOR]
回复 支持 反对

使用道具 举报

4

主题

109

帖子

2494

积分

⑥精研

不灌水者

积分
2494
发表于 2006-7-30 16:02:54 | 显示全部楼层
喔~~~忘了如果地图没有敌人的话会出这个错误
加多一句就没问题了
if $game_map.encounter_list != []
n = rand($game_map.encounter_list.size)
troop_id = $game_map.encounter_list[n]
if $data_troops[troop_id] != nil
$game_temp.battle_calling = true
$game_temp.battle_troop_id = troop_id
$game_temp.battle_can_escape = true
$game_temp.battle_can_lose = false
$game_temp.battle_proc = nil
end
end
在鄙视中变强
回复 支持 反对

使用道具 举报

4

主题

40

帖子

242

积分

③业余

永远忠诚的AC FAN

积分
242
 楼主| 发表于 2006-7-30 16:12:14 | 显示全部楼层
我想学这门语言,请问是否在RMXP中已经定义好了RGSS的函数,在哪里看啊,或者有这方面的教程吗?多谢了 [s:1]
荣誉即吾命![/COLOR]
回复 支持 反对

使用道具 举报

4

主题

109

帖子

2494

积分

⑥精研

不灌水者

积分
2494
发表于 2006-7-30 16:16:47 | 显示全部楼层
按F11 全都是
按F1 看这个能学会全部
在鄙视中变强
回复 支持 反对

使用道具 举报

4

主题

40

帖子

242

积分

③业余

永远忠诚的AC FAN

积分
242
 楼主| 发表于 2006-7-30 16:17:16 | 显示全部楼层
哎呀我晕,这个程序肯定只能遇敌一次,原地遇敌是用了后给个2,3秒如果角色移动就中断处理,如果过了2,3秒角色没移动那么就遇敌,战斗完后再判断是否在时间内移动如果没有继续遇敌这样循环,脚本里起码也该看见FOR或者DO WHILE之类的吧。。。。。。你是修改了遇敌步数吗?
荣誉即吾命![/COLOR]
回复 支持 反对

使用道具 举报

4

主题

109

帖子

2494

积分

⑥精研

不灌水者

积分
2494
发表于 2006-7-30 16:33:39 | 显示全部楼层
哪段脚本是直接调用战斗的
我开始只以为你要原地遇敌就行了
2个事件,一个用来打开开关,一个开关打开后并行处理
事件里的脚本限制了长度,所以可以用事件语句来判定哪个循环
譬如这样
循环
变量1+=1
IF 变量1==120
执行脚本
变量1=0

IF 按下上下左右
开关= OFF
中断事件
在鄙视中变强
回复 支持 反对

使用道具 举报

4

主题

40

帖子

242

积分

③业余

永远忠诚的AC FAN

积分
242
 楼主| 发表于 2006-7-30 16:45:51 | 显示全部楼层
晕了。。。。。。那时间呢,中间总要间隔吧,要不战斗就一场接一场的不停的来了 [s:7]
荣誉即吾命![/COLOR]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-29 01:40 , Processed in 0.011744 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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