Project1

标题: 商店买卖物品用数字键输入数量 [打印本页]

作者: 875116323    时间: 2014-1-5 22:33
标题: 商店买卖物品用数字键输入数量

想弄一个随身携带的储备金(,,-_-平常时候是用不了的,需要商店兑换成现金……)
然后商店的输入数量就变成了这样……
可以用键盘右边的数字键区输入数量,"-"号可以清除一位数字,鼠标左键+10个右键-10个
除了下面的还需要用全键盘脚本
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Game_Party
  4. #------------------------------------------------------------------------------
  5. #  管理队伍的类。保存有金钱及物品的信息。本类的实例请参考 $game_party 。
  6. #==============================================================================

  7. class Game_Party < Game_Unit
  8.   #--------------------------------------------------------------------------
  9.   # ● 获取持有金钱的最大值
  10.   #--------------------------------------------------------------------------
  11.   def max_gold
  12.     return 999999999999999999
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取物品的最大持有数
  16.   #--------------------------------------------------------------------------
  17.   def max_item_number(item)
  18.     return 999999999999999999
  19.   end
  20. end
  21. #encoding:utf-8
  22. #==============================================================================
  23. # ■ Window_ShopNumber
  24. #------------------------------------------------------------------------------
  25. #  商店画面中,输入“物品买入/卖出数量”的窗口。
  26. #==============================================================================

  27. class Window_ShopNumber < Window_Selectable
  28.   #--------------------------------------------------------------------------
  29.   # ● 获取光标的宽度
  30.   #--------------------------------------------------------------------------
  31.   def cursor_width
  32.     figures * 10 + 120
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 更新数量
  36.   #--------------------------------------------------------------------------
  37.   def update_number
  38.     [url=home.php?mod=space&uid=27178]@Number[/url] *= 10 if Kboard.keyboard($R_Key_NUMPAD0)
  39.     @number *= 10 and @number += 1 if Kboard.keyboard($R_Key_NUMPAD1)
  40.     @number *= 10 and @number += 2 if Kboard.keyboard($R_Key_NUMPAD2)
  41.     @number *= 10 and @number += 3 if Kboard.keyboard($R_Key_NUMPAD3)
  42.     @number *= 10 and @number += 4 if Kboard.keyboard($R_Key_NUMPAD4)
  43.     @number *= 10 and @number += 5 if Kboard.keyboard($R_Key_NUMPAD5)
  44.     @number *= 10 and @number += 6 if Kboard.keyboard($R_Key_NUMPAD6)
  45.     @number *= 10 and @number += 7 if Kboard.keyboard($R_Key_NUMPAD7)
  46.     @number *= 10 and @number += 8 if Kboard.keyboard($R_Key_NUMPAD8)
  47.     @number *= 10 and @number += 9 if Kboard.keyboard($R_Key_NUMPAD9)
  48.     @number /= 10 if Kboard.keyboard($R_Key_SUBTRACT)
  49.     @number /= 10 if Kboard.keyboard($R_Key_BACK)
  50.     @number += 10 if Kboard.keyboard($Rmouse_BUTTON_L)
  51.     @number -= 10 if Kboard.keyboard($Rmouse_BUTTON_R)
  52.     change_number(0)
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● 更改数量
  56.   #--------------------------------------------------------------------------
  57.   def change_number(amount)
  58.     @number = [[@number + amount, @max].min, 0].max
  59.   end
  60. end
复制代码
附件:(删了System文件夹)
商店输入.rar (301.85 KB, 下载次数: 112)
作者: fux2    时间: 2014-1-6 13:06
输入的这个临时@number如果用Fixnum的话感觉隐患很大,String就保险多了吧.




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