Возможно вы искали: 'Lords of Magic'

May 22 2025 00:38:11
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96256617
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18382
• Обзор The Walking ... 18824
• Обзор DMC: Devil M... 19900
• Обзор на игру Valk... 15897
• Обзор на игру Stars! 17783
• Обзор на Far Cry 3 17972
• Обзор на Resident ... 16042
• Обзор на Chivalry:... 17528
• Обзор на игру Kerb... 17998
• Обзор игры 007: Fr... 16645
Превью о играх
• Превью к игре Comp... 17978
• Превью о игре Mage... 14480
• Превью Incredible ... 14736
• Превью Firefall 13498
• Превью Dead Space 3 16354
• Превью о игре SimC... 14750
• Превью к игре Fuse 15458
• Превью Red Orche... 15567
• Превью Gothic 3 16367
• Превью Black & W... 17372
Главная » Статьи » Разное » Реально крутой скриптинг - статья 4

Реально крутой скриптинг - статья 4

Реально крутой скриптинг - статья 4 Автор статьи: mordvin.

18 сентября 2006.

Реально крутой скриптинг.

В этих статьях я расскажу вам, как создавать миссии и не только к GTA:VC. Для SA всё немного сложнее, но я уверен, что вы сами разберётесь. Уже была статья с сайта gtazone.ru, но 1) неудобный общий код 2) неясность того, что же именно писать в одной из меток сподвигла меня на статьи.

СТАТЬЯ 4.

Приёмчики миссий.

В прошлой статье мы разобрались с поэтапным написанием кода миссий. Теперь разберём этапы по отдельности: как их делать?

Самый простой и в то же время популярный приём - звеньевое написание.

:M1_Carwrecked
0001: wait 0 ms
00D6: if 0
0119: car $car wrecked ;; если машина не уничтожена,
004D: jump_if_false ЈM1_doexal ;; идём сюда
0050: gosub ЈFail1ByWOB ;; иначе в процедуру (см. шаблон) для кода провала
;;сюда можно засунуть команду типа 00BC: text_highpriority "..." 5000 ms 1 ;; ~r~Машина не в состоянии ездить! - этот текст будет под надписью "миссия провалена!"
0051: return ;; и возврат кода

:M1_doexal
0001: wait 0 ms
00D6: if 1
00FA: player $PLAYER_CHAR stopped 0 ()near point in car -861.4575 -470.7795 10.9273 radius 4.0 4.0 3.0
00DC: player $PLAYER_CHAR driving $car
004D: jump_if_false ЈM1_Carwrecked ;; если игрока нет в этой машине и в этой точке, ещё раз проверяем машину по этой метке, иначе идём дальше

а здесь будет продолжение, т. е. следующий этап.

Вы уже поняли, что попеременно проверяются 2 условия (2-е составное, но одно - игрок в такой-то точке И водит такую-то машину). Так может проверяться сколько угодно условий. Вот только проверку смерти/ареста делать не стоит - я про это уже высказался во 2-й статье. Посмотрите скрипт полёта на лодке Dinghy:

:Flip
0001: wait 0 ms
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false ЈЈFlip
0001: wait 0 ms
00D6: if 0
00DE: player $PLAYER_CHAR driving vehicle type #dinghy
004D: jump_if_false ЈЈFlip
:ToFlipSt
0001: wait 0 ms;;torep
01B4: set_player $PLAYER_CHAR frozen_state 0 (frozen)
03C1: 0@ = player $PLAYER_CHAR car
02AA: set car 0@ immune to nonplayer 1
00AA: store_car 0@ position_to $flip_x $flip_y $flip_z
0174: $flip_ang = car 0@ z_angle
0005: $flip_speed = 0.0 ;; floating-point values

:Flip1
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 0
00E1: key pressed 0 15
004D: jump_if_false ЈЈFlip2
01B4: set_player $PLAYER_CHAR frozen_state 1 ()
03E2: actor $PLAYER_ACTOR exit_car
01C3: remove_references_to_car 0@ ;; Like turning a car into any random car
0001: wait 1000 ms
0002: jump ЈЈFlip

:Flip2
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 0
00E1: key pressed 0 16
004D: jump_if_false ЈЈFlip3
0009: $flip_z += 1.0 ;; floating-point values
00AB: put_car 0@ at $flip_x $flip_y $flip_z

:Flip3
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 0
00E1: key pressed 0 14
004D: jump_if_false ЈЈFlip4
000D: $flip_z -= 1.0 ;; floating-point values
00AB: put_car 0@ at $flip_x $flip_y $flip_z

:Flip4
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 0
00E1: key pressed 0 17
004D: jump_if_false ЈЈFlip6
02E3: $flip_speed = car 0@ speed
0009: $flip_speed += 5.0 ;; floating-point values
0011: $flip_speed *= 1.3 ;; floating-point values
04BA: set car 0@ speed instantly $flip_speed

:Flip6
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 0
00E1: key pressed 0 11
004D: jump_if_false ЈЈFlip7
0174: $flip_ang = car 0@ z_angle
000D: $flip_ang -= 5.0 ;; floating-point values
00D6: if 0
0032: 0 >= $flip_ang ;; floating-point values
004D: jump_if_false ЈЈFlip8
0009: $flip_ang += 360.0 ;; floating-point values
0002: jump ЈЈFlipang
:Flip7
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 0
00E1: key pressed 0 10
004D: jump_if_false ЈЈFlip9
0174: $flip_ang = car 0@ z_angle
0009: $flip_ang += 5.0 ;; floating-point values
:Flipang
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
04BA: set car 0@ speed instantly $flip_speed
00D6: if 21
0020: $flip_ang > 360.0 ;; floating-point values
0042: $flip_ang == 360.0 ;; floating-point values
004D: jump_if_false ЈЈFlip8
000D: $flip_ang -= 360.0 ;; floating-point values
:Flip8
0001: wait 0 ms;;torep
0175: set_car 0@ z_angle_to $flip_ang
:Flip9
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 0
00E1: key pressed 0 18
004D: jump_if_false ЈЈFlipA
02E3: $flip_speed = car 0@ speed
0011: $flip_speed *= 0.5 ;; floating-point values
04BA: set_car 0@ speed_instantly $flip_speed
:FlipA
0001: wait 0 ms;;torep
00AA: store_car 0@ position_to $flip_x $flip_y $musor
00AB: put_car 0@ at $flip_x $flip_y $flip_z
0175: set_car 0@ z_angle_to $flip_ang
04BA: set car 0@ speed instantly $flip_speed
00D6: if 22
0119: car 0@ wrecked
02BF: car 0@ sunk
80DB: NOT actor $player_actor in_car 0@
004D: jump_if_false ЈЈFlip1
0001: wait 0 ms;;torep
00D6: if 0
00DB: actor $player_actor in car 0@
004D: jump_if_false ЈЈFlipB
03E2: actor $PLAYER_ACTOR exit_car
:FlipB
0001: wait 0 ms;;torep
01B4: set player $PLAYER_CHAR frozen state 1 (unfrozen)
0001: wait 1000 ms
01C3: remove_references_to_car 0@ ;; Like turning a car into any random car
0002: jump ЈЈFlip

Это, конечно, не миссия, а поток, но вы, изучив этот код, ясно поймёте, как делается звеньевое написание. Попробуйте улучшить этот код, например, чтобы не проходило сквозь землю. Я могу. А вы?

Рекомендация: смотрите чужие скрипты, разбирайтесь в них, чтобы лучше писать свои.

В следующей статье я приведу интересные команды и модели скриптов, которые вам ой как пригодятся.
901 Прочтений •  [Реально крутой скриптинг - статья 4] [13.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Реально крутой скриптинг - статья 4 Ukraine Vova 13.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка