662call怎么使用真正使用的时候是不是会按官...

在流星蝴蝶剑***目录下有一个名为level的文件夹,其中后缀为.pst的文件都是文本档,snXX_.pst是关卡人物控制档,编辑关卡人物控制比较繁琐一般人不建议尝试,而其中npcXX_/bbs或者/bbs下载,就不怕这个了)。

大家都熟悉隐藏命令weapon x,其中x代表武器模型编号,x就与这个数值相对应。

找这个数值的方法:从武器名字向前数8个字节(比如这个武器,就是从蛇吻那个“蛇”字的左半部分开始,向前数8个字节)。

截图3:(请注意我打框的内容,是4个FF,和截图4不一样)


这里表示此套装的操作对象:

这里表示所加的数值,最大可以改FF FF(即65535)

截图4:(请注意我打框的内容,只有3个FF,和截图3不一样)


三个FF说明加的不是什么好东西。

这里表示状态间隔时间(多长时间发作一次,改00就永远不会发作了),所以百毒不侵其实改这一个字节就可以了。(操作对象前面的第12个字节)

这里表示操作的对象:(FF FF FF前面的第16个字节)

这里表示减少或增加的数值(FF FF FF前面的第1个字节)

像截图3那种4个FF的套装,套装增加或减少的数值在最末的那个FF后面的第五个字节,像截图4那种3个FF的套装,套装增加或者减少的数值在第一个FF前面的第一个字节,为了避免大家记混,我们可以把他们分开来记,下面还要提到一种没有FF的套装,我们就把它当作另外一种来记。

截图5:(注意,这种套装是没有FF的,找地址位置比较棘手)

这里表示减少或增加的数值

“3、4、5号截图分别是3种不同的套装”,默念这句话,这样才不容易混淆,如果修改得当,这三种形式的套装是可以互相转化的(非常棘手,不建议这样改,如果修改请一定注意备份文件)


DES地图样式档基本教学文件

SceneObjects宣告:这个宣告我尚不能 解,一改这地图就变成了死亡地图(一出现就死),目前所知它是宣告在出生点设定处之前的共有几组的内容。

DummeyObjects宣告:这个宣告为此地图的可变动模形有多少,含出生点、机关配置、道具配置等,从第一个出生点设定处到档案尾部,可变模型共多少的宣告。

目前我仅研究出二个指令而已

Position <模型所在座标>

Custom  <模型内容>

Object 材质名称  <这个在可变材质名称中要配合PST档的设定内容,於上部的指令组则不可随意更名>

Quaternion: 我现在不知道这是设定什么,希望有高手能跟我交流意见。

TextureAnimation: 好像是设定它会动(旋转)的状况,希望有高手能跟我交流意见。

name=这个材质不可见属性

ticket=宣告内容在那个游戏模式中才有效

model=武器代号(请上基地精华区查看武器所对照的W*_**)。

model=道具代号(请上基地精华区查看道具所对照的item*_**)

"flybar"好像是钟乳洞过关後过场动画萧安所捡的那把匕首模型

"sn02st01"秦皇陵吃到镖物所出现的浮空台

"Sn05door"皇天城任务时在三楼的门

"safe" 为截镖模式的出口

"safeA"为截镖模式流星队的出口

"safeB"为截镖模式蝴蝶队的出口

"damage数字"为这个物件本身的伤害力

可写复数如ticket=1,4,5表示这项在盟主、暗杀、死斗中才出现。

EXE文件 修改 之 建场人数和初始血值

去下载随意一款16进制修改器,比如ultraedit

找到後它附近也应有选人数时的其他几个数值

把它改为你想要的人数就可以了

1.08版给官方做了手脚

上面的 100% 等等 是改建场初始血值的地方~

设定此行为注解,不必执行.

设定两个符号内的全是注解

这段程序可让NPC们全数修正行为

载入另一个档案一起执行.

这就简单的副程序构成,及呼叫方式

新发现一个更省事的方法就是/position指令!

先开启你要编辑的地图,进入游戏中,输入/position指令,那堋左上角对话区会出现你现在的座标(整数部份),你开始绕地图各个角落,把你想设立路径点的座标抄下来即可得到你要的路径点了。要关掉/position指令则再输入一次即可。建议点与点的位置不要超过600的大小,

还有在地图转角处一定要设立路径点,以免到时NPC一直想穿墙。

WP档的开头是宣告路径数,你把笔记路径点的路径数计算好之後,在WP档输入

WayPoints 路径数 的指令,记得!路径数一定要对,不然WP档在执行时一定会出现WP档错误的状况而不能执行。

在开始做之前你最好以构思好路径连结方式,因为不知道有没有注解指令,所以不能下注解一但编辑错误到时後会让你查错误查到吐血,路径点的构成包含了Pos 指令Size 指令及Link

指令和与各路径间的长度所组成,且路径编号是重头到尾的,不能自己想放那就放那。

Size 10 [代表第0点可影响的座标值范围,此范围为最小100的半径座标点最大200的半径座标点(因为NPC自身会活动约100半径座标),也就是为X最大影响范围,924.331为X最小影响范围,624.005为Y最大影响值,224.005为最小影响值]

Link 1 [宣告这个点的连结数,至少要1点不然会出错。]

Pos 是设定路径点的座标位置,你把笔记的座标套用上去即可,只是要把整数略做修改为浮点数,(直接写整数我没试过,你可以试试,或许可以)。

Size 是设定路径点影响座标范围Size*10+100即为宣告这座标X,Y的范围,数值大小请自己计算。

Link是宣告路径点与多少其它路径连接,最好在编写前已做好笔记才不会出错。

waypoint s length是宣告与路径点连接的长度及行径方式。

如果你编写完後载入一支没错误的AI,系统突然暂停,建议先按ALT+TAB键回到WINDOWS,如果看到WINDOWS有一个WP档错误的视窗出现则表示你编辑的WP档有错误!你就要开始除错了……

WayPoints宣告的路径数与制作的路径数不相同:

因为档案不能注解所以这是最容易犯的错误!路径组写了五、六个之後就一定会大过整个萤幕,你不可能像上面范例一样只有两个路径点,所以建议先拿一本笔记本来做,会比较不会出现这个错误。

Link宣告的路径连结数与底下的连结指定不相同:

宣告3个连结仅写2个连结距离这是错误的。

如WayPoints宣告为42那堋路径应只有0-41的路径编号,结果出现42 334.245的?述,那堋百分之百这WP档是错误的。

你可以叫出了AI表示WP档的结构没有错误,接下来是逻辑除错部份。

AI不动:如果不是AI本身的问题,那堋就是路径设的太疏散且Size的设定范围太小,建议点与点的距离不要超过600。

AI跑到一半绕圈圈:点与点的距离没算好,且靠AI的延伸100座标值的距离仍不足够,建议两个点的X,Y,Z三轴都没一个相同的话,请用三角函数来计算距离,不然就跟我一样以变化一个轴为主(只要做加减即可)。

AI跑到一半折返一段距离再前进:点与点的距离没算好,超过了距离量,建议两个点的X,Y,Z三轴都没一个相同的话,请用三角函数来计算距离,不然就跟我一样以变化一个轴为主(只要做加减即可)。

AI在墙边一直跑:这一定是你的线穿墙或者墙对面的点Size所设定的范围影响到,且墙对面的点比目前所在的点还接近目标位置。

GetChar("player"); 得到第一位玩家的ID(这是没用的指令,因为第一位玩家一定是1号)

GetChar("vip");得到己方首 编号,这个指令在SN档中使用会容易得到-1(不存在)的值,仅能用在NPC档中才能正确启用。

GetChar("XXX ");得到指定人物的编号,游戏中没有这个人物值一定是-1.

a就等於重楼的当前ID

GetAnyChar("vip");得到己方首 编号,这个指令在SN档中使用会容易得到-1(不存在)的值,仅能用在NPC档中才能正确启用。

GetAnyChar("XXX ");得到指定人物的编号,游戏中没有这个人物值一定是-1.

a就等於重楼的当前ID

得到任一ID目标的目前生命值

b就等於重楼的当前生命值

得到任一ID目标的最大生命值,(经我测试应该说是初始值才对,这个值不会因吃华陀而改变…所以我的结论是得到初始值)

b就等於重楼的初始生命值

得到任一ID目标的所在队伍.

如果重楼不存在或重楼并没有分队b的值为0

如果重楼在流星,b的值为1

如果重楼在蝴蝶,b的值为2

得到任一ID目标他当前的目标敌手ID.

如果重楼不存在或重楼目前并没有锁定对手b的值为-1

如果重楼没有分队已锁定预设对手,b的值为1(就是玩家)

如果重楼已锁定对手,b的值为对手的ID

如果b值等於-1但不是重楼不存在照成的,那堋NPC可能会站著发呆.

得到入游戏後所过的秒数.

由ID 编号2号的NPC计算目前时间并说出来.

NPC跟随到指定人物[人物参照GetChar()函式]或是指定ID人物.

NPC在所规定的巡逻点实施巡逻.

NPC不顾一切的跑到IDX的目标位置,若a为不存在则为跑到目标位置,a值大於0则到目标位置实施攻击.

NPC追杀指定人物[人物参照GetChar()函式]或是指定ID人物,若为同队则同於"follow"副指令.

//重楼不顾一切的跑到景天旁边不管他是不是同队先海扁一下再说

//重楼追杀景天如果是同队则死命跟著景天.

NPC做出上个动作後过了几秒再做下个指定动作,但程序仍然在执行中。

...重楼使出了大绝...被躲掉了==!!..被修理了!

...重楼再度使出了大绝...又被躲掉了==!!..又被修理了!

...重楼以超快的速度绕跑了....

叫玩家做指定动作,这个指令区网没有作用.

送出孟星魂?交谈内容(这是电脑会设定玩家名称为孟星魂?)

孟星魂?做出上个动作後过了几秒再做下个指定动作,但程序仍然在执行中。

孟星魂?暂时不能操控开关1为不能控制0为可以

设定IDX编号所代表物

a的值为座标值,倘若重楼的座标在景天的座标为-101,111,0,那堋a值即为的数值,300以内的数值几乎就算是面对面了.

a的值即为0-9的其中一值

在用editai命令时,我发现制造路点很简单!在输入


editai命令时,头上有个方框,那就是你要放路点的
位置!你可以在原地不动,就可以制作远处的路点.
把方框指向你想要制作路点的地方,按下以下键就
按1键:制造一个最小范围的路点

按2键:制造一个中等范围的路点

按3键:制造一个大范围的路点

按4键:制造一个超大范围的路点


(路点的范围就是电脑的行动范围)

按m键:打开路点显示或关闭路点显示!

按空格键:选择你要编辑的路点!(把方框指到你要


编辑的路点,按空格键就变成红色的,表示你可以编

按z键:要在路点变红色才能用,可以对路点位置改变!


这个键只要按一下就可以用ASDW键控制左右前后.F键
控制路点往上升!v键路点往下降!(提示:高级版本不好用哦!)
在按一次这键就关闭位置改变功能.

按删除(←)键:就是先让路点变成红色的了在按这个键

按p键:可以把整个地图的结构显示出来(在按一下

保存路点命令是Shift+S键

主机防T修改方法(全完美版)

魔尊道:希望这类修改可以传开。

修改工具:winhex(16进制编辑器),OllyDbg(动态反汇编)

先给大家提供一个老生经验,某个关键子程序入口, call 49d3c0, 49d3c0处的子程序负责处理除主机外的玩家加入游戏的人物模型的过程。

上面的 处是由两个地方跳转来的 ,也就说明了存在两种“Load new character ”失败的情况。这两种情况一种是自己进场,一种是别人加场,不细说了。追溯其跳转源,寻找到下面的地方

看,关键的子程序49D3C0出场了,好,接下来进入游戏,找个朋友加你的游戏,然后切换回来直接在 Case 9 of switch 那行下断,我们要追踪人物模型代码的流向。这时切换回游戏,要你的朋友adddummy2 一个正常人物模型的 AI 比如律香川,(MODEL=19),成功中断,接下来F8单步运行,时刻留意左上的寄存器数值,最终在

运行后发现,ECX=13,0h13=0d19,到这里就好办了,搞个跳转出去到个空白的地方对ECX做做手脚就OK了,比如,

这样的执行结果,就是,所有加你场的,不管模型正常与否,全设定为律香川,当然负作用就是所有加场的玩家,在你眼里,全成了律香川,HOHO,再也不会有人使用体型小的 冷燕下蹲 让你的小跳攻失败了。

当然这个改法笨了点,较的好的改法是对ECX进行判定,当其大于0小于19时,正常运行,否则就给指定ECX=19等等。

同样的方法,可以解决新AI武器模型异常的问题,举一反三,就能解决了

修改思路-----修改地图DES文件,在每个地图的隐蔽角落(比如四方阵中央平台下方坐标大约为1 1 -200 的位置),摆放从1-58的所有武器,这个地方不修改地图的人看不到,如此而来,修改了错误武器参数的人,只要一进场,就会被直接踢回桌面,当然也就防止了这些人丢武器踢主机了.

以修改四方阵为例,我给大家说一下修改方法,

因为地图上本来有56个道具,我们给增加了58个武器,所以 56+58=114.

这时只要建立主机四方阵,那些修改了武器参数的"准恶意玩家"只要进你的主机就会先被踢回桌面.

为了便于新人们理解,我把当时很笨的办法再跟大家说一遍.使用动态汇编工具(98下推荐TRW,2K以上推荐OLLDBG)将meteor.exe载入,搜索字符串,然后依次所有的reborn,fool,cure关键字下断点,记住是"依次",为什么找这三个关键字?因为reborn代表复生,fool在user.cfg中指的是 救人的命令键---就是默认的"T",cure是治疗的意思.每下一次断就去游戏中救人,/然后对中断下来的断点进行仔细分析(印象中好像当时90%的断点都能起作用),经过N久的测试分析,我跟进一个call,并确定这个CALL就是"队长救人"的子程序,有兴趣的朋友可以尝试走走我这老路子.新方法请恕我现在不能说,有别的意思.

4f2c4f那里的 PUSH 50,就是全屏幕救人的关键所在, 默认情况下 救人的距离是50.000个坐标点,可用POSITION命令仔细一下,也是大约这个距离. 要想全屏幕救人,只要将其改大了OK了.但这里有个问题.你改成push 79,还行,但一但超过80,这条PUSH 命令的长度就超过了现在的2字节,势必覆盖了下面的PUSH ECX,命令这样将会造成不可预知的错误,因此我们得在这里花点小手段,比如事先将一个大数 MOV进某个寄存器,然后再PUSH这个寄存器就可以了,这样,这个PUSH命令只会占用1个字节,再将第二个字节NOP掉就OK.至于选择哪个寄存器,当然是选择EAX(如果别的朋友有选择其他寄存器的,只要不影响程序的运行也可以),因为EAX一般情况用来存储CALL的返回值或者累加器,改了对程序影响不是很大,再者,这条指令的上下关系上,我把他变成容易理解的语言,如下:


EAX=(ESI所存数指向的地址的双字数据)

EAX再被赋于新值前,先转存进了EBP,这样只需在前面代码的某个地址,先

这样,就完成了救人距离的修改.在前面的mov eax,****这条指令所占空间最好能找个合适的条件跳转,将其NOP,然后就可以占用其指令空间了.比如nop掉4f2c27处的条件跳转,并使用其后指令空间.


-------------
特别强调,这修改法有个漏洞,原因就在于NOP4F2C27处,因为我NOP的是非队长救人后面的一个跳转而不是本文里介绍的那个.考虑到某些因素,不便公开非队长救人跳转的地址了.但目前我还没发现这个漏洞会造成什么麻烦.
--------------
我写的教程总会让某些人难以理解,如果有理解上的问题可以问我,汇编最基础性的问题,恕不作答了.祝大家修改成功.在网上表演超时空救人术。
SFX修改之 火******榴弹 修改教程
改过SFX的DIYER先别提反对意见,且看我解释于你们:
SFX目录下的EF文件是保存流星声音与效果的文件(某人说:废话)。如果对这些EF文件进行修改,可以在单机(本地)看到修改的效果,如果在网络上,则只有你自己才能看到修改效果,别人看不到。(大部分搞SFXDIY的同行估计到这里就无法进行了)。

给没改过SFX的玩家一点辅导:


首先,很多人都会改POS了吧,POS里有一项EffectID,比如指虎的前前A,POSE421,就是
这一行说明改招的效果存放在SFX目录下 POSE421.ef 这个文件里,如果你将他改成
这样你发指虎的前前A时,你脚下就会出现被火***打中的那个红点。联机时别人看不到红点,没什么异样。
如果将gunhit.ef 与FireBRK.ef文件互换,你就会看到你火***打到地面上时,出现的不是红点,而是一团爆炸。----此为***榴弹一说的来源。
但是———,这种该发只能你自己看到,联网的玩家看到的还是红点~*-*

正文:我要说的正是如何让别人,让网上的其他玩家看到 你的火***打出的不是红点,而是爆炸。其实很简单,首先要按上面说的,将gunhit.ef 与FireBRK.ef文件互换,然后在SFX目录里不起眼的一角有个effect.lst文件,用记事本打开,就看到一排文件名,是本目录下的EF文件名。再将这里面的gunhit.ef 与FireBRK.ef文件名互换,记住!!!一定要互换,而不是单单把一个文件名改为另一个,至于原因留给你们自己研究。好了 修改完毕。这时上网去SHOW你的***榴弹就OK了。

本次修改的原理:effect.lst 文件存放了各种 非招式效果,记住是“非招式效果”的声效顺序。你的火***一开***,就告诉了服务器 :“被我打中的地方要呈现FireBRK.ef效果”。呵呵~~同理,你也可以在暗杀模式里,救人时,告诉服务器“被我救到的人要呈现‘自杀’效果”,有兴趣的自己改去

在***目录下有个名为cmodel的文件夹里面那些名为w0_0.GMC和w0_0.GMb的就是模型。

注:有形原模被分为N个小的平面或弧面,没一个Vertices语句代表一个平面或弧面的属性.

窗口模式运行流星进战网的方法:

把fullscreen 设置为0,然后在平台设置中设置游戏执行文件为config.exe,在平台运行游戏即可。

(注:宽带中国,互动,浩方三大平台中,只有浩方无法这么做)

流星队伍修改器制作方法

修改工具:GameExpert,金山游侠(这个可以没有)

用GE(也可以用金山游侠,我是用GE不行才用的金山游侠),打开流星,选择个死斗(暗杀也行),先选流星,然后在选人物界面唤出GE,搜索1,完毕,回游戏,退到选队伍界面,选蝴蝶,唤出GE,搜索2,完毕,回游戏,再选流星……如此这般,折腾到只有一个地址为止,里面的数值,0是无队伍,1是流星队伍,2是蝴蝶队伍,3是异常模式队伍(全身白,易卡,不推荐使用)

然后,将此地址在GE里面用那个“小锤子”做成修改器就可以了(注意,一定要自动锁定,不要热键锁定,当然,热键是可以设置的)

注意:不同的机器中,对应地址不同,所以做出的修改器只有本机使用才可以

现在网络上早就有无数的成品公布,发布教程也是徒劳(肯定没有人愿意学,都用补丁去了。)

不过还是希望想学修改的各位能够潜心研究一下,对汇编知识有提高,因为流星的修改有时候需要用到综合知识,瘸腿可不行。

用w32dasm打开meteor.exe,随便搜索一个命令(比如kick),然后往下翻页会看见眼熟的其他命令,但隐藏命令和非隐藏命令的分界线在何处呢?去搜closeserver,往后看那几行代码,这个地方就是检测命令的地方,我把汇编语言搬上来详细分析:


jne 004B648B(jne是不等于则跳转)意思是说,在前面的寄存器的检测比较中,值不相等则跳转,004B648B正好是下一个命令的地址,所以说命令的检测方法就是检测你输入的命令是否与此命令相同,若相同,则执行,不相同,则跳转到下一个命令继续进行判定。

但closeserver命令后面,有如下代码:


翻译过来就是:就说检测ecx是否为0,不为0则跳转到下一个地址,因此需强制指定其跳转 ,隐藏命令与非隐藏命令的分界线就在这个地方,只需把jne改为je(相等则跳转,与jz一样)或者jmp(无条件跳转)即可。

反正隐藏命令补丁已经满天飞了,下面我提供16进制改法

首先要确定地址位置,用WinHex打开meteor.exe,好乱啊,熟练的汇编程序员可以从这些16进制代码中直接读出汇编语言的意思(还好我们有反汇编,不必这么做~^_^),搜索c1f(汇编语言对应的16进制代码),然后把其中那个75改成74(jne改je了),保存,修改完毕。

参考资料

 

随机推荐