铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 3191|回复: 29

[求助] 高手进来看下,我这代码哪里有错?

[复制链接]
发表于 2017-11-13 11:05 | 显示全部楼层 |阅读模式

有哪位大神可以帮忙看下,我这代码哪里错了。。

加一段在明教地道的剧情,空白键地道的骷髅触发剧情,
打完架,领了奖赏后,我试着再次和骷髅对话,再次触发剧情,可以无限次触发剧情!

请问下大神,如何把事件设定成只完成一次就不能再触发?



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-13 11:46 | 显示全部楼层
SetD GetD设置flag
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-13 12:39 | 显示全部楼层

大神~表示看不懂该怎么写。。。
我是自己摸着修改的,没学过写代码,原谅我看不懂
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-13 13:51 | 显示全部楼层
hong99020 发表于 2017-11-13 12:39
大神~表示看不懂该怎么写。。。
我是自己摸着修改的,没学过写代码,原谅我看不懂

發代碼不要發截圖,否則別人改還要重新敲。

  1. function NEvent13(keypress)
  2.         if xxx and GetS(13,1,1) ~= 501 then
  3.                 if GetS(13,1,1) ~=500
  4.                         say
  5.                         say
  6.                         say
  7.                 end
  8.                 SetS(13,1,1,500)
  9.                 if DrawStrBoxYesNo xxx then
  10.                         if WarMain(xxx) then --勝利
  11.                                 say
  12.                                 instruct_2(74,1)
  13.                                 SetS(13,1,1,501)
  14.                                 Cls()
  15.                         else --失敗
  16.                                 say
  17.                                 Cls()
  18.                         end
  19.                 end
  20.         end
  21. end
复制代码

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-13 13:57 | 显示全部楼层
entelecheia 发表于 2017-11-13 13:51
發代碼不要發截圖,否則別人改還要重新敲。

好的,感谢大神热心帮忙,下次会注意,不发截图了
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-14 00:40 | 显示全部楼层
本帖最后由 hong99020 于 2017-11-14 00:41 编辑
entelecheia 发表于 2017-11-13 13:51
發代碼不要發截圖,否則別人改還要重新敲。
  1. --挑战阳顶天
  2. function NEvent13(keypress)
  3.       if JY.SubScene == 13 and JY.Base["人X1"] == 11 and JY.Base["人Y1"] == 27 and JY.Base["人方向"] == 2 and (keypress == VK_SPACE or keypress == VK_RETURN) and GetS(13,1,1) ~= 501 then
  4.           if GetS(13,1,1) ~= 500
  5.                say("小贼,想干什么?是不是想顺手拿走我明教无上神功?", 645, 0)  --对话
  6.                say("呀!什么人在说话?怎么觉得背脊有一股寒意的。", 0, 1)  --对话
  7.                say("是老夫在说话,就在你面前。", 645, 0)  --对话
  8.                say("偶滴神呀!!骷髅在说话!你~你~你~你~你想对我怎样?", 0, 1)  --对话
  9.                say("哼!老夫还能对你怎样?既然你能进入这个密道,来到此处,也算是有缘人,但是这心法不能平白无端的让你取走。", 645, 0)  --对话
  10.                say("你是人还是鬼?", 0, 1)  --对话
  11.                say("老夫乃明教教主阳顶天!虽然老夫已不在人世,但我曾对明尊立誓,必须守护我明教神功。", 645, 0)  --对话
  12.                say("原来你就是阳顶天。", 0, 1)  --对话
  13.                say("只要你能通过老夫的试炼,便是真正的有缘人,自会以神功相赠。", 645, 0)  --对话
  14.                say("你准备好了吗?", 645, 0)  --对话
  15.            end
  16.            SetS(13,1,1,500)
  17.            if DrawStrBoxYesNo(-1, -1, "是否要挑战阳顶天?", C_WHITE, CC.DefaultFont) then  --是/否
  18.                 if WarMain(292, 1) then  --胜利
  19.                       say("看来,你和这乾坤大挪移心法的缘分未到,继续努力吧。", 645, 0)  --对话
  20.                       instruct_2(74, 1)  --得到乾坤大挪移
  21.                       SetS(13,1,1,501)
  22.                       Cls()  --清屏
  23.                 else  --失败
  24.                       say("恭喜"..JY.Person[0]["外号"].."成功通过试炼。", 645, 0)  --对话
  25.                       Cls()  --清屏
  26.                 end
  27.             end
  28.       end
  29. end
复制代码
大神,还是不行,直接不能打开游戏
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-14 10:00 | 显示全部楼层
本帖最后由 entelecheia 于 2017-11-14 10:02 编辑
hong99020 发表于 2017-11-14 00:40
大神,还是不行,直接不能打开游戏

  1. --挑战阳顶天
  2. function NEvent13(keypress)
  3.       if JY.SubScene == 13 and JY.Base["人X1"] == 11 and JY.Base["人Y1"] == 27 and JY.Base["人方向"] == 2 and (keypress == VK_SPACE or keypress == VK_RETURN) and GetS(13,1,1,3) ~= 501 then
  4.           if GetS(13,1,1,3) ~= 500 then
  5.                say("小贼,想干什么?是不是想顺手拿走我明教无上神功?", 645, 0)  --对话
  6.                say("呀!什么人在说话?怎么觉得背脊有一股寒意的。", 0, 1)  --对话
  7.                say("是老夫在说话,就在你面前。", 645, 0)  --对话
  8.                say("偶滴神呀!!骷髅在说话!你~你~你~你~你想对我怎样?", 0, 1)  --对话
  9.                say("哼!老夫还能对你怎样?既然你能进入这个密道,来到此处,也算是有缘人,但是这心法不能平白无端的让你取走。", 645, 0)  --对话
  10.                say("你是人还是鬼?", 0, 1)  --对话
  11.                say("老夫乃明教教主阳顶天!虽然老夫已不在人世,但我曾对明尊立誓,必须守护我明教神功。", 645, 0)  --对话
  12.                say("原来你就是阳顶天。", 0, 1)  --对话
  13.                say("只要你能通过老夫的试炼,便是真正的有缘人,自会以神功相赠。", 645, 0)  --对话
  14.                say("你准备好了吗?", 645, 0)  --对话
  15.            end
  16.            SetS(13,1,1,3,500)
  17.            if DrawStrBoxYesNo(-1, -1, "是否要挑战阳顶天?", C_WHITE, CC.DefaultFont) then  --是/否
  18.                 if WarMain(292, 1) then  --胜利
  19.                       say("看来,你和这乾坤大挪移心法的缘分未到,继续努力吧。", 645, 0)  --对话
  20.                       instruct_2(74, 1)  --得到乾坤大挪移
  21.                       SetS(13,1,1,3,501)
  22.                       Cls()  --清屏
  23.                 else  --失败
  24.                       say("恭喜"..JY.Person[0]["外号"].."成功通过试炼。", 645, 0)  --对话
  25.                       Cls()  --清屏
  26.                 end
  27.             end
  28.       end
  29. end
复制代码


【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-14 10:23 | 显示全部楼层

可以了!发现自己好白痴,居然没发现到少了 then
难怪一直进不去游戏。。。

多谢E大的帮忙
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-14 10:58 | 显示全部楼层

请教下E大,这几个关键的代码


GetS(13,1,1,3) ~= 501
GetS(13,1,1,3) ~= 500
SetS(13,1,1,3,500)
SetS(13,1,1,3,501)

根据我拜读前辈们的教程,

第一个是场景ID,明教地道是13,这个很清楚。
第四个是3,就是代表着事件层,这个也明白。

第二个和第三个分别是场景X和Y坐标,可是为什么是1呢?骷髅坐标是 X10 Y27,难道是编号1?

还有500和501代表着什么?这个也搞不清楚
第五个是修改的值,到底是如何得出是500和501呢?

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-14 11:12 | 显示全部楼层
hong99020 发表于 2017-11-14 10:58
请教下E大,这几个关键的代码


就是个变量写到硬盘记录一下情况的
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-14 11:19 | 显示全部楼层
guotong1988 发表于 2017-11-14 11:12
就是个变量写到硬盘记录一下情况的

哈,我比较笨,所以那个500和501是自己设定的吧?
就是没有固定的数据?


【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-14 11:20 | 显示全部楼层
hong99020 发表于 2017-11-14 11:19
哈,我比较笨,所以那个500和501是自己设定的吧?
就是没有固定的数据?

设成250也可以
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-14 11:29 | 显示全部楼层
hong99020 发表于 2017-11-14 10:58
请教下E大,这几个关键的代码


就是在地牢1,1位置,也就是左上角,设个flag500。用upedit查看场景事件层,方格上的数字就是flag。你可以随便在任意没有立过flag的地方立任意不重复的flag。你可以SetS(13,50,50,3,50)也可以SetS(13,20,20,3,20),只要不重复就可以了。之所以不立在骨头上,upedit可以看到,骨头上已经立过flag,所以只能找别的地方立flag。立了500flag,就表示已经触发对话,下次再点骨头的时候,就直接从问是否挑战开始。挑战胜利就立501flag,表示这段剧情已经结束,不再触发。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-14 11:45 | 显示全部楼层

好的,明白。多谢指教
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-14 11:46 | 显示全部楼层
entelecheia 发表于 2017-11-14 11:29
就是在地牢1,1位置,也就是左上角,设个flag500。用upedit查看场景事件层,方格上的数字就是flag。你可以 ...

明白了,多谢指教。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-16 10:48 | 显示全部楼层
求指教怎么加入自定义事件?
我用了楼主的代码
然后在main函数NEvent里面加入了NEvent13(keypress)
但是还是对话还是会闪退,求指教还需要什么步骤
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-16 10:55 | 显示全部楼层
baimabo 发表于 2017-11-16 10:48
求指教怎么加入自定义事件?
我用了楼主的代码
然后在main函数NEvent里面加入了NEvent13(keypress)

因为你没有战斗292。理论上,改成291就可以了。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-16 13:23 | 显示全部楼层
baimabo 发表于 2017-11-16 10:48
求指教怎么加入自定义事件?
我用了楼主的代码
然后在main函数NEvent里面加入了NEvent13(keypress)

楼上的E大说对了,因为这个292是我自己加的战斗,你没有。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-16 13:46 | 显示全部楼层
entelecheia 发表于 2017-11-16 10:55
因为你没有战斗292。理论上,改成291就可以了。

再求指教,请问下如果要加入这个剧情的话除了在main函数 --自定义事件 function NEvent(keypress)  里面加入NEvent13

和MyOEvent里面加入刚刚那个代码以及更改战斗事件编号外,还需要在哪里进行修改?.
我刚刚试了吧那个战斗的292改了已存在的战斗但是还是会跳出.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-16 14:03 | 显示全部楼层
baimabo 发表于 2017-11-16 13:46
再求指教,请问下如果要加入这个剧情的话除了在main函数 --自定义事件 function NEvent(keypress)  里面加 ...

你直接拷贝我的代码,是吗?
注意,是我发的那个代码,对吗?

如果是,那么请检查看

If xxxxxxx then

if 的最后面是不是少了then
我就是少了then,才会进不到游戏


【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-16 14:08 | 显示全部楼层
baimabo 发表于 2017-11-16 13:46
再求指教,请问下如果要加入这个剧情的话除了在main函数 --自定义事件 function NEvent(keypress)  里面加 ...


你直接把代码拷过去吧,应该就没问题了。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-16 15:23 | 显示全部楼层
hong99020 发表于 2017-11-16 14:08
你直接把代码拷过去吧,应该就没问题了。

那个then我加了.如果if后面不加then游戏进不去的.
我这个是剧情和原来一样,然后直接拿到了乾坤然后闪退了.
请问下是不是还要在其他的文件里面修改?
谢谢你的文件,我拷贝过去了还是一样的.另外战斗也改成了291也是无效

我main里面只加了一个NEvent13(keypress)

感觉是不是还应该在剧情顺序那个里面加入点东西?比如说什么时候出发这个NEvent13.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-16 15:51 | 显示全部楼层
本帖最后由 hong99020 于 2017-11-16 15:54 编辑
baimabo 发表于 2017-11-16 15:23
那个then我加了.如果if后面不加then游戏进不去的.
我这个是剧情和原来一样,然后直接拿到了乾坤然后闪退 ...

是了,你没有阳顶天这个人物,
因为对话的是阳顶天这个人物,你没有。

阳顶天的代号是645,也是我自己加的,所以一对话就跳出,因为没有这个人物代号。。。。

还有,因为原来的剧情是会得到乾坤的,所以原来剧情的文件也要修改
在CEvent文件夹里。。,不然会得到两次乾坤。

你直接下载我昨天整理好的修改文件吧,里面包含了乾坤剧情
https://www.dawuxia.net/thread-1034489-1-1.html
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-16 16:10 | 显示全部楼层
baimabo 发表于 2017-11-16 15:23
那个then我加了.如果if后面不加then游戏进不去的.
我这个是剧情和原来一样,然后直接拿到了乾坤然后闪退 ...

把跳出后的debug.txt发上来...

点评

谢谢大神热心,是缺少了人物的问题已经解决了.  发表于 2017-11-16 16:26
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-16 16:26 | 显示全部楼层
hong99020 发表于 2017-11-16 15:51
是了,你没有阳顶天这个人物,
因为对话的是阳顶天这个人物,你没有。

谢谢谢谢,果然是人物的问题.
我就是想学学怎么改剧情和加触发的,正好看到,学习了..谢谢

还想求指教人物坐标除了在游戏中其他地方能看到吗?
还有就是那个绑定位置不能重复,
UPDIT上面可以看到骷髅有flag了,那么怎么确定自己绑定时候的位置呢?
比如说这里的500,
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 12:22

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表