Делаем новые миссии. CLEO - скрипты, cutscene, статьи, программы. Игровые новости.
 
27.9.07 19:44 |

Устройство кода миссии

Раздел: Миссии | Автор: yelmi | Рейтинг: 10.00 (2) | Хитов 8522


Теперь, когда показ текста закончен нам необходимо проверить находится ли игрок в автомобиле, а затем уже создавать checkpoint и запускать таймер.

Код:
:MissionStart_39
wait 0
if
Actor.InCar($PLAYER_ACTOR, $car)
jf @MissionStart_39
Car.LockInCurrentPosition($car) = True
// Блокируем автомобиль
wait 2000
$TIME = 20000 //миллисекунды
//установим лимит времени в 20 секунд
03C3: set_timer_to $TIME type 1 GXT 'TIMER'
//будет обратный отсчет времени
06D5: $r_checkpoint = create_racing_checkpoint_at 2192.036 -1732.899 13.0168 point_to 0.0 0.0 0.0 type 1 radius 6.0
018A: $checkpoint = create_checkpoint_at 2192.036 -1732.899 13.0168
01EB: set_traffic_density_multiplier_to 1.0
03DE: set_pedestrians_density_multiplier_to 1.0
// включаем появление транспорта и пешеходов
Car.LockInCurrentPosition($car) = False


Итак таймер запущен, теперь необходимо проверить находится ли автомобиль в указанных координатах и не закончилось ли время.

Код:
:MissionStart_45
wait 0
if
$TIME > 0
jf @MissionFailed //если время истекло, то миссия провалена
if
0100: actor $PLAYER_ACTOR in_sphere 2192.036 -1732.899 13.0168 radius 6.0 6.0 6.0 sphere 0 in_car
jf @MissionStart_45
wait 50
Car.LockInCurrentPosition($car) = True
014F: stop_timer $TIME // останавливаем таймер
//удаляем модель, маркер, racing_checkpoint
06D6: disable_racing_checkpoint $r_checkpoint
Marker.Disable($checkpoint)
Model.Destroy(#BFINJECT)
Car.RemoveReferences($car)
//автомобиль переводим в разряд случайного транспорта
Car.LockInCurrentPosition($car) = False
jump @MissionPassed

:MissionPassed
01E3: show_text_1number_styled GXT 'M_PASSS' number 2000 time 5000 style 1
// MISSION PASSED!~n~~w~$~1~~n~~w~RESPECT +
0998: add_respect 3 // увеличим респект
Player.Money($PLAYER_CHAR) += 2000
// заплатим игроку за труды
0394: play_music 1
return
// возвращаемся на следующую после gosub @MissionStart строку

:MissionFailed
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 // ~r~MISSION FAILED!
014F: stop_timer $TIME
// останавливаем таймер
//удаляем модель, маркер, racing_checkpoint
06D6: disable_racing_checkpoint $r_checkpoint
Marker.Disable($checkpoint)
Model.Destroy(#BFINJECT)
Car.RemoveReferences($car)
Car.LockInCurrentPosition($car) = False
create_thread @START

// запуск стартера миссии
return
// возвращаемся на следующую после gosub @MissionStart строку


Теперь у нас уже полноценная простенькая миссия, остается только скомпилировать файл и начать новую игру.

Пример миссии смотрите здесь.

  «123

  1 2 3 4 5 6 7 8 9 10  

Родственные ссылки
» Другие статьи раздела Миссии
» Эта статья от пользователя yelmi

5 cамых читаемых статей из раздела Миссии:
» Устройство кода миссии
» Запуск миссии
» Создание миссии. Часть 1

5 последних статей раздела Миссии:
» Создание миссии. Часть 1
» Устройство кода миссии
» Запуск миссии

¤ Перевести статью в страницу для печати
¤ Послать эту cтатью другу

MyArticles 0.6 beta for RUNCMS: by RunCms.ru


Реклама

Вверх     Вернуться на главную. Вход в Систему. Статьи. Скачать. Миссии. ФОРУМ Обратная связь.   
   
   
Яндекс.Метрика
   
   
- Генерация страницы: 0.03 секунд -