Регистрация - или - Войти
SMod Redux 10SMod Redux 10

Очень злая конверсия Халфы...

Portal 2 | MemoriesPortal 2 | Memories

Memories...

25/02/2013

В общем-то это самый лёгкий тутор который можно придумать.


  • Описание
  • Ссылка и установка

Новый монстр

В общем-то это самый лёгкий тутор который можно придумать.


Автор / ы урока : Jack-Hang
Просмотров : 894 ( +1 )
Скачиваний : 0
Прислал / (а) : Streit
Дата создания : 07.04.2011 17:48:35
Источник : http://www.hang-over.ucoz.ru
Рейтинг :
 ( 0 ) 
Поделиться :


Имеются следующие переводы : | русский |

В общем-то это самый лёгкий тутор который можно придумать. Ну чтож начнём.Я слышал что кто-то там просил обяснить как сделать чтобы монстры дружили или воевали с вами.

Часть 1 : Война или Мир

Как за пример мы будем брать Барни, ну во первых потому что у него самый лёгкий код, а во вторых кода в нём мало. . Так откроем Barney.cpp :

Code:

//=========================================================
// Classify - indicates this monster's place in the
// relationship table.
//=========================================================
int CBarney :: Classify ( void )
{
   return CLASS_PLAYER_ALLY;
}

Code:

return CLASS_PLAYER_ALLY;

Означает то что Барни будет тебя любить и уважать, пока ты в него не выстрелиш. Теперь поговорим о других переменных класса. У вояк эта переменная заменена на :

Code:

return CLASS_HUMAN_MILITARY;

А у хеадкраба :

Code:

return CLASS_ALIEN_PREY;

У bullsquid :

Code:

return CLASS_ALIEN_PREDATOR;

Ладно так мы их будем перечислять до бесконечности. Вот вам весь список классов :

Code:

// For CLASSIFY
#define CLASS_NONE 0
#define CLASS_MACHINE 1
#define CLASS_PLAYER 2
#define CLASS_HUMAN_PASSIVE 3
#define CLASS_HUMAN_MILITARY 4
#define CLASS_ALIEN_MILITARY 5
#define CLASS_ALIEN_PASSIVE 6
#define CLASS_ALIEN_MONSTER 7
#define CLASS_ALIEN_PREY 8
#define CLASS_ALIEN_PREDATOR 9
#define CLASS_INSECT 10
#define CLASS_PLAYER_ALLY 11
#define CLASS_PLAYER_BIOWEAPON 12 // hornets and snarks.launched by players
#define CLASS_ALIEN_BIOWEAPON 13 // hornets and snarks.launched by the alien menace
#define CLASS_BARNACLE 99 // special because no one pays attention to it, and it eats a wide cross-section of creatures.

Ну надеюсь вы определились с классом. Переходим ко второй части собсно к самому коду Барника.

Часть 2 : Барни, коденный и моделленый

Тут главное умение копи-паистить. Открываем barney.cpp жмём CTRL+A потом CTRL+C. File→New→C++ Source File. Прописываем ему любое имя. Жмём ОК. Появляется пустое белое окно. Жмём CTRL+V и о чудо весь код барни оказался уже в другом файле. Ладно приступим к делу. Для начала вам придётся изменить все

Code:

CBarney

на

Code:

CBarneyMad

Затем :

Code:

monster_barney

мы заменим на

Code:

monster_barney_mad

А код :

Code:

monster_barney_dead

мы заменим на

Code:

monster_barney_dead_mad

Чуть незабыл!!!

Code:

CDeadBarney

Изменим на

Code:

CDeadBarneyMad

Я больше чем уверен что все умеют пользоватся Replace : придётся им воспользоваццо. Найдём :

Code:

tlIdleBaStand

И заменим всё эти надписи на

Code:

tlIdleMaStand

Далее найдём:

Code:

slIdleBaStand

и заменим на :

Code:

slIdleMaStand

Далее найдём :

Code:

tlBaFaceTarget

и заменим на :

Code:

tlMaFaceTarget

Далее найдём :

Code:

slBaFaceTarget

и заменим на :

Code:

slMaFaceTarget

Далее найдём :

Code:

tlBarneyEnemyDraw

и заменим на :

Code:

tlMadEnemyDraw

Далее найдём :

Code:

slBarneyEnemyDraw

и заменим на :

Code:

slMadEnemyDraw

Далее найдём :

Code:

tlBaFollow

и заменим на :

Code:

tlMaFollow

Далее найдём :

Code:

slBaFollow

и заменим на :

Code:

slMaFollow

Так всё если уже сейчас компилировать то Барни у нас работает. Но мы забыли самое главное!!! Модель!!!! Ну чтоже : В функции :

Code:

void CBarneyMad :: Spawn()

Есть строка

Code:

SET_MODEL(ENT(pev), "models/barney.mdl");

Мы будем хитрее!!! Мы заменим эту строчку на вот такую :

Code:

if (pev->model)
   SET_MODEL(ENT(pev), STRING(pev->model)); //LRC
else
   SET_MODEL(ENT(pev), "models/barney.mdl");

А в функции Precache :

Code:

if (pev->model)
   PRECACHE_MODEL((char*)STRING(pev->model)); //LRC
else
   PRECACHE_MODEL("models/barney.mdl");

Я потом обьясню что нам это даст!!! В функции :

Code:

void CDeadBarneyMad :: Spawn( )

Есть строки :

Code:

PRECACHE_MODEL("models/barney.mdl");
SET_MODEL(ENT(pev), "models/barney.mdl");

Зделаем с ними тоже самое что и с первой и второй.

Code:

if (pev->model)
{
   PRECACHE_MODEL((char*)STRING(pev->model));
   SET_MODEL(ENT(pev), STRING(pev->model));
}
else
{
   PRECACHE_MODEL("models/barney.mdl");
   SET_MODEL(ENT(pev), "models/barney.mdl");
}

Часть 4 : Заключение

Теперь обьясняю что нам это дало. Это дало нам возможность в самом редакторе карт менять модели барни, это значит что мы создаём мапу, задаём барни модель, компилируем мапу, и вот у нас уже не обычный барни а с другой моделью, это даёт возможность несоздавать слишком много новых монстров, например тоже самое я зделал с зомби, просто заменил им модель и вот у меня уже три новых зомбика вместо одного, ладно что-бы можно было на карту вставлять нашего барника нужна волшебная строчка. Откроем Half-Life.fgd он находится гдето в папке с Хаммером. И в конце файла добавим :

Code:

@PointClass base(Monster,TalkMonster) size(-16 -16 0, 16 16 72) studio () = monster_barney_mad : "Barney" [
model(studio) : "Model"
]

Ну незнаю помойму это всё что нужно чтобы наш новый барни работал, я также думаю что кому-то этот тутор очень помог.



Похожие1. Два цвета крови у зомби - Два цвета крови у зомби
2. Подбираемый фонарик v 2.5 - Подбираемый фонарик v 2.5
3. Trigger_PlayerFreeez - Trigger_PlayerFreeez (остановка игрока)
4. Фикс: func_healthcharger - Фикс: func_healthcharger и func_recharger
5. Тряска игрока от наносимого урона - Вы хотите cделать чтобы игроков трясло от урона?
6. Мазлфлэш на брашах - Мазлфлэш на брашах
7. Создание кооперативного прохождения - Данный тутор покажет как сделать в вашем моде кооператив.
8. субтитры из паранойи - субтитры из паранойи.
9. Как сделать вортигонта из HL1 другом - Моя первая статья
Ссылки на объект
Полная ссылка на текущем языке :
Короткая ссылка :
Ссылка на превью-картинку :
Ссылка на картинку в полном размере :
Ссылка для вашего форума или сайта
BB код ссылка:
BB код ссылка с картинкой :
BB код картинки :
HTML код ссылка:
HTML код ссылка с картинкой :
HTML код картинки :
Вы не можете комментировать, т.к. вы не зарегистрированы.
    Leon Scott Kennedy in T-shirt (v.2.2) RE4
    Leon Scott Kennedy in T-shirt (v.2.2) RE4
    Juliet Starling Ultimate (Lollipop Chainsaw)
    Resident Evil 6Juliet Starling Ultimate (Lollipop Chainsaw)
    Natalie (Santa Girl)
    Counter-Strike Global OffensiveNatalie (Santa Girl)
    Juliet Starling Pack
    Juliet Starling Pack