Дата: Вторник, 24.08.2010, 09:39 | Сообщение # 1085
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Ну так сам посмотри на код в том месте где появляется надпись «Миссия выполнена». Там нет ничего такого что может на это повлиять кроме команды return. Зачем такой код надо было делать, лучше сделай без gosubа, который закрывается этой командой. У тебя в начале полно gosubов,
Помогите пожалуйста, я в клео полный нуб, решил сделать скрипт для vice city чтобы Томми охраняли девушки с m4 Я что то там наворотил по разным сайтам, незнаю наверно что то не так сделал, потому что игра вылетает при запуске, прошу указать на мои ошибки..
Code
// This file was decompiled using vicescm.ini published by GtaForums.com on 27.7.07
{$VERSION 2.2.0000} {$CLEO .cs}
//-------------MAIN---------------
:GUARD thread 'GUARD'
:GUARD_10 wait 0 wait 0 Model.Load(#HFYST) Model.Load(#M4) 038B: load_requested_models wait 0 if and Model.Available(#HFYST) Model.Available(#M4) else_jump @GUARD wait 0 011A: set_actor $40E flags 64 $MY1 = Actor.Create(CivMale, #HFYST, -899.7062, -549.185, 22.47888) $MY2 = Actor.Create(CivMale, #HFYST, -895.7204, -570.8035, 13.01486) $MY3 = Actor.Create(CivMale, #HFYST, -901.4774, -601.4703, 13.98424) 01B2: give_actor $MY1 weapon 26 ammo 9999 // Load the weapon model before using this 01B2: give_actor $MY2 weapon 26 ammo 9999 // Load the weapon model before using this 01B2: give_actor $MY3 weapon 26 ammo 9999 // Load the weapon model before using this 02E2: set_actor $MY1 weapon_accuracy_to 100 02E2: set_actor $MY2 weapon_accuracy_to 100 02E2: set_actor $MY3 weapon_accuracy_to 100 Actor.Health($MY1) = 450 Actor.Health($MY2) = 450 Actor.Health($MY3) = 450 if 1@ = Marker.CreateAboveActor($MY1) 2@ = Marker.CreateAboveActor($MY2) 3@ = Marker.CreateAboveActor($MY3) if else_jump @GUARD_10 end_thread
В-третьих, в конце вместо end_thread в клео используется 0A93: end_custom_thread.
У меня он говорит: Опкод 0A93 требует установленной библиотеки CLEO. Установите ее, кликнув по слову CLEO на нижней панели. Хоть у меня библиотека cleo установлена, качал я её отсуда + на нижней панели нету слово cleo Слово CLEO только в режиме GTA: SA
Добавлено (24.08.2010, 14:22) --------------------------------------------- Я попробовал так:
Code
// This file was decompiled using vicescm.ini published by GtaForums.com on 27.7.07
{$VERSION 2.2.0000} {$CLEO .cs}
//-------------MAIN--------------- thread 'GUARD'
:GUARD_10 wait 0
:GUARD_14 wait 0 if and Model.Available(#HFYST) Model.Available(#M4) else_jump @GUARD_14 wait 0 Player.Defined($PLAYER_CHAR) $MY1 = Actor.Create(CivMale, #HFYST, -899.7062, -549.185, 22.47888) $MY2 = Actor.Create(CivMale, #HFYST, -895.7204, -570.8035, 13.01486) $MY3 = Actor.Create(CivMale, #HFYST, -901.4774, -601.4703, 13.98424) 01B2: give_actor $MY1 weapon 26 ammo 9999 // Load the weapon model before using this 01B2: give_actor $MY2 weapon 26 ammo 9999 // Load the weapon model before using this 01B2: give_actor $MY3 weapon 26 ammo 9999 // Load the weapon model before using this 02E2: set_actor $MY1 weapon_accuracy_to 100 02E2: set_actor $MY2 weapon_accuracy_to 100 02E2: set_actor $MY3 weapon_accuracy_to 100 Actor.Health($MY1) = 450 Actor.Health($MY2) = 450 Actor.Health($MY3) = 450 if 1@ = Marker.CreateAboveActor($MY1) 2@ = Marker.CreateAboveActor($MY2) 3@ = Marker.CreateAboveActor($MY3) if else_jump @GUARD_10 end_thread
Игра не вылетает, а девушки не появляются, может надо сделать кнопку чтобы вызвать их? Если да, подскажите как это сделать..
Добавлено (24.08.2010, 14:44) --------------------------------------------- Вместо
А разве в твоей миссии эти переменные есть? Надо делать например так – если игрок убит, делаем прыжок на метку, где появляется надпись Миссия провалена, а если все враги убиты - делаем прыжок на метку, где появляется надпись Миссия выполнена.
Это я потом добавлю эти переменные!ты вот лучше скажи,если у меня актер $1 и $PLAYER_ACTOR будут бегать по всей карте,с вайтами,с затемнениями и.т.д.,и если посреди миссии,актер $1 умрет,а игра еще не дошла до проверки провала и выполнения миссии в конце,то миссия будет провалена ? И еще,как писать опкод 004E ?в справке его нет,написано только что для остановки клео миссий исп опкод 004E
Добавлено (24.08.2010, 19:50) --------------------------------------------- И еще,не работает скрипт:
Code
{$CLEO} wait 0 0A95: enable_thread_saving wait 0 :01 wait 0 if and player.Defined($PLAYER_CHAR) not actor.Dead($PLAYER_ACTOR) 0102: actor $PLAYER_ACTOR stopped_near_point 2511.4802 -1689.0269 13.5474 radius 1.0 1.0 1.0 sphere 1 jf @01 model.Load(#FAM3) :02 wait 0 if model.Available(#FAM3) jf @02 fade 0 500 wait 501 actor.Create(1@,4,#FAM3,2513.2393, -1690.4242, 13.5341) actor.Angle($PLAYER_ACTOR) = 231.8834 actor.Angle(1@) = 44.5317 wait 100 fade 1 1000 02A3: enable_widescreen 1 00BC: show_text_highpriority GXT 'VOD1' time 4500 flag 1 wait 4500 00BC: show_text_highpriority GXT 'VOD2' time 4500 flag 1 wait 4500 00BC: show_text_highpriority GXT 'VOD3' time 4500 flag 1 wait 4500 00BC: show_text_highpriority GXT 'VOD4' time 4500 flag 1 wait 4500 02A3: enable_widescreen 0 fade 0 1000 wait 3000 Player.Money($PLAYER_CHAR) += 1000 actor.DestroyInstantly(1@) fade 1 1000 :03 wait 50000 if and player.Defined($PLAYER_CHAR) not actor.Dead($PLAYER_ACTOR) 0102: actor $PLAYER_ACTOR stopped_near_point 2511.4802 -1689.0269 13.5474 radius 1.0 1.0 1.0 sphere 2 jf @03 model.Load(#FAM3) :04 wait 0 if model.Available(#FAM3) jf @04 fade 0 500 wait 501 actor.Create(1@,4,#FAM3,2513.2393, -1690.4242, 13.5341) actor.Angle($PLAYER_ACTOR) = 231.8834 actor.Angle(1@) = 44.5317 player.Money($PLAYER_CHAR) += -1000 fade 1 1000 wait 5000 actor.DestroyInstantly(1@) jump @01 0A93: end_custom_thread
Становлюсь на сферу,все нормально,но после 50000ms сфера не появляется снова!
Скрипт не открывает, пишет Неизвестный опкод 5004 по адресу 52
С этим разобрался, открыл нечего не понял, понял только что там загружаеться модель УЗИшки, телефона, и два охранника, нашёл где создаётся машина, непонял что значит эта строка - 00E1: key_pressed 0 4 Понял только что там надо нажать кнопку, а как он определяет какую хз...
1Nf1k, кнопка 4 это Tab: 0 | влево/вправ 1 | вперёд/наза 2 | особый CTRL влево/вправо 3 | особый CTRL вперёд/назад 4 | действие 5 | предыдущее оружие 6 | прицел 7 | следущее оружее/цель 8 | группа вперёд 9 | группа назад 10 | ответ-нет 11 | ответ-да 12 | не существует 13 | изменить камеру изменить камеру 14 | прыжок тормоз/задний ход 15 | войти в машину выход из машины 16 | быстрый бег газ 17 | огонь огонь 18 | присесть гудок 19 | смотреть назад подмиссия --------------------------------------------------------------------------------------------------------------------------------- ---
Какие кнопки чему соотвествуют смотри в настройках игры
Сообщение отредактировал SkyG - Вторник, 24.08.2010, 21:36
для кнопок лучше опкод 0ab0: key_pressed 1 1 - номер клавиши Номера клавиш: СправкаSB/CLEO 3 Code Library/CLEO3: опкоды/.И там,сверху в самом последнем столбике,есть строка Опкод 0AB0,затем жмите здесь
0ab0: key_pressed - это проверка :1 wait 0 if and 0ab0: key_pressed 49 //1 0ab0: key_pressed 50 //2 jf @1 -Продолжение Скрипта- Если две клавиши будут нажаты отдновременно,игра перейдет дальше.
Добавлено (25.08.2010, 11:00) --------------------------------------------- Ну так что там с миссией ?
Quote (ЧИтЕР)
Это я потом добавлю эти переменные!ты вот лучше скажи,если у меня актер $1 и $PLAYER_ACTOR будут бегать по всей карте,с вайтами,с затемнениями и.т.д.,и если посреди миссии,актер $1 умрет,а игра еще не дошла до проверки провала и выполнения миссии в конце,то миссия будет провалена ?
И еще,как в случайном порядке вывести любой из вариантов ? Например,мне нужно чтоб случайно было одно из этих: wait 100 wait 1000 wait 500
Сообщение отредактировал ЧИтЕР - Среда, 25.08.2010, 11:21