一个CLEO的问题撒- -
各种神级人物。。。@kami @@@我想写一个NPC街头卖唱的CLEO,我碰到瓶颈了。。。怎么去写一个检测周围有NPC在执行某个动作,然后就播放音乐,远离了这个NPC就停止音乐 写了个略坑的。。。
求修进。。。我觉得这种代码太占用内存而且繁琐
:JITA_NPC
wait 0
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
0A3E: unknown_get_actor_in_sphere 1@ 2@ 3@ radius 6.0 6.0 6.0 handle_as 0@
if
056D: actor 0@ defined
else_jump @JITA_NPC_11
if
Actor.Animation(0@) == "JITA"
else_jump @JITA_NPC
Audiostream.Release(10@)
0AAC: 10@ = load_audiostream "CLEO\JITA\JITA.mp3"
Audiostream.PerformAction(10@, PLAY)
jump @JITA_NPC
:JITA_NPC_11
Audiostream.PerformAction(10@, STOP) 思路没错,搜搜对象,检索动作,导入音乐播放。
暂时还没看到写距离检测。
这样循环的话可能无限加载音频。因为你没有办法判断出检索到的对象是否上次已经检索过了。
然后排除检索范围。
而且音频停止的条件太过苛刻了,无法找到对象就停止,但是CJ周围一般都是有路人的。
建议这个CLEO不需要写循环,判定成功了就跳到后面去进行和音频相对应的wait等待时间结束即可。
kami 发表于 2013-9-25 21:35
思路没错,搜搜对象,检索动作,导入音乐播放。
暂时还没看到写距离检测。
晓得了,谢谢~~~。。。距离检测啥意思捏? 圍觀 落叶、随风 发表于 2013-9-25 21:50
晓得了,谢谢~~~。。。距离检测啥意思捏?
你不是说远离了对象就停止音乐吗,这就是距离检测。 kami 发表于 2013-9-25 22:32
你不是说远离了对象就停止音乐吗,这就是距离检测。
if
Actor.Animation(0@) == "JITA"
else_jump @JITA_NPC_11
这就行啦~~~ kami 发表于 2013-9-25 21:35
思路没错,搜搜对象,检索动作,导入音乐播放。
暂时还没看到写距离检测。
:JITA_NPC
wait 0
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
0A3E: unknown_get_actor_in_sphere 1@ 2@ 3@ radius 6.0 6.0 6.0 handle_as 0@
if
056D: actor 0@ defined
else_jump @JITA_NPC
if
Actor.Animation(0@) == "JITA"
else_jump @JITA_NPC_11
15@ = 1
jump @JITA_NPC_22
:JITA_NPC_22
wait 100
if
0039: 15@ == 1
else_jump @JITA_NPC_11
Audiostream.Release(10@)
0AAC: 10@ = load_audiostream "CLEO\JITA\JITA.mp3"
0AAF: 5@ = get_mp3_length 10@
Audiostream.PerformAction(10@, PLAY)
jump @JITA_NPC
:JITA_NPC_11
15@ = 0
Audiostream.PerformAction(10@, STOP)
jump @JITA_NPC
怎么写音频wait- -。。。音频长度单位是嘛? http://tva1.sinaimg.cn/large/e1a53a7fjw1e8zst58lwhg20dw05kgt9.gif 上面的是签名档- -继续求问题解答
:JITA_NPC
wait 0
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
0A3E: unknown_get_actor_in_sphere 1@ 2@ 3@ radius 6.0 6.0 6.0 handle_as 0@
if
056D: actor 0@ defined
else_jump @JITA_NPC
if
Actor.Animation(0@) == "JITA"
else_jump @JITA_NPC_11
15@ = 1
jump @JITA_NPC_22
:JITA_NPC_22
wait 100
if
0039: 15@ == 1
else_jump @JITA_NPC_11
Audiostream.Release(10@)
0AAC: 10@ = load_audiostream "CLEO\JITA\JITA.mp3"
0AAF: 5@ = get_mp3_length 10@
Audiostream.PerformAction(10@, PLAY)
jump @JITA_NPC
:JITA_NPC_11
15@ = 0
Audiostream.PerformAction(10@, STOP)
jump @JITA_NPC
怎么写音频wait- -。。。音频长度单位是嘛? 循环问题很多啊。。。LZ。。。
你想利用15@这个变量来判断之前是否已经加载过音频。
但是你又跳回开头了。开头没有检测15@的变量的。
说明又要开始创建15@的变量。等于这个东西没生效。
依然无限循环。。播放,目测 kami 发表于 2013-9-26 13:02
循环问题很多啊。。。LZ。。。
你想利用15@这个变量来判断之前是否已经加载过音频。
不是啊- -15@这个变量是用来检测NPC的- - kami 发表于 2013-9-26 13:02
循环问题很多啊。。。LZ。。。
你想利用15@这个变量来判断之前是否已经加载过音频。
检测出来的音频时间单位是个甚? {:soso_e137:}不懂cleo編寫 本帖最后由 落叶、随风 于 2013-9-27 12:02 编辑
检测出来的音频时间单位是个甚?检测出来的音频时间单位是个甚?检测出来的音频时间单位是个甚?检测出来的音频时间单位是个甚?@kami
页:
[1]
2