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

Project1

 找回密码
 注册会员
搜索
查看: 2661|回复: 4
打印 上一主题 下一主题

[已经解决] 公用备注

[复制链接]

Lv1.梦旅人

梦石
0
星屑
89
在线时间
900 小时
注册时间
2012-11-13
帖子
893
跳转到指定楼层
1
发表于 2014-12-22 17:47:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
就是备注一个备注相当于备注几个备注的效果
(不然要写傻掉
废弃

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2207
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-12-22 17:55:50 | 只看该作者
在合适的时机(比如载入数据库时)分析备注,把公用备注替换成“几个备注”。

做得更绝一点的话,可以在合适的时机 eval 一段备注的内容。而“公用备注”的API可以定义在 RPG::BaseItem 里面。这个没节操的方法可以参考ITBS。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
269 小时
注册时间
2014-5-9
帖子
127

开拓者

3
发表于 2014-12-22 19:15:46 | 只看该作者
如果你是希望使用某个读取备注的脚本才想要做多备注的话,我还是建议你直接修改脚本本身比较方便
泉眼无声惜细流,树阴照水爱晴柔。
小荷才露尖尖角,早有蜻蜓立上头。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
4
发表于 2014-12-23 09:33:24 | 只看该作者
本帖最后由 企鹅达达 于 2014-12-23 09:46 编辑


我自用随便写的,你还要其他啥效果的话就自己改

  1. module BASE_PGNOTE
  2.    
  3.     BASE_CLASS_ID = 1     # 公用备注所在id,填0则无视
  4.     NO_BASE_CLASS_ID = [] # 不使用公用备注的id
  5.     EDD_CLASSFE = false   # 是否将“特征”也列入公用设置。慎填!!!
  6.    
  7.     BASE_ACTOR_ID = 5
  8.     NO_BASE_ACTOR_ID = []
  9.    
  10.     BASE_ITEM_ID = 1
  11.     NO_BASE_ITEM_ID = [2]
  12.    
  13.     BASE_WEAPON_ID = 0
  14.     NO_BASE_WEAPON_ID = []
  15.    
  16.     BASE_ARMOR_ID = 1
  17.     NO_BASE_ARMOR_ID = []
  18.    
  19.     BASE_EMENY_ID = 1
  20.     NO_BASE_EMENY_ID = []
  21.    
  22.     BASE_MAP_ID = 1
  23.     NO_BASE_MAP_ID = [2,3,4]
  24.   end

  25. $imported = {} if $imported.nil?
  26. $imported["PG_BASE_NOTE"] = true

  27. #==============================================================================
  28. # ■ DataManager
  29. #==============================================================================

  30. module DataManager
  31.   
  32.   #--------------------------------------------------------------------------
  33.   # alias method: load_database
  34.   #--------------------------------------------------------------------------
  35.   class <<self; alias load_database_pgitemnote load_database; end
  36.   def self.load_database
  37.     load_database_pgitemnote
  38.     load_pg_item_notes
  39.   end

  40.   #--------------------------------------------------------------------------
  41.   # new method: load_pg_item_notes
  42.   #--------------------------------------------------------------------------
  43.   def self.load_pg_item_notes
  44.     for classes in $data_classes
  45.       next if classes.nil?
  46.       classes.add_classespgnote
  47.     end
  48.     for actors in $data_actors
  49.       next if actors.nil?
  50.       actors.add_actorspgnote
  51.     end
  52.     for items in $data_items
  53.       next if items.nil?
  54.       items.add_itemspgnote
  55.     end
  56.     for weapons in $data_weapons
  57.       next if weapons.nil?
  58.       weapons.add_weaponspgnote
  59.     end
  60.     for armors in $data_armors
  61.       next if armors.nil?
  62.       armors.add_armorspgnote
  63.     end
  64.     for enemies in $data_enemies
  65.       next if enemies.nil?
  66.       enemies.add_enemiespgnote
  67.     end
  68.   end
  69.   
  70. end # DataManager


  71. #==============================================================================
  72. # ■ Game_Map
  73. #------------------------------------------------------------------------------
  74. #  管理地图的类。拥有卷动地图以及判断通行度的功能。
  75. #   本类的实例请参考 $game_map 。
  76. #==============================================================================

  77. class Game_Map
  78.   #--------------------------------------------------------------------------
  79.   # ● 设置
  80.   #--------------------------------------------------------------------------
  81.   def setup(map_id)
  82.     @map_id = map_id
  83.     @map = load_data(sprintf("Data/Map%03d.rvdata2", @map_id))
  84.     #######################3
  85.     @map.add_mappgnote
  86.     #########################
  87.     @tileset_id = @map.tileset_id
  88.     @display_x = 0
  89.     @display_y = 0
  90.     referesh_vehicles
  91.     setup_events
  92.     setup_scroll
  93.     setup_parallax
  94.     setup_battleback
  95.     @need_refresh = false
  96.   end
  97. end

  98. #==============================================================================
  99. # ■ RPG::BaseItem
  100. #==============================================================================

  101. class RPG::BaseItem
  102.   
  103.   #--------------------------------------------------------------------------
  104.   # public instance variables
  105.   #--------------------------------------------------------------------------
  106.   attr_accessor :note
  107.   attr_accessor :features
  108.   #--------------------------------------------------------------------------
  109.   # new method: add_classespgnote
  110.   #--------------------------------------------------------------------------
  111.   def add_classespgnote
  112.     return if BASE_PGNOTE::BASE_CLASS_ID == 0
  113.     return if self == $data_classes[BASE_PGNOTE::BASE_CLASS_ID]
  114.     return if BASE_PGNOTE::NO_BASE_CLASS_ID.include?(self.id)
  115.     @note += $data_classes[BASE_PGNOTE::BASE_CLASS_ID].note.clone
  116.     ################################
  117.     if BASE_PGNOTE::EDD_CLASSFE
  118.       @features += $data_classes[BASE_PGNOTE::BASE_CLASS_ID].features.clone
  119.     end
  120.     ################################
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # new method: add_actorspgnote
  124.   #--------------------------------------------------------------------------
  125.   def add_actorspgnote
  126.     return if BASE_PGNOTE::BASE_ACTOR_ID == 0
  127.     return if self == $data_actors[BASE_PGNOTE::BASE_ACTOR_ID]
  128.     return if BASE_PGNOTE::NO_BASE_ACTOR_ID.include?(self.id)
  129.     @note += $data_actors[BASE_PGNOTE::BASE_ACTOR_ID].note.clone
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # new method: add_itemspgnote
  133.   #--------------------------------------------------------------------------
  134.   def add_itemspgnote
  135.     return if BASE_PGNOTE::BASE_ITEM_ID == 0
  136.     return if self == $data_items[BASE_PGNOTE::BASE_ITEM_ID]
  137.     return if BASE_PGNOTE::NO_BASE_ITEM_ID.include?(self.id)
  138.     @note += $data_items[BASE_PGNOTE::BASE_ITEM_ID].note.clone
  139.   end
  140.   #--------------------------------------------------------------------------
  141.   # new method: add_weaponspgnote
  142.   #--------------------------------------------------------------------------
  143.   def add_weaponspgnote
  144.     return if BASE_PGNOTE::BASE_WEAPON_ID == 0
  145.     return if self == $data_weapons[BASE_PGNOTE::BASE_WEAPON_ID]
  146.     return if BASE_PGNOTE::NO_BASE_WEAPON_ID.include?(self.id)
  147.     @note += $data_weapons[BASE_PGNOTE::BASE_WEAPON_ID].note.clone
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # new method: add_armorspgnote
  151.   #--------------------------------------------------------------------------
  152.   def add_armorspgnote
  153.     return if BASE_PGNOTE::BASE_ARMOR_ID == 0
  154.     return if self == $data_armors[BASE_PGNOTE::BASE_ARMOR_ID]
  155.     return if BASE_PGNOTE::NO_BASE_ARMOR_ID.include?(self.id)
  156.     @note += $data_armors[BASE_PGNOTE::BASE_ARMOR_ID].note.clone
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # new method: add_enemiespgnote
  160.   #--------------------------------------------------------------------------
  161.   def add_enemiespgnote
  162.     return if BASE_PGNOTE::BASE_EMENY_ID == 0
  163.     return if self == $data_enemies[BASE_PGNOTE::BASE_EMENY_ID]
  164.     return if BASE_PGNOTE::NO_BASE_EMENY_ID.include?(self.id)
  165.     @note += $data_enemies[BASE_PGNOTE::BASE_EMENY_ID].note.clone
  166.   end
  167. end
  168. #==============================================================================
  169. # ■ RPG::Troop
  170. #==============================================================================

  171. class RPG::Map
  172.   #--------------------------------------------------------------------------
  173.   # public instance variables
  174.   #--------------------------------------------------------------------------
  175.   attr_accessor :note
  176.   #--------------------------------------------------------------------------
  177.   # new method: add_pages
  178.   #--------------------------------------------------------------------------
  179.   def add_mappgnote
  180.     return if BASE_PGNOTE::BASE_MAP_ID == 0
  181.     return if @map_id == BASE_PGNOTE::BASE_MAP_ID
  182.     return if BASE_PGNOTE::NO_BASE_MAP_ID.include?(@map_id)
  183.     @note += load_data(sprintf("Data/Map%03d.rvdata2", BASE_PGNOTE::BASE_MAP_ID)).note.clone
  184.   end
  185. end


  186. #==============================================================================
  187. #
  188. # ▼ End of File
  189. #
  190. #==============================================================================
复制代码

点评

顺带一提,在@note += $data_classes[BASE_PGNOTE::BASE_CLASS_ID].note.clone这一行加条件分歧可以做到多少id到多少id加多少id的备注。你自己琢磨,我懒得说  发表于 2014-12-28 11:07
BASE_CLASS_ID = 1,备注1号职业就等于在后面所有职业里加上这个备注。下一行是忽略公用备注的id数组,再下一行是我自己用的,把特征什么的也加上。  发表于 2014-12-28 11:01
用法?  发表于 2014-12-28 02:13

评分

参与人数 1星屑 +30 收起 理由
3106345123 + 30 多谢

查看全部评分

新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2744
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

5
发表于 2014-12-26 20:44:04 | 只看该作者
思路:将要备注的内容写在一个项目的备注栏里,然后再记录下相同备注的编号(可以新建一个项目记录编号,或者是写在同一个项目中)。
这个方法适用于相同类型的项目(比如备注的东西都是物品)。

点评

基本就是这样了(发布时忘写了-_-||)  发表于 2014-12-28 02:20
↓你行你上  发表于 2014-12-26 21:55
小小修改下也能一次性套用掉全部的吧···比如sideview里面敌人和角色同时判定的···区别就是敌人是负数ID角色是正数···  发表于 2014-12-26 21:14

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-19 11:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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