Project1
标题:
公共事件及变量的问题
[打印本页]
作者:
yongsmlaiaini
时间:
2009-12-7 10:49
标题:
公共事件及变量的问题
我弄了个物品,想让它使用可以增加经验值,本来想好了,一来做一下堵住了。。怎么弄才能平衡?包括冷却时间,麻烦哪位大神帮忙贴个。。要用事件做的。我弄了半天没弄出来。谢谢了
作者:
夏季冰川
时间:
2009-12-7 11:05
你发错区了。
作者:
clap_pl
时间:
2009-12-10 17:59
本帖最后由 clap_pl 于 2009-12-12 15:32 编辑
就给他加个冷却时间好了 想了一想 可以这么做
首先是假设设置了一个物品叫“智慧果”
效果是 使用的时候 给目标增加 1000点EXP, 冷却时间是一小时(3600秒)
那至少需要几样东西,1 智慧果这个物品 2一个状态,用来标记这个物品是对谁使用,以便下一步将EXP加给他
3 两个变量,用来比较两次使用之间的时间间距 4一个公共事件 用来完成以上效果
首先设置一个智慧果,最好是不消耗的(用了不消失),
设置好一个空状态,起个名叫“exp增加”吧,假设这个状态的ID号是17,(状态ID号就是你设置状态时,那个状态的编号)
设置一个公共事件 叫 “使用智慧果增加EXP” 吧
然后把 智慧果 这个物品设置为 使用后对目标附加状态 exp增加,并附带公共事件“使用智慧果增加EXP”
设置两个变量,假设ID是1和2,其名为 当前使用时间 和 上次成功使用时间。(使用和成功是有差距的)
最后把公共事件“使用智慧果增加EXP”做如下设置
1 变量操作: 将游戏时间赋予变量1 即变量“当前使用时间”
2 脚本:
if $game_variables[1] <= 3600
$game_variables[1] = 3600
end
#这段脚本是保证你第一次使用该物品的成功,假如第一次使用这个物品的时候,游戏时间还没到1小时,就会无法使用。
3 条件分歧 $game_variables[1]-$game_variables[2] >= 3600
#判断两次使用时间差是不是大于3600秒。
判断为是的情况
写入脚本
for j in 0 ... $game_party.actors.size #逐个检查队伍中全体成员
if $game_party.actors[j].state?(17)#是不是带有“增加EXP”这个状态(ID号为17)
$game_party.actors[j].exp += 1000 #如果是,该成员的EXP增加1000
$game_party.actors[j].remove_state(17)#去掉该成员“exp增加”这个状态
end
end
加入一条: 变量操作:变量2(上次使用成功时间)赋值为当前游戏时间
判断为不是的场合
可以显示一段文字如 “现在还不能使用这个物品”
完
图中是公共时间设置的截图 冷却设置的是10秒 增加exp设置的是100
默认满员为4人
那个 for in 0..3
还是要改成 for in 0... $game_party.actors.size
1.JPG
(24.33 KB, 下载次数: 5)
下载附件
保存到相册
2009-12-10 18:09 上传
作者:
yongsmlaiaini
时间:
2009-12-16 15:39
感谢万分
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1