Ну вот и новый обещанный тутор!!! Прежде всего начнем с основ: Что из себя представляет монстр в ХЛ? Это отдельный класс, унаследованный от CBaseMonster (Поэтому если хотите создавать монстра с нуля, внимательно изучите структуру этого класса) Он может находится как в отдельном файле(желательно) а может разделять файл с другими монстрами(удобно когда монстры используют одни и теже шедюли). Можно создать монстра с нуля - тогда придется все писать самому - и инклюды, и описание класса и тд и тп. Но проше, быстрее и качественнее - создать монстра на основе уже существующего. - этот случай я и буду здесь рассматривать. Итак,... 1:Выберем основу для нашего монстра(лучше всего monster_barney и monster_human_grunt, monster_zombie) 2:Создадим новый файл, назовем его как нибудь (типа new_monster_name.cpp) и добавим в проект hl.(если за основу вы взяли human_grunt - лучше дальше не читайте а скачайте внизу hgrunt.cpp и посмотрите) 3:Откроем в MVC++6 этот файл 4:Заменим везде C<имя_выбранного_монстра> на C<имя_нового_монстра> и заменим имя модели (когда найдете что-то типа "models/barney.mdl") на нужную вам, тоже самое со звуками, мазлами и со всем что вам нужно. Кстати - если вы создаете монстра на основе monster_gman и хотите дать ему возможность умиранть - добавьте функцию C<имя_нового_монстра>::Killed которая бы уничтожала монстра и подредактируйте ... ::TakeDamage что бы та вызывала первую. 5:Если заменили все что хотели - все! - попробуйте скомпилировать. (Если будут ошибки выкладывайте здесь проблему и ссыль на файл) (Хотя нет - выкладывайте все, что создали!!!=)) Примеры: monster_hev_grunt [скачать](hgrunt.cpp) monster_friendly [скачать](friendly.cpp)
Источник: http://crazyarts.do.am/publ/ |