SAI实例研究

实例1

creature.id = 15937(smart_script.entryorguid)的SAI设置:

  • 第1条(id = 0) 当 creature 进入战斗后(event_type = 0),creature 对当前目标(target_type = 2)周期性施放Chain Lightning法术(action_type = 11,SpellID = 12058)
  • 第2条(id = 1) 当 creature 进入战斗后(event_type = 0),creature 对当前目标(target_type = 2)周期性施放Frost Shock法术(action_type = 11,SpellID = 21030)
  • 第3条(id = 2) 当 creature 的生命值百分比处于0-50%时(event_type = 2),creature 对自身(target_type = 1)周期性施放Healing Wave法术(action_type = 11,SpellID = 12491)
  • 第4条(id = 3) 当 creature 死亡时(event_type = 6),对 entry = 15668 的 creature 触发 Set Data(action_type = 45
  • 第5条(id = 4) 第4条触发后(event_type = 61),对 entry = 15669 的 creature 触发 Set Data(action_type = 45

creature.id = 15668(smart_script.entryorguid)的SAI设置:

  • 第1条(id = 0) 当 creature Data Set 时(event_type = 38),creature 对自身(target_type = 1)施放Fear法术(action_type = 11,SpellID = 26661)
  • 第2条(id = 1) 当 creature 的生命值百分比处于0-15%时(event_type = 2),creature 会逃跑并寻求同伴协助(action_type = 25)

creature.id = 15669(smart_script.entryorguid)的SAI设置:

  • 第1条(id = 0) 当同伴生命值百分比处于0-50%时(event_type = 74),creature 对同伴(target_type = 7)周期性施放Flash Heal法术(action_type = 11,SpellID = 17137)
  • 第2条(id = 1) 当 creature Data Set 时(event_type = 38),creature 对自身(target_type = 1)施放Fear法术(action_type = 11,SpellID = 26661)
  • 第3条(id = 2) 当 creature 的生命值百分比处于0-15%时(event_type = 2),creature 会逃跑并寻求同伴协助(action_type = 25)

实例2

creature.id = 15402(smart_script.entryorguid)的SAI设置:

  • 共分为0和1两个事件阶段
    • 第0阶段:第1条(id = 0),第2条(id = 1),第3条(id = 2),第4条(id = 3),第9条(id = 8)
      • 第1条(id = 0) 当角色获得任务(QuestID = 8487,被腐蚀的土地)奖励时(event_type = 20),creature 对自身(target_type = 1)触发时间线列表动作( action_type = 80,smart_script.entryorguid = 1540200)
      • 第2条(id = 1) 当角色接到任务(QuestID = 8488,出人意料的结果)时(event_type = 19),将接到任务的队伍(target_type = 16)作为目标列表储存到变量1中(action_type = 64
      • 第3条(id = 2) 在第2条触发后(event_type = 61),creature 对自身(target_type = 1)触发时间线列表动作( action_type = 80,smart_script.entryorguid = 1540201)
      • 第4条(id = 3) 当 creature 进入战斗后(event_type = 0),creature 对当前目标(target_type = 2)周期性施放Fireball法术(action_type = 11,SpellID = 20811)
      • 第9条(id = 8) 当事件刷新时(event_type = 11),creature 自身(target_type = 1)免疫npc攻击伤害(action_type = 145)
    • 第1阶段:第5条(id = 4),第6条(id = 5),第7条(id = 6),第8条(id = 7)
      • 5条(id = 4) 当 creature 死亡时(event_type = 6),第2条储存的目标列表(target_type = 12)中的角色的任务均失败(action_type = 6
      • 6条(id = 5) 当 COUNTER_SET 时(event_type = 77),第2条储存的目标列表(target_type = 12)中的角色的任务均完成(action_type = 15
      • 7条(id = 6) 在第6条触发后(event_type = 61),creature 对自身(target_type = 1)触发 SET_COUNTERaction_type = 63
      • 8条(id = 7) 在第7条触发后(event_type = 61),creature 对自身(target_type = 1)触发时间线列表动作( action_type = 80,smart_script.entryorguid = 1540202)
        • 标黄部分实际表现为:角色击杀召唤出的怪之后任务完成,具体用法有待核实

 creature.id = 15402,entryorguid = 1540200 的时间线列表动作有3条

  • 第1条(id = 0) 设置 creature 自身(target_type = 1)的 npcflag = 0(action_type = 81)
  • 第2条(id = 1) 当 entryorguid = 1540200 的时间线列表动作触发的10秒后,creature 对自身(target_type = 1)触发说话(action_type = 1)
  • 第3条(id = 2) 设置 creature 自身(target_type = 1)的 npcflag = 2(action_type = 81)
    • npcflag = 2 时,creature 将作为任务给予者,任务未完成时,客户端将看到黄色感叹号(creature_queststarter 表必须有数据)

creature.id = 15402,entryorguid = 1540201 的时间线列表动作有5条

  • 第1条(id = 0) 设置 creature 自身(target_type = 1)的 npcflag = 0(action_type = 81)
  • 第2条(id = 1) 设置 creature 自身(target_type = 1)的 faction = 232(action_type = 2)
  • 第3条(id = 2) 设置 creature 自身(target_type = 1)不能免疫npc攻击伤害(action_type = 145)
  • 第4条(id = 3) 设置 creature 自身(target_type = 1)的事件阶段为1阶段(action_type = 22)
  • 第5条(id = 4) 对 creature 自身(target_type = 1)召唤生物组(action_type = 2)
    • action_param1 对应 creature_summon_groups.groupID 的值
    • creature_summon_groups 字段介绍看:这里

 creature.id = 15402,entryorguid = 1540202 的时间线列表动作有4条

  • 第1条(id = 0) 设置 creature 自身(target_type = 1)的 npcflag = 2(action_type = 81)
  • 第2条(id = 1) 设置 creature 自身(target_type = 1)的 faction = 1604(action_type = 2)
  • 第3条(id = 2) 设置 creature 自身(target_type = 1)免疫npc攻击伤害(action_type = 145)
  • 第4条(id = 3) 设置 creature 自身(target_type = 1)的事件阶段为0阶段(action_type = 22)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/338723.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VS里那些实用的调试(debug)技巧

前言——————希望现在在努力的各位都能感动以后享受成功的自己! 首先我们要来了解什么是bug——————bug本意是“昆虫”或“虫子”,现在⼀般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或 问题,简称程序漏洞。 “…

【Flink-1.17-教程】-【四】(1)Flink DataStream API - 源算子(Source)

【Flink-1.17-教程】-【四】(1)Flink DataStream API - 源算子(Source) 1)执行环境(Execution Environment)1.1.创建执行环境1.2.执行模式(Execution Mode)1.3.触发程序执…

PostgreSQL的date_part()函数

date_part() 函数从指定的时间戳或者时间间隔中抽取指定的部分并返回。 date_part(field TEXT, source TIMESTAMP) -> DOUBLE PRECISION date_part(field TEXT, source DATE) -> DOUBLE PRECISION date_part(field TEXT, source TIME) -> DOUBLE PRECISION date_part…

qemu使用

百度qemu bios 问题 坑爹的玩意,编译qemu 还需要python3.5以上 解决方法: CentOS7安装Python3.8-CSDN博客 https://www.cnblogs.com/Oliver.net/p/7211967.html 编译python3.8还由于openssl过低 参考 QEMU启动x86-Linux内核_qemu-system-x86-…

进程间协同:从进程启动、同步与互斥到进程间通信

进程间协同的目的 在操作系统中,进程是计算机进行任务分配和调度的基本单位。在计算机系统中,有很多任务是无法由单个进程独立完成的,需要多个进程共同参与并协作完成。这就像在现实生活中,有些工作需要一个团队来完成&#xff0…

Vue 组件通信方式

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

三、MySQL库表操作

3.1 SQL语句基础(SQL命令) 3.1.1 SQL简介 SQL:结构化查询语言(Structured Query Language),在关系型数据库上执行数据操作,数据检索以及数据维护的标准化语言。使用SQL语句,程序员和数据库管理员可以完成…

关于C语言整型提升的讲解

目录 1.什么是整型提升 2.整型提升的意义 3.整型提升是怎么提升的 4.整型提升的实例 1.什么是整型提升 C语言中的整型算术运算总是以缺省(默认)整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前会被转换…

Android学习之路(22) 从模块化到组件化

从模块化到组件化 一、从模块化到组件化 Android 应用项目 , 都存在一个应用模块 ( Application Module ) , 在 build.gradle 构建脚本中 , 第一个插件配置 com.android.application , 表明 该 Module 编译打包后的输出是 APK 安装包 ; 该项目可以直接运行 ; plugins {id co…

回溯法:澳大利亚地图染色问题及伪代码(模版)

问题背景 澳大利亚地图染色问题: 用红绿蓝3色标出各省, 相邻者颜色不同。 对应于澳大利亚地图的约束图, 相互关联的节点用边连接。 − 西澳大利亚 – WA − 北领地 – NT − 南澳大利亚 – SA − 昆士兰 – Q − 新南威尔士 – NSW − …

79、avx2 向量指令集优化卷积运算

上一节 介绍了 avx2 向量指令集中的 load/store 操作,本节介绍如何使用 avx2 的向量指令集来实现乘累加运算。 因为我们实战中用到的 resnet50 神经网络中,卷积运算在整个模型中的比例占据是相当高,而卷积运算的核心计算就是乘累加计算。因此,只要将最核心的乘累加计算效率…

Shiro框架:Shiro用户访问控制鉴权流程-Aop注解方式源码解析

目录 1.Spring Aop嵌入点解析 2.Shiro框架Aop切面逻辑解析 2.1 通过注解实现切点 2.2 通过增强逻辑执行校验过程 2.2.1 增强实现类AopAllianceAnnotationsAuthorizingMethodInterceptor 2.2.1.1 类图解析 2.2.1.2 实现增强方法 2.2.1.3 Shiro校验逻辑实现 2.2.1.3.1 …

JVM篇--垃圾回收器高频面试题

1 你知道哪几种垃圾收集器,各自的优缺点是啥,重点讲下cms和G1,包括原理,流程,优缺点? 1)首先简单介绍下 有以下这些垃圾回收器 Serial收集器: 单线程的收集器,收集垃圾时…

Flink(十四)【Flink SQL(中)查询】

前言 接着上次写剩下的查询继续学习。 Flink SQL 查询 环境准备: # 1. 先启动 hadoop myhadoop start # 2. 不需要启动 flink 只启动yarn-session即可 /opt/module/flink-1.17.0/bin/yarn-session.sh -d # 3. 启动 flink sql 的环境 sql-client ./sql-client.sh …

Tomcat Notes: Web Security

This is a personal study notes of Apache Tomcat. Below are main reference material. - YouTube Apache Tomcat Full Tutorial,owed by Alpha Brains Courses. https://www.youtube.com/watch?vrElJIPRw5iM&t801s 1、Overview2、Two Levels Of Web Securi…

深入Matplotlib:画布分区与高级图形展示【第33篇—python:Matplotlib】

文章目录 Matplotlib画布分区技术详解引言方法一:plt.subplot()方法二:简略写法方法三:plt.subplots()实例展示添加更多元素 进一步探索Matplotlib画布分区自定义子图布局3D子图结语 Matplotlib画布分区技术详解 引言 Matplotlib是一个强大…

1.6万字全面掌握 BERT:自然语言处理(NLP)从初学到高级的全面指南

BERT(双向编码器表示来自Transformer的模型)是由Google开发的一种革命性的自然语言处理(NLP)模型。它改变了语言理解任务的格局,使机器能够理解语言中的上下文和细微差异。 在本博客中,我们将带您从 BERT …

动态路由协议 - OSPF 基本配置 详解 (反掩码,宣告,三张表,Cost默认值修改 )

目录 预备工作 : 基础配置 : 先启动 OSPF 的进程 : 创建区域 : 宣告 : 查看三张表 邻居表 : 数据库表 : 路由表 : 以下示拓扑为 OSPF 示范 : 第一步…

基于python卷积网络对漫画人物好坏识别-含数据集和代码

数据集介绍,下载本资源后,界面如下: 有一个文件夹一个是存放数据集的文件。 数据集介绍: 一共含有:2个类别,包含:evil, good等。 然后本地的train.txt和val.txt里面存放的是数据集的图片路径和对应的标签。 运行trai…

linux驱动(八):block,net

本文主要探讨210的block驱动和net驱动。 block 随机存取设备且读写是按块进行,缓冲区用于暂存数据,达条件后一次性写入设备或读到缓冲区 块设备与字符设备:同一设备支持块和字符访问策略,块设备驱动层支持缓冲区,字符设备驱动层没有缓冲 块设备单位:扇…