模型检测切换
模型检测切换
123456789101112131415161718192021222324252627282930313233343536373839404142434445;新建切换变量persist global $key = 0;新建检测变量global $attack = 0[Key key];条件是检测到物体生成condition = $object_detected == 1key = NO_CTRL NO_ALT VK_DOWNtype = cycle;要切换的部件使用的变量(使用参考“切换模型”篇)$key = 0,1;找到[Present]代码;帧计算代码[Present]if $object_detected if $mod_enabled post $object_detected = 0 run = CommandListUpdateMergedSkeleton else if $mod_id == -1000 run = CommandListRegisterMod endif endifendif;加上这两句,即模型加载完毕后执行变量赋值操作$ ...
滑块UI使用
滑块UI使用
默认滑块的使用需要按住ALT键拖动(当然你也可以改成别的键)
12345678910111213141516171819202122232425262728293031323334353637;此滑块工具主要代码来自momo制作;使用方式;滑块工具的INI---------------------------------------------------[Present];是否启动滑块页面检测if ($\ModXXX\enable_mods)…… ;输出变量参数到模组INI中(乘几可以自己改,slider_value变量值为[0 - 1])$\ModXXX\mod_val = $slider_value * 2;模组INI---------------------------------------------------------;顶部中添加命名空间(名称随意,这里只是方便区分)namespace=ModXXX;启动滑块变量global $enable_mods=0;接收滑块的参数(形态键的值)global $mod_val=0[Key enable_mods]co ...
着色器指定dump
着色器指定dump
12345678910111213;在\XXMI Launcher\WWMI\d3dx.ini文件中将下面这行话注释掉;这句话是转储所有的纹理和缓冲;analyse_options = dump_rt dump_tex dump_cb dump_vb dump_ib buf txt;在Mod文件夹任意位置中创建一个INI[ShaderOverrideGlider];通过小键盘0 开启狩猎模式 1 / 2 控制着色器 3 复制着色器Hash;获取到你需要的着色器(对应的物体消失,或是没有贴图)hash = 7191d68ad7775895;加上转储的语句,就会将此着色器影响的物体dump下来analyse_options = dump_rt dump_tex dump_cb dump_vb dump_ib buf txt dds;如果发现dump都不完整,可以将多个着色器一起启用;或者直接恢复d3dx文件的语句执;行全dump
着色器检测触发
着色器检测触发
123456789101112131415161718192021222324252627// 着色器代码 ---------------------------------------------------------------// 注册变量“ACTIVE”在第160的位置上(只有一个x组件)#define ACTIVE IniParams[160].x // 注意main方法的位置void main(……// 最底下(要在return的前面) if (ACTIVE == 0){ // 根据你想要的输出参数来写 o0.xyzw = float4(0,0,0,0); }else{ o0.xyzw = float4(1,0,0,1); } return; ;模组INI代码 ---------------------------------------------------------------[Constants];特效着色器检测键global $ShaderKey = 0[ShaderOverride]; ...
透明材质替换
透明材质替换
建议都替换成RabbitFX,不要使用这个
1234567891011121314151617;任意位置新建这段内容;[括号里的标识符内容是可以改的,因为你可能不止一个透明材质][CustomShaderTransparency]blend = ADD BLEND_FACTOR INV_BLEND_FACTORblend_factor[0] = 0.0-1.0blend_factor[1] = 0.0-1.0blend_factor[2] = 0.0-1.0blend_factor[3] = 1handling = skip;要替换的模型,可以在下面[TextureOverrideComponentX]里找到这些变量drawindexed = 66666, 666, 666;;;替换材质步骤;找到你刚才的那行数据[drawindexed = 66666, 666, 666];替换成对应的run=CustomShaderTransparency(你刚才命名的数据)
Excel笔记
Excel 批量填充单元格
软件:Microsoft Office Excel
关于在Excel中进行批量填充单元格的操作
在Excel表格操作时,我们通常会遇到一列中许多连续数据需要填充,而这时直接填充会出现只能选择某一个数据填充所有。数据如下图所示
1.我们只需要选择第一列,通过快捷键Ctrl + H 将“-”替换成空值
2.选中第一列,使用快捷键Ctrl + G ,点击“定位条件”,选择“空值”,定位空值的单元格
3.点击上方的内容输入列,输入第一个空值单元格中的公式(“=上一个单元格”)(等会需要用来给后面的数据填充使用)。如图:
4.然后使用Ctrl + D快捷键 进行填充就完成填充数据(此时所有的空的单元格的数据会指向上一个单元格的内容)
5.(额外的)如果不想要公式,可以将这列的数据复制到别的行,然后在通过数值粘贴以达到纯数据的形式。
Excel 批量合成单元格
批量合并一列的相同单元格
软件:Microsoft Office Excel
关于在Excel中进行批量合并单元格的操作
在Excel表格操作时,我们通常会遇到许多数据连续一致,这时我们需要合并这些单元格,例如下面的表格我们需要合并人员相同的单元格,同时将工作单位一并合并。
此时只需要选中人员列(不包括标题)
选择 “数据”–>“分类汇总”
得到如下图表
接着选中最左列,通过Ctrl + G快捷键,选择空值查找,如图所示:
筛选出对应的空值单元格(即要合并的列)
同时点击**“开始”–>“合并后居中”**
再次选择最左列,此时再点击**“开始”–>“格式刷”**,将格式刷到需要对应格式的列
再次在最左列使用Ctrl + G快捷键,选择常量查找
此时右击选中的单元格,点击“删除”,选择整行,合并就算完成了,如有其它行需要,格式相同的可以使用格式刷,不同的则可以再次采用此方法。
MySQL相关知识点
MySQL知识点
MySQL
存储引擎
InnoDB( 默认引擎,支持外键;支持事务;支持在线热备份)
MyISAM(不支持外键、事务和在线热备份;不支持行锁,只支持表锁;支持压缩表和空间数据索引)
Memory(存在内存中 一但机器重启 数据会丢失)
MERGE(用于一系列MyISAM表以逻辑方式组合在一起,作为一个对象去引用。(相当于union all))
事务的四大特性
原子性:所有操作要么全部成功,要么全部回滚
一致性:事务执行前和执行后必须处于一致性状态
隔离性:并发访问数据时,多个事务互相不干扰
持久性:事务一旦提交,对数据库的更改就是永久的
事务会出现的问题
脏读:指的是当前事务可以读取到另外事务未提交的数据。
不可重复读:同一事务内多次读取同一数据集合,读取到的数据是不一样的情况。
幻影读:同一事务连续执行两次同样的 sql 语句,第二次的 sql 语句可能会返回之前不存在的行(特殊的不可重复读问题)
四种事务隔离级别
未提交读(READ UNCOMMITTED)
事务中的修改,即使没有提交,对其他事务也是可见的。
会出现如下问题:脏读 不可重复 ...
Spring相关知识点
Spring知识点
Spring框架
依赖注入,控制反转的介绍
控制反转指的是一个过程,将原本对象自己控制的依赖关系变成外部容器来进行控制。
依赖注入是它的实现方式,Spring容器通过构造函数或者setter方法将依赖关系注入到对象中
Bean的注入方式
引导加载方式:通过Xml文件或者Java注解(@Bean注解)来实现
自动配置:即
①自动装配(声明setter方法,@Autowired 根据类进行匹配,多个则根据名字匹配(设置**@Qualifier注解可以指定Bean的名称)(设置required参数可以让其在找不到时不报错**),@Resouce JDK提供的 查找方式反一下)(在Bean上使用**@Primary注解可以设置多个匹配时的主类**。)
②组件扫描(@ComponentScan注解 默认会在当前包路径下扫描)
自动装配的过程:再创建上下文时进行注册Bean定义,在Bean的实例化时进行解析(根据注解类型来选择执行Bean的后置处理器进行解析)
Spring IoC容器加载的流程
注册容器时,会先注册启动配置类,然后调用refresh() ...
JVM相关知识点
JVM相关知识点
JVM
自动内存管理子系统
运行时数据区:
方法区(线程共享的)
主要存储对象的元数据信息(类名,字段信息,方法信息,父类信息等)和运行时常量池(字符串(JDK1.7以前是存放的对象,后面改成了存放引用,对象放到堆内存中了)/数值/布尔字面量,符号引用(类全限定名,字段的描述信息,方法的描述信息))
实现方式
JDK1.8以前实现方式是永久代(主要为了适配堆的分代结构方便垃圾回收器一起管理)
JDK1.8后采用元空间实现(使用本地内存来存储,与堆内存分离,内存大小可以动态扩展,大大减少了内存溢出的风险)
堆(线程共享的)
对象的创建过程
当JVM遇到一条new语句时,会先去找常量池找到此类的符号引用,并检查它是否已加载,否则执行类加载过程,通过后,JVM会为新对象在堆中分配固定内存(其大小在类加载完成后便以确定),同时初始化零值(对象头除外),接着设置对象头(锁状态信息,GC分代年龄,类型指针(指向它的类型元数据的指针)等,如果是数组则还要记录它的长度),在JVM看来此时对象已经真正创建完成;接着将会执行方法才按照我们的意愿操作
对象的 ...
