HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT/3D [Вопросы и ответы] 2 голосов
Страницы (52): « Первая ... « 25 26 27 28 [29] 30 31 32 33 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

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

Рейтинг



scr_conspeed

Добавлено 04-03-2021 в 20:03:

Вообще что мешает набрать в консоли makehelp и ознакомиться с авто-документацией?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 04-03-2021 17:03
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Такая проблема у меня.
В общем сделал я "оружие" - ставить турели monster_sentry. На основную атаку нажимаешь и перед игроком спавнится дружественная турель. Дело в том, что если заспавнить турель, сохраниться и загрузиться - она исчезнет. Спавню таким образом - это код Primary attack:

C++ Source Code:
CBaseMonster *pSentry = (CBaseMonster*)Create( "monster_sentry", TurretSpawnPosition, g_vecZero, m_pPlayer->edict() );
pSentry->m_iClass = CLASS_PLAYER_ALLY;

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

РАЗОБРАЛСЯ

Из-за этого не сохранялось.
C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry");


Оказывается надо было прописать у турели
C++ Source Code:
LINK_ENTITY_TO_CLASS( _playersentry, CSentry );

И да, подмена класса энтити мне нужна

__________________
Мой мод на Xash

Отредактировано Aynekko 08-03-2021 в 19:30

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

Старое сообщение 08-03-2021 19:24
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry")

А это еще откуда?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 09-03-2021 06:01
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry")

А это еще откуда?

Это мое. Я ж говорю, сделал турели, и мне надо было чтобы у них "энтитянейм" поменялся с monster_sentry на ту, что мне надо. Кто ж знал, что нельзя менять на что попало, а только на то, что есть в link_entity_to_class.

__________________
Мой мод на Xash

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

Старое сообщение 09-03-2021 11:53
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Восстановление энтить происходит по их имени. Но у одной энтити конечно может быть несколько имён. Только ты неправильно сделал.

Ты просто создавай

C++ Source Code:
CBaseMonster *pSentry = (CBaseMonster*)Create( "_playersentry", TurretSpawnPosition, g_vecZero, m_pPlayer->edict() );


а вот эту пакость
C++ Source Code:
pSentry->pev->classname = MAKE_STRING("_playersentry");

выброси. Потому что иначе у тебя все туррели поменяют имя на _playersenrty, опять будешь жаловаться, что что-то работать перестало.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 09-03-2021 15:02
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Точно, спасибо. Раз я сделал линк, то можно же сразу делать.

Добавлено 09-03-2021 в 21:34:

Цитата:
Ku2zoff писал:
Я заинтересовался, попозже сегодня сам проверю опфор на предмет вылета. И напишу себе такой шок-эффект, пригодится для чего-нибудь.

Ku2zoff, если есть возможность, проверь такой баг с этой прожектилей. Еле отловил его.
Задал солдату очень маленькую скорость прожектили. Так вот, когда солдата разносит в клочья или труп исчезает (то есть энтитя удалена из мира), а прожектиля все еще летит - то когда она коснется чего-либо, будет вылет.
Починилось вот так:
В класс шока пишем
C++ Source Code:
EHANDLE m_hOwner;

В спаун шока пишем
C++ Source Code:
m_hOwner = Instance( pev->owner );

Во FlyThink закинул постоянную проверку:
C++ Source Code:
if( m_hOwner == NULL )
  pev->owner = NULL;

И все - вылеты приекратились. Вроде бы понятно, что к чему тут, но этот солдат так же пуляется другой энтитей (которую я причем сам делал), у которой owner не обнуляется, при этом даже без солдата никаких вылетов нет. Хотя EHANLDE и Instance я прописал там. От греха подальше закинул проверку на овнера и в свою энтитю, черт ее знает.

P.S. в опфоре не получилось проверить. Прожектиля летит слишком быстро. Пытался разорвать шок-трупера, пока летит прожектиля. Либо там этого бага нет, либо я так и не смог попасть в тайминг.

Добавлено 09-03-2021 в 22:14:

Странное что-то. Ксаш вылетает, когда солдат стреляет шок-энтитей. Но только тогда, когда выставлен параметр -dev. Без него вылета нет. Таких приколов я еще не видел.

__________________
Мой мод на Xash

Отредактировано Aynekko 09-03-2021 в 18:35

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

Старое сообщение 09-03-2021 19:14
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Aynekko писал:
Странное что-то. Ксаш вылетает, когда солдат стреляет шок-энтитей. Но только тогда, когда выставлен параметр -dev. Без него вылета нет. Таких приколов я еще не видел.

Загадка разгадана. Если вкратце, вылет был из-за этого:
C++ Source Code:
if (m_pSprite)
  m_pSprite->pev->frame++;

А надо было вот так сделать - обнулять кадры:
C++ Source Code:
1
if (m_pSprite)
2
{
3
  if(m_pSprite->pev->frame > 9)
4
    m_pSprite->pev->frame = 0;
5
  m_pSprite->pev->frame++;
6
}

Причем если выставить "> 11", то будет вылет, т.к. в спрайте 11 кадров. 10 не стал, поставил 9. Было бы удобно конечно брать инфу о кадрах из спрайта, но я не знаю пока как.

А дальше еще интереснее. Спрайт создается как
C++ Source Code:
m_pSprite = CSprite::SpriteCreate( "sprites/shock.spr", GetAbsOrigin(), TRUE );
m_pSprite->SetAttachment( edict(), 0 );

И если оставить неправильный код во FlyThink
C++ Source Code:
if (m_pSprite)
  m_pSprite->pev->frame++;

То ксаш в режиме -dev будет сыпать в консоль ошибками вида "Warning: R_GetSpriteFrame: no such frame 11 (sprites/shock.spr)" (оттуда и узнал про ошибку).
А теперь к спауну спрайта добавляем код
C++ Source Code:
m_pSprite->pev->scale = 0.6;
m_pSprite->SetTransparency( kRenderTransAdd, 255, 0, 50, 150, kRenderFxNoDissipation );

И все, ксаш вместо вывода в консоль ошибки о кадрах просто вылетает.
И уже потом, когда я выставил зануление кадров после 9-го, вылеты прекратились, так же как и спам в консоль.

__________________
Мой мод на Xash

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

Старое сообщение 10-03-2021 18:42
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Aynekko писал:
if (m_pSprite)
__m_pSprite->pev->frame++;

Он вообще должен сам анимироваться... m_pSprite->SetThink(&CSprite::AnimateUntilDead), по-моему. Вручную прибавлять кадры - это какой-то костыль.

Отредактировано Ku2zoff 11-03-2021 в 08:13

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

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

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 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: Записан
Сообщение: 200561

Старое сообщение 11-03-2021 11:25
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Ku2zoff писал:
Он вообще должен сам анимироваться... m_pSprite->SetThink(&CSprite::AnimateUntilDead)

Спасибо, не знал про такое. Но, почему-то не работает. Убрал свое условие и поставил твою строчку в createeffects
C++ Source Code:
1
if( !m_pSprite )
2
  m_pSprite = CSprite::SpriteCreate( "sprites/shock.spr", GetAbsOrigin(), TRUE );
3
 
4
if( m_pSprite )
5
  m_pSprite->SetThink(&CSprite::AnimateUntilDead);

Просто статичный спрайт. Выставил прожектиле совсем маленькую скорость, так что рассмотрел со всех сторон.


Ну и еще баг нашел. После выстрела летящая прожектиля несолидная для игрока - сквозь нее ходишь. Сохранился, загрузился. И тут она уже бьет игрока и уничтожается. Интересно…)
Странно, выставил алерт, так вот после загрузки сохранения мое условие во flythink активируется.
C++ Source Code:
if( m_hOwner == NULL )
  pev->owner = NULL;

Теряется овнер почему-то.
UPDATE: нашелся овнер. Не думал, что надо сохранять его
C++ Source Code:
DEFINE_FIELD( m_hOwner, FIELD_EHANDLE ),

__________________
Мой мод на Xash

Отредактировано Aynekko 11-03-2021 в 14:21

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

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

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 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: Записан
Сообщение: 200563

Старое сообщение 11-03-2021 18:09
-
Casperx69x
Пытаюсь пилить мод

Группа: Неопытный
Дата регистрации: Nov 2019
Проживает: Оренбург
Сообщений: 40
Возраст: 27

Рейтинг



Доброго времени суток. Я таки опять с вопросами.

При добавлении травы, можно редачить ее свойства, но вот что значит последняя цифра в столбике в grassinfo.txt?

Все еще озадачен вопросом gib-сов. У меня есть катсцена, где взрывается здание, и вот нужно у func_breakable увеличить время gib-сов до полного растворения, чтоб это не так убого выглядело. Где это посмотреть в коде?

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

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

В func_landscape есть какие-то настройки в редакторе, кроме zhlt_landscape, zhlt_texturestep, zhlt_maxextent?

В последней версии ксаша и ксашнт, точно работают лоды? Делал по инструкции с добавлением в сами модели, и что-то ничего не пашет.

Какие есть еще возможности движка, которые не указаны в документации? Просто имхо, про текстуры ландшафта нет инфы, кусок инфы на кмс и все, так же про func_landscape. Если есть доп инфа, можно в лс пожалуйста

и бога ради сделайте пустую карту коробку с env_physbox, где она якобы разрушается от выстрелов и залейте мне в личку. У меня тупо это не работает. Я прям хз,что делать...

Отредактировано Casperx69x 25-03-2021 в 12:13

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

Старое сообщение 25-03-2021 11:58
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1008
Возраст: 31

Рейтинг



Цитата:
Casperx69x писал:
func_breakable увеличить время gib-сов до полного растворения, чтоб это не так убого выглядело. Где это посмотреть в коде?

В CBreakable::Die есть WRITE_BYTE(25) - duration 2.5 seconds - это не оно?
Цитата:
Casperx69x писал:
Почему-то при добавлении их больше одного, фпс падает до пары кадров (Хотел намутить отражения в окнах, внутри дома, добавил окно и просто капец)

Одно зеркало уже по сути тупо умножает еполи и вполи на 2. Про 2 зеркала рядом я вообще молчу...из-за этого пришлось отказаться от них
Цитата:
Casperx69x писал:
можно указать направление и скорость вращения скайбокса

Интересная фича, это 2д или 3д? 3д можно парентом прикрепить к ротатингу

__________________
Мой мод на Xash

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

Старое сообщение 25-03-2021 12:10
- За что?
Casperx69x
Пытаюсь пилить мод

Группа: Неопытный
Дата регистрации: Nov 2019
Проживает: Оренбург
Сообщений: 40
Возраст: 27

Рейтинг



Aynekko я может туплю, но вот вот тут про скайбокс https://clck.ru/TufN7 (извиняюсь за сокращатель ссылок)

Сделай пустую карту коробку с env_physbox, где она якобы разрушается от выстрелов и залей мне в личку. У меня тупо это не работает. Я прям хз,что делать...

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

Старое сообщение 25-03-2021 12:26
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Casperx69x писал:
но вот что значит последняя цифра в столбике в grassinfo.txt?

Random Seed. База для генератора рандомной расстановки травы.
Трава ставится случайно, но каждый раз одинаково. Вот это число позволяет поиграться со случайностью.

Цитата:
Casperx69x писал:
Это вырезали в последней версии?

да вырезали. Для 3д неба это не так актуально, можно сделать ротатаблей.

Цитата:
Casperx69x писал:
Почему-то при добавлении их больше одного, фпс падает до пары кадров

какая видеокарта, как зеркала стоят? Друг напротив друга?

Цитата:
Casperx69x писал:
Делал по инструкции с добавлением в сами модели, и что-то ничего не пашет.

а как определил, что не пашет? Поиграйся с кваром r_lod_bias, посмотри, будут ли они меняться.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-03-2021 12:31
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 17:40. Новая тема    Ответить
Страницы (52): « Первая ... « 25 26 27 28 [29] 30 31 32 33 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT/3D [Вопросы и ответы] 2 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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