You are not logged in.
Sergey81, я чё-то не пойму, почему бы не изменить имя потока на более короткое?
Это мэйн от Great Theft Car, во первых он не компилируется, во вторых если даже и скомпилился бы, сейвы старые не подойдут. Оно того не стоит.
Кстати, плагин для возврата аэро я написал, спс за наводки.
Offline
Sergey81, 0459: end_thread_named 'SPEEDOM' работает или нет?
Неа, пробовал по всякому, не получилось.
Offline
А как убрать блокады на мостах в начале оригинальной игры? Они - это объекты, которые надо удалить? или как
Offline
В аттаче результат маленького эксперимента с аэро.
dll загружается через cleo, включает аэро, выгружается и скрипт завершается. Теперь, если свернуть SA, аэро будет работать. А вобще мне больше интересно было посмотреть, получится сделать или нет.
Offline
разработчик ГТК по поводу твоей проблемы со спидометром:
кул
Кул то, что проблема решаема хотя бы отключением одного спидометра:cool:
Offline
offtop ololo
@3Вщщьук - а зачем такой большой юб ставить в подпись? Достаточно ссылки наверное.
Offline
Они - это объекты, которые надо удалить?
Да. Переменные этих объектов можно найти в мэйне.
Неа, пробовал по всякому, не получилось.
Возможно, дело в регистре букв названия потока. Можно попробовать декомпилировать тот мэйн, выставив регистр "Как есть" в опциях СБ. Первые 7 символов полученного названия скопировать в 0459
Offline
Возможно, дело в регистре букв названия потока. Можно попробовать декомпилировать тот мэйн, выставив регистр "Как есть" в опциях СБ. Первые 7 символов полученного названия скопировать в 0459
Стоит и так "как есть", так что наверно не в этом дело.
Заюзал Memory Hacker.
Им тред прекрасно отключается, оставляя за собой только ноль в углу:
Название кстати содержит 8 символов.
P.S.
0459: end_thread_named 'SPEEDOME' не срабатывает тоже.
Last edited by Sergey81 (23-12-2010 04:58)
Offline
@Sergey81 - давай для начала разберемся с 0AAA. При каких значениях этот опкод "находит" запущенный поток?
0AAA: 0@ = thread "SPEEDOME" pointer
0@ <> 0 ?
Если ты найдешь указатель на этот поток, то ты можешь либо вручную выставить флаг "неактивности", либо "скормить" указатель в метод CScriptThread::endThread.
Offline
А есть у клео скриптов какое-то ограничение на память или что-то вроде того?
Ато есть у меня один скрипт, выбирает случайные авто. так вот после нескольких выборов, примерно гдето на 6-7 раз, игра вылетает. Хотя RemoveReferences использую. С загрузкой и выгрузкой моделей создавемых объектов тоже все нормально... непонимаю почему так.
Может есть какие-нибудь опкоды, забивающие память? Или может дело вовсе не в памяти.
Last edited by Ruzel (23-12-2010 17:26)
Offline
выбирает случайные авто
Можно поточнЕе?
Offline
Какой опкод ты используешь для поиска? Некоторые опкоды не изменяют значение флага Ref, и машина может в любой момент исчезнуть (например, после wait 1000), может, из-за этого?
[small][/small]
Offline
@Sergey81 - давай для начала разберемся с 0AAA. При каких значениях этот опкод "находит" запущенный поток?
0AAA: 0@ = thread "SPEEDOME" pointer0@ <> 0 ?
Если ты найдешь указатель на этот поток, то ты можешь либо вручную выставить флаг "неактивности", либо "скормить" указатель в метод CScriptThread::endThread.
Сейчас у меня такой код:
{$CLEO} 0000: 0AAA: 0@ = thread "SPEEDOMETR_BYHARD_V2" pointer if 0@ <> 0 then wait 100 0ABA: end_custom_thread_named 'speed' 0459: end_thread_named 'NJOY' else 0a93: end 0a93:
Т.е. "SPEEDOMETR_BYHARD_V2" находится, тред 'NJOY' отключается, как и 'speed'(клео-спидометр).
--
А вот за CScriptThread::endThread спасибо, так работает, не оставляя за собой никаких следов.
{$CLEO} 0000: 0AAA: 0@ = thread "SPEEDOMETR_BYHARD_V2" pointer if 0@ <> 0 then wait 100 0AA6: call_method 0x465AA0 struct 0@ num_params 0 pop 0 0459: end_thread_named 'NJOY' else 0a93: end 0a93:
Надо будет куда-нить в неочевидные возможности запостить.
Last edited by Sergey81 (24-12-2010 05:40)
Offline
помогите пожалуйста, всю голову сломал уже. модели не выгружаются по моему
{$CLEO .cs} //-------------MAIN--------------- thread "folt" wait 1000 :folt if player.defined($Player_char) jf @folt marker.CreateIconAndSphere($Mark,23,274.1831, 2505.5039, 16.4844) :folt1 wait 0 if 0101: actor $PLAYER_ACTOR stopped_near_point 274.2205 2505.5354 16.4844 radius 1.5 1.5 1.5 sphere 0 jf @folt1 marker.Disable($Mark) wait 0 00C0: set_current_time_to 00 minutes_to 00 wait 0 model.Load(1@ 5713) model.Load(2@ 5714) model.Load(3@ 5715) 038B: load_requested_models Jump @folt1_2 end_thread :folt1_2 wait 0 if and model.Available(1@ 5713) model.Available(2@ 5714) model.Available(3@ 5715) jf @folt1_2 object.Create(1@,5713, 325.7908, 2506.9893, 14.5) object.Angle(1@) = 270.0 object.Create(1@,5713, 412.2807, 2506.9893, 14.5) object.Angle(1@) = 270.0 object.Create(2@,5714, 385.6027, 2506.9893, 14.5) object.Angle(2@) = 270.0 object.Create(3@,5715, 350.7908, 2506.9893, 14.5) object.Angle(3@) = 270.0 Jump @folt1_3 end_thread :folt1_3 wait 0 model.Load(4@ 9833) 038B: load_requested_models if player.defined($Player_char) jf @folt1_3 Jump @folt1_4 end_thread :folt1_4 wait 0 if and model.Available(4@ 9833) jf @folt1_4 object.Create(4@,9833, 415.5789, 2506.9893, 14.5) object.Angle(4@) = 270.0 Jump @folt2 :folt2 wait 0 model.load(258) model.load(253) model.load(260) 038B: load_requested_models :folt2_1 wait 0 if and model.available(258) model.available(253) model.available(260) jf @folt2_1 Jump @folt2_2 :folt2_2 wait 0 if and actor.Create(5@,4,258,323.0516, 2508.1335, 16.5039) actor.Create(6@,4,253,322.8822, 2503.0637, 16.4844) actor.Create(7@,4,260,323.1521, 2491.134, 16.4844) actor.Create(8@,4,258,315.3968, 2493.405, 16.4844) actor.Create(9@,4,253,315.1443, 2500.6709, 16.4844) actor.Create(10@,4,260,315.0663, 2505.6206, 16.4844) actor.Create(11@,4,258,315.0244, 2511.3728, 16.5594) actor.Create(12@,4,253,314.6855, 2522.022, 16.7265) actor.Create(13@,4,260,314.357, 2526.8503, 16.7849) jf @folt2_2 Jump @folt2_3 :folt2_3 wait 0 if and Actor.SetImmunities(5@, 1, 1, 1, 1, 1) Actor.SetImmunities(6@, 1, 1, 1, 1, 0) Actor.SetImmunities(7@, 1, 1, 1, 1, 0) Actor.SetImmunities(8@, 1, 1, 1, 1, 1) Actor.SetImmunities(9@, 1, 1, 1, 1, 0) Actor.SetImmunities(10@, 1, 1, 1, 1, 0) Actor.SetImmunities(11@, 1, 1, 1, 1, 1) Actor.SetImmunities(12@, 1, 1, 1, 1, 0) Actor.SetImmunities(13@, 1, 1, 1, 1, 0) jf @folt2_3 Actor.Health(5@) = 1000 Actor.Health(6@) = 1000 Actor.Health(7@) = 1000 Actor.Health(8@) = 1000 Actor.Health(9@) = 1000 Actor.Health(10@) = 1000 Actor.Health(11@) = 1000 Actor.Health(12@) = 1000 Actor.Health(13@) = 1000 if and 0245: set_actor 5@ walk_style_to "BLINDMAN" 0245: set_actor 6@ walk_style_to "BLINDMAN" 0245: set_actor 7@ walk_style_to "BLINDMAN" 0245: set_actor 8@ walk_style_to "BLINDMAN" 0245: set_actor 9@ walk_style_to "BLINDMAN" 0245: set_actor 10@ walk_style_to "BLINDMAN" 0245: set_actor 11@ walk_style_to "BLINDMAN" 0245: set_actor 12@ walk_style_to "BLINDMAN" 0245: set_actor 13@ walk_style_to "BLINDMAN" jf @folt2_3 Jump @folt2_4 :folt2_4 wait 0 if player.defined($Player_char) jf @folt 05D6: clear_scmpath 05D7: add_point_to_scmpath(1) 413.2871 2506.7603 16.4844 05D8: AS_assign_scmpath to_actor 5@ flags 4 0 05D8: AS_assign_scmpath to_actor 6@ flags 4 0 05D8: AS_assign_scmpath to_actor 7@ flags 4 0 05D8: AS_assign_scmpath to_actor 8@ flags 4 0 05D8: AS_assign_scmpath to_actor 9@ flags 4 0 05D8: AS_assign_scmpath to_actor 10@ flags 4 0 05D8: AS_assign_scmpath to_actor 11@ flags 4 0 05D8: AS_assign_scmpath to_actor 12@ flags 4 0 05D8: AS_assign_scmpath to_actor 13@ flags 4 0 Jump @folt2_5 end_thread :folt2_5 wait 0 if or 00E1: key_pressed 0 17 00E1: key_pressed 0 6 jf @folt2_5 Jump @folt2_6 :folt2_6 wait 1000 if and actor.DestroyInstantly(5@) actor.DestroyInstantly(6@) actor.DestroyInstantly(7@) actor.DestroyInstantly(8@) actor.DestroyInstantly(9@) actor.DestroyInstantly(10@) actor.DestroyInstantly(11@) actor.DestroyInstantly(12@) actor.DestroyInstantly(13@) jf @folt2_6 Jump @folt2_7 :folt2_7 wait 0 if player.defined($Player_char) jf @folt2_7 wait 0 model.load(258) model.load(253) model.load(260) 038B: load_requested_models :folt2_8 wait 0 if and 05D6: clear_scmpath 00C0: set_current_time_to 00 minutes_to 00 01b6: set_weather 19 model.available(258) model.available(253) model.available(260) jf @folt2_8 wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 5.0 0.0 actor.Create(5@,4,258,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 5.5 0.0 actor.Create(6@,4,253,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 6.0 0.0 actor.Create(7@,4,260,$X1,$Y1,$Z1) Actor.SetImmunities(5@, 1, 1, 1, 1, 0) Actor.SetImmunities(6@, 1, 1, 1, 1, 0) Actor.SetImmunities(7@, 1, 1, 1, 1, 0) Actor.Health(5@) = 500 Actor.Health(6@) = 500 Actor.Health(7@) = 500 0850: AS_actor 5@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 5@ kill_actor $PLAYER_ACTOR 0850: AS_actor 6@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 6@ kill_actor $PLAYER_ACTOR 0850: AS_actor 7@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 7@ kill_actor $PLAYER_ACTOR Jump @folt2_9 :folt2_9_1 wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 6.5 0.0 actor.Create(8@,4,258,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 7.0 0.0 actor.Create(9@,4,253,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 7.5 0.0 actor.Create(10@,4,260,$X1,$Y1,$Z1) Actor.SetImmunities(8@, 1, 1, 1, 1, 0) Actor.SetImmunities(9@, 1, 1, 1, 1, 0) Actor.SetImmunities(10@, 1, 1, 1, 1, 0) Actor.Health(8@) = 500 Actor.Health(9@) = 500 Actor.Health(10@) = 500 0850: AS_actor 8@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 8@ kill_actor $PLAYER_ACTOR 0850: AS_actor 9@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 9@ kill_actor $PLAYER_ACTOR 0850: AS_actor 10@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR jump @folt3 :folt2_9_2 wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 8.0 0.0 actor.Create(11@,4,258,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 8.5 0.0 actor.Create(12@,4,253,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 9.0 0.0 actor.Create(13@,4,260,$X1,$Y1,$Z1) Actor.SetImmunities(11@, 1, 1, 1, 1, 0) Actor.SetImmunities(12@, 1, 1, 1, 1, 0) Actor.SetImmunities(13@, 1, 1, 1, 1, 0) Actor.Health(11@) = 500 Actor.Health(12@) = 500 Actor.Health(13@) = 500 0850: AS_actor 11@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR 0850: AS_actor 12@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 12@ kill_actor $PLAYER_ACTOR 0850: AS_actor 13@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 13@ kill_actor $PLAYER_ACTOR jump @folt3_1 end_thread :folt2_9 wait 0 if and Actor.Dead(5@) Actor.Dead(6@) Actor.Dead(7@) jf @folt2_9 actor.DestroyInstantly(5@) actor.DestroyInstantly(6@) actor.DestroyInstantly(7@) jump @folt2_9_1 :folt3 wait 0 if and Actor.Dead(8@) Actor.Dead(9@) Actor.Dead(10@) jf @folt3 actor.DestroyInstantly(8@) actor.DestroyInstantly(9@) actor.DestroyInstantly(10@) jump @folt2_9_2 :folt3_1 wait 0 if and Actor.Dead(11@) Actor.Dead(12@) Actor.Dead(13@) jf @folt3_1 actor.DestroyInstantly(11@) actor.DestroyInstantly(12@) actor.DestroyInstantly(13@) jump @folt4 end_thread :folt4 wait 0 if or player.defined($Player_char) wasted_or_busted jf @folt4 wait 2000 0394: play_music 2 01b6: set_weather 18 jump @folt4_1 :folt4_1 wait 5000 if and model.destroy(258) model.destroy(253) model.destroy(260) jf @folt4_1 jump @folt4_2 :folt4_2 wait 1000 if and Object.Destroy(1@ 5713) Object.Destroy(2@ 5714) Object.Destroy(3@ 5715) Object.Destroy(4@ 9833) jf @folt4_2 jump @folt
Offline
Выираю опкодом 0AE1. То, что может исчезнуть, учел. Стоит проверка на not Actor.defined . Вопщем, выложу скрипт в разделе модификации. Скрипт называется "Личная Зона"
Last edited by Ruzel (24-12-2010 10:29)
Offline
@ilyha - я бы для начала поменял thread "folt" на thread "FACEPALM.JPG"
@Ruzel - почему бы не воспользоваться сначала scmlog и лимит аджастером, а потом выложить их логи вылета вместе со скриптом?
Offline
@ilyha - я бы для начала поменял thread "folt" на thread "FACEPALM.JPG"
к сожалению это ничего не дало
Offline
но ведь моя конструкция работает. просто в конце не исчезает одна из моделей, не пойму какая (1@? 2@? или 3@) и в конце когда встаеш на маркер игра вылетает. mfisto а как бы ты сделал на моем месте? помоги пожалуйста а то я новичек в скриптинге, по мануалу сб делал. но ведь там для маина а не клео
Offline
Раньше писал скрипты для SA, но когда всё было в одном файле main.scm, однако как появилось Cleo, заинтересовался, начал писать, кое что получается, но вот с редактированием памяти и т.д. не всегда. Так вот, нашёл в скрипте сохранения следующий кусок (вроде он выводит на экран текст):
thread 'SAVE_ANYWHERE' wait 5000 0AB1: call_scm_func @SAVE_ANYWHERE_389 1 -454 wait 5000 0AB1: call_scm_func @SAVE_ANYWHERE_389 1 -509 jump @SAVE_ANYWHERE_142 0662: NOP "SAVE_ANYWHERE_MOD" 0662: NOP "VERSION_1.1" 0662: NOP "COPYRIGHT_2008-2009_ANDERSON_BRESSAN" ... :SAVE_ANYWHERE_337 wait 0 if 03D9: save_done jf @SAVE_ANYWHERE_337 fade 1 500 gosub @SAVE_ANYWHERE_578 Actor.LockInCurrentPosition($PLAYER_ACTOR) = False Player.CanMove($PLAYER_CHAR) = True jump @SAVE_ANYWHERE_142 :SAVE_ANYWHERE_389 0A9F: 1@ = current_thread_pointer 1@ += 16 0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 0062: 1@ -= 0@ // (int) 1@ += 4 0AA5: call 5802976 4 pop 4 0 0 0 1@ 0AB2: ret 0 0900: unknown_set_object "Welcome to ~h~SAVE ANYWHERE MOD~w~ by ~h~Rapier~w~." 0900: unknown_set_object "Type ~h~SAVE~w~ in your keyboard to display the save game menu." 0000: NOP :SAVE_ANYWHERE_578 wait 0 if not fading jf @SAVE_ANYWHERE_578 return
Но это у меня не работает (игра вылетает сразу). А впихнул я его в свой пробный код так:
{$CLEO .cs} :SETSTATS 03A4: name_thread "SETSTATS" wait 1000 0@ = 304531 0004: $BEEFYBARON_SCORE = 'TEXT' :SETSTATS_1 wait 0 &0(0@,1i) == 0x00FF0000 jf @SETSTATS_1 wait 0 jump @SETSTATS_2 :SETSTATS_2 0@ = 362041 &0(0@,1i) = 0xFFFF0000 0627: change_stat 24 to 1000.0 Actor.Health($PLAYER_ACTOR) = 1000 02AB: set_actor $PLAYER_ACTOR immunities 1 1 1 1 1 if and Actor.Driving($PLAYER_ACTOR) jf @SETSTATS_1 0811: $10932 = actor $PLAYER_ACTOR car 02AC: set_car $10932 immunities 1 1 1 1 1 //0384: show_text_1string GXT 'AREA_1' Set ~h~ACTOR AND CAR~w~ STATS to ~h~MAX~w~. 'IE16' time 5000 1 //wait 6000 //03C4: set_status_text $BEEFYBARON_SCORE type 0 GXT 'ZER2_43' 0AB1: call_scm_func @SETSTATS_3 1 -454 wait 5000 0AB1: call_scm_func @SETSTATS_3 1 -509 jump @SETSTATS_1 :SETSTATS_3 0A9F: 1@ = current_thread_pointer 1@ += 16 0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 0062: 1@ -= 0@ // (int) 1@ += 4 0AA5: call 5802976 4 pop 4 0 0 0 1@ 0AB2: ret 0 0900: unknown_set_object "WWelcome to ~h~SAVE ANYWHERE MOD~w~ by ~h~Rapier~w~." 0900: unknown_set_object "Type ~h~SAVE~w~ in your keyboard to display the save game menu." 0000: NOP :SETSTATS_4 wait 0 return
Цель - вывести текст, находящийся непосредственно в скрипте. а не в файле *.гфх
WinHex,
Offline
@ilyha, если ты новичок, то попробуй для начала написать более простой, но стабильно работающий скрипт. Что касается твоего кода: wasted or busted надо убрать, т.к. эта проверка применяется только в миссиях. Вместо глобальных переменных ($1, $2 ...) в клео надо применять локальные (0@, 1@ ...). Также в клео-скриптах не применяется опкод end thread - вместо него надо использовать 0A93: end_custom_thread. Ещё заметил, что ты не различаешь условия и команды - внимательно изучи соответствующие разделы в справке.
Цель - вывести текст, находящийся непосредственно в скрипте. а не в файле *.гфх
В клео4 есть опкоды, позволяющие выводить на экран любой текст одной командой без использования каких-либо файлов и плагинов. Сам текст указывается в опкоде. Подробности в справке к КЛЕО4.
Last edited by Den_spb (25-12-2010 01:40)
Offline
@ilyha, если ты новичок, то попробуй для начала написать более простой, но стабильно работающий скрипт. Что касается твоего кода: wasted or busted надо убрать, т.к. эта проверка применяется только в миссиях. Вместо глобальных переменных ($1, $2 ...) в клео надо применять локальные (0@, 1@ ...). Также в клео-скриптах не применяется опкод end thread - вместо него надо использовать 0A93: end_custom_thread. Ещё заметил, что ты не различаешь условия и команды - внимательно изучи соответствующие разделы в справке
спасибо за подсказку. разобрался сам. начудил с одной из переменных в конце. теперь все работает отлично. и еще вопрос: мне интересно как бы этот скрипт выглядел в руках опытного скриптера
вот пепределаный скрипт
{$CLEO .cs} //-------------MAIN--------------- thread "FACEPALM.JPG" wait 1000 :folt if player.defined($Player_char) jf @folt marker.CreateIconAndSphere($Mark,23,274.1831, 2505.5039, 16.4844) :folt1 wait 0 if 0101: actor $PLAYER_ACTOR stopped_near_point 274.2205 2505.5354 16.4844 radius 1.5 1.5 1.5 sphere 0 jf @folt1 marker.Disable($Mark) wait 0 00C0: set_current_time_to 00 minutes_to 00 wait 0 model.Load(5713) model.Load(5714) model.Load(5715) model.Load(9833) 038B: load_requested_models Jump @folt1_2 end_thread :folt1_2 wait 0 if and model.Available(5713) model.Available(5714) model.Available(5715) model.Available(9833) jf @folt1_2 object.Create(1@,5713, 325.7908, 2506.9893, 14.5) object.Angle(1@) = 270.0 object.Create(2@,5713, 412.2807, 2506.9893, 14.5) object.Angle(2@) = 270.0 object.Create(3@,5714, 385.6027, 2506.9893, 14.5) object.Angle(3@) = 270.0 object.Create(4@,5715, 350.7908, 2506.9893, 14.5) object.Angle(4@) = 270.0 object.Create(5@,9833, 415.5789, 2506.9893, 14.5) object.Angle(5@) = 270.0 Jump @folt1_3 :folt1_3 wait 0 if player.defined($Player_char) jf @folt1_3 Jump @folt2 :folt2 wait 0 model.load(258) model.load(253) model.load(260) 038B: load_requested_models :folt2_1 wait 0 if and model.available(258) model.available(253) model.available(260) jf @folt2_1 Jump @folt2_2 :folt2_2 wait 0 if and actor.Create(6@,4,253,322.8822, 2503.0637, 16.4844) actor.Create(7@,4,260,323.1521, 2491.134, 16.4844) actor.Create(8@,4,258,315.3968, 2493.405, 16.4844) actor.Create(9@,4,253,315.1443, 2500.6709, 16.4844) actor.Create(10@,4,260,315.0663, 2505.6206, 16.4844) actor.Create(11@,4,258,315.0244, 2511.3728, 16.5594) actor.Create(12@,4,253,314.6855, 2522.022, 16.7265) actor.Create(13@,4,260,314.357, 2526.8503, 16.7849) actor.Create(14@,4,258,323.0516, 2508.1335, 16.5039) jf @folt2_2 Jump @folt2_3 :folt2_3 wait 0 if and Actor.SetImmunities(6@, 1, 1, 1, 1, 0) Actor.SetImmunities(7@, 1, 1, 1, 1, 0) Actor.SetImmunities(8@, 1, 1, 1, 1, 1) Actor.SetImmunities(9@, 1, 1, 1, 1, 0) Actor.SetImmunities(10@, 1, 1, 1, 1, 0) Actor.SetImmunities(11@, 1, 1, 1, 1, 1) Actor.SetImmunities(12@, 1, 1, 1, 1, 0) Actor.SetImmunities(13@, 1, 1, 1, 1, 0) Actor.SetImmunities(14@, 1, 1, 1, 1, 1) jf @folt2_3 Actor.Health(6@) = 1000 Actor.Health(7@) = 1000 Actor.Health(8@) = 1000 Actor.Health(9@) = 1000 Actor.Health(10@) = 1000 Actor.Health(11@) = 1000 Actor.Health(12@) = 1000 Actor.Health(13@) = 1000 Actor.Health(14@) = 1000 if and 0245: set_actor 6@ walk_style_to "BLINDMAN" 0245: set_actor 7@ walk_style_to "BLINDMAN" 0245: set_actor 8@ walk_style_to "BLINDMAN" 0245: set_actor 9@ walk_style_to "BLINDMAN" 0245: set_actor 10@ walk_style_to "BLINDMAN" 0245: set_actor 11@ walk_style_to "BLINDMAN" 0245: set_actor 12@ walk_style_to "BLINDMAN" 0245: set_actor 13@ walk_style_to "BLINDMAN" 0245: set_actor 14@ walk_style_to "BLINDMAN" jf @folt2_3 Jump @folt2_4 :folt2_4 wait 0 if player.defined($Player_char) jf @folt 05D6: clear_scmpath 05D7: add_point_to_scmpath(1) 413.2871 2506.7603 16.4844 05D8: AS_assign_scmpath to_actor 6@ flags 4 0 05D8: AS_assign_scmpath to_actor 7@ flags 4 0 05D8: AS_assign_scmpath to_actor 8@ flags 4 0 05D8: AS_assign_scmpath to_actor 9@ flags 4 0 05D8: AS_assign_scmpath to_actor 10@ flags 4 0 05D8: AS_assign_scmpath to_actor 11@ flags 4 0 05D8: AS_assign_scmpath to_actor 12@ flags 4 0 05D8: AS_assign_scmpath to_actor 13@ flags 4 0 05D8: AS_assign_scmpath to_actor 14@ flags 4 0 Jump @folt2_5 end_thread :folt2_5 wait 0 if or 00E1: key_pressed 0 17 00E1: key_pressed 0 6 jf @folt2_5 Jump @folt2_6 :folt2_6 wait 1000 if and actor.DestroyInstantly(6@) actor.DestroyInstantly(7@) actor.DestroyInstantly(8@) actor.DestroyInstantly(9@) actor.DestroyInstantly(10@) actor.DestroyInstantly(11@) actor.DestroyInstantly(12@) actor.DestroyInstantly(13@) actor.DestroyInstantly(14@) jf @folt2_6 Jump @folt2_7 :folt2_7 wait 0 if player.defined($Player_char) jf @folt2_7 wait 0 model.load(258) model.load(253) model.load(260) 038B: load_requested_models Jump @folt2_8 :folt2_8 wait 0 if and 05D6: clear_scmpath 00C0: set_current_time_to 00 minutes_to 00 01b6: set_weather 19 model.available(258) model.available(253) model.available(260) jf @folt2_8 wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -5.5 0.0 actor.Create(6@,4,253,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -6.0 0.0 actor.Create(7@,4,260,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -6.5 0.0 actor.Create(8@,4,258,$X1,$Y1,$Z1) Actor.SetImmunities(6@, 1, 1, 1, 1, 0) Actor.SetImmunities(7@, 1, 1, 1, 1, 0) Actor.SetImmunities(8@, 1, 1, 1, 1, 0) Actor.Health(6@) = 500 Actor.Health(7@) = 500 Actor.Health(8@) = 500 0850: AS_actor 6@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 6@ kill_actor $PLAYER_ACTOR 0850: AS_actor 7@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 7@ kill_actor $PLAYER_ACTOR 0850: AS_actor 8@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 8@ kill_actor $PLAYER_ACTOR Jump @folt2_9 :folt2_9_1 wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -5.0 0.0 actor.Create(9@,4,253,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -6.5 0.0 actor.Create(10@,4,260,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -7.0 0.0 actor.Create(11@,4,258,$X1,$Y1,$Z1) Actor.SetImmunities(9@, 1, 1, 1, 1, 0) Actor.SetImmunities(10@, 1, 1, 1, 1, 0) Actor.SetImmunities(11@, 1, 1, 1, 1, 0) Actor.Health(9@) = 500 Actor.Health(10@) = 500 Actor.Health(11@) = 500 0850: AS_actor 9@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 9@ kill_actor $PLAYER_ACTOR 0850: AS_actor 10@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 0850: AS_actor 11@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR jump @folt3 :folt2_9_2 wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -5.5 0.0 actor.Create(12@,4,253,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -6.0 0.0 actor.Create(13@,4,260,$X1,$Y1,$Z1) wait 0 04C4: create_coordinate $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR offset 0.0 -6.5 0.0 actor.Create(14@,4,258,$X1,$Y1,$Z1) Actor.SetImmunities(12@, 1, 1, 1, 1, 0) Actor.SetImmunities(13@, 1, 1, 1, 1, 0) Actor.SetImmunities(14@, 1, 1, 1, 1, 0) Actor.Health(12@) = 500 Actor.Health(13@) = 500 Actor.Health(14@) = 500 0850: AS_actor 12@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 12@ kill_actor $PLAYER_ACTOR 0850: AS_actor 13@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 13@ kill_actor $PLAYER_ACTOR 0850: AS_actor 14@ follow_actor $PLAYER_ACTOR 05E2: AS_actor 14@ kill_actor $PLAYER_ACTOR jump @folt3_1 end_thread :folt2_9 wait 0 if and Actor.Dead(6@) Actor.Dead(7@) Actor.Dead(8@) jf @folt2_9 actor.DestroyInstantly(6@) actor.DestroyInstantly(7@) actor.DestroyInstantly(8@) jump @folt2_9_1 :folt3 wait 0 if and Actor.Dead(9@) Actor.Dead(10@) Actor.Dead(11@) jf @folt3 actor.DestroyInstantly(9@) actor.DestroyInstantly(10@) actor.DestroyInstantly(11@) jump @folt2_9_2 :folt3_1 wait 0 if and Actor.Dead(12@) Actor.Dead(13@) Actor.Dead(14@) jf @folt3_1 actor.DestroyInstantly(12@) actor.DestroyInstantly(13@) actor.DestroyInstantly(14@) jump @folt4 end_thread :folt4 wait 0 if player.defined($Player_char) jf @folt4 wait 2000 0394: play_music 2 01b6: set_weather 18 jump @folt4_1 :folt4_1 wait 5000 if and model.destroy(258) model.destroy(253) model.destroy(260) jf @folt4_1 jump @folt4_2 :folt4_2 wait 1000 if and Object.Destroy(1@ 5713) Object.Destroy(2@ 5713) Object.Destroy(3@ 5714) Object.Destroy(4@ 5715) Object.Destroy(5@ 9833) jf @folt4_2 jump @folt
Offline