赞 | 2 |
VIP | 12 |
好人卡 | 2 |
积分 | 1 |
经验 | 4259 |
最后登录 | 2022-12-28 |
在线时间 | 192 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 116
- 在线时间
- 192 小时
- 注册时间
- 2008-5-11
- 帖子
- 547
|
本帖最后由 光的圆周率 于 2012-1-2 16:27 编辑
- #===============================================================================
- #
- # 简版子弹射击系统 For RMVA
- #
- # 版本:0.1
- # 说明:直接在你的射击系统的备注中加入:Spec:Shoot|Numb:AA|Binx:BB
- # 其中:AA为要消耗子弹的数量;BB为子弹的物品编号,
- # Shoot、Numb和Binx为标志,如果出现冲突可以在下面修改标志符号(很难用到)
- # 没有子弹的提示语也可以在下面修改 喵~
- #===============================================================================
- class Scene_Battle < Scene_Base
- def on_skill_ok
- #===========================================================================
- # 设置技能备注中的标志以及提示语
- shoot_s = "Shoot" # 设置作为射击技能的标志
- @numb_s = "Numb" # 设置需要子弹数量的标志
- @binx_s = "Binx" # 设置作为子弹的物品编号
- @nohb_s = "子弹数量已不足,无法射击!" # 设置子弹不足时的提示语
- #===========================================================================
- @skill = @skill_window.item
- if !$data_skills[@skill.id].note.empty?
- if $data_skills[@skill.id].note.downcase.include?shoot_s.downcase
- notes = $data_skills[@skill.id].note
- if !shoot_skill(notes)
- @skill = nil
- @skill_window.activate
- return 0
- end
- BattleManager.actor.input.set_skill(@skill.id)
- BattleManager.actor.last_skill.object = @skill
- end
- end
- BattleManager.actor.input.set_skill(@skill.id)
- BattleManager.actor.last_skill.object = @skill
- if [email protected]_selection?
- @skill_window.hide
- next_command
- elsif @skill.for_opponent?
- select_enemy_selection
- else
- select_actor_selection
- end
- end
-
- def shoot_skill(note)
- note_s = $data_skills[@skill.id].note.to_s
- note_s = note_s[0,note_s.length].to_s
- note_s1 = note_s
- nindex = note_s.downcase.index(@numb_s.downcase)
- note_s[0,nindex] = ""
- note_s = (note_s.split("|"))[0] if note_s.include?"|"
- num = note_s.split(":")[1]
- nindex = note_s1.downcase.index(@binx_s.downcase)
- note_s1[0,nindex] = ""
- note_s1 = (note_s1.split("|"))[1] if note_s1.include?"|"
- itnum = note_s1.split(":")[1].to_i
- if $game_party.item_number($data_items[itnum]).to_i >= num.to_i
- $game_party.lose_item($data_items[itnum],num.to_i)
- else
- @log_window.add_text @nohb_s if @log_window.last_text != @nohb_s
- Sound.play_buzzer
- return nil
- end
- end
- end
复制代码 没事儿试着写了个,应该能用吧....
@忧雪の伤
@越前リョーマ
比如要让某个技能每次使用时都要消耗物品编号为17的物品2个单位,在技能的备注里就可以这么写:
Spec:Shoot|Numb:2|Binx:17
|
|