自从投稿《如何正确的看待强化装备》文章后各位网友争议很大无非就是用垫子和不用垫子,在这篇文章里我不强调我的观点。萝卜白菜各有各爱,执意相信我也没办法,毕竟众口难调。此次我着重解释下我写的T事件 (补充下失败分解晶体,在此次T中装备失败分解后晶体。加入变量,关于变量问题会在文章的最后解答)
任意单位获得物品
条件
被操作物品类型 等于 XX 强化装备
设置spot为触发单位包
动作
如果所有条件成立做1 否则做2
条件
触发单位 拥有 强化10 任意装备
触发单位拥有 XX(代表数量) 炉岩碳
随即整数 最小值 1 最大 3 等与3
THEN 动作
删除触发单位所持有 XX+10装备
删除触发单位所持有 XX炉岩碳
创建 XX+11 给触发单位
游戏对所有频道玩家发送信息 触发所有者的名字 XX强化11成功
THEN 动作
删除触发单位所持有 XX+10装备
删除触发单位所持有 XX 炉岩碳
物品创建equip[随即整数,最小:2最大:3]在spot[1]
物品创建equip[1]在spot[1]
如果所有条件成立做1 否则做2
条件
动作
对玩家 创建窗口文字 缺少物品(例如 物品不足)
一个T是由3部分组成即事件、条件和动作。假如你想上街买东西那可以理解成
事件
想给爱人买束玫瑰花
条件
必须有钱
动作
逛街买花
跟逻辑推理一样即有前因有后果缺一不可
那么我逐一解释下我写的T
事件任意单位或得物品
玩WAR3的同学都知道里面有敏捷力量之书之所以他们加的属性多少是由他们的物品技能决定的在这个T里我可以吧增加属性技能删掉或者从新新建一本敏捷之书改名为(强化装备)然后吧图标和价钱出售点改成和添加自己想要的
条件
被操作物品类型等于 XX 强化装备
上面已经解答
动作
如果所有条件成立做1 否则做2
这是一个分歧1 如字面说的一样成功做动作1 失败做动作2
条件
触发单位拥有强化10 任意装备
触发单位拥有 XX(代表数量) 炉岩碳
随即整数最小值 1 最大 3 等与3
这个是动作1
必须条件1 触发单位的意思就是触发这个T的单位即玩家
拥有强化(+10)任意装备就是说必须有 +10某某装备
必须条件2 触发单位必须拥有20炉岩碳
随即整数最小值 1 最大 3 等与3
THEN 动作
删除触发单位所持有 XX+10装备
删除触发单位所持有 XX炉岩碳
创建 XX+11 给触发单位
游戏对所有频道玩家发送信息触发所有者的名字 XX强化11成功
随即整数最小1 最大3 等于3 可以理解为电脑从1到3 随即选择一个数但是必须是3
然后删除玩家持有的某某+10装备和炉岩碳
创建也就是给予某某+11的 武器给触发单位也就是触发这个T的玩家
最后在对频道发送文字触发单位者名字触发单位武器名字强化11成功
THEN 动作
删除触发单位所持有 XX+10装备
删除触发单位所持有 XX 炉岩碳
物品创建equip[随即整数,最小:2最大:5]在spot[1]
物品创建equip[1]在spot[1]
这是一个附加在 分歧1下的分歧即分歧2
(从位置上看就明白了他就像文件的子文件夹一样)删除 触发单位 持有 XX+10装备 和 炉岩碳不解释了相信到这你们也因该看懂了 就是说无论成功或失败 触发单位的+10武器和炉岩碳都要删掉动作 (后面的变量我会在后面解释)
对玩家 创建窗口文字 缺少物品(例如 物品不足)
这个是动作2 回到 动作的开端 可以看到 成立做1失败做2 (意思就是说满足条件做1满足不了做2)对玩家 创建窗口文字 缺少物品
因为此次设计变量所以我们要写2个T 和建立2个变量(下面写的顺序依次是 变量、T)
新建变量equip 物品类型 数组(A) (5)初始值没有
新建变量spot 点 数组 (A) (1) 初始值没有
新建第二个T
事件
初始化
动作
设置 equip[1]=无色小晶块
设置 equip[2]=黑色小晶块
设置 equip[3]=红色小晶块
设置 equip[4]=白色小晶块
设置 equip[5]=黑色小晶块
物品创建equip[随即整数,最小:2最大:5]在spot[1] 物品创建equip[1]在spot[1]
意思就是说 在equip 2到5之间选择一个放在触发单位的包包里。随即那一个数就给那一个数字对应的物品。第二个就不解答了无疑是无色
设置spot为触发单位包 这个估计不用解释了吧相信看到现在你们也明白了
也许大家会问你写T打那么多空格干什么 我解释一下 中间的空格意思就是可选项目比如
被操作物品类型 等于 XX 强化装备 这里可选项目是 3项 分别用空格分开
第一项也可以是被操作技能 人物或者是建筑
第二个也可以是等于、大于、小于、小于等于或者大于等于
第三个即是技能名字 多选项
真正的网络游戏或者单机游戏都不是用T做的,而是用脚本做的因为简洁,而且字节少灵活多变,肯定会有人问了那脚本是什么样子的呢?下面我就复制下 rpg maker VX 游戏初始脚本(冰山一角)
class Game_Temp
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :next_scene
# 切换待机中的画面 (文字列)
attr_accessor :map_bgm # 地图画面 BGM (战斗时候记忆用)
attr_accessor :map_bgs # 地图画面 BGS (战斗时候记忆用)
attr_accessor :common_event_id # 公用事件 ID
attr_accessor :in_battle # 战斗中标记
attr_accessor :battle_proc # 战斗 返回调用 (Proc)
attr_accessor :shop_goods # 商店商品列表
attr_accessor :shop_purchase_only # 仅从商店买入的标记
attr_accessor :name_actor_id # 名称输入 角色 ID
attr_accessor :name_max_char # 名称输入 最大文字数
attr_accessor :menu_beep # 菜单 SE 演奏标记
attr_accessor :last_file_index # 最后保存的文件编号
attr_accessor :debug_top_row # Debug画面 状态保存用
attr_accessor :debug_index # Debug画面 状态保存用
attr_accessor :background_bitmap # 背景位图
#-------------------------------------------------------------------------- # ● 初始化对像 #--------------------------------------------------------------------------
def initialize
@next_scene = nil
@map_bgm = nil
@map_bgs = nil
@common_event_id = 0
@in_battle = false
@battle_proc = nil
@_goods = nil
@shop_purchase_only = false
@name_actor_id = 0
@name_max_char = 0
@menu_beep = false
@last_file_index = 0
@debug_top_row = 0
@debug_index = 0
@background_bitmap = Bitmap.new(1, 1)
end
end
这个就是你们所说的原代码很简洁但是意思 多样 也不用解释了 上面都有翻译 最后我在说一句题外话我不是人民币不能让你们每一个人都喜欢,不要在说垫子的事情了等你们会做T会做脚本了你们就明白了,因为考虑装备的属性和升级的属性就得很长一段时间了,更别说做垫子的的脚本或则T了
本文由第三方AI基于17173文章http://dnf.17173.com/content/2010-04-12/1271072626.shtml提炼总结而成,可能与原文真实意图存在偏差。不代表网站观点和立场。推荐点击链接阅读原文细致比对和校验。






