Project1

标题: 金银铜化的脚本使用了了不是原来效果,请教该如何修改? [打印本页]

作者: yuziming    时间: 2014-7-25 21:49
标题: 金银铜化的脚本使用了了不是原来效果,请教该如何修改?
金银铜化的脚本是这里的https://rpg.blue/forum.php?mod=v ... D368%26typeid%3D368
他说的是横版专用,但我不是横版,上面说的修改,不知如何修改,请大大们帮帮忙!
作者: VIPArcher    时间: 2014-7-25 22:39
本帖最后由 VIPArcher 于 2014-7-25 23:39 编辑

图标设定在原脚本74行附近,这里24行附近
  1. #--------------------------------------------------------------------------
  2. # ● 菜单界面定义金币显示窗口
  3. #--------------------------------------------------------------------------
  4. class Window_Gold < Window_Base

  5.   #--------------------------------------------------------------------------
  6.   # ● 重新定义金币窗口的宽度
  7.   #--------------------------------------------------------------------------
  8.   def window_width
  9.     return Graphics.width
  10.   end

  11.   #--------------------------------------------------------------------------
  12.   # ● 刷新,菜单界面金银铜模式主体
  13.   #--------------------------------------------------------------------------
  14.   def refresh
  15.     contents.clear
  16.     #开始金银铜模式
  17.     if value > 9999     #持有钱币是否达到金币级
  18.       values = value/100    #计算中间变量
  19.       draw_currency_value(value % 100, "" , 4, 0, contents.width - 18)    #绘制铜币数量
  20.       draw_currency_value(values % 100, "" , 4, 0, contents.width - 58)   #绘制银币数量
  21.       draw_currency_value(values/100, "" , 4, 0, contents.width - 98)     #绘制金币数量
  22.       draw_icon(142, contents.width - 20, 0,)   #绘制铜币图标(142为铜币图标ID)
  23.       draw_icon(141, contents.width - 60, 0,)   #绘制银币图标(141为银币图标ID)
  24.       draw_icon(140, contents.width - 100, 0,)  #绘制金币图标(140为金币图标ID)
  25.     elsif value > 99    #持有钱币是否达到银币级
  26.       draw_currency_value(value % 100, "", 4, 0, contents.width - 18)   #绘制铜币数量
  27.       draw_currency_value(value/100, "", 4, 0, contents.width - 58)     #绘制银币数量
  28.       draw_icon(142, contents.width - 20, 0,)   #绘制铜币图标
  29.       draw_icon(141, contents.width - 60, 0,)   #绘制银币图标
  30.     else
  31.       draw_currency_value(value, "", 4, 0, contents.width - 18)   #绘制铜币数量
  32.       draw_icon(142, contents.width - 20, 0,)   #绘制铜币图标
  33.     end
  34.     #结束金银铜模式

  35.     #开始物品货币区
  36.     #格式如下
  37.     #draw_currency_value(自定义变量名, "" , 4, 0, contents.width - 423)
  38.     #draw_icon(图标ID, contents.width - 425, 0,)
  39.     #第一种
  40.       draw_currency_value(value1, "" , 4, 0, contents.width - 423)  #绘制特殊货币一的数量
  41.       draw_icon(138, contents.width - 425, 0,)  #绘制特殊货币一的图标
  42.     #第二种
  43.       draw_currency_value(value2, "" , 4, 0, contents.width - 323)  #绘制特殊货币二的数量
  44.       draw_icon(139, contents.width - 325, 0,)  #绘制特殊货币二的图标
  45.     #结束物品货币区

  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 定义特殊货币(物品货币)
  49.   # 格式如下
  50.   # def 自定义变量名   
  51.   #   $game_party.item_number($data_items[物品ID])  
  52.   # end
  53.   #--------------------------------------------------------------------------
  54.   #第一种
  55.   def value1   
  56.     $game_party.item_number($data_items[83])  
  57.   end
  58.   #第二种
  59.   def value2   
  60.     $game_party.item_number($data_items[84])  
  61.   end
  62. end
复制代码
你就不能好好看一下脚本再用吗?真是的
作者: yuziming    时间: 2014-7-25 23:17
VIPArcher 发表于 2014-7-25 22:39
图标设定在74行附近你就不能好好看一下脚本再用吗?真是的

请问怎么让这个金币显示在左边和菜单对齐的对话框中啊?
作者: yuziming    时间: 2014-7-25 23:39
yuziming 发表于 2014-7-25 23:17
请问怎么让这个金币显示在左边和菜单对齐的对话框中啊?

真不是啊,是在右下角的,我试过的
作者: yuziming    时间: 2014-7-25 23:41
VIPArcher 发表于 2014-7-25 22:39
图标设定在原脚本74行附近,这里24行附近你就不能好好看一下脚本再用吗?真是的 ...

这确实在右下角的,我试过的
作者: yuziming    时间: 2014-7-25 23:46
yuziming 发表于 2014-7-25 23:39
真不是啊,是在右下角的,我试过的

这图片需要地址啊,没法传啊
作者: VIPArcher    时间: 2014-7-25 23:49
本帖最后由 VIPArcher 于 2014-7-26 01:02 编辑
yuziming 发表于 2014-7-25 23:41
这确实在右下角的,我试过的


如果你只是需要进制型的货币显示,丢给你这个脚本慢慢看


  1. # ■ 伪·多货币系统Ver 1.0 - By 柍若
  2. #-------------------------------------------------------------
  3. class Window_Base < Window

  4. # 请在此处设置参数
  5.   
  6. UNIT_NUMBER = 3           # 货币数目
  7.   UNIT_RATE = 100           # 单位进制
  8.   UNIT_ICON = ["铜","银","金"] # 货币图标(单位从小到大)
  9.   
  10.   # 要突破物品最大价格,在备注里写"<价格 n>" 不能省去空格
  11.   # 突破敌人最大掉落金钱,在备注里写"<金钱 n>" 不能省去空格
  12.   
  13.   # 事件获取金钱直接用变量就可以了。
  14.   # 好像持有的金钱最大是八位数。

  15.   def draw_currency_value(value, unit = "这个值没什么必要,保留是为了兼容原系统", x, y, width)
  16.     a = unit_conversion(value,UNIT_RATE,UNIT_NUMBER)
  17.     cx = [20,48]
  18.     change_color(normal_color)
  19.     for i in 0..UNIT_NUMBER-1
  20.       k = 24 if i == UNIT_NUMBER-1
  21.       draw_text(x-k.to_i, y, width-cx[0]-cx[1]*i+k.to_i, line_height, a[i].to_s, 2)
  22.       draw_text(x-k.to_i+24, y, width-cx[0]-cx[1]*i+k.to_i, line_height, UNIT_ICON[i], 2)
  23. #~       draw_icon(UNIT_ICON[i].to_i,x+width-cx[0]-cx[1]*i-2,y)
  24.     end
  25.   end
  26.   def unit_conversion(number, unit, unit_number)
  27.     times = 1
  28.     unit_number -= 1
  29.     b = []
  30.     d = []
  31.     for i in 0..unit_number
  32.       if i != unit_number
  33.         b[i] = number/times % unit
  34.       else
  35.         b[i] = number/times
  36.       end
  37.       times *= unit
  38.     end
  39.     return b
  40.   end
  41. end  
  42. class RPG::BaseItem
  43.   def price
  44.     if @note.split(/<价格 /)[1]
  45.       a = @note.split(/<价格 /)[1]
  46.       a = a.split(/>/)[0]
  47.       return a.to_i
  48.     else
  49.       return @price
  50.     end
  51.   end
  52. end
  53. class RPG::EquipItem < RPG::BaseItem
  54.   def price
  55.     if @note.split(/<价格 /)[1]
  56.       a = @note.split(/<价格 /)[1]
  57.       a = a.split(/>/)[0]
  58.       return a.to_i
  59.     else
  60.       return @price
  61.     end
  62.   end
  63. end
  64. class RPG::Enemy
  65.   def gold
  66.     if @note.split(/<金钱 /)[1]
  67.       a = @note.split(/<金钱 /)[1]
  68.       a = a.split(/>/)[0]
  69.       return a.to_i
  70.     else
  71.       return @gold
  72.     end
  73.   end
  74. end
  75. class Window_ShopBuy < Window_Selectable
  76.   def draw_item(index)
  77.     item = @data[index]
  78.     rect = item_rect(index)
  79.     draw_item_name(item, rect.x, rect.y, enable?(item))
  80.     rect.width -= 4
  81.     change_color(system_color)
  82.     draw_text(rect.x,rect.y,rect.width,rect.height, "#{Vocab::Possession} ",2)
  83.     change_color(normal_color)
  84.     draw_text(rect.x,rect.y,rect.width,rect.height, $game_party.item_number(item).to_s, 2)
  85.   end
  86. end  
  87. class Window_Gold < Window_Base
  88.   def window_width
  89.     return 160#52+48*UNIT_NUMBER
  90.   end
  91. end
  92. class Window_ShopStatus < Window_Base
  93.   def draw_possession(x, y)
  94.   end
  95. end
复制代码

作者: yuziming    时间: 2014-7-25 23:53
VIPArcher 发表于 2014-7-25 23:49
如果你只是需要进制型的货币显示,丢给你这个脚本慢慢看

多谢,万分感激
作者: yuziming    时间: 2014-7-25 23:55
VIPArcher 发表于 2014-7-25 23:49
如果你只是需要进制型的货币显示,丢给你这个脚本慢慢看

冒昧的问一句,金银铜的图片哪里能找到吗?
作者: yuziming    时间: 2014-7-26 00:09
多谢好心的大大帮忙,再次感谢!
作者: yuziming    时间: 2014-7-26 00:26
VIPArcher 发表于 2014-7-25 23:49
如果你只是需要进制型的货币显示,丢给你这个脚本慢慢看

请问这个怎么修改成显示成“金,银,铜”而不是显示图片啊?
作者: VIPArcher    时间: 2014-7-26 00:31
yuziming 发表于 2014-7-26 00:26
请问这个怎么修改成显示成“金,银,铜”而不是显示图片啊?

把脚本内的绘制图标的语句例如这个
  1. draw_icon(142, contents.width - 20, 0,)
复制代码
全部换成绘制文字如这个
  1. draw_text(contents.width - 20, 0, 32, line_height, "金")
复制代码
我想聪明的你一定懂得该怎么做了,对吧。喵~
作者: yuziming    时间: 2014-7-26 00:41
VIPArcher 发表于 2014-7-26 00:31
把脚本内的绘制图标的语句例如这个全部换成绘制文字如这个我想聪明的你一定懂得该怎么做了,对吧。喵~ ...

多谢大师!
作者: yuziming    时间: 2014-7-26 00:44
VIPArcher 发表于 2014-7-26 00:31
把脚本内的绘制图标的语句例如这个全部换成绘制文字如这个我想聪明的你一定懂得该怎么做了,对吧。喵~ ...

额,话说,你给我的脚本中貌似没这语句啊!
作者: yuziming    时间: 2014-7-26 00:50
VIPArcher 发表于 2014-7-26 00:31
把脚本内的绘制图标的语句例如这个全部换成绘制文字如这个我想聪明的你一定懂得该怎么做了,对吧。喵~ ...

额,这句略复杂,还是不懂怎么改(请原谅我的笨)
作者: yuziming    时间: 2014-7-26 01:08
VIPArcher 发表于 2014-7-26 00:31
把脚本内的绘制图标的语句例如这个全部换成绘制文字如这个我想聪明的你一定懂得该怎么做了,对吧。喵~ ...

太感谢了,大师君,好人啊。。。。。。。。




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