Project1

标题: 物品记忆的功能实现 [打印本页]

作者: Magic    时间: 2008-7-9 02:36
标题: 物品记忆的功能实现
就是当一个人在你的队伍里的时候有一些物品,这个人离开队伍,另一个人加入后物品消失,这个人再次加入队伍后物品又回来


有什么办法实现这种功能?? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: RXVincent    时间: 2008-7-9 02:40
好像有一个世界脚本,应该可以满足LZ的需求
作者: 3535    时间: 2008-7-9 03:19
http://zenith.ifdef.jp/rgss/rgss13.html

[所持品の記憶]
$game_party.belongings_memorize
  →所持品を記憶する。
$game_party.belongings_restore
  →記憶した所持品を復帰する。
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: dbshy    时间: 2008-7-9 03:30
module RPG
  class Item
    def name
      name = @name.split(/,/)[0]
      return name != nil ? name : ''
    end
    def actor_id
      actor_id  = @name.split(/,/)[1]
      return actor_id  != nil ? actor_id.to_i : -1
    end
  end
end

Window_Item draw_item
    if item.actor_id >= 0 then
    for actor in $game_party.actors
     if actor.id == item.actor_id and actor.item_id.include?(item.id)then
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
    else
     ..........................

class Game_Battler
  attr_accessor :item_id
def initialize
    @item_id = []
end
end

另外Scene_Item中减少也要改
作者: Magic    时间: 2008-7-9 05:14
以下引用3535于2008-7-8 19:19:33的发言:

http://zenith.ifdef.jp/rgss/rgss13.html

[所持品の記憶]
$game_party.belongings_memorize
  →所持品を記憶する。
$game_party.belongings_restore
  →記憶した所持品を復帰する。


[本贴由作者于 2008-7-8 19:19:52 最后编辑]


不过貌似看不太懂怎么使用





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