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

Project1

 找回密码
 注册会员
搜索
123
返回列表 发新帖
楼主: slick
打印 上一主题 下一主题

单人负重系统V1.20(2008-8-31 19楼更新 增加新功能)

 关闭 [复制链接]

Lv3.寻梦者

梦石
3
星屑
50
在线时间
177 小时
注册时间
2008-3-21
帖子
939
21
 楼主| 发表于 2009-4-16 04:24:56 | 只看该作者
以下引用小心于2009-4-14 23:06:46的发言:

我有几个问题想请问楼主:
  一 我设置了一个【只能开一次的宝箱】,当队伍的【负重超限时】,结果什么也没拿到!
请问怎样判断队伍负重超限时,【物品拿不到但也不会消失】。
  第二个是【重要的事件物品不能丢弃】,默认的是可以丢的,(我用的版本)
如果把打魔王的光球丢了
  还有一个,新的系统能用事件的【条件分歧】判断物品在持有中吗?
   楼主加油哦!这系统是我游戏必备的捏!


回小心:

把这个ID数组粘在程序的最前面,它规定了哪些物品是不能丢掉的

$不能丢弃的物品 = [24,27,29,30,34,36,37,38,75,77,194,226,227,234,230,240,241,242,243,385,387,418,419]


然后,把这个粘入class Game_Party类模块的最下方试试!
#--------------------------------------------------------------------------
  # ● 增加物品
  #     item_id : 物品 ID
  #     n       : 个数
  #--------------------------------------------------------------------------
  def gain_item(item_id, n)
    # 更新 hash 的个数数据
    if n < 0
      lose_item(item_id, -n)
      return
    end  
    if item_id > 0
      # 如果是“不允许丢弃的物品”,就强制加在领队身上。不管是否超重。
      if $不能丢弃的物品.include?(item_id)
        $game_party.actors[0].gain_item(item_id, n)
        return
      end
      wwwt = $data_items[item_id].weight
      straight = 0 #从领队开始依次拿取物品,当领队载重量不够时转至下一个队员获取
      for iii in 0...n #检查物品n次
        leftwt = $game_party.actors[straight].indi_capacity - $game_party.actors[straight].total_weight
        while leftwt < wwwt
          straight += 1
          if straight>=$game_party.actors.size
            return
          end  
          leftwt = $game_party.actors[straight].indi_capacity - $game_party.actors[straight].total_weight
        end
        $game_party.actors[straight].gain_item(item_id, 1)
      end
    end
  end

另外,事件的“条件分歧”是可以判定物品持有数的。

Search for this sentence:
if @dowi_window.index==1

Then, Put the new program below
  to an proper place!


  1. if @dowi_window.index==1
  2.           if $game_party.actors.size<2
  3.             $game_system.se_play($data_system.buzzer_se)
  4.             return
  5.           end  
  6.           $正在交付物品=1
  7.           $正在丢弃物品=0
  8.           @dowi_window.active=false
  9.           @dowi_window.visible=false
  10.           @give_window.dispose
  11.           @give_window=Window_Give.new(@actor)
  12.           @give_window.active=true
  13.           @give_window.visible=true
  14.         else
  15.           @item = @item_window.item
  16.           if $不能丢弃的物品.include?(@item.id)
  17.             $game_system.se_play($data_system.buzzer_se)
  18.             return
  19.           end
  20.           $正在交付物品=0
  21.           $正在丢弃物品=1
  22.           @dowi_window.active=false
  23.           @dowi_window.visible=false         
  24.           @num_window.dispose
  25.           @num_window = Window_GiveNum.new(@actor, @item)
  26.           @num_window.active=true
  27.           @num_window.visible=true
  28.         end  
  29.         $game_system.se_play($data_system.decision_se)
  30.         return
  31.       end  
复制代码
我的个人空间:
http://434986751.qzone.qq.com
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
515
在线时间
0 小时
注册时间
2009-4-15
帖子
3
22
发表于 2009-4-18 04:47:16 | 只看该作者
楼主谢了!{/wx}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2007-5-22
帖子
67
23
发表于 2009-4-20 05:36:58 | 只看该作者
话说楼主可以再整合一个物品仓库,这样的话就用图会跟大,脚本的伸缩性也加强了!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2007-5-22
帖子
67
24
发表于 2009-4-20 06:04:46 | 只看该作者
发现一个bug,如果角色包包里没物品的话,选择丢弃会出错
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 18:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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