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

Project1

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

如何使普通攻击消耗SP?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-5-1
帖子
15
跳转到指定楼层
1
发表于 2008-9-15 17:45:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
目前在做特殊类型的RPG,需要使普通攻击消耗SP,但目前不知道怎么弄{/pz}……
应该是在脚本里设吧?该怎么改呢?请高手指教,谢谢!
版务信息:本贴由楼主自主结贴~
ONLY THE DEAD HAVE SEEN THE END OF WAR
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-8-19
帖子
49
2
发表于 2008-9-15 18:53:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-5-1
帖子
15
3
 楼主| 发表于 2008-9-15 19:52:26 | 只看该作者
这样不行啊,不攻击也会扣SP的,最后是改一下脚本,就是不知在哪里……
ONLY THE DEAD HAVE SEEN THE END OF WAR
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39163
在线时间
5737 小时
注册时间
2006-11-10
帖子
6638
4
发表于 2008-9-15 20:20:07 | 只看该作者
GAME BATTLE3,SELF.HP-SHLF.DAMAGE加上ATTACKER.SP-=XXX。

不过,这样就算SP为0也能普通攻击。想要限制就要到SCENE BATTLE里限制。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-5-1
帖子
15
5
 楼主| 发表于 2008-9-15 20:26:25 | 只看该作者
以下引用灯笼菜刀王于2008-9-15 12:20:07的发言:

GAME BATTLE3,SELF.HP-SHLF.DAMAGE加上ATTACKER.SP-=XXX。

不过,这样就算SP为0也能普通攻击。想要限制就要到SCENE BATTLE里限制。

先谢谢了,不过怎么再限制呢?(脚本只懂四则运算{/ll})
ONLY THE DEAD HAVE SEEN THE END OF WAR
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39163
在线时间
5737 小时
注册时间
2006-11-10
帖子
6638
6
发表于 2008-9-15 20:42:51 | 只看该作者
  1. class Scene_Battle
  2. $普通攻击消耗的SP = 10
  3. def make_basic_action_result
  4.     # 攻击的情况下
  5.     if @active_battler.current_action.basic == 0
  6.       if @active_battler.sp < $普通攻击消耗的SP
  7.       @active_battler.current_action.basic = 3
  8.       return
  9.       else
  10.       @active_battler.sp -= $普通攻击消耗的SP
  11.       end
  12.       # 设置攻击 ID
  13.       @animation1_id = @active_battler.animation1_id
  14.       @animation2_id = @active_battler.animation2_id
  15.       # 行动方的战斗者是敌人的情况下
  16.       if @active_battler.is_a?(Game_Enemy)
  17.         if @active_battler.restriction == 3
  18.           target = $game_troop.random_target_enemy
  19.         elsif @active_battler.restriction == 2
  20.           target = $game_party.random_target_actor
  21.         else
  22.           index = @active_battler.current_action.target_index
  23.           target = $game_party.smooth_target_actor(index)
  24.         end
  25.       end
  26.       # 行动方的战斗者是角色的情况下
  27.       if @active_battler.is_a?(Game_Actor)
  28.         if @active_battler.restriction == 3
  29.           target = $game_party.random_target_actor
  30.         elsif @active_battler.restriction == 2
  31.           target = $game_troop.random_target_enemy
  32.         else
  33.           index = @active_battler.current_action.target_index
  34.           target = $game_troop.smooth_target_enemy(index)
  35.         end
  36.       end
  37.       # 设置对像方的战斗者序列
  38.       @target_battlers = [target]
  39.       # 应用通常攻击效果
  40.       for target in @target_battlers
  41.         target.attack_effect(@active_battler)
  42.       end
  43.       return
  44.     end
  45.     # 防御的情况下
  46.     if @active_battler.current_action.basic == 1
  47.       # 帮助窗口显示"防御"
  48.       @help_window.set_text($data_system.words.guard, 1)
  49.       return
  50.     end
  51.     # 逃跑的情况下
  52.     if @active_battler.is_a?(Game_Enemy) and
  53.        @active_battler.current_action.basic == 2
  54.       #  帮助窗口显示"逃跑"
  55.       @help_window.set_text("逃跑", 1)
  56.       # 逃跑
  57.       @active_battler.escape
  58.       return
  59.     end
  60.     # 什么也不做的情况下
  61.     if @active_battler.current_action.basic == 3
  62.       # 清除强制行动对像的战斗者
  63.       $game_temp.forcing_battler = nil
  64.       # 移至步骤 1
  65.       @phase4_step = 1
  66.       return
  67.     end
  68.   end
  69. end
复制代码


把这段脚本塞到MAIN前,名字随便。

默认普通攻击消耗10SP,想改就改前面的那个$普通攻击消耗的SP = 10 后面的数字。
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-24 05:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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