流星蝴蝶剑修改宝典(大全)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用户名: 密码: 登录 注册 yrpm在百度酷爱网络---诚交网络朋友 共同创业 主页博客相册|个人档案 |好友 查看文章
流星蝴蝶剑修改宝典(大全)2009-09-21 23:18在Level文件夹下,您一定会发现还有sn开头的pst文件,这就是地图文件。我们更改那些个类似sn01_.pst的文件,我们上面的加组人物命令加的就是这个。第一次,我们改原有的如SN01,钟乳洞这关的。也用记事本打开,下面摘录了有用的一部份,就是说可以单独成形使用的。

// 钟乳洞 这是场景名称
// Rule 1=盟主 2=截镖 3=守城 4=暗杀 5=死斗 int Rule = 5;
// int RoundTime = 10; 回合时间(分钟)
// int PlayerSpawn = 9; 玩家出生点
// int PlayerSpawnDir = 90; 玩加出生方向 0~360
// int PlayerWeapon = 5; 玩加武器1
// int PlayerWeapon2 = 1; 玩加武器2
// int PlayerHP = 1500;玩家开始生命值 。这个值在游戏当中会自动除以10,非剧情版里面设置无效
注:这上面的如果你要玩剧情模式,你改了起作用,如果想做成其它任务地图改了也不起作用,可以忽示。如果你想作弊过关也可以,只需把玩家生命值提高,武器换成称手的,杀伤力强的就成了。
OnStart()
{
AddNPC("npc01_01");
AddNPC("npc01_02");
AddNPC("npc01_03"); 这个是流星原版,ADDNPC就是添加人物的命令,括号中的就是你要添加人物的代码,如你改成dagger,那么这里的人就换成了冷燕,你可以添加任何人物,只需把文件名去掉后缀加入就成,如果想加更多,直接增加就成如下:

OnStart()
{
AddNPC("npc01_01");
AddNPC("npc01_02");
AddNPC("npc01_03");
AddNPC("npc01_04");
AddNPC("npc01_05");
AddNPC("npc01_06");
AddNPC("npc01_07");
AddNPC("npc01_08");
AddNPC("npc01_09");
AddNPC("npc01_10");
AddNPC("npc01_11");
AddNPC("npc01_12");
AddNPC("npc01_13");
AddNPC("npc01_14");
AddNPC("npc01_15");

}
好了,如果你想制作一个简单的加组的AI有这些就够了,首先你按自己想法修改制作一批NPC文件,也可以直接用游戏中的,其中主要改的是二点,一是阵营,二是最后面的行动代码,你可以写两个乱跑的,两个追主角的,两个直奔敌人的,或针对某一人的,只要改了这个人AI就基本有目的了。然后你找一个,或自己创一记事本,命名成你要玩的地图,如sn19_.pst,进入游戏后直接使AI就可以,如果要玩的别的只需复制改相应地图名即可,我曾试着不用地图名,但是加入后老是会第一个加入冷燕,游戏还很卡,容易失败,要玩也得成功T掉2号冷燕才可以继续,这苦恼了许久,解决之道目前只有改成地图名方可。



PS:如果玩任务你可以改对话,改成自己说的,然后换角色,改人物属性值,这样玩任务时感觉不一样,算是小改任务,我对做任务不懂,正在学习,

目前AI还有些简单,命令不全,搞暗杀和守城什么的智能太低,主要不懂编程,不会过多的命令,失败啊。

修改制作相关命令


position 显示玩家目前座标

snSample_.pst [这是level文件夹中的地图范例文件,上面如果有乱码你转成繁体就可以,如果想做出更好的AI文件,你可以研究这个,里面集成了制作需要的所有命令和释义。]

流星蝴蝶剑》场景NPC编辑方法:
1)游戏中20个场景代号 01 钟乳洞 02 秦皇陵 03 一线天 04 织雪城 05 皇天城 06 四方阵 07 死之阵 08 毒牙阵 09 决死阵 10 暂时看不清楚 11 五爪峰 12 烽火雷 13 金华城 14 炎硫岛 15 飞鹏堡 16 五雷塔 17 伏虎山 18 圆满楼 19 洛阳城 20 卧龙窟
2)对于单个NPC的编辑在游戏目录下打开Level文件夹,用记事本打开NPC*.pst就可以编辑了,当然也可以创建,*的地方一般来说是数字,也就是游戏设计者设定的文件名,前面一个数字代表出场场景,后面一个数字代表第几个加入的NPC。当然我们自己用记事本制作的文件可以随便命名。打开以后需要写入以下几点。//为注释 // 姓名 string Name= "";
// 模型编号 //0孟星魂 1冷燕 2铁胡子 3夜猫子 4和尚 5蒙古人 6孙剑 7萧安 8子舆 9王强 10无名 11叶翔 12小何 13凤凰 14石群 15屠城 16范旋 17高寄萍 //18孙玉伯 19律香川 int Model =1;
// 武器1 //0没有(武器1一定要有) 1标 2飞轮 3火统 4双刺 5匕首 6剑 7枪 8刀 9锤 int Weapon = 6;
// 武器2没有就为0 int Weapon2 = 7;
// 队伍:0不分队伍1流星2蝴蝶 int Team = 1;
// 视线 100~2000 int View = 500;
// 反映 0~100, 100程е int Think = 100;
//攻击几率(1轻2中3重)攻击加防守几率<= 100 int Attack1 = 30; int Attack2 = 20; int Attack3 = 30;
// 防御几率0~100 int Guard = 10;
// 逃跑几率 0~100 int Dodge = 20;
// 跳跃几率 0~100 int Jump = 20;
// 四处张望 0~100 int Look = 40;
// 快速跑 0~100 int Burst = 10;
// 准心 0~100 int Aim = 80;
// 拿宝物几率0~100 int GetItem = 30;
// 出生点编号 int Spawn = 1;
// 初始生命值 int HP = 1000;
// 接着必须写入这些话 int g_selfAddr; int g_self; OnInit(int this) { g_selfAddr = this;//g_selfAddr前面用Tab键创造1个空格。 }
//写入开始时候的动作 OnStart() { g_self = GetSelf(g_selfAddr);//抓角色自己的句柄写入动作函数int ChangeBehavior(句柄,动作,辅助); //对于这个动作函数,游戏制作人给了一个ChangeBehavior(句柄,动作,辅助)函 //数。句柄可以填入g_self,动作是"wait"原地张望(注意引号要打入) //"idle"战立不动 //"run"无目的乱跑 //"patrol"在地图文件不带“_”的那个里面有了点了,你只需在辅助的位置打入几 //个点的代号(1,2,3等等)两个点之间用逗号隔开。 //"follow"跟着某个精灵行动,吧要跟随的精灵

写在辅助的位置上,这些精灵有 //1)"player"玩家(注意引号) //2)"vip"脚下有花纹的,也就是暗杀里面死了就输了的 //3)"enemyvip"敌人脚底下有花纹的 //4)"flag"脚下有持有镖物的花纹的 //5)"文件名不带后缀名"也就是这版会出现的其他NPC。现在再写的是一个。 }
// 执行 OnUpdate() { int a = 0; }
//写玩以上的内容,可以存盘了,请注意要存放方式,上面的要写入文件名.Pst,下面的保存类型要是*.*
3)地图文件编辑在Level文件夹下,您一定会发现还有sn开头的pst文件,这就是地图文件,对于sn01.pst等文件我们暂时不要去改他,这些是确定一个点,也就是巡逻用的。我们更改那些个类似sn01_.pst的文件,如果您要使用Patrol,那么等我研究好会告诉你的。地图文件只能对一有的文件进行编辑,也用记事本打开。 // 场景名称(这里我已经全部打开并且在本文最上面列了表了,您可以察看
// Rule 1=盟主 2=截镖 3=守城 4=暗杀 5=死斗 int Rule = 5;
// 回合时间(分钟) int RoundTime = 20;
// 玩家出生点 int PlayerSpawn = 0;
// 玩加出生方向 0~360 int PlayerSpawnDir = 90;
// 玩加武器1 int PlayerWeapon = 5;
// 玩加武器2 int PlayerWeapon2 = 0;
// 玩加开始生命值 int PlayerHP = 1000;//这个值在游戏当中会自动除以10,非剧情版里面设置无效
//部分剧情函数 int ChangeBehavior(角色代号,动作,辅助);//和角色文件编辑一样,注意加int //1)"wait"张望 //2)"idle"等待 //3)"run"乱跑 //4)"follow"跟随 //5)"patrol"巡逻 //6)"attacktarget"攻击某个目标,辅助里面填入角色代号 //7)"kill"杀死某个目标,辅助里面角色代号 int AddNPC(角色文件名);//增加角色 int RemoveNPC(角色文件名);//使角色离开 //其他的函数以后再说,暂时还没研究透彻
// 设置游戏开始 OnStart() { AddNPC("文件名称不加后缀");//本地图出现的NPC要几个就要重复写几条 }
// 执行 OnUpdate() { int a = 0; }
4)最后的罗嗦值得注意的是,命令前面一定要加int,结束要加;,所有符号用半角,这是说给不懂程序的朋友听的,一定要注意。地图的剧情部分是可以不写的。角色设定的初始动作如果设定了,在地图编辑里面不更改的话,就会执行到战斗结束。好了,大概就这么多了。

很多朋友对于修改流星都不太了解,所以我希望可以把自己所知道的
知识贴出来,能让更多的朋友了解得更深入,我想以问答的形式可以
更生动的了解到有关流星的知识。

1.你所说的流星修改是指哪个范围的修改?且又怎样看待修改与作弊
的区别?
答:①我说的修改是限于手动修改,而非使用修改器或编辑器;
②普通的修改可以说是游戏的另一个可玩点,可以是为了个人(
但并

不损害别人的利益),也能为大家造福,而作弊往往是把
自己得利建立在别人损失的基础上的。

2.一个初次接触修改的人应从哪里着手学习?并一一说明。
答:新手可以先弄懂哪些文件可以修改,放在哪里,并且修改后可以
有什么作用,我可以列举一些常用的,可以修改的文件(非修改
器修改)有:
①music文件夹里的mp3文件(游戏里的音乐来源这里,把他替换
可以放入自己想听的mp3).
②pmodel文件夹里的POS文件(是游戏人物的招式文件)
③流星根目录下的sn**文件夹(*代表数字,后面就不再说明,如
sn01)里的sn**.des
文件(地图文件,添加物品就在这里修改)
④Level文件夹里的npc**_**.pst 文件(是游戏里npc的设置文件,
如果想修改单机版里的npc的数字就在这里修改)
⑤Level文件夹里的sn**_.pst文件(地图模式及情节的设置文件,
如夺标或暗杀的模式,或者要修改剧情,添加人物进入单机任务里
就要修改这里)。
⑥流星目录下的sn**.pak文(地图的贴图文件,有了他,地图才会
有各种颜色,如果删除,地图就会只有一片雪白,只有模型没有颜
色,用压缩包形式打开可以修改地图的贴图)
⑦流星目录下的TexturePatch.pak文件(武器及物品的贴图,如手机
的,同样以压缩包形式打开可以修改)
⑧流星目录下的ptexture.pak文件(人物贴图,如冷燕的皮肤以及衣
物,以压缩包形式打开修改)。
3.单机任务版怎样修改?
答:首先因该了解,单机版文件主要放置在Level文件夹里,先说说修改npc,
在游戏里每个人物都有代码,分别是0孟星魂1冷燕2铁胡子3夜猫子4和尚
5蒙古人6孙剑7萧安8子舆9王强10无名11叶翔12小何13凤凰14石群15屠城
16范旋17高寄萍18孙玉伯19律香川,地图也是有代码的,朋友们不要性急
,修改就要先了解代码,地图代码,分别是:01钟乳洞02秦皇陵03一线
天04织雪城05皇天城06四方阵07死之阵08毒牙阵09决死阵10炼铁狱11五爪
峰12烽火雷13金华城14炎硫岛15飞鹏堡16五雷塔17伏虎山18圆满楼19洛阳
城20卧龙窟21圣诞夜22威震八方
,现在可以举例说明,如:想把第二关的三个子与改成三个MM(呵呵,
说出了一些人的心理了:D),修改npc**_**.pst 文件,那么钟乳洞的
代码是01,要修改的就是npc01_**.pst文件,那个任务中只有玩家与3个
人物,那么无疑就是修改npc01_01.pst、npc01_02.pst、npc01_03.pst三
个文件了,以记事本形式打开文件,只要将文件中int Model = 8;
一项中的8用鼠标涂黑再键入需要的模型编号就好了,注意8那个数字的位
置要原封不动(8是子与的模型编号,改成1就成了冷燕,以此类推)。

4.可

否列出详尽的代码列表?
答:武器:飞镖:七星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 逆刃2635 圣诞夜44
大锤:修罗9 顽铁18 八棱27 焰魔36 圣诞夜45
乾坤刀:青鞘47 红鞘48 银鞘49 蓝鞘50
指虎:饿虎51 金刺52 烈爪53 莲花54
忍刀:青刃55 赤刃56 双刃57 寒刃58
场景代码:01钟乳洞02秦皇陵03一线天04织雪城05皇天城06四方阵

类别:流星蝴蝶剑 | | 添加到搜藏 | 分享到i贴吧 | 浏览(2683) | 评论 (0) 上一篇:流星蝴蝶剑武器代码 下一篇:安装 Windows 7 前注意事项 相关文章:? 诗人大全_诗词大全查询宝典一 ? _______◆◇◆◇至上借鉴宝典大...
? 中华周易起名院 中华宝宝起名网 ... ? 诗人大全_诗词大全查询宝典二
? 新政下购房指南大全 必备的十式... ? 诗人大全_诗词大全查询宝典三
? 超实用鞋子尺寸测量方法及尺码对... ? 宝典】男女性爱玩点花样 实用高...
? 中医按摩大全宝典 ? 电子元器件知识:IC封装大全宝典
更多>>
最近读者: 登录后,您就出现在这里。
hzh526 为了回帖容易么 无卍极 wsll0418 763898319 aiy1925 haizhiqun008 喜欢♂爱爱♀
网友评论: 发表评论:
内 容:

取消回复



?2010 Baidu
?不知道现在还有没有玩《流星蝴蝶剑》的,最近我才开始玩,单机全部通关以后,就觉得没什么难度了,加了几个补丁,但是还是觉得不好玩。



在无意中发现,原版《流星蝴蝶剑》系统调用的数据文件没有加密,可以自己修改的。






简单的介绍几个改发,跟同好们交流:






可手动修改的文件在Level文件夹内。


拿第二关“钟乳洞(sn01_)”来做说明,sn01_文件可用记事本打开。我修改的如下:
// 锺乳洞
int Rule = 10;(本关游戏规则不做修改)
int RoundTime = 25;(游戏时间调整为25分钟)
int PlayerSpawn = 9;(玩家模型不做调整 )
int PlayerSpawnDir = 90;(玩家模型不做调整 )
int PlayerWeapon = 5;(第一武器为匕首)
int PlayerWeapon2 = 18;(第二武器为锤)
int PlayerHP = 3000;(生命调整为300)

int trg0 = 0;
int trg1 = 0;
int trg2 = 0;
int trg3 = 0;
int trg4 = 0;
int trg5 = 0;
int trg6 = 0;


OnStart()
{

AddNPC("npc01_01");

AddNPC("npc01_02");


AddNPC("npc01_03");

AddNPC("npc10_01");(新加蝴蝶阵营人员)

AddNPC("npc15_09");(新加蝴蝶阵营人员)

AddNPC("npc05_03");(新加蝴蝶阵营人员)

AddNPC("npc05_04");(新加蝴蝶阵营人员)
AddNPC("npc05_05");(新加蝴蝶阵营人员)
AddNPC("npc13_01-1");(新加流星阵营人员)

AddNPC("npc13_01-2");(新加流星阵营人员)

AddNPC("npc13_01-3");(新加流星阵营人员)
}

GotoLeader(int c)
{

int c2 = GetChar("军枪哨兵长");

if (c2 >= 0)

{

ChangeBehavior(c, "follow", c2);

SetTarget(0, "char", c2);

ChangeBehavior(c, "attacktarget", 0);

return 1;

}



return 0;
}

Report(int c1, int c2, int c3)
{

if (c1>=0 && c3>=0)

{

SetTarget(0, "char", c1);

SetTarget(1, "char", c3);


if (Distance(0, 1) < 100)

{

if (c2 >= 0)

{

ChangeBehavior(c2, "follow", c3);

}


ChangeBehavior(c1, "follow", c3);

Perform(c1, "pause", 4);

Perform(c1, "say", "报告哨兵长!发现入侵者!!");

Perform(c1, "faceto", c3);


int player = GetChar("player");

ChangeBehavior(c3, "follow", player);


Perform(c3, "say", "在那?所有人跟我来!");

Perform(c3, "pause", 3);

Perform(c3, "faceto", c1);



return 1;

}

}


return 0;
}


OnUpdate()
{

int player = GetChar("player");

if (player < 0)

{

return 0;

}


int c;

int c2;

int c3;


if (trg0 == 0)

{

c = GetChar("军枪哨兵长");

c2 = GetChar("铁枪哨兵﹒甲");

c3 = GetChar("铁枪哨兵﹒乙");


if (c>=0 && c2>=0 && c3>=0)

{

Perform(c, "say", "你们都听到萧老大说的了,给我注意四周的动静!有任何风吹草动立刻回报!");

Perform(c, "faceto", c2);


ChangeBehavior(c2, "patrol", 0, 1, 4, 2, 3);

Perform(c2, "say", "是!");

Perform(c2, "faceto", c);


ChangeBehavior(c3, "patrol", 18, 19, 75, 55, 79, 38, 77, 78, 14, 20);

Perform(c3, "say", "是!");

Perform(c3, "pause", 3);

Perofrm(c3, "faceto", c);


trg0 = 1;

}

}

if (trg0==1 && trg3==0)

{

c = GetChar("军枪哨兵长");


if (c>=0 && GetEnemy(c)==player)

{


c2 = GetChar("铁枪哨兵﹒甲");

c3 = GetChar("铁枪哨兵﹒乙");

if (c2 >= 0)

{

ChangeBehavior(c2, "follow", c);

Perform(c2, "say", "是!!");

Perform(c2, "pause", 2);

Perform(c2, "faceto", c);

}

if (c3 >= 0)

{

ChangeBehavior(c3, "follow", c);

Perform(c3, "say", "是!!");

Perform(c3, "pause", 2);

Perform(c2, "faceto", c);

}


if (c2<0 && c3<0)

{

Perform(c, "say", "人呢!?可恶!我就不信我一个人对付不了你!");

Perform(c, "pause", 5);

}


Perform(c, "say", "来人呀

!!");


Perform(c, "faceto", player);


trg0 = 2;

}

}


if (trg1==0 && trg0==1 && trg3==0)

{

c = GetChar("铁枪哨兵﹒甲");

if (c>=0 && GetEnemy(c)==player)

{

Perform(c, "guard", 3);

Perform(c, "say", "你﹒﹒你﹒﹒你是谁!竟敢擅自闯入禁地!找死!");

Perform(c, "faceto", player);

trg1 = 1;

}

}


if (trg1==1)

{

c = GetChar("铁枪哨兵﹒甲");

if (c>=0 && GetEnemy(c)!=player)

{

Perform(c, "say", "奇怪?人跑到那了???");

trg1 = 2;

}

}

if (trg1==2 && trg3==0)

{

c = GetChar("铁枪哨兵﹒甲");

if (c>=0 && GetEnemy(c)==player)

{

GotoLeader(c);


Perform(c, "say", "又是你!这下子你跑不掉了!你给我等着!");

Perform(c, "faceto", player);

trg1 = 3;

trg3 = 1;


}

}



if (trg2==0 && trg0==1 && trg3==0)

{

c = GetChar("铁枪哨兵﹒乙");

if (c>=0 && GetEnemy(c)==player)

{

Perform(c, "aggress");

Perform(c, "say", "哈!正愁着没乐子!让我来试试你的身手吧!");

Perform(c, "faceto", player);

trg2 = 1;

}

}


if (trg2 == 1)

{

c = GetChar("铁枪哨兵﹒乙");

if (c>=0 && GetEnemy(c)!=player)

{

Perform(c, "say", "奇怪?人跑到那了???");

trg2 = 2;

}

}


if (trg2==2 && trg3==0)

{

c = GetChar("铁枪哨兵﹒乙");

if (c>=0 && GetEnemy(c)==player)

{

GotoLeader(c);


Perform(c, "say", "又是你!这下子你跑不掉了!你给我等着!");

Perform(c, "faceto", player);

trg2 = 3;

trg3 = 1;

}

}



if (trg4==0 && trg3==0)

{

c = GetChar("铁枪哨兵﹒甲");

if (c>=0 && GetHP(c)<=GetMaxHP(c)/4)

{

GotoLeader(c);

Perform(c, "say", "可恶!你给我等着!");

trg4 = 1;

trg3 = 1;

trg1 = 3;

}

}

if (trg5==0 && trg3==0)

{

c = GetChar("铁枪哨兵﹒乙");

if (c>=0 && GetHP(c)<=GetMaxHP(c)/4)

{

GotoLeader(c);

Perform(c, "say", "可恶!你给我等着!");

trg5 = 1;

trg3 = 1;

trg2 = 3;

}

}


if (trg3 == 1)

{

c = GetChar("军枪哨兵长");

c2 = GetChar("铁枪哨兵﹒甲");

c3 = GetChar("铁枪哨兵﹒乙");

if (Report(c2, c3, c) || Report(c3, c2, c))

{

trg3 = 2;

}

}


if (trg6 == 0)

{

c = GetChar("军枪哨兵长");

if (c>=0 && GetHP(c)
{


Perform(c, "guard", 4);

Perform(c, "say", "你这小子还真有两下子,来头可不小!!");

Perform(c, "faceto", player);

trg6 = 1;

}

}

if (trg6 == 1)

{

c = GetAnyChar("军枪哨兵长");

if (GetHP(c) <= 0)

{

Say(c, "呜﹒﹒﹒你别以为﹒﹒你能够杀的了﹒﹒﹒﹒﹒﹒");

trg6 = 2;

}

}

}

相关文档
最新文档