HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Кодинг оружия
и всё что с этим связано
Страницы (5): « 1 2 [3] 4 5 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 27

Рейтинг



Цитата:
Lev писал:
не умею работать с памятью

Просто это на замудрёном языке так звучит.

Напиши int iiii = 1;

Поздравляю, ты научился работать с памятью

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

Старое сообщение 05-07-2012 12:56
- За что?
Lev
Житель форума

Дата регистрации: Dec 2011
Проживает: Оренбург
Сообщений: 789
Возраст: 32

Рейтинг



Да - но это не страшно

Добавлено 05-07-2012 в 20:17:

Решил сделать так чтобы персонажи тоже выбрасывали при перезарядке обойму - есть сама функция спавна void CSpetsnaz::SpawnClip( void ) - но как её правилно запустить я не понимаю - если сделать так

SetThink( SpawnClip );
pev->nextthink = gpGlobals->time + 0.0;

то после перезарядки персонажи перестают стрелять и двигаться вообще, хотя и откликаются на разговор.

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

Старое сообщение 05-07-2012 14:17
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2090

Рейтинг



Lev
pev->nextthink = gpGlobals->time + 0.1;
или уж вызывай непосредственно из Reload.

__________________
-Brain is dead-

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

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

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

Рейтинг



Цитата:
ONeiLL писал:
Поздравляю, ты научился работать с памятью

С памятью вы научитесь работать, когда подобные конструкции вас смущать перестанут.
C++ Source Code:
1
void CStudioModelRenderer :: CreateVertexCache( word handle )
2
{
3
  int vertSize = 0, normSize = 0;
4
  int totalVertSize = 0, totalNormSize = 0;
5
  size_t vertOffsets[MAXSTUDIOMODELS];
6
  size_t normOffsets[MAXSTUDIOMODELS];
7
  int lastNormSize = 0;
8
 
9
  memset( vertOffsets, 0, sizeof( vertOffsets ));
10
  memset( normOffsets, 0, sizeof( normOffsets ));
11
 
12
  // through all bodies to determine max vertices count
13
  for( int j = 0; j < m_pStudioHeader->numbodyparts; j++ )
14
  {
15
    mstudiobodyparts_t *pbodypart = (mstudiobodyparts_t *)((byte *)m_pStudioHeader + m_pStudioHeader->bodypartindex) + j;
16
 
17
    int index = m_ModelInstances[handle].m_pEntity->curstate.body / pbodypart->base;
18
    index = index % pbodypart->nummodels;
19
 
20
    mstudiomodel_t *psubmodel = (mstudiomodel_t *)((byte *)m_pStudioHeader + pbodypart->modelindex) + index;
21
    vertSize = (psubmodel->numverts * sizeof(Vector));
22
    normSize = (psubmodel->numnorms * sizeof(Vector));
23
 
24
    // NOTE: vertex and normals array are interleaved into memory representation
25
    if( j == 0 )
26
    {
27
      vertOffsets[j] = 0;	// just in case
28
      normOffsets[j] = vertOffsets[j] + vertSize;
29
    }
30
    else
31
    {
32
      vertOffsets[j] = normOffsets[j-1] + lastNormSize;
33
      normOffsets[j] = vertOffsets[j] + vertSize;
34
    }
35
 
36
    // count total cache vertexes and normals
37
    totalVertSize += vertSize;
38
    totalNormSize += normSize;
39
    lastNormSize = normSize;
40
  }
41
 
42
  // create a vertexcache too
43
  size_t cacheSize = sizeof( VertCache_t ) + totalVertSize + totalNormSize;
44
  m_ModelInstances[handle].vertcache = (VertCache_t *)calloc( 1, cacheSize );
45
  byte *cache_base = (byte *)m_ModelInstances[handle].vertcache + sizeof( VertCache_t );
46
 
47
  // simple huh?
48
  for( int i = 0; i < m_pStudioHeader->numbodyparts; i++ )
49
  {
50
    m_ModelInstances[handle].vertcache->verts[i] = (Vector *)(cache_base + vertOffsets[i]); // vertex array
51
    m_ModelInstances[handle].vertcache->norms[i] = (Vector *)(cache_base + normOffsets[i]); // normal array
52
  }
53
}

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-07-2012 16:46
-
ONeiLL
CrazyUkrainian

Дата регистрации: Dec 2011
Проживает: Украина, Житомир
Сообщений: 562
Возраст: 27

Рейтинг



конечно я не понял, для чего это, но ничего такого странного тоже не заметил

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

Старое сообщение 06-07-2012 17:45
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1862

Рейтинг



А как создать разрывные патроны? Чтобы автомат стрелял пулями которые взрываются как стрела арбалета.

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

Старое сообщение 10-07-2012 17:05
- За что?
fire64
Житель форума

Дата регистрации: Apr 2007
Проживает: Москва
Сообщений: 2362
Возраст: 35

Рейтинг



Chyvachok, делай трассу и в месте попадания создавай взрыв.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей

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

Старое сообщение 10-07-2012 17:22
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1862

Рейтинг



fire64 а как учитывать разброс?

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

Старое сообщение 10-07-2012 17:35
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
fire64 писал:
Chyvachok, делай трассу и в месте попадания создавай взрыв.

мастер апчхимизаций? Пуля уже и так трассу делает. Достаточно взывать взрыв там же, где и искры.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-07-2012 18:07
-
pRoxxx
Житель форума

Дата регистрации: Jan 2011
Проживает: UA DP
Сообщений: 360
Возраст: 34

Рейтинг



Цитата:
Lev писал:
не умею работать с памятью

Оу, видел бы ты как я зафлудил ДМ'у аську из за очистки памяти.

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

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

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1862

Рейтинг



Сделал я разрывные патроны, кто хочет может глянуть на мой быдлокод:
Только как эффект взрыва чуть к игроку приблизить? А то он некрасиво в стене рисуется.

C++ Source Code:
1
case BULLET_PLAYER_357:
2
  //pEntity->TraceAttack(pevAttacker, gSkillData.plrDmg357, vecDir, &tr, DMG_BLAST | DMG_ALWAYSGIB);
3
RadiusDamage(tr.vecEndPos, pevAttacker, pevAttacker, gSkillData.plrDmg357Exp, gSkillData.plrDmg357Radius, CLASS_NONE, DMG_BLAST | DMG_ALWAYSGIB); //копипаста из кода ХЛВЕ
4
 
5
static int iContents = UTIL_PointContents ( tr.vecEndPos ); //копипаста из арбалета
6
static int iScaleExp;
7
 
8
iScaleExp = 10;
9
 
10
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, tr.vecEndPos );
11
WRITE_BYTE( TE_EXPLOSION);
12
WRITE_COORD( tr.vecEndPos.x );
13
WRITE_COORD( tr.vecEndPos.y );
14
WRITE_COORD( tr.vecEndPos.z );
15
if (iContents != CONTENTS_WATER)
16
{
17
  WRITE_SHORT( g_sModelIndexFireball );
18
}
19
else
20
{
21
  WRITE_SHORT( g_sModelIndexWExplosion );
22
}
23
WRITE_BYTE( iScaleExp  ); // scale * 10
24
WRITE_BYTE( 15  ); // framerate
25
WRITE_BYTE( TE_EXPLFLAG_NONE );
26
MESSAGE_END();
27
 
28
break;

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

Старое сообщение 11-07-2012 10:36
- За что?
CrazyRussian
ололо

Дата регистрации: Apr 2009
Проживает: Город-курорт Ессентуки
Сообщений: 790
Возраст: 33

Рейтинг



Награды
 
[1 награда]


Цитата:
Chyvachok писал:
Только как эффект взрыва чуть к игроку приблизить?

Vector origin = tr.vecEndPos + vecDir * -чуть;
где:
"чуть" - насколько отодвигаешь взрыв
vecDir - направление из которого у тебя пускается трасса
origin - результирующее положение эффекта взрыва.

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов

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

Старое сообщение 11-07-2012 11:26
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1862

Рейтинг



CrazyRussian спасибо, попробую.

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

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

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

Рейтинг



вместо чють напиши 24.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 11-07-2012 13:31
-
marikcool
Житель форума

Дата регистрации: Jul 2011
Проживает: kz
Сообщений: 1522
Возраст: 39

Рейтинг



нормуль)

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

Старое сообщение 11-07-2012 14:09
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 22:58. Новая тема    Ответить
Страницы (5): « 1 2 [3] 4 5 »   Предыдущая тема   Следующая тема
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