Previous topicNext topic
Help > BLUE引擎2021更新 >
新增临时属性扩展

功能:

=========================================================================
SETABILITY  //增加破盾几率ID 50
SETABILITY  //位置(0~600) 数值 持续秒数 结束时的提示字符(留空不提示)、注:其中500~600为全局ID,不支持特效,可以配合Hash命令、[@OnStart]、[@OnStop]存档
SETABILITY  //赋值时会触发QF的[@SETABILITY_ID],属性过期后将触发[@RESETABILITY_ID]  临时属性 支持英雄,如果:<$PARAM(0)>=0表示触发的是玩家,1表示触发的是英雄(执行脚本主体仍然是英雄主人)
SETABILITY  //增加获取的存活时间变量:$ABILTTL0~600,$H.ABILTTL0~600,值为0表示不存在,小于0表示暂停中的剩余时间,大于0表示运行中的剩余时间 // 注:SETABILITY可用作高效的倒计时触发系统
SETABILITY  //SETABILITY ID 0 -1,秒数为-1时表示暂停或恢复倒计时!
SETABILITY cleanup 1 //1表示清理“全局”ID
SETABILITY  //第5参数是自身效果ID,ID对应ABILITYEFFECTS.TXT的条目效果!参考附件ABILITYEFFECTS.TXT,此文件需要放在客户端的DATA目录
             格式:ID(1~65535不要重复) WIL名称 起始图片 帧数 帧间隔 声音 声音循环(0/1) 特效模式(0/1)
             1 PRGUSE2 110 15 80 WAV\POWERUP.WAV 1 1
             2 PRGUSE2 90  19 80 WAV\POWERUP.WAV 1 1
SETABILITY  //AID在601~855时,可以用于设置技能附加威力 对应的技能ID=AID-600
MAKEPOISON  //生物状态系统:类型:(0~16) 秒数 点数,第一参数为CLEARUP时,清理掉状态
                            类型:0:绿毒
                            类型:1:红毒
                            类型:2:人物变色
                            类型:3:雷击
                            类型:4:冰冻
                            类型:5:石化
                            类型:6:禁锢(轻量麻痹)
                            类型:7:重伤(丧失防御)
                            类型:8:隐身
                            类型:9:战甲术
                            类型:10:幽灵盾
                            类型:11:魔法盾
                            类型:12:四级魔法盾
                            类型:13:神龙附身(传奇之刃附属技能.刀刀暴击)
                            类型:14:龙化(攻防增强、抵抗石化、龙化状态下如穿戴首饰类Shape=197的首饰,获得龙卫神技:神龙之怒 神技:无视麻痹、无视冰冻、增加自身攻击力、暴击伤害!)
                            类型:15:滴血(相当于按一定百分比掉血的绿毒)
                            类型:16:诅咒丧失防御,数值小于100时,按百分比减少攻击(100-数值),数值大于100时,按百分比增加攻击(数值-100),状态存档
=========================================================================
NPC对话、聊天栏、任务栏、跑马灯、自定按钮标题说话内容可以解析SETABILITY的倒计时<ACD=ID>
其中有如下49个固有属性,其他的50-100可以用作临时计时变量,也可以作为计时器使用。
=========================================================================

增加变量:<$ABILTTL0~599>      //人物倒计时
增加变量:<$H.ABILTTL0~599>    //英雄倒计时
增加变量:<$ABILITIES0~500>    //BUFFER位置
增加变量:<$H.ABILITIES0~500>  //英雄buffer位置
增加变量:<$TARINFO_ISSLAVE>   //是否是随从
=========================================================================

例一:
=========================================================================
SetAbility 611 999 10 雷电术附加威力消失了!
=========================================================================
例二: // 一个ABILITY带三个动画效果
SETABILITY 51 80 15 "" 1
SETABILITY 51 80 15 "" 2
SETABILITY 51 80 15 某BUFFER恢复正常 3

例三:
[@SETABILITY]
#ACT
SETABILITY 50 20 900 石化技能恢复正常
SETABILITY 51 20 900 冰冻技能恢复正常
SENDMSG 7 获得20%几率的石化技能,持续15分钟
SENDMSG 7 获得20%几率的冰冻技能,持续15分钟
=========================================================================

例四:
[@SETABILITY]
#ACT
SetAbility 49 1 99999999
SENDMSG 7 禁止使用商铺
=========================================================================

例五:
[@SETABILITY]
#ACT
SETABILITY 50 88
SENDMSG 7 获得88%的破盾几率
=========================================================================

QF:
[@ATTACK]
#IF
COMPVAL <$TARINFO_RACE> ! 1  // 非人物
COMPVAL <$TARINFO_ISSLAVE> = 0 // 非随从
COMPVAL <$ABILITIES50> > 0  // ABILITIES的50位置有数值
#ACT
SETRANDOMNO 100   // 按100随机
#ELSEACT
BREAK

#IF
COMPVAL <$ABILITIES50> > <$RANDOMNO> // 命中触发
#ACT
T.MAKEPOISON 5 5
=========================================================================

例六:
=========================================================================
[@SETABILITY]
#ACT
SETABILITY 10 15 30 暴击附加属性恢复正常。
SENDMSG 5 获得暴击附加属性15点,持续30秒。
;SETABILITY 10 0 0 暴击附加属性恢复正常。  // 立即清理位置10的属性
;SETABILITY CLEARUP // 清理所有属性

位置对应属性:
  0 // 腕力
  1 // 负重
  2 // 背包重量
  3 // 准确
  4 // 敏捷
  5 // 魔法躲避 每一点代表10%,10点即为100%。
  6 // 毒物躲避 每一点代表10%,10点即为100%。
  7 // 中毒恢复 每一点代表10%,10点即为100%。
  8 // 生命恢复 每一点代表10%,10点即为100%。
  9 // 魔法恢复 每一点代表10%,10点即为100%。
  10 // 暴击
  11 // 目标爆率
  12 // 防爆
  13 // 忽视 属性为百分比,最大为100。
  14 // 增伤 属性为百分比,最大为100。
  15 // 反射 属性为百分比,最大为100。
  16 // 物减 属性为百分比,最大为100。
  17 // 魔减 属性为百分比,最大为100。
  18 // 吸血
  19 // 幸运
  20 // GM隐身(观察模式)
  21 // GM无敌
  22 // 禁止使用物品
  23 // 禁止丢弃
  24 // 禁止移动
  25 // 禁止跑步
  26 // 禁止物理攻击
  27 // 禁止魔法攻击
  28 // 稳如泰山(不可被野蛮推动)
  29 // 禁止召唤英雄
  30 // 禁止修改攻击模式
  31 // 禁止使用仓库
  32 // 麻痹模式
  33 // 魔道麻痹
  34 // 复活
  35 // 护身
  36 // 传送
  37 // 探测
  38 // 隐身
  39 // 破麻
  40 // 防毒
  41 // 破复活
  42 // 破护身
  43 // 背包不掉
  44 // 装备不掉
  45 // 攻击加速(10点以下为减速度,10点以上为加速度,与武器一致)
  46 // 禁止交易
  47 // 禁止摆摊
  48 // 禁止出售物品
  49 // 禁止使用商铺
  50 // 破盾
=========================================================================
例:攻速剩余有效时间:<ACD=45{ax=66,ay= 0}>,其中的45是SETABILITY的ID,客户端需配套才能显示:天/时/分/秒 !
=========================================================================
BUFF:增加特殊ID:400最大HP、401最大MP、402防御、403魔防、404攻击、405魔法、406道术、407暴伤
=========================================================================
[@BUFF]
#IF
#ACT
SETABILITY 400 10000 500 附加HP+10000到期!
SETABILITY 401 10000 500 附加MP+10000到期!
SETABILITY 402 10000 500 附加防御+10000到期!
SETABILITY 403 10000 500 附加魔御+10000到期!
SETABILITY 404 10000 500 附加攻击+10000到期!
SETABILITY 405 10000 500 附加魔法+10000到期!
SETABILITY 406 10000 500 附加道术+10000到期!
SETABILITY 407 10000 500 附加暴击+10000到期!
=========================================================================
举例: 倒计时 SetAbility 赋值时会触发QF的[@SetAbility_ID],属性过期后将触发[@ResetAbility_ID] 
=======================================================================================================
注:以下下举例ID= 499

=======================================================================================================
[@main]
#ACT
Hash <$USERNAME> GetE 治疗CD S1
SETABILITY 499 0 <$STR(S1>
#SAY
治疗师\
行走玛法大陆,难免受点刀枪棍棒的伤,受伤不要怕!!!\
快来找我治疗。\\
<帮我治疗一下/@治疗>冷却CD:<ACD=499{ax=124,ay=60,c=clRed}><清除CD{c=$00FC7C,AX=150,AY=58}/@清除CD>剩余次数:{c=$00FC7C,AX=190,AY= 58}<$HASH(<$USERNAME>)剩余次数>/300\\

<购买次数/@购买次数>:<$HASH(<$USERNAME>)剩余次数>/300[@main]
#ACT
Hash <$USERNAME> GetE 治疗CD S1
SETABILITY 499 0 <$STR(S1>
#SAY
治疗师\
行走玛法大陆,难免受点刀枪棍棒的伤,受伤不要怕!!!\
快来找我治疗。\\<BR><帮我治疗一下/@治疗>冷却CD:<ACD=499{ax=124,ay=60,c=clRed}><清除CD{c=$00FC7C,AX=150,AY=58}/@清除CD>剩余次数:{c=$00FC7C,AX=190,AY= 58}<$HASH(<$USERNAME>)剩余次数>/300\\

<购买次数/@购买次数>:<$HASH(<$USERNAME>)剩余次数>/300\

[@治疗]
#IF
Compval <$ABILTTL499> > 0
#ACT
MESSAGEBOX 当前CD冷却时间剩余:<$ABILTTL499>、无法进行恢复!
BREAK

#IF
Compval <$HP> ? <$MAXHP>
#ACT
MESSAGEBOX 您当前生命状态、无需进行治疗!
BREAK

#IF
InSafeZone
#ACT
HUMANHP + <$MAXHP>
HUMANMP + <$MAXMP>
H.HUMANHP + <$MAXHP>
H.HUMANMP + <$MAXMP>
MOV M_治疗CD 60
SETABILITY4990<$STR(M_治疗CD><BR>SendMsg6免费治疗剩余时间:<$ABILTTL499>,倒计时秒:<ACD=499{c=clBlue}>
Hash <$USERNAME> Set 治疗CD 1 <$STR(M_治疗CD>
GOTO @main
MessageBox 血量已经恢复满了!
#ELSEACT
MESSAGEBOX 安全区才可以恢复血量
BREAK

[@购买次数]  //购买可以选择元宝、金币、泡点、灵符、金刚石、等等可使用类型消耗品。。
#IF
Compval <$HASH(<$USERNAME>)剩余次数> < 300
#ACT
Hash <$USERNAME> Set 剩余次数 300
SendMsg 6 增加次数:300次
GOTO @main
#ELSEACT
MESSAGEBOX 最高只能购买300次!
BREAK
[@清除CD]  //清除可以选择元宝、金币、泡点、灵符、金刚石、等等可使用类型消耗品。。
#ACT
Hash <$USERNAME> DEC 剩余次数 1
SETABILITY cleanup 499
GOTO @治疗
#if       //是否需要记录当天时间日期,不需要可以去掉!
!HashExists <$USERNAME> 当天日期
#act
Hash <$USERNAME> Set 当天日期 <$TIMESTAMP>