QQ登录

只需一步,快速开始

 找回密码
 定下契约(新注册)

QQ登录

只需一步,快速开始

查看: 1304|回复: 20
收起左侧

[求助] 一个CLEO的问题撒- -

[复制链接]

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
发表于 2013-9-25 20:50:37 | 显示全部楼层 |阅读模式

你这样只看不注册,真的大丈夫?~

您需要 登录 才可以下载或查看,没有账号?定下契约(新注册)

x
各种神级人物。。。@kami @@@
我想写一个NPC街头卖唱的CLEO,我碰到瓶颈了。。。怎么去写一个检测周围有NPC在执行某个动作,然后就播放音乐,远离了这个NPC就停止音乐

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-25 21:16:33 | 显示全部楼层
写了个略坑的。。。
求修进。。。我觉得这种代码太占用内存而且繁琐

: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)

世界工人

心之所向

Rank: 16

UID
1
宝石
30 粒
金币
3540 枚
节操
1238 斤
灵石
2 块
精力
12275 ℃

sex lady精力射线真の绅士

发表于 2013-9-25 21:35:03 | 显示全部楼层
思路没错,搜搜对象,检索动作,导入音乐播放。
暂时还没看到写距离检测。

这样循环的话可能无限加载音频。因为你没有办法判断出检索到的对象是否上次已经检索过了。
然后排除检索范围。

而且音频停止的条件太过苛刻了,无法找到对象就停止,但是CJ周围一般都是有路人的。
建议这个CLEO不需要写循环,判定成功了就跳到后面去进行和音频相对应的wait等待时间结束即可。

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-25 21:50:26 | 显示全部楼层
kami 发表于 2013-9-25 21:35
思路没错,搜搜对象,检索动作,导入音乐播放。
暂时还没看到写距离检测。

晓得了,谢谢~~~。。。距离检测啥意思捏?

翘楚 Outstanding

Rank: 6Rank: 6Rank: 6

UID
32
宝石
7 粒
金币
4853 枚
节操
-202 斤
灵石
4 块
精力
8883 ℃
发表于 2013-9-25 22:05:50 | 显示全部楼层
圍觀

点评

求帮忙- -  发表于 2013-9-26 12:32
圍觀+1  发表于 2013-9-26 09:24

世界工人

心之所向

Rank: 16

UID
1
宝石
30 粒
金币
3540 枚
节操
1238 斤
灵石
2 块
精力
12275 ℃

sex lady精力射线真の绅士

发表于 2013-9-25 22:32:22 | 显示全部楼层
落叶、随风 发表于 2013-9-25 21:50
晓得了,谢谢~~~。。。距离检测啥意思捏?

你不是说远离了对象就停止音乐吗,这就是距离检测。

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-26 12:24:05 | 显示全部楼层
kami 发表于 2013-9-25 22:32
你不是说远离了对象就停止音乐吗,这就是距离检测。

if
Actor.Animation(0@) == "JITA"
else_jump @JITA_NPC_11

这就行啦~~~

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-26 12:34:10 | 显示全部楼层
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- -。。。音频长度单位是嘛?

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-26 12:42:55 | 显示全部楼层

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-26 12:43:50 | 显示全部楼层
上面的是签名档- -继续求问题解答

: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- -。。。音频长度单位是嘛?

世界工人

心之所向

Rank: 16

UID
1
宝石
30 粒
金币
3540 枚
节操
1238 斤
灵石
2 块
精力
12275 ℃

sex lady精力射线真の绅士

发表于 2013-9-26 13:02:32 | 显示全部楼层
循环问题很多啊。。。LZ。。。

你想利用15@这个变量来判断之前是否已经加载过音频。

但是你又跳回开头了。开头没有检测15@的变量的。
说明又要开始创建15@的变量。等于这个东西没生效。

依然无限循环。。播放,目测

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-26 14:03:35 | 显示全部楼层
kami 发表于 2013-9-26 13:02
循环问题很多啊。。。LZ。。。

你想利用15@这个变量来判断之前是否已经加载过音频。

不是啊- -15@这个变量是用来检测NPC的- -

点评

同样啊。你跳回开头又重新定义15@. 等于没有检测效果。  发表于 2013-9-26 14:16

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-26 14:04:26 | 显示全部楼层
kami 发表于 2013-9-26 13:02
循环问题很多啊。。。LZ。。。

你想利用15@这个变量来判断之前是否已经加载过音频。

检测出来的音频时间单位是个甚?

翘楚 Outstanding

Rank: 6Rank: 6Rank: 6

UID
32
宝石
7 粒
金币
4853 枚
节操
-202 斤
灵石
4 块
精力
8883 ℃
发表于 2013-9-26 17:08:30 | 显示全部楼层
{:soso_e137:}不懂cleo編寫

达人 Expert

Rank: 9Rank: 9Rank: 9

UID
1409
宝石
82 粒
金币
2139 枚
节操
12 斤
灵石
0 块
精力
104 ℃
 楼主| 发表于 2013-9-26 17:45:27 | 显示全部楼层
本帖最后由 落叶、随风 于 2013-9-27 12:02 编辑

检测出来的音频时间单位是个甚?检测出来的音频时间单位是个甚?检测出来的音频时间单位是个甚?检测出来的音频时间单位是个甚?@kami

本版积分规则

    切换繁體
    Archiver|手机版|小黑屋|

GMT+8, 2024-5-14 04:40 , Processed in 0.201199 second(s), 130 queries .

沪ICP备2021020632号-1

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