Project1

标题: 帮我把脚本整合一下。 [打印本页]

作者: 艾孜哈尔    时间: 2014-7-18 23:02
标题: 帮我把脚本整合一下。
本帖最后由 hys111111 于 2014-7-20 15:16 编辑

是这样的,我想把阿尔西斯战记里的战旗系统移到我的游戏里,我的游戏用的是空轨菜单,但我不知道它俩咋整合,所以上网寻求帮助。由于我没啥VIP币,开不了悬赏,所以只能用3000经验来代替了。
注意!整合时请认真看完以下脚本后再进行整合,免得出问题。
RUBY 代码复制
  1. =begin
  2.  
  3. 根据需求增加了一些脚本,
  4. 但!是!只适用于默认战斗系统以及基本规则是默认系统的战斗脚本,
  5. 切必须至于任何战斗系统之下,否则会出错或者无效。
  6.  
  7. 至于与其他战斗系统整合,已经是另一个程度的问题了。
  8.  
  9. 一点简单的说明:
  10. 首先在【数据库】里面的【系统】页里的【属性】里,
  11. 增加最大值,找到20号,设定为【特技】,21号设定为【S-爆发技】。
  12.  
  13. 之后,作为战技的技能,请在属性里勾上【特技】属性,
  14. 然后这类技能设定的【SP消耗】其实就是CP的消耗了。
  15.  
  16.  
  17. 下方有一些KGH模块的扩展,
  18. 是关于一些常规行动获得的CP量。
  19. 可以自行设定。
  20.  
  21. =end
  22.  
  23.  
  24. # KGH模块的一些小扩展
  25. module KGH
  26.   # 指令【攻击】获得的cp
  27.   CP_GAIN_ATT = 5
  28.   # 指令【防御】获得的cp
  29.   CP_GAIN_GUA = 4
  30.   # 挨打时获得的cp
  31.   CP_GAIN_DAM = 3
  32. end
  33.  
  34.  
  35. #==============================================================================
  36. # ■ Scene_Battle (分割定义 4)
  37. #------------------------------------------------------------------------------
  38. #  处理战斗画面的类。
  39. #==============================================================================
  40.  
  41. class Scene_Battle
  42.  
  43.   #--------------------------------------------------------------------------
  44.   # ☆ 获取基础命令(攻击、防御)的CP
  45.   #--------------------------------------------------------------------------
  46.   def get_cp
  47.     # 攻击
  48.     if @active_battler.current_action.kind == 0 && @active_battler.current_action.basic == 0
  49.       cp_get = KGH::CP_GAIN_ATT
  50.     # 防御
  51.     elsif @active_battler.current_action.kind == 0 && @active_battler.current_action.basic == 1
  52.       cp_get = KGH::CP_GAIN_GUA
  53.     # 其他
  54.     else
  55.       cp_get = 0
  56.     end
  57.     @active_battler.gain_cp(cp_get)
  58.   end
  59.  
  60.   #--------------------------------------------------------------------------
  61.   # ☆ 生成基本行动结果
  62.   #--------------------------------------------------------------------------
  63.   alias :old_make_basic_action_result :make_basic_action_result
  64.   def make_basic_action_result
  65.     ## 获取基本行动CP(只给我方角色增加)
  66.     get_cp if @active_battler.is_a?(Game_Actor)
  67.     # 刷新状态窗口
  68.     @status_window.refresh
  69.     ##############
  70.  
  71.     # 进行原本流程
  72.     old_make_basic_action_result
  73.   end
  74.  
  75.   #--------------------------------------------------------------------------
  76.   # ● 生成特技行动结果
  77.   #--------------------------------------------------------------------------
  78.   alias old_kgh_make_skill_action_result make_skill_action_result
  79.   def make_skill_action_result
  80.     [url=home.php?mod=space&uid=260100]@skill[/url] = $data_skills[@active_battler.current_action.skill_id]
  81.     # 如果不是强制行动
  82.     unless @active_battler.current_action.forcing
  83.       # 因为 SP 耗尽而无法使用的情况下
  84.       unless @active_battler.skill_can_use?(@skill.id)
  85.         # 清除强制行动对像的战斗者
  86.         $game_temp.forcing_battler = nil
  87.         # 移至步骤 1
  88.         @phase4_step = 1
  89.         return
  90.       end
  91.     end
  92.     # 消耗 SP
  93.    # 异界的月追加CP消耗
  94.     if @skill.element_set.include?(KGH::Crafts_Skill) or
  95.       @skill.element_set.include?(KGH::S_Crafts_Skill)
  96.       @active_battler.gain_cp([email]-@skill.sp_cost[/email])
  97.     else
  98.       @active_battler.sp -= @skill.sp_cost
  99.     end  
  100.    # 技能增加CP
  101.     if @skill.element_set.include?(1)
  102.       @active_battler.gain_cp(+3)
  103.     end
  104.     # 技能增加CP
  105.     if @skill.element_set.include?(2)
  106.       @active_battler.gain_cp(+3)
  107.     end  
  108.     # 技能增加CP
  109.     if @skill.element_set.include?(3)
  110.       @active_battler.gain_cp(+3)
  111.     end  
  112.     # 技能增加CP
  113.     if @skill.element_set.include?(4)
  114.       @active_battler.gain_cp(+3)
  115.     end      
  116.    # 技能增加CP
  117.     if @skill.element_set.include?(5)
  118.       @active_battler.gain_cp(+3)
  119.     end   
  120.    # 技能增加CP
  121.     if @skill.element_set.include?(6)
  122.       @active_battler.gain_cp(+3)
  123.     end
  124.     # 技能增加CP
  125.     if @skill.element_set.include?(7)
  126.       @active_battler.gain_cp(+3)
  127.     end  
  128.      # 技能增加CP
  129.     if @skill.element_set.include?(8)
  130.       @active_battler.gain_cp(+3)
  131.     end  
  132.     # 刷新状态窗口
  133.     @status_window.refresh
  134.     # 在帮助窗口显示特技名
  135.     @help_window.set_text(@skill.name, 1)
  136.     # 设置动画 ID
  137.     @animation1_id = @skill.animation1_id
  138.     @animation2_id = @skill.animation2_id
  139.     # 设置公共事件 ID
  140.     @common_event_id = @skill.common_event_id
  141.     # 设置对像侧战斗者
  142.     set_target_battlers(@skill.scope)
  143.     # 应用特技效果
  144.     for target in @target_battlers
  145.       target.skill_effect(@active_battler, @skill)
  146.     end
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ☆ 刷新画面 (主回合步骤 5 : 显示伤害)
  150.   #--------------------------------------------------------------------------
  151.   alias :old_update_phase4_step5 :update_phase4_step5
  152.   def update_phase4_step5
  153.     # 隐藏帮助窗口
  154.     @help_window.visible = false
  155.     # 刷新状态窗口
  156.     @status_window.refresh
  157.     # 显示伤害
  158.     for target in @target_battlers
  159.       if target.damage != nil
  160.         target.damage_pop = true
  161.       end
  162.       ##挨打时对象获得的CP(只给我方角色增加)
  163.       if target.is_a?(Game_Actor)
  164.         target.gain_cp(KGH::CP_GAIN_DAM)
  165.         # 刷新状态窗口
  166.         @status_window.refresh
  167.       end
  168.       ###########################
  169.     end
  170.     # 移至步骤 6
  171.     @phase4_step = 6
  172.   end
  173. end
  174.  
  175. #==============================================================================
  176. # ■ Game_Actor 追加
  177. #------------------------------------------------------------------------------
  178. #    角色结晶槽的升级接口函数为:
  179. #    <Game_Actor实例>.cs_levelup(结晶槽ID, 升级幅度) 升级幅度省略则为1
  180. #==============================================================================
  181. class Game_Actor < Game_Battler
  182.   #--------------------------------------------------------------------------
  183.   # ● 检测技能是否可用,与默认方法略微不同
  184.   #     skill_id   : 技能ID
  185.   #--------------------------------------------------------------------------
  186.   def skill_can_use?(skill_id)
  187.     #如果是CP技能
  188.     if $data_skills[skill_id].element_set.include?(KGH::Crafts_Skill) or
  189.       $data_skills[skill_id].element_set.include?(KGH::S_Crafts_Skill)
  190.       # CP 不足的情况下不能使用
  191.       if $data_skills[skill_id].sp_cost > self.cp_store
  192.         return false
  193.       end
  194.     end
  195.     return super
  196.   end
  197. end

在这里我有几点要求:
1.不是在战斗中将光标指向谁就会出现状态栏吗?分别是HP、SP和DELAY条,我的请求是把那个CP条也加上去、上限全部人的都是200。
2.数据库里的状态我只要阿尔西斯战记中的18、19和50,其他都不要,而属性栏里的1~8、20~21、26~30号状态不动。
3.阿尔西斯战记里除了我不要的那3个脚本以外(我标注过了)其他的都移到另一个去。
4.请教我一下这套脚本的用法~~
工程下载地址:http://dl.vmall.com/c0zanuxzq0
作者: 白鬼    时间: 2014-7-19 14:18
你的工程 文件审核中 无法下载
首先说一下想法
其实这两个脚本,一个是战斗系统的应用,另外一个是菜单窗口,理论上是不会冲突的
就看战斗系统是否有涉及系统基础的东西。
并且菜单窗口是否有重新定义系统基础的东西。
理论上,就只是在战斗系统中加入一个CP系统和CP窗口
作者: 艾孜哈尔    时间: 2014-7-19 14:50
白鬼 发表于 2014-7-19 14:18
你的工程 文件审核中 无法下载
首先说一下想法
其实这两个脚本,一个是战斗系统的应用,另外一个是菜单窗口 ...

@白鬼 审核已完毕,请帮帮忙。我是不会整合才会发帖的,因为每次我想整合时都会出现错误,所以才发帖,但这只占50%,另外的50%是关于CP的~~~而且有那个CP脚本,如果整合不当,出现错误是难免的。
作者: 白鬼    时间: 2014-7-19 19:43
艾孜哈尔 发表于 2014-7-19 14:50
@白鬼 审核已完毕,请帮帮忙。我是不会整合才会发帖的,因为每次我想整合时都会出现错误,所以才发帖,但 ...

我只是提个思路
要我来整合的话很慢很慢
6R社团我的社团名字叫做 低产社
加入6R至今未出过一个完整的游戏demo都没有
倒是有个自动存档案+自动读档的范例
但是估计也找不到了
最主要的是,我没有时间
工作忙得下班了一动不想动
要不是肚子饿……
我有空会看看的
但是不保证能动手整合
更不保证能整合好
别太期待啊~~~~
作者: chd114    时间: 2014-7-19 22:07
这两个系统貌似是不冲突的···是不是你自己用了其他冲突的脚本?
作者: 艾孜哈尔    时间: 2014-7-20 00:28
chd114 发表于 2014-7-19 22:07
这两个系统貌似是不冲突的···是不是你自己用了其他冲突的脚本?

没有啊!只是我不会整合而已,如果你要说有的话我认为就是我发的那个CP脚本了,然后顺便在战斗中显示的状态栏里加个CP条而已
作者: chd114    时间: 2014-7-20 11:06
艾孜哈尔 发表于 2014-7-19 07:28
没有啊!只是我不会整合而已,如果你要说有的话我认为就是我发的那个CP脚本了,然后顺便在战斗中显示的状 ...

那么你的问题解决了?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1