Project1

标题: 有没有 让物品代替货币的 第2种货币 [打印本页]

作者: z2z4    时间: 2012-8-4 14:58
标题: 有没有 让物品代替货币的 第2种货币
上次 那个人 发的 第2货币 不好  只有 战胜怪物后 才能得到 第2货币  我想要用物品代替的 第2货币
作者: Password    时间: 2012-8-4 16:18
设置成物品,怪物随机掉落,交易设置选择项,可以用这种东西换装备或者道具。
可以1个换多个道具或者多个换1个装备
也可以设置此物品价格来卖达到换钱。(互换还要想办法……)
作者: Cephei    时间: 2012-8-5 20:47
  1.   def make_item_list
  2.     @data = []
  3.     @price = {}
  4.     @shop_goods.each do |goods|
  5.       case goods[0]
  6.       when 0;  item = $data_items[goods[1]]
  7.       when 1;  item = $data_weapons[goods[1]]
  8.       when 2;  item = $data_armors[goods[1]]
  9.       end
  10.       if item
  11.         @data.push(item)
  12.         @price[item] = goods[2] == 0 ? item.price : goods[3]
  13.       end
  14.     end
  15.     aitem = []
  16.     rec = 0
  17.     @price.each do |mprice|
  18.       for j in 0..$data_items.size-1
  19.         temp=$data_items[j]
  20.         if temp
  21.           if mprice.include?(temp)
  22.             nprice = @price[temp]
  23.           end
  24.           if nprice == temp.price
  25.             aitem[rec] = temp
  26.             print("#{temp.name}\n")
  27.             rec+=1
  28.           end
  29.         end
  30.       end
  31.     end
  32.   end
复制代码
在Window_ShopBuy类里替换这个方法,可以获得和购买列表里等价的物品,剩下的楼主应该会了吧
作者: Cephei    时间: 2012-8-6 09:08
我快写好了,楼主稍等
作者: Cephei    时间: 2012-8-6 11:10
  1. #--------------------------------------------------------------------------
  2.   # ● 执行买入
  3.   #--------------------------------------------------------------------------
  4.   def do_buy(number,mode)
  5.     if mode == 1
  6.       $game_party.lose_gold(number * buying_price)
  7.       $game_party.gain_item(@item, number)
  8.       print("使用模式1花费#{number * buying_price}元,得到#{number}个#{@item.name}\n")
  9.     end
  10.     if mode == 2
  11.       rec = 0
  12.       titem = []
  13.       for j in 0..$data_items.size-1
  14.         temp=$data_items[j]
  15.         if temp
  16.           if $game_party.items.include?(temp)
  17.             titem.push(temp)
  18.           end
  19.         end
  20.       end
  21.       rec= 0
  22.       titem.each do |nitem|
  23.         if (nitem.id != @item.id)
  24.           if(nitem.price >= @item.price)
  25.             @nnum = $game_party.item_number(nitem)
  26.             $game_party.lose_item(nitem,@nnum)
  27.             $game_party.gain_item(@item,@nnum)
  28.             print("使用模式2失去#{@nnum}个#{nitem.name},得到#{@nnum}个#{@item.name}\n")
  29.             if (@nnum == number)
  30.               rec = @nnum
  31.               break;
  32.             else
  33.               rec += @nnum
  34.               number = number - @nnum
  35.               @nnum = 0
  36.             end
  37.           end
  38.         end
  39.       end
  40.       if (number > 0)
  41.         print("尊敬的勇者您的物品不足,只可以换取#{rec}个#{@item.name}\n")
  42.       end
  43.     end
  44.   end
复制代码
添加在Scene_Shop里替换对应函数
实例下载




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