You are not logged in.
{$CLEO} // -------- MAIN FOR CLEO ---------- 0000: NOP :TECAR thread "TECAR" #MONSTER.Load while not #MONSTER.Available wait 0 ms end car.Create(15@,#MONSTER,-41.9347, 83.9287, 10.3818) car.Angle(15@) = 68.6948 if 00EC: actor $PLAYER_ACTOR 0 near_point -52.9432 92.5114 10.3818 radius 5.0 5.0 then 020A: set_car 15@ door_status_to 0 end end_thread_named
Да неработает и все((
Last edited by bsstell (18-08-2009 00:04)
Offline
попробуй как я написал.
100 постов - 27 августа;
Offline
Просматривал мэйн и вот что увидел. Пришлось ещё со словарём поработать
09ED: actor 71@ is_within_field_of_view_actor $PLAYER_ACTOR // находится ли актёр в поле видимости другого актёра; буквально: видит ли один актёр другого в данный момент
а опкод
0364: actor 102@(42@,9i) spotted_actor $PLAYER_ACTOR // ЗАМЕТИЛ ли один актёр другого
Как иногда бывает полезно лопатить мэйн.
Offline
Просматривал мэйн и вот что увидел. Пришлось ещё со словарём поработать
09ED: actor 71@ is_within_field_of_view_actor $PLAYER_ACTOR // находится ли актёр в поле видимости другого актёра; буквально: видит ли один актёр другого в данный момент
а опкод
0364: actor 102@(42@,9i) spotted_actor $PLAYER_ACTOR // ЗАМЕТИЛ ли один актёр другого
Как иногда бывает полезно лопатить мэйн.
-_- давно изученно и переученно.
Sw[ee]t wrote:{$CLEO} // -------- MAIN FOR CLEO ---------- 0000: NOP :TECAR thread "TECAR" #MONSTER.Load while not #MONSTER.Available wait 0 ms end car.Create(15@,#MONSTER,-41.9347, 83.9287, 10.3818) car.Angle(15@) = 68.6948 if 00EC: actor $PLAYER_ACTOR 0 near_point -52.9432 92.5114 10.3818 radius 5.0 5.0 then 020A: set_car 15@ door_status_to 0 end end_thread_namedДа неработает и все((
Значит проблема у тебя с игрой, а не со скриптом.
Offline
Просматривал мэйн и вот что увидел. Пришлось ещё со словарём поработать
09ED: actor 71@ is_within_field_of_view_actor $PLAYER_ACTOR // находится ли актёр в поле видимости другого актёра; буквально: видит ли один актёр другого в данный момент
а опкод
0364: actor 102@(42@,9i) spotted_actor $PLAYER_ACTOR // ЗАМЕТИЛ ли один актёр другого
Как иногда бывает полезно лопатить мэйн.
-_- давно изученно и переученно.
Sw[ee]t wrote:{$CLEO} // -------- MAIN FOR CLEO ---------- 0000: NOP :TECAR thread "TECAR" #MONSTER.Load while not #MONSTER.Available wait 0 ms end car.Create(15@,#MONSTER,-41.9347, 83.9287, 10.3818) car.Angle(15@) = 68.6948 if 00EC: actor $PLAYER_ACTOR 0 near_point -52.9432 92.5114 10.3818 radius 5.0 5.0 then 020A: set_car 15@ door_status_to 0 end end_thread_namedДа неработает и все((
Значит проблема у тебя с игрой, а не со скриптом.
Offline
PIT твой способ также неработает(
Offline
способ полегче
{$CLEO}
// -------- MAIN FOR CLEO ----------
0000: NOP
:TECAR
thread "TECAR"
model.load(#MONSTER)
038B: load_requested_models
:1
wait 0
if
model.available(#MONSTER)
jf @1
car.Create(15@,#MONSTER,-41.9347, 83.9287, 10.3818)
car.Angle(15@) = 68.6948
:2
wait 0
if
00EC: actor $PLAYER_ACTOR 1 near_point -52.9432 92.5114 10.3818 radius 5.0 5.0
jf @2
020A: set_car 15@ door_status_to 0
end_thread
P.s. если не сработает напиши мне в асю
Last edited by PIT (18-08-2009 12:31)
100 постов - 27 августа;
Offline
не понял, а это зачем?
{$CLEO} model.Load(#MONSTER) repeat wait 100 until model.Available(#MONSTER) car.Create(15@,#MONSTER,-41.9347, 83.9287, 10.3818) model.Destroy(#MONSTER) car.Angle(15@) = 68.6948 while true wait 100 if 00EC: actor $PLAYER_ACTOR 0 near_point -52.9432 92.5114 10.3818 radius 5.0 5.0 then 020A: set_car 15@ door_status_to 0 car.RemoveReferences(15@) break end end 0a93:
Offline
Почти ни чем не отличается от моего (тока что у меня он покороче чуть-чуть ).
не понял, а это зачем?
Что именно?
Offline
Почти ни чем не отличается от моего (тока что у меня он покороче чуть-чуть ).
Actually, it is... Ты забыл в своем скрипте сделать вечный цикл, в котором ожидается, пока игрок не окажется в координатах. Тот, что я написал, в принципе дублирует скрипт PIT'а, но уже без меток и переходов.
Что именно?
Не понял, почему столько возни с этим скриптом. Что он делает?
Offline
Ты забыл в своем скрипте сделать вечный цикл, в котором ожидается, пока игрок не окажется в координатах.
Никто не забыт, ничто не забыто...
t]
[b]if[/b] 00EC: actor $PLAYER_ACTOR 0 near_point -52.9432 92.5114 10.3818 radius 5.0 5.0 [b]then[/b]
Уже не вечный цикл?
Offline
Уже не вечный цикл?
Нет и никогда им не было, насколько мне известно.:wow:
Offline
у меня конструкции
if
then
end
вылетают
а при декомпиляции заменяются на jf @METKA
которая добавляется и вылет.
100 постов - 27 августа;
Offline
У меня всё нормально.
Спокойно воспринимается как бесконечный цикл.
То есть, например:
:FFF wait 0 ms $FF += 1 if $FF == 500 then $FF = 0 end jump @FFF
Offline
У меня всё нормально.
Спокойно воспринимается как бесконечный цикл.
То есть, например::FFF wait 0 ms $FF += 1 if $FF == 500 then $FF = 0 end jump @FFF
Сама по себе if then[else] end - это условная конструкция, а не цикл. Циклы - это while | until | for | foreach, а также do while | until.
В твоём случае цикл делают метка с переходом.
у меня конструкции
if
then
end
вылетают
а при декомпиляции заменяются на jf @METKA
которая добавляется и вылет.
if then end эквивалентно:
if условие jf @falsejump //переход на позицию после end'а код, что идет после then goto @endjump //переход на позицию после end'а
Offline
кстати, почему никто из вас в скрипте с монстром не писал 038b ?
мне кажется, СБ сам это не припишет
а впрочем эт неважно
Last edited by PIT (19-08-2009 06:03)
100 постов - 27 августа;
Offline
а я вообще никогда не пишу 038b - и ничего, ни разу проблем с этим не было. Видать игра сама в фоновом режиме проходится по списку загружаемых моделей и грузит их.=)
Offline
а я вообще никогда не пишу 038b - и ничего, ни разу проблем с этим не было. Видать игра сама в фоновом режиме проходится по списку загружаемых моделей и грузит их.=)
Вообще никогда?
Offline
просто наверно в макросе загрузки прописан 038b
100 постов - 27 августа;
Offline
Offline
короче задам вопрос сразу как сделать , чтобы create_thread работал везде? Это ведь нужная штука
100 постов - 27 августа;
Offline
@Sw[ee]t - правильнее всего наверно с 0928 из майна так сделать. А музыку, может как-то через 09D5 и SAAT?
Offline
Как это можно реализовать в San Andreas , под типа проходишь рядом с опр. человеком и от него играет музыка.
Кстати, хороший вопрос. Тут же задам вопрос того же типа: как сделать что бы музыка (радиостанция) играла в определенной точке на карте? Как это сделано в магазинах,парикмахерских,барах и гардеробе.
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
097A: play_audio_at $X $Y $Z event 1149
09F1: play_audio_at_actor $PLAYER_ACTOR event 1169
09F7: play_audio_at_car $SWEET_CAR event 1147
097B: play_audio_at_object 0@ event 1011
03D7: set_wav 3 location 884.9761 -1079.983 23.3133
0949: link_wav 3@ to_actor 0@
097C: attach_wav 3 to_object 85@
0A16: link_wav 3 to_car 59@
018C: play_sound 1052 at 0.0 0.0 0.0 //вместо нулей нужные коорды
а ещё, в парикмахерских итд создана аудио-зона через ИПЛ/ИДЕ/ЗОН(не помню точн)
GIMS developer
Offline
097A: play_audio_at $X $Y $Z event 1149
09F1: play_audio_at_actor $PLAYER_ACTOR event 1169
09F7: play_audio_at_car $SWEET_CAR event 1147
097B: play_audio_at_object 0@ event 1011
03D7: set_wav 3 location 884.9761 -1079.983 23.3133
0949: link_wav 3@ to_actor 0@
097C: attach_wav 3 to_object 85@
0A16: link_wav 3 to_car 59@
018C: play_sound 1052 at 0.0 0.0 0.0 //вместо нулей нужные коорды
а ещё, в парикмахерских итд создана аудио-зона через ИПЛ/ИДЕ/ЗОН(не помню точн)
Я бы не стал здесь писать если-бы знал ответа.
Нужно что бы звук проигрывался именно когда ты рядом с опр. персонажем.
РЯДОМ! То есть когда отойдёшь, громкость уменьшалась-бы.
Offline