HLFX.Ru Forum
Показать все 46 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Can't create entity (https://hlfx.ru/forum/showthread.php?threadid=1908)


Отправлено BioHazard 19-07-2009 в 02:02:

Question Can't create entity

Недавно решил осваивать хл и начал с простого. Почитал туторов, разобрался немного что к чему.
Для теста решил написать какое нибкдь простенькое оружие.

Сервер скомпилился удачно, а вот у клиент начал выдавать кучу ошибок unresolved external symbol "public"

Я по совету Дяди Миши сделал заглушки как он тут посоветовал и в итоге клиент скомпилировался.

Но вот при загрузке карты в консоле мне пишет Can't create entity

Может это и тупо, но я уже не знаю что делать.
В коде синтаксических ошибок нету.

Добавлено 19-07-2009 в 06:02:

Да и у мп5 пропали анимации и мазлфлеш, хотя он то тут при чем Оо


Отправлено Дядя Миша 19-07-2009 в 06:25:

а что именно создать не может?

__________________
My Projects: download page

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

Цитата:

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


Отправлено BioHazard 19-07-2009 в 08:06:

Arrow

weapon_ar2

вот лог из консоли

code:
Executing listen server config file Can't create entity: weapon_ar2 NULL Ent in UTIL_PrecacheOtherWeapon Can't create entity: ammo_ar2 NULL Ent in UTIL_PrecacheOther Can't init monster_barney Can't init monster_barney Can't init monster_barney Can't init weapon_ar2 Can't init weapon_ar2


Пошел посмотреть в weapons.cpp и там
C++ Source Code:
1
pent = CREATE_NAMED_ENTITY( MAKE_STRING( szClassname ) );
2
if ( FNullEnt( pent ) )
3
{
4
  ALERT ( at_console, "NULL Ent in UTIL_PrecacheOtherWeapon\n" );
5
  return;
6
}


Я в файле оружия проверил спавн и STRING, но там все в порядке..

Добавлено 19-07-2009 в 12:06:

зы: когда вызываю оружие через impulse 101 пишет похожее, что то вроде NULL ent in GetNamedItem


Отправлено BeFore 19-07-2009 в 09:04:

BioHazard
покажи что ты там написал в weapons.cpp в функции w_precache


Отправлено BioHazard 19-07-2009 в 09:34:

прекеш ентити оружия и патронов у нему =)


Отправлено BeFore 19-07-2009 в 09:44:

BioHazard
что такое у нему?


Отправлено BioHazard 19-07-2009 в 09:50:

к* нему


Отправлено BeFore 19-07-2009 в 09:51:

и вообще я просил показать код


Отправлено BioHazard 19-07-2009 в 09:53:

Talking

если тебе это что то даст - вот

C++ Source Code:
// ar2
UTIL_PrecacheOtherWeapon( "weapon_ar2" );
UTIL_PrecacheOther( "ammo_ar2" );


Отправлено BeFore 19-07-2009 в 09:55:

BioHazard
так. значит смотри в коде оружия LINK_ENTITY_TO_CLASS. Может там что напутал. и раз пишет такоесообщение это значит что энтити такой нету. у меня так же с патронами которых не существет и лень делать
Проверь!


Отправлено BioHazard 19-07-2009 в 09:57:

ну а вообще - кусочки кода в аттаче

Добавлено 19-07-2009 в 13:57:

линк нормальный, я его еще в самом начале проверял. Там что то со спавном, я не знаю почему но спавниться это оружие очень активно отказывается((


Отправлено BeFore 19-07-2009 в 10:00:

эээ... ну с патронами все ясно. у патронов ты вообще LINK_ENTITY_TO_CLASS не написал. а код оружия щас посмотрю...


Отправлено BioHazard 19-07-2009 в 10:01:

точно! надо же я патроны даже и не смотрел особо то!


Отправлено BeFore 19-07-2009 в 10:10:

скопилил я твой код. у меня через give добавляеться.


Отправлено BioHazard 19-07-2009 в 11:27:

странно Оо значит дело в клиенте. Попробуй плиз с этим скомпилить( тут все затронутые файлы )

Добавлено 19-07-2009 в 15:27:

аттач забыл


Отправлено Дядя Миша 19-07-2009 в 11:29:

на клиенте патроны не существуют

__________________
My Projects: download page

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

Цитата:

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


Отправлено BioHazard 19-07-2009 в 13:08:

А все, это в патронах дело.

Оружие спавнится удачно, но при попытке его подобрать игра вылетает.

Может ли причиной этого быть не моно звук с 128кб/сек битрейтом?
И можно узнать где определяются звуки выстрелов для каждого оружия?

Добавлено 19-07-2009 в 16:45:

а все, нашел

Добавлено 19-07-2009 в 17:08:

В общем я в тупике Прошу помощи т.к. не знаю чем это все может быть вызвано. При поднятии пушки игра вылетает. Функции AddToPlayer и Deploy в порядке..


Отправлено Дядя Миша 19-07-2009 в 17:43:

BioHazard а ты v_model закэшировал?

__________________
My Projects: download page

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

Цитата:

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


Отправлено BeFore 19-07-2009 в 19:32:

BioHazard
знаешь почему? потому что у тебя в precache там пишеться
PRECACHE_MODEl("v_ar2.mdl") а путь ты не забыл указать?


Отправлено BioHazard 19-07-2009 в 21:50:

это я потом нашел и исправил,все звуки итп проверил на работоспособность, все в норме.

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

если только найти чем вскрыть дмп файл,мона было бы узнать в чем дело я думаю((


Отправлено Дядя Миша 20-07-2009 в 06:23:

ничего тебе дамп не скажет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено BeFore 20-07-2009 в 07:40:

BioHazard
просто вылетает без ошибки?


Отправлено CrazyRussian 20-07-2009 в 07:51:

BioHazard

Цитата:
чем вскрыть дмп

2003 студией отлично открываются. Я вчера ею таким способом, вместе с тестером моего мода, отловил пару багов....

....Однако думаю Дядя Миша прав - тебе это вряд-ли поможет.


Кстати, с этими дампами назрел такой вопрос - халфа всех версий делает дампы всегда, или только с какой-то определеной версии она начала делать дампы? Просто я прикрутил свой дампер к моду, а он почему-то фурычить только у меня, однако у товарищей который тестять мой мод дампы делает халфа, в принципе это хорошо и продуктивно (парой багов меньше )

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


Отправлено BioHazard 20-07-2009 в 12:40:

Цитата:
BeFore писал:
просто вылетает без ошибки?


Да, поэтому хз что там..


Отправлено BeFore 20-07-2009 в 13:16:

BioHazard
знаешь что сделай. посмтри код функции deploy. думаю что ты там накосячил. или код в студию. разбираться будем.


Отправлено BioHazard 20-07-2009 в 13:36:

C++ Source Code:
1
void Car2::Spawn( void )
2
{
3
  pev->classname = MAKE_STRING("weapon_ar2");
4
  Precache();
5
  SET_MODEL( ENT( pev ), "models/w_ar2.mdl" );
6
  m_iId = WEAPON_AR2;
7
 
8
  int aDef;
9
  switch( RANDOM_LONG( 0, 7 ))
10
  {
11
    case 0: aDef = 17; break;
12
 
13
    case 1: aDef = 18; break;
14
 
15
    case 2: aDef = 20; break;
16
 
17
    case 3: aDef = 21; break;
18
 
19
    case 4: aDef = 24; break;
20
 
21
    case 5: aDef = 25; break;
22
 
23
    case 6: aDef = 27; break;
24
 
25
    case 7: aDef = 28; break;
26
  }
27
 
28
  m_iDefaultAmmo = aDef;
29
 
30
  FallInit();
31
}
32
int Car2::AddToPlayer( CBasePlayer *pPlayer )
33
{
34
  if ( CBasePlayerWeapon::AddToPlayer( pPlayer ) )
35
  {
36
    MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev );
37
    WRITE_BYTE( m_iId );
38
    MESSAGE_END();
39
    return TRUE;
40
  }
41
  return FALSE;
42
}
43
BOOL Car2::Deploy( void )
44
{
45
  return DefaultDeploy( "models/v_ar2.mdl", "models/p_ar2.mdl", AR2_DEPLOY, "ar2" );
46
}


Эти функции я проверял в мп5, просто копировал из ar2.cpp в мп5, все работало.
Да и сами функции были взяты из мп5 и подредактированы под пушку


Отправлено BeFore 20-07-2009 в 13:44:

смайлы отключи


Отправлено BioHazard 20-07-2009 в 15:21:

там BOOL Car2::Deploy( void )


Отправлено BeFore 20-07-2009 в 15:46:

попробуй функцию Spawn сделать такой:

C++ Source Code:
1
void Car2::Spawn( void )
2
{
3
  pev->classname = MAKE_STRING("weapon_ar2");
4
  Precache();
5
  SET_MODEL( ENT( pev ), "models/w_ar2.mdl" );
6
  m_iId = WEAPON_AR2;
7
 
8
  m_iDefaultAmmo = 50;
9
 
10
  FallInit();
11
}


я думаю это было изза aDef.


Отправлено Дядя Миша 20-07-2009 в 16:19:

Халфа не вылетает "просто так". Включите лог и смотрите что она успела написать перед вылетом.

__________________
My Projects: download page

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

Цитата:

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


Отправлено BioHazard 20-07-2009 в 19:33:

можно узнать как? я уже думал насчет этого.

зы BeFore, я и так пробовал, и в мп5 ставил спавн от ар2, мп5 успешно поднималась, а ар2 и без рандома не поднимается

Добавлено 20-07-2009 в 23:33:

лог включил, хл глупо не успевает записать в него что случилось


Отправлено Дядя Миша 21-07-2009 в 06:53:

BioHazard ты издеваешься? КОНСОЛЬНЫЙ лог включи, а не дефматчевый. Додумался, блин.

__________________
My Projects: download page

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

Цитата:

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


Отправлено (_-=ZhekA=-_) 21-07-2009 в 07:05:

BioHazard
За такой лог тебя здесь побьют, удали не позорься )))

__________________
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


Отправлено CrazyRussian 21-07-2009 в 08:34:

BeFore ,BioHazard
Отладчиком пользоваться запрещает религия или незнание как им пользоваться???

BioHazard

Компилируй в Debug конфигурации, запускай халфу, в студии жми Build->Start Debug->attach to proccess , цепляйся к hl.exe, подожди чуток пока прицепиться, открывай файл с исходником пушки, переведи текстовый курсор в начало проблемных функции,нажми f9, запускай игру, подбирай пушку, и если ты все правильно сделал - то в момент подбирания пушки должен всплыть отладчик, даллее нажимай f10 и наблюдай на каком участке кода игра вылетает, а дальше - думай: если знаешь как исправить - исправляй, если нет - то комментируй\удаляй

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


Отправлено BioHazard 21-07-2009 в 12:36:

в консольном логе вообще все ничего нету кроме нескольких строчек.

Добавлено 21-07-2009 в 16:36:

компилировать никак не получится, у меня 2008 студия, поэтому я стандартными компиляторами все делаю.
Дебаггер запускается, к процессу аттачится, но когда игра вылетает, дебаггер тоже отключается


Отправлено CrazyRussian 21-07-2009 в 13:34:

Цитата:
но когда игра вылетает, дебаггер тоже отключается

говорю с увереностью 99 процентов - ты скомпилировал без отладочной информации. Добавь в батник hl_dll_compile.txt ключ /Zi , и попробуй опять, не забудь поставить точки остановки!
Я так отлаживал хлам даже в 2005 урезаной студии!
Все отлично работало!

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


Отправлено BioHazard 21-07-2009 в 14:17:

Цитата:
CrazyRussian писал:
hl_dll_compile.txt ключ /Zi

он там итак по дефолту прописан.

=====================

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


Отправлено Дядя Миша 21-07-2009 в 20:27:

Да вы издеваетесь или где?
к ярлыку запуска (ну или к пакетнику) дописать параметр -condebug
дождаться вылета, зайти в папку мода, открыть qconsole.log и почитать что там в конце произошло?
Развели флуд на три страницы

__________________
My Projects: download page

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

Цитата:

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


Отправлено BioHazard 21-07-2009 в 21:37:

Дядя Миша я так уже делал. Результат тот же что и при condump


Отправлено Дядя Миша 22-07-2009 в 06:32:

BioHazard выложи его сюда - результат.
Всякую дрянь ты в аттачи приложил, а самое главное - не хочешь.

__________________
My Projects: download page

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

Цитата:

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


Отправлено BioHazard 22-07-2009 в 21:40:

я не думаю что это чем то поможет. Попробую занова написать на чистом сдк


Отправлено Дядя Миша 23-07-2009 в 06:47:

BioHazard попробуй тоже самое проделать на WON-версии, и с параметром -dev конечно же

__________________
My Projects: download page

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

Цитата:

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


Отправлено BioHazard 23-07-2009 в 11:43:

ок, если достану ее


Отправлено BioHazard 26-07-2009 в 06:45:

собственно проблема решилась. Всем спасибо за поддержку


Отправлено Дядя Миша 26-07-2009 в 07:27:

BioHazard а написать в чем была проблема? Форум - он для решения не только твоих проблем. Это копилка опыта.

__________________
My Projects: download page

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

Цитата:

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


Отправлено BioHazard 26-07-2009 в 09:03:

дело в том, что я так и нет понял в чем дело. Я просто снес старый сдк и написал все занова, только пушку, без патронов. Были ошибки в линках unresolved external итп. Я както пофиксил и собственно все заработало.

Так что думаю проблема была в тех заглушках, которые я сделал в самом начале или в патронах. Хотя скорее всего в заглушках.

А сейчас буду пытаться поработать с виз. эффектами если получится.


Временная зона GMT. Текущее время 04:47.
Показать все 46 сообщений этой темы на одной странице

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