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

Project1

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

【虐待狂】装备等级

 关闭 [复制链接]

Lv1.梦旅人

冰王子

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

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

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

x
【说明】
=begin
===============================================================================
☆装备等级☆                        By 凌冰(Eci)
===============================================================================
使用说明:
①失效或半失效的事件
事件:减少武器、减少防具
说明:完全失效
替代:背包中失去装备的替代办法暂时还没有,只有失去角色当前装备的办法
      脚本事件中写入actor_equip_lose(角色ID,类型)
      类型为0则为武器,为1~4这是对应的防具
      这样不出意外的话,角色的第(类型)件装备就找不回来了
      如果你想找个变量寄存这件装备,可以写成
      变量 = actor_equip_lose(角色ID,类型)
      再得到该装备时写入脚本
      $game_party.gain_weapon_lv(变量)
事件:商店
说明:买卖装备时输入数量只能为1
替代:多回车几次吧
②设置方法
武器和防具的设置都可以使用自虐版设置方法或懒人版设置方法或两者混合
③范例
这里提供的范例设置只是为了展示给大家看,并不推荐使用
④各默认类涉及度(可估测整合可能性)
类                |  涉及度
Game_Temp              低
Game_Actor             高
Game_Party            中高
Window_Base            低
Window_Item            低
Window_EquipRight     中低
Window_EquipItem      中低
Window_Status          低
Window_ShopBuy        中低
Window_ShopSell       中低
Window_ShopNumber      低
Window_ShopStatus      低
Interpreter            低
Scene_Equip            中
Scene_Battle          中高
Scene_Shop             中
高 > 中高 > 中 > 中低 > 低
⑤预计整合可能性
中低
⑥商店可购买到等级大于零的装备的办法
(如范例中左边的红发暴力女)
$game_temp.eqlv_list = [[类型,装备ID,等级],[同左],[同左]] 类型3为武器,4为防具
多行的话要在,或者[后换行
然后再下一个事件中设置商店,推出商店界面后自动清空
⑦得到等级大于零装备的办法
(如范例中右边的灰发伪娘男)
方法1:脚本事件中添加$game_party.gain_weapon_lv(1,10)
方法2:公共设置中NUM_LEVEL设置为true,等级则为数量-1
=end
【效果】

  1. =begin
  2. ===============================================================================
  3. □公共设置□                        
  4. ===============================================================================
  5. =end
  6. module EciDevil
  7.   SCOPE_PLUS = 0.1
  8.   #↑群攻命中叠加比率,即经验 = DF_HIT * (SCOPE_PLUS + 1) **(命中数-1)↑
  9.   #↑SCOPE_PLUS为负,则经验 = DF_HIT * (命中数)
  10.   SHT_COUNT = 4  #单位帧,装备经验窗口的刷新的帧数周期
  11.   MID_COUNT = 10 #单位帧,装备经验窗口切换装备的帧数间隔
  12.   LON_COUNT = 16 #单位帧,装备经验窗口显示完毕后的停留帧数
  13.   NUM_LEVEL = true #是否将增加武器、增加防具事件的数量改为等级(等级=数量-1)
  14.   EQL_WINOP = 128  #装备经验窗口的透明度
  15. =begin
  16. ===============================================================================
  17. □武器设置□                        
  18. ===============================================================================
  19. 简易(懒人)设置说明:
  20. 在设置里从DF_SKL到DF_INT[1]都可以设置为单一数值或者数组,默认为数组,若设置为单
  21. 一数值的话,则表示所有类别的武器升级都统一使用该数值。详见【懒人版】
  22. =end
  23.   class Weapon
  24.   #===============
  25.   #↓初始化↓
  26.   #===============
  27.   ID = {}
  28.   LV_SKL = {}
  29.   LV_LMT = {}
  30.   LV_BAS = {}
  31.   LV_POI = {}
  32.   LV_KND = {}
  33.   LV_MIS = {}
  34.   LV_GUA = {}
  35.   LV_HIT = {}
  36.   LV_CRI = {}
  37.   DF_PRI = []
  38.   DF_ATK = []
  39.   DF_PDE = []
  40.   DF_MDE = []
  41.   DF_STR = []
  42.   DF_DEX = []
  43.   DF_AGI = []
  44.   DF_INT = []
  45.   LV_PRI = {}
  46.   LV_ATK = {}
  47.   LV_PDE = {}
  48.   LV_MDE = {}
  49.   LV_STR = {}
  50.   LV_DEX = {}
  51.   LV_AGI = {}
  52.   LV_INT = {}
  53.   #====
  54.   #扩展
  55.   #====
  56.   AC_NAM = {}
  57.   AC_ICO = {}
  58.   AC_DES = {}
  59.   AC_AAN = {}
  60.   AC_TAN = {}
  61.   AC_ELE = {}
  62.   AC_PST = {}
  63.   AC_MST = {}
  64.   AUTO_CHANGE = {"NAM"=>AC_NAM,"ICO"=>AC_ICO,"DES"=>AC_DES,"AAN"=>AC_AAN,
  65.   "TAN"=>AC_TAN,"ELE"=>AC_ELE,"PST"=>AC_PST,"MST"=>AC_MST}
  66.   #===============
  67.   #↑初始化↑
  68.   #===============
  69.   #=======================================================================
  70.   #↓从下面开始设置↓
  71.   #=======================================================================
  72.   fi = 1 #战士
  73.   la = 2 #枪兵
  74.   wa = 3 #狂战士
  75.   th = 4 #盗贼
  76.   hu = 5 #猎人
  77.   gu = 6 #枪手
  78.   cl = 7 #僧侣
  79.   ma = 8 #魔导士
  80.   KIND = [nil,fi,la,wa,th,hu,gu,cl,ma]
  81.   #↑若要增加武器类型,不要忘记修改这里↑
  82.   #设置武器类型所包含的武器ID
  83.   ID[fi] = [ 1, 3, 4]
  84.   ID[la] = [ 5, 6, 7, 8]
  85.   ID[wa] = [ 9,10,11,12]
  86.   ID[th] = [13,14,15,16]
  87.   ID[hu] = [17,18,19,20]
  88.   ID[gu] = [21,22,23,24]
  89.   ID[cl] = [25,26,27,28]
  90.   ID[ma] = [29,30,31,32]
  91.   #↓加经验的攻击模式↓
  92.   DF_SKL = {fi=>0,la=>0,wa=>0,th=>1,hu=>1,gu=>1,cl=>2,ma=>2}
  93.   #↑0物理技能(包括平砍)增加经验↑
  94.   #↑1全部技能(包括平砍)增加经验↑
  95.   #↑2魔法技能(不包括平砍)增加经验↑
  96.   #↑3只能平砍增加经验↑
  97.   #↑4物理技能(不包括平砍)增加经验↑
  98.   #↑5魔法技能(包括平砍)增加经验↑
  99.   #↑6全部技能(不包括平砍)增加经验↑
  100.   #↑缺省或超出时默认为0↑
  101.   #-----------------------------------------------------
  102.   #                      ※注明※                      #
  103.   #-----------------------------------------------------
  104.   #判断物理技能和魔法技能的参数为atk_f即数据库项攻击力 F
  105.   #-----------------------------------------------------
  106.   DF_MIS = {fi=>1,la=>1,wa=>1,th=>1,hu=>1,gu=>1,cl=>1,ma=>1} #击空时经验
  107.   DF_GUA = {fi=>2,la=>2,wa=>2,th=>2,hu=>2,gu=>2,cl=>2,ma=>2} #防御时经验
  108.   DF_HIT = {fi=>3,la=>3,wa=>3,th=>3,hu=>3,gu=>3,cl=>3,ma=>3} #击中时经验
  109.   DF_CRI = {fi=>4,la=>4,wa=>4,th=>4,hu=>4,gu=>4,cl=>4,ma=>4} #必杀时经验
  110.   #--------------------------------------------------------------------------
  111.   #↓默认设置↓
  112.   DF_LMT = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}
  113.   #↑默认等级限制↑
  114.   DF_BAS = {fi=>5,la=>5,wa=>5,th=>8,hu=>8,gu=>8,cl=>4,ma=>4}
  115.   #↑默认经验基本值↑
  116.   DF_POI = {fi=>0,la=>0,wa=>0,th=>0,hu=>0,gu=>0,cl=>0,ma=>0}
  117.   #↑默认经验增长值↑
  118.   DF_KND = {fi=>0,la=>0,wa=>0,th=>0,hu=>0,gu=>0,cl=>0,ma=>0}
  119.   #↑默认经验增长方式↑
  120.   #↑经验增长方式(0~7)↑
  121.   #↑0:常数函数 NE = BAS
  122.   #↑1:一次函数 NE = POI * LV + BAS
  123.   #↑2:指数函数 NE = POI ** LV + BAS
  124.   #↑3:角色升级函数 NE = BAS*((NL + 3)**(2.4+POI/100.0))/(5**(2.4+POI/100.0))
  125.   #↑(0~3)+4:NE = (0~3)所求NE + LE
  126.   #NE:下一等级经验 NL:下一等级 LE:当前等级经验 LV:当前等级
  127.   #BAS:基本值 POI:增长值
  128.   #----------------属性增长----------------#
  129.   #◇价格◇
  130.   DF_PRI[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  131.   DF_PRI[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  132.   #◇攻击◇
  133.   DF_ATK[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  134.   DF_ATK[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  135. #→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
  136.   #◇物防◇
  137.   DF_PDE[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  138.   DF_PDE[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  139.   #◇魔防◇
  140.   DF_MDE[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  141.   DF_MDE[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  142.   #◇力量◇
  143.   DF_STR[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  144.   DF_STR[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  145.   #◇敏捷◇
  146.   DF_DEX[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  147.   DF_DEX[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  148.   #◇速度◇
  149.   DF_AGI[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  150.   DF_AGI[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  151.   #◇魔力◇
  152.   DF_INT[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  153.   DF_INT[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  154. #←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←
  155.   #↑增长方式(0~7)↑
  156.   #与经验的增长方式类似,不过公式中的变量所代表的参数不同
  157.   #NE:下一等级属性 NL:下一等级 LE:当前等级属性 LV:当前等级
  158.   #BAS:初始属性 POI增长值
  159.   #0为不增长
  160.   #--------------------------------------------------------------------------
  161.   #↑默认设置↑
  162.   #--------------------------------------------------------------------------
  163.   #----------------#
  164.   #☆  单独设置  ☆#
  165.   #----------------#
  166.   #----↓↓↓↓任意值可以缺省,则默认为默认值(默认值缺省则为0)↓↓↓↓----#
  167.   #----↓举例(铜剑)测试用↓----#
  168.   LV_SKL[1] = 0 #升级方式
  169.   LV_LMT[1] = 10 #等级限制
  170.   LV_BAS[1] = 1 #经验基本值
  171.   LV_POI[1] = 1 #经验增长值
  172.   LV_KND[1] = 1 #经验增长方式
  173.   LV_MIS[1] = 0 #没有击中时经验
  174.   LV_GUA[1] = 2 #敌人防御时经验
  175.   LV_HIT[1] = 3 #成功命中时经验
  176.   LV_CRI[1] = 5 #会心一击时经验
  177.   LV_PRI[1] = [100,7] #价格[增长值,增长方式]
  178.   LV_ATK[1] = [100,7] #攻击[增长值,增长方式]
  179.   LV_PDE[1] = [100,0] #物防[增长值,增长方式]
  180.   LV_MDE[1] = [100,0] #魔防[增长值,增长方式]
  181.   LV_STR[1] = [100,0] #力量[增长值,增长方式]
  182.   LV_DEX[1] = [100,2] #敏捷[增长值,增长方式]
  183.   LV_AGI[1] = [100,2] #速度[增长值,增长方式]
  184.   LV_INT[1] = [100,0] #魔力[增长值,增长方式]
  185.   #----------------#
  186.   #★  单独设置  ★#
  187.   #----------------#
  188.   #=========================================================
  189.   #扩展部分
  190.   #=========================================================
  191.   #统一格式
  192.   #AC_XXX[ID] = {LV1 => N1 , LV2 => N2 , LV3 => N3}
  193.   #如果0<LV1<LV2<LV3<MAXLV,则
  194.   #0~LV1,该项属性值为数据库值
  195.   #LV1~LV2,该项属性值为N1
  196.   #LV2~LV3,该项属性值为N2
  197.   #LV3~MAXLV,该项属性值为N3
  198.   AC_NAM[1] = {5 => "真の寒の冰王子の变态の剑",10 => "奥义の冰王子の变态の剑"}
  199.   AC_ICO[1] = {10 => "050-Skill07"}
  200.   AC_DES[1] = {5 => "X,怎么才5级",10 => "终于10级了,可以打BOSS去了"}
  201.   AC_AAN[1] = {5 => 1,10 => 2}
  202.   AC_TAN[1] = {5 => 70,10 => 32}
  203.   AC_ELE[1] = {5 => [3],10 => [2,3]}
  204.   #↑=>后表示要该级别所有属性ID的数组,为空则所有属性清空↑
  205.   AC_PST[1] = {5 => [2],10 => [3,4]}
  206.   #↑=>后表示要该级别所有附加状态ID的数组,为空则所有附加状态清空↑
  207.   AC_MST[1] = {5 => [3],10 => [3,15]}
  208.   #↑=>后表示要该级别所有清除状态ID的数组,为空则所有清除状态清空↑
  209.   #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
  210.   #需要注意的是,这些值不是增加或减少,而是替换
  211.   #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
  212.   #=======================================================================
  213.   #↑在上面进行设置↑
  214.   #=======================================================================
  215.   end
  216. =begin
  217. ===============================================================================
  218. □防具设置□                        
  219. ===============================================================================
  220. =end
  221.   class Armor
  222.   #===============
  223.   #↓初始化↓
  224.   #===============
  225.   ID = {}
  226.   LV_SKL = {}
  227.   LV_LMT = {}
  228.   LV_BAS = {}
  229.   LV_POI = {}
  230.   LV_KND = {}
  231.   LV_MIS = {}
  232.   LV_GUA = {}
  233.   LV_HIT = {}
  234.   LV_CRI = {}
  235.   DF_PRI = []
  236.   DF_PDE = []
  237.   DF_MDE = []
  238.   DF_EVA = []
  239.   DF_STR = []
  240.   DF_DEX = []
  241.   DF_AGI = []
  242.   DF_INT = []
  243.   LV_PRI = {}
  244.   LV_PDE = {}
  245.   LV_MDE = {}
  246.   LV_EVA = {}
  247.   LV_STR = {}
  248.   LV_DEX = {}
  249.   LV_AGI = {}
  250.   LV_INT = {}
  251.   #====
  252.   #扩展
  253.   #====
  254.   AC_NAM = {}
  255.   AC_ICO = {}
  256.   AC_DES = {}
  257.   AC_AST = {}
  258.   AC_GEL = {}
  259.   AC_GST = {}
  260.   AUTO_CHANGE = {"NAM"=>AC_NAM,"ICO"=>AC_ICO,"DES"=>AC_DES,"AST"=>AC_AST,
  261.   "GEL"=>AC_GEL,"GST"=>AC_GST}
  262.   #===============
  263.   #↑初始化↑
  264.   #===============
  265.   #=======================================================================
  266.   #↓从下面开始设置↓
  267.   #=======================================================================
  268.   fi = 1 #护盾
  269.   la = 2 #头盔
  270.   wa = 3 #法帽
  271.   th = 4 #铠甲
  272.   hu = 5 #板甲
  273.   gu = 6 #法袍
  274.   cl = 7 #辅戒
  275.   ma = 8 #抗戒
  276.   KIND = [nil,fi,la,wa,th,hu,gu,cl,ma]
  277.   #↑若要增加防具类型,不要忘记修改这里↑
  278.   #设置防具类型所包含的防具ID
  279.   ID[fi] = [ 1, 2, 3, 4]
  280.   ID[la] = [ 5, 6, 7, 8]
  281.   ID[wa] = [ 9,10,11,12]
  282.   ID[th] = [13,14,15,16]
  283.   ID[hu] = [17,18,19,20]
  284.   ID[gu] = [21,22,23,24]
  285.   ID[cl] = [25,26,27,28]
  286.   ID[ma] = [29,30,31,32]
  287.   #↓加经验的攻击模式↓
  288.   DF_SKL = {fi=>0,la=>0,wa=>0,th=>1,hu=>1,gu=>1,cl=>2,ma=>2}
  289.   #↑0物理技能(包括平砍)增加经验↑
  290.   #↑1全部技能(包括平砍)增加经验↑
  291.   #↑2魔法技能(不包括平砍)增加经验↑
  292.   #↑3只能平砍增加经验↑
  293.   #↑4物理技能(不包括平砍)增加经验↑
  294.   #↑5魔法技能(包括平砍)增加经验↑
  295.   #↑6全部技能(不包括平砍)增加经验↑
  296.   #↑缺省或超出时默认为0↑
  297.   #-----------------------------------------------------
  298.   #                      ※注明※                      #
  299.   #-----------------------------------------------------
  300.   #判断物理技能和魔法技能的参数为atk_f即数据库项攻击力 F
  301.   #-----------------------------------------------------
  302.   DF_MIS = {fi=>1,la=>1,wa=>1,th=>1,hu=>1,gu=>1,cl=>1,ma=>1} #击空时经验
  303.   DF_GUA = {fi=>2,la=>2,wa=>2,th=>2,hu=>2,gu=>2,cl=>2,ma=>2} #防御时经验
  304.   DF_HIT = {fi=>3,la=>3,wa=>3,th=>3,hu=>3,gu=>3,cl=>3,ma=>3} #击中时经验
  305.   DF_CRI = {fi=>4,la=>4,wa=>4,th=>4,hu=>4,gu=>4,cl=>4,ma=>4} #必杀时经验
  306.   #--------------------------------------------------------------------------
  307.   #↓默认设置↓
  308.   DF_LMT = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}
  309.   #↑默认等级限制↑
  310.   DF_BAS = {fi=>5,la=>5,wa=>5,th=>8,hu=>8,gu=>8,cl=>4,ma=>4}
  311.   #↑默认经验基本值↑
  312.   DF_POI = {fi=>0,la=>0,wa=>0,th=>0,hu=>0,gu=>0,cl=>0,ma=>0}
  313.   #↑默认经验增长值↑
  314.   DF_KND = {fi=>0,la=>0,wa=>0,th=>0,hu=>0,gu=>0,cl=>0,ma=>0}
  315.   #↑默认经验增长方式↑
  316.   #↑经验增长方式(0~7)↑
  317.   #↑0:常数函数 NE = BAS
  318.   #↑1:一次函数 NE = POI * LV + BAS
  319.   #↑2:指数函数 NE = POI ** LV + BAS
  320.   #↑3:角色升级函数 NE = BAS*((NL + 3)**(2.4+POI/100.0))/(5**(2.4+POI/100.0))
  321.   #↑(0~3)+4:NE = (0~3)所求NE + LE
  322.   #NE:下一等级经验 NL:下一等级 LE:当前等级经验 LV:当前等级
  323.   #BAS:基本值 POI:增长值
  324.   #----------------属性增长----------------#
  325.   #◇价格◇
  326.   DF_PRI[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  327.   DF_PRI[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  328.   #◇物防◇
  329.   DF_PDE[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  330.   DF_PDE[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  331.   #◇魔防◇
  332.   DF_MDE[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  333.   DF_MDE[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  334. #→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
  335.   #◇回避◇
  336.   DF_EVA[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  337.   DF_EVA[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  338.   #◇力量◇
  339.   DF_STR[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  340.   DF_STR[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  341.   #◇敏捷◇
  342.   DF_DEX[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  343.   DF_DEX[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  344.   #◇速度◇
  345.   DF_AGI[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  346.   DF_AGI[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  347.   #◇魔力◇
  348.   DF_INT[0] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长值
  349.   DF_INT[1] = {fi=>5,la=>5,wa=>5,th=>5,hu=>5,gu=>5,cl=>5,ma=>5}#默认增长方式
  350. #←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←
  351.   #↑增长方式(0~7)↑
  352.   #与经验的增长方式类似,不过公式中的变量所代表的参数不同
  353.   #NE:下一等级属性 NL:下一等级 LE:当前等级属性 LV:当前等级
  354.   #BAS:初始属性 POI增长值
  355.   #0为不增长
  356.   #--------------------------------------------------------------------------
  357.   #↑默认设置↑
  358.   #--------------------------------------------------------------------------
  359.   #----------------#
  360.   #☆  单独设置  ☆#
  361.   #----------------#
  362.   #----↓↓↓↓任意值可以缺省,则默认为默认值(默认值缺省则为0)↓↓↓↓----#
  363.   #----↓举例(铜剑)测试用↓----#
  364.   LV_SKL[1] = 0 #升级方式
  365.   LV_LMT[1] = 10 #等级限制
  366.   LV_BAS[1] = 1 #经验基本值
  367.   LV_POI[1] = 1 #经验增长值
  368.   LV_KND[1] = 1 #经验增长方式
  369.   LV_MIS[1] = 0 #没有击中时经验
  370.   LV_GUA[1] = 2 #敌人防御时经验
  371.   LV_HIT[1] = 3 #成功命中时经验
  372.   LV_CRI[1] = 5 #会心一击时经验
  373.   LV_PRI[1] = [100,7] #价格[增长值,增长方式]
  374.   LV_PDE[1] = [100,0] #物防[增长值,增长方式]
  375.   LV_MDE[1] = [100,0] #魔防[增长值,增长方式]
  376.   LV_EVA[1] = [0.1,0] #回避[增长值,增长方式]
  377.   LV_STR[1] = [100,0] #力量[增长值,增长方式]
  378.   LV_DEX[1] = [100,2] #敏捷[增长值,增长方式]
  379.   LV_AGI[1] = [100,2] #速度[增长值,增长方式]
  380.   LV_INT[1] = [100,0] #魔力[增长值,增长方式]
  381.   #----------------#
  382.   #★  单独设置  ★#
  383.   #----------------#
  384.   #=========================================================
  385.   #扩展部分
  386.   #=========================================================
  387.   #统一格式
  388.   #AC_XXX[ID] = {LV1 => N1 , LV2 => N2 , LV3 => N3}
  389.   #如果0<LV1<LV2<LV3<MAXLV,则
  390.   #0~LV1,该项属性值为数据库值
  391.   #LV1~LV2,该项属性值为N1
  392.   #LV2~LV3,该项属性值为N2
  393.   #LV3~MAXLV,该项属性值为N3
  394.   AC_NAM[1] = {5 => "圣の护の冰王子の守护の盾",10 => "神喻の冰王子の守护の盾"}
  395.   AC_ICO[1] = {10 => "050-Skill07"}
  396.   AC_DES[1] = {5 => "X,怎么才5级",10 => "终于10级了,可以扛BOSS去了"}
  397.   AC_AST[1] = {5 => 15,10 => 16}
  398.   #↑=>后表示要该级别自动状态ID,为空则无自动状态↑
  399.   AC_GEL[1] = {5 => [3],10 => [2,3]}
  400.   #↑=>后表示要该级别所有防御属性ID的数组,为空则所有防御属性清空↑
  401.   AC_GST[1] = {5 => [3],10 => [3,15]}
  402.   #↑=>后表示要该级别所有防御状态ID的数组,为空则所有防御状态清空↑
  403.   #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
  404.   #需要注意的是,这些值不是增加或减少,而是替换
  405.   #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
  406.   #=======================================================================
  407.   #↑在上面进行设置↑
  408.   #=======================================================================
  409.   

  410.   end
  411. end




  412. #==============================================================================
  413. #描述部分
  414. #==============================================================================
  415. #=============================================================================
  416. #武器
  417. #=============================================================================
  418. module EciDevil
  419.   class Weapon
  420.     def self.find_bas(id,p)
  421.       e = $data_weapons[id]
  422.       case p
  423.       when "PRI"
  424.         return e.price
  425.       when "ATK"
  426.         return e.atk
  427.       when "PDE"
  428.         return e.pdef
  429.       when "MDE"
  430.         return e.mdef
  431.       when "STR"
  432.         return e.str_plus
  433.       when "DEX"
  434.         return e.dex_plus
  435.       when "AGI"
  436.         return e.agi_plus
  437.       when "INT"
  438.         return e.int_plus
  439.       end
  440.     end
  441.     def self.make_list(id,p)
  442.       lmt = find_lvup(id,"LMT")
  443.       case p
  444.       when "EXP"
  445.         poi = find_lvup(id,"POI")
  446.         bas = find_lvup(id,"BAS")
  447.         knd = find_lvup(id,"KND")
  448.         list = [0]
  449.       when "PRI","ATK","PDE","MDE","STR","DEX","AGI","INT"
  450.         poi = find_lvup(id,p,0)
  451.         knd = find_lvup(id,p,1)
  452.         bas = find_bas(id,p)
  453.         list = [bas]
  454.       end
  455.       for i in 1...(lmt+1)
  456.         case knd
  457.         when 0
  458.           n = bas
  459.         when 1
  460.           n = bas + poi * (i-1)
  461.         when 2
  462.           n = bas + poi ** (i-1)
  463.         when 3
  464.           n = bas * ((i + 3) ** (2.4 + poi / 100.0)) / (5 ** (2.4 + poi / 100.0))
  465.         when 4
  466.           n = bas + list[i-1]
  467.         when 5
  468.           n = bas + poi * (i-1) + list[i-1]
  469.         when 6
  470.           n = bas + poi ** (i-1) + list[i-1]
  471.         when 7
  472.           n = bas * ((i + 3) ** (2.4 + poi / 100.0)) / (5 ** (2.4 + poi / 100.0)) + list[i-1]
  473.         end
  474.         list[i] = Integer(n)
  475.       end
  476.       return list
  477.     end
  478.     def self.find_lvup(id,p,k=0)
  479.       if AUTO_CHANGE.has_key?(p)
  480.         ac = AUTO_CHANGE[p]
  481.         if ac[id] != nil
  482.           return ac[id]
  483.         end
  484.         return {}
  485.       end
  486.       typ = find_type(id)
  487.       if typ == 0
  488.         return 0
  489.       end
  490.       case p
  491.       when "TYP"
  492.         return typ
  493.       when "SKL"
  494.         lv = LV_SKL[id]
  495.         df = DF_SKL
  496.       when "LMT"
  497.         lv = LV_LMT[id]
  498.         df = DF_LMT
  499.       when "BAS"
  500.         lv = LV_BAS[id]
  501.         df = DF_BAS
  502.       when "POI"
  503.         lv = LV_POI[id]
  504.         df = DF_POI
  505.       when "KND"
  506.         lv = LV_KND[id]
  507.         df = DF_KND
  508.       when "MIS"
  509.         lv = LV_MIS[id]
  510.         df = DF_MIS
  511.       when "GUA"
  512.         lv = LV_GUA[id]
  513.         df = DF_GUA
  514.       when "HIT"
  515.         lv = LV_HIT[id]
  516.         df = DF_HIT
  517.       when "CRI"
  518.         lv = LV_CRI[id]
  519.         df = DF_CRI
  520.       when "PRI"
  521.         lv = LV_PRI[id]
  522.         df = DF_PRI[k]
  523.       when "ATK"
  524.         lv = LV_ATK[id]
  525.         df = DF_ATK[k]
  526.       when "PDE"
  527.         lv = LV_PDE[id]
  528.         df = DF_PDE[k]
  529.       when "MDE"
  530.         lv = LV_MDE[id]
  531.         df = DF_MDE[k]
  532.       when "STR"
  533.         lv = LV_STR[id]
  534.         df = DF_STR[k]
  535.       when "DEX"
  536.         lv = LV_DEX[id]
  537.         df = DF_DEX[k]
  538.       when "AGI"
  539.         lv = LV_AGI[id]
  540.         df = DF_AGI[k]
  541.       when "INT"
  542.         lv = LV_INT[id]
  543.         df = DF_INT[k]
  544.       end
  545.       r= lv !=nil ? (lv.is_a?(Array) ? lv[k] :lv) :(df.is_a?(Hash) ? df[typ] :df)
  546.       return r if r != nil
  547.       return 0
  548.     end
  549.     def self.find_type(id)
  550.       for i in 1...KIND.size
  551.         kind = KIND[i]
  552.         if ID.include?(kind)
  553.           equip = ID[kind]
  554.           if equip.include?(id)
  555.             return i
  556.           end
  557.         else
  558.           next
  559.         end
  560.       end
  561.       return 0
  562.     end
  563.   end
  564. end

  565. module EciDevil
  566. class Game_Weapon
  567.   include EciDevil
  568.   attr_accessor :id
  569.   attr_accessor :name
  570.   attr_accessor :icon_name
  571.   attr_accessor :description
  572.   attr_accessor :animation1_id
  573.   attr_accessor :animation2_id
  574.   attr_accessor :element_set
  575.   attr_accessor :plus_state_set
  576.   attr_accessor :minus_state_set
  577.   attr_accessor :level
  578.   attr_accessor :exp
  579.   attr_accessor :index
  580.   attr_accessor :skill_type
  581.   attr_accessor :mis_exp
  582.   attr_accessor :gua_exp
  583.   attr_accessor :hit_exp
  584.   attr_accessor :cri_exp
  585.   def initialize(weapon_id,index=nil,lv=0)
  586.     if weapon_id == nil
  587.       return nil
  588.     end
  589.     if weapon_id <= 0
  590.       return nil
  591.     end
  592.     @index = index
  593.     @index = $game_party.find_nil_index(0) if index == nil
  594.     @id = weapon_id
  595.     weapon = $data_weapons[weapon_id]
  596.     @name = weapon.name
  597.     @icon_name = weapon.icon_name
  598.     @description = weapon.description
  599.     @animation1_id = weapon.animation1_id
  600.     @animation2_id = weapon.animation2_id
  601.     @element_set = weapon.element_set
  602.     @plus_state_set = weapon.plus_state_set
  603.     @minus_state_set = weapon.minus_state_set
  604.     @price_list = Weapon::make_list(weapon_id,"PRI")
  605.     @atk_list = Weapon::make_list(weapon_id,"ATK")
  606.     @pdef_list = Weapon::make_list(weapon_id,"PDE")
  607.     @mdef_list = Weapon::make_list(weapon_id,"MDE")
  608.     @str_list = Weapon::make_list(weapon_id,"STR")
  609.     @dex_list = Weapon::make_list(weapon_id,"DEX")
  610.     @agi_list = Weapon::make_list(weapon_id,"AGI")
  611.     @int_list = Weapon::make_list(weapon_id,"INT")
  612.     @level_limit = Weapon::find_lvup(weapon_id,"LMT")
  613.     @exp_list = Weapon::make_list(weapon_id,"EXP")
  614.     @skill_type = Weapon::find_lvup(weapon_id,"SKL")
  615.     @mis_exp = Weapon::find_lvup(weapon_id,"MIS")
  616.     @gua_exp = Weapon::find_lvup(weapon_id,"GUA")
  617.     @hit_exp = Weapon::find_lvup(weapon_id,"HIT")
  618.     @cri_exp = Weapon::find_lvup(weapon_id,"CRI")
  619.     @ac_nam = Weapon::find_lvup(weapon_id,"NAM")
  620.     @ac_ico = Weapon::find_lvup(weapon_id,"ICO")
  621.     @ac_des = Weapon::find_lvup(weapon_id,"DES")
  622.     @ac_aan = Weapon::find_lvup(weapon_id,"AAN")
  623.     @ac_tan = Weapon::find_lvup(weapon_id,"TAN")
  624.     @ac_ele = Weapon::find_lvup(weapon_id,"ELE")
  625.     @ac_pst = Weapon::find_lvup(weapon_id,"PST")
  626.     @ac_mst = Weapon::find_lvup(weapon_id,"MST")
  627.     self.level=lv
  628.     @exp = 0
  629.   end
  630.   def exp_next
  631.     return 0 if @exp_list[@level+1] == nil
  632.     return @exp_list[@level+1]
  633.   end
  634.   def price
  635.     return @price_list[@level]
  636.   end
  637.   def atk
  638.     return @atk_list[@level]
  639.   end
  640.   def pdef
  641.     return @pdef_list[@level]
  642.   end
  643.   def mdef
  644.     return @mdef_list[@level]
  645.   end
  646.   def str
  647.     return @str_list[@level]
  648.   end
  649.   def dex
  650.     return @dex_list[@level]
  651.   end
  652.   def agi
  653.     return @agi_list[@level]
  654.   end
  655.   def int
  656.     return @int_list[@level]
  657.   end
  658.   def exp=(exp)
  659.     @exp = exp
  660.     @exp = 0 if @exp < 0
  661.     while @exp >= exp_next and exp_next > 0
  662.       @exp -= exp_next
  663.       self.level=(@level + 1) if @level < @level_limit
  664.     end
  665.   end
  666.   def level=(level)
  667.     @level = [[level, @level_limit].min, 0].max
  668.     @name = @ac_nam[@level] if @ac_nam[@level] != nil
  669.     @icon_name = @ac_ico[@level] if @ac_ico[@level] != nil
  670.     @description = @ac_des[@level] if @ac_des[@level] != nil
  671.     @animation1_id = @ac_aan[@level] if @ac_aan[@level] != nil
  672.     @animation2_id = @ac_tan[@level] if @ac_tan[@level] != nil
  673.     @element_set = @ac_ele[@level] if @ac_ele[@level] != nil
  674.     @plus_state_set = @ac_pst[@level] if @ac_pst[@level] != nil
  675.     @minus_state_set = @ac_mst[@level] if @ac_mst[@level] != nil
  676.     if @level == @level_limit
  677.       @exp = 0
  678.     end
  679.   end
  680.   def index=(index)
  681.     @index = index
  682.   end
  683. end
  684. end
  685. #=============================================================================
  686. #防具
  687. #=============================================================================
  688. module EciDevil
  689.   class Armor
  690.     def self.find_bas(id,p)
  691.       e = $data_armors[id]
  692.       case p
  693.       when "PRI"
  694.         return e.price
  695.       when "PDE"
  696.         return e.pdef
  697.       when "MDE"
  698.         return e.mdef
  699.       when "EVA"
  700.         return e.eva
  701.       when "STR"
  702.         return e.str_plus
  703.       when "DEX"
  704.         return e.dex_plus
  705.       when "AGI"
  706.         return e.agi_plus
  707.       when "INT"
  708.         return e.int_plus
  709.       end
  710.     end
  711.     def self.make_list(id,p)
  712.       lmt = find_lvup(id,"LMT")
  713.       case p
  714.       when "EXP"
  715.         poi = find_lvup(id,"POI")
  716.         bas = find_lvup(id,"BAS")
  717.         knd = find_lvup(id,"KND")
  718.         list = [0]
  719.       when "PRI","PDE","MDE","EVA","STR","DEX","AGI","INT"
  720.         poi = find_lvup(id,p,0)
  721.         knd = find_lvup(id,p,1)
  722.         bas = find_bas(id,p)
  723.         list = [bas]
  724.       end
  725.       for i in 1...(lmt+1)
  726.         case knd
  727.         when 0
  728.           n = bas
  729.         when 1
  730.           n = bas + poi * (i-1)
  731.         when 2
  732.           n = bas + poi ** (i-1)
  733.         when 3
  734.           n = bas * ((i + 3) ** (2.4 + poi / 100.0)) / (5 ** (2.4 + poi / 100.0))
  735.         when 4
  736.           n = bas + list[i-1]
  737.         when 5
  738.           n = bas + poi * (i-1) + list[i-1]
  739.         when 6
  740.           n = bas + poi ** (i-1) + list[i-1]
  741.         when 7
  742.           n = bas * ((i + 3) ** (2.4 + poi / 100.0)) / (5 ** (2.4 + poi / 100.0)) + list[i-1]
  743.         end
  744.         list[i] = Integer(n)
  745.       end
  746.       return list
  747.     end
  748.     def self.find_lvup(id,p,k=0)
  749.       if AUTO_CHANGE.has_key?(p)
  750.         ac = AUTO_CHANGE[p]
  751.         if ac[id] != nil
  752.           return ac[id]
  753.         end
  754.         return {}
  755.       end
  756.       typ = find_type(id)
  757.       if typ == 0
  758.         return 0
  759.       end
  760.       case p
  761.       when "TYP"
  762.         return typ
  763.       when "SKL"
  764.         lv = LV_SKL[id]
  765.         df = DF_SKL
  766.       when "LMT"
  767.         lv = LV_LMT[id]
  768.         df = DF_LMT
  769.       when "BAS"
  770.         lv = LV_BAS[id]
  771.         df = DF_BAS
  772.       when "POI"
  773.         lv = LV_POI[id]
  774.         df = DF_POI
  775.       when "KND"
  776.         lv = LV_KND[id]
  777.         df = DF_KND
  778.       when "MIS"
  779.         lv = LV_MIS[id]
  780.         df = DF_MIS
  781.       when "GUA"
  782.         lv = LV_GUA[id]
  783.         df = DF_GUA
  784.       when "HIT"
  785.         lv = LV_HIT[id]
  786.         df = DF_HIT
  787.       when "CRI"
  788.         lv = LV_CRI[id]
  789.         df = DF_CRI
  790.       when "PRI"
  791.         lv = LV_PRI[id]
  792.         df = DF_PRI[k]
  793.       when "PDE"
  794.         lv = LV_PDE[id]
  795.         df = DF_PDE[k]
  796.       when "MDE"
  797.         lv = LV_MDE[id]
  798.         df = DF_MDE[k]
  799.       when "EVA"
  800.         lv = LV_EVA[id]
  801.         df = DF_EVA[k]
  802.       when "STR"
  803.         lv = LV_STR[id]
  804.         df = DF_STR[k]
  805.       when "DEX"
  806.         lv = LV_DEX[id]
  807.         df = DF_DEX[k]
  808.       when "AGI"
  809.         lv = LV_AGI[id]
  810.         df = DF_AGI[k]
  811.       when "INT"
  812.         lv = LV_INT[id]
  813.         df = DF_INT[k]
  814.       end
  815.       r= lv !=nil ? (lv.is_a?(Array) ? lv[k] :lv) :(df.is_a?(Hash) ? df[typ] :df)
  816.       return r if r != nil
  817.       return 0
  818.     end
  819.     def self.find_type(id)
  820.       for i in 1...KIND.size
  821.         kind = KIND[i]
  822.         if ID.include?(kind)
  823.           equip = ID[kind]
  824.           if equip.include?(id)
  825.             return i
  826.           end
  827.         else
  828.           next
  829.         end
  830.       end
  831.       return 0
  832.     end
  833.   end
  834. end
  835. module EciDevil
  836. class Game_Armor
  837.   include EciDevil
  838.   attr_accessor :id
  839.   attr_accessor :name
  840.   attr_accessor :icon_name
  841.   attr_accessor :description
  842.   attr_accessor :kind
  843.   attr_accessor :auto_state_id
  844.   attr_accessor :guard_element_set
  845.   attr_accessor :guard_state_set
  846.   attr_accessor :level
  847.   attr_accessor :exp
  848.   attr_accessor :index
  849.   attr_accessor :skill_type
  850.   attr_accessor :mis_exp
  851.   attr_accessor :gua_exp
  852.   attr_accessor :hit_exp
  853.   attr_accessor :cri_exp
  854.   def initialize(armor_id,index=nil,lv=0)
  855.     if armor_id == nil
  856.       return nil
  857.     end
  858.     if armor_id <= 0
  859.       return nil
  860.     end
  861.     @index = index
  862.     @index = $game_party.find_nil_index(1) if index == nil
  863.     @id = armor_id
  864.     armor = $data_armors[armor_id]
  865.     @name = armor.name
  866.     @icon_name = armor.icon_name
  867.     @description = armor.description
  868.     @kind = armor.kind
  869.     @auto_state_id = armor.auto_state_id
  870.     @guard_element_set = armor.guard_element_set
  871.     @guard_state_set = armor.guard_state_set
  872.     @price_list = Armor::make_list(armor_id,"PRI")
  873.     @pdef_list = Armor::make_list(armor_id,"PDE")
  874.     @mdef_list = Armor::make_list(armor_id,"MDE")
  875.     @eva_list = Armor::make_list(armor_id,"EVA")
  876.     @str_list = Armor::make_list(armor_id,"STR")
  877.     @dex_list = Armor::make_list(armor_id,"DEX")
  878.     @agi_list = Armor::make_list(armor_id,"AGI")
  879.     @int_list = Armor::make_list(armor_id,"INT")
  880.     @level_limit = Armor::find_lvup(armor_id,"LMT")
  881.     @exp_list = Armor::make_list(armor_id,"EXP")
  882.     @skill_type = Armor::find_lvup(armor_id,"SKL")
  883.     @mis_exp = Armor::find_lvup(armor_id,"MIS")
  884.     @gua_exp = Armor::find_lvup(armor_id,"GUA")
  885.     @hit_exp = Armor::find_lvup(armor_id,"HIT")
  886.     @cri_exp = Armor::find_lvup(armor_id,"CRI")
  887.     @ac_nam = Armor::find_lvup(armor_id,"NAM")
  888.     @ac_ico = Armor::find_lvup(armor_id,"ICO")
  889.     @ac_des = Armor::find_lvup(armor_id,"DES")
  890.     @ac_ast = Armor::find_lvup(armor_id,"AST")
  891.     @ac_gel = Armor::find_lvup(armor_id,"GEL")
  892.     @ac_gst = Armor::find_lvup(armor_id,"GST")
  893.     self.level=lv
  894.     @exp = 0
  895.   end
  896.   def exp_next
  897.     return 0 if @exp_list[@level+1] == nil
  898.     return @exp_list[@level+1]
  899.   end
  900.   def price
  901.     return @price_list[@level]
  902.   end
  903.   def pdef
  904.     return @pdef_list[@level]
  905.   end
  906.   def mdef
  907.     return @mdef_list[@level]
  908.   end
  909.   def eva
  910.     return @eva_list[@level]
  911.   end
  912.   def str
  913.     return @str_list[@level]
  914.   end
  915.   def dex
  916.     return @dex_list[@level]
  917.   end
  918.   def agi
  919.     return @agi_list[@level]
  920.   end
  921.   def int
  922.     return @int_list[@level]
  923.   end
  924.   def exp=(exp)
  925.     @exp = exp
  926.     @exp = 0 if @exp < 0
  927.     while @exp >= exp_next and exp_next > 0
  928.       @exp -= exp_next
  929.       self.level=(@level + 1) if @level < @level_limit
  930.     end
  931.   end
  932.   def level=(level)
  933.     @level = [[level, @level_limit].min, 0].max
  934.     @name = @ac_nam[@level] if @ac_nam[@level] != nil
  935.     @icon_name = @ac_ico[@level] if @ac_ico[@level] != nil
  936.     @description = @ac_des[@level] if @ac_des[@level] != nil
  937.     @auto_state_id = @ac_ast[@level] if @ac_ast[@level] != nil
  938.     @guard_element_set = @ac_gel[@level] if @ac_gel[@level] != nil
  939.     @guard_state_set = @ac_gst[@level] if @ac_gst[@level] != nil
  940.     if @level == @level_limit
  941.       @exp = 0
  942.     end
  943.   end
  944.   def index=(index)
  945.     @index = index
  946.   end
  947. end
  948. end
复制代码

【范例】
http://rpg.blue/upload_program/d ... ��级_106262213.rar
不常在线,有事PM

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
2
 楼主| 发表于 2008-11-5 05:22:48 | 只看该作者



  1. class Game_Temp
  2.   attr_accessor :eqlv_list
  3.   alias initialize_eqlv initialize
  4.   def initialize
  5.     initialize_eqlv
  6.     @eqlv_list = []
  7.   end
  8. end
  9. class Game_Actor
  10.   attr_reader :weapon
  11.   attr_reader :armors
  12.   alias setup_eqlv setup
  13.   def setup(actor_id)
  14.     setup_eqlv(actor_id)
  15.     @weapon = EciDevil::Game_Weapon.new(@weapon_id,actor_id) if @weapon_id > 0
  16.     $game_party.gain_weapon_lv(@weapon)
  17.     $game_party.lose_weapon_lv(@weapon.index)
  18.     @armors_id = [@armor1_id,@armor2_id,@armor3_id,@armor4_id]
  19.     @armors = [nil,nil,nil,nil]
  20.     for i in 0...@armors_id.size
  21.       id = @armors_id[i]
  22.       if id != nil and id > 0
  23.         index = $game_party.find_nil_index(1)
  24.         armor = EciDevil::Game_Armor.new(id,index)
  25.         @armors[i] = armor
  26.         $game_party.gain_armor_lv(armor)
  27.         $game_party.lose_armor_lv(armor.index)
  28.       end
  29.     end
  30.   end
  31.   alias base_str_eqlv base_str
  32.   def base_str
  33.     n = base_str_eqlv
  34.     n += @weapon != nil ? @weapon.str : 0
  35.     weapon = $data_weapons[@weapon_id]
  36.     n -= weapon != nil ? weapon.str_plus : 0
  37.     for armor in @armors
  38.       n += armor != nil ? armor.str : 0
  39.       n -= armor != nil ? $data_armors[armor.id].str_plus : 0
  40.     end
  41.     return n
  42.   end
  43.   alias base_dex_eqlv base_dex
  44.   def base_dex
  45.     n = base_dex_eqlv
  46.     n += @weapon != nil ? @weapon.dex : 0
  47.     weapon = $data_weapons[@weapon_id]
  48.     n -= weapon != nil ? weapon.dex_plus : 0
  49.     for armor in @armors
  50.       n += armor != nil ? armor.dex : 0
  51.       n -= armor != nil ? $data_armors[armor.id].dex_plus : 0
  52.     end
  53.     return n
  54.   end
  55.   alias base_agi_eqlv base_agi
  56.   def base_agi
  57.     n = base_agi_eqlv
  58.     n += @weapon != nil ? @weapon.agi : 0
  59.     weapon = $data_weapons[@weapon_id]
  60.     n -= weapon != nil ? weapon.agi_plus : 0
  61.     for armor in @armors
  62.       n += armor != nil ? armor.agi : 0
  63.       n -= armor != nil ? $data_armors[armor.id].agi_plus : 0
  64.     end
  65.     return n
  66.   end
  67.   alias base_int_eqlv base_int
  68.   def base_int
  69.     n = base_int_eqlv
  70.     n += @weapon != nil ? @weapon.int : 0
  71.     weapon = $data_weapons[@weapon_id]
  72.     n -= weapon != nil ? weapon.int_plus : 0
  73.     for armor in @armors
  74.       n += armor != nil ? armor.int : 0
  75.       n -= armor != nil ? $data_armors[armor.id].int_plus : 0
  76.     end
  77.     return n
  78.   end
  79.   alias base_atk_eqlv base_atk
  80.   def base_atk
  81.     n = base_atk_eqlv
  82.     n += @weapon != nil ? @weapon.atk : 0
  83.     weapon = $data_weapons[@weapon_id]
  84.     n -= weapon != nil ? weapon.atk : 0
  85.     return n
  86.   end
  87.   alias base_pdef_eqlv base_pdef
  88.   def base_pdef
  89.     n = base_pdef_eqlv
  90.     n += @weapon != nil ? @weapon.pdef : 0
  91.     weapon = $data_weapons[@weapon_id]
  92.     n -= weapon != nil ? weapon.pdef : 0
  93.     for armor in @armors
  94.       n += armor != nil ? armor.pdef : 0
  95.       n -= armor != nil ? $data_armors[armor.id].pdef : 0
  96.     end
  97.     return n
  98.   end
  99.   alias base_mdef_eqlv base_mdef
  100.   def base_mdef
  101.     n = base_mdef_eqlv
  102.     n += @weapon != nil ? @weapon.mdef : 0
  103.     weapon = $data_weapons[@weapon_id]
  104.     n -= weapon != nil ? weapon.mdef : 0
  105.     for armor in @armors
  106.       n += armor != nil ? armor.mdef : 0
  107.       n -= armor != nil ? $data_armors[armor.id].mdef : 0
  108.     end
  109.     return n
  110.   end
  111.   alias base_eva_eqlv base_eva
  112.   def base_eva
  113.     n = base_eva_eqlv
  114.     for armor in @armors
  115.       n += armor != nil ? armor.eva : 0
  116.       n -= armor != nil ? $data_armors[armor.id].eva : 0
  117.     end
  118.     return n
  119.   end
  120.   def equip_item_eqlv(item)
  121.     if item == nil
  122.       return
  123.     end
  124.     case item
  125.     when EciDevil::Game_Weapon
  126.       equip_weapon(item.index)
  127.     when EciDevil::Game_Armor
  128.       equip_armor(item.index)
  129.     when Array
  130.       case item[0]
  131.       when 0
  132.         equip_weapon(item[1])
  133.       else
  134.         equip_armor(item[1],item[0]-1)
  135.       end
  136.     end
  137.   end
  138.   def equip_weapon(index)
  139.     if index == 0
  140.       $game_party.gain_weapon_lv(@weapon)
  141.       @weapon = nil
  142.       @weapon_id = 0
  143.     else
  144.       if $game_party.weapons.has_key?(index)
  145.         if $game_party.weapons[index] != nil
  146.           $game_party.gain_weapon_lv(@weapon)
  147.           @weapon = $game_party.weapons[index]
  148.           @weapon_id = @weapon.id
  149.           $game_party.lose_weapon_lv(@weapon.index)
  150.         end
  151.       end
  152.     end
  153.   end
  154.   def equip_armor(index,kind=0)
  155.     if index == 0
  156.       $game_party.gain_armor_lv(@armors[kind])
  157.       @armors[kind] = nil
  158.       @armors_id[kind] = 0
  159.     else
  160.       if $game_party.armors.has_key?(index)
  161.         if $game_party.armors[index] != nil
  162.           kind = $game_party.armors[index].kind
  163.           armor = @armors[kind]
  164.           update_auto_state(armor, $game_party.armors[index])
  165.           id = 0
  166.           id = armor.id if armor != nil
  167.           $game_party.gain_armor_lv(armor)
  168.           @armors[kind] = $game_party.armors[index]
  169.           @armors_id[kind] = @armors[kind].id
  170.           $game_party.lose_armor_lv(index)
  171.         end
  172.       end
  173.     end
  174.     refresh_armors_id
  175.   end
  176.   def refresh_armors_id
  177.     @armor1_id = @armors_id[0]
  178.     @armor2_id = @armors_id[1]
  179.     @armor3_id = @armors_id[2]
  180.     @armor4_id = @armors_id[3]
  181.   end
  182.   alias equip_eqlv equip
  183.   def equip(equip_type, id)
  184.     if id == nil
  185.       return
  186.     end
  187.     if id == 0
  188.       case equip_type
  189.       when 0
  190.         equip_weapon(0)
  191.         return
  192.       else
  193.         equip_armor(0,equip_type-1)
  194.         return
  195.       end
  196.     else
  197.       case equip_type
  198.       when 0
  199.         item = EciDevil::Game_Weapon.new(id)
  200.       else
  201.         item = EciDevil::Game_Armor.new(id)
  202.       end
  203.       equip_item_eqlv(item)
  204.     end
  205.   end
  206.   alias equippable_eqlv? equippable?
  207.   def equippable?(item)
  208.     if item.is_a?(EciDevil::Game_Weapon)
  209.       if $data_classes[@class_id].weapon_set.include?(item.id)
  210.         return true
  211.       end
  212.     elsif item.is_a?(EciDevil::Game_Armor)
  213.       if $data_classes[@class_id].armor_set.include?(item.id)
  214.         return true
  215.       end
  216.     end
  217.     return equippable_eqlv?(item)
  218.   end
  219.   def animation1_id
  220.     return @weapon != nil ? @weapon.animation1_id : 0
  221.   end
  222.   def animation2_id
  223.     return @weapon != nil ? @weapon.animation2_id : 0
  224.   end
  225.   def element_set
  226.     return @weapon != nil ? @weapon.element_set : []
  227.   end
  228.   def plus_state_set
  229.     return @weapon != nil ? @weapon.plus_state_set : []
  230.   end
  231.   def minus_state_set
  232.     return @weapon != nil ? @weapon.minus_state_set : []
  233.   end
  234.   def state_guard?(state_id)
  235.     for armor in @armors
  236.       if armor != nil
  237.         if armor.guard_state_set.include?(state_id)
  238.           return true
  239.         end
  240.       end
  241.     end
  242.     return false
  243.   end
  244.   def element_rate(element_id)
  245.     table = [0,200,150,100,50,0,-100]
  246.     result = table[$data_classes[@class_id].element_ranks[element_id]]
  247.     for armor in @armors
  248.       if armor != nil and armor.guard_element_set.include?(element_id)
  249.         result /= 2
  250.       end
  251.     end
  252.     for i in @states
  253.       if $data_states[i].guard_element_set.include?(element_id)
  254.         result /= 2
  255.       end
  256.     end
  257.     return result
  258.   end
  259. end
  260. class Game_Party
  261.   attr_reader   :weapons
  262.   attr_reader   :armors
  263.   alias initialize_eqlv initialize
  264.   def initialize
  265.     initialize_eqlv
  266.     gain_weapon_lv(0)
  267.     gain_armor_lv(0)
  268.   end
  269.   def find_nil_index(type)
  270.     case type
  271.     when 0
  272.       equip = @weapons
  273.     when 1
  274.       equip = @armors
  275.     end
  276.     keys = equip.keys
  277.     if keys.size <= 1
  278.       return 2 if keys.include?(1)
  279.       return 1
  280.     end
  281.     keys = keys.sort
  282.     key_max = keys[keys.size-1]
  283.     key_min = keys[0]
  284.     key_min += 1 if key_min == 0
  285.     if key_min > 1
  286.       return 1
  287.     end
  288.     for i in (key_min)...key_max
  289.       unless keys.include?(i)
  290.         return i
  291.       end
  292.     end
  293.     return key_max+1
  294.   end
  295.   def gain_weapon_lv(weapon_or_id, level=0)
  296.     if weapon_or_id == nil
  297.       return
  298.     end
  299.     case weapon_or_id
  300.     when EciDevil::Game_Weapon
  301.       weapon = weapon_or_id
  302.     when Integer
  303.       weapon = nil
  304.       id = weapon_or_id
  305.     end
  306.     if weapon != nil
  307.       weapon_index = weapon.index
  308.       if @weapons[weapon_index] != nil
  309.         old_weapon = @weapons[weapon_index]
  310.         old_weapon.index = find_nil_index(0)
  311.         gain_weapon_lv(old_weapon)
  312.       end
  313.     elsif id > 0
  314.       weapon_index = find_nil_index(0)
  315.       weapon = EciDevil::Game_Weapon.new(id,weapon_index,level)
  316.     else
  317.       weapon_index = 0
  318.     end
  319.     @weapons[weapon_index] = weapon
  320.     return weapon_index
  321.   end
  322.   def lose_weapon_lv(weapon_index,sell=false)
  323.     if weapon_index > 0
  324.       @weapons[weapon_index] = nil
  325.       @weapons.delete(weapon_index) if sell
  326.     end
  327.   end
  328.   def gain_weapon(weapon_id, n)
  329.     if EciDevel::NUM_LEVEL
  330.       gain_weapon_lv(weapon_id,n-1)
  331.     else
  332.       for i in 0...n
  333.         gain_weapon_lv(weapon_id)
  334.       end
  335.     end
  336.   end
  337.   def lose_weapon(weapon_id, n)
  338.   end
  339.   def weapon_number(weapon_id)
  340.     n = 0
  341.     for key in @weapons.keys
  342.       if @weapons[key] != nil and @weapons[key].id == weapon_id
  343.         n += 1
  344.       end
  345.     end
  346.     return n
  347.   end
  348.   def gain_armor_lv(armor_or_id, level=0)
  349.     if armor_or_id == nil
  350.       return
  351.     end
  352.     case armor_or_id
  353.     when EciDevil::Game_Armor
  354.       armor = armor_or_id
  355.     when Integer
  356.       armor = nil
  357.       id = armor_or_id
  358.     end
  359.     if armor != nil
  360.       armor_index = armor.index
  361.       if @armors[armor_index] != nil
  362.         old_armor = @armors[armor_index]
  363.         old_armor.index = find_nil_index(1)
  364.         gain_armor_lv(old_armor)
  365.       end
  366.     elsif id > 0
  367.       armor_index = find_nil_index(1)
  368.       armor = EciDevil::Game_Armor.new(id,armor_index,level)
  369.     else
  370.       armor_index = 0
  371.     end
  372.     @armors[armor_index] = armor
  373.     return armor_index
  374.   end
  375.   def lose_armor_lv(armor_index,sell=false)
  376.     if armor_index > 0
  377.       @armors[armor_index] = nil
  378.       @armors.delete(armor_index) if sell
  379.     end
  380.   end
  381.   def gain_armor(armor_id, n)
  382.     if EciDevel::NUM_LEVEL
  383.       gain_armor_lv(armor_id,n-1)
  384.     else
  385.       for i in 0...n
  386.         gain_armor_lv(armor_id)
  387.       end
  388.     end
  389.   end
  390.   def lose_armor(armor_id, n)
  391.   end
  392.   def armor_number(armor_id)
  393.     n = 0
  394.     for key in @armors.keys
  395.       if @armors[key] != nil and @armors[key].id == armor_id
  396.         n += 1
  397.       end
  398.     end
  399.     return n
  400.   end
  401. end
  402. class Window_Base < Window
  403.   def draw_item_exp(item, x, y, width = 100,height = 16)
  404.     exp_color = Color.new(255, 255, 0, 192)
  405.     expnext_color = Color.new(0, 0, 0, 192)
  406.     if item.exp_next != 0
  407.       exp_lth = width * item.exp / item.exp_next
  408.       string = Integer(item.exp).to_s+"/"+item.exp_next.to_s
  409.     else
  410.       exp_lth = width
  411.       string = "MAX"
  412.     end
  413.     self.contents.fill_rect(x, y, width, height, normal_color)
  414.     self.contents.fill_rect(x+1, y+1, width-2, height-2, expnext_color)
  415.     self.contents.fill_rect(x+1, y+1, exp_lth-2, height-2, exp_color)
  416.     font_size = self.contents.font.size
  417.     self.contents.font.size = height-2
  418.     self.contents.draw_text(x, y, width, height-2, string,1)
  419.     self.contents.font.size = font_size
  420.   end
  421. end
  422. class Window_Item < Window_Selectable
  423.   alias refresh_eqlv refresh
  424.   def refresh
  425.     if self.contents != nil
  426.       self.contents.dispose
  427.       self.contents = nil
  428.     end
  429.     @data = []
  430.     for i in 1...$data_items.size
  431.       if $game_party.item_number(i) > 0
  432.         @data.push($data_items[i])
  433.       end
  434.     end
  435.     @item_max = @data.size
  436.     if @item_max > 0
  437.       self.contents = Bitmap.new(width - 32, row_max * 32)
  438.       for i in [email protected]
  439.         draw_item(i)
  440.       end
  441.     end
  442.     eqlv = []
  443.     unless $game_temp.in_battle
  444.       indexs = $game_party.weapons.keys
  445.       indexs.sort
  446.       for i in 0...indexs.size
  447.         weapon = $game_party.weapons[indexs[i]]
  448.         if weapon != nil
  449.           eqlv.push(weapon)
  450.         end
  451.       end
  452.       indexs = $game_party.armors.keys
  453.       indexs.sort
  454.       for i in 0...indexs.size
  455.         armor = $game_party.armors[indexs[i]]
  456.         if armor != nil
  457.           eqlv.push(armor)
  458.         end
  459.       end
  460.     end
  461.     @item_max = @data.size + eqlv.size
  462.     if @item_max > @data.size
  463.       bitmap = Bitmap.new(width - 32, row_max * 32)
  464.       if @data.size > 0
  465.         src_rect = self.contents.rect
  466.         bitmap.blt(0,0,self.contents,src_rect)
  467.       end
  468.       self.contents = bitmap
  469.     end
  470.     for i in 0...eqlv.size
  471.       draw_item_eqlv([email protected],eqlv[i])
  472.     end
  473.     @data += eqlv
  474.   end
  475.   def draw_item_eqlv(i,item)
  476.     level = item.level
  477.     x = 4 + i % 2 * (288 + 32)
  478.     y = i / 2 * 32
  479.     rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  480.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  481.     bitmap = RPG::Cache.icon(item.icon_name)
  482.     self.contents.font.color = normal_color
  483.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  484.     font_size = self.contents.font.size
  485.     self.contents.font.size = 16
  486.     self.contents.draw_text(x + 28, y+1, 212, 16, item.name, 0)
  487.     draw_item_exp(item,x+70,y+18,120,12)
  488.     self.contents.font.size = 12
  489.     self.contents.draw_text(x + 30, y+19, 42, 12, "Lv."+level.to_s)
  490.     self.contents.font.size = font_size
  491.   end
  492. end
  493. class Window_EquipRight < Window_Selectable
  494.   alias refresh_eqlv refresh
  495.   def refresh
  496.     if @actor.weapon != nil
  497.       weapon = @actor.weapon
  498.       @actor.equip(0,0)
  499.     end
  500.     armors = []
  501.     for i in [email protected]
  502.       armor = @actor.armors[i]
  503.       if armor != nil
  504.         armors[i] = armor
  505.         @actor.equip(armor.kind+1,0)
  506.       end
  507.     end
  508.     refresh_eqlv
  509.     if weapon != nil
  510.       @actor.equip_weapon(weapon.index)
  511.       draw_item_eqlv(@actor.weapon, 92, 32 * 0)
  512.       @data[0] = @actor.weapon
  513.     end
  514.     for armor in armors
  515.       if armor != nil
  516.         @actor.equip_armor(armor.index)
  517.         draw_item_eqlv(armor,92,32 * (armor.kind+1))
  518.         @data[armor.kind+1] = armor
  519.       end
  520.     end
  521.   end
  522.   def draw_item_eqlv(item,x,y)
  523.     level = item.level
  524.     rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  525.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  526.     bitmap = RPG::Cache.icon(item.icon_name)
  527.     self.contents.font.color = normal_color
  528.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  529.     font_size = self.contents.font.size
  530.     self.contents.font.size = 16
  531.     self.contents.draw_text(x + 28, y+1, 212, 16, item.name, 0)
  532.     draw_item_exp(item,x+70,y+18,120,12)
  533.     self.contents.font.size = 12
  534.     self.contents.draw_text(x + 30, y+19, 42, 12, "Lv."+level.to_s)
  535.     self.contents.font.size = font_size
  536.   end
  537. end
复制代码
不常在线,有事PM
回复 支持 反对

使用道具 举报

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
3
 楼主| 发表于 2008-11-5 05:23:00 | 只看该作者
  1. class Window_EquipItem < Window_Selectable
  2.   alias refresh_eqlv refresh
  3.   def refresh
  4.     if self.contents != nil
  5.       self.contents.dispose
  6.       self.contents = nil
  7.     end
  8.     @data = []
  9.     unless @equip_type == 0
  10.       armor_set = $data_classes[@actor.class_id].armor_set
  11.       indexs = $game_party.armors.keys
  12.       indexs.sort
  13.       for i in 0...indexs.size
  14.         armor = $game_party.armors[indexs[i]]
  15.         if armor != nil and armor_set.include?(armor.id)
  16.           @data.push(armor) if armor.kind + 1 == @equip_type
  17.         end
  18.       end
  19.       @data.push(nil)
  20.       @item_max = @data.size
  21.       self.contents = Bitmap.new(width - 32, row_max * 32) if @item_max > 0
  22.       for i in [email protected]
  23.         draw_item_eqlv(i-1,@data[i-1])
  24.       end
  25.     else
  26.       weapon_set = $data_classes[@actor.class_id].weapon_set
  27.       indexs = $game_party.weapons.keys
  28.       indexs.sort
  29.       for i in 0...indexs.size
  30.         weapon = $game_party.weapons[indexs[i]]
  31.         if weapon != nil and weapon_set.include?(weapon.id)
  32.           @data.push(weapon)
  33.         end
  34.       end
  35.       @data.push(nil)
  36.       @item_max = @data.size
  37.       self.contents = Bitmap.new(width - 32, row_max * 32) if @item_max > 0
  38.       for i in [email protected]
  39.         draw_item_eqlv(i-1,@data[i-1])
  40.       end
  41.     end
  42.   end
  43.   def draw_item_eqlv(i,item)
  44.     level = item.level
  45.     x = 4 + i % 2 * (288 + 32)
  46.     y = i / 2 * 32
  47.     bitmap = RPG::Cache.icon(item.icon_name)
  48.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  49.     font_size = self.contents.font.size
  50.     self.contents.font.size = 16
  51.     self.contents.draw_text(x + 28, y+1, 212, 16, item.name, 0)
  52.     draw_item_exp(item,x+70,y+18,120,12)
  53.     self.contents.font.size = 12
  54.     self.contents.draw_text(x + 30, y+19, 42, 12, "Lv."+level.to_s)
  55.     self.contents.font.size = font_size
  56.   end
  57. end
  58. class Window_Status < Window_Base
  59.   alias refresh_eqlv refresh
  60.   def refresh
  61.     weapon_index = @actor.weapon.index
  62.     @actor.equip(0,0)
  63.     armors_index = []
  64.     for armor in @actor.armors
  65.       unless armor == nil
  66.         armors_index.push(armor.index)
  67.         @actor.equip(armor.kind+1,0)
  68.       end
  69.     end
  70.     refresh_eqlv
  71.     index = weapon_index
  72.     for idx in armors_index
  73.       index *= idx
  74.     end
  75.     unless index == 0
  76.       rect = Rect.new(96, 192, 156, 432-192)
  77.       self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  78.       @actor.equip_weapon(weapon_index)
  79.       for idx in armors_index
  80.         @actor.equip_armor(idx)
  81.       end
  82.       for i in 0...6
  83.         y = 192 + 32 * i + (i > 2 ? 16 : 0)
  84.         draw_actor_parameter(@actor, 96, y, i)
  85.       end
  86.       draw_item_eqlv(@actor.weapon, 320 + 16, 208)
  87.       for i in [email protected]
  88.         armor = @actor.armors[i]
  89.         draw_item_eqlv(armor,320 + 16, 256 + i * 48) if armor != nil
  90.       end
  91.     end
  92.   end
  93.   def draw_item_eqlv(item,x,y)
  94.     level = item.level
  95.     bitmap = RPG::Cache.icon(item.icon_name)
  96.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  97.     font_size = self.contents.font.size
  98.     self.contents.font.size = 16
  99.     self.contents.draw_text(x + 28, y+1, 212, 16, item.name, 0)
  100.     draw_item_exp(item,x+70,y+18,120,12)
  101.     self.contents.font.size = 12
  102.     self.contents.draw_text(x + 30, y+19, 42, 12, "Lv."+level.to_s)
  103.     self.contents.font.size = font_size
  104.   end
  105. end
  106. class Window_ShopBuy < Window_Selectable
  107.   alias refresh_eqlv refresh
  108.   def refresh
  109.     refresh_eqlv
  110.     eqlv_goods = $game_temp.eqlv_list
  111.     eqlv = []
  112.     for goods_item in eqlv_goods
  113.       unless goods_item == nil or goods_item[0] == nil
  114.         case goods_item[0]
  115.         when 3
  116.           unless goods_item[1] == nil or goods_item[2] == nil
  117.             id = goods_item[1]
  118.             lv = goods_item[2]
  119.             if id > 0 or lv > 0
  120.               index = $game_party.find_nil_index(0)
  121.               item = EciDevil::Game_Weapon.new(id,index,lv)
  122.             end
  123.           end
  124.         when 4
  125.           unless goods_item[1] == nil or goods_item[2] == nil
  126.             id = goods_item[1]
  127.             lv = goods_item[2]
  128.             if id > 0 or lv > 0
  129.               index = $game_party.find_nil_index(1)
  130.               item = EciDevil::Game_Armor.new(id,index,lv)
  131.             end
  132.           end
  133.         end
  134.       end
  135.       if item != nil
  136.         eqlv.push(item)
  137.       end
  138.     end
  139.     @item_max = @data.size + eqlv.size
  140.     if @item_max > @data.size
  141.       bitmap = Bitmap.new(width - 32, row_max * 32)
  142.       if @data.size > 0
  143.         src_rect = self.contents.rect
  144.         bitmap.blt(0,0,self.contents,src_rect)
  145.       end
  146.       self.contents = bitmap
  147.     end
  148.     for i in 0...eqlv.size
  149.       x = 4
  150.       y = (@data.size + i) * 32
  151.       item = eqlv[i]
  152.       draw_item_eqlv(item,x,y)
  153.     end
  154.     @data += eqlv
  155.   end
  156.   def draw_item_eqlv(item,x,y)
  157.     level = item.level
  158.     if item.price <= $game_party.gold
  159.       self.contents.font.color = normal_color
  160.     else
  161.       self.contents.font.color = disabled_color
  162.     end
  163.     rect = Rect.new(x, y, self.width - 32, 32)
  164.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  165.     bitmap = RPG::Cache.icon(item.icon_name)
  166.     opacity = self.contents.font.color == normal_color ? 255 : 128
  167.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  168.     font_size = self.contents.font.size
  169.     self.contents.font.size = 16
  170.     self.contents.draw_text(x + 28, y+1, 212, 16, item.name, 0)
  171.     draw_item_exp(item,x+70,y+18,120,12)
  172.     self.contents.font.size = 12
  173.     self.contents.draw_text(x + 30, y+19, 42, 12, "Lv."+level.to_s)
  174.     self.contents.font.size = font_size
  175.     self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
  176.   end
  177. end
  178. class Window_ShopSell < Window_Selectable
  179.   alias refresh_eqlv refresh
  180.   def refresh
  181.     if self.contents != nil
  182.       self.contents.dispose
  183.       self.contents = nil
  184.     end
  185.     @data = []
  186.     for i in 1...$data_items.size
  187.       if $game_party.item_number(i) > 0
  188.         @data.push($data_items[i])
  189.       end
  190.     end
  191.     @item_max = @data.size
  192.     self.contents = Bitmap.new(width - 32, row_max * 32) if @item_max > 0
  193.     for i in [email protected]
  194.       draw_item(i)
  195.     end
  196.     eqlv = []
  197.     indexs = $game_party.weapons.keys
  198.     indexs.sort
  199.     for i in 0...indexs.size
  200.       weapon = $game_party.weapons[indexs[i]]
  201.       if weapon != nil
  202.         eqlv.push(weapon)
  203.       end
  204.     end
  205.     indexs = $game_party.armors.keys
  206.     indexs.sort
  207.     for i in 0...indexs.size
  208.       armor = $game_party.armors[indexs[i]]
  209.       if armor != nil
  210.         eqlv.push(armor)
  211.       end
  212.     end
  213.     @item_max = @data.size + eqlv.size
  214.     if @item_max > @data.size
  215.       bitmap = Bitmap.new(width - 32, row_max * 32)
  216.       if @data.size > 0
  217.         src_rect = self.contents.rect
  218.         bitmap.blt(0,0,self.contents,src_rect)
  219.       end
  220.       self.contents = bitmap
  221.     end
  222.     for i in 0...eqlv.size
  223.       draw_item_eqlv([email protected],eqlv[i])
  224.     end
  225.     @data += eqlv
  226.   end
  227.   def draw_item_eqlv(i,item)
  228.     level = item.level
  229.     if item.price > 0
  230.       self.contents.font.color = normal_color
  231.     else
  232.       self.contents.font.color = disabled_color
  233.     end
  234.     x = 4 + i % 2 * (288 + 32)
  235.     y = i / 2 * 32
  236.     rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  237.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  238.     bitmap = RPG::Cache.icon(item.icon_name)
  239.     opacity = self.contents.font.color == normal_color ? 255 : 128
  240.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  241.     font_size = self.contents.font.size
  242.     self.contents.font.size = 16
  243.     self.contents.draw_text(x + 28, y+1, 212, 16, item.name, 0)
  244.     draw_item_exp(item,x+70,y+18,120,12)
  245.     self.contents.font.size = 12
  246.     self.contents.draw_text(x + 30, y+19, 42, 12, "Lv."+level.to_s)
  247.     self.contents.font.size = font_size
  248.   end
  249. end
  250. class Window_ShopNumber < Window_Base
  251.   alias set_eqlv set
  252.   def set(item,max,price)
  253.     case @item
  254.     when EciDevil::Game_Weapon , EciDevil::Game_Armor
  255.       set_eqlv(item,1,price)
  256.     else
  257.       set_eqlv(item,max,price)
  258.     end
  259.   end
  260. end
  261. class Window_ShopStatus < Window_Base
  262.   alias refresh_eqlv refresh
  263.   def refresh
  264.     self.contents.clear
  265.     if @item == nil
  266.       return
  267.     end
  268.     case @item
  269.     when RPG::Weapon,EciDevil::Game_Weapon,RPG::Armor,EciDevil::Game_Armor
  270.       self.contents.font.color = disabled_color
  271.       self.contents.draw_text(4, 0, 200, 32, "所持数")
  272.       self.contents.draw_text(204, 0, 32, 32, "--/--", 2)
  273.       for i in 0...$game_party.actors.size
  274.         actor = $game_party.actors[i]
  275.         if actor.equippable?(@item)
  276.           self.contents.font.color = normal_color
  277.         else
  278.           self.contents.font.color = disabled_color
  279.         end
  280.         self.contents.draw_text(4, 64 + 64 * i, 120, 32, actor.name)
  281.         if @item.is_a?(RPG::Weapon) or @item.is_a?(EciDevil::Game_Weapon)
  282.           item = actor.weapon
  283.         else
  284.           item = actor.armors[@item.kind]
  285.         end
  286.         if actor.equippable?(@item)
  287.           case @item
  288.           when RPG::Weapon,EciDevil::Game_Weapon
  289.             atk1 = item != nil ? item.atk : 0
  290.             atk2 = @item != nil ? @item.atk : 0
  291.             change = atk2 - atk1
  292.           when RPG::Armor,EciDevil::Game_Armor
  293.             pdef1 = item != nil ? item.pdef : 0
  294.             mdef1 = item != nil ? item.mdef : 0
  295.             pdef2 = @item != nil ? @item.pdef : 0
  296.             mdef2 = @item != nil ? @item.mdef : 0
  297.             change = pdef2 - pdef1 + mdef2 - mdef1
  298.           end
  299.           self.contents.draw_text(124, 64 + 64 * i, 112, 32,
  300.           sprintf("%+d", change), 2)
  301.         end
  302.         if item != nil
  303.           x = 4
  304.           y = 64 + 64 * i + 32
  305.           draw_item_eqlv(item,x,y)
  306.         end
  307.       end
  308.     else
  309.       refresh_eqlv
  310.     end
  311.   end
  312.   def draw_item_eqlv(item,x,y)
  313.     level = item.level
  314.     rect = Rect.new(x, y, self.width - 32, 32)
  315.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  316.     bitmap = RPG::Cache.icon(item.icon_name)
  317.     opacity = self.contents.font.color == normal_color ? 255 : 128
  318.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  319.     font_size = self.contents.font.size
  320.     self.contents.font.size = 16
  321.     self.contents.draw_text(x + 28, y+1, 212, 16, item.name, 0)
  322.     draw_item_exp(item,x+70,y+18,120,12)
  323.     self.contents.font.size = 12
  324.     self.contents.draw_text(x + 30, y+19, 42, 12, "Lv."+level.to_s)
  325.     self.contents.font.size = font_size
  326.   end
  327. end
  328. class Interpreter
  329.   def actor_equip_lose(actor_id,type)
  330.     actor = $game_actors[actor_id]
  331.     case type
  332.     when 0
  333.       if (item = actor.weapon) != nil
  334.         index = item.index
  335.         actor.equip(type,0)
  336.         $game_party.lose_weapon_lv(index,true)
  337.       end
  338.     else
  339.       if (item = actor.armors[type-1]) != nil
  340.         index = item.index
  341.         actor.equip(type,0)
  342.         $game_party.lose_armor_lv(index,true)
  343.       end
  344.     end
  345.     return item
  346.   end
  347. end
  348. class Scene_Equip
  349.   alias refresh_eqlv refresh
  350.   def refresh
  351.     refresh_eqlv
  352.     if @item_window.active
  353.       item1 = @right_window.item
  354.       item2 = @item_window.item
  355.       last_hp = @actor.hp
  356.       last_sp = @actor.sp
  357.       @actor.equip_item_eqlv(item2 == nil ? [@right_window.index,0] : item2)
  358.       new_atk = @actor.atk
  359.       new_pdef = @actor.pdef
  360.       new_mdef = @actor.mdef
  361.       @actor.equip_item_eqlv(item1 == nil ? [@right_window.index,0] : item1)
  362.       @actor.hp = last_hp
  363.       @actor.sp = last_sp
  364.       @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
  365.     end
  366.   end
  367.   alias update_item_eqlv update_item
  368.   def update_item
  369.     item = @item_window.item
  370.     if Input.trigger?(Input::C)
  371.       @actor.equip_item_eqlv(item == nil ? [@right_window.index,0] : item)
  372.     end
  373.     update_item_eqlv
  374.   end
  375. end
  376. class Scene_Battle
  377.   alias main_eqlv main
  378.   def main
  379.     @short_count = 0
  380.     @middle_count = 0
  381.     @long_count = 0
  382.     @eqlv_windows = []
  383.     @eqlv_items = []
  384.     @eqlv_index = []
  385.     for i in 0...$game_party.actors.size
  386.       @eqlv_windows.push(Window_Eqlv.new(i))
  387.       @eqlv_items[i] = []
  388.       @eqlv_index[i] = 0
  389.     end
  390.     main_eqlv
  391.     for window in @eqlv_windows
  392.       window.dispose
  393.     end
  394.   end
  395.   alias update_phase4_step5_eqlv update_phase4_step5
  396.   def update_phase4_step5
  397.     equip_get_exp
  398.     update_phase4_step5_eqlv
  399.   end
  400.   alias update_phase4_step6_eqlv update_phase4_step6
  401.   def update_phase4_step6
  402.     if update_window_eqlv
  403.       update_phase4_step6_eqlv
  404.     end  
  405.   end
  406.   def update_window_eqlv
  407.     for i in 0...@eqlv_windows.size
  408.       window = @eqlv_windows[i]
  409.       unless window.ready or @eqlv_index[i] >= @eqlv_items[i].size
  410.         unless @middle_count > 0
  411.           while (arr = @eqlv_items[i][@eqlv_index[i]]) == nil
  412.             @eqlv_index[i] += 1
  413.           end
  414.           window.set(arr)
  415.           @eqlv_index[i] += 1
  416.           @middle_count = EciDevil::MID_COUNT
  417.           @short_count = EciDevil::SHT_COUNT
  418.         end
  419.       end
  420.     end
  421.     ready = false
  422.     for window in @eqlv_windows
  423.       if window.ready
  424.         window.update
  425.         window.visible = true
  426.         ready = true
  427.       end
  428.     end
  429.     @short_count -= 1
  430.     if ready
  431.       unless @short_count >= 0
  432.         for window in @eqlv_windows
  433.           if window.ready
  434.             window.refresh
  435.             @short_count = EciDevil::SHT_COUNT
  436.           end
  437.         end
  438.       end
  439.       @long_count = EciDevil::LON_COUNT if @long_count <= 0
  440.       return false
  441.     end
  442.     @middle_count -= 1
  443.     if @middle_count > 0
  444.       return false
  445.     end
  446.     @long_count -= 1
  447.     if @long_count > 0
  448.       return false
  449.     end
  450.     for window in @eqlv_windows
  451.       window.visible = false
  452.       window.set([nil,nil])
  453.       window.refresh
  454.     end
  455.     @short_count = 0
  456.     @middle_count = 0
  457.     @long_count = 0
  458.     for i in 0...$game_party.actors.size
  459.       for j in 0...@eqlv_items[i].size
  460.         if @eqlv_items[i][j] != nil
  461.           @eqlv_items[i][j][0].exp += @eqlv_items[i][j][1]
  462.         end
  463.       end
  464.       @eqlv_items[i] = []
  465.       @eqlv_index[i] = 0
  466.     end
  467.     return true
  468.   end
  469.   def equip_get_exp
  470.     case @active_battler.current_action.kind
  471.     when 0
  472.       equip_get_exp_attack
  473.     when 1
  474.       equip_get_exp_skill
  475.     end
  476.   end
  477.   def equip_get_exp_attack
  478.     if @active_battler.current_action.basic == 0
  479.       if @active_battler.is_a?(Game_Actor)  and @active_battler.weapon != nil
  480.         case @active_battler.weapon.skill_type
  481.         when 0,1,3,5
  482.           if @target_battlers[0].damage == "Miss"
  483.             exp = @active_battler.weapon.mis_exp
  484.           elsif @target_battlers[0].guarding?
  485.             exp = @active_battler.weapon.gua_exp
  486.           elsif @target_battlers[0].critical
  487.             exp = @active_battler.weapon.cri_exp
  488.           else
  489.             exp = @active_battler.weapon.hit_exp
  490.           end
  491.           index = @active_battler.index
  492.           weapon = @active_battler.weapon
  493.           @eqlv_items[index][0] = [weapon,exp]
  494.         end
  495.       elsif @active_battler.is_a?(Game_Enemy)
  496.         unless @target_battlers[0].is_a?(Game_Actor)
  497.           return
  498.         end
  499.         for armor in @target_battlers[0].armors
  500.           if armor == nil
  501.             next
  502.           end
  503.           case armor.skill_type
  504.           when 0,1,3,5
  505.             if @target_battlers[0].damage == "Miss"
  506.               exp = armor.mis_exp
  507.             elsif @target_battlers[0].guarding?
  508.               exp = armor.gua_exp
  509.             elsif @target_battlers[0].critical
  510.               exp = armor.cri_exp
  511.             else
  512.               exp = armor.hit_exp
  513.             end
  514.             index = @target_battlers[0].index
  515.             arr = @eqlv_items[index][armor.kind+1]
  516.             @eqlv_items[index][armor.kind+1] = [armor,exp]
  517.           end
  518.         end
  519.       end
  520.     end
  521.   end
  522.   def weapon_get_exp
  523.     if @target_battlers.size == 1
  524.       if @target_battlers[0].damage == "Miss"
  525.         exp = @active_battler.weapon.mis_exp
  526.       elsif @target_battlers[0].guarding?
  527.         exp = @active_battler.weapon.gua_exp
  528.       else
  529.         exp = @active_battler.weapon.hit_exp
  530.       end
  531.     else
  532.       hit_num = 0
  533.       hit = false
  534.       for target in @target_battlers
  535.         if target.guarding? or target.damage == "Miss"
  536.           hit = hit or target.damage != "Miss"
  537.           next
  538.         end
  539.         hit_num += 1
  540.       end
  541.       hit_exp = @active_battler.weapon.hit_exp
  542.       plus = EciDevil::SCOPE_PLUS
  543.       if plus < 0
  544.         exp = hit_exp * hit_num
  545.       elsif hit_num > 0
  546.         exp = hit_exp * (plus+1) ** (hit_num - 1)
  547.       elsif hit
  548.         exp = @active_battler.weapon.gua_exp
  549.       else
  550.         exp = @active_battler.weapon.mis_exp
  551.       end
  552.     end
  553.     index = @active_battler.index
  554.     weapon = @active_battler.weapon
  555.     @eqlv_items[index][0] = [weapon,exp]
  556.   end
  557.   def equip_get_exp_skill
  558.     if @active_battler.is_a?(Game_Actor) and @active_battler.weapon != nil
  559.       if @skill.atk_f == 0
  560.         case @active_battler.weapon.skill_type
  561.         when 1,2,5,6
  562.           weapon_get_exp
  563.         end
  564.       else
  565.         case @active_battler.weapon.skill_type
  566.         when 0,1,4,6
  567.           weapon_get_exp
  568.         end
  569.       end
  570.     end
  571.     if @active_battler.is_a?(Game_Enemy)
  572.       for target in @target_battlers
  573.         if target.is_a?(Game_Actor)
  574.           index = @active_battler.index
  575.           for armor in target.armors
  576.             if @skill.atk_f == 0
  577.               case armor.skill_type
  578.               when 1,2,5,6
  579.                 if @target_battlers[0].damage == "Miss"
  580.                   exp = armor.mis_exp
  581.                 elsif @target_battlers[0].guarding?
  582.                   exp = armor.gua_exp
  583.                 else
  584.                   exp = armor.hit_exp
  585.                 end
  586.                 arr = @eqlv_items[index][armor.kind+1]
  587.                 @eqlv_items[index][armor.kind+1] = [armor,exp]
  588.               end
  589.             else
  590.               case armor.skill_type
  591.               when 0,1,4,6
  592.                 if @target_battlers[0].damage == "Miss"
  593.                   exp = armor.mis_exp
  594.                 elsif @target_battlers[0].guarding?
  595.                   exp = armor.gua_exp
  596.                 else
  597.                   exp = armor.hit_exp
  598.                 end
  599.                 arr = @eqlv_items[index][armor.kind+1]
  600.                 @eqlv_items[index][armor.kind+1] = [armor,exp]
  601.               end
  602.             end
  603.           end
  604.         end
  605.       end
  606.     end
  607.   end
  608. end
  609. class Scene_Shop
  610.   alias update_number_eqlv update_number
  611.   def update_number
  612.     if Input.trigger?(Input::C)
  613.       case @item
  614.       when EciDevil::Game_Weapon
  615.         case @command_window.index
  616.         when 0
  617.           $game_party.gain_weapon_lv(@item)
  618.         when 1
  619.           $game_party.lose_weapon_lv(@item.index,true)
  620.         end
  621.       when EciDevil::Game_Armor
  622.         case @command_window.index
  623.         when 0
  624.           $game_party.gain_armor_lv(@item)
  625.         when 1
  626.           $game_party.lose_armor_lv(@item.index,true)
  627.         end
  628.       end
  629.     end
  630.     update_number_eqlv
  631.   end
  632.   alias update_buy_eqlv update_buy
  633.   def update_buy
  634.     @item = @buy_window.item
  635.     case @item
  636.     when EciDevil::Game_Weapon,EciDevil::Game_Armor
  637.       if Input.trigger?(Input::C)
  638.         if @item == nil or @item.price > $game_party.gold
  639.           $game_system.se_play($data_system.buzzer_se)
  640.           return
  641.         end
  642.         $game_system.se_play($data_system.decision_se)
  643.         @buy_window.active = false
  644.         @buy_window.visible = false
  645.         @number_window.set(@item, 1, @item.price)
  646.         @number_window.active = true
  647.         @number_window.visible = true
  648.         return
  649.       end
  650.     end
  651.     update_buy_eqlv
  652.   end
  653.   alias update_command_eqlv update_command
  654.   def update_command
  655.     if Input.trigger?(Input::B)
  656.       $game_temp.eqlv_list = []
  657.     end
  658.     if Input.trigger?(Input::C) and @command_window.index == 2
  659.       $game_temp.eqlv_list = []
  660.     end
  661.     update_command_eqlv
  662.   end
  663. end
  664. class Window_Eqlv < Window_Base
  665.   attr_reader :ready
  666.   def initialize(actor_index)
  667.     super(0, 320-100, 160, 100)
  668.     if actor_index == nil
  669.       return
  670.     end
  671.     @actor_index = actor_index
  672.     self.x = @actor_index * 160
  673.     self.contents = Bitmap.new(width-32, height - 32)
  674.     self.visible = false
  675.     self.opacity = EciDevil::EQL_WINOP
  676.     @ready = false
  677.   end
  678.   def set(item_exp)
  679.     item = item_exp[0]
  680.     exp = item_exp[1]
  681.     if item == nil or exp == nil
  682.       @item = nil
  683.       return
  684.     end
  685.     if item.exp_next == 0
  686.       @item = nil
  687.       return
  688.     end
  689.     @item = item.clone
  690.     @item.index = 0
  691.     @exp = exp.to_f
  692.     last_exp = @item.exp
  693.     @last_lv = @item.level
  694.     @final_exp = @exp + last_exp
  695.     @ready = true
  696.   end
  697.   def refresh
  698.     self.contents.clear
  699.     if @item == nil
  700.       return
  701.     end
  702.     draw_item
  703.     @item.exp += 0.1
  704.     @exp -= 0.1 unless @exp == 0
  705.     if @exp <= 0
  706.       @item.level = @last_lv
  707.       @item.exp = @final_exp
  708.       draw_item
  709.       @ready = false
  710.     end
  711.   end
  712.   def draw_item
  713.     item = @item
  714.     x = 0
  715.     y = 0
  716.     level = item.level
  717.     rect = Rect.new(x, y, self.width - 32, self.height - 32)
  718.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  719.     bitmap = RPG::Cache.icon(item.icon_name)
  720.     self.contents.font.color = normal_color
  721.     self.contents.blt(x + 48, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  722.     font_size = self.contents.font.size
  723.     self.contents.font.size = 18
  724.     self.contents.draw_text(x, y+24, 128, 32, item.name)
  725.     draw_item_exp(item,x+28,y+56,100,12)
  726.     self.contents.font.size = 12
  727.     self.contents.draw_text(x, y+56, 28, 12, "Lv."+level.to_s)
  728.     self.contents.font.size = font_size
  729.   end
  730. end
复制代码
不常在线,有事PM
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-11-6
帖子
9
4
发表于 2008-11-7 00:21:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

5
发表于 2008-11-7 06:17:56 | 只看该作者
  DF_MIS = {fi=>1,la=>1,wa=>1,th=>1,hu=>1,gu=>1,cl=>1,ma=>1} #击空时经验
  DF_GUA = {fi=>2,la=>2,wa=>2,th=>2,hu=>2,gu=>2,cl=>2,ma=>2} #防御时经验
  DF_HIT = {fi=>3,la=>3,wa=>3,th=>3,hu=>3,gu=>3,cl=>3,ma=>3} #击中时经验
  DF_CRI = {fi=>4,la=>4,wa=>4,th=>4,hu=>4,gu=>4,cl=>4,ma=>4} #必杀时经验


囧。。。。

话说为什么装备等级的窗口那么诡异
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
6
 楼主| 发表于 2008-11-7 19:52:15 | 只看该作者
以下引用塑望于2008-11-6 22:17:56的发言:

DF_MIS = {fi=>1,la=>1,wa=>1,th=>1,hu=>1,gu=>1,cl=>1,ma=>1} #击空时经验
DF_GUA = {fi=>2,la=>2,wa=>2,th=>2,hu=>2,gu=>2,cl=>2,ma=>2} #防御时经验
DF_HIT = {fi=>3,la=>3,wa=>3,th=>3,hu=>3,gu=>3,cl=>3,ma=>3} #击中时经验
DF_CRI = {fi=>4,la=>4,wa=>4,th=>4,hu=>4,gu=>4,cl=>4,ma=>4} #必杀时经验


囧。。。。

话说为什么装备等级的窗口那么诡异

为了一些寻求自虐的游戏制作者而改的(话说我这样不就是自虐吧)
哪里诡异?
以下引用纳兰婉莹于2008-11-6 16:21:47的发言:

谢谢           不会用.偶是笨蛋

下载范例
不常在线,有事PM
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

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

7
发表于 2008-11-8 02:54:47 | 只看该作者
具体用途呢……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
8
 楼主| 发表于 2008-11-8 18:23:12 | 只看该作者
以下引用越前リョーマ于2008-11-7 18:54:47的发言:

具体用途呢……

自虐和虐人
不常在线,有事PM
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-11-28
帖子
18
9
发表于 2008-11-29 07:14:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
10
发表于 2008-11-30 10:46:22 | 只看该作者
发布完毕
http://rpg.blue/web/htm/news1203.htm
vip += 2
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 10:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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