Project1

标题: 求一个仿网游商店系统 [打印本页]

作者: 你姥姥    时间: 2015-2-23 23:03
标题: 求一个仿网游商店系统
简单来说就是仿网游的商店,,,,,,,,,因为本人是脚本白痴一个,,,,,,所以吗,。。。。。其实就是把商店的位置美化了一下。。。。。而已吧,,
作者: 布冷.逆天    时间: 2015-2-24 09:20
  1. #==============================================================================
  2. # ■ Window_ShopStatus
  3. #------------------------------------------------------------------------------
  4. #  商店画面、显示物品所持数与角色装备的窗口。
  5. #==============================================================================
  6. class Window_ShopStatus < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(368, 128, 272, 352)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.contents.font.size = 16
  14.     @item = nil
  15.     refresh
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 刷新
  19.   #--------------------------------------------------------------------------
  20.   def refresh
  21.     self.contents.clear
  22.     if @item == nil
  23.       return
  24.     end
  25.     case @item
  26.     when RPG::Item
  27.       number = $game_party.item_number(@item.id)
  28.     when RPG::Weapon
  29.       number = $game_party.weapon_number(@item.id)
  30.     when RPG::Armor
  31.       number = $game_party.armor_number(@item.id)
  32.     end
  33.     self.contents.font.color = system_color
  34.     self.contents.draw_text(4, 0, 200, 32, "所持数")
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
  37.     if @item.is_a?(RPG::Item)
  38.       return
  39.     end
  40.     # 添加装备品信息
  41.     for i in 0...$game_party.actors.size
  42.       # 获取角色
  43.       actor = $game_party.actors[i]
  44.       # 可以装备为普通文字颜色、不能装备设置为无效文字颜色
  45.       if actor.equippable?(@item)
  46.         self.contents.font.color = normal_color
  47.       else
  48.         self.contents.font.color = disabled_color
  49.       end
  50.       # 描绘角色名字
  51.       j = 70
  52.       self.contents.draw_text(0, 32 + j * i, 120, 32, actor.name)
  53.       # 获取当前的装备品
  54.       if @item.is_a?(RPG::Weapon)
  55.         item1 = $data_weapons[actor.weapon_id]
  56.       elsif @item.kind == 0
  57.         item1 = $data_armors[actor.armor1_id]
  58.       elsif @item.kind == 1
  59.         item1 = $data_armors[actor.armor2_id]
  60.       elsif @item.kind == 2
  61.         item1 = $data_armors[actor.armor3_id]
  62.       else
  63.         item1 = $data_armors[actor.armor4_id]
  64.       end
  65.       # 可以装备的情况
  66.       #if actor.equippable?(@item)
  67.         # 武器的情况
  68.         i += 1
  69.         if @item.is_a?(RPG::Weapon)
  70.          
  71.          
  72.          
  73.           atk1 = item1 != nil ? item1.atk : 0
  74.           atk2 = @item != nil ? @item.atk : 0
  75.          
  76.           pdef1 = item1 != nil ? item1.pdef : 0
  77.           pdef2 = @item != nil ? @item.pdef : 0
  78.          
  79.           str1 = item1 != nil ? item1.str_plus : 0
  80.           str2 = @item != nil ? @item.str_plus : 0
  81.          
  82.           dex1 = item1 != nil ? item1.dex_plus : 0
  83.           dex2 = @item != nil ? @item.dex_plus : 0
  84.          
  85.           agi1 = item1 != nil ? item1.agi_plus : 0
  86.           agi2 = @item != nil ? @item.agi_plus : 0
  87.          
  88.           int1 = item1 != nil ? item1.int_plus : 0
  89.           int2 = @item != nil ? @item.int_plus : 0
  90.          
  91.          
  92.           @atk = atk2 - atk1
  93.           @str = str2 - str1
  94.           @dex = dex2 - dex1
  95.           @agi = agi2 - agi1
  96.           @int = int2 - int1
  97.           @pdef = pdef2 - pdef1
  98.          
  99.          
  100.          
  101.          
  102.          
  103.          
  104.          
  105.         x = -16
  106.         self.contents.draw_text(80*0,        x+j * i, 112, 32,"攻击",0)
  107.         self.contents.draw_text(80*1,        x+j * i, 112, 32,"力量",0)
  108.         self.contents.draw_text(80*2,        x+j * i, 112, 32,"速度",0)
  109.         self.contents.draw_text(80*0,        x+j * i+16, 112, 32,"敏捷",0)
  110.         self.contents.draw_text(80*1,        x+j * i+16, 112, 32,"魔力",0)
  111.         self.contents.draw_text(80*2,        x+j * i+16, 112, 32,"防御",0)
  112.         
  113.         #---------------------------------------------------------------------
  114.         q=40-10
  115.         if atk2 >= atk1
  116.         self.contents.font.color = Color.new(159,251,162,255)
  117.         self.contents.draw_text(80*0+q,      x+j * i, 112, 32,"↑",0)
  118.         else
  119.         self.contents.font.color = Color.new(255,0,0,255)
  120.         self.contents.draw_text(80*0+q,       x+j * i, 112, 32,"↓",0)
  121.         end
  122.         #---------------------------------------------------------------------
  123.         if str2 >= str1
  124.         self.contents.font.color = Color.new(159,251,162,255)
  125.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↑",0)
  126.         else
  127.         self.contents.font.color = Color.new(255,0,0,255)
  128.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↓",0)
  129.         end
  130.         #---------------------------------------------------------------------
  131.         if dex2 >= dex1
  132.         self.contents.font.color = Color.new(159,251,162,255)
  133.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↑",0)
  134.         else
  135.         self.contents.font.color = Color.new(255,0,0,255)
  136.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↓",0)
  137.         end
  138.       
  139.         #---------------------------------------------------------------------
  140.         if agi2 >= agi1
  141.         self.contents.font.color = Color.new(159,251,162,255)
  142.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↑",0)
  143.         else
  144.         self.contents.font.color = Color.new(255,0,0,255)
  145.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↓",0)
  146.         end
  147.         #---------------------------------------------------------------------
  148.         if int2 >= int1
  149.         self.contents.font.color = Color.new(159,251,162,255)
  150.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↑",0)
  151.         else
  152.         self.contents.font.color = Color.new(255,0,0,255)
  153.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↓",0)
  154.         end
  155.         #---------------------------------------------------------------------
  156.         if pdef2 >= pdef1
  157.         self.contents.font.color = Color.new(159,251,162,255)
  158.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↑",0)
  159.         else
  160.         self.contents.font.color = Color.new(255,0,0,255)
  161.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↓",0)
  162.         end

  163.         
  164.         
  165.         
  166.         
  167.         
  168.         
  169.         #---------------------------------------------------------------------
  170.         self.contents.font.color = Color.new(159,251,162,255)
  171.         q=50
  172.         self.contents.draw_text(80*0+q,    x+j * i, 112, 32,@atk.abs.to_s,0)
  173.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,@str.abs.to_s,0)
  174.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,@dex.abs.to_s,0)
  175.         
  176.         #---------------------------------------------------------------------
  177.         self.contents.draw_text(80*0+q,     x+j * i+16, 112, 32,@agi.abs.to_s,0)
  178.         self.contents.draw_text(80*1+q,     x+j * i+16, 112, 32,@int.abs.to_s,0)
  179.         self.contents.draw_text(80*2+q,     x+j * i+16, 112, 32,@pdef.abs.to_s,0)
  180.          
  181.          
  182.          
  183.          
  184.          
  185.          
  186.          
  187.          
  188.          
  189.          
  190.          
  191.          
  192.          
  193.         end
  194.         # 防具的情况
  195.         if @item.is_a?(RPG::Armor)

  196.          
  197.          
  198.           str1 = item1 != nil ? item1.str_plus : 0
  199.           str2 = @item != nil ? @item.str_plus : 0
  200.           dex1 = item1 != nil ? item1.dex_plus : 0
  201.           dex2 = @item != nil ? @item.dex_plus : 0

  202.          
  203.           agi1 = item1 != nil ? item1.agi_plus : 0
  204.           agi2 = @item != nil ? @item.agi_plus : 0
  205.           int1 = item1 != nil ? item1.int_plus : 0
  206.           int2 = @item != nil ? @item.int_plus : 0
  207.          
  208.          
  209.          
  210.           pdef1 = item1 != nil ? item1.pdef : 0
  211.           pdef2 = @item != nil ? @item.pdef : 0
  212.           mdef1 = item1 != nil ? item1.mdef : 0
  213.           mdef2 = @item != nil ? @item.mdef : 0
  214.          
  215.          
  216.           @str  = str2 - str1
  217.           @dex  = dex2 - dex1
  218.           @agi  = agi2 - agi1
  219.           @int  = int2 - int1
  220.           @pdef = pdef2 - pdef1
  221.           @mdef = mdef2 - mdef1
  222.         x=-16  
  223.         self.contents.draw_text(80*0,        x+j * i, 112, 32,"力量",0)
  224.         self.contents.draw_text(80*1,        x+j * i, 112, 32,"速度",0)
  225.         self.contents.draw_text(80*2,        x+j * i, 112, 32,"敏捷",0)
  226.         self.contents.draw_text(80*0,        x+j * i+16, 112, 32,"魔力",0)
  227.         self.contents.draw_text(80*1,        x+j * i+16, 112, 32,"防御",0)
  228.         self.contents.draw_text(80*2,        x+j * i+16, 112, 32,"魔御",0)
  229.         
  230.         #---------------------------------------------------------------------
  231.         q=30
  232.         if str2 >= str1
  233.         self.contents.font.color = Color.new(159,251,162,255)
  234.         self.contents.draw_text(80*0+q,       x+j * i, 112, 32,"↑",0)
  235.         else
  236.         self.contents.font.color = Color.new(255,0,0,255)
  237.         self.contents.draw_text(80*0+q,       x+j * i, 112, 32,"↓",0)
  238.         end
  239.         #---------------------------------------------------------------------
  240.         if dex2 >= dex1
  241.         self.contents.font.color = Color.new(159,251,162,255)
  242.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↑",0)
  243.         else
  244.         self.contents.font.color = Color.new(255,0,0,255)
  245.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↓",0)
  246.         end
  247.         #---------------------------------------------------------------------
  248.         if agi2 >= agi1
  249.         self.contents.font.color = Color.new(159,251,162,255)
  250.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↑",0)
  251.         else
  252.         self.contents.font.color = Color.new(255,0,0,255)
  253.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↓",0)
  254.         end
  255.       
  256.         #---------------------------------------------------------------------
  257.         if int2 >= int1
  258.         self.contents.font.color = Color.new(159,251,162,255)
  259.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↑",0)
  260.         else
  261.         self.contents.font.color = Color.new(255,0,0,255)
  262.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↓",0)
  263.         end
  264.         #---------------------------------------------------------------------
  265.         q=40-10
  266.         if pdef2 >= pdef1
  267.         self.contents.font.color = Color.new(159,251,162,255)
  268.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↑",0)
  269.         else
  270.         self.contents.font.color = Color.new(255,0,0,255)
  271.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↓",0)
  272.         end
  273.         #---------------------------------------------------------------------
  274.         if mdef2 >= mdef1
  275.         self.contents.font.color = Color.new(159,251,162,255)
  276.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↑",0)
  277.         else
  278.         self.contents.font.color = Color.new(255,0,0,255)
  279.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↓",0)
  280.         end
  281.         
  282.         
  283.         #---------------------------------------------------------------------
  284.         self.contents.font.color = Color.new(159,251,162,255)
  285.         q=50
  286.         self.contents.draw_text(80*0+q,     x+j * i, 112, 32,@str.abs.to_s,0)
  287.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,@dex.abs.to_s,0)
  288.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,@agi.abs.to_s,0)
  289.         
  290.         #---------------------------------------------------------------------
  291.         self.contents.draw_text(80*0+q,     x+j * i+16, 112, 32,@int.abs.to_s,0)
  292.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,@pdef.abs.to_s,0)
  293.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,@mdef.abs.to_s,0)
  294.         end
  295.         end
  296.         
  297.         
  298.         
  299.         
  300.       self.contents.font.color = normal_color
  301.       i -= 1
  302.       #self.contents.font.size = 22
  303.       # 描绘物品
  304.       if item1 != nil
  305.         x = 4
  306.         y = 64 + 64 * i + 32
  307.         #bitmap = RPG::Cache.icon(item1.icon_name)
  308.         #opacity = self.contents.font.color == normal_color ? 255 : 128
  309.         #self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  310.         #self.contents.draw_text(x + 28, y, 212, 32, item1.name)
  311.       end
  312.     end
  313.   #end
  314.   #--------------------------------------------------------------------------
  315.   # ● 设置物品
  316.   #     item : 新的物品
  317.   #--------------------------------------------------------------------------
  318.   def item=(item)
  319.     if @item != item
  320.       @item = item
  321.       refresh
  322.     end
  323.   end
  324. end
复制代码
效果我不清楚,因为我不喜欢用这种的!
作者: 你姥姥    时间: 2015-2-24 10:22
貌似不错




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