HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 136 137 138 139 [140] 141 142 143 144 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



FreeSlave самый лучший вариант - модифицировать пушабли кодом из моего тутора, и грузить отдельными bsp. Растягивать транзишен на всю карту плохое решение. Либо, просто не заводи глобалнейм. Не дай игроку возможности утащить пушаблю на первую карту, вот и всё.

Добавлено 15-02-2020 в 21:42:

Попробуй расположить пушаблю подальше от чейнджлевела, чтобы она не попадала в его PVS, кстати.

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

Старое сообщение 15-02-2020 14:42
- За что?
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



Ku2zoff, так она вроде ж и не переходит как раз потому, что не попадает.

Попробовал грузить отдельным bsp - вроде нормально работает.

__________________
I'm on github
I'm on opendesktop.org

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

Старое сообщение 15-02-2020 15:21
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ku2zoff писал:
Растягивать транзишен на всю карту плохое решение

в таком случае транзишен вообще не надо ставить.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 15-02-2020 15:43
-
Flash
Житель форума

Группа: Опытный
Дата регистрации: Jul 2006
Проживает: Украина, Кривой Рог
Сообщений: 688

Рейтинг



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


Либо костылём, через маппинг, дабы нельзя было бы перетащить объект. Вряд ли сеттинг предполагает поле конфискации народного имущества.

__________________
Tiger! Tiger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?

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

Старое сообщение 15-02-2020 16:55
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



C++ Source Code:
1
//-----------------------------------------------------------------------------
2
// Unserialize static prop model dictionary
3
//-----------------------------------------------------------------------------
4
void CVradStaticPropMgr::UnserializeModelDict( CUtlBuffer& buf )
5
{
6
  int count = buf.GetInt();
7
 
8
  while ( --count >= 0 )
9
  {
10
    StaticPropDictLump_t lump;//this was in loop
11
    buf.Get( &lump, sizeof(StaticPropDictLump_t) );
12
    CreateCollisionModel( lump.m_Name );
13
    propDict[count][128] = lump.m_Name ;
14
 
15
    printf( "UMD inloop dict %i %i %s\n", count, *propDict[count][128], propDict[count][128] );
16
  }
17
 
18
  printf( "loop over\n" );
19
  int i=0;
20
  while ( propDict[i][128] )
21
  {
22
    printf( "UMD dict %i %i %s\n",		 i,		 *propDict[i][128], propDict[i][128] );
23
    i++;
24
  }
25
 
26
}

Count меняется, но указатель на propDict[count][128] не меняется, я вообще хз. В первом цикле значения propDict разные, во втором-одинаковые. propDict объявлен глобально, но когда я из другого cpp пытаюсь его читать, там как минимум половина строк повреждены.

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

Старое сообщение 18-02-2020 10:57
- За что?
nemyax
Нёмыч

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

Рейтинг



Цитата:
Crystallize писал:
propDict[count][128]

Это чего за массив массивов такой?

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

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

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

Рейтинг



Цитата:
Crystallize писал:
указатель на propDict[count][128] не меняется

а как ты берёшь указатель?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-02-2020 13:50
-
nemyax
Нёмыч

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

Рейтинг



Тут 129-му элементу (count+1)-ного по счёту массива присваивается указатель на чяр, судя по коду. Какой длины эти массивы, если у тебя повреждаются строки?
Может, имелось в виду strcpy(propDict[count], lump.m_Name);?

Отредактировано nemyax 18-02-2020 в 14:12

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

Старое сообщение 18-02-2020 14:07
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



nemyax это стрингтабля

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-02-2020 15:33
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
а как ты берёшь указатель?

ну вон видишь в printf просто * приписываю к стрингтабле. Сейчас попробовал вывести без звездочки, как %x. Теперь больше похоже на пойнтер (12f64c) но он всё равно всегда одинаковый.

Цитата:
nemyax писал:
Тут 129-му элементу (count+1)-ного по счёту массива присваивается указатель на чяр, судя по коду. Какой длины эти массивы, если у тебя повреждаются строки?
Может, имелось в виду strcpy(propDict[count], lump.m_Name);?

Нет никакого 129-го элемента. 128 символов на строку, а count это счётчик более старшего порядка, он перечисляет строки.

Я пробовал всякие strcpy, Q_strcpy, memcpy, Q_memcpy, все приводят к тому что он валится с ошибкой. Только присваивание работает.

Отредактировано Crystallize 18-02-2020 в 15:58

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

Старое сообщение 18-02-2020 15:46
- За что?
nemyax
Нёмыч

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

Рейтинг



Дядя Миша
То есть char propDict[numStrings][128];?

Цитата:
Crystallize писал:
Нет никакого 129-го элемента. 128 символов на строку

Ну так а зачем ты в него пишешь тогда? Ещё и не тот тип.
Цитата:
propDict[count][128] = lump.m_Name ;

Вот тут ты присваиваешь нечто сразу за границей массива propDict[count]. Зачем там вообще индекс 128? Понятно, что строки у тебя будут битые.

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

Старое сообщение 18-02-2020 15:59
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



А, я пишу в 128 элемент строки и тут же попадаю в следущую строку?

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

Старое сообщение 18-02-2020 16:07
- За что?
nemyax
Нёмыч

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

Рейтинг



Цитата:
Crystallize писал:
Я не понимаю почему ты считаешь что я выхожу за границы массива

[128] — это у тебя что? При длине массива в 128.

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

Старое сообщение 18-02-2020 16:09
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Спасибо. Я просто решил что ему нужно каждый раз указывать полную размерность.

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

Старое сообщение 18-02-2020 16:14
- За что?
nemyax
Нёмыч

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

Рейтинг



Цитата:
Crystallize писал:
Только присваивание работает.

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

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

Старое сообщение 18-02-2020 16:16
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 09:32. Новая тема    Ответить
Страницы (260): « Первая ... « 136 137 138 139 [140] 141 142 143 144 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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