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

Project1

 找回密码
 注册会员
搜索
查看: 2149|回复: 1

[已经解决] 怎么可以随机获得武器装备的属性

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
390 小时
注册时间
2008-11-7
帖子
352
发表于 2011-3-29 19:10:04 | 显示全部楼层 |阅读模式

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

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

x
怎么可以随机获得武器装备的属性
事件和脚本都可以

Lv2.观梦者


  • 更新完成啦

梦石
0
星屑
759
在线时间
6267 小时
注册时间
2006-6-7
帖子
8462
发表于 2011-3-29 23:53:40 | 显示全部楼层

  1. class Game_Party

  2. def gain_weapon(weapon_id, n)
  3.    if weapon_id > 0
  4.      # 商店购买 或 装备栏中卸下的武器不进行随机处理~
  5.      
  6.       
  7.      if $scene.is_a?(Scene_Map) or $scene.is_a?(Scene_Shop)
  8.        @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  9.      else
  10.        # 随机浮动范围~★★★★★★★
  11.        add_atk = rand(200)-60
  12.         if add_atk == 0
  13.          @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  14.        else
  15.          now = 0
  16.          # 判断数据库中是否已经有 相同属性的武器~
  17.          for i in weapon_id...$data_weapons.size
  18.            if $data_weapons[i].atk == $data_weapons[weapon_id].atk+add_atk and
  19.             ($data_weapons[i].name.split('+')[0] == $data_weapons[weapon_id].name or $data_weapons[i].name.split('-')[0] == $data_weapons[weapon_id].name)
  20.              now = i
  21.              break
  22.            end         end
  23.          if now == 0
  24.            # 无相同属性时则 重新生成~
  25.            new_weapon = $data_weapons[weapon_id].clone
  26.            new_weapon.id = $data_weapons.size
  27.            if add_atk<0
  28.              new_weapon.name = $data_weapons[weapon_id].name+"-"+add_atk.abs.to_s
  29.            else
  30.              new_weapon.name = $data_weapons[weapon_id].name+"+"+add_atk.abs.to_s
  31.            end
  32.            new_weapon.atk = $data_weapons[weapon_id].atk+add_atk
  33.            $data_weapons.push(new_weapon)
  34.            # 职业可装备武器数组更新~
  35.            for i in 1...$data_classes.size
  36.              if $data_classes[i].weapon_set.include?(weapon_id)
  37.                $data_classes[i].weapon_set.push(new_weapon.id)
  38.              end
  39.            end
  40.            # 增加武器~
  41.            @weapons[new_weapon.id] = [[weapon_number(new_weapon.id) + n, 0].max, 99].min
  42.          else
  43.            # 有相同属性则直接 增加武器~
  44.            @weapons[now] = [[weapon_number(now) + n, 0].max, 99].min
  45.          end
  46.        end
  47.      end
  48.    end
  49. end

  50. def lose_weapon(weapon_id, n)   
  51.    if weapon_id > 0
  52.      @weapons[weapon_id] = [[weapon_number(weapon_id) - n, 0].max, 99].min
  53.    end
  54. end

  55. end
复制代码
夏娜姐姐写的,这是仅仅是add_atk 你可以自己试着摸索

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 10:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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