Project1

标题: 战斗中技能的选择如何分裂为技能与魔法? [打印本页]

作者: 神剑艾留申    时间: 2008-9-13 05:16
标题: 战斗中技能的选择如何分裂为技能与魔法?
如此样效果


技能的判定 如何设置成与名字有关 (比如:连击,技能) 属于技能 (火球,魔法)属于魔法

或者能直接与数据库中技能设置的这些的关联起来

力量 灵巧 敏捷 其中一项大于 智力时 就判定为技能
智力在其他三样属性之上时 判定为魔法

注:不是要技能分类脚本那种效果..
实在是没办法了,自己找了很久站上貌似没有,我伸出双手..{/gg}
当然我想要的是如何制作的方法,而不是现成的脚本..
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: hitlerson    时间: 2008-9-13 05:19
module RPG
  class Skill
  attr_accessor   :name
  attr_accessor   :type
    def name
      name = @name.split(/,/)[0]
      return name != nil ? name : ""
    end
    def type
      type = @name.split(/,/)[1]
      return type != nil ? type : ""
    end
end


如此雲雲。。。。。。
作者: 殲滅天使·玲    时间: 2008-9-13 05:26
这是设置了 名字的判断吗?
但具体该如何套用到 特技与魔法里呢?{/fd}

PS: LZ是我
作者: hitlerson    时间: 2008-9-13 05:33
Window——Skill

    @data = []
    for i in [email protected]
      skill = $data_skills[@actor.skills]
        if skill != nil
          if skill.type == ”魔法“
            @data.push(skill)
          end
        end
    end
作者: 殲滅天使·玲    时间: 2008-9-13 05:54
我还需要自己做一个选择魔法以后的window_技能类是么?
在另一个window技能里用原来的
if skill != nil
   @data.push(skill)
end
战斗时2个选择分别用不同的窗口显示 {/fd}???


作者: hitlerson    时间: 2008-9-13 05:58
選擇的時候傳個變量 type 過去,告訴他是選魔法還是技能,然後就能這樣了

  def refresh(type=0)
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in [email protected]
      skill = $data_skills[@actor.skills]
      if skill != nil
        if skill.type == type or type == 0
          @data.push(skill)
        end
      end
    end
    # 如果项目数不是 0 就生成位图、重新描绘全部项目
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end

[LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 神剑艾留申    时间: 2008-9-13 06:29
是在这里加入判断??
  #--------------------------------------------------------------------------
  # ● 开始选择特技
  #--------------------------------------------------------------------------
  def start_skill_select
    # 生成特技窗口
    @skill_window = Window_Skill.new(@active_battler)
    # 关联帮助窗口
    @skill_window.help_window = @help_window
    # 无效化角色指令窗口
    @skill.type == type
    @actor_command_window.active = false
    @actor_command_window.visible = false
  end

我在很多地方都试了下,技能都会无法显示,变成全空了.
,第2个问题已经替我解决了,先发300 ..
战斗的时候还是无法分别的使用 = =
第一个问题不知道是您意会错了 还是 我真不知道怎么弄
你看看工程
http://rpg.blue/upload_program/goods/Project9_101687335.rar
作者: hitlerson    时间: 2008-9-13 06:54
http://rpg.blue/upload_program/goods/Project9_101688827.rar
作者: 神剑艾留申    时间: 2008-9-13 06:59
谢谢你 hitlerson ,
最后能告诉我你修改了哪一段吗?
难道就只是在 使用技能后加上了start_skill_select("XXX") 吗??{/gg}
作者: hitlerson    时间: 2008-9-13 07:00
start_skill_select("XXX") 打的時候傳個參數過去,
WINDOW_SKILL接收 再傳遞給refresh [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 神剑艾留申    时间: 2008-9-13 07:02
自己脚本学得不够深..真不好意思, 谢谢你了..真感激你...
{/hx}
作者: hitlerson    时间: 2008-9-13 07:10
難得有人問為什麽的,感謝你,我對這論壇又有點希望了




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