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

Project1

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

[RMVA发布] 【纯事件】火铳子弹射击系统V2(支持多人)

[复制链接]

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

跳转到指定楼层
1
发表于 2012-1-1 13:39:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 越前リョーマ 于 2012-1-27 00:08 编辑

【V2版更新内容】
支持队伍里有多个火枪手。
如果只剩一颗子弹,而两个火枪手都选择射击,那么后发的人当前回合不做任何行动。




忧雪说她最想写的是子弹系统……于是我先做了一个事件版的,应该会有很大区别。

这个事件版的,其实还是有点小问题的。就不改脚本来说,虽然VA提供给角色一个【攻击】技能,但是我们却不能让不同的角色有不同的【攻击】,所以我只能把【攻击】设置为威力小的近身,然后用技能额外做了火铳的攻击和一个技能,都是需要装备抢以及消耗子弹的。
若是前面的版本的RM来做,也许会比这个更麻烦以及效果不好(只能删除技能却不能封印,还要一堆判断……),另外也不确定到底能不能做了。

这个范例也可以拿来当做熟悉VA于之前不同的一些地方吧。




http://115.com/file/be32z03p

顺便吐槽,VA自带3M的DLL导致范例文件剧增,上传不了附件,只能115出手了。

点评

子弹数。检查到子弹数后如果为0那么再封印住子弹技。就这样,咩  发表于 2012-1-24 20:35
战斗过程中。。。。那就要技能了。战斗前并行获得了子弹是否为0 如果此时子弹为0总不可能在战斗中补充。 如果子弹不为0,那么使用子弹技后检查  发表于 2012-1-24 20:34
不技能那就并行。并行处理也比一个个敌群都设置强  发表于 2012-1-24 20:27
不回帖的都是基佬  发表于 2012-1-1 13:46
我竟然看到 6R 的图片了。  发表于 2012-1-1 13:45

评分

参与人数 1星屑 +1332 收起 理由
fux2 + 1332 塞糖

查看全部评分

Lv2.观梦者

虚構歪曲

梦石
0
星屑
339
在线时间
1197 小时
注册时间
2010-12-18
帖子
3928

贵宾

2
发表于 2012-1-1 13:44:19 | 只看该作者
本帖最后由 忧雪の伤 于 2012-1-1 13:55 编辑

好吧,我会写出脚本版的……(挤出来的话。

点评

T.T  发表于 2012-1-1 13:49
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
116
在线时间
192 小时
注册时间
2008-5-11
帖子
547
3
发表于 2012-1-2 16:23:36 | 只看该作者
本帖最后由 光的圆周率 于 2012-1-2 16:27 编辑
  1. #===============================================================================
  2. #
  3. #  简版子弹射击系统 For RMVA
  4. #   
  5. #   版本:0.1
  6. #   说明:直接在你的射击系统的备注中加入:Spec:Shoot|Numb:AA|Binx:BB
  7. #         其中:AA为要消耗子弹的数量;BB为子弹的物品编号,
  8. #         Shoot、Numb和Binx为标志,如果出现冲突可以在下面修改标志符号(很难用到)
  9. #         没有子弹的提示语也可以在下面修改 喵~
  10. #===============================================================================
  11. class Scene_Battle < Scene_Base
  12.   def on_skill_ok
  13.     #===========================================================================
  14.     # 设置技能备注中的标志以及提示语
  15.     shoot_s  = "Shoot"                       # 设置作为射击技能的标志
  16.     @numb_s  = "Numb"                        # 设置需要子弹数量的标志
  17.     @binx_s  = "Binx"                        # 设置作为子弹的物品编号
  18.     @nohb_s  = "子弹数量已不足,无法射击!"    # 设置子弹不足时的提示语
  19.     #===========================================================================
  20.     @skill = @skill_window.item
  21.     if !$data_skills[@skill.id].note.empty?
  22.       if $data_skills[@skill.id].note.downcase.include?shoot_s.downcase
  23.         notes = $data_skills[@skill.id].note
  24.        if !shoot_skill(notes)
  25.          @skill = nil
  26.          @skill_window.activate
  27.          return 0
  28.        end
  29.       BattleManager.actor.input.set_skill(@skill.id)
  30.       BattleManager.actor.last_skill.object = @skill
  31.      end
  32.    end
  33.     BattleManager.actor.input.set_skill(@skill.id)
  34.     BattleManager.actor.last_skill.object = @skill
  35.     if [email protected]_selection?
  36.        @skill_window.hide
  37.        next_command
  38.     elsif @skill.for_opponent?
  39.        select_enemy_selection
  40.     else
  41.        select_actor_selection
  42.     end
  43.   end
  44.   
  45.   def shoot_skill(note)
  46.     note_s  = $data_skills[@skill.id].note.to_s
  47.     note_s  = note_s[0,note_s.length].to_s
  48.     note_s1 = note_s
  49.     nindex = note_s.downcase.index(@numb_s.downcase)
  50.     note_s[0,nindex] = ""
  51.     note_s = (note_s.split("|"))[0] if note_s.include?"|"
  52.     num = note_s.split(":")[1]
  53.     nindex = note_s1.downcase.index(@binx_s.downcase)
  54.     note_s1[0,nindex] = ""
  55.     note_s1 = (note_s1.split("|"))[1] if note_s1.include?"|"
  56.     itnum = note_s1.split(":")[1].to_i
  57.     if $game_party.item_number($data_items[itnum]).to_i >= num.to_i
  58.        $game_party.lose_item($data_items[itnum],num.to_i)
  59.      else
  60.       @log_window.add_text @nohb_s if @log_window.last_text != @nohb_s
  61.       Sound.play_buzzer
  62.       return nil
  63.     end
  64.   end
  65. end
复制代码
没事儿试着写了个,应该能用吧....
@忧雪の伤
@越前リョーマ
比如要让某个技能每次使用时都要消耗物品编号为17的物品2个单位,在技能的备注里就可以这么写:
Spec:Shoot|Numb:2|Binx:17

点评

据说忧雪的那货还要涉及威力什么的 - -b  发表于 2012-1-6 16:07
这样啊~  发表于 2012-1-2 16:36
@失败……我没收到信息啊喵~话说我是准备弄比较复杂的啦 —— 倒不是自己要用。  发表于 2012-1-2 16:30
9
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
86 小时
注册时间
2011-10-7
帖子
41
4
发表于 2012-1-24 04:44:03 | 只看该作者
我是基佬但我回帖

评分

参与人数 1星屑 -100 收起 理由
忧雪の伤 -100 酱油瓶 谢谢惠顾

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人

梦石
0
星屑
49
在线时间
88 小时
注册时间
2011-12-17
帖子
281
5
发表于 2012-1-24 10:28:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

永久原子

梦石
18
星屑
175
在线时间
2054 小时
注册时间
2010-10-25
帖子
4226

开拓者

6
发表于 2012-1-24 10:38:10 | 只看该作者
看到评论不得不回....................话说子弹系统对涉及现代的游戏很必要啊。
人不在了,有事烧纸。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

7
 楼主| 发表于 2012-1-27 00:08:57 | 只看该作者
更新支持多人 - -b
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
434 小时
注册时间
2006-5-25
帖子
201
8
发表于 2012-1-28 02:44:55 | 只看该作者
这个脚本是相当于发动技能消耗某特定道具的作用吧?不一定是子弹什么的

点评

枪发子弹是个典型例子而已  发表于 2012-1-28 02:49
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2012-1-31
帖子
7
9
发表于 2012-2-2 01:30:26 | 只看该作者
有机会试着做做现代剧情的游戏,话说评论使得压力很大啊~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
434 小时
注册时间
2006-5-25
帖子
201
10
发表于 2012-2-2 20:14:33 | 只看该作者
脚本那里"子弹数量已不足,无法射击!"这句话在游戏出现能不能设置消失时间的,它跟技能的描述叠在一起,看不到技能的描述。。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-21 16:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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