Главная Скачать Статьи Ссылки О проекте
Меню
Скачать
Classic Doom
Doom III
Quake
Quake II
Quake III Arena
Quake IV
PREY
Программы
Загрузить
Обучение
Статьи
Маппинг
Моддинг
DG FAQs
Скрипты
Другое
Галерея
Флэшки
Устав

ТОП Загрузки
  • SA Bot Alpha 6 (675)
  • Otmopo3ok (620)
  • Doom3 Demo (566)
  • Harley (534)
  • D3 Parallax Mapping Mod ver. 1.1 (459)
  • ASSault (430)
  • Doom3 OpenCoop (427)
  • Doom RPG (422)
  • NIGHTMARE! (375)
  • Uacbot2 (358)
  • Новые файлы
  • D3 Parallax Mapping Mod ver. 1.1 (459)
  • Voland`s Quake 4 Mod ver. 2.0 (93)
  • Storm4dm4 beta2 (0)
  • X-Battle 0.31 (2)
  • Classic Doom 3 1.1 Final (60)
  • CPMA 1.38 Upgrade (10)
  • QSC Tourney 4 (78)
  • SP Style v4 (31)
  • Delta CTF 1.0 (103)
  • Prey1.1 (19)
  • Наш первый мод

    Настройка системы
    Учитывая то, что у нас есть весь необходимый софт и мы умеем компилировать проекты и создавать QVM, можно приступать к созданию наших собственных модов. Конечно, рассмотренный мною мод будет до безобразия простым. Но на первый раз тебе будет достаточно "пищи для ума". А попробуем мы с тобой создать мод, где ракеты будут медленно летать.

    Сделай копию исходного кода!
    Очень удобно держать под боком нетронутую копию исходного кода. Представь, что ты создал мод, и запорол один из файлов, и чтобы вернуть все изменения, тебе понадобится BACKUP, верно? Конечно, можно заново поставить Q3AGameSource, но это быстро надоедает. Поэтому, я советую не создавать моды в папке c:quake3source, а сохранить её как копию. Моды будем делать в отдельных директориях, например, c:quake3slow (это относится к нашему сегодняшнему моду). Теперь скопируй содержимое папки source в slow, и если ты испортишь хоть один файл, всегда можно будет его быстро восстановить.

    шКодинг
    1. Открой файл game.dsp, который находится в c:quake3slowсodegame; 2. Нажми "File View", и в папке "Header Files" выбири и дважды кликни на файл 'g_local.h'; 3. Установи значение GAMEVERSION на Slow:

      #define GAMEVERSION "Slow"


    Этим мы указываем, в какой папке лежит наш мод; 4. Теперь открой файл 'g_missile.c' из папки "Sourse Files"; 5. Перейди к строке 621 и найди функцию fire_rocket. Для быстрого перехода нажми "CRTL + G";



    Также, очень удобно использовать WinzardBar (он находится на туллбаре, я его специально вынес)



    А вот и сама функция:

      gentity_t *fire_rocket (gentity_t *self, vec3_t start, vec3_t dir) {
      gentity_t *bolt;

      VectorNormalize (dir);

      bolt = G_Spawn();
      bolt->classname = "rocket";
      bolt->nextthink = level.time + 15000;
      bolt->think = G_ExplodeMissile;
      bolt->s.eType = ET_MISSILE;
      bolt->r.svFlags = SVF_USE_CURRENT_ORIGIN;
      bolt->s.weapon = WP_ROCKET_LAUNCHER;
      bolt->r.ownerNum = self->s.number;
      bolt->parent = self;
      bolt->damage = 100;
      bolt->splashDamage = 100;
      bolt->splashRadius = 120;
      bolt->methodOfDeath = MOD_ROCKET;
      bolt->splashMethodOfDeath = MOD_ROCKET_SPLASH;
      bolt->clipmask = MASK_SHOT;
      bolt->target_ent = NULL;

      bolt->s.pos.trType = TR_LINEAR;
      bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME;
      VectorCopy( start, bolt->s.pos.trBase );
      VectorScale( dir, 900, bolt->s.pos.trDelta );
      SnapVector( bolt->s.pos.trDelta );
      VectorCopy (start, bolt->r.currentOrigin);

      return bolt;
      }


    Как видишь, ракета наносит 100 урона, радиус ближнего повреждения 120 юнитов. Также присутствует целая уйма констант, используемых в данной функции (константы обычно написаны ПРОПИСНЫМИ буквами). Константы в основном имеют мнемоничные имена, поэтому легко угадать их назначение.

    6. Теперь, обрати внимание на строку под номером 649. В ней показанно, что ракета летит со скоростью 900 юнитов/сек. Вот её то мы и будем менять. Измени значение 900 на 300:

      VectorScale( dir, 300, bolt->s.pos.trDelta );



    Последние штрихи
    Сохраняй все свои изменения. Нам осталось только создать QVM файл, как это сделать, рассказано в предыдущей статье. После компиляции, забирай qagame.qvm из c:quake3baseq3vm и перемести его в c:quake3slowvm. Для того чтобы Квака увидела наш мод, помести его в .pk3 файл, как это сделать, рассказано в ЧаВе.
    Осталось опробовать наш мод в действии - запускай кваку с параметром c:quake3quake3.exe +set fs_game slow или выбери свой мод из кваковского меню.

    Вуаля! Теперь твои ракеты тащятся как черепахи:) Советую поиграться с этим примером - можно сделать много чего интересного.


    Автор: MasTer (cubik@list.ru)
    Статья взята с айта: quake3radiant.by.ru

    Автор: MasTer


    Прочитать полный
    Версия для печати
    Комментарии к статье отсутствуют

    Добавление комментария

    Данные
    Ваше имя *
    Ваш e-mail
    Детранслитеризатор
    Смайлики
    Лимит знаков:

    Последние статьи
  • Установка Quake 3 Arena под Linux
  • Установка DOOM3 под Linux
  • Я, бензопила и марс…
  • Пасхальные яйца в играх от id
  • Улучшение интерфейса старых программ
  • Онлайн
    Администраторы: 0
    Редакторы: 0
    Пользователи: 0
    Гости: 12
    .: Список :.
    .: Пользователей :.
    Зарегистрировано: 1220
    Новичок: Knyz1

    Счётчик
    Ваш IP54.162.152.232

    Сегодня :
    Хитов : 3531
    Хостов : 460
    Онлайн : 12
    Всего :
    Хитов : 281
    Хостов : 32
    Рекорд : 25 посетителей одновременно 17.10.2017 (22:12)

    Другие счётчики

    GameTop

    Яндекс цитирования

    Баннеры
    DOOM POWER Все ресурсы DOOM на одном сайте!
    Всё о Quake, и немного о DOOM'e и Wolf'е
    Ремонт автоэлектрики и инжекторов
    NIGHT Блог
    Блог системного администратора
    Просмотр скрытых пользователей в контакте

    [ © DOOM GATE | 2004-2017 | NIGHTMARE! ]

    Rambler's Top100

    DOOM GATE © 2004-2006 NIGHTMARE!
    NEW DOOM GATE © 2006 DOOM GATE TEAM & x26 Team
    All rights reserved.
    Все права защищены.
    [Page generated in 0.179793 sec][Gzip: выключен]