Registration - or - Enter
It's Mime TimeIt's Mime Time

Вы играете за женщину-мима, которая должна зарабатывать деньги, путем развлечения зрителей, изображая прощупывание невид...

6/05/2008
Get a LifeGet a Life

Шутер от первого лица...

25/04/2008

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


  • Description
  • Link and installation

Новый монстр

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


Author/s of lesson : Jack-Hang
Views : 890 ( +1 )
Downloads : 0
Uploaded by : Streit
Created : 04/07/2011 5:48:35 PM
Source : http://www.hang-over.ucoz.ru
Rating :
 ( 0 ) 
Share :


Available following translations : | russian |

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

Часть 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"
]

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



Similar1. Добавление ножа из Op4 - Добавление ножа из Op4
2. weapon_flamethrower - Играя в Халф-Лайф, вы не задумывались над тем, что в нем чего-то не хватает? Чего-то очень близкого, родного, горячего...
3. Создание нового ствола - Создание нового ствола с новыми патронами
4. Новые типы патронов - Каждый хоть раз добавлял в Хл новое оружие но ему не нравилось, что оно или слишком мощно стреляет или слишком слабо.
5. Цвет спрайтов HUD - Итак, как же сменить цвет спрайтов в HUD-системе
6. Сохранение анимаций - как сделать так чтобы анимации на оружии(допустим) сохранялись, например все помнят КС вот там был Usp
7. Quake strafing & DoD bobing styles - Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл.
8. Замедление игрока - Довольно забавно наблюдать, как игрок одинаково быстро бегает как с монтировкой в руках, так и с тяжелой базукой, хотя логичнее, что держа в руках сей девайс, он будет бегать медленнее
9. субтитры из паранойи - субтитры из паранойи.
Ссылки на объект
Полная ссылка на текущем языке :
Короткая ссылка :
Ссылка на превью-картинку :
Ссылка на картинку в полном размере :
Ссылка для вашего форума или сайта
BB код ссылка:
BB код ссылка с картинкой :
BB код картинки :
HTML код ссылка:
HTML код ссылка с картинкой :
HTML код картинки :
You cannot comment, because you are not registered.
    Chris Redfield (RECVX Costume)
    Chris Redfield (RECVX Costume)
    Blood Stained Knife
    Blood Stained Knife
    PlayStation Button Mod
    PlayStation Button Mod
    Русификатор (звук) от Team Raccoon
    Русификатор (звук) от Team Raccoon