HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Ошибка LINK
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Frest
Житель форума

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

Рейтинг



Exclamation Ошибка LINK

Кто нить помогите пожалуйста, вот короче сделал я так, когда будет взрываться граната появиться эффект дополнительного взрыва(спрайты), но вот появилась ошибка в LINK:
Creating library .\Releasehl/hl.lib and object .\Releasehl/hl.exp
ggrenade.obj : error LNK2001: unresolved external symbol "short g_sModelIndexFireballC"(?g_sModelIndexFireballC@@3FA)
ggrenade.obj : error LNK2001: unresolved external symbol "short g_sModelIndexFireballB"(?g_sModelIndexFireballB@@3FA)
ggrenade.obj : error LNK2001: unresolved external symbol "short g_sModelIndexFireballA"(?g_sModelIndexFireballA@@3FA)
.\Releasehl/hl.dll : fatal error LNK1120: 3 unresolved externals
"Dll compiling failed!"

Если что в архиве (снизу) есть код файлов ggrenade.cpp,weapons.cpp,weapons.h которых я изменил.

Вложение: cpp_files.zip (22.0 кб)
Этот файл был скачан 268 раз.
ForestGirl проверилa это вложение на вирусы 15-01-2008 в 07:54

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

Старое сообщение 15-01-2008 02:24
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34528
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



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


Frest кто тебя вообще надоумил такое писать:

C++ Source Code:
1
MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, pev->origin );
2
WRITE_BYTE( TE_EXPLOSION );		// This makes a dynamic light and the explosion sprites/sound
3
WRITE_COORD( pev->origin.x );	// Send to PAS because of the sound
4
WRITE_COORD( pev->origin.y );
5
WRITE_COORD( pev->origin.z );
6
if (iContents != CONTENTS_WATER)
7
{
8
  WRITE_SHORT( g_sModelIndexFireball );
9
  WRITE_SHORT( g_sModelIndexFireballA );
10
  WRITE_SHORT( g_sModelIndexFireballB );
11
  WRITE_SHORT( g_sModelIndexFireballC );
12
}
13
else
14
{
15
  WRITE_SHORT( g_sModelIndexWExplosion );
16
}
17
WRITE_BYTE( (pev->dmg - 50) * .60  ); // scale * 10
18
WRITE_BYTE( 15  ); // framerate
19
WRITE_BYTE( TE_EXPLFLAG_NONE );
20
MESSAGE_END();


Даже если ты это скомпилируешь, в игре получишь в лучшем случае баги, в худшем - вылет. У стандартной мессаги TE_EXPLOSION есть свой формат, и добавлять туда свои данные нельзя.
По поводу ошибки - проверь правильность написания имен переменных во всех файлах. Возможно, где-то закралась русская буква или что-то в этом роде. Ну и Rebuild All иногда помогает.

__________________

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

Старое сообщение 15-01-2008 04:24
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Frest если хочешь сделать взрыв с несколькими спрайтами делай так:

C++ Source Code:
1
if (iContents != CONTENTS_WATER)
2
{
3
  MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, pev->origin );
4
  WRITE_BYTE( TE_EXPLOSION );// This makes a dynamic light and the explosion sprites/sound
5
  WRITE_COORD( pev->origin.x );// Send to PAS because of the sound
6
  WRITE_COORD( pev->origin.y );
7
  WRITE_COORD( pev->origin.z );
8
  WRITE_SHORT( g_sModelIndexFireball );
9
  WRITE_BYTE( (pev->dmg - 50) * .60  ); // scale * 10
10
  WRITE_BYTE( 15  ); // framerate
11
  WRITE_BYTE( TE_EXPLFLAG_NONE );
12
  MESSAGE_END();
13
 
14
  MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, pev->origin );
15
  WRITE_BYTE( TE_EXPLOSION );// This makes a dynamic light and the explosion sprites/sound
16
  WRITE_COORD( pev->origin.x );// Send to PAS because of the sound
17
  WRITE_COORD( pev->origin.y );
18
  WRITE_COORD( pev->origin.z );
19
  WRITE_SHORT( g_sModelIndexFireballA );
20
  WRITE_BYTE( (pev->dmg - 50) * .60  ); // scale * 10
21
  WRITE_BYTE( 15  ); // framerate
22
  WRITE_BYTE( TE_EXPLFLAG_NONE );
23
  MESSAGE_END();
24
 
25
  MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, pev->origin );
26
  WRITE_BYTE( TE_EXPLOSION );// This makes a dynamic light and the explosion sprites/sound
27
  WRITE_COORD( pev->origin.x );// Send to PAS because of the sound
28
  WRITE_COORD( pev->origin.y );
29
  WRITE_COORD( pev->origin.z );
30
  WRITE_SHORT( g_sModelIndexFireballB );
31
  WRITE_BYTE( (pev->dmg - 50) * .60  ); // scale * 10
32
  WRITE_BYTE( 15  ); // framerate
33
  WRITE_BYTE( TE_EXPLFLAG_NONE );
34
  MESSAGE_END();
35
 
36
  MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, pev->origin );
37
  WRITE_BYTE( TE_EXPLOSION );// This makes a dynamic light and the explosion sprites/sound
38
  WRITE_COORD( pev->origin.x );// Send to PAS because of the sound
39
  WRITE_COORD( pev->origin.y );
40
  WRITE_COORD( pev->origin.z );
41
  WRITE_SHORT( g_sModelIndexFireballC );
42
  WRITE_BYTE( (pev->dmg - 50) * .60  ); // scale * 10
43
  WRITE_BYTE( 15  ); // framerate
44
  WRITE_BYTE( TE_EXPLFLAG_NONE );
45
  MESSAGE_END();
46
}
47
else
48
{
49
  MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, pev->origin );
50
  WRITE_BYTE( TE_EXPLOSION );// This makes a dynamic light and the explosion sprites/sound
51
  WRITE_COORD( pev->origin.x );// Send to PAS because of the sound
52
  WRITE_COORD( pev->origin.y );
53
  WRITE_COORD( pev->origin.z );
54
  WRITE_SHORT( g_sModelIndexWExplosion );
55
  WRITE_BYTE( (pev->dmg - 50) * .60  ); // scale * 10
56
  WRITE_BYTE( 15  ); // framerate
57
  WRITE_BYTE( TE_EXPLFLAG_NONE );
58
  MESSAGE_END();
59
}
60
 


Добавлено 15-01-2008 в 15:57:

А по поводу

ggrenade.obj : error LNK2001: unresolved external symbol "short g_sModelIndexFireballC"(?g_sModelIndexFireballC@@3FA)
ggrenade.obj : error LNK2001: unresolved external symbol "short g_sModelIndexFireballB"(?g_sModelIndexFireballB@@3FA)
ggrenade.obj : error LNK2001: unresolved external symbol "short g_sModelIndexFireballA"(?g_sModelIndexFireballA@@3FA)

Ты объявил индексы новых спрайтов в weapons.h?

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

Старое сообщение 15-01-2008 09:57
- За что?
Frest
Житель форума

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

Рейтинг



Спасибо!
Как всегда вы лучшие коддеры по HL1 которых я в жизни видел
Щас проверю...

Добавлено 15-01-2008 в 13:32:

Ура!!! ошибка LINK исчезла.Спасибо!

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

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



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


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

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

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

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

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

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