流星蝴蝶剑的所以函数解释详细

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流星蝴蝶剑的所以函数解释详细相关的知识,希望对你有一定的参考价值。

// Rule 1=盟主2=截镖3=守城4=暗杀5=死斗int Rule = 5;
  int RoundTime = 20;这个是游戏的时间 单位为:分钟
  int PlayerSpawn = 10;这个是主角游戏开始时出现的地方
  int PlayerSpawnDir = 90; 这个是主角出现时面对的方向 根据旋转角度计算(最大值为360)
  int PlayerWeapon = 5; 这个是主角出场是携带的正武器 5=匕首 6=剑 7=枪 8=刀 9=锤子(其他详见相关资料)切忌不能为0!!!
  int PlayerWeapon2 = 0; 主角负武器 可以不填
  int PlayerHP = 1000;这个是主角是血量 按除以10计算 例如你设置为1000进入任务时就为100血
if (GetHP(c)<GetMaxHP(c))
NPC受创后执行的,哪怕受伤1滴血也会执行。
if (GetHP(c)<GetMaxHP(c)-1000)
NPC受伤100血执行,数值自己按剧情设置。
if (GetHP(c)<1000)
NPC还剩余100血执行。
if (GetHP(c)<0)
NPC死亡执行
if (c>=0)
无任何条件执行
if (c>=0 && GetEnemy(c)==player)
NPC遇见主角时执行
if (c>=0 && GetHP(c)<GetMaxHP(c)/2)
NPC气血减半时执行 那个2就是一半 3就是三分之一 4就是四分之一 同理.....
if (GetHP(c)<=0 && GetHP(c2)<=0 && GetHP(c3)<=0 && GetHP(c4)<=0 && GetHP(c5)<=0 && GetHP(c6)<=0)
以上群体NPC全体气血死亡时执行
if (GetHP(player)<1000)
主角的气血减少100时执行,那数字可以设定,但气血的数值都是以自身除以10来计算的,所以说你那里设置的是1000,那么除以10的话就成100了。要是想减少500的话那就要设成5000,同理....
if(GetHP(c1)<GetMaxHP(c1)-1000 || GetHP(c2)<GetMaxHP(c2)-1000)

c和c2两个NPC其中任何1个受伤100血后就会执行。
if(GetHP(c1)<0 || GetHP(c2)<0)

c和c2两个NPC任一死亡后执行。
SetTarget(1,"waypoint",路点);
ChangeBehavior(c,"attacktarget",1);
NPC跑路点,路点照剧情设置。
SetTarget(0, "char", c);
SetTarget(1, "waypoint", 路点);
if (Distance(0, 1) < 100)

NPC到达路点执行 . 100 是距离 就是离指定路点的距离判断。
PlayerPerform("say", "小鬼是个制作单机任务的");
主角说话代码 那文字为说话内容 可修改。
PlayerPerform("pause", 1);
主角站立代码 那1为站立秒数 可修改。这个代码是为了防止对话的时候语序错乱的
PlayerPerform("block", 1);
主角锁定代码(让主角站立不动)
PlayerPerform("use", 19);
主角设置状态代码 19为爆红状态 4是小红 8是满气(不是无限气) 20为气血+500 其他数值请详见相关资料。
除加血代码之外 其他状态重复添加时效果不会重叠增加。。
ChangeBehavior(c, "follow", player);
NPC跟随主角代码
ChangeBehavior(c, "kill", player);
NPC攻击主角代码
ChangeBehavior(c, "idle", 9999);
NPC为永远呆立状态
ChangeBehavior(c, "wait");
NPC为永远原地张望状态 直至敌人出现在视线范围之内时会攻击
Perform(c, "guard", 5);
NPC为防御状态 5是秒数 可自行修改
ChangeBehavior(c, "run");
NPC为无目的乱跑状态 但看到非己方的人会进行攻击
Perform(c, "faceto", player);
NPC为锁定主角状态 不过要是距离太远的话可能会无效
Perform(c, "say", "小鬼是个制作单机任务的");
NPC说话代码
Perform(c2, "pause", 5);
NPC站立秒数 数字5可自行修改
Perform(c, "use", 19);
NPC设置状态代码 同上的主角状态代码相同。
Perform(c, "use", 35);
NPC立即死亡代码
参考技术A   事件OnInit(int this) 初始一个对象、场景等时执行该事件,对象ID号在此事件时生成
  OnUpdate() 对象或场景参数变化更新时时执行该事件
  OnStart() 每次开始时执行该事件(战场下一局、NPC死后再生)
  基本函数int GetChar(string name) 取得指定名字的对象ID号
  // name="player", "vip", "enemyvip", "flag", "xxx"|依次:游戏者、队长、敌方队长、标志、指定对象

  int GetAnyChar(string name) 取得该名称的对象ID号
  int GetSelf(int self) 取得该对象自身ID号
  int GetHP(int id) 获取HP值
  int GetMaxHP(int id) 获取MAX HP值
  int GetTeam(int id) 取得指定ID号对象的队伍
  int GetEnemy(int id) 取得指定ID的敌方ID
  int GetLeader(int id) 取得指定ID的头领ID
  int GetGameTime()取得游戏时间秒数
  int EnableWaypoints(int a, int b, ...)激活路径点
  int DisableWaypoints(int a, int b, ...)去活路径点
  int ChangeBehavior(int id, string behavior, ...)改变对象ID的行动状态
  // behavior="wait", "idle", "run", "follow", "patrol", "attacktarget", "kill"
  |依次:等待、闲、跑动、跟随、路径跑(x,y,z)、攻击物体、攻击NPC或玩家(第三参数指定)

  int Perform(int id, string pose, ...) 对象ID执行指定动作
  // pose="faceto", "say", "pause", "aggress", "jump", "attack", "guard", "crouch", "use"
  |依次:面对、说、暂停、同意、跳跃、攻击、守卫、卧倒、使用
  int PlayerPerform(int id, string pose, ...) 玩家执行操作
  // pose="say", "pause", "use", "block" 说、停、用、锁定
  int StopPerform(int id)停止操作
  int IsPerforming(int id) 是否正在操作中
  int SetTarget(int idx, string type, ...)
  // type="char", "waypoint", "flag", "safe" §角色、点、镖、护
  int Distance(int idx1, int idx2) ID间的距离,用来做精确跳跃、攻击、闪躲好
  int Rand(int n)随机
  int AddNPC(string npc)加入NPC
  int RemoveNPC(int id) 删除指定ID的NPC
  int UpdateAIAttrib(id) 更新NPC的AI属性
  int Call(int id, string functionName, param1, param2, ...)呼叫指定ID对象执行函数
  int Say(id, a, b, c, ...)指定ID说话,里面加参数和固定字符串
  int Print(a, b, c, ...)输出提示
  GameOver(int state)游戏结束 (胜、平、负)
  未用函数
  AttackGoal FastLook GetItem AvoidObstacle Dodge Kill Combat RandomRun Follow Patrol GotoGoal Wait Init本回答被提问者采纳
参考技术B 是代码吗?

流星蝴蝶剑有没有密码让敌人的血变成1?

只要能让我简单通关就行

流星蝴蝶剑让敌人的血变成1的密码是没有的
可以从LEVEL文件夹中的文件以记事本方式打开,从里面找到每个关的文件,把HP改成50000(最大)无敌~!

下面是所有指令
加机器人:\AI 或AI *(注意AI一定要大写,*为pst文件名称)
例如:\AI npc
第一步:打开流星游戏 按键盘上的\|含有着这个符号的键
第2步:输入 AI npc01_02或AI sword或AI dagger或AI hammer或
AI npc01_02
有问题问我qq 87518051
我的博客http://87518051.52blog.net/user2/70604/index.shtml
更多命令啊 建议大家去下命令开启补丁 我的博客网站中网站有去下吧
.基本命令
1.踢人:\kick #(不可踢自己)
2.踢人:\skick #(将玩家踢并禁止加入)
3.指定死亡:\kill #(可以杀死任何人,包括自己)
4.加机器人:\AI 或AI *(注意AI一定要大写,*为pst文件名称)
例如:\AI npc
注:以上#为玩家编号,可以通过按Tab键查看,显示在玩家名字前面的就是编号!
二.其他命令
1.显示机器数:\fps (即:每秒动画桢数,出现在游戏右上角位置)
2.强制退出游戏:\quit (返回Windows)
3.数据传送:\mnet 或\serverinfo
4.3D坐标:\position
5.转播命令:\Pureoberserver:X (X 可选1-16人数)
5.开始录像:\record
6.播放录像:\replay
7.保存录像:\save
8.载入录像:\load
9.\camera (未知功能)
转播命令:\Pureoberserver:X (X 可选1-16人数)
三.隐藏命令
1.weapon +武器ID 换武器
2.mhp显示所有人 HP,SP 攻击力、防御力(攻击与防御力是 METEOR.RES里设置的)、主机适用
3.box显示3D人物框架,蓝框为攻击范围(虚拟的),但实际的攻击范围以POS文件中的BONE段定义为准、主机适用,有高人说这个可以用来查找“放冷枪”的人,果然不错,可惜,偶不会取消……
4.ang修改主机内存使主机满气 、主机适用
5.adddummy添加AI ,(BASE AI血多,但水平很菜)
6.adddummy2 +字母或者数字 (在网络上添加虚拟玩家BASE AI,无武器,无杀伤,招为剑招,而且容易使本机跳回桌面,反正是不稳定)
7.freecam 远程视角,不稳定,容易跳出桌面。
8.testserver在进局网游戏,出现游戏列表时使用,会在流星服务器上增加一个名为TEST的主机,不稳定,会卡机。
9.serverinfo非隐藏命令。显示主机被请求的封包数量、主机适用
10.pose+数字 做POSE动作,如 POSE 20 为头晕动作 POSE 149 为游泳动作, POSE 23 为 踢 (球) 动作。
11.lag+数字(0~255) 模拟网络延时,数字越大延时越严重,0为取消网络延时
12.movoto x y z x y z 为position 显示的坐标 其中z 为高度坐标
x y z 范围(-65535~65535)
13.shows 如果网络不通,使用此命令会造成超高的lag 等同lag 100,如果网络畅通,使用此命令会显示整个服务器的相关的一串IP,同时切断与主机的联系~(糊涂中……)
14.loadsnp + 数字 数字为各场景代码 , 游戏中切换场景(似乎还有个验证,网络游戏中一使用就会出现 *****scene异常
15.loadmyno +人物代码 游戏中切换人物 同上,游戏中切换人物皮肤,但会出现****model异常
16.joins +????未研究透,似乎可以加入别人的游戏,但我每次用都是“漆黑”一片~
17.editai 设计路线点~, 有位高人已经把这个命令研究的N透彻了,详情请见置顶帖子《星的路线点详细制作》http://bbs.66net.net/dispbbs.asp?boardID=42&ID=11626&page=1
18.play 游戏主复位~好比已经在一个场景玩好久了,用一下这个就相当于自己刚进游戏一样,用处么,嘿嘿~~见过“炸尸”么~见过死人复活么~(死斗模式),

pose X:做出pose文件相应的动作(我喜欢的就是pose111 和pose 20着两个动作)
moveto X X X:3个X代表坐标,作用是瞬间转移!(可以在网络上用,吓死对方!)
ang:直接打命令,你的气就满了!
box:直接打命令,可以显示人物的框框,和CS作弊器一样!(请看下面的图片)(可以在网络上用)
weapon X:作用是可以随便改自己手中拿的武器!(可以在网络上用,想变什么武器都可以)
win:很快让你换下一关!
lose:功能同上面一样。这两个命令最好不要用!用了就惨了!
adddummy:好象是电脑测试!很厉害的电脑哦!在level目录里没有的!强大!(可以在网络上用)
adddummy2:第2种强大的电脑!(可以在网络上用,太好笑了,给主机加电脑!主机要郁闷死.)
mhp:只有主机能用看所有人的详细资料!
play:刷新本局(一个意义重大的Bug)
msense X:鼠标灵敏度(可以在网络上用)
cheat
loadsn
freecam:未知功能,使用会退出游戏
dcam:视觉立刻转换到自己
freecam:自由视觉
loadch
loadmych
shows:显示服务器IP
host
joins未知功能,使用会退出游戏
test未知功能,使用会退出游戏
elight:变换主菜单的背景颜色?
loadsnp
testserver:立刻与服务器断开连接,但是游戏还存在
loadmyno:变换人物
switch:换出副武器
minverse:反转鼠标
dropw:扔出副武器
wave:在坐标 0 0 0出现中招声音(莫名其妙)
lag:使自己变卡
editai:出现编辑AI的路点
提醒你一下,输入adddummy2 n,其中n为任意一个字母或者符号,就
adddummy @ # %
@处为队伍(0.1.2) #处为人物模型(0~19)%处为武器~后面还有参数~智力,攻击什么的~。。。。。。。
testserver:出现服务器在服务器列表中,但是出现"不明错误"不能加入
camera:
八方,720 1600 -1
四方,1050 1100 500
在用editai命令时,我发现制造路点很简单!在输入
editai命令时,头上有个方框,那就是你要放路点的
位置!你可以在原地不动,就可以制作远处的路点.
把方框指向你想要制作路点的地方,按下以下键就
可以了:
按1键:制造一个最小范围的路点

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

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

按4键:制造一个超大范围的路点
(路点的范围就是电脑的行动范围)

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

按空格键:选择你要编辑的路点!(把方框指到你要
编辑的路点,按空格键就变成红色的,表示你可以编
辑这个路点了!)

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

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

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

保存路点命令是Shift+S键
cmodel主要是道具模型,没深入研究,现在已知的是可以改攻击范围和道具大小,典型实例:长剑生成器

Common中的character.act就是武器基出出招连招表,具体在pmodel中,对应各人,这个对应全体。amb不知道干啥地,不过听说可以改什么重力,具体不熟。。。。。。。

image,看也知道是干啥的,是人就会改的,不多说了。

Level对应全部单机任务编程的,包括NPC,任务脚本编程和AI路点(waypoint),其它无,这块算是有点成就的,也比较简单啦。

mc对应流星各菜单选项效果,没有深入研究。。。。。。。。。。。

mmv流星电影文件,把其它文件改来变成扩展名为同样的也可以用。。。。。。。。。。

music,这个也不说了吧,喜欢啥歌改了名就行了。。。。。。。。。。

patch,流星后加的wav文件,和waves.pak中的一样,不过是新加的武器的一些音效。。。。

pmodel人物模型及个人具体pose,没怎么深入,只了解一点pos文件。。。。。。。。。

PScriptLib道具血值,看名字就知道是桌椅之类的东东的血值啦。。。。。。。。。。

SFX光影效果,包括一定的攻击范围,具体没深入研究。。。。。。。。。。。

snxx地图及脚本,地图的不明白,脚本的还能看懂一些,最变态的是自己改过的地图可以在对方没改过中应用,不知道鸟泉是怎么想的。。。。。。。。。。。。

texture同image,不过是菜单的背景图片。。。。。。。。。。。。。
lobby.lst,服务器连接IP地址。。。。。。。。。。。

server.cfg记录建主服务器的初始化值?不过改后没什么效果好像。。。。。。。。

user.cfg用户自定义中的记录,这个是我的最爱,记得在网吧玩时就从信箱中下载这个就不用手动再改一下键位设置了,呵呵。。。。。。。。。。

xxx.mrc高版本的录像文件,完全没研究过。。。。。。。。。。。。。

xxx.pak图像或声音文件,用winrar可以自己以覆盖原文件的方法作到个性化。。。。。。。。

menu.res菜单对应文字。。。。。。。。。。。

Meteor.res这个也算是比较熟的啦,对应武器,招式,道具和地图的东东。。。。。。。

config.ini,记录config.exe的值。。。。。。。。。。。。

joystick.ini,手柄对应的键位设置(用手柄打流星比键盘累多了。。。。。。。。)

mgstringtable.ini,服务器中的对话,因为是文本文件,就不多说了,值得说一下的是孟星魂这个名字对应单机任务中孟星魂的名字,所以以后谁要是做个以冷燕为主角的任务改名字一定要改这里。。。。。。。。。。

mgstringtableHT.ini,高版本中的对话文件,自己改变对对方没有效果,只对单机好使。。。

singlerec.ini,单机任务及人物全开文件,不知道里面那些东东有什么规律,也是我在网吧玩流星的最爱。。。。。。。。。。。

webnewsaddr.ini,刚进入流星屏幕下方显示字幕的东东,对应文本内容,可以改成自己的网页地址,不过要纯文本文字的,不然,呵呵,你就会晕倒。。。。。。。。。。。

debug.log和debugS.log记录出错的日志文件。。。。。。。。。。。。。

config.exe,图像等的初始化等设置,好像听说还有别的东东,没研究过。。。。。。。。

Meteor.exe,流星的主文件,具体能干啥,啥都能干,谁要是能hacker到这个VC++的源文件,嘿嘿,你小子就发达了。。。。。。。。。。。

所有武器名称及代号
想必大家都知道通过更改level文件夹里sn_**(**∈01,02,03……21)文件中的PlayerWeapon = 后面的数字,可以更改“单人模式”中玩家控制角色的武器;而更改npc**_**文件中int Weapon = 后面的数字可以更改非玩家角色的武器。但是每种武器的名称和代号却不见得谁都详细了解,所以让我来给大家说一下。(以下分别是武器得到绿,红,白,蓝色水晶升级之后和武器在圣诞夜场景中出现的样子的名称和代号,
及某些特殊状态的武器,。另外,武器在触碰绿色水晶时恢复原状)
飞镖:七星1 青牙10 寒冰19 飞蝠28 圣诞夜46 雪团37
飞轮:日光2 圆月11 血滴20 旋风29 圣诞夜38 无影59
火铳:夺命3 怒火12 杀意21 鹰眼30 圣诞夜39
双刺:蛾眉4 刃牙13 火舌22 虎爪31 圣诞夜40
匕首:嗜魂5 炎玉14 蛇吻23 金刚32 圣诞夜41
剑 :碧血6 修罗15 龙吟24 焰魔33 圣诞夜42 无影60
长枪:碧血7 龙吟16 修罗25 焰魔34 圣诞夜43
大刀:斩铁8 烈焰17 逆刃26 紫鳞35 圣诞夜44
大锤:修罗9 顽铁18 八棱27 焰魔36 圣诞夜45
乾坤刀:青鞘47 红鞘48 银鞘49 蓝鞘50
指虎:饿虎51 金刺52 烈爪53 莲花54
忍刀:青刃55 赤刃56 双刃57 寒刃58
不知大家发现什么规律没有?这些资料很可*,我亲身试过的;武器名称主要来至网页资料,有部分小的改动。37是雪团一样的飞镖的代号59和60分别是隐形的飞轮和剑。
本人玩“流星”也近半年了,从1.0 到1.05,再到最近的1.07,但都是升级版,单机模式没有多大变化,而且新武器又不能用,经过试想&实践,发现了修改方法,我们可以将“指虎”、“乾坤刀”、“忍刀”等武器用在各个关卡中。方法如下:打开meteor>level,找到Snx_文件(其中x代表01-20)用记事本打开,可看到“int PlayerWeapon =”、“int PlayerWeapon2 =”、“int PlayerHP =”,前两者代表玩家手中拥有的武器,后者代表玩家的HP值。我们主要通过改等号后的数字,武器数字代表为1-57,HP中1000等于实际中的100。具体设定就要看玩家的选择了。一次我把HP改为55000,实际值竟为429495676。现附表如下:
飞轮 37、38 匕首 14、41 双刺 22、40 锤 36、45
镖 37、46 剑 33、42、 枪 30、39 长枪 25、43
刀 43、44 乾坤刀 47、48、 指虎 52、54 忍刀 55、56、
为方便,再附录场地数字(Snx):
1 钟乳洞 8 毒牙阵 15 飞鹏堡
2 ... 9 决死阵 16 ...
3 一线天 10 炼铁狱 17 伏虎山
4 炽雪城 11 五牙蜂 18 圆满楼
5 皇天城 12 峰火雷 19 ...
6 四方阵 13 金华城 20 ...
7 死之阵 14 炎硫岛 21 ...
注:A:其中37、38、39、40、41、42、43、44、45、为圣诞夜中出现的武器。
B:同理,可以修改敌人各项值,这里不详。目标项为npcx_x.
C:刀武器各状态下数字这里不详尽,其中60、42一起用为一把隐形的剑。
D:(声明)本修改无恶意,只为提高个人对此游戏的兴趣性。他人另作用途造成损失的,与本人无关,责任自负。
以上转自66net,小刀

我以前写的
1)游戏中20个场景代号
01钟乳洞02秦皇陵03一线天04织雪城05皇天城06四方阵07死之阵08毒牙阵09决死阵10炼铁狱
11五爪峰12烽火雷13金华城14炎硫岛15飞鹏堡16五雷塔17伏虎山18圆满楼19洛阳城20卧龙窟
21圣诞夜22威震八方
file://0没有(武器1一定要有,没的话……他会空着手)
1飞镖 2飞轮 3火统 4双刺 5匕首 6剑 7枪 8屠刀 9锤
10飞刀 11太阳轮 12绿排统 13双龙刺 14龙舌匕首 15龙舌剑 16青龙腕月刀 17弯龙屠 18黄石锤
19绿毒镖 20齿轮 21绿龙统 22三角双刺 23圣匕首 24血剑 25圣三角枪 26血火屠 27石锤
28金燕镖 29飞碟 30黄龙统 31蝙蝠双刺 32血匕首 33白剑 34双头* 35齿屠 36灯塔
37雪镖 38 UFO 39圣诞礼枪 40星星双刺 41礼匕首 42玩具剑 43铁铲 44大匙汤 45大球糖
46铃铛 47乾坤刀 48红乾坤刀 49黑乾坤刀 50银乾坤刀 51指虎 52指刀 53冰指虎 54指钳
55忍刀 56血忍刀 57黑忍刀 58冰忍刀 59隐飞轮

以上转自66net,瞬羽痕

use 值
1 肉包
2 大肉包
3 铜皮
4 嗜战
5 猫足
7 隐身
8 气元
9 ?
10 缓慢
11 毒
12 毒
13 毒
14 毒(无限的那个)
15 HP+500
16 大肉包
17 小肉包
18 毒
19 怒(大,就是类似燃烧斗志的那个)
20 HP=999
27 圣诞蛋糕
28 元气糖
29 圣诞围巾
30 圣诞手套
31 圣诞长靴
32 圣诞头套
33 手机
35 自爆
36 忍形
40 双重防护罩
41 加强速

人物
0孟星魂
1冷燕
2铁胡子
3夜猫子
4和尚
5蒙古人
6孙剑 7
萧安
8子舆
9王强
10无名
11叶翔
12小何
13凤凰
14石群
15屠城
16范旋
17高寄萍
18孙玉伯
19律香川

:\Meteor\cmodel\
这里是各个物品与武器的文件
绿属性武器代码:
W0_0……剑
W1_0……匕首
W2_0……火统
W3_0……暗器
W4_0……锤子
W5_0……大刀
W6_0……飞轮
W7_0……长枪
W8_0r……双刺
W9_0r……乾坤刀
W10_0r……指虎
W11_0……忍刀
:\Meteor\cmodel\
圣诞武器代码:
W0_4……剑
W1_4……匕首
W2_4……火统
W3_4……暗器(雪球)
W3_5……暗器(铃铛)
W4_4……锤子
W5_4……大刀
W6_4飞轮
W7_4……长枪
W8_4r……双刺

:\Meteor\cmodel\
物品代码:
玉玺 IPItem01
锦盒 IPItem02

肉包  Item01
大肉包 Item0101
小肉包 Item0102
毒肉包 Item0103
华陀  Item02
铜衣  Item03
嗜战(攻加)  Item04
猫足  Item05
风水(隐身衣) Item07
气元  Item08
炼化.林  Item09
炼化.火 Item0901
炼化.山 Item0902
炼化.圣 Item0904
圣诞蛋糕  Item10
元气糖  Item11
圣诞围巾  Item12
圣诞手套  Item13
圣诞长靴  Item14
圣诞头套  Item15
手机  Item16

小箱子 BBox01
大箱子 BBBox01
坛子 jug01
台子 floor01
椅子 Chair01
桌子 desk01
大刀 knife01
桥 bridge01
1.00版的点穴招数
A 左A 下上A 左A
踢主机
\adddummy2 99
流星所有的命令都有个"是否起作用的判定",这个判定是通过跳转指令来控制结果的.举个例子,并非事实:
KICK的判定,成功的话就跳转到执行命令的代码段,不成功则跳转转入SKICK命令的判定,别急~,比如 你输入了 kick 2,则先进行FPS命令的判定,KICK不等于FPS,所以失败了,则转入KICK代码段进行判定,当然是成功了,于是程序转入执行T 2号人物的代码.可如果游戏中没有2号人物,那就是判定失败,判定后就跳到了SKICK判定,可KICK不等于SKICK,所以SKICK判定失败,那就跳到下一个KILL判定,KICK 也不等于KILL,所以继续失败直到所有命令的判定结束.(上面的命令顺序是不准确的,只是为了说明方便)
这个应该是所有命令的判定方法.
接下来,我要说的是CLOSESERVER这个命令,按照顺序,这个命令后应该转入的是cheat命令判定,然后再转入loadsnp 命令判定----loadmyno---.....直到最后. 但是,我在closeserver后面发现了个有趣的代码:
TEST EXI,EXI
JNZ ****(*代表loadsnp的入口地址)
懂汇编的一看就明白了, EXI-EXI是恒等于0的,那后面的JNZ就是永不可能实现的一个跳转.
很明显这里就是流星上市前开发人员动的那点手脚,如果将JNZ改为JE或者JZ的话,那这个跳转就是100%成功的跳转了,隐藏命令的入口就在此.本方法只修改了程序的半个字节.
目前有些人有种修改四个字节启动隐藏命令的方法,我可以说一下,JNZ往后第4个字节就是LOADSNP命令的入口,如果将上面JNZ在内往后共四个字节全改为NOP(NOP代表不执行任何操作,只在内存中占据一定空间),那程序在TEST EXI,EXI后就不进行任何判定,直接进入LOADSNP.此法虽然麻烦了点,但不失为一种启动隐藏命令的方法
东湖坚持技术资源共享,但不推崇"拿来主义",所以我把修改的技术写来,而不会上传某个改好的文件让列位使用,改可以完全通过WINHEX,ULTRAEDIT直接进行改,但研究时却需要通过反汇编来进行.另外流星的主程序段是用类C语言开发的,如果有针对C的反编译工具,研究会更方便些-----

需要工具:UltraEdit

用UltraEdit打开流星的执行文件Meteor.exe,按搜索,

把左边的所有[勾]都取消然后搜索8B 8A 34 21 00 00 8B F0 85 C9 75 1F [1.07/1.08]

(这是我反编汇后找到的跳转语句位置),

0.97版
:8B 8A E8 08 00 00 8B F0 85 C9 75 1F改成8B 8A A8 0A 00 00 8B F0 85 C9 [74] 1F,保存文件。

1.00版
:8B 8A A8 0A 00 00 8B F0 85 C9 75 1F改成8B 8A A8 0A 00 00 8B F0 85 C9 [74] 1F,保存文件。

1.07/08版
:8B 8A 34 21 00 00 8B F0 85 C9 75 1F改成8B 8A 34 21 00 00 8B F0 85 C9 [71] 1F,保存文件。
参考技术A 《流星蝴蝶剑》修改秘籍
1、首先进入《流星》的根目录下,找到LEVEL文件夹
2、用记事本打开NPCXX_XX形式的文件,这是NPC的HP设定文件中的intHP,是NPC的血值,设为0都可以

而sn01_是第一关,孟星混的各项设定

只要把其中的intPlayerHP修改成50000,在游戏里就有5000血了
参考技术B 有外挂

以上是关于流星蝴蝶剑的所以函数解释详细的主要内容,如果未能解决你的问题,请参考以下文章

流星蝴蝶剑单机任务皇天城

流星蝴蝶剑有没有密码让敌人的血变成1?

最佳流星主持人和详细信息

JS原型与原型链详细解释

PHP中Action的三种实现方式,struts.xml配置的详细解释及其简单执行过程

如何在流星每隔“X”分钟进行一次jenkins调用以检索作业详细信息?