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

Project1

 找回密码
 注册会员
搜索
楼主: hide秀

[技术脚本活动] 迎奥运特别活动 任务制 奖励vip[vip发放完毕]

 关闭 [复制链接]

Lv1.梦旅人

┿动サ漫FANS

梦石
0
星屑
50
在线时间
2 小时
注册时间
2007-7-6
帖子
508
发表于 2008-7-26 02:31:05 | 显示全部楼层
以下引用sunnyboy8888于2008-7-25 17:22:02的发言:


以下引用多於的回憶于2008-7-25 12:48:51的发言:


[任务名称] 歌词竖排齐时系统

  [任务说明] 就是让歌词
   竖着现在在右边如:
   你
   好
   等等
   歌词结束随着歌曲也结束
  [任务类型] 脚本

  [任务等级]  ★★ 

   [任务时间] 6 

   [任务接受] 无  




[本贴由作者于 2008-7-25 12:50:28 最后编辑]




任务完成
http://rpg.blue/upload_program/files/MTV上海滩竖排版_97435247.rar

工程请用新版本
[fly][/fly]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-24
帖子
88
发表于 2008-7-26 02:33:36 | 显示全部楼层
    [任务名称] 仿口袋式背包
   
    [任务提供] yaoyh007

    [任务说明] 像口袋妖怪那样的背包,效果应该都知道吧,需要一模一样

    [任务类型] 脚本

    [任务等级] ★★★★★(应该很难吧……)

  [任务时间] 30(不在乎时间问题,估计很难,就晚一点吧)

另外,还有一个任务……

    [任务名称] 图片血槽
   
    [任务提供] yaoyh007

    [任务说明] 用图片当作血槽,不需要显示SP

    [任务类型] 脚本

    [任务等级] ★★(貌似站上有图片血槽+45度角)

  [任务时间] 30(不在乎时间……)

回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3239
在线时间
3615 小时
注册时间
2006-9-6
帖子
37397

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

发表于 2008-7-26 04:38:03 | 显示全部楼层
再来最后一个吧……|||
[LINE]1,#dddddd[/LINE]
     [任务名称] 更改RM默认经验判断方式

     [任务提供] 越前リョーマ

     [任务说明] 首先的经验清零,每升一级经验不积累而是清零。然后,每一级需要的经验都是上一级的1.3倍,即这一级需要的经验比上一级多30%。比如1级需要100经验,2级就需要130。另外加上一个初始经验的更改,初始经验为100。

     [任务类型] 脚本

     [任务等级] ★★

   [任务时间] 5 

   [提供报酬]  

     [任务报酬]

   [任务接受]  

   [接受时间]

   [完成时间]

   [完成评价]
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1390
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

发表于 2008-7-26 05:41:11 | 显示全部楼层
以下引用越前リョーマ于2008-7-25 20:38:03的发言:

再来最后一个吧……|||

    [任务名称] 更改RM默认经验判断方式

    [任务提供] 越前リョーマ

    [任务说明] 首先的经验清零,每升一级经验不积累而是清零。然后,每一级需要的经验都是上一级的1.3倍,即这一级需要的经验比上一级多30%。比如1级需要100经验,2级就需要130。另外加上一个初始经验的更改,初始经验为100。

    [任务类型] 脚本

    [任务等级] ★★★

   [任务时间] 5 

   [提供报酬]  

    [任务报酬]

   [任务接受]  

   [接受时间]

   [完成时间]

   [完成评价]

接受~ [最新改正:支持降级~不过要降一级的话只能通过减少999999EXP来实现~2级的话要再次减少~]
脚本Game_Actor第458-487(默认)改为:
  def exp=(exp)
    @exp = [[exp, 9999999].min,   ].max
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      @level += 1
      @exp_list[@level+1] = @exp_list[@level]* 13 / 10
      @exp = 0
      for j in $data_classes[@class_id].learnings
        if j.level == @level
          learn_skill(j.skill_id)
        end
      end
    end
   
    while @exp < 0
    @exp = 0
    @level -= 1
    if @level == 0
    @level = 1
    end
      end
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
  def level=(level)
    level = [[level, $data_actors[@actor_id].final_level].min, 1].max
    self.exp = 0
  end
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3239
在线时间
3615 小时
注册时间
2006-9-6
帖子
37397

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

发表于 2008-7-26 06:07:16 | 显示全部楼层
话说我的脚本有点变更……
你能帮我直接加进去么……
  1. #==============================================================================
  2. # ■ Game_Actor
  3. #------------------------------------------------------------------------------
  4. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  5. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  6. #==============================================================================

  7. class Game_Actor < Game_Battler
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :name                     # 名称
  12.   attr_reader   :character_name           # 角色 文件名
  13.   attr_reader   :character_hue            # 角色 色相
  14.   ############ 更改处 1
  15.   attr_accessor :class_id                 # 职业 ID
  16.   attr_accessor :style_id                 # 职业样式
  17.   attr_reader   :gender                   # 性别 0F  1M
  18.   
  19.   attr_reader   :weapon_id                # 武器 ID
  20.   attr_reader   :armor1_id                # 盾 ID
  21.   attr_reader   :armor2_id                # 头防具 ID
  22.   attr_reader   :armor3_id                # 身体体防具 ID
  23.   attr_reader   :armor4_id                # 装饰品 ID
  24.   attr_reader   :level                    # 水平
  25.   attr_reader   :exp                      # EXP
  26.   attr_reader   :skills                   # 特技
  27.   #--------------------------------------------------------------------------
  28.   # ● 初始化对像
  29.   #     actor_id : 角色 ID
  30.   #--------------------------------------------------------------------------
  31.   def initialize(actor_id)
  32.     super()
  33.     setup(actor_id)
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 设置
  37.   #     actor_id : 角色 ID
  38.   #--------------------------------------------------------------------------
  39.   def setup(actor_id)
  40.     actor = $data_actors[actor_id]
  41.     @actor_id = actor_id
  42.     @name = actor.name
  43.     @character_name = actor.character_name
  44.     @character_hue = actor.character_hue
  45.     @battler_name = actor.battler_name
  46.     @battler_hue = actor.battler_hue
  47.     @class_id = actor.class_id
  48.     ############ 添加处 1
  49.     @style_id = 0
  50.     @weapon_id = actor.weapon_id
  51.     @armor1_id = actor.armor1_id
  52.     @armor2_id = actor.armor2_id
  53.     @armor3_id = actor.armor3_id
  54.     @armor4_id = actor.armor4_id
  55.     @level = actor.initial_level
  56.     @exp_list = Array.new(101)
  57.     make_exp_list
  58.     @exp = @exp_list[@level]
  59.     @skills = []
  60.     @gender = 1
  61.     @hp = maxhp
  62.     @sp = maxsp
  63.     @states = []
  64.     @states_turn = {}
  65.     @maxhp_plus = 0
  66.     @maxsp_plus = 0
  67.     @str_plus = 0
  68.     @dex_plus = 0
  69.     @agi_plus = 0
  70.     @int_plus = 0
  71.     # 学会特技
  72.     for i in 1..@level
  73.       for j in $data_classes[@class_id].learnings
  74.         if j.level == i
  75.           learn_skill(j.skill_id)
  76.         end
  77.       end
  78.     end
  79.     # 刷新自动状态
  80.     update_auto_state(nil, $data_armors[@armor1_id])
  81.     update_auto_state(nil, $data_armors[@armor2_id])
  82.     update_auto_state(nil, $data_armors[@armor3_id])
  83.     update_auto_state(nil, $data_armors[@armor4_id])
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # ● 获取角色 ID
  87.   #--------------------------------------------------------------------------
  88.   def id
  89.     return @actor_id
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● 获取索引
  93.   #--------------------------------------------------------------------------
  94.   def index
  95.     return $game_party.actors.index(self)
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● 计算 EXP
  99.   #--------------------------------------------------------------------------
  100.   def make_exp_list
  101.     actor = $data_actors[@actor_id]
  102.     @exp_list[1] = 0
  103.     pow_i = 2.4 + actor.exp_inflation / 100.0
  104.     for i in 2..100
  105.       if i > actor.final_level
  106.         @exp_list[i] = 0
  107.       else
  108.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  109.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  110.       end
  111.     end
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # ● 取得属性修正值
  115.   #     element_id : 属性 ID
  116.   #--------------------------------------------------------------------------
  117.   def element_rate(element_id)
  118.     # 获取对应属性有效度的数值
  119.     table = [0,200,150,100,50,0,-100]
  120.     result = table[$data_classes[@class_id].element_ranks[element_id]]
  121.     # 防具能防御本属性的情况下效果减半
  122.     for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
  123.       armor = $data_armors[i]
  124.       if armor != nil and armor.guard_element_set.include?(element_id)
  125.         result /= 2
  126.       end
  127.     end
  128.     # 状态能防御本属性的情况下效果减半
  129.     for i in @states
  130.       if $data_states[i].guard_element_set.include?(element_id)
  131.         result /= 2
  132.       end
  133.     end
  134.     # 过程结束
  135.     return result
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 获取属性有效度
  139.   #--------------------------------------------------------------------------
  140.   def state_ranks
  141.     return $data_classes[@class_id].state_ranks
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● 判定防御属性
  145.   #     state_id : 属性 ID
  146.   #--------------------------------------------------------------------------
  147.   def state_guard?(state_id)
  148.     for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
  149.       armor = $data_armors[i]
  150.       if armor != nil
  151.         if armor.guard_state_set.include?(state_id)
  152.           return true
  153.         end
  154.       end
  155.     end
  156.     return false
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 获取普通攻击属性
  160.   #--------------------------------------------------------------------------
  161.   def element_set
  162.     weapon = $data_weapons[@weapon_id]
  163.     return weapon != nil ? weapon.element_set : []
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 获取普通攻击状态变化 (+)
  167.   #--------------------------------------------------------------------------
  168.   def plus_state_set
  169.     weapon = $data_weapons[@weapon_id]
  170.     return weapon != nil ? weapon.plus_state_set : []
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 获取普通攻击状态变化 (-)
  174.   #--------------------------------------------------------------------------
  175.   def minus_state_set
  176.     weapon = $data_weapons[@weapon_id]
  177.     return weapon != nil ? weapon.minus_state_set : []
  178.   end
  179.   #--------------------------------------------------------------------------
  180.   # ● 获取 MaxHP
  181.   #--------------------------------------------------------------------------
  182.   def maxhp
  183.     n = [[base_maxhp + @maxhp_plus, 1].max, 9999].min
  184.     for i in @states
  185.       n *= $data_states[i].maxhp_rate / 100.0
  186.     end
  187.     n = [[Integer(n), 1].max, 9999].min
  188.     return n
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ● 获取基本 MaxHP
  192.   #--------------------------------------------------------------------------
  193.   def base_maxhp
  194.     return $data_actors[@actor_id].parameters[0, @level]
  195.   end
  196.   #--------------------------------------------------------------------------
  197.   # ● 获取基本 MaxSP
  198.   #--------------------------------------------------------------------------
  199.   def base_maxsp
  200.     return $data_actors[@actor_id].parameters[1, @level]
  201.   end
  202.   #--------------------------------------------------------------------------
  203.   # ● 获取基本力量
  204.   #--------------------------------------------------------------------------
  205.   def base_str
  206.     n = $data_actors[@actor_id].parameters[2, @level]
  207.     weapon = $data_weapons[@weapon_id]
  208.     armor1 = $data_armors[@armor1_id]
  209.     armor2 = $data_armors[@armor2_id]
  210.     armor3 = $data_armors[@armor3_id]
  211.     armor4 = $data_armors[@armor4_id]
  212.     n += weapon != nil ? weapon.str_plus : 0
  213.     n += armor1 != nil ? armor1.str_plus : 0
  214.     n += armor2 != nil ? armor2.str_plus : 0
  215.     n += armor3 != nil ? armor3.str_plus : 0
  216.     n += armor4 != nil ? armor4.str_plus : 0
  217.     return [[n, 1].max, 999].min
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ● 获取基本灵巧
  221.   #--------------------------------------------------------------------------
  222.   def base_dex
  223.     n = $data_actors[@actor_id].parameters[3, @level]
  224.     weapon = $data_weapons[@weapon_id]
  225.     armor1 = $data_armors[@armor1_id]
  226.     armor2 = $data_armors[@armor2_id]
  227.     armor3 = $data_armors[@armor3_id]
  228.     armor4 = $data_armors[@armor4_id]
  229.     n += weapon != nil ? weapon.dex_plus : 0
  230.     n += armor1 != nil ? armor1.dex_plus : 0
  231.     n += armor2 != nil ? armor2.dex_plus : 0
  232.     n += armor3 != nil ? armor3.dex_plus : 0
  233.     n += armor4 != nil ? armor4.dex_plus : 0
  234.     return [[n, 1].max, 999].min
  235.   end
  236.   #--------------------------------------------------------------------------
  237.   # ● 获取基本速度
  238.   #--------------------------------------------------------------------------
  239.   def base_agi
  240.     n = $data_actors[@actor_id].parameters[4, @level]
  241.     weapon = $data_weapons[@weapon_id]
  242.     armor1 = $data_armors[@armor1_id]
  243.     armor2 = $data_armors[@armor2_id]
  244.     armor3 = $data_armors[@armor3_id]
  245.     armor4 = $data_armors[@armor4_id]
  246.     n += weapon != nil ? weapon.agi_plus : 0
  247.     n += armor1 != nil ? armor1.agi_plus : 0
  248.     n += armor2 != nil ? armor2.agi_plus : 0
  249.     n += armor3 != nil ? armor3.agi_plus : 0
  250.     n += armor4 != nil ? armor4.agi_plus : 0
  251.     return [[n, 1].max, 999].min
  252.   end
  253.   #--------------------------------------------------------------------------
  254.   # ● 获取基本魔力
  255.   #--------------------------------------------------------------------------
  256.   def base_int
  257.     n = $data_actors[@actor_id].parameters[5, @level]
  258.     weapon = $data_weapons[@weapon_id]
  259.     armor1 = $data_armors[@armor1_id]
  260.     armor2 = $data_armors[@armor2_id]
  261.     armor3 = $data_armors[@armor3_id]
  262.     armor4 = $data_armors[@armor4_id]
  263.     n += weapon != nil ? weapon.int_plus : 0
  264.     n += armor1 != nil ? armor1.int_plus : 0
  265.     n += armor2 != nil ? armor2.int_plus : 0
  266.     n += armor3 != nil ? armor3.int_plus : 0
  267.     n += armor4 != nil ? armor4.int_plus : 0
  268.     return [[n, 1].max, 999].min
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ● 获取基本攻击力
  272.   #--------------------------------------------------------------------------
  273.   def base_atk
  274.     weapon = $data_weapons[@weapon_id]
  275.     return weapon != nil ? weapon.atk : 0
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ● 获取基本物理防御
  279.   #--------------------------------------------------------------------------
  280.   def base_pdef
  281.     weapon = $data_weapons[@weapon_id]
  282.     armor1 = $data_armors[@armor1_id]
  283.     armor2 = $data_armors[@armor2_id]
  284.     armor3 = $data_armors[@armor3_id]
  285.     armor4 = $data_armors[@armor4_id]
  286.     pdef1 = weapon != nil ? weapon.pdef : 0
  287.     pdef2 = armor1 != nil ? armor1.pdef : 0
  288.     pdef3 = armor2 != nil ? armor2.pdef : 0
  289.     pdef4 = armor3 != nil ? armor3.pdef : 0
  290.     pdef5 = armor4 != nil ? armor4.pdef : 0
  291.     return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
  292.   end
  293.   #--------------------------------------------------------------------------
  294.   # ● 获取基本魔法防御
  295.   #--------------------------------------------------------------------------
  296.   def base_mdef
  297.     weapon = $data_weapons[@weapon_id]
  298.     armor1 = $data_armors[@armor1_id]
  299.     armor2 = $data_armors[@armor2_id]
  300.     armor3 = $data_armors[@armor3_id]
  301.     armor4 = $data_armors[@armor4_id]
  302.     mdef1 = weapon != nil ? weapon.mdef : 0
  303.     mdef2 = armor1 != nil ? armor1.mdef : 0
  304.     mdef3 = armor2 != nil ? armor2.mdef : 0
  305.     mdef4 = armor3 != nil ? armor3.mdef : 0
  306.     mdef5 = armor4 != nil ? armor4.mdef : 0
  307.     return mdef1 + mdef2 + mdef3 + mdef4 + mdef5
  308.   end
  309.   #--------------------------------------------------------------------------
  310.   # ● 获取基本回避修正
  311.   #--------------------------------------------------------------------------
  312.   def base_eva
  313.     armor1 = $data_armors[@armor1_id]
  314.     armor2 = $data_armors[@armor2_id]
  315.     armor3 = $data_armors[@armor3_id]
  316.     armor4 = $data_armors[@armor4_id]
  317.     eva1 = armor1 != nil ? armor1.eva : 0
  318.     eva2 = armor2 != nil ? armor2.eva : 0
  319.     eva3 = armor3 != nil ? armor3.eva : 0
  320.     eva4 = armor4 != nil ? armor4.eva : 0
  321.     return eva1 + eva2 + eva3 + eva4
  322.   end
  323.   #--------------------------------------------------------------------------
  324.   # ● 普通攻击 获取攻击方动画 ID
  325.   #--------------------------------------------------------------------------
  326.   def animation1_id
  327.     weapon = $data_weapons[@weapon_id]
  328.     return weapon != nil ? weapon.animation1_id : 0
  329.   end
  330.   #--------------------------------------------------------------------------
  331.   # ● 普通攻击 获取对像方动画 ID
  332.   #--------------------------------------------------------------------------
  333.   def animation2_id
  334.     weapon = $data_weapons[@weapon_id]
  335.     return weapon != nil ? weapon.animation2_id : 0
  336.   end
  337.   #--------------------------------------------------------------------------
  338.   # ● 获取类名
  339.   #--------------------------------------------------------------------------
  340.   def class_name
  341.     return $data_classes[@class_id].name
  342.   end
  343.   #--------------------------------------------------------------------------
  344.   # ● 获取 EXP 字符串
  345.   #--------------------------------------------------------------------------
  346.   def exp_s
  347.     return @exp_list[@level+1] > 0 ? @exp.to_s : "-------"
  348.   end
  349.   #--------------------------------------------------------------------------
  350.   # ● 获取下一等级的 EXP 字符串
  351.   #--------------------------------------------------------------------------
  352.   def next_exp_s
  353.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1].to_s : "-------"
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ● 获取离下一等级还需的 EXP 字符串
  357.   #--------------------------------------------------------------------------
  358.   def next_rest_exp_s
  359.     return @exp_list[@level+1] > 0 ?
  360.       (@exp_list[@level+1] - @exp).to_s : "-------"
  361.   end
  362.   #--------------------------------------------------------------------------
  363.   # ● 更新自动状态
  364.   #     old_armor : 卸下防具
  365.   #     new_armor : 装备防具
  366.   #--------------------------------------------------------------------------
  367.   def update_auto_state(old_armor, new_armor)
  368.     # 强制解除卸下防具的自动状态
  369.     if old_armor != nil and old_armor.auto_state_id != 0
  370.       remove_state(old_armor.auto_state_id, true)
  371.     end
  372.     # 强制附加装备防具的自动状态
  373.     if new_armor != nil and new_armor.auto_state_id != 0
  374.       add_state(new_armor.auto_state_id, true)
  375.     end
  376.   end
  377.   #--------------------------------------------------------------------------
  378.   # ● 装备固定判定
  379.   #     equip_type : 装备类型
  380.   #--------------------------------------------------------------------------
  381.   def equip_fix?(equip_type)
  382.     case equip_type
  383.     when 0  # 武器
  384.       return $data_actors[@actor_id].weapon_fix
  385.     when 1  # 盾
  386.       return $data_actors[@actor_id].armor1_fix
  387.     when 2  # 头
  388.       return $data_actors[@actor_id].armor2_fix
  389.     when 3  # 身体
  390.       return $data_actors[@actor_id].armor3_fix
  391.     when 4  # 装饰品
  392.       return $data_actors[@actor_id].armor4_fix
  393.     end
  394.     return false
  395.   end
  396.   #--------------------------------------------------------------------------
  397.   # ● 变更装备
  398.   #     equip_type : 装备类型
  399.   #     id    : 武器 or 防具 ID  (0 为解除装备)
  400.   #--------------------------------------------------------------------------
  401.   def equip(equip_type, id)
  402.     case equip_type
  403.     when 0  # 武器
  404.       if id == 0 or $game_party.weapon_number(id) > 0
  405.         $game_party.gain_weapon(@weapon_id, 1)
  406.         @weapon_id = id
  407.         $game_party.lose_weapon(id, 1)
  408.       end
  409.     when 1  # 盾
  410.       if id == 0 or $game_party.armor_number(id) > 0
  411.         update_auto_state($data_armors[@armor1_id], $data_armors[id])
  412.         $game_party.gain_armor(@armor1_id, 1)
  413.         @armor1_id = id
  414.         $game_party.lose_armor(id, 1)
  415.       end
  416.     when 2  # 头
  417.       if id == 0 or $game_party.armor_number(id) > 0
  418.         update_auto_state($data_armors[@armor2_id], $data_armors[id])
  419.         $game_party.gain_armor(@armor2_id, 1)
  420.         @armor2_id = id
  421.         $game_party.lose_armor(id, 1)
  422.       end
  423.     when 3  # 身体
  424.       if id == 0 or $game_party.armor_number(id) > 0
  425.         update_auto_state($data_armors[@armor3_id], $data_armors[id])
  426.         $game_party.gain_armor(@armor3_id, 1)
  427.         @armor3_id = id
  428.         $game_party.lose_armor(id, 1)
  429.       end
  430.     when 4  # 装饰品
  431.       if id == 0 or $game_party.armor_number(id) > 0
  432.         update_auto_state($data_armors[@armor4_id], $data_armors[id])
  433.         $game_party.gain_armor(@armor4_id, 1)
  434.         @armor4_id = id
  435.         $game_party.lose_armor(id, 1)
  436.       end
  437.     end
  438.   end
  439.   #--------------------------------------------------------------------------
  440.   # ● 可以装备判定
  441.   #     item : 物品
  442.   #--------------------------------------------------------------------------
  443.   def equippable?(item)
  444.     # 武器的情况
  445.     if item.is_a?(RPG::Weapon)
  446.       # 包含当前的职业可以装备武器的场合
  447.       if $data_classes[@class_id].weapon_set.include?(item.id)
  448.         return true
  449.       end
  450.     end
  451.     # 防具的情况
  452.     if item.is_a?(RPG::Armor)
  453.       # 不包含当前的职业可以装备武器的场合
  454.       if $data_classes[@class_id].armor_set.include?(item.id)
  455.         return true
  456.       end
  457.     end
  458.     return false
  459.   end
  460.   #--------------------------------------------------------------------------
  461.   # ● 更改 EXP
  462.   #     exp : 新的 EXP
  463.   #--------------------------------------------------------------------------
  464.   def exp=(exp)
  465.     @exp = [[exp, 9999999].min, 0].max
  466.     # 升级
  467.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  468.       @level += 1
  469.       @hp = maxhp
  470.       @sp = maxsp
  471.       # 学会特技
  472.       for j in $data_classes[@class_id].learnings
  473.         if j.level == @level
  474.           learn_skill(j.skill_id)
  475.         end
  476.       end
  477.     end
  478.     # 降级
  479.     while @exp < @exp_list[@level]
  480.       @level -= 1
  481.     end
  482.     # 修正当前的 HP 与 SP 超过最大值
  483.     @hp = [@hp, self.maxhp].min
  484.     @sp = [@sp, self.maxsp].min
  485.   end
  486.   #--------------------------------------------------------------------------
  487.   # ● 更改水品
  488.   #     level : 新的等级
  489.   #--------------------------------------------------------------------------
  490.   def level=(level)
  491.     # 检查上下限
  492.     level = [[level, $data_actors[@actor_id].final_level].min, 1].max
  493.     # 更改 EXP
  494.     self.exp = @exp_list[level]
  495.   end
  496.   #--------------------------------------------------------------------------
  497.   # ● 觉悟特技
  498.   #     skill_id : 特技 ID
  499.   #--------------------------------------------------------------------------
  500.   def learn_skill(skill_id)
  501.     if skill_id > 0 and not skill_learn?(skill_id)
  502.       @skills.push(skill_id)
  503.       @skills.sort!
  504.     end
  505.   end
  506.   #--------------------------------------------------------------------------
  507.   # ● 遗忘特技
  508.   #     skill_id : 特技 ID
  509.   #--------------------------------------------------------------------------
  510.   def forget_skill(skill_id)
  511.     @skills.delete(skill_id)
  512.   end
  513.   #--------------------------------------------------------------------------
  514.   # ● 已经学会的特技判定
  515.   #     skill_id : 特技 ID
  516.   #--------------------------------------------------------------------------
  517.   def skill_learn?(skill_id)
  518.     return @skills.include?(skill_id)
  519.   end
  520.   #--------------------------------------------------------------------------
  521.   # ● 可以使用特技判定
  522.   #     skill_id : 特技 ID
  523.   #--------------------------------------------------------------------------
  524.   def skill_can_use?(skill_id)
  525.     if not skill_learn?(skill_id)
  526.       return false
  527.     end
  528.     return super
  529.   end
  530.   #--------------------------------------------------------------------------
  531.   # ● 更改名称
  532.   #     name : 新的名称
  533.   #--------------------------------------------------------------------------
  534.   def name=(name)
  535.     @name = name
  536.   end
  537.   #--------------------------------------------------------------------------
  538.   # ● 更改职业 ID
  539.   #     class_id : 新的职业 ID
  540.   ############ 更改处 2
  541.   #--------------------------------------------------------------------------
  542.   def class_id=(class_id)
  543.     @class_id = class_id
  544.     @style_id = 0
  545.     if @class_id < 1
  546.       @class_id = 1
  547.     elsif @class_id > $data_classes.size - 1
  548.       @class_id = $data_classes.size - 1
  549.     end
  550.     unless equippable?($data_weapons[@weapon_id])
  551.       equip(0, 0)
  552.     end
  553.     unless equippable?($data_armors[@armor1_id])
  554.       equip(1, 0)
  555.     end
  556.     unless equippable?($data_armors[@armor2_id])
  557.       equip(2, 0)
  558.     end
  559.     unless equippable?($data_armors[@armor3_id])
  560.       equip(3, 0)
  561.     end
  562.     unless equippable?($data_armors[@armor4_id])
  563.       equip(4, 0)
  564.     end
  565.     @character_name = $graphic_arr[@class_id][@style_id]
  566.     $game_player.refresh
  567.   end
  568.   #--------------------------------------------------------------------------
  569.   # ● 更改样式
  570.   ############ 添加处 2
  571.   #--------------------------------------------------------------------------  
  572.   def style_id=(style_id)
  573.     @style_id = style_id
  574.     if @style_id < 0
  575.       @style_id = 0
  576.     elsif @style_id > $graphic_arr[@class_id].size - 1
  577.       @style_id = $graphic_arr[@class_id].size - 1
  578.     end   
  579.     @character_name = $graphic_arr[@class_id][@style_id]
  580.     @battler_name = $graphic_arr[@class_id][@style_id]
  581.     $game_player.refresh
  582.   end
  583.   #--------------------------------------------------------------------------
  584.   # ● 更改图形
  585.   #     character_name : 新的角色 文件名
  586.   #     character_hue  : 新的角色 色相
  587.   #     battler_name   : 新的战斗者 文件名
  588.   #     battler_hue    : 新的战斗者 色相
  589.   #--------------------------------------------------------------------------
  590.   def set_graphic(character_name, character_hue, battler_name, battler_hue)
  591.     @character_name = character_name
  592.     @character_hue = character_hue
  593.     @battler_name = battler_name
  594.     @battler_hue = battler_hue
  595.   end
  596.   #--------------------------------------------------------------------------
  597.   # ● 取得战斗画面的 X 坐标
  598.   #--------------------------------------------------------------------------
  599.   def screen_x
  600.     # 返回计算后的队伍 X 坐标的排列顺序
  601.     if self.index != nil
  602.       return self.index * 160 + 80
  603.     else
  604.       return 0
  605.     end
  606.   end
  607.   #--------------------------------------------------------------------------
  608.   # ● 取得战斗画面的 Y 坐标
  609.   #--------------------------------------------------------------------------
  610.   def screen_y
  611.     return 464
  612.   end
  613.   #--------------------------------------------------------------------------
  614.   # ● 取得战斗画面的 Z 坐标
  615.   #--------------------------------------------------------------------------
  616.   def screen_z
  617.     # 返回计算后的队伍 Z 坐标的排列顺序
  618.     if self.index != nil
  619.       return 4 - self.index
  620.     else
  621.       return 0
  622.     end
  623.   end
  624. end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1390
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

发表于 2008-7-26 07:17:38 | 显示全部楼层
以下引用越前リョーマ于2008-7-25 22:07:16的发言:

话说我的脚本有点变更……
你能帮我直接加进去么……

范例工程:http://rpg.blue/upload_program/files/RM经验·改_97510027.rar
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
发表于 2008-7-26 16:17:29 | 显示全部楼层
    [任务名称] 扩展分辨率后的画面渐变

    [任务提供] 叶子

    [任务说明] 使用了这个脚本(http://rpg.blue/viewthread.php?tid=65472)扩展分辨率至800x600后,关于渐变的操作(Graphics.freeze,Graphics.transition等)仍然只对原来的640x480范围有效,例如显示一张800x600的图,执行Graphics.freeze,把图关掉后再Graphics.transition,会发现640x480范围内正常渐变,范围外的内容则直接消失,显得非常突兀。
现寻求使窗口内所有内容都正常渐变的脚本,要求完全实现默认Graphics.freeze和Graphics.transition的效果,能根据Graphics.transition([duration[, filename[, vague]]])所给出的渐变帧数和渐变图参数进行渐变。最后一点:最好不卡。

    [任务类型] 脚本

    [任务等级] ★★★★★ (星多点是不是会吸引多点人呢$.$)

  [任务时间] 5 (这个不是繁琐的系统,会做的话短时间应该可以做出来了) 

  [提供报酬] 叶子本人额外提供与任务报酬等额的VIP给完成者,8月10日前完成再由叶子给10vip

    [任务报酬]

  [任务接受]  

  [接受时间]

  [完成时间]

  [完成评价]

    [完成范例]
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3239
在线时间
3615 小时
注册时间
2006-9-6
帖子
37397

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

发表于 2008-7-26 23:16:39 | 显示全部楼层
以下引用「旅」于2008-7-25 23:17:38的发言:


以下引用越前リョーマ于2008-7-25 22:07:16的发言:

话说我的脚本有点变更……
你能帮我直接加进去么……


范例工程:http://rpg.blue/upload_program/files/RM经验·改_97510027.rar


[本贴由作者于 2008-7-26 14:07:28 最后编辑]

已经用了你那个脚本了,效果很好。
但是……
初始经验不是100……|||
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37626
在线时间
5307 小时
注册时间
2006-11-10
帖子
6539
发表于 2008-7-26 23:48:56 | 显示全部楼层
[任务名称] 图片血槽
   
   [任务提供] yaoyh007

   [任务说明] 用图片当作血槽,不需要显示SP

   [任务类型] 脚本

   [任务等级] ★★(貌似站上有图片血槽+45度角)

  [任务时间] 30(不在乎时间……)


我接受这个任务-。-
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2006-7-3
帖子
510

贵宾

发表于 2008-7-27 00:09:06 | 显示全部楼层
嘿嘿...太好了....
我的游戏啊~~

[任务名称] XP重力脚本增强版

[任务提供] 二十二人

[任务说明] 重力脚本增强版, 可自己重写, 亦可用日本那个重力脚本改, 按SHIFT or Z跳跃,跳跃变行走图, 跳跃后在空中按左 or 右能变方向, 且行走图也有变化...默认是走路, 有按键加速功能, 加速后变行走图, 且真阴影效果, 就是跳起来后,阴影会变淡,跳到最高点,最淡.落到地上后变回实的阴影...


(如附图,附图素材是用商业游戏截图PS出来的,所以打了马赛克,希望看出来的朋友不要说) 行走图文件有人接了之后,我会PM给接受者....

[任务类型] 脚本 or 脚本+事件

[任务等级] ★★★★

[任务时间] 30天

[任务附图]

行走时

加速时

向上跳时

向前跳时(即变方向跳跃)

被我顶过的贴子必沉=w=
以上诅咒……
南无 阿弥陀佛……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 02:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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