论坛首页›扭转乾坤[修改]›新编《钟乳洞》求高手帮忙纠正错误!!

新编《钟乳洞》求高手帮忙纠正错误!!

楼主:kakui008发表于 2011-1-11 06:04回复 5查看 4,311最后回复 2014-1-23
共 6 楼
发表于 2011-1-11 06:041#
楼主
最近好像没有人在这里发贴啊(我不知道这么发附件,或者我没有权限发。所以只能将就这样发了。)

这是我的又一部作品,因为是自学的,编程只是略懂,没办法自己写完的剧情脚本,老是不成功,一进游戏就直接死了,上个新编《炽雪城》也没有人帮我纠正,哎,大家都忙了!
谁能帮我,请加我QQ 914934959 。我把文件发给你看一下!! (注:下面是剧情,没有npc 文件。)


// 锺乳洞
int Rule = 3;
int RoundTime = 15;
int PlayerSpawn = 9;
int PlayerSpawnDir = 90;
int PlayerWeapon = 5;
int PlayerWeapon2 = 1;
int PlayerHP = 2500;

int trg0 = 0;
int trg1 = 0;
int trg2 = 0;
int trg3 = 0;
int trg4 = 0;
int survivor = -1;
int gameover = 0;
int timer0 = 0;

OnStart()
{
AddNPC("101");
AddNPC("102");
AddNPC("103");
AddNPC("104");
}
OnUpdate()
{
int player = GetAnyChar("player");
if (player < 0)
{
return 0;
}
if (gameover == 2)
{
return 0;
}

int c;
int c2;
int c3;
int p1;
int now = GetGameTime();

if (trg0 == 0)
{
c = GetChar("慕容云川");
c2 = GetChar("哨兵﹒甲");
c3 = GetChar("哨兵﹒乙");
p1 = GetChar("慕容雪");

if (c>=0 && c2>=0 && c3>=0 && p1>=0)
{
Perform(c, "say", "你们给我小心巡逻!发现发现那小子给我宰了他!");
Perform(c, "say", "要是看见我妹妹立刻把她带回来!!!");
Perform(c, "faceto", c2);

ChangeBehavior(c2, "patrol", 18, 39, 41, 54);
Perform(c2, "say", "是!");
Perform(c2,"faceto", c);

ChangeBehavior(c3, "patrol", 47, 50, 39);
Perform(c3,"say", "..yes sir..");
Perform(c3,"faceto", c);

ChangeBehavior(p1, "patrol", 27, 26);
Perform(p1,"say", "(星!!你现在怎么样了?............!)");

trg0 = 1;
}
}
if (trg0 == 1)
{
p1 = GetChar("慕容雪");
SetTarget(0, "char", p1);
SetTarget(1, "char", player);
if (p1>=0 && Distance(0, 1) < 100)
{
ChangeBehavior(p1, "follow", player);
Perform(p1,"say","我哥哥派人到处找我,非要让我嫁给南宫俊,我........!!");
Perform(p1, "pause", 2);
Perform(p1,"say","孟星魂!!是你吗!!告诉我不是在做梦吧!");

PlayerPerform("say","嘘!嘘!不要说话!你先跟我走。");
PlayerPerform("say","雪儿!你..!你在这儿做什么?!");
PlayerPerform("pause", 2);

trg0 = 2;
}
}
if (trg0 == 2)
{
c2 = GetChar("哨兵﹒甲");
c3 = GetChar("哨兵﹒乙");
if (c2>=0 && GetEnemy(c2)==player)
{
ChangeBehavior(c3, "follow", c2);
Perform(c2,"say","啊,是你小子,唉快过来!帮忙!");
Perform(c2,"faceto", player);
trg0 = 3;
}
if (c3>=0 && GetEnemy(c3)==player)
{
ChangeBehavior(c2, "follow", c3);
Perform(c3,"say","唉,你是谁,唉快过来呀!那小子来了!");
Perform(c3,"faceto", player);
trg0 = 3;
}
}
if (trg0 == 3)
{
c2 = GetChar("哨兵﹒甲");
c3 = GetChar("哨兵﹒乙");
survivor = -1;
if (c2>=0 && GetHP(c2)<=0)
{
survivor = c3;
}
if (c3>=0 && GetHP(c3)<=0)
{
survivor = c2;
}
if (Get(survivor) > 0)
{
c = GetChar("慕容云川");
if (c >= 0)
{
ChangeBehavior(survivor, "follow", c);
Perform(survivor, "say", "小子!你给我等着!");
Perform(survivor, "faceto", player);
trg0 = 4;
}
}
}
if (trg0 == 4)
{
c = GetChar("慕容云川");
if (c>=0 && GetHP(survivor)>0)
{
SetTarget(0, "char", c);
SetTarget(1, "char", survivor);
if (Distance(0, 1) < 150)
{
Perform(survivor, "say", "报告老大!发现那位闯关的小子了!");
Perform(survivor, "faceto", c);

ChangeBehavior(c, "follow", player);
Perform(c, "say", "走!跟我去会会他!");
Perform(c, "pause", 2);
Perform(c, "faceto", survivor);

trg0 = 5;
}
}
}
if (trg1 == 0)
{
c = GetChar("慕容云川");
if (c>=0 && GetEnemy(c)==player)
{
Perform(c, "say", "你这臭小子,我等你狠久了!!");
Perform(c, "say", "废话少说,看招!!");
Perform(c, "faceto", player);
if (trg0 != 5)
{
ChangeBehavior(c, "kill", player);
Perform(c,"say","哼,要不是因为你,我妹妹早嫁给南宫家了!");
Perform(c,"pause", 2);
Perform(c,"say","臭小子,你终于来了!!雪儿,你们......");
Perform(c,"faceto", player);

PlayerPerform("say","你这个不知廉耻家伙,就为了钱财出卖妹妹!!");
PlayerPerform("pause", 6);

trg0 = 5;
}
trg1 = 1;
}
}
if (trg2 == 0 && now > timer0)
{
c = GetChar("慕容云川");
if (GetHP(c) <= 0)
{
Say(c,".小子伸手不错.可惜我不是你的对手!你要好好对待我妹妹..!!");
PlayerPerform("use", 15);
Perform(p1,"use", 15);
timer0 = now + 5;
trg2 = 1;
}
}
if (trg2 == 1 && now > timer0)
{
AddNPC("105");
RemoveNPC(c);
trg2 = 2;
}
if (trg2 == 2)
{
int c = GetChar("南宫俊");
SetTarget(0, "char", c);
SetTarget(1, "char", player);
if(c >= 0 && GetEnemy(c)==player && Distance(0, 1) < 300)
{
ChangeBehavior(c, "kill", player);
Perform(c,"say", "哼!来呀!要是你输了,以后就不要让我再见到你....");
Perform(c, "pause", 2);
Perform(c,"say", "你小子给我闭嘴!都是以为你!要不是你阿雪久不会离开我..!!");
Perform(c, "pause", 5);
Perform(c,"say", "别以为我不知道你们的事,哼!我已经忍了很久了!");
Perform(c, "pause", 5);
Perform(c,"say", "你们可让我逮住了,雪,枉我对你一往情深!");
Perform(c,"faceto", player);

ChangeBehavior(p1, "attacktarget", 1);
Perform(p1,"say","南宫俊,你不要敬酒不吃吃罚酒!");
Perform(p1, "pause", 2);
Perform(p1,"say","你少来啦,我喜欢谁那是我的事,希望你冷静点!");
Perform(p1, "pause", 3);

PlayerPerform("block", 0);
PlayerPerform("say", "好,要是你输了,今后要好好对待啊雪,否则下次见到你绝不轻饶!!");
PlayerPerform("pause", 5);
PlayerPerform("say", ".(呵呵,没想到啊雪再他心里这么重要,可我并没有争夺的意思啊)....?");
PlayerPerform("pause", 7);
PlayerPerform("say", "你这是什么意思?......请不要误会..!!");
PlayerPerform("pause", 5);
PlayerPerform("block", 1);

trg2 = 3;
}
}
if (gameover!=-1 && GetHP(player)<=0)
{
gameover = -1;
timer0 = now + 5;
}
if ((gameover==1 || gameover==-1) && now>timer1)
{
GameOver(gameover);
gameover = 2;
}
}
UID 92319
发表于 2011-1-11 10:272#
你去流星译站,那里也许有人帮你解答,我现在没有时间。
UID 87371
发表于 2012-9-16 13:413#
1.在trg2==2下有个int宣告.
这里多余,宣告应该在上面.
2.最后gameover里有一个now>timer1
你未宣告timer1,只宣告了timer0
这两个改完了就可以游戏了.
还有一个错别字:你伸手不错
另外的建议,例如在trg2==0下你只说了c叫云川,但是命令里出现了人物p1.虽然p1会引用最近的一次赋值,但是在多条件触发的剧情里,很难做到哪一节按照什么顺序.比如你这个就是3线的剧情.可能会引发人物动作错误.不过你要是人物少,每个人物对应一个c,也可以.但是这样又占据了运算空间.
考虑到你有一个trg0=5的剧情连接,我认为你一定是还有下文.不然还要再调试,因为测试了一下,南宫死后游戏不结束.
签名:右手阎罗
UID 87841
发表于 2014-1-5 21:144#
回复 3楼束缚·舞的帖子

嗯 ,你都看了。我现在在游戏是以什么情况结束上还没有研究,另外对于剧情我都是临时编造的,按照我的简单逻辑编写的,然后反复测试,一旦出错就返回文件开始检查错并修改,对于顺序上的错乱应该可以控制,但是比较繁琐复杂,尤其是trg2 = 1;后面还有几个trg? = ?比如原飞鹏堡的剧情,我研究了很久不知道是什么用意。
UID 92319
发表于 2014-1-14 09:375#
回复 4楼kakui008的帖子

这我可以帮你,我发个简单的教程给你,这教程是我写的,你在网上是找不到的。但你要帮我个忙,若你同意,给我邮箱,我寄说明
UID 62704
发表于 2014-1-23 23:466#
回复 5楼adsl12203的帖子

呵呵 你还有忙要我帮啊,什么忙?先说说,我看能帮上不!!QQ :9***@qq.com
UID 92319
共 6 楼

关于这个存档

本页内容为历史存档,已关闭一切写操作。附件仅展示文件信息,不提供下载。内容如涉侵权或不当,请联系 server@yfzz.net 下架。

可以做的事:浏览版块、阅读主题与楼层、查看图片附件、按标题或作者搜索、打开用户资料页。
不能做的事:注册、登录、发帖、回复、引用、评分、私信、收藏;压缩包等附件不提供下载——存档版只展示文件信息。

数据截至 2021-02-05;附件约有 30–40% 的原文件未能保存,页面上以「已丢失」标注。2009 年前的不少图片是外链图床,原图床已关闭,页面会显示失效占位。
隐龙轩QQ群:点此查看

26,823 主题 / 280,734 帖 / 17,145 位发过言的会员 · 数据最后更新 2021-02-05

粤ICP备2024318274号-1