SAN11PK-SIRE修改器1.25版帮助文档
- 格式:doc
- 大小:2.62 MB
- 文档页数:34
St-Edit帮助文档By Stchou 2010目录St-Edit帮助文档 (1)简介 (3)软件特色: (5)基本的操作: (8)如何安装本软件: (9)如何使用st-edit编写C\C++程序: (12)如何使用提示修改功能: (15)如何使用编程日志功能: (17)如何使用模拟考试系统: (19)如何使用C\C++学习教程: (22)如何使用快速插入代码、模板功能: (24)如何使用连接VC 6.0,用VC 6.0运行功能: (28)菜单操作: (29)简介St-Edit是一款平台无关性的c\c++学习编辑器,以c\c++学习者的入门学习为起点专门为初学者而打造的学习编辑器工具。
已上是界面美化过后的St-Edit,使得软件更有亲和力。
更能吸引用户。
编写目的:本软件有Stchou所编写,目的是作为C语言以及二级考试准备使用。
最新更新:最新版本已经加入的多页面技术,快速插入代码、模板,转VC运行,修改提示,模拟考试系统和学习例程电子书等功能。
St-Edit以一个C语言入门者的角度充分的为用户着想。
更好的带领一个初学者快速入门到掌握C语言。
新界面如下:软件特色:①增加了虚线的对齐向导,方便查看代码的层次也方便的大家的阅读差错。
②增加了鼠标滚轮滚动式的字体大小调节同时按下Ctrl+鼠标滚轮则可以调节字体的大小,方便大家的阅读与老师的上课。
也可以缩小,练习盲打。
③增加了匹配括号加亮需将光标移到其中的一个大括号上,软件自动找出与它相对应的另一个大括号,可以很方便地分析程序的层次结构,同时小括号也具有同样的功能方便查找括号的模块化与结构化④方便的显示/隐藏制表符和空格,方便区分制表符,即箭头形状空格,则是为一个点⑤隐藏显示换行符基本的操作:编辑操作功能操作按键回车换行(增加一个新空行) ENTER键向前删除退格键剪切CTRL+X复制CTRL+C粘贴CTRL+V删除当前光标处字符或汉字DEL删除键撤销以上的操作CTRL+Z重做以上的操作CTRL+R全选CTRL+A光标到行首HOME键光标到行尾END键光标到文档首CTRL+HOME光标到文档尾CTRL+END从光标处选到行首SHIFT+HOME从光标处选到行尾SHIFT+END从光标处选到文档首CTRL+SHIFT+HOME从光标处选到文档尾CTRL+SHIFT+END光标上下左右移动键盘方向键向上翻页PAGE UP键向下翻页PAGE DOW N键选中块内容鼠标拖曳字体放大缩小Ctrl+鼠标滚轮编译F7运行F8编译并运行F9如何安装本软件:①下载好后安装文件双击st-edit的安装包文件②选择自己的安装路径点击下一步就开始安装了安装成功③安装完毕,点击图标则可以进入如何使用st-edit编写C\C++程序:①打开St-Edit主程序②在中间左边的代码编辑窗口编写自己的C\C++代码③编写成功后,先保存源代码文件,然后单击工具条中的“运行”按钮④则显示出结果如何使用提示修改功能:例如:#include<stdio.h>int main(){printf("Hello World!!!")getchar();return 0;}这个程序,很明显在printf("Hello World!!!") 的后面少了一个‘;’号,编译是不能够成功的。
《黑暗之魂2 原罪学者》DX11版万能修改器22作者:百度贴吧-我丿坏蛋前言:1.我们提供的这个修改器仅支持“DX11 Ver1.02 规则-2.02”版本的原罪学者,因此在你使用前请先认真核实你当前游戏的版本。
另外!这个修改器是通过绑定特征码来运行的,理论上会支持DX11原罪学者的所有版本。
2.虽然我们一直致力于让这个脚本变得完美,但脚本并非百分百完善,因此在使用过程之中难免会出现一些BUG,例如脚本里的某些功能之间的冲突等等。
所以如果你发脚本里存在某些BUG,请即时向我反馈,我会尽力去修复,本人的微信:Q525166749。
使用说明:当你解压了本文件后,你会得到一个叫“Dark.Souls.II.Scholar.of.the.First.Sin”的CT脚本,这个CT脚本必须要使用CheatEngine 6.4修改器才能打开的。
1.首先请下载“CheatEngine 6.4”修改器(简称CE)并完成安装。
2.把你解压后得到的CT脚本文件放进CE修改器的根目录里。
3.打开游戏4.打开CheatEngine 6.4修改器5.参考视频教程“使用教程(新人必看)”6.按照教程的正确步骤打开脚本7.查阅脚本里“其它数据编辑”下面的“查看使用说明”。
5月1日-更新说明:1.修复了“全屏秒杀”对巨人回忆里的小兵无效的问题,同时隔离了BOSS及所有普通NPC。
由于之前有向我反馈过在使用“全屏秒杀”过程中,当遇到暗灵入侵时,暗灵会被瞬间秒杀但系统并不会判断他死亡的BUG,所以我把“入侵的暗灵”也一同隔离了。
另外,关于这个功能的另一个BUG:某些石像无法使用怀念香木解开,目前我还没有找到有效的修复方法。
2.修复了“一击必杀”、“一击石化”、“一击中毒”、“一击出血”、“一击诅咒”对巨人回忆里的小兵无限的问题,同时隔离了所有普通的NPC。
3.修复了“多倍AOE伤害”对巨人回忆里的小兵无限的问题。
4.修复了在使用“锁定敌人的位置坐标”时出现某些敌人模型及建筑模型扭曲的BUG。
CE游戏修改器制作游戏修改器傻⽠教程[图⽂]傻⽠教程⽬标是:注重操作,不求深⼊,主要是为了培养各位的兴趣和带你迅速⼊门。
先简单介绍下什么叫CE,CE的全称是Cheat Engine,最新的版本是5.6.1(作者是 Dark Byte)忘记⾦⼭游侠,GM8,FPE之类的修改⼯具的吧,CE会让你爱不释⼿。
⼀、先下载CE 6.2,这个汉化版相当不错哦(不需要安装),推荐各位下载使⽤。
ce修改器(Cheat Engine) v7.3 中⽂版(附使⽤⽅法)类型:内存管理⼤⼩:22MB语⾔:简体中⽂时间:2021-10-02查看详情⼆、打开CE⽬录下的2个⽂件:三、附加进程(图⽰):操作到此就结束了。
这个教程就是如此简单,下⼀关同样如此。
(就像玩游戏⼀样,完全是闯关试的操作,请各位按照顺序,⼀关⼀关的⾛)按下⼀步进⼊教程第⼆关,需要扫描的精确数值是100现在开始搜索精确数值 100 数值中输⼊⼀般游戏就是4字节,这⾥不需要改动,默认就好。
这次扫描我们得到 59 个结果,⾥⾯肯定有我们要找的那个⾎值,不过好像太多了。
关键⼀步:回到 Tutorial 点击我们再输⼊ 96 点击只有1个结果了,这个就是我们要找的内存地址,双击将其加⼊到地址栏图⽰操作:把 95 改成 1000 点击确定按钮此时教程的下⼀步按钮变成可⽤闯关成功。
操作虽然简单,但是⼤家需要明⽩这其实是⼀个筛选的过程,这样操作就能把地址找出来。
1、双击下图对应位置可快速更改数值。
2、双击地址可快速将其加⼊到地址栏第3关的密码是 419482这⼀关很重要,因为某些游戏中⾎显⽰的不是数字⽽是⾎条,这样的话教程2中的⽅法就失效了。
本关就你要教会你如何修改这些讨厌的未知数此时点击新扫描然后选择未知初始数值点击⾸次扫描然后出现了肯定是N多的结果,因为太多了,CE没有显⽰出来。
⽼办法,回到 Tutorial ,点击打我,CE会告诉你⾎量减了多少,⽐如-1这⾥⾯我们换个思路,假设CE没告诉我减少了多少或者我根本没看清,这时应该怎么办呢?注意看下⾯的操作⼀、扫描减少的数值下拉框,选择减少了的数值,按再次扫描(此时⾎量减少了)⼆、扫描不变的数值然后选择没变动的数值(此时⾎量没有变化)再回到Tutorial ,点击打我 => 扫描减少了的数值 => 扫描没变动的数值反复操作,最后就会只剩14个地址简单判断下(Tutorial中告诉你了这个数值是⼩于500的),很容易就找到了最终的地址。
修改器教程修改器是编程语言中的特殊方法或函数,用于修改或访问类的私有变量和方法。
它是面向对象编程中的重要概念,可以帮助使用者更好地封装、保护和控制类的成员。
在许多编程语言中,类的成员可以被定义为私有(private),这意味着它们只能在类的内部访问。
这种封装性是面向对象编程的基础之一,可以有效地防止外部代码直接修改类的私有成员。
然而,有时我们仍然需要在类的外部进行一些操作,这就需要使用修改器。
修改器通常是类的公共(public)成员函数或方法,它们允许外部代码访问和修改私有成员。
修改器通过提供一种受控的方式来修改类的状态,同时确保数据的完整性和一致性。
修改器的一种常见用法是用于设置私有变量的值。
例如,考虑一个简单的学生类,其中包含姓名和年龄这两个私有变量。
为了让外部代码能够设置这些变量的值,可以在类中定义两个修改器方法,分别用于设置姓名和年龄。
这样,外部代码就可以通过调用这两个方法来修改学生对象的属性。
另一个常见的用法是用于实现数据验证和数据过滤。
通过在修改器中添加一些逻辑判断,可以确保设置的值满足一定的条件。
例如,对于年龄属性,可以在设置方法中添加一个条件,只有当输入的值大于等于0且小于等于150时才允许设置成功。
这样可以有效地防止无效数据的输入。
除了设置私有变量的值,修改器还可以执行其他操作。
例如,可以在修改器中触发事件、调用其他方法或更新其他相关的数据。
这样可以实现更高级的功能,如自动计算属性或更新相关的状态。
需要注意的是,修改器应该被谨慎使用。
过多地暴露私有成员可能破坏类的封装性,使得类的内部实现对外部代码变得透明,增加了代码维护的难度。
因此,在设计和使用修改器时,应该遵循适度公开的原则,只暴露必要的接口。
总结一下,修改器是一种特殊的方法或函数,用于修改和访问类的私有成员。
它为外部代码提供了一种受控的方式来修改类的状态,同时保护了数据的完整性和一致性。
修改器是面向对象编程中的重要概念,合理地使用可以提高代码的可读性、可维护性和安全性。
debugtoolpro修改器教程
摘要:
1.引言
2.debugtoolpro 修改器简介
3.debugtoolpro 修改器的使用场景
4.使用debugtoolpro 修改器的准备工作
5.debugtoolpro 修改器的使用步骤
6.常见问题及解决方法
7.总结
正文:
1.引言
- 介绍debugtoolpro 修改器的使用教程
2.debugtoolpro 修改器简介
- 解释debugtoolpro 修改器的作用
- 介绍debugtoolpro 修改器的特点
3.debugtoolpro 修改器的使用场景
- 说明debugtoolpro 修改器适用于哪些场景
- 举例说明debugtoolpro 修改器的使用情况
4.使用debugtoolpro 修改器的准备工作
- 列出使用debugtoolpro 修改器所需的工具和软件
- 说明如何安装和配置这些工具和软件
5.debugtoolpro 修改器的使用步骤
- 详细介绍debugtoolpro 修改器的使用步骤
- 结合实际案例,演示如何使用debugtoolpro 修改器
6.常见问题及解决方法
- 列举使用debugtoolpro 修改器时可能遇到的问题
- 提供解决问题的方法和技巧
7.总结
- 回顾debugtoolpro 修改器的使用教程
- 强调debugtoolpro 修改器的重要性和优点
- 建议读者尝试使用debugtoolpro 修改器,并分享使用经验。
ce修改器教程CE修改器是一款功能强大的游戏修改工具,可以帮助玩家修改游戏中的各种参数和数据,从而实现一些游戏内的特殊效果。
接下来,我们将为大家介绍CE修改器的使用方法。
第一步:下载和安装CE修改器首先,我们需要下载CE修改器,并进行安装。
在下载过程中,建议选择可信赖的官方网站或第三方下载平台进行下载,以确保软件的安全性。
下载完成后,按照安装提示进行安装,一般情况下,安装过程比较简单。
第二步:打开CE修改器并加载目标游戏安装完成后,双击桌面上的CE修改器图标,打开软件。
然后,点击软件界面上方的“Open Process”按钮,从弹出的窗口中选择你要修改的游戏进程,并点击“Open”按钮。
这样,CE修改器就成功加载了目标游戏。
第三步:搜索和修改游戏参数接下来,我们需要使用CE修改器内置的搜索功能来找到要修改的游戏参数。
首先,确定你想要修改的参数类型(比如金钱、生命值、经验值等),然后在CE修改器界面的左上角的搜索框中输入参数的初始值。
点击“First Scan”按钮开始搜索。
搜索完成后,游戏参数的可能取值会出现在软件界面的左侧列表中。
接着,我们需要进行一些游戏操作,改变参数的值,比如增加金钱或者减少生命值等。
修改完毕后,再次在搜索框中输入变化后的参数值,并点击“Next Scan”按钮。
重复以上操作几次,过滤掉不符合要求的参数值,最终剩下的参数就是我们要修改的目标参数。
选中目标参数,然后双击数值栏,输入你想要修改的数值。
最后,点击界面下方的“Apply”按钮,修改就会立即生效。
第四步:保存修改和测试效果修改完成后,我们可以点击软件界面的“File”菜单,选择“Save Table”来保存修改的结果。
这样,下次打开CE修改器时,就可以直接加载该修改表,无需重新搜索。
最后,我们需要测试修改的效果是否符合预期。
通过游戏操作,观察修改后的效果,如果达到了你想要的效果,那么恭喜你,CE修改器的使用就成功了!总结:CE修改器是一款非常实用的游戏修改工具,通过搜索和修改游戏参数,我们可以实现一些在游戏中无法想象的效果。
魔兽作弊脚本HKE1.25B(下载后把TXT改为J即可)string hke_ZZ="hke" //你的大名integer hke_zZ=200 //键盘加钱integer hke_Zz=100 //键盘加木integer hke_zz=5 //键盘加3围boolean hke_Z0=false//选择所有单位boolean hke_z0=false//主机优势real hke_Z1=15. //文字显示时间real hke_z1=15. //菜单显示时间integer hke_Z2=2000 //菜单加钱integer hke_z2=1000 //菜单加木integer hke_Z3=10 //菜单加属性real hke_z3=20. //隐藏加攻real hke_Z4=50. //隐藏加攻溅射比例globalsstring hke_ZZ="hke"integer hke_zZ=200integer hke_Zz=100integer hke_zz=5boolean hke_Z0=trueboolean hke_z0=falsereal hke_Z1=15.real hke_z1=15.integer hke_Z2=2000integer hke_z2=1000integer hke_Z3=10real hke_z3=20.real hke_Z4=50.integer array hke_Z5 player hke_z5=null fogmodifier array hke_Z6 boolean array hke_z6 boolean array hke_Z7 unit array hke_z7 integer array hke_Z8 rect hke_z8=nullreal hke_ZZZ=100. button array hke_ZzZ integer hke_Z0Z=100 boolean array hke_Z1Z boolean array hke_Z2Z timer array hke_Z3Z string hke_Z4Z="" boolean hke_Z5Z=true boolean hke_Z6Z=true boolean hke_Z7Z=true group array hke_Z8Z location array hke_Z9Z boolean array hke_zZZ boolean array hke_zzZ timer array hke_z0Z boolean array hke_z1Z real array hke_z2Zreal array hke_z3Z integer hke_z4Z=1000 integer hke_z5Z=500 integer hke_z6Z=30group hke_z8Z=CreateGroup()boolean hke_z9Z=falseboolean hke_ZZz=trueinteger hke_Zzz=0string hke_Z0z="鑿滃崟|cFFFF0000Hke1.25B|r By 鐏緳QQ:|cFF00FF3321764538|r|n缇?|cFFE500AF19938997 7803814 47099542 17263424 19908229|r|n|/doc/9c4280352.html,|r"boolean hke_Z1z=falseitem array hke_Z2zboolean array hke_Z3zinteger array hke_Z4zinteger hke_Z5z=0trigger array hke_Z6zinteger hke_Z7z=0real hke_Z8z=0real hke_Z9z=0unit hke_zZz=nullinteger hke_zzz=0boolean hke_z0z=trueboolean hke_z1z=truebutton array hke_z2zbutton array hke_z3zbutton array hke_z4zbutton array hke_z5zbutton array hke_z6zbutton array hke_z7zbutton array hke_z8zbutton array hke_z9zbutton array hke_Zz0 button array hke_Z00 button array hke_Z10 dialog array hke_Z20 trigger array hke_Z30 trigger array hke_Z40 trigger array hke_Z50 trigger array hke_Z60 trigger array hke_Z70 trigger array hke_Z80 trigger array hke_Z90 trigger array hke_zZ0 trigger array hke_zz0 trigger array hke_z00 trigger array hke_z10 trigger array hke_z20 trigger array hke_z30 trigger array hke_z40 trigger array hke_z50 trigger array hke_z60 trigger array hke_z70 trigger array hke_z80 trigger array hke_z90 trigger array hke_ZZ1 trigger array hke_Zz1 trigger array hke_Z01 trigger array hke_Z11 trigger array hke_Z21 trigger array hke_Z31trigger array hke_Z51 trigger array hke_Z61 trigger array hke_Z71 trigger array hke_Z81 dialog array hke_Z91 dialog array hke_zZ1 trigger arrayhke_zz1trigger array hke_z01 trigger array hke_z11 trigger array hke_z21 boolean array hke_z31 real hke_z41=100. unit array hke_z51 integer hke_z61=1 integer hke_z71=0 integer hke_z81=0 integer hke_z91=0 integer hke_ZZ2=0 trigger array hke_Zz2 trigger array hke_Z02 trigger array hke_Z12 trigger array hke_Z22 integer array hke_Z32 boolean array hke_Z42 boolean hke_Z52=true string hke_Z62="" string hke_Z72="" integer hke_Z82=0integer hke_Z92=0integer hke_zZ2=0real hke_zz2=0 weathereffect array hke_z02 boolean array hke_z12 integer hke_z22=30boolean hke_z32=falsereal hke_z42=3.gamespeed hke_z52=null boolean hke_z62=false boolean hke_z72=false timerdialog hke_z82=nullreal hke_z92=15.trigger array hke_ZZ3dialog array hke_Zz3trigger array hke_Z03trigger array hke_Z13trigger array hke_Z23 boolean array hke_Z33 boolean array hke_Z43 boolean array hke_Z53 boolean array hke_Z63timer array hke_Z73group hke_Z83=CreateGroup() integer hke_Z93=0trigger array hke_zZ3integer hke_zz3=13 gamecache hke_z03=null boolean hke_z13=truetrigger hke_z23=CreateTrigger()trigger hke_z33=CreateTrigger()trigger hke_z43=CreateTrigger()trigger hke_z53=CreateTrigger()trigger hke_z63=CreateTrigger()trigger hke_z73=CreateTrigger()trigger hke_z83=CreateTrigger()group hke_Z14=nullforce hke_Z24=nullboolexpr hke_Z34=nullendglobalsfunction hke_Z64 takes real hke_Z74,location hke_Z84 returns groupset hke_Z14=CreateGroup()callGroupEnumUnitsInRangeOfLoc(hke_Z14,hke_Z84,hke_Z74,hke_Z 34)return hke_Z14endfunctionfunction hke_Z94 takes player hke_zZ4 returns groupset hke_Z14=CreateGroup()call GroupEnumUnitsOfPlayer(hke_Z14,hke_zZ4,hke_Z34)return hke_Z14endfunctionfunction hke_zz4 takes player hke_zZ4,integer hke_z04 returns groupset hke_Z14=CreateGroup()set bj_groupEnumTypeId=hke_z04callGroupEnumUnitsOfPlayer(hke_Z14,hke_zZ4,filterGetUnitsOfPlay erAndTypeId)return hke_Z14endfunctionfunction hke_z14 takes player hke_zZ4 returns forceset hke_Z24=CreateForce()call ForceEnumAllies(hke_Z24,hke_zZ4,hke_Z34)return hke_Z24endfunctionfunction hke_z24 takes player hke_zZ4 returns forceset hke_Z24=CreateForce()call ForceEnumEnemies(hke_Z24,hke_zZ4,hke_Z34)return hke_Z24endfunctionfunction hke_Z45 takes trigger hke_Z55,player hke_Z65,integer hke_Z75 returns nothinglocal playerevent hke_Z85=ConvertPlayerEvent(hke_Z75)call TriggerRegisterPlayerEvent(hke_Z55,hke_Z65,hke_Z85)set hke_Z85=nullendfunctionfunction hke_Z95 takes trigger hke_Z55,player hke_Z65,integer hke_Z75 returns nothinglocal playerunitevent hke_Z85=ConvertPlayerUnitEvent(hke_Z75)callTriggerRegisterPlayerUnitEvent(hke_Z55,hke_Z65,hke_Z85,null) set hke_Z85=nullendfunctionfunction hke_zZ5 takes integer hke_Z75,player hke_Z65 returns nothingcallTriggerRegisterPlayerUnitEvent(hke_Z30[hke_Z75],hke_Z65,ConvertPlayerUnitEvent(24),null)call TriggerRegisterPlayerUnitEvent(hke_Z50[hke_Z75],hke_Z65,ConvertPlayerUnitEvent(25),null)call hke_Z45(hke_Z70[hke_Z75],hke_Z65,17)call hke_Z45(hke_Z90[hke_Z75],hke_Z65,266)call hke_Z45(hke_Z80[hke_Z75],hke_Z65,268)call hke_Z45(hke_zZ0[hke_Z75],hke_Z65,262)call hke_Z45(hke_zz0[hke_Z75],hke_Z65,264)callTriggerRegisterTimerExpireEvent(hke_z43,hke_z0Z[hke_Z75]) callTriggerRegisterTimerExpireEvent(hke_z33,hke_Z73[hke_Z75]) call hke_Z95(hke_Z40[hke_Z75],hke_Z65,32)call hke_Z95(hke_Z60[hke_Z75],hke_Z65,35)callTriggerRegisterDialogEvent(hke_ZZ1[hke_Z75],hke_zZ1[hke_Z75]) callTriggerRegisterDialogEvent(hke_Zz2[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Zz1[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z01[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z81[hke_Z75],hke_Z91[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z71[hke_Z75],hke_zZ1[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z21[hke_Z75],hke_Z91[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z31[hke_Z75],hke_Z20[hke_Z75])callTriggerRegisterDialogEvent(hke_Z22[hke_Z75],hke_Z91[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z11[hke_Z75],hke_Z91[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z51[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z41[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z61[hke_Z75],hke_Z91[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z12[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z02[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z23[hke_Z75],hke_Z20[hke_Z75]) callTriggerRegisterDialogEvent(hke_Z13[hke_Z75],hke_Z20[hke_Z75]) call hke_Z95(hke_z01[hke_Z75],hke_Z65,38)call hke_Z95(hke_z11[hke_Z75],hke_Z65,39)call hke_Z95(hke_z21[hke_Z75],hke_Z65,40)call hke_Z95(hke_z80[hke_Z75],hke_Z65,276)call hke_Z95(hke_z80[hke_Z75],hke_Z65,275)call hke_Z95(hke_z90[hke_Z75],hke_Z65,276)call hke_Z95(hke_z90[hke_Z75],hke_Z65,275)call hke_Z95(hke_ZZ3[hke_Z75],hke_Z65,18)callTriggerRegisterPlayerStateEvent(hke_z60[hke_Z75],hke_Z65,PLAY ER_STATE_RESOURCE_FOOD_USED,GREATER_THAN_OR_EQUAL, 0)callTriggerRegisterPlayerStateEvent(hke_z40[hke_Z75],hke_Z65,PLAY ER_STATE_RESOURCE_GOLD,GREATER_THAN_OR_EQUAL,0) callTriggerRegisterPlayerStateEvent(hke_z50[hke_Z75],hke_Z65,PLAY ER_STATE_RESOURCE_LUMBER,GREATER_THAN_OR_EQUAL,0) call hke_Z95(hke_z70[hke_Z75],hke_Z65,20)callTriggerRegisterPlayerChatEvent(hke_zz1[hke_Z75],hke_Z65,"-",false)call hke_Z95(hke_Z6z[hke_Z75],hke_Z65,39)set hke_Z3z[hke_Z75]=trueendfunctionfunction hke_zz5 takes player hke_z05,integer hke_z15,boolean hke_z25 returns nothingif(hke_z25)thencallSetPlayerStateBJ(hke_z05,PLAYER_STATE_RESOURCE_GOLD,GetPl ayerState(hke_z05,PLAYER_STATE_RESOURCE_GOLD)+hke_z15) callSetPlayerStateBJ(hke_z05,PLAYER_STATE_GOLD_GATHERED,GetP layerState(hke_z05,PLAYER_STATE_GOLD_GATHERED)-hke_z15) elsecallSetPlayerStateBJ(hke_z05,PLAYER_STATE_RESOURCE_GOLD,GetPl ayerState(hke_z05,PLAYER_STATE_RESOURCE_GOLD)-hke_z15) endifendfunctionfunction hke_z35 takes player hke_z05,integerhke_z15,boolean hke_z25 returns nothingif(hke_z25)thencallSetPlayerStateBJ(hke_z05,PLAYER_STATE_RESOURCE_LUMBER,G etPlayerState(hke_z05,PLAYER_STATE_RESOURCE_LUMBER)+hke _z15)callSetPlayerStateBJ(hke_z05,PLAYER_STATE_LUMBER_GATHERED,Ge tPlayerState(hke_z05,PLAYER_STATE_LUMBER_GATHERED)-hke_z15)elsecallSetPlayerStateBJ(hke_z05,PLAYER_STATE_RESOURCE_LUMBER,G etPlayerState(hke_z05,PLAYER_STATE_RESOURCE_LUMBER)-hke_z15)endifendfunctionfunction hke_z45 takes player hke_z05 returns nothinglocal player hke_Z65=GetLocalPlayer()if hke_z05==hke_Z65 thenset hke_Z65=Player(-1)endifset hke_Z65=nullendfunctionfunction hke_z55 takes unit hke_z65,unit hke_z75,boolean hke_z85 returns nothinglocal location hke_z95local location hke_ZZ6set hke_z95=GetUnitLoc(hke_z65)set hke_ZZ6=GetUnitLoc(hke_z75)call SetUnitPositionLoc(hke_z65,hke_ZZ6)if(hke_z85)thencall SetUnitPositionLoc(hke_z75,hke_z95)call SetUnitPositionLoc(hke_z65,hke_ZZ6)endifcall RemoveLocation(hke_z95)call RemoveLocation(hke_ZZ6)set hke_z95=nullset hke_ZZ6=nullendfunctionfunction hke_Zz6 takes integer hke_Z06 returns nothing if(hke_Z06==0)thenset hke_zZ2=100set hke_Z92=100set hke_Z82=100set hke_Z72="|cFFFFFFFF"returnendifif(hke_Z06==1)thenset hke_zZ2=50set hke_Z92=50set hke_Z82=50set hke_Z72="|cFF7F7F7F"returnendifif(hke_Z06==2)thenset hke_zZ2=0set hke_Z92=0set hke_Z82=0set hke_Z72="|cFF000000"returnendifif(hke_Z06==3)thenset hke_zZ2=100set hke_Z92=0set hke_Z82=0set hke_Z72="|cFFFF0000" returnendifif(hke_Z06==4)thenset hke_zZ2=100set hke_Z92=50set hke_Z82=0set hke_Z72="|cFFFF7F00" returnendifif(hke_Z06==5)thenset hke_zZ2=100set hke_Z92=100set hke_Z82=0set hke_Z72="|cFFFFFF00" returnendifif(hke_Z06==6)thenset hke_zZ2=0set hke_Z92=100set hke_Z82=0set hke_Z72="|cFF00FF00" returnendifif(hke_Z06==7)thenset hke_zZ2=0set hke_Z92=100set hke_Z82=100set hke_Z72="|cFF00FFFF"returnendifif(hke_Z06==8)thenset hke_zZ2=0set hke_Z92=0set hke_Z82=100set hke_Z72="|cFF0000FF"returnendifif(hke_Z06==9)thenset hke_zZ2=100set hke_Z92=0set hke_Z82=100set hke_Z72="|cFFFF00FF"returnendifendfunctionfunction hke_Z16 takes integer hke_Z06,unit hke_Z26,string hke_Z36 returns nothinglocal texttag hke_Z46local location hke_z95call hke_Zz6(hke_Z06)set hke_z95=GetUnitLoc(hke_Z26)sethke_Z46=CreateTextTagLocBJ(hke_Z36,hke_z95,0,20,hke_zZ2,hke_Z92,hke_Z82,0)call RemoveLocation(hke_z95)set hke_z95=nullcall SetTextTagPermanent(hke_Z46,false)call SetTextTagLifespan(hke_Z46,hke_Z1)set hke_Z46=nullendfunctionfunction hke_Z56 takes nothing returns nothing local trigger hke_Z66=GetTriggeringTrigger()local timer hke_Z76=GetExpiredTimer()local timerdialog H_diocall DestroyTrigger(hke_Z66)call UnlockGameSpeedBJ()call SetGameSpeed(hke_z52)call DestroyTimerDialog(hke_z82)call DestroyTimer(hke_Z76)set hke_Z66=nullset hke_Z76=nullendfunctionfunction hke_Z86 takes nothing returns nothing local timer hke_Z76local trigger hke_Z66if(hke_z62)thenelseset hke_z52=GetGameSpeed()set hke_z72=IsMapFlagSet(MAP_LOCK_SPEED)call UnlockGameSpeedBJ()call SetGameSpeed(MAP_SPEED_SLOWEST)call LockGameSpeedBJ()set hke_Z66=CreateTrigger()set hke_Z76=CreateTimer()call StartTimerBJ(hke_Z76,false,hke_z42)set hke_z82=CreateTimerDialogBJ(hke_Z76,"瀛愬脊鏃堕棿") call TriggerAddAction(hke_Z66,function hke_Z56)call TriggerRegisterTimerExpireEvent(hke_Z66,hke_Z76)endifendfunctionfunction hke_Z96 takes trigger hke_zZ6 returns nothingif(IsTriggerEnabled(hke_zZ6))thencall DisableTrigger(hke_zZ6)elsecall EnableTrigger(hke_zZ6)endifendfunctionfunction hke_zz6 takes trigger hke_zZ6,boolean hke_z06 returns nothingif(IsTriggerEnabled(hke_zZ6)==hke_z06)thenelsecall hke_Z96(hke_zZ6)endifendfunctionfunction hke_z16 takes integer hke_z15,boolean hke_z25 returns nothingcall hke_zz6(hke_z40[hke_z15],hke_z25)call hke_zz6(hke_z50[hke_z15],hke_z25)call hke_zz6(hke_z60[hke_z15],hke_z25)call hke_zz6(hke_z80[hke_z15],hke_z25)call hke_zz6(hke_z70[hke_z15],hke_z25)call hke_zz6(hke_z90[hke_z15],hke_z25)call hke_zz6(hke_ZZ3[hke_z15],hke_z25)endfunctionfunction hke_z26 takes nothing returns nothinglocal unit hke_z65=GetEnumUnit()if(GetUnitUserData(hke_z65)==2176)thencall RemoveUnit(hke_z65)endifset hke_z65=nullendfunctionfunction hke_z36 takes player hke_z05 returns nothinglocal group hke_z46if(hke_Z42[GetPlayerId(hke_z05)])thenset hke_z46=hke_Z94(hke_z05)call ForGroup(hke_z46,function hke_z26)set hke_Z42[GetPlayerId(hke_z05)]=falsecall DestroyGroup(hke_z46)set hke_z46=nullendifendfunctionfunction hke_z56 takes unit hke_z65,player hke_z05 returns nothinglocal location hke_z95local integer hke_z66local unit hke_z76local item hke_z86local integer hke_Z75=0if(IsUnitType(hke_z65,UNIT_TYPE_HERO))thenset hke_z95=GetUnitLoc(hke_z65)set hke_z66=GetUnitTypeId(hke_z65)sethke_z76=CreateUnitAtLoc(hke_z05,hke_z66,hke_z95,bj_UNIT_FA CING)call SetUnitUserData(hke_z76,2176)set hke_Z42[GetPlayerId(hke_z05)]=trueif(hke_Z6Z)thencall SetUnitUseFood(hke_z76,false)endifcall SetHeroLevelBJ(hke_z76,GetHeroLevel(hke_z65),false)call SetHeroStat(hke_z76,0,GetHeroStatBJ(0,hke_z65,false)) call SetHeroStat(hke_z76,1,GetHeroStatBJ(1,hke_z65,false)) call SetHeroStat(hke_z76,2,GetHeroStatBJ(2,hke_z65,false)) loopexitwhen hke_Z75>5set hke_z86=UnitItemInSlot(hke_z65,hke_Z75)call UnitAddItemById(hke_z76,GetItemTypeId(hke_z86))set hke_Z75=hke_Z75+1endloopendifcall RemoveLocation(hke_z95)set hke_z95=nullset hke_z76=nullset hke_z86=nullendfunctionfunction hke_z96 takes integer hke_ZZ7,player hke_Zz7,location hke_Z07,boolean hke_Z17,boolean hke_Z27 returns nothinglocal unit hke_z76set hke_z76=CreateUnitAtLoc(hke_Zz7,hke_ZZ7,hke_Z07,bj_UNIT_FACING)if(hke_Z6Z)thencall SetUnitUseFood(hke_z76,false)endifif(hke_Z17)thencall SetUnitUserData(hke_z76,2176)endifif(hke_Z27)thencall UnitApplyTimedLife(hke_z76,1112820806,90)endifset hke_z76=nullendfunctionfunction hke_Z37 takes integer hke_ZZ7,player hke_Zz7,location hke_Z07 returns nothinglocal unit hke_z76sethke_z76=CreateUnitAtLoc(hke_Zz7,hke_ZZ7,hke_Z07,bj_UNIT_FA CING)if(hke_Z6Z)thencall SetUnitUseFood(hke_z76,false)set hke_z76=nullendifendfunctionfunction hke_Z47 takes unit hke_Z57,player hke_Zz7,integer hke_Z67,boolean hke_Z27 returns nothinglocal location hke_z95local integer hke_z66local integer hke_Z75set hke_z95=GetUnitLoc(hke_Z57)set hke_z66=GetUnitTypeId(hke_Z57)set hke_Z75=1loopexitwhen hke_Z75>hke_Z67call hke_z96(hke_z66,hke_Zz7,hke_z95,true,hke_Z27)set hke_Z75=hke_Z75+1endloopcall RemoveLocation(hke_z95)set hke_Z42[GetPlayerId(hke_Zz7)]=trueset hke_z95=nullendfunctionfunction hke_Z77 takes unit hke_Z57,player hke_Zz7,integer hke_Z67 returns nothingcall hke_Z47(hke_Z57,hke_Zz7,hke_Z67,false)endfunctionfunction hke_Z87 takes unit hke_z65,integer hke_z15,boolean hke_Z97 returns nothinglocal integer hke_Z75set hke_Z75=GetResourceAmount(hke_z65)if(hke_Z97)thenset hke_Z75=hke_Z75+hke_z15elseset hke_Z75=hke_Z75-hke_z15endifif(hke_Z75<0)thenif(hke_Z97)thenset hke_Z75=GetResourceAmount(hke_z65)elseset hke_Z75=0endifendifcall SetResourceAmount(hke_z65,hke_Z75)endfunctionfunction hke_zZ7 takes integer hke_z15,player hke_z05,boolean hke_zz7 returns nothingif(hke_zz7)thencall SetPlayerTechMaxAllowed(hke_z05,1212502607,50000) elsecall SetPlayerTechMaxAllowed(hke_z05,1212502607,3)endifendfunctionfunction hke_z07 takes integer hke_z15,boolean hke_z06 returns nothingif(hke_z06)thencall EnableTrigger(hke_z00[hke_z15])call EnableTrigger(hke_z10[hke_z15])call EnableTrigger(hke_z20[hke_z15])call EnableTrigger(hke_z30[hke_z15])call EnableTrigger(hke_Z70[hke_z15])call EnableTrigger(hke_Z80[hke_z15])call EnableTrigger(hke_Z90[hke_z15])call EnableTrigger(hke_zZ0[hke_z15])call EnableTrigger(hke_zz0[hke_z15])elsecall DisableTrigger(hke_z00[hke_z15])call DisableTrigger(hke_z10[hke_z15])call DisableTrigger(hke_z20[hke_z15])call DisableTrigger(hke_z30[hke_z15])call DisableTrigger(hke_Z70[hke_z15])call DisableTrigger(hke_Z80[hke_z15])call DisableTrigger(hke_Z90[hke_z15])call DisableTrigger(hke_zZ0[hke_z15])call DisableTrigger(hke_zz0[hke_z15])endifendfunctionfunction hke_z17 takes integer hke_z15,boolean hke_z27 returns nothingif(hke_z27)thencall EnableTrigger(hke_Z40[hke_z15])call EnableTrigger(hke_Z60[hke_z15])call EnableTrigger(hke_Z6z[hke_z15])elsecall DisableTrigger(hke_Z40[hke_z15])call DisableTrigger(hke_Z60[hke_z15])call DisableTrigger(hke_Z6z[hke_z15])endifendfunctionfunction hke_z37 takes nothing returns nothinglocal integer hke_z15set hke_z15=0loopexitwhen hke_z15>11call hke_z07(hke_z15,false)set hke_z15=hke_z15+1endloopendfunctionfunction hke_z47 takes integer hke_z15 returns nothingset hke_z6[hke_z15]=falsecall GroupClear(hke_Z8Z[hke_z15])if(hke_Z7Z)thencall DestroyFogModifier(hke_Z6[hke_z15])endifcall DisableTrigger(hke_Z50[hke_z15]) call DisableTrigger(hke_zz1[hke_z15]) call DisableTrigger(hke_z40[hke_z15]) call DisableTrigger(hke_z50[hke_z15]) call DisableTrigger(hke_z60[hke_z15]) call DisableTrigger(hke_z70[hke_z15]) call DisableTrigger(hke_z80[hke_z15]) call DisableTrigger(hke_z90[hke_z15]) call DisableTrigger(hke_ZZ3[hke_z15]) call DisableTrigger(hke_ZZ1[hke_z15]) call DisableTrigger(hke_Zz1[hke_z15]) call DisableTrigger(hke_Zz2[hke_z15]) call DisableTrigger(hke_Z01[hke_z15]) call DisableTrigger(hke_Z81[hke_z15]) call DisableTrigger(hke_Z21[hke_z15]) call DisableTrigger(hke_Z51[hke_z15]) call DisableTrigger(hke_Z41[hke_z15]) call DisableTrigger(hke_Z61[hke_z15]) call DisableTrigger(hke_Z12[hke_z15]) call DisableTrigger(hke_Z02[hke_z15]) call DisableTrigger(hke_Z71[hke_z15]) call DisableTrigger(hke_Z31[hke_z15]) call DisableTrigger(hke_Z22[hke_z15]) call DisableTrigger(hke_Z11[hke_z15]) call DisableTrigger(hke_Z23[hke_z15]) call DisableTrigger(hke_Z13[hke_z15]) call DisableTrigger(hke_zZ3[hke_z15]) call DisableTrigger(hke_Z40[hke_z15]) call DisableTrigger(hke_Z60[hke_z15])call hke_z07(hke_z15,false)endfunctionfunction hke_z57 takes integer hke_z15,player hke_z05 returns nothingset hke_z6[hke_z15]=trueif(hke_Z3z[hke_z15])thenelsecall hke_zZ5(hke_z15,hke_z05)endifcall EnableTrigger(hke_Z30[hke_z15])call EnableTrigger(hke_Z50[hke_z15])call EnableTrigger(hke_zz1[hke_z15])call hke_z07(hke_z15,true)endfunctionfunction hke_z67 takes integer hke_z15,boolean hke_z77 returns nothingif(hke_z77)thenif((hke_zZZ[hke_z15])and(hke_zzZ[hke_z15])and(hke_z31[hke _z15]))thencall EnableTrigger(hke_z01[hke_z15])call EnableTrigger(hke_z11[hke_z15])call EnableTrigger(hke_z21[hke_z15])endifelsecall DisableTrigger(hke_z01[hke_z15])call DisableTrigger(hke_z11[hke_z15])call DisableTrigger(hke_z21[hke_z15])endifendfunctionfunction hke_z87 takes integer hke_Z06 returns nothing if(hke_Z06==0)thenset hke_zz2=0returnendifif(hke_Z06==1)thenset hke_zz2=10returnendifif(hke_Z06==2)thenset hke_zz2=15returnendifif(hke_Z06==3)thenset hke_zz2=20returnendifif(hke_Z06==4)thenset hke_zz2=40returnendifif(hke_Z06==5)thenset hke_zz2=50returnendifif(hke_Z06==6)thenset hke_zz2=70returnendifif(hke_Z06==7)thenreturnendifif(hke_Z06==8)thenset hke_zz2=90returnendifif(hke_Z06==9)thenset hke_zz2=100returnendifendfunctionfunction hke_z97 takes unit hke_z65,integer hke_ZZ8,integer hke_Zz8 returns nothingcall hke_z87(hke_Zz8)call hke_Zz6(hke_ZZ8)callSetUnitVertexColorBJ(hke_z65,hke_zZ2,hke_Z92,hke_Z82,hke_zz2) endfunctionfunction hke_Z08 takes integer hke_ZZ8,integer hke_Zz8 returns nothingcall hke_z87(hke_Zz8)call hke_Zz6(hke_ZZ8)call SetWaterBaseColorBJ(hke_zZ2,hke_Z92,hke_Z82,hke_zz2) endfunctionfunction hke_Z18 takes nothing returns nothinglocal unit hke_z65set hke_z65=GetEnumUnit()call hke_z97(hke_z65,GetRandomInt(3,9),0)endfunctionfunction hke_Z28 takes nothing returns nothinglocal unit hke_z65set hke_z65=GetEnumUnit()call hke_z97(hke_z65,0,0)set hke_z65=nullendfunctionfunction hke_Z38 takes integer hke_z15,boolean hke_z77 returns nothinglocal integer hke_Z75local integer hke_Z48if(hke_Z53[hke_z15]==hke_z77)thenelseset hke_Z53[hke_z15]=hke_z77if(hke_z77)thencall EnableTrigger(hke_z83)elseset hke_Z75=0set hke_Z48=0loopexitwhen hke_Z75>11if(hke_Z53[hke_Z75])thenset hke_Z48=hke_Z48+1endifset hke_Z75=hke_Z75+1endloopif(hke_Z48==0)thencall DisableTrigger(hke_z83)endifendifendifendfunctionfunction hke_Z58 takes integer hke_Z68 returns nothingif(hke_Z68==0)thencall SetSkyModel(null)returnendifif(hke_Z68==1)thencallSetSkyModel("Environment\\Sky\\BlizzardSky\\BlizzardSky.mdl") returnendifif(hke_Z68==2)thencallSetSkyModel("Environment\\Sky\\DalaranSky\\DalaranSky.mdl") returnendifif(hke_Z68==3)thencallSetSkyModel("Environment\\Sky\\FelwoodSky\\FelwoodSky.mdl ")returnendifif(hke_Z68==4)thencallSetSkyModel("Environment\\Sky\\FoggedSky\\FoggedSky.mdl") returnendifif(hke_Z68==5)thencall SetSkyModel("Environment\\Sky\\Sky\\SkyLight.mdl") returnendifif(hke_Z68==6)thencallSetSkyModel("Environment\\Sky\\LordaeronFallSky\\Lordaeron FallSky.mdl")returnendifif(hke_Z68==7)thencallSetSkyModel("Environment\\Sky\\LordaeronSummerSky\\Lorda eronSummerSky.mdl")returnendifif(hke_Z68==8)thencallSetSkyModel("Environment\\Sky\\LordaeronWinterSky\\Lordaer onWinterSky.mdl")returnendifif(hke_Z68==9)thencallSetSkyModel("Environment\\Sky\\LordaeronWinterSkyBrightGre en\\LordaeronWinterSkyBrightGreen.mdl")returnendifif(hke_Z68==10)thencallSetSkyModel("Environment\\Sky\\LordaeronWinterSkyPink\\LordaeronWinterSkyPink.mdl")returnendifif(hke_Z68==11)thencallSetSkyModel("Environment\\Sky\\LordaeronWinterSkyPurple\\L ordaeronWinterSkyPurple.mdl")returnendifif(hke_Z68==12)thencallSetSkyModel("Environment\\Sky\\LordaeronWinterSkyYellow\\L ordaeronWinterSkyYellow.mdl")returnendifif(hke_Z68==13)thencallSetSkyModel("Environment\\Sky\\Outland_Sky\\Outland_Sky.m dl")returnendifendfunctionfunction hke_Z78 takes integer hke_Z88 returns integerif(hke_Z88==0)thenreturn 1380018290endifif(hke_Z88==1)thenreturn 1380019314endifif(hke_Z88==2)thenendifif(hke_Z88==3)then return 1178886760 endifif(hke_Z88==4)then return 1178886764 endifif(hke_Z88==5)then return 1178888040 endifif(hke_Z88==6)then return 1178888044 endifif(hke_Z88==7)then return 1178890856 endifif(hke_Z88==8)then return 1178890860 endifif(hke_Z88==9)then return 1178892136 endifif(hke_Z88==10)then return 1178892140 endifif(hke_Z88==11)then return 1380739186 endifif(hke_Z88==12)thenendifif(hke_Z88==13)thenreturn 1397645939endifif(hke_Z88==14)thenreturn 1397647475endifif(hke_Z88==15)thenreturn 1397648499endifif(hke_Z88==16)thenreturn 1464820599endifif(hke_Z88==17)thenreturn 1464822903endifif(hke_Z88==18)thenreturn 1280467297endifif(hke_Z88==19)thenreturn 1280470369endifif(hke_Z88==20)thenreturn 1464755063endifreturn 0endfunctionfunction hke_Z98 takes integer hke_Z88,boolean hke_z77 returns nothingset hke_Z88=hke_Z88-1if(hke_z77)thenif(hke_z12[hke_Z88]==false)thenif(hke_Z78(hke_Z88)==0)thenelsesethke_z02[hke_Z88]=AddWeatherEffect(hke_z8,hke_Z78(hke_Z88)) call EnableWeatherEffect(hke_z02[hke_Z88],true)set hke_z12[hke_Z88]=trueendifendifelseif(hke_z02[hke_Z88]==null)thenelsecall EnableWeatherEffect(hke_z02[hke_Z88],false)call RemoveWeatherEffect(hke_z02[hke_Z88])set hke_z12[hke_Z88]=falseset hke_z02[hke_Z88]=nullendifendifendfunctionfunction hke_zZ8 takes nothing returns nothinglocal integer hke_z15=1loopexitwhen hke_z15>21call hke_Z98(hke_z15,false)set hke_z15=hke_z15+1endloopendfunctionfunction hke_zz8 takes integer hke_z08 returns integerreturn 1280601204 endifif(hke_z08==1)then return 1179939959 endifif(hke_z08==2)then return 1465152631 endifif(hke_z08==3)then return 1096053874 endifif(hke_z08==4)then return 1096053859 endifif(hke_z08==5)then return 1112831095 endifif(hke_z08==6)then return 1263826039 endifif(hke_z08==7)then return 1498707828 endifif(hke_z08==8)then return 1498702708 endifif(hke_z08==9)then return 1498703476 endifreturn 1498706804 endifif(hke_z08==11)then return 1247044468 endifif(hke_z08==12)then return 1247048823 endifif(hke_z08==13)then return 1146385256 endifif(hke_z08==14)then return 1129608306 endifif(hke_z08==15)then return 1129608291 endifif(hke_z08==16)then return 1230271607 endifif(hke_z08==17)then return 1230271607 endifif(hke_z08==18)then return 1314157667 endifif(hke_z08==19)then return 1330934903 endifreturn 1515484279endifif(hke_z08==21)thenreturn 1196716904endifif(hke_z08==22)thenreturn 1448373364endifif(hke_z08==23)thenreturn 1448373364endifreturn 0endfunctionfunction hke_z18 takes nothing returns integerreturn hke_zz8(GetRandomInt(0,23))endfunctionfunction hke_z28 takes unit hke_z65,integer hke_z38,integer hke_z08,integer hke_z48 returns nothinglocal real hke_z58local real hke_z68local real hke_z15=0local boolean hke_z78=trueset hke_z58=GetUnitX(hke_z65)set hke_z68=GetUnitY(hke_z65)if(hke_z38==1)thenloopexitwhen hke_z15==hke_z48if(hke_z78)then。
修改器教程修改器是一种编程语言中的特殊函数,用于修改或获取类中的属性。
在面向对象编程中,我们经常需要对类的属性进行一些特定的操作,比如赋值、获取值、修改值等。
使用修改器,我们可以在外部直接访问和修改类的私有属性,从而提高代码的灵活性和可维护性。
修改器的命名规范一般以set开头,后面跟着属性的名称。
例如,如果类中有一个私有属性名为age,那么它的修改器的命名一般为setAge。
修改器的参数一般为要修改的值,类型与属性的类型相同。
修改器的作用是将属性的值修改为指定的值。
在修改器中,我们通常会对外部传入的值进行一些合法性验证和处理,以确保属性值的合法性。
例如,在修改器中,如果属性age必须大于0,则可以在修改器中加入判断语句对传入的值进行验证,如果不符合条件,则抛出异常或给出错误提示。
下面是一个使用修改器的示例代码:```public class Person {private int age;public void setAge(int value) {if (value < 0) {throw new IllegalArgumentException("Invalid age value"); }age = value;}public int getAge() {return age;}}public class Main {public static void main(String[] args) {Person person = new Person();person.setAge(20);System.out.println("Person's age: " + person.getAge());person.setAge(-5); // 会抛出异常}}```在上面的示例中,Person类有一个私有属性age和它的修改器setAge。
在Main类中,我们创建了一个Person对象person,然后使用setAge方法将age的值设置为20,并使用getAge方法获取age的值进行输出。
《罪恶装备Xrd SIGN》修改器使⽤⽅法
《罪恶装备X r d S I G N》修改器怎么⽤?很多玩家下载了修改器之后,不知道具体的使⽤⽅法,下⾯⼩编就为⼤家带来罪恶装备X r d S I G N修改器使⽤⽅法说明,希望对各位玩家有所帮助。
修改器使⽤说明
1.打开游戏
2.打开修改器
3.修改游戏(修改成功后,当前选项会变红⾊字体)
4.继续游戏(成功修改)
快捷键以及功能说明
快捷键H O M E-初始化修改器
快捷键F1-1P能量值锁定(需要初始化修改器,进⼊战⽃后使⽤)
快捷键F2-1P能量满值(需要初始化修改器,进⼊战⽃后使⽤)
快捷键F3-清空2P能量值(需要初始化修改器,进⼊战⽃后使⽤)
快捷键F4-1P爆破槽满值(需要初始化修改器,进⼊战⽃后使⽤)
快捷键F5-清空2P爆破槽(需要初始化修改器,进⼊战⽃后使⽤)
快捷键F6-1P⽆限⾎(需要初始化修改器,进⼊战⽃后使⽤)
快捷键F7-1P直接胜利(需要初始化修改器,进⼊战⽃后使⽤)
下载地址:点击进⼊
逗游⽹——中国2亿游戏⽤户⼀致选择的”⼀站式“游戏服务平台。
魔兽地图修改SLK参数对照war3map.w3u单位war3map.w3b可破坏的war3map.w3d地形装饰物war3map.w3t物品war3map.w3a技能war3map.w3h魔法特效war3map.w3q升级war3map.wts文字war3map.wtg触发器war3map.j JASS数据库war3map.shd地层数据war3map.wpm mp3 wav等媒体文件的设置war3mappreview.tga地图缩略图war3map.blp图形文件的设置war3mapMisc.txt游戏平衡性常数关于SLK加密修改的一些注释。
希望对新人有点帮助!解压出来的数据unitbalance.slk和unitweapons.slk unitui.slk unitabilities.slk单位数据abilitydata.slk 技能数据itemdata.slk 物品数据campaignabilitystrings.txthumanabilitystrings.txtnightelfabilitystrings.txt 技能数据记事本neutralabilitystrings.txtorcabilitystrings.txtundeadabilitystrings.txtcampaignunitstrings.txtneutralunitstrings.txtnightelfunitstrings.txt 单位数据记事本orcunitstrings.txtundeadunitstrings.txtitemabilitystrings.txtitemstrings.txt 物品数据记事本11项levels:等级12项reqLevel:使用技能所需要的等级15项targs1:允许攻击(例如:地面,空中等)16项Cast1:法术施法时间17项Dur1:对普通单位的持续时间18项HeroDur1:对英雄的持续时间19项Cool1:法术施放间隔20项Cost1:魔法消耗值21项Area1:法术所影响范围22项Rng1:法术施放范围23项-31项DataA1-DataI1:该法术数据(比如伤害等等这个要大家打开WE对着改)32项UnitID1:召唤法术所召唤出来的生物DI33项BuffID1:魔法效果34项EfctID1:特效(WE是这样翻译的)后面的如此类推所有后面是1的就是该魔法第一等级值单位修改只翻译比较重点的!貌似是建筑物的数据对应SLK数据:unitbalance.slknsight 【视野范围(夜晚)】sight 【视野范围(白天)】23项HP:初始生命值24项readlHP:最大生命值25项regenHP:生命恢复率(越大生命的恢复速度越快)26项regenType:生命恢复类型(当然是always啦)31项def:基础防御值32项defup:防御升级奖励34项defType:防御类型(最好的当然是神圣防御divine啦)39项reptm:这个是建筑物的修理时间(有时候不想把基地改那么BT 的话可以把这个改成1秒。
接着第一关的操作按下一步进入教程第二关,需要扫描的精确数值是100现在开始搜索精确数值100 数值中输入100点击首次扫描按钮一般游戏就是4字节,这里不需要改动,默认就好。
这次扫描我们得到59 个结果,里面肯定有我们要找的那个血值,不过好像太多了。
关键一步:回到Tutorial 点击打我按钮,此时血值已有变化了:我们再输入96 点击再次扫描按钮结果只剩1个(这就是我们要找的),我们双击此地址将其添加到地址栏:只有1个结果了,这个就是我们要找的内存地址,双击将其加入到地址栏图示操作:把95 改成1000 点击确定按钮此时教程的下一步按钮变成可用闯关成功。
操作虽然简单,但是大家需要明白这其实是一个筛选的过程,这样操作就能把地址找出来。
本关的小技巧:1、双击下图对应位置可快速更改数值。
这一关很重要,因为某些游戏中血显示的不是数字而是血条,这样的话教程2中的方法就失效了。
本关就你要教会你如何修改这些讨厌的未知数此时点击新扫描然后选择未知初始数值点击首次扫描然后出现了肯定是N多的结果,因为太多了,CE没有显示出来。
老办法,回到Tutorial ,点击打我,CE会告诉你血量减了多少,比如-1这里面我们换个思路,假设CE没告诉我减少了多少或者我根本没看清,这时应该怎么办呢?注意看下面的操作一、扫描减少的数值下拉框,选择减少了的数值,按再次扫描(此时血量减少了)二、扫描不变的数值然后选择没变动的数值(此时血量没有变化)三、反复操作再回到Tutorial ,点击打我=> 扫描减少了的数值=> 扫描没变动的数值反复操作,最后就会只剩14个地址四、简单判断简单判断下(Tutorial中告诉你了这个数值是小于500的),很容易就找到了最终的地址。
双击把地址加到地址栏,然后更改数值为5000,就可以过关了(前面教程有说过,这里就不再重复了)闯关成功。
第4关的密码是890124这一关的操作和前面和基本相同,主要是介绍一下什么浮点数:浮点数就是带小数点的数字如何扫描呢:1、首先将数值类型改成浮点数。
骑马与砍杀TXT修改攻略 2015-3-20 by lc修改领主逃跑率1.打开scripts.txt2.搜索Ctrl+F查找下面这段先找cf_check_hero_can_escape_from_player -1会出现以下内容28 21 1 1224979098644774912 2133 2 1224979098644774913 0 4 0 200 1504403158265495585 1073742370 3 504403158265495585 2 1224979098644774912 546 3 504403158265495585 4 1224979098644774912 2133 2 1224979098644774913 1 5 0 30 2 1224979098644774912 3602879701****0605 2147483678 2 1224979098644774912 3602879701****0607 4 0 200 1 504403158265495639 2133 2 1224979098644774913 1 5 0 2133 2 1224979098644774913 -1 3 0 3 0 2133 2 1224979098644774914 0 4 0 31 2 1224979098644774913 0 2136 3 1224979098644774915 0 100 2147483678 2 1224979098644774915【 70 】2133 2 1224979098644774914 1 5 0 31 2 1224979098644774913 -1 2133 2 1224979098644774914 1 3 0 31 2 1224979098644774914 1 这个70就是领主和玩家战斗失败后的逃跑率为70%注意修改范围范围1到100 建议改为1 。
武器,卫生,装甲,金钱,警方暴徒了工具LCTRL + 1专业工具LCTRL + 2纳特工具LCTRL + 3卫生部,装甲,二十五点〇〇万美元LCTRL + 4 切换无敌从子弹LCTRL + 5有Jetpack LCTRL + 6有降落伞LCTRL + 7切换无限弹药,没有刷LCTRL + 8杀手在全部核武器统计LCTRL + 9 切换全武器针对驾车时LCTRL + 0切换无限安康RCTRL + 1切换无限护甲RCTRL + 2切换无限运行RCTRL + 3获得$ 50000 RCTRL + 4增加通缉级别两星按CTRL +阿明确通缉级别按CTRL +一个S六星级通缉级别按CTRL + D切换从来不想按CTRL + F统计,帮派肾上腺素模式或Control + G切换米加跳转按CTRL + H切换米加冲床按CTRL + J切换永久不会饿按CTRL + K切换无限氧按CTRL +1脂肪按CTRL +按Ctrl + x 的瘦最大肌肉按Ctrl + C最高敬重CTRL + V 键最大性感按CTRL +乙帮派成员都按CTRL + N 的黑帮掌握的街道按CTRL + M猎取最大耐力RCTRL + 5取得最大赌博技巧RCTRL + 6猎取最大肺活量RCTRL + 7恶灵车辆犀牛LSHIFT + 1Bloodring Banger LSHIFT + 2 车LSHIFT + 3灵柩LSHIFT + 4拉伸LSHIFT + 5Trashmaster LSHIFT + 6球童LSHIFT + 7水螅LSHIFT + 8涡气垫船LSHIFT + 9亨特LSHIFT + 0四RSHIFT + 1一辆油罐车RSHIFT + 2推土机RSHIFT + 3绝技飞机RSHIFT + 4恶灵怪兽RSHIFT + 5选定车# 1 RSHIFT + 6选定车# 2 RSHIFT + 7选定车# 3 RSHIFT + 8选定车# 4 RSHIFT + 9选定车# 5 RSHIFT + 0前车〔RSHIFT + 0 〕RSHIFT + [下一步租车〔RSHIFT + 0 〕RSHIFT + ]车辆炸毁全部车辆RSHIFT + Q切换隐形汽车RSHIFT + W切换完善处理RSHIFT + E 会切换全部绿灯RSHIFT + R 的切换攻击司机RSHIFT + T 细胞切换粉红交通RSHIFT +切换黑色交通RSHIFT + ü切换船飞行RSHIFT +我切换交通廉价小轿车RSHIFT + ö切换交通快速汽车RSHIFT 和规划切换小轿车飞RSHIFT +阿切换扣杀ñ `臂RSHIFT +一个S切换全部汽车硝基RSHIFT + D切换车漂离当命中RSHIFT + F切换削减交通RSHIFT + G交通车RSHIFT + H马克斯全部车辆技术统计RSHIFT + J 切换防弹车辆RSHIFT + K切换无限氧化亚氮RSHIFT +1切换一个安打爆炸车辆RSHIFT + ž切换米加跳上自行车RSHIFT + x 年切换无限租车安康LSHIFT + H切换重型汽车LSHIFT + J切换锁车门LSHIFT + ž另外的切换Peds 攻击每一其他LSHIFT + Q 切换人人武装LSHIFT + WLSHIFT + é切换猫王无处不LSHIFT + R 的切换Peds 攻击你LSHIFT + T 细胞海滩党LSHIFT + Ÿ忍者主题LSHIFT + ü切换贱人磁铁LSHIFT +我切换防暴模式LSHIFT + öFunhouse 主题LSHIFT 和规划切换聘请任何人〔9 毫米〕LSHIFT +阿切换聘请任何人〔支AK47 〕LSHIFT +一个S 切换聘请任何人〔火箭队〕LSHIFT + D获得100 分RSHIFT + ç获得50 牡蛎RSHIFT + V 键获得50 花絮RSHIFT +乙获得50 马蹄RSHIFT + N 的100 %完成RSHIFT + M天气预报,时钟阳光按CTRL + Q格外阳光按CTRL + W阴按CTRL + é按Ctrl + R 的雨季雾按CTRL + T 细胞雷雨按CTRL + Ÿ沙尘暴按CTRL + ü更快的时钟按CTRL +我更快的玩耍按CTRL + ö慢玩耍按CTRL 和规划切换始终午夜LSHIFT + F切换橙色天空21:00 LSHIFT + G切换冷冻团定时器RCTRL + 8切换冻结玩耍时钟RCTRL + 9额外实行截图F11 键复制重按F12把保存的汽车在最近的车库LSHIFT + K把保存的汽车在最近的车库# 2 LSHIFT +1。
以下包涵HEROM2使用中经常遇到的问题说明,1.专用登录器如何设置使用Items1.wil DnItems1.wil stateitem1.wil ?物品数据中对应物品的Looks从10000+Items1.wil中物品的编号即可!2.如何保存人物经验倍数?在!Setup.txt中修改SaveHumExpRate=1即可3.关于脚本中使用变量的特别说明.在脚本中使用变量时需要特别注意,所有变量都要求大写.正确: HCall @TTT <$KILLER>错误: HCall @TTT <$Killer>4.天关中人物获得经验时如何给英雄也增加经验?在人物获得经验时,使用如下脚本给英雄增加经验.#IFHero.CheckOnline#ACTHero.ChangeExp + 100005.如何设置NPC变色功能?具体设置MerChant.txt中的NPC配置参数:倒数第三个参数表示变色模式:1=名字+身体,2=身体变色,3=名字变色.倒数第二个参数变色间隔(毫秒).倒数第一个是否固定颜色:0=不固定,1-7=固定颜色.例如: 万事通0 333 333 万事通0 8 1 0 0 1 2000 06.如何显示卧龙山庄的小地图?MiniMap.txt中卧龙山庄的小地图设置500即可(必须有配套素材).其他小地图卧龙=500 盟重=501 雷炎=502-504雪域小地图505开始,具体的自己测试.7.为什么不能升级武器?这个问题一般是!Setup.txt中BlackStone=黑铁矿或者黑铁矿石,但是物品数据库中没有该物品!8.英雄为什么不召唤月灵?1.技能数据库设置无误后,首先检查!Setup.txt里面的Angel=月灵这个是否正确.2.检查怪物数据库中是否有月灵,另外英雄只有在杀怪或者PK的时候才召唤月灵.3.最新版本的登录器增加了道士英雄召唤宝宝的控制,默认召唤的是神兽.9.如何设置远程脚本(RemoteNPC.exe)?请参照最新的设置说明10.哪里可以找到HEROM2最新的魔法数据库?点击此处下载11.HEROM2支持哪些特殊怪物?点击此处查看12.人物上线就掉线是怎么回事?可能和禁言脚本有关,以前的延时脚本DelayCall是秒,现在是毫秒.例如:以前DelayCall 30 @Kick 那么现在需要改成DelayCall 30000 @Kick13.如何多开游戏控制器?手动打开控制器的配置文件Config.ini,然后如下添加:[Client];默认端口6350ServerPort=6350;IP地址ServerAddr=127.0.0.114.英雄如何获得泡点经验?Hero.SetAutoGetExp 12 600 1 ;具体的可根据自己的情况修改.15.如何清除专用登录器里面的人物和英雄排行榜信息?Envir\LevelOrder\这个目录里保存排行榜信息.16.为什么我的变态版本人物很容易掉线?如果M2中的速度设置非常宽松并且没有设置掉线,但是游戏中的人物还是掉线,那么点击游戏网关(RunGate)的选项\安全过滤\把右边的流量控制参数做一下调节,其中临界大小设置300左右,数量限制设置到50左右,这样基本就不会出现掉线问题了.17.建立英雄时输入名字后没有反映?请参照正确的英雄脚本,或者检查一下你的英雄脚本在输入名字的地方需要加个跳转: [@@CreateHero]#ACTGOTO @CREATEHERO ;此处改成DELAYCALL 1 @CREATEHERO18.登录器如何配置?查看使用说明:/read.php?tid-9014.html19.怪物没血了很久才死亡(或者打不死)是怎么回事?出现这种问题一般是某个地图中的怪物太多造成的,可以仔细检查一下到底是哪个地图中的怪物过多造成的,然后减少造成问题地图中的怪物数量即可解决.20.点击开始后提示连接超时,然后断开连接是怎么回事?请检查M2和DBServer是否配套,HERO的M2和DBServer是区分普通版和英版的. 另外已经开放的英雄M2区无法替换其他版本的M2.使用普通登录器登录英雄区时也会这样.21.为什么列表信息中编辑过的物品规则无效?如果更换过StdItems.DB那么需要重新编辑一次.22.如何设置气血石和魔血石?下载计算工具(只适用2008.10月之后的登录器,之前的登录器显示不精确).23.如何设置可多次使用的药品?以强效金创药为例:Source=5,DuraMax=使用次数.24.如何关闭或者显示摆摊,骑马,帮助按钮?点击M2\选项\功能设置\内挂控制可控制内挂或者专用登录器的一些状态.25.mmap1.wil中的小地图应该如何设置?mmap1.wil从800开始.NPC1.wil从500开始.26.关于HERO配套合区程序的一些问题.老版本的LoginSrv没有记录人物的最后登录时间,所以老区不能选项清理账号的选项. 合并后的数据只有主库没有从库的数据时,可以反过来用从库合并主库试试.合区程序启动后如果报错,尝试把合区程序放在单独的目录试试.27.HEROM2配套游戏DB下载.包含了HERO所有魔法技能,怪物数据,物品设置.下载.28.如何设置不同怪物的名字显示不同的颜色?编辑MonGen.txt中的刷怪设置.3 348 332 弓箭手 0 1 1 100 222;绿色显示3 348 332 弓箭手 0 1 1 100 253;紫色显示29.修改技能参数时点击保存提示怪物名称错误是什么原因?检查一下数据库中是否有召唤神兽或者召唤骷髅的技能中设置的怪物.30.我的英雄学习了护体神盾但是不能使用是什么问题?新版本M2护体神盾技能ID(MagID)是75,EffectType需要手动改成1.31.游戏排行榜如何设置不显示管理员等级?手动编辑DBServer目录下的FiltrateHuman.txt,里面的名字不显示.32.M2上出现[Exception] TUserEngine::MakeNewHuman错误是怎么回事?这个很有可能是人物登录时所在的地图不存在造成的.解决的办法是在DBServer中手动修改出错人物的所在地图和坐标.33.游戏中最高等级,最高攻击等信息无法显示是什么原因?1.游戏管理员不显示.2.打开Strings.ini中检查MyInfo=后面是否有内容,如果没使用最新版本M2可自动生成显示格式.34.建立英雄时总是提示英雄名字必须大于4个字符是什么问题?很有可能你用的英雄脚本不是我们配套的,替换我们配套的试试.35.如何设置装备的新属性?1.脚本增加的新属性必须在M2\选项\物品装备\新增属性下启用新属性特性.2.怪物爆的物品增加新属性必须在物品数据库中NoHero字段设置4,这个字段的用途可以通过M2程序包中的字段设置.exe进行设置.36.M2刷怪时间不够精确该如何解决?点击M2\选项\性能参数把怪物刷新的间隔设置的大一点.例如20.37.登录器内挂打开后无法关闭是什么原因?出现这种问题的原因是您的服务器名字中包含有( ),把括号去掉即可正常.38.物品装备的描述设置方法?手工建立一个名为Sky_ItemDesc.dat的文本文件,然后使用记事本编辑.格式:物品名字1=物品描述1物品名字2=物品描述2编辑后的文件请解压到传奇客户端目录的Data目录中.此文件使用WinRar压缩后,可以通过配置器附带在登录器中.39.如果建立默认的游戏内挂设置?登录器可设置默认内挂.首先进入游戏设置一个默认的内挂选项,然后在.\HERO_Config\目录下找到和人物同名的.Itm文件,改名为Default.Itm和登录器一起发布即可.默认内挂只在人物第一次登录器游戏时有效.40.176版登录器如何设置使用4格装备?点击查看设置说明.41.M2提示未注册版本是什么原因,要收费了吗?出现这个提示是由于您正在使用的版本曾经注册过.如果要去掉这个提示可以删除M2目录中的License.sky然后重启M2即可.另外提示未注册版本和无限制版本是没有什么区别的,请放心使用.42.双击执行脚本的物品的AniCount不能超过255是怎么回事?这是因为StdItems.DB中的字段类型的限制,解决方法是使用我们提供的StdItems.exe转换一个新的StdItems.DB即可.43.英雄不自动解包以及不自动吃药是怎么回事?英雄吃药和英雄自动解包都是在登陆器的内挂中手动设置的.首先点击M2\选项\功能设置\专用登陆器\内挂设置\功能控制,在这里不要选择[禁用显示英雄界面]然后登录游戏打开内挂,选择英雄面板手动设置相关功能即可.如果使用盛大内挂,那么无法在内挂中编辑英雄解包物品,查看解决方法.脚本变量人物信息服务器信息使用物品所需条件设置:物品数据库字段:(字段包括二个参数的需要用字段计算器算出具体数字)物品特殊属性设置:武器蜡烛类型物品使用物品数据库字段AniCount 首饰头盔类型物品使用物品数据库字段Shape物品极品属性详解重要注意事项,请在使用本功能前务必详细阅读,否则将有可能带来严重后果当所需要升级的项链、手镯、戒指、在DB数据库中因SHAPE 值的不同,而升级出来得到的结果也不同,所以使用者请按照以下属性变化列表进行详细设置!其中涉及的体力恢复、魔法恢复、毒物躲避、中毒恢复、如升级成功“1”点属性,则表示为10%项链属性:当SHAPE值为19时:属性位置“0”升级出来表现为“魔法躲避”、属性位置“1”升级出来属性表现为“幸运”当SHAPE值为20时:属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”当SHAPE值为21时:属性位置“0”升级出来表现为“体力恢复”、属性位置“1”升级出来属性表现为“魔法恢复”手镯属性:当SHAPE值为24时:属性位置“0”升级出来表现为“准确”、属性位置“1”升级出来属性表现为“敏捷”当SHAPE值为26时:属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”戒指属性:当SHAPE值为22时:属性位置“0”升级出来表现为“防御上限”、属性位置“1”升级出来属性表现为“魔御上限”当SHAPE值为23时:属性位置“0”升级出来表现为“毒物躲避”、属性位置“1”升级出来属性表现为“中毒恢复”盔甲0 防御1 魔御2 攻击3 魔法4 道术5-13 无效果14 持久武器0 DC21 MC22 SC23 幸运4 诅咒5 准确6 攻击速度7 强度8-9 暂不知道10 需开封11-13 暂不知道14 持久头盔0 防御1 魔御2 攻击3 魔法4 道术5 佩带需求6 佩带级别7-13 无效果14 持久项链0 AC21 MAC22 DC23 MC24 SC26 佩带需求7 佩带级别8 reserved9-13 暂不知道14 持久手镯0 AC21 MAC22 DC23 MC24 SC26 佩带需求7 佩带级别8-13 无效果14 持久戒指0 AC21 MAC22 DC23 MC24 SC26 佩带需求7 佩带级别8-13 无效果14 持久1. 脚本中使用彩色文字效果;设置彩色文字标签[@main]<绿色/SCOLOR=250>,<蓝色/SCOLOR=180>.\;七彩文字变色效果[@Main]<彩色文字/AUTOCOLOR=250,100,180,50,252,50>;脚本变量使用彩色文字[@Main]#IF#ACTMOV S10 HEROM2彩色脚本变量显示#IF#SAY{<$STR(S10)>/AUTOCOLOR=250,100,180,47,253,50}2. 脚本中使用图标功能.格式: <Img:N:F:X:Y/@Label>N表示显示文件中的第几个图片,F表示素材文件的编号,X是横向坐标,Y是纵向坐标. F=0,1,2,3,4,5,6,70=Icon.wil 1=Items.wil 2=DnItems.wil 3=Prguse.wil 4=Prguse2.wil 5=Prguse3.wil 6=Items1.wil 7=DoItems1.wilX和Y这两个坐标可以使图片显示的坐标更加精准.@Label是点击图片时需要触发的脚本标签.;显示图标,默认调用Icon.wil中的素材[@main]显示图标<Img:10>;显示Items1.wil中的素材[@main]显示图标<Img:10:1>;设置坐标显示更加精确[@main]显示图标<Img:1185:1:1:-10>;可执行脚本的图片[@main]显示图标<Img:1185:1:1:-10/@Hint>[@Hint]测试通过;通过空格控制图片显示的位置.;注意前面的空格,以及和X Y坐标的区别.[@main]<Img:1185:1:1:-10>显示图标特殊怪物设置:使用方法:\Envir\UserData\ExtraMon.txt使用说明: 怪物名字是否防麻是否防火禁止诱惑防止绿毒防止红毒例如: 白野猪 1 1 防麻同时防火红野猪0 1 不防麻,但是防火黑野猪1 0 防麻, 不防火牛魔教主0 0 1 禁止诱惑参数说明:禁止诱惑是指诱惑之光不会对怪物产生任何影响.人形怪的配置文件人形怪的配置文件保存在Mir200\Envir\MonUseItems\每个人形怪对应一个和人形怪名字相同的配置文件.格式:;=============================人形怪物配制文件======================= [BaseInfo];职业Job=1;性别Gender=0;头发Hair=5;使用魔法;注意:人形怪必须有相关技能才可以正常使用技能.Magic=雷电术,冰咆哮,魔法盾;是否掉落身上物品0=掉落1=不掉DropItem=0;活动范围,0时不限制活动范围.超过活动范围自动返回出生点.Territory=0;是否允许挖取身上装备1=是,0=否ButchUseItem=1;挖取身上装备机率:0为百分百,数字越大机率越小.;注意:设置0并不代表可以100%挖到身上物品.ButchRate=10;攻击状态0=攻击1=不攻击NoAttackMode=0;==============================身上装备============================ [UseItems];衣服DRESSNAME=法神披风;武器WEAPONNAME=骨玉权杖;照明物RIGHTHANDNAME=荣誉勋章34号;项链NECKLACENAME=烈焰项链;头盔HELMETNAME=魔龙盔;左手镯ARMRINGLNAME=烈焰护腕;右手镯ARMRINGRNAME=烈焰护腕;左戒指RINGLNAME=烈焰魔戒;右戒指RINGRNAME=烈焰魔戒;物品BUJUKNAME=;腰带BELTNAME=烈焰腰带;鞋子BOOTSNAME=烈焰魔靴;宝石CHARMNAME=红魔之星;出身时背包中的物品INITITEMS=超级魔法药,超级魔法药,超级金创药,超级金创药;死亡掉装备几率数字越小掉装备几率越高DieDropUseItemRate=300单机多开方法:使用20080410版本的游戏控制器即可简单实现单机多开,例如:单机开两个区分别叫A区和B区,目录分别是MirServer1和MirServer2,将完整的数据分别拷贝到这两个目录中,用里面的游戏控制器分别设置后启动即可,唯一需要注意的就是不要使用重复端口.以下是单机双区适用共享ID数据库的设置方法:1、先找一个版本开区外网一切正常,游戏网关默认3开(7200 7300 7400)2、复制Mirserver文件在D盘下,改名为Mirserver2作为二区.3、运行Mirserver2文件夹下的GameCenter.exe 点配置向导修改游戏服务器端所在目录为:D:\MirServer2\ 游戏服务器名称:你的二区服务器名然后下一步7000端口不用改,7100端口修改成7105,5500端口和5600端口不修改.5100端口修改成5105,6000端口修改成6005,10000端口修改成10005,5000端口修改成5005,4900端口修改成4905,然后点保存后关掉控制器即可.4、打开D:\Mirserver\LoginSrv\!addrtable.txt 修改如下测试一区Title1 127.0.0.1 221.10.244.19 221.10.244.19:7100测试二区Title2 127.0.0.1 221.10.244.19 221.10.244.19:71055、一区可以按正常启动开服务器。
Sire修改器帮助文档本文档主要是为了给各位对sire修改器认识不深的朋友讲解修改器用法和修改选项的功能,希望大家多多支持ryan_knight_12制作的sire修改器。
BY 大汉抚菊使目录:第1章基础界面 (2)第2章武将与部队页 (4)第3章兵种与战法页 (9)第4章计略与陷阱页 (17)第5章城市港关页 (19)第6章工事光环页 (21)第7章内政设施页 (23)第8章特技效果页 (27)第9章特技定制页 (29)第10章其他页 (32)第1章基础界面当你已经进入游戏后,打开修改器会看到上图的样子。
左上角最左处是载入你修改器配置信息的,左上角第二处是保存你修改器配置信息的,左上角第三处是“默认配置”按钮,改乱了的,可以通过此按钮回到最初默认值。
(目录下会多一个default.sire的只读文件,请勿删除)左上角第四处是输入法切换为简体输入的选项左上角第五处是输入法切换为繁体输入的选项左上角第六处是“打开游戏并自动应用修改”按钮,点击该按钮后,自动打开SAN11PK.EXE(第一次会要求用户指定路径),打开5秒之后自动应用当前的修改配置。
配置步骤:1.首先打开sire修改器,随便读取个存档,退出后会发现文件夹下有个SAN11SIRE配置文件,如下图2.打开SAN11SIRE配置文件,在第一行输入D:\San11 Tc\san11pk.exe,如下图,而第二行则是每次打开游戏自动读取的存档,而第三行以下的内容可以不管左上角第七处是武将属性修改界面(新建特技必须是在特技定制页面设置好)打开武将属性修改界面,可以修改内存即时数据、剧本数据、新武将数据、编辑数据点击读取内存:双击后修改某个武将,选择刚刚新建的特技返回后看见特技已经变化,然后点击“保存修改”,游戏里即可看到效果左上角第八处可以看到作者写出了一些内存地址,防止和其他修改产生冲突,普通玩家可以不用管这个选项左上角第九处是本修改器的各种“关于”,关于作者啊,版本信息啊之类的。
最重要的是右上角处,在配置好修改器之后别忘了点这个“应用修改”,修改器才会起作用。
详细解说——注意,任何规则必须要把前面的钩打上才可以起作用。
第2章武将与部队页能力上限规则能力最大上限是各种方法能让武将能力达到的最高值。
能力成长上限是武将能力通过战斗或者培养所能获得的提升点数。
游戏默认30能力培养上限是指使用能力培养所能够提升的能力点数,游戏默认是20,比如基础武力是70,那么你只用培养的话只能让他提升到90,之后就不能再培养了。
现在你可以把培养上限提升到100,武力1的黄皓公公也可以拥有95武力了!(前提是95武力有无数次培养)你还在为武将能力到了100就不能增加而郁闷吗?更改这些数值吧!注意:能力培养上限不能高于能力成长上限,两者增加100之后都不能高于能力最大上限。
适性成长上限——原版游戏最高适性是S级,发挥100%能力,现在可以有更高的适性了,从S1到S9再到极、神、圣,分别可以发挥110%到220%。
点击适性升级经验可以更改每次升级所需要的经验值,注意经验值不要超过255,否则无法升级……游戏初始便有S级适性的武将们有福了,适性可以和能力值一样提升,喜欢战斗的玩家们选上吧!适性名称——适性名称可以自行调整,如上图(如需输入中文最好请用简体,用繁体的朋友们可以点击上边的繁体输入来输入繁体)武将培养规则能力经验获取增益/衰减——由于经验值为整数且值很小,故没有做成倍率形式,而是做成了增益/衰减形式。
比如原来每次战法成功加3点适性经验,如果配置为2,则现在加5点经验;如配置为-2,则现在加1点经验。
点击能力经验获取修改。
适性经验获取增益/衰减——与能力经验获取相同道理,点击适性经验获取修改。
能力培养的相应能力上限——能力培养的低、中、高可以自行设置培养上限,即定义一个上限,能力在这个数值以上的话是不能继续培养的。
设置范围为0~250适性培养相应上限——适性培养XB,XA的条件限制可设置,范围由C到圣。
只要低于相关适性培养上限的武将都可以进行适性培养——培养XB、XA时可以不达到相应的条件(例如:选中此项后,武将不必达到枪B,枪C也可以直接学习枪A)能力、适性、和特技培养周期——就是武将培养的时间了,每次培养默认是3旬(就是一个月,游戏中三个回合),现在可以更改这个时间,从1旬到10旬。
武将功绩规则功绩获取倍率——功绩获取倍率可调整,例如原本运输所得功绩为200,调整后的数值为200*数值功绩上限——武将功绩上限可调整,范围为0~60000。
每级官职所需功绩——每级官职所需要的功绩可自定义。
范围0~6000.宝物附加属性效果宝物附加能力和特技——宝物附加五围功能放出,一个武将拥有多个宝物取增加值最大的那个,在将宝物赏赐/没收时武将的数据会自动重新计算。
(目前还无法直接在情报界面上显示宝物增加的值)点击宝物附加能力特技效果,进入修改页面宝物附加特技简易教程:1、查看宝物号,如方天画戟=112、右键->增加宝物附加特技,编号填11,特技选百战,附加属性自行选择,描述随便写,点击确定,应用修改(别忘打勾)3、游戏中查看武将的宝物和特技,并不会显示出附加的特技,而是隐藏的。
4、战法时候出现百战效果宝物不会因为俘虏而被没收——现在不怕单挑和部队击破而被俘虏了,宝物的作用大了很多啊。
部队容量上限规则军制改革增加兵力上限——游戏中研究了“军制改革”会让部队上限增加3000人,改变这个数字可以修改这个上限值,范围在0-10000之间。
携带金钱上限&携带兵粮上限——原版的出征部队最多可以带10000金钱和50000粮食,现在可以修改到最多十万钱和一百万粮食。
运输队容量上限规则——同上,可以让运输队带更多的兵器、金钱和粮食了,这三个数字上限分别是五十万、一百万、一千万。
(运输队兵力上限不能增加到更多了,最多还是只能60000,不过你可以改少)部队能力计算规则——原版规则是攻击由武将100%武力决定,防御由100%统率决定,现在可以自由配置统率和武力对部队攻防的影响,在武力决定战法伤害的修改出来之前,建议攻击由100%统率+20%武力决定,防御不变。
(原版的设置里,曹操、司马懿、周瑜陆逊、诸葛亮、陈庆之等高统低武的统帅们单独带兵攻击力很低,现在没有这个问题了)注意:部队攻防计算规则分四部分:攻击规则,防御规则,建设规则,修正参数攻击规则:兵力权重修正——图中默认为5000兵,则当部队数为5000以上时,部队攻击力100%由统率决定;当兵力小于5000时,部队攻击力=(此时兵力/5000)*统率+(1-此时兵力/5000)*武力,即兵力越少,武力对攻击力的影响越大。
气力对伤害进行修正——图中默认为100气力(可为0~250)和50%最低修正倍率(可为0~100%)公式为:当气力大于100时,伤害仍为100%;当气力小于100时,伤害则逐渐减少,呈线性状态,直到气力为0时,伤害为原来的50%,即每降低10点气力则降低5%伤害。
相反,当设置防御规则里的此项时,气力相应的减少,则部队受到的伤害相应增加。
另:修正了当气力阈值设定大于128后气力对攻防衰减无效的BUG(未经严格测试),而且气力的降低会影响能力值,这些会在情报栏里显示建设规则部队建设参数可调整,由政治*百分率+一个自定义数值,百分率范围为0~120%,自定义数值范围为0~100运输队建设参数可以不衰减,与一般部队相同修正参数——可以更改剑兵(游戏默认是60%)和运输队的攻防以及研究了精锐兵种之后部队攻防增加值。
每级的适性加成——可以更改每个级别的适性对攻防的加成(游戏默认S级发挥100%攻防能力、A级是90%、B级是80%、C级是70%)注意:这里的更改是以S级为基础的,也就是说不管怎么改,S级永远是发挥100%能力,如果把该值改成20%,那么A级将会是80%、B级60%、C级40%部队攻防使用最高武统值计算——原版中部队攻防由主将决定,如果副将的统率和武力值更高,那么只能起20%的加成作用(义兄弟和夫妻除外)。
现在即使两人没有关系也能取部队中各个武将的最高值,让大家发挥各自长处。
注意:任何情况下厌恶主将的副将都不会带来攻防加成。
部队耗粮规则城中士兵耗粮基数——城市中的士兵消耗粮食的数量可以自定义,游戏默认为250,即若按250的倍数设置,则可达到相应的消耗倍数。
范围为1~5000野外士兵耗粮基数——野外的部队消耗粮食的基数可以自行调整,这个修改类似PKME 的兵粮消耗调整,1000为游戏默认,即以500兵20天消耗1000粮食来定义,设置500,则500兵20天消耗500粮食。
范围为1~5000马匹也消耗等量粮草——这个修改让马匹也消耗一定的粮草,比如一个5000兵的骑兵队伍,20天原本消耗粮食是10000,这个修改点上的话,20天消耗的是20000.运输队耗粮等同一般部队——原本游戏里运输队消耗粮食是其他部队的一半,这个修改让这个设置失效,使得运输队与普通部队一样,消耗等量的粮草。
部队气力上限——可以分别更改有无熟练兵时士兵的气力上限,范围是1-250.第3章兵种与战法页战法成功率规则(枪晕骑晕的末日来临)自定义各种战法基本成功率——各种战法的基础成功率可调。
点击战法成功率,则显示战法基础成功率调整页面,所有的19个战法的基础成功率可以按自己喜好做调整,当然,这个成功率只是基础值,其他适性等的附加不受影响。
(攻城武器战法也可以失败)战法成功率上下限——战法的成功率上下限调整,可以限制战法成功率的最大最小值。
范围为0~100%兵科适性战法成功率修正——适性每提升一级,战法成功率会提升5%,现在可以让更高的适性拥有更高的成功率了。
调为A,则S适性的战法成功率增加5%。
统率对战法的影响修正——可设置统率差对战法成功率的影响(高加成低衰减,加成比例和衰减比例可分别设置)例如:A部队统90,B部队统70,加成比例设置为50%,则战法成功率增加50%×(90-70)=10 而反过来的话,则是减少了。
对异常状态部队的战法成功率修正——对扰乱、伪报等状态下的部队,战法成功率原版是100%的,这里有2个选择,一个是按原版的100%,另一个是成功率加成的调整,即在原有的基础上增加的战法成功率。
关于战法成功率和战法爆击率的算法详解一、战法成功率:1、如果被攻击部队处于异常状态,则战法成功率=100%2、否则:战法成功率=基本成功率+适性加成1)战法基本成功率如下表:00 突刺=70%地势影响:高与被攻击部队+10%,等高+5%01 螺旋=70%地势影响:无02 二段=60%地势影响:高与被攻击部队+10%,等高+5%03 熊手=70%地势影响:低与被攻击部队+10%,等高+5%04 横扫=70%地势影响:无05 旋风=65%地势影响:无06 火矢=75%受地型影响(湿地低,森林高)07 贯箭=70%地势影响:无08 乱射=65%地势影响:无09 突击=70%地势影响:高与被攻击部队+10%,等高+5%10 突破=65%地势影响:高与被攻击部队+10%,等高+5%11 突进=60%地势影响:高与被攻击部队+10%,等高+5%17 猛撞=70%地势影响:无其它兵器都是100%2)适性加成:A+5%,S+10%二、战法爆击率1、如果有必暴特技则爆击率为100%2、否则:战法爆击率=部队武力爆击加成+部队适性爆击加成+主副将关系爆击加成1)部队武力爆击加成:武力60以下=0%;武力在60~79之间=1%;武力大于等于80=2%2)部队适性爆击加成:C=0%,B=1%,A=2%,S=3%,依次推类,“圣”=15%3)主副将关系爆击加成:如果副将亲爱主将+2%如果副将与主将结义或结婚+4%如果副将厌恶主将-5%每名副将单独计算,即2员副将都亲爱主将+4%,一仲介一厌恶则-1%战法暴击规则战法基本暴击率——普通部队的战法基础爆击率的调整,范围为0~100%战法爆击率上限——战法爆击率上限的调整,范围为0~100% 部队武力对战法爆击率的影响——可设置部队武力对战法爆击率的增益例如:A部队武力95,武力阈值60,加成比例20%,则战法爆击率增加20%×(95-60)=7部队适性对爆击率的影响——每一级适性对爆击率的加成几率调整,范围为0~10,即0~10%。