HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Ищу исходный код
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3896
Возраст: 36

Рейтинг



Ищу исходный код

Ищу исходный код монстра_Kate из азур шип, монстра_Отис из Оппосиг форс или Влю шифт, монстра_barniel из азур шип
Если у кого имеется, выложите плиз
Зарание большое Спасибо !

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

Сообщить модератору | | IP: Записан
Сообщение: 32393

Старое сообщение 19-06-2008 21:57
- За что?
NameLesS
Житель форума

Группа: Неопытный
Дата регистрации: Jul 2007
Проживает: Est
Сообщений: 120
Возраст: 32

Рейтинг



монстр барниэль есть в сборнике туторов Тренсфера
http://www.trensfer.narod.ru/hl-sdkt_1.0.rar

Сообщить модератору | | IP: Записан
Сообщение: 32395

Старое сообщение 19-06-2008 22:45
- За что?
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3896
Возраст: 36

Рейтинг



Цитата:
NameLesS писал:
монстр барниэль есть в сборнике туторов Тренсфера
http://www.trensfer.narod.ru/hl-sdkt_1.0.rar


Спасибо Но код и тутор по барниэль я и брал из этого учебника


C++ Source Code:
1
class CBarniel: public CBarney//Наследуем класс
2
{
3
public:
4
  void Spawn( void );
5
  void Precache( void );
6
  int Classify ( void );
7
  void BarneyFirePistol ( void );
8
  void TalkInit();
9
  void PainSound ( void );
10
  void DeathSound ( void );
11
  void DeclineFollowing( void );
12
  void AlertSound( void );
13
  int TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType);
14
  Schedule_t *GetSchedule ( void );
15
};
16
 
17
LINK_ENTITY_TO_CLASS( monster_barniel, CBarniel);
18
 
19
int CBarniel :: Classify ( void )
20
{
21
  return CLASS_PLAYER_ALLY;
22
}
23
 
24
void CBarniel :: BarneyFirePistol ( void )
25
{
26
  Vector vecShootOrigin;
27
  UTIL_MakeVectors(pev->angles);
28
  vecShootOrigin = pev->origin + Vector( 0, 0, 55 );
29
  Vector vecShootDir = ShootAtEnemy( vecShootOrigin );
30
  Vector angDir = UTIL_VecToAngles( vecShootDir );
31
  SetBlending( 0, angDir.x );
32
  pev->effects = EF_MUZZLEFLASH;
33
  FireBullets(1, vecShootOrigin, vecShootDir, VECTOR_CONE_2DEGREES, 1024, BULLET_MONSTER_9MM );
34
  int pitchShift = RANDOM_LONG( 0, 20 );
35
 
36
  if ( pitchShift > 10 )
37
    pitchShift = 0;
38
  else
39
    pitchShift -= 5;
40
 
41
  EMIT_SOUND_DYN( ENT(pev), CHAN_WEAPON, "barniel/bn_attack2.wav", 1, ATTN_NORM, 0, 100 + pitchShift );
42
  CSoundEnt::InsertSound ( bits_SOUND_COMBAT, pev->origin, 384, 0.3 );
43
  m_cAmmoLoaded--;
44
}
45
 
46
void CBarniel :: Spawn()
47
{
48
  Precache( );
49
 
50
  if (pev->model)
51
    SET_MODEL(ENT(pev), STRING(pev->model));
52
  else
53
    SET_MODEL(ENT(pev), "models/Barniel.mdl");
54
 
55
  UTIL_SetSize(pev, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX);
56
  pev->solid = SOLID_SLIDEBOX;
57
  pev->movetype = MOVETYPE_STEP;
58
  m_bloodColor = BLOOD_COLOR_RED;
59
  pev->health = gSkillData.barneyHealth;
60
  pev->view_ofs = Vector ( 0, 0, 50 );
61
  m_flFieldOfView = VIEW_FIELD_WIDE;
62
  m_MonsterState = MONSTERSTATE_NONE;
63
  pev->body = 0;
64
  m_fGunDrawn = FALSE;
65
  m_afCapability = bits_CAP_HEAR | bits_CAP_TURN_HEAD | bits_CAP_DOORS_GROUP;
66
  MonsterInit();
67
  SetUse( FollowerUse );
68
}
69
 
70
void CBarniel :: Precache()
71
{
72
  if (pev->model)
73
    PRECACHE_MODEL((char*)STRING(pev->model));
74
  else
75
    PRECACHE_MODEL("models/Barniel.mdl");
76
 
77
  PRECACHE_SOUND("barniel/bn_attack1.wav" );
78
  PRECACHE_SOUND("barniel/bn_attack2.wav" );
79
  PRECACHE_SOUND("barney/ba_attack2.wav" );
80
  PRECACHE_SOUND("barniel/bn_pain1.wav");
81
  PRECACHE_SOUND("barniel/bn_die1.wav");
82
  TalkInit();
83
  CTalkMonster::Precache();
84
}
85
 
86
void CBarniel :: TalkInit()
87
{
88
  CTalkMonster::TalkInit();
89
  m_szGrp[TLK_ANSWER] = "BN_ANSWER";
90
  m_szGrp[TLK_QUESTION] = "BN_QUESTION";
91
  m_szGrp[TLK_IDLE] = "BN_IDLE";
92
  m_szGrp[TLK_STARE] = "BN_STARE";
93
  m_szGrp[TLK_USE] = "BN_OK";
94
  m_szGrp[TLK_UNUSE] = "BN_WAIT";
95
  m_szGrp[TLK_STOP] = "BN_STOP";
96
  m_szGrp[TLK_NOSHOOT] = "BN_SCARED";
97
  m_szGrp[TLK_HELLO] = "BN_HELLO";
98
  m_szGrp[TLK_PLHURT1] = "!BN_CUREA";
99
  m_szGrp[TLK_PLHURT2] = "!BN_CUREB";
100
  m_szGrp[TLK_PLHURT3] = "!BN_CUREC";
101
  m_szGrp[TLK_PHELLO] = NULL;
102
  m_szGrp[TLK_PIDLE] = NULL;
103
  m_szGrp[TLK_PQUESTION] = "BN_PQUEST";
104
  m_szGrp[TLK_SMELL] = "BN_SMELL";
105
  m_szGrp[TLK_WOUND] = "BN_WOUND";
106
  m_szGrp[TLK_MORTAL] = "BN_MORTAL";
107
  m_voicePitch = 100;
108
}
109
 
110
void CBarniel :: PainSound ( void )
111
{
112
  if (gpGlobals->time < m_painTime)
113
    return;
114
  m_painTime = gpGlobals->time + RANDOM_FLOAT(0.5, 0.75);
115
  EMIT_SOUND_DYN( ENT(pev), CHAN_VOICE, "barniel/bn_pain1.wav", 1, ATTN_NORM, 0, GetVoicePitch());
116
}
117
 
118
void CBarniel :: DeathSound ( void )
119
{
120
  EMIT_SOUND_DYN( ENT(pev), CHAN_VOICE, "barniel/bn_die1.wav", 1, ATTN_NORM, 0, GetVoicePitch()); //ea?aou caoe
121
}
122
 
123
void CBarniel :: AlertSound( void )
124
{
125
  if ( m_hEnemy != NULL )
126
  {
127
    if ( FOkToSpeak() )
128
    {
129
      PlaySentence( "BN_ATTACK", RANDOM_FLOAT(2.8, 3.2), VOL_NORM, ATTN_IDLE );
130
    }
131
  }
132
}
133
 
134
int CBarniel :: TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType)
135
{
136
  int ret = CTalkMonster::TakeDamage(pevInflictor, pevAttacker, flDamage, bitsDamageType);
137
  if ( !IsAlive() || pev->deadflag == DEAD_DYING )
138
    return ret;
139
  if ( m_MonsterState != MONSTERSTATE_PRONE && (pevAttacker->flags & FL_CLIENT) )
140
  {
141
    m_flPlayerDamage += flDamage;
142
    if ( m_hEnemy == NULL )
143
    {
144
      if ( (m_afMemory & bits_MEMORY_SUSPICIOUS) || IsFacing( pevAttacker, pev->origin ) )
145
      {
146
        PlaySentence( "BN_MAD", 4, VOL_NORM, ATTN_NORM );
147
        Remember( bits_MEMORY_PROVOKED );
148
        StopFollowing( TRUE );
149
      }
150
      else
151
      {
152
        PlaySentence( "BN_SHOT", 4, VOL_NORM, ATTN_NORM );
153
        Remember( bits_MEMORY_SUSPICIOUS );
154
      }
155
    }
156
    else if ( !(m_hEnemy->IsPlayer()) && pev->deadflag == DEAD_NO )
157
    {
158
      PlaySentence( "BN_SHOT", 4, VOL_NORM, ATTN_NORM );
159
    }
160
  }
161
  return ret;
162
}
163
 
164
Schedule_t *CBarniel :: GetSchedule ( void )
165
{
166
  if ( HasConditions( bits_COND_HEAR_SOUND ) )
167
  {
168
    CSound *pSound;
169
    pSound = PBestSound();
170
    ASSERT( pSound != NULL );
171
    if ( pSound && (pSound->m_iType & bits_SOUND_DANGER) )
172
      return GetScheduleOfType( SCHED_TAKE_COVER_FROM_BEST_SOUND );
173
  }
174
  if ( HasConditions( bits_COND_ENEMY_DEAD ) && FOkToSpeak() )
175
  {
176
    PlaySentence( "BN_KILL", 4, VOL_NORM, ATTN_NORM );
177
  }
178
  switch( m_MonsterState )
179
  {
180
  case MONSTERSTATE_COMBAT:
181
    {
182
      if ( HasConditions( bits_COND_ENEMY_DEAD ) )
183
      {
184
        return CBaseMonster :: GetSchedule();
185
      }
186
      if ( HasConditions( bits_COND_NEW_ENEMY ) && HasConditions( bits_COND_LIGHT_DAMAGE) )
187
        return GetScheduleOfType( SCHED_SMALL_FLINCH );
188
      if (!m_fGunDrawn )
189
        return GetScheduleOfType( SCHED_ARM_WEAPON );
190
      if ( HasConditions( bits_COND_HEAVY_DAMAGE ) )
191
        return GetScheduleOfType( SCHED_TAKE_COVER_FROM_ENEMY );
192
    }
193
    break;
194
  case MONSTERSTATE_ALERT:
195
    case MONSTERSTATE_IDLE:
196
        if ( HasConditions(bits_COND_LIGHT_DAMAGE | bits_COND_HEAVY_DAMAGE))
197
        {
198
          return GetScheduleOfType( SCHED_SMALL_FLINCH );
199
        }
200
      if ( m_hEnemy == NULL && IsFollowing() )
201
      {
202
        if ( !m_hTargetEnt->IsAlive() )
203
        {
204
          StopFollowing( FALSE );
205
          break;
206
        }
207
      else
208
      {
209
        if ( HasConditions( bits_COND_CLIENT_PUSH ) )
210
        {
211
          return GetScheduleOfType( SCHED_MOVE_AWAY_FOLLOW );
212
        }
213
        return GetScheduleOfType( SCHED_TARGET_FACE );
214
      }
215
    }
216
    if ( HasConditions( bits_COND_CLIENT_PUSH ) )
217
    {
218
      return GetScheduleOfType( SCHED_MOVE_AWAY );
219
    }
220
    TrySmellTalk();
221
    break;
222
  }
223
  return CTalkMonster::GetSchedule();
224
}
225
 
226
void CBarniel::DeclineFollowing( void )
227
{
228
  PlaySentence( "BN_POK", 2, VOL_NORM, ATTN_NORM );
229
}



C++ Source Code:
1
// OTIS
2
 
3
//When player asks Otis to follow:
4
OT_OK0 otis/reputation
5
OT_OK1 otis/live
6
OT_OK2 otis/together
7
OT_OK3 otis/letsgo
8
OT_OK4 otis/diealone
9
OT_OK5 otis/joinyou
10
OT_OK6 otis/teamup
11
 
12
OT_WAIT0 otis/help
13
OT_WAIT1 otis/go_on
14
OT_WAIT2 otis/slowingyoudown
15
OT_WAIT3 otis/illwait
16
OT_WAIT4 otis/seeya
17
OT_WAIT5 otis/standguard
18
OT_WAIT6 otis/notalone
19
 
20
OT_HELLO0 otis/hello
21
OT_HELLO1 otis/soldier
22
OT_HELLO2 otis/hiya
23
OT_HELLO3 otis/hey
24
 
25
OT_QUESTION0 otis/beer
26
OT_QUESTION1 otis/rightdirection
27
OT_QUESTION2 otis/getanyworse
28
OT_QUESTION3 otis/gladof
29
OT_QUESTION4 otis/aliencombat
30
OT_QUESTION5 otis/somethingmoves
31
OT_QUESTION6 otis/noise
32
 
33
OT_ANSWER0 otis/yes
34
OT_ANSWER1 otis/yessir
35
OT_ANSWER2 otis/youbet
36
OT_ANSWER3 otis/alright
37
OT_ANSWER4 otis/yup
38
OT_ANSWER5 otis/yeah
39
OT_ANSWER6 otis/noway
40
OT_ANSWER7 otis/doubt
41
OT_ANSWER8 otis/breath
42
OT_ANSWER9 otis/no
43
OT_ANSWER10 otis/dontguess
44
OT_ANSWER12 otis/nope
45
OT_ANSWER13 otis/nosir
46
OT_ANSWER14 otis/dontask
47
OT_ANSWER15 otis/suppose
48
OT_ANSWER16 otis/hell
49
OT_ANSWER17 otis/cantfigure
50
OT_ANSWER18 otis/maybe
51
OT_ANSWER19 otis/talkmuch
52
OT_ANSWER20 otis/dejavu
53
 
54
OT_KILL0 otis/gotone
55
OT_KILL1 otis/another
56
OT_KILL2 otis/buttugly
57
OT_KILL3 otis/seethat
58
OT_KILL4 otis/close
59
OT_KILL5 otis/firepl
60
OT_KILL6 otis/bring
61
 
62
OT_MAD0 otis/bully
63
OT_MAD1 otis/somuch
64
OT_MAD2 otis/dontmake
65
OT_MAD3 otis/tomb
66
 
67
OT_SHOT0 otis/friends
68
OT_SHOT1 otis/chump
69
OT_SHOT2 otis/watchit
70
OT_SHOT3 otis/damn
71
OT_SHOT4 otis/quitit
72
OT_SHOT5 otis/onry
73
 
74
OT_IDLE0 otis/mom
75
OT_IDLE1 otis/aliens
76
OT_IDLE2 otis/wuss
77
OT_IDLE3 otis/bridge
78
OT_IDLE4 otis/closet
79
OT_IDLE5 otis/cousin
80
OT_IDLE6 otis/mall
81
 
82
OT_ATTACK0 otis/behind
83
OT_ATTACK1 otis/leftovers
84
OT_ATTACK2 otis/yourback
85
OT_ATTACK3 otis/die
86
 
87
OT_HEAR0 otis/hearsomething
88
OT_HEAR1 otis/soundsbad
89
 
90
OT_SMELL0 otis/ass
91
OT_SMELL1 otis/chili
92
OT_SMELL2 otis/janitor
93
 
94
OT_CUREA otis/scar
95
OT_CUREB otis/insurance
96
OT_CUREC otis/medic
97
 
98
OT_SCARED0 otis/donthurtem
99
OT_SCARED1 otis/leavealone
100
 
101
OT_WOUND0 otis/imhit
102
OT_WOUND1 otis/virgin
103
 
104
OT_MORTAL0 otis/imdead
105
OT_MORTAL1 otis/hitbad
106
 
107
OT_MISC0 otis/stupidmachines
108
OT_MISC1 otis/quarter


На основе этого кода я сделал всех трех монстров путем изменения имени модели и энтити и все они наботаю, НО проблема со звуками для ОТИСА у меня разрешить не получается Помогите пожалуйста

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

Сообщить модератору | | IP: Записан
Сообщение: 32405

Старое сообщение 20-06-2008 06:07
- За что?
Тренсфер
Житель форума

Дата регистрации: Mar 2007
Проживает: (void)
Сообщений: 327

Рейтинг



Последнее это звуки отиса как я понял ?
Просто замени приставки все слов в кавычках в void CBarniel :: TalkInit() с BN на OT. Вообще если звуки у олтиса все соответствены по названиям звукам барни. Просто замени везде BN на OT в словах в кавычках.

__________________
Хотелось бы, чтобы не только хотелось...

Сообщить модератору | | IP: Записан
Сообщение: 32406

Старое сообщение 20-06-2008 07:11
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32248
Нанёс повреждений: 392 ед.

Рейтинг



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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 32460

Старое сообщение 20-06-2008 19:14
-
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3896
Возраст: 36

Рейтинг



Цитата:
Тренсфер писал:
Последнее это звуки отиса как я понял ?
Просто замени приставки все слов в кавычках в void CBarniel :: TalkInit() с BN на OT. Вообще если звуки у олтиса все соответствены по названиям звукам барни. Просто замени везде BN на OT в словах в кавычках.

Спасибо за совет, но пока простыми заменами не обойтись
Лан я еще поковыряюсь может получится

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

Сообщить модератору | | IP: Записан
Сообщение: 32461

Старое сообщение 20-06-2008 19:15
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 23:56. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Ищу исходный код
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024