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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- несколько вопросов (https://hlfx.ru/forum/showthread.php?threadid=2935)


Отправлено marikcool 28-07-2011 в 19:24:

несколько вопросов

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

1. снятие лимита игроков, насколько жестко привязан лимит? и почему именно 32? заглядывал в xash там просто проверка квары на >32.
соответсвенно если пропатчить память на сверх лимит как себя это дело вести будет? помню в ку1 лимит не залочен запускал порядка 100 ботов)

2. продвинутый vgui класс, либо расширение, необходимо drag'n'drop система инвентаря, на доках от valve заметил что такое по стандарту предложено в source, ищется аналог для goldsrc.

3. про лимиты для звуков/спрайтов/моделей, куда это все прогружается и какой есть лимит для сервера и клиента? зачем сервер прекэширует звуки? ведь для обработки логики игры они ненужны.
в xash лимит увеличен, а если для оригинального hl например создать свой массив данных и подгрузить туда часть звуков/спрайтов и уже брать оттуда, дабы разгрузить стандарный массив данных?

4. данные для отображение в скоребоарде, немогу понять как они формируются в этом меню (когда таб жмем), есть сообщения которые изменяют данные по id игроков, но немогу найти сообщение в котором полностью пересылается вся информация о игроках, их ники например, предполагаю что идет на уровне самого движка, мод частью туда не добраться.

5. протокол передачи данных по udp для goldsrc, интересует доки по работе протокола, либо плохо гуглил либо никто не занимался, но немогу найти разобраный протокол (разобранные broadcast пакеты не в счет).

6. лимит карты, можно ли скормить карту больше чем 8192x8192 + модифицированый компилятор?


Отправлено Ku2zoff 28-07-2011 в 19:44:

1. Больше никак не сделаешь, лимит в движке. Но главный вопрос: нафига больше?
2. Вообще, во ВГУИ есть драг'н'дроп панель, только вот я не видел её в действии.
3. Тебе что, миллиард разных моделек надо?
4. gmsgScoreInfo.
5. Ничего про это не знаю.
6. Можно. http://half-life.ru/forum/showthrea...=&threadid=2568


Отправлено marikcool 28-07-2011 в 19:51:

спасибо за ответ

1. нужно для мода) что то типо центральное лобби игроков сделать.
как именно зашито? #define maxplayers 32 и везде выделена память на 32 объекта?

3 не милиард но много) можно субмодели + скины заюзать для моделей, а вот для спрайтов и звуков как обстоят дела?

4 Name: ScoreInfo
byte PlayerID
short Frags
short Deaths
short ClassID?
short TeamID
тут инфа для обновления данных игрока, сама базовая инфа я так полагаю в fullupdate пакете?


Отправлено Дядя Миша 28-07-2011 в 19:51:

Цитата:
marikcool писал:
снятие лимита игроков, насколько жестко привязан лимит? и почему именно 32? заглядывал в xash там просто проверка квары на >32.

там масса мест, где используется 32-битная переменная для хранения флагов для всех игроков (и в халфе и в ксаше). Фонариков у них тоже максимум 32, чтобы увеличить кол-во - надо менять com_model.h, теряем совместимость. Кроме того 32 игрока очень нехило нагружают сервер, так что тут всю архитектуру менять придется, подозреваю. Вообщем муторное дело.
Цитата:
marikcool писал:
зачем сервер прекэширует звуки?

чтобы составить для клиента список - что именно загружать.
Цитата:
marikcool писал:
их ники например, предполагаю что идет на уровне самого движка, мод частью туда не добраться.

правильно предполагаешь. Смотри в сторону userinfo.
Цитата:
marikcool писал:
протокол передачи данных по udp для goldsrc, интересует доки по работе протокола

OSHLDS посмотри http://team.steamlessproject.org/rguest/hlds.html
Цитата:
marikcool писал:
лимит карты, можно ли скормить карту больше чем 8192x8192 + модифицированый компилятор?

Можно. Надо только delta.lst помучать и следить чтобы хватило клипнодов.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 28-07-2011 в 20:06:

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


Отправлено marikcool 29-07-2011 в 09:38:

немогу разобраться по какому принципу и на сколько идет сдвиг спрайтов брони от начала координат по X при разных разрешениях.
в hud*.cpp немогу найти где идет расчет, либо мод часть тут не причем?
нужна простая формула относительно screeninfo.iWidth.


Отправлено Ku2zoff 29-07-2011 в 10:19:

3. Есть лимит на количество прекэшеных ресурсов, я не помню сколько. Я получал как-то отказ в загрузке карты, когда прекэшил монстров, чтобы создавать их через команду give. Монстров 15, чтоли было. И карта с пещерой Нихиланса не загружалась, в консоли писалось что-то про превышения лимита, не помню точно. Ещё я наткнулся на это ограничение в КС 1.6, когда какую-то детализированную карту туда сунул, на которой было много env_glow. А вот Кондишн Зеро прекрасно её грузил, видно в нём лимит убрали. Или потому что версия движка была новее, хотя ХЗ.


Отправлено Дядя Миша 29-07-2011 в 10:33:

Цитата:
marikcool писал:
немогу разобраться по какому принципу и на сколько идет сдвиг спрайтов брони от начала координат по X при разных разрешениях.

та по-моему они вообще никак не двигаются на разных разрешениях.
И размеры их не меняются. Правда в ксаше есть hud_scale но иногда края спрайтов видны, некрасиво.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 29-07-2011 в 10:57:

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

Добавлено 29-07-2011 в 14:57:

Цитата:
Ku2zoff писал:
3. Есть лимит на количество прекэшеных ресурсов, я не помню сколько. Я получал как-то отказ в загрузке карты, когда прекэшил монстров, чтобы создавать их через команду give. Монстров 15, чтоли было. И карта с пещерой Нихиланса не загружалась, в консоли писалось что-то про превышения лимита, не помню точно. Ещё я наткнулся на это ограничение в КС 1.6, когда какую-то детализированную карту туда сунул, на которой было много env_glow. А вот Кондишн Зеро прекрасно её грузил, видно в нём лимит убрали. Или потому что версия движка была новее, хотя ХЗ.

лимит есть, поэтому дабы разгрузить его прибегают к неким извращеным методам, подменивают модели звуки, переносят часть спрайтов только клиентскую часть.
ну и также есть лимит в 1024 ent объектов который просчитывает сервер.


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

Цитата:
marikcool писал:
я имею ввиду отступ до начала спрайта брони

а он по-моему берется от конца спрайта здоровья.
Цитата:
marikcool писал:
ну и также есть лимит в 1024 ent объектов который просчитывает сервер.

вообще-то в 900.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 29-07-2011 в 18:58:

нашол туториал по вгуи тут на форуме, но он используется до хл 1.1.1.1, есть ли тутор по новому гуи который рисует визуальные комопненты из *.res файлов?


Отправлено Ku2zoff 29-07-2011 в 19:04:

Цитата:
marikcool писал:
который рисует визуальные комопненты из *.res файлов?

Вообще-то это только лишь в 2ух модах реализовано - CS 1.6 и Condition Zero. От библиотеки vgui.dll, я думаю это не зависит. Можно написать свой парсер *.res файлов для каждой менюшки, но нафиг это надо, собсно? Можно и в коде всё норм сделать, как в TFC или DoD. И никакой ламер никаких гадостей с менюшками не понаделает, если исходников не будет.


Отправлено marikcool 29-07-2011 в 19:26:

если там 1 функция которая запускают меню как в 1.6 и CSCZ то оно мне в самый раз) в консоле есть команда vgui_runscript возможно это и она, но как работает незнаю.
парсер то написать фигня, какими средствами я выведу это на экран? исходника client.dll у меня нет, искать оффсеты на функции и структуры для старой vgui системы не вариант.


Отправлено marikcool 30-07-2011 в 05:36:

еще один вопрос назрел, кто использовал браузер который на mshtml.dll тот что вызывается через сообщение MOTD, почему данные в нем очень плохо обновляются? то есть если перейти по ссылке в нем надо еще тыкнуть ну какое нить пустое место чтобы страничка обновилась.
может кто видел открытую наработку opengl web браузера?
видел как qtwebkit интегрировали в hl, рендер браузера затолкали в хук glbegin или hud_redraw я так полагаю, очень четко работает.


Отправлено Дядя Миша 30-07-2011 в 09:50:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 30-07-2011 в 10:42:

Дядя Миша
>> а в даркплейсе есть корочи встроенный браузер.

IE ?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено IPwnMice 30-07-2011 в 12:51:

отступ*(screeninfo.iWidth/640)


Отправлено Дядя Миша 30-07-2011 в 14:23:

FiEctro да ты его видел. Gekko штоли.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 31-07-2011 в 18:48:

прикреплю покачто что получается) позже выложу скрин с гуи меню.


Отправлено FiEctro 01-08-2011 в 07:51:

marikcool
VGUI или спрайты? Красивый ГУИ получился. Только радар отстойный.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено n00b 01-08-2011 в 07:54:

Цитата:
FiEctro писал:
Красивый ГУИ получился.

А по мне так не очень, выделяется сильно.


Отправлено FiEctro 01-08-2011 в 07:56:

n00b
Ты его попрозрачнее сделай. Посмотри в хл2 какой хад, там рамки еле заметны.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 01-08-2011 в 09:07:

Нормальный худ, нефиг гнать.
Разве что я бы цыферки сделал прозрачными.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 01-08-2011 в 09:10:

Цитата:
Дядя Миша писал:
Разве что я бы цыферки сделал прозрачными.

А я бы ещё убрал подложку, оставив только цыферки.

__________________

xaerox on Vivino


Отправлено marikcool 01-08-2011 в 16:59:

так это же 1.6) там радар такой его не трогаю) а цифры без подложки там и так постандарту)


Отправлено n00b 01-08-2011 в 17:03:

Цитата:
marikcool писал:
а цифры без подложки там и так постандарту)

Ну лично мне они больше нравятся


Отправлено XaeroX 01-08-2011 в 17:07:

Цитата:
marikcool писал:
а цифры без подложки там и так постандарту)

Отсюда мораль: и вот на чём держится свет сделано красиво в стандарте - не трожь!

__________________

xaerox on Vivino


Отправлено marikcool 01-08-2011 в 17:11:

у нового поколения игроков другие вкусы) надо чтобы все мерцало вылетало, награждалось экспой и обязательно озвучивалось)
так то r_picmip 5 cg_dragun 0 fov 120 и го го)


Отправлено XaeroX 01-08-2011 в 17:19:

marikcool
Ну насчёт "вылетало" - это современные гейм-девелоперы обеспечить в состоянии, тут я за них спокоен.

__________________

xaerox on Vivino


Отправлено thambs 01-08-2011 в 18:35:

> современные гейм-девелоперы

гей-девелоперы


Отправлено XaeroX 01-08-2011 в 18:37:

thambs
Ну я это и имел в виду.

__________________

xaerox on Vivino


Отправлено qpAHToMAS 01-08-2011 в 22:00:

marikcool, a mojno opisanie moda? Chto planiruesh sdelat' s CS v itoge?


Отправлено marikcool 02-08-2011 в 05:52:

вкратце несколько новых режимов, система наград/рангов, дополнительное оружие.
мод уже работает, счас просто идет его улучшение.


Отправлено marikcool 03-08-2011 в 17:24:

кто знает структуру сообщения VGUIMenu ?
как предположительно работает?
завтра также по байтово проверю данные, вроде как там передается только ID меню, меню думаю состоит из рес файлов которое уже прекешировано через какуюто функцию типо как load_spr.
если научится их подключать то можно самим отправлять сообщение и вызывать нужные меню. И на сервере добавить в прекэшлист собственные меню чтобы они сливались клиентам.


Отправлено n00b 04-08-2011 в 06:52:

http://wiki.amxmodx.org/Half-Life_1...Events#VGUIMenu


Отправлено marikcool 04-08-2011 в 16:57:

Цитата:
n00b писал:
http://wiki.amxmodx.org/Half-Life_1...Events#VGUIMenu

посмотрел сообщений всяких закупок и выборка команд, длина всех сообщений строго 7 байт, как теперь свое меню подключить?


Отправлено marikcool 05-08-2011 в 21:49:

сейчас вывожу некоторую информацию на экран через спрайты, как можно для спрайтов отключить сглаживание, как бы врубить фильтрацию GL_NEAREST таким образом:
...
spr_set()
opengl функции
spr_draw()
opengl функции
...


Отправлено marikcool 06-08-2011 в 08:32:

вообщем если спрайты не победить, отпишите, я начну прикручивать tga.
верхняя половина рисунка вывод в игре, ниже спрайты оригинальные в 256 цветах.


Отправлено FiEctro 06-08-2011 в 08:49:

marikcool
Нужно отключаить сглаживание для картинок. Вообще не понимаю таких людей которые элементам меню и хада включают сглаживание.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 06-08-2011 в 08:51:

Цитата:
marikcool писал:
верхняя половина рисунка вывод в игре, ниже спрайты оригинальные в 256 цветах.

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

__________________

xaerox on Vivino


Отправлено marikcool 06-08-2011 в 11:48:

Цитата:
FiEctro писал:
marikcool
Нужно отключаить сглаживание для картинок. Вообще не понимаю таких людей которые элементам меню и хада включают сглаживание.

какой функцией отключать?

Добавлено 06-08-2011 в 15:48:

Цитата:
XaeroX писал:
Верхняя половина - слишком спрайты мелкие спрайты растянуты опенглем в реалтайме, ниже - либо спрайты оригинального размера, либо растянуты в фотошопе, где алгоритм намного качественнее (и медленнее).


верхние и нижние одно и тоже, 192х192

верхнее отображение спрайта как есть в халфе
ниже качество спрайта как есть в просмотрщике.
нужно что бы в халфе отображалось как в просмотрщике 1 в 1)

чего не хватает? такое ощущение что хл жмет все спрайты в игре, и потом выводит такую кашу.


Отправлено IPwnMice 06-08-2011 в 14:24:

Делай TGA, VGUI поддерживает TGA.


Отправлено marikcool 06-08-2011 в 17:44:

Цитата:
IPwnMice писал:
Делай TGA, VGUI поддерживает TGA.

TGA также не расплывается?)


Отправлено PLut 06-08-2011 в 18:13:

marikcool Нет.

__________________
Base Defense on Steam, ModDB


Отправлено marikcool 21-08-2011 в 12:06:

собственно мод на кс 1.6 я уже выпустил.
вот скриншот, в движение выглядит лучше, черепа с небольшой анимацией появления, а экспа плывет вверх потом в правый нижний угол.
в верху счета команд, и условия игры (16 побед и карта меняется)
золотое оружие с 150% урона от дефалта.


Отправлено FiEctro 21-08-2011 в 13:37:

marikcool
Аддитивный спрайт крови не в тему. А так прикольно, ку3 чем то напомнило.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено n00b 21-08-2011 в 16:37:

А hud специально такой огромный, чтоб им любовались а не играли?


Отправлено marikcool 21-08-2011 в 17:30:

Цитата:
n00b писал:
А hud специально такой огромный, чтоб им любовались а не играли?

стандартный масштаб hl hud, разрешение просто 640х480.


Отправлено n00b 21-08-2011 в 17:35:

Цитата:
marikcool писал:
стандартный масштаб hl hud

Так стандартный hl hud прозрачный и без рамочки, ему это простительно.


Отправлено Shapirlic 27-08-2011 в 13:06:

Вопрос - есть у кого модель технологичной снайперки.Какойнить большой пушки типа плазмомёта или лазерки.Нужна огромная технологическая снайперка.Есть ли у кого или видели ли вы в модах такое?


Отправлено fire64 27-08-2011 в 21:24:

Shapirlic, поищи модель BFG.

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


Отправлено Дядя Миша 28-08-2011 в 08:12:

набор пушек в Hal-Life : Weapon Edition.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 28-08-2011 в 20:20:

у меня новый вопрос, буду признателен если поделитесь соображениями.
хочу частично адаптировать модель игрока из cs 1.6 в hl.
соотвественно анимации нацеливания ref_aim и crouch_aim совпадают для glock и mp5, но на деле движение корпуса неработает.
gaitsequence тоже не работает, на моделе проигрывается то что в sequence(не происходит разбивки тела на ноги и туловище).
немогу понять в чем проблемма, и что надо допилить в qc файле либо в самой моделе чтобы заработало.
и каким образом движок понимает где ноги где туловище?, думал что распознается через bone controller, но в qc модельки из кс файле 1 контроллер для губ (либо данные об остальных контролерах защиты в мод часть кс 1.6)


Отправлено PoD-Stas 28-08-2011 в 20:28:

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


Отправлено marikcool 28-08-2011 в 20:42:

насчет скелетов непонял, я подменяю и в mymod/player/player.mdl
т.к как на основе ее создается игрок.
p_ модель же просто атачится к руке


Отправлено PoD-Stas 28-08-2011 в 20:45:

marikcool открой p_ модель и глянь на ее скелет. А скелеты моделей игроков в HL и в CS разные.


Отправлено marikcool 28-08-2011 в 22:56:

p_ модель лежит как надо, и ломик тоже), в крайняк подгоню p_ модели оружия вручную. это не так страшно.

Добавлено 29-08-2011 в 02:56:

порыл инфу, кто ни будь крутил 9-way blending?
но не смотря на блендинг почеу не работает gait анимация?


Отправлено Дядя Миша 29-08-2011 в 09:15:

Весь жуткий секрет с gaitsequence заключается вот в этом коде:

C++ Source Code:
1
for (i = 0; i < m_pStudioHeader->numbones; i++)
2
{
3
  if (strcmp( pbones[ i ].name, "Bip01 Spine") == 0)
4
    break;
5
  memcpy( pos[ i ], pos2[ i ], sizeof( pos[ i ] ));
6
  memcpy( q[ i ], q2[ i ], sizeof( q[ i ] ));
7
}

Имя кости, из которой растут ноги. В CS наверняка по другому называется.

Добавлено 29-08-2011 в 13:15:

Цитата:
marikcool писал:
порыл инфу, кто ни будь крутил 9-way blending?

а чего его крутить? Арранджементовцы давно сорцы выложили.
говорят вроде как разработчики CS поделились с ними.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 29-08-2011 в 10:56:

спасибо за ответ,
вообщем кости Bop01 Spine совпадают в hl и cs, причина в другом.
вставил новый блендинг код, когда врубаю камеру чтобы посмотреть модель получаю зависон, вернул старый код.
заметил что код выложеный вами выше там такой:

C++ Source Code:
1
for ( i = 0; i < m_pStudioHeader->numbones; i++ )
2
{
3
  if ( !strcmp( pbones[i].name, "Bip01 Spine" ) )
4
  {
5
    copy = 0;
6
  }
7
  else if ( !strcmp( pbones[ pbones[i].parent ].name, "Bip01 Pelvis" ) )
8
  {
9
    copy = 1;
10
  }
11
 
12
  if ( copy )
13
  {
14
    memcpy( pos[i], pos2[i], sizeof( pos[i] ) );
15
    memcpy( q[i], q2[i], sizeof( q[i] ) );
16
  }
17
}

Bip01 Spine как обычно делит пополам тело, Bip01 Pelvis находится чуть ниже.

Для теста попробовал модель из Specialist, поменял кость, добавил ACT gait анимации, все заработало без проблем, cs модель нивкакую.
может все таки дело в блендинг анимации? осталось попробовать почистить модель, оставив анимацию для теста, и оставить на ref_aim 2 анимации бленд анимации и проверить.


Отправлено FiEctro 29-08-2011 в 12:01:

Дядя Миша
>> говорят вроде как разработчики CS поделились с ними.

Щас они поделятся, они даже не отвечают на такие письма.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 29-08-2011 в 12:26:

FiEctro
А ты им тоже писал?

__________________

xaerox on Vivino


Отправлено marikcool 29-08-2011 в 13:09:

Спокойно могут ответь, пора сломать такой стереотип, они же тоже люди. мне давным давно John Romero на мое письмо отвечал.


Отправлено Дядя Миша 29-08-2011 в 14:36:

Цитата:
marikcool писал:
мне давным давно John Romero на мое письмо отвечал.

То не показатель. С Ромерой вон и Гоблин фотографировался.
Может он общительный.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 29-08-2011 в 14:48:

XaeroX
Года 4 назада да, писал.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 29-08-2011 в 15:00:

Цитата:
marikcool писал:
пора сломать такой стереотип, они же тоже люди

Почему стереотип?
Ну вот я, например, обычно не отвечаю, если что-то о хлфх спрашивают. Зачем тратить время впустую? Полагаю, они рассуждают так же.

__________________

xaerox on Vivino


Отправлено marikcool 29-08-2011 в 15:03:

Цитата:
Дядя Миша писал:
То не показатель. С Ромерой вон и Гоблин фотографировался.
Может он общительный.

наверно)
не подскажете помоему вопросу? он на прошлой странице, а то оффтоп пошол тут)

Добавлено 29-08-2011 в 19:03:

Цитата:
XaeroX писал:
Почему стереотип?
Ну вот я, например, обычно не отвечаю, если что-то о хлфх спрашивают. Зачем тратить время впустую? Полагаю, они рассуждают так же.

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


Отправлено XaeroX 29-08-2011 в 15:05:

Цитата:
marikcool писал:
помоему если вопрос интересен для обоих сторон и корректно задан то ответят в большинстве случаев.

Как может быть интересен вопрос о том, как сделана та или иная фича, автору фичи? Он же её УЖЕ сделал. И в 99% случаев - забыл как кошмарный сон, занявшись другими фичами.
А вообще почти все вопросы сводятся к "дай исходники".

__________________

xaerox on Vivino


Отправлено marikcool 29-08-2011 в 15:11:

Цитата:
XaeroX писал:
Как может быть интересен вопрос о том, как сделана та или иная фича, автору фичи? Он же её УЖЕ сделал. И в 99% случаев - забыл как кошмарный сон, занявшись другими фичами.
А вообще почти все вопросы сводятся к "дай исходники".

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


Отправлено Дядя Миша 29-08-2011 в 15:33:

Цитата:
marikcool писал:
не подскажете помоему вопросу?

всё что знал - рассказал (с)

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 29-08-2011 в 15:36:

marikcool
Я живо представил себе арранжмодовцев, которые пишут авторам КС дельное предложение - скопипастить что-нибудь откуда-нибудь

__________________

xaerox on Vivino


Отправлено marikcool 29-08-2011 в 15:50:

весело бы было))
насчет блендинга, вот я так понял оригинальная темка от 2004г
http://www.gamedeception.net/archiv...hp?t-5104.html&

Цитата:
Tabris: the 9-way blending source code will be added in the next HL1 SDK, but on the HL-Coders mailing list a VALVe employee released it and the TAE-Mod people put it on their site.


использован в моде http://www.moddb.com/mods/the-absconder-effect

кстати когда гуглю бывают ссылки как раз на майл архив переписки "когото" с Valve.


Отправлено PomanoB 29-08-2011 в 16:47:

Недавно было несколько апдейтов движка халф-лайфа, в которых один программист исправлял баги, так вот он прекрасно отвечал на вопросы, которые ему задавали


Отправлено Ku2zoff 29-08-2011 в 17:00:

marikcool помимо новой модели в models/player/модель/модель.mdl Надо ещё заменить models/player.mdl, иначе будут глюки с анимациями и блендингами.


Отправлено Дядя Миша 29-08-2011 в 17:27:

Цитата:
PomanoB писал:
Недавно было несколько апдейтов движка халф-лайфа, в которых один программист исправлял баги

скажите спасибо дяде Мише с его ксашем
Они внаглую упёрли мои фиксы халфовских багов из ксаша и вставили в GoldSrc. Иначе чем объяснить такую активность? 8 лет наплевать было, а как ксаш вышел - сразу апдейты посыпались.
Цитата:
PomanoB писал:
он прекрасно отвечал на вопросы, которые ему задавали

где почитать вопросы и ответы?
Цитата:
marikcool писал:
кстати когда гуглю бывают ссылки как раз на майл архив переписки "когото" с Valve.

бывают да. Я оттуда узнал о недокументироватых функциях движка на клиенте.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 29-08-2011 в 17:30:

PomanoB
Пруф? Ничего такого не видел.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Government-Man 29-08-2011 в 17:32:

Цитата:
PomanoB писал:
Недавно было несколько апдейтов движка халф-лайфа, в которых один программист исправлял баги, так вот он прекрасно отвечал на вопросы, которые ему задавали


Мыло программиста скинь в приват


Отправлено FiEctro 29-08-2011 в 18:08:

Government-Man
Ты чтоле там тоже ксаш пишешь?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Government-Man 29-08-2011 в 18:18:

FiEctro как ты умудрился сделать такой вывод?


Отправлено Дядя Миша 29-08-2011 в 18:54:

Цитата:
FiEctro писал:
Ты чтоле там тоже ксаш пишешь?

да оперу он пишет!

__________________
My Projects: download page

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

Цитата:

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


Отправлено PomanoB 29-08-2011 в 19:21:

Вот апдейты, автор Alfred Reynolds
http://list.valvesoftware.com/mailm...uly/author.html
http://list.valvesoftware.com/mailm...ust/000527.html

Вот он в гугл плюсе https://plus.google.com/114976070543903100857/posts
Вот в стиме - http://steamcommunity.com/id/alfredr


Отправлено Дядя Миша 29-08-2011 в 20:02:

Цитата:
PomanoB писал:
Вот апдейты, автор Alfred Reynolds

предлагает отправить мыло и пароль.
Ты лучше список исправлений сюда скинь, цитатой

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 29-08-2011 в 23:58:

Вообщем я снова про модель, убрал лишнии блендинги, перекомпилил модель, тело начало делиться и поворачиваться, гэйт анимация также не работает. уже все лишнее из модели выкинул, раставил ACT и порядок анимаций идентично hl модели гордона.
единственное что не могу привести 1 в 1 так это порядок костей.

кс:

C++ Source Code:
1
version 1
2
nodes
3
0 "Bip01" -1
4
1 "Bip01 Pelvis" 0
5
2 "Bip01 Spine" 1
6
3 "Bip01 Spine1" 2
7
4 "Bip01 Spine2" 3
8
5 "Bip01 Spine3" 4
9
6 "Bip01 Neck" 5
10
7 "Bip01 Head" 6
11
8 "Bone01" 7
12
--[cut]--


hl:
C++ Source Code:
1
version 1
2
nodes
3
0 "Bip01" -1
4
1 "Bip01 Pelvis" 0
5
2 "Bip01 L Leg" 1
6
3 "Bip01 L Leg1" 2
7
4 "Bip01 L Foot" 3
8
5 "Bip01 R Leg" 1
9
6 "Bip01 R Leg1" 5
10
7 "Bip01 R Foot" 6
11
8 "Bip01 Spine" 1
12
--[cut]--

Если через кость "Bip01 Spine" идет вращение тела, может быть такое что анимация проигрывается через 9 по счету кость?

Добавлено 30-08-2011 в 02:27:

разобрался, там где пробегаемся по костям стоит на "Bip01 Spine" break, скелет в халфе сделан таким образом что ноги всегда стоят до "Bip01 Spine", таким образом всегда загружаются ноги а остальное срезается, в контре скелет начинается с "копчика" и "Bip01 Spine" стоит в начале тем самым получается что у gaitsequence нет никаких костей для анимации.
как сделаю тест выложу результат.

Добавлено 30-08-2011 в 02:51:

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

Добавлено 30-08-2011 в 02:54:

кстати хороший сайт там где про архив почты
http://www.mail-archive.com/

пишем конкретизированый запрос valve goldsrc etc и можно получить полезную инфу.

Добавлено 30-08-2011 в 03:58:

так еще один вопрос родился, может кто видел серверный античит либо его наработки, а конкретно anti-wallhack по принципу трасировки на видимость игрока игроками и блокировки отсылки состояния энтити клиентам через AddToFullPack.


Отправлено Jimmy C. 30-08-2011 в 04:38:

Цитата:
marikcool писал:
скелет в халфе сделан таким образом что ноги всегда стоят до "Bip01 Spine"

Так вот что я упустил то...

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено PomanoB 30-08-2011 в 06:10:

http://forums.alliedmods.net/showthread.php?p=905038 - вот серверный античит, как раз работает по этому принципу, правда он на AmxmodX

Изменения в движке:

Цитата:

- Added sv_filetransfermaxsize cvar to limit the size of a file a server will try to send to a client, by default 10mbytes.
- Prevented halflife.wad from being downloaded from a server (fixes server hang/stall).

- Changed sv_filetransfermaxsize to 1mbyte by default
- Disallow the dlfile command if the server is configured with a sv_downloadurl

- more input checking on some MSG_X functions

- rolled back previous sv_downloadurl and dlfile changes, added some more checks to prevent inappropriate dlfile calls at other times
- Increased "sv_filetransfermaxsize" back to 10mbytes by default
- Added "sv_allow_dlfile" cvar, set this to 0 to disable using dlfile at all (useful safe valve if getting hit by this attack)
- Allow up to 128 mbyte heap via -heapsize command (up from previous 40mbytes), for some 3rd party games
- Added sv_logsecret support, same implementation as on Source engine
- Rate limit user voice data to one per frame, fixes voice_inputdata exploit. If you run 1000FPS server and still have a problem, stop running a 1000FPS server.

- actually updated the Linux binary properly this time ( was missing previous changes)
- updated steam support binary drop

- removed a debug command that shouldn't have been in the shipped bits

- fixed failing to load steam interfaces on windows (updated steamclient binaries) (win32)
- statically linked libsteam.so to libstdc++ so you don't need to update it (linux)

- fixed sometimes voice stopping during gameplay
- Added "-nobreakpad" command line option to let plugin authors still get old style minidumps if they need it (win32 only)
- Fixed sv_logsecret putting the wrong value in the log header


Отправлено marikcool 30-08-2011 в 07:11:

Цитата:
PomanoB писал:
http://forums.alliedmods.net/showthread.php?p=905038 - вот серверный античит, как раз работает по этому принципу, правда он на AmxmodX

я его метод и описывал, правда на amxx он лагает сильно, когда залетаешь в комнату игроки только через секунду начинают появляться, не очень приятно, здесь то все на хуках сделано поэтому так и выходит, либо кривость прогера)

аналогичный антивалхак есть для Q1 но там помоему сам движок отсекает видимость игрока.


Отправлено n00b 30-08-2011 в 10:33:

Цитата:
marikcool писал:
все на хуках сделано поэтому так и выходит

Да нет, во всем виноват пинг.


Отправлено marikcool 30-08-2011 в 10:58:

Цитата:
n00b писал:
Да нет, во всем виноват пинг.

клиентский предикт виноват думаю, игрок локально заглянул за угол, как данные ушли(время пинга), потом идет трасировка, потом прием данных, и вражина появляется из воздуха, как бы сделать чтобы и с ним небыло такого косяка, трасировать не точку игрока а грани параллелепипеда, размеры которого брать по количеству юнитов на которые он может сдвинуться со скоростью sv_maxspeed или текущей скоростью за время пинга игрока.


Отправлено n00b 30-08-2011 в 11:07:

Цитата:
marikcool писал:
размеры которого брать по количеству юнитов на которые он может сдвинуться со скоростью sv_maxspeed или текущей скоростью за время пинга игрока.

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


Отправлено Дядя Миша 30-08-2011 в 11:25:

Вообще говоря мир на клиенте рисуется независимо от положения на сервере. То есть если мы, используя предиктинг, продвинулись дальше реального положения на сервере, то мир нарисуется правильно.
Чего не скажешь об энтитях.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 30-08-2011 в 11:29:

будем значит предугадывать на сколько игрок сможет сдвинуться)


Отправлено PomanoB 30-08-2011 в 13:17:

Не знаю, мб ты старую версию тестировал, у меня такого нету, прекрасно работает версия 4 вроде, никто не жаловался


Отправлено marikcool 30-08-2011 в 13:23:

скинь адресок побегаю посмотрю.


Отправлено PomanoB 30-08-2011 в 14:45:

Отправил в ЛС


Отправлено PunkPaToB 30-08-2011 в 15:19:

а чего адресок , я чтото прослушал.

__________________
А что нет?


Отправлено PomanoB 30-08-2011 в 16:39:

Адресок сервера с AmxModX плагином Block Wallhack


Отправлено marikcool 30-08-2011 в 19:54:

хочу сделать прицел через fillrgba, отрисовку сунуть в hud_redraw ?
также хоче фпс независимую, дату с милисекундами или аналог через какую функцию лучше получить?


Отправлено Дядя Миша 30-08-2011 в 20:11:

marikcool код FPS можно из ксаша утянуть, время и дату даёт функция time.
Тоже можно в ксаше подсмотреть функцию Q_timestamp.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 30-08-2011 в 20:18:

нужен наверно microtime()
по секундам сужение прицела будет лагуче)


Отправлено Shapirlic 31-08-2011 в 07:21:

Люди, не знаете ли вы,есть ли такие добрые админы игровых серверов, которые бы безвозмездно выделили бы мне слот под тест сервер моего мода? )


Отправлено Дядя Миша 31-08-2011 в 07:44:

Цитата:
marikcool писал:
нужен наверно microtime()
по секундам сужение прицела будет лагуче)

тебе время для чего нужно??? дату на экран выводить?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 31-08-2011 в 08:57:

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

Добавлено 31-08-2011 в 12:57:

Цитата:
Shapirlic писал:

если мне мод понравится могу поставить у себя погоняешь.


Отправлено Shapirlic 31-08-2011 в 08:59:

Цитата:
marikcool писал:
если мне мод понравится могу поставить у себя погоняешь.


Тогда пожди с пару деньков - я стабильную версию попытаюсь сделать и выложу.А то то что там в теме - старьё


Отправлено marikcool 31-08-2011 в 09:12:

Цитата:
Shapirlic писал:

ок


Отправлено Дядя Миша 31-08-2011 в 09:24:

marikcool для этого есть GetClientTime.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 31-08-2011 в 09:37:

Вопрос - на стим версии халвы такая весчь - в окне выбора карт при создании сетевой игры отображаются все карты - и сингл и ДМ.в WON в либлист пишешь mpentity "info_player_deathmatch" и всё а в стим версии как отсечь лишние карты?


Отправлено marikcool 31-08-2011 в 10:07:

у меня такой проблемы нет, в папке valve в стим версии минимум файлов, все берется с gcf архива. если там есть папка мапс с sp картами грохни ее.


Отправлено Shapirlic 31-08-2011 в 10:08:

и ещё - вопрос ко всем - вы не против если я исполюзую имена участников форума как имена для ботов? Что можно было в оффлайне в ботом Xaerox или Дядя Миша поиграть?


Отправлено Дядя Миша 31-08-2011 в 10:34:

ужосы какие...

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 31-08-2011 в 10:36:

Дядя Миша - так как ты относишься? Положительно или отрицательно? ))


Отправлено PunkPaToB 31-08-2011 в 11:13:

marikcool
А как мод называется то , или секрет?

__________________
А что нет?


Отправлено Shapirlic 31-08-2011 в 11:16:

http://hlfx.ru/forum/showthread.php?s=&threadid=2816

И как вам новое оружие?
http://www.youtube.com/ShapirlicPrime
Верхний файл - Hopwire


Отправлено marikcool 31-08-2011 в 11:29:

Цитата:
Shapirlic писал:
http://hlfx.ru/forum/showthread.php?s=&threadid=2816

И как вам новое оружие?
http://www.youtube.com/ShapirlicPrime
Верхний файл - Hopwire

суперски

Добавлено 31-08-2011 в 15:29:

Цитата:
PunkPaToB писал:
marikcool
А как мод называется то , или секрет?

мой позже выложу.


Отправлено PunkPaToB 31-08-2011 в 12:01:

Shapirlic
У тебя типо гс гаррисмода чтоле?)

__________________
А что нет?


Отправлено Shapirlic 31-08-2011 в 12:02:

Эту штуку я в ХЛ2 - бэта откопал.И создатели Garry's mod от туда же вытянули )


Отправлено Дядя Миша 31-08-2011 в 13:34:

Shapirlic та мне без разницы. Вон у Крейзи Рашшена у всех ботов имена на околобумовскую тематику:
Возиться
Буум
Анджела
Пельмениевая нить
Прокрур
и так далее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 31-08-2011 в 17:13:

нашол встроенный браузер лан серверов
врубается командой togglebrowser , почему в конфиге не фигурирует, и вообще первый раз такое увидел))


Отправлено Дядя Миша 31-08-2011 в 18:23:

Цитата:
marikcool писал:
почему в конфиге не фигурирует, и вообще первый раз такое увидел))

на пиратках эта хреновина вешает халфу. Кстати она в клиентке написана, можно её подшаманить на свой вкус.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 01-09-2011 в 06:10:

нужно вызывать таск функции относительно некоторых эвентов, некоторые таски будут циклические с периодичностью N секунд.

от какого минимального класса мне унаследоваться с целью использования SetThink?
или придется ентити все таки создать?


Отправлено Дядя Миша 01-09-2011 в 07:25:

Цитата:
marikcool писал:
от какого минимального класса мне унаследоваться с целью использования SetThink?

SetThink - это часть серверной физики для эдиктов.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 01-09-2011 в 07:50:

а все нашол куда это воткнуть))
в void CHalfLifeMultiplay :: Think ( void )


Отправлено marikcool 03-09-2011 в 13:48:

каким образом можно получить индекс клиента из edict_t *pEntity?
как например можно пробежаться по всем подключеным клиентам?


Отправлено Shapirlic 03-09-2011 в 13:53:

edict_t *pEdict = g_engfuncs.pfnPEntityOfEntIndex( 1 );
CBaseEntity *pEntity = NULL;


int i = 1;
for ( i = 1; i <= gpGlobals->maxClients; i++, pEdict++ )
{

if ( !pEdict )
break;
if ( pEdict->free )
continue;


pEntity = CBaseEntity::Instance(pEdict); //Переход от эдикта к энтите если нужно )
if ( !pEntity )
continue;

//А тут пишешь что хотел )
}


Отправлено marikcool 03-09-2011 в 14:04:

спасибо еще для такого случая есть ENTINDEX(pEntity)


Отправлено Shapirlic 03-09-2011 в 14:06:

Есть )


Отправлено Дядя Миша 03-09-2011 в 14:08:

надо это выбить золотыми буквами на мониторе у каждого кодера под халфу:
Получить доступ к эдикту из энтварс:
pvars = VARS( ed ) (аналогично &ed->v )
доступ к базовому классу из эдикта:
pEntity = CBaseEntity::Instance( ed ) (аналогично ed->pvPrivateData)
доступ к эдикту из энтварс (upcast!!!)
ed = ENT( pev ) (аналогично pev->pContainingEntity)
К слову сказать кармак не брезговал хардкорным апкастом, по типу

C++ Source Code:
#define STRUCT_FROM_LINK( l, t, m )	((t *)((byte *)l - (int)&(((t *)0)->m)))

Но так делать конечно не рекомендуется.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-09-2011 в 14:09:

Твой пост нужно скопировать и в виде стикеров расклеить по комнате чтоб быстрее запомнить ))


Отправлено marikcool 04-09-2011 в 01:03:

немогу разобраться чтобы выбирало оружие с 0 патронами, поковырял ammo.cpp теперь оружие выбирает, когда активируем выбор отрисовывает патроны выбраного оружия и через секунду снова меняет на предыдущее.
куда глянуть?

Добавлено 04-09-2011 в 05:03:

и как на свою модельку игрока заставить применяться цвета (hue offset которые)?
дернул палитру цветов с модельки гордона , применил к своей моделе, цвета не меняются=\ или название текстуры не устроило?


Отправлено Shapirlic 04-09-2011 в 06:33:

Расскажи подробнее про оружие с 0 патронами? Оно как лом - вообще без патронов,или какое-то хитрое?


Отправлено Ku2zoff 04-09-2011 в 06:43:

marikcool поищи флаг SELECTIONEMPTY в weapons.h вроде. И добавь его в GetItemInfo.


Отправлено marikcool 04-09-2011 в 10:51:

хотел узнать такие энтити как info_target или например info_player_start в общий массив энтити объектов попадают?
у меня просто на карте 192 инфо таргетов, с этих точек я единожды беру только некоторые данные с параметров ну и соотвественно координаты, стоит от них избавиться(удалить после прочитки координат) чтобы разгрузить объекты?


Отправлено Shapirlic 04-09-2011 в 10:55:

ПОпадают.Если в дальнейшем не нужны - удаляй


Отправлено Дядя Миша 04-09-2011 в 11:11:

Цитата:
marikcool писал:
хотел узнать такие энтити как info_target или например info_player_start в общий массив энтити объектов попадают?

попадают конечно. Это такой же полноценный объект как монстр или дверь. Вот траффик они не жрут, это да.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 04-09-2011 в 12:39:

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


Отправлено Дядя Миша 04-09-2011 в 13:43:

Цитата:
marikcool писал:
по изменению состояния

да.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 05-09-2011 в 07:30:

всем спасибо, с оружием поправил надо было добавить candeploy и вернуть true.


Отправлено marikcool 05-09-2011 в 14:31:

может кто встречал моды где есть тематика разрушеных домов типо как на картинке? желательно постсоветские, максимум что встречал карта от buzzerа, ну и карты для кс но там дома целые.
интересует как сделаны и на сколько хорошо получилось), также ищу на эту тему модели/спрайты домов для фона карты.
также кто видел хорошии текстуры либо хороший архив фоток где можно сделать текстуры сообщите.
с cgtextures рубрику damaged дернул.


Отправлено Дядя Миша 05-09-2011 в 14:57:

marikcool по-моему это не разрушенный, а недостроенный дом.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 05-09-2011 в 15:21:

ну вот и ищу разрушеные на голдсорсе как реализованы)


Отправлено -=DrTressi=- 05-09-2011 в 17:28:

marikcool Как-как? Пальчиками надо работать. Смотри Stalker, делай скрины и по скринам пили. А вообщ на КСМ кажется Zet17, если я не ошибаюсь, делал на ГС затопленные разрушенные дома и довольно таки чётко. Если тебе и вправду нужно - найдёшь его там.

__________________
How interesting, just look at that!
© Scientist


Отправлено thambs 05-09-2011 в 17:40:

>также кто видел хорошии текстуры либо хороший архив фоток где можно сделать текстуры сообщите.

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


Отправлено marikcool 05-09-2011 в 19:09:

у меня в городе все остроили)) нужно км 50-60 отъехать чтобы нафотать)
несколько гигов только на файлообмен любого типа, если несложно.

Добавлено 05-09-2011 в 23:09:

Цитата:
-=DrTressi=- писал:

в сталкере двиг другой, нужно имено goldsrc) с более точной детализацией я пробовал как у buzzer на карте чечня, w_poly просто бешеный даже null текстуры не спасут.


Отправлено FiEctro 05-09-2011 в 19:27:

marikcool
Ищи в гугле фотографии Сев. Осетии, Ливии, Афгана . Там такие здания наверняка не редкость.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено alex8ball 05-09-2011 в 19:43:

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

Добавлено 05-09-2011 в 23:43:

описался... с клипом во всех вариантах


Отправлено marikcool 05-09-2011 в 19:57:

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


Отправлено marikcool 13-09-2011 в 17:13:

помогите более врено организовать код,
хочу сделать чтобы при наводке на энтити показывало healthbar энтити
как более вернее сделать? хочу полностью сделать на клиенте, куда лучше всего воткнуть проверку что в прицеле?

пока только надумал что лучше всего впихнуть код в hud_redraw и в нем же делать traceline на то что в прицеле + полоску жизней выводить через fillRGBA, не накладно ли?

в cs 1.6 когда игрок попадает в прицел другого, проверка это происходит на сервере, а инфа начинает отправляться через сообщения.


Отправлено XaeroX 13-09-2011 в 17:16:

Цитата:
marikcool писал:
не накладно ли?

По сравнению с чем? С "не выводить вообще"? Накладно.

__________________

xaerox on Vivino


Отправлено marikcool 13-09-2011 в 17:23:

Цитата:
XaeroX писал:
По сравнению с чем? С "не выводить вообще"? Накладно.

по сравнению с более грамотным методом который я не знаю)
и сколько это может скушать фпс?

можно ли дернуть setinfo данные игрока в функции client_connect ?


Отправлено XaeroX 13-09-2011 в 18:26:

Цитата:
marikcool писал:
и сколько это может скушать фпс?

На какой видеокарте, какой процессоре? Что за вопросы о средней температуре по больнице?

__________________

xaerox on Vivino


Отправлено marikcool 13-09-2011 в 18:59:

Цитата:
XaeroX писал:
На какой видеокарте, какой процессоре? Что за вопросы о средней температуре по больнице?

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


Отправлено PomanoB 13-09-2011 в 19:21:

Цитата:
marikcool писал:
можно ли дернуть setinfo данные игрока в функции client_connect ?


Можно дёрнуть в SV_ClientConnect, по крайней мере из AmxModX с помощью модуля Orpheu у меня получилось


Отправлено Дядя Миша 13-09-2011 в 19:54:

Цитата:
marikcool писал:
да интересуюсь как сделать правильно, нехочу чтобы в конце из за какойто функции фпс уменьшился в несколько раз.

да не напишешь ты такую функцию, из-за которой фпс уменьшится в несколько раз, не переживай.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 13-09-2011 в 20:54:

Цитата:
PomanoB писал:
Можно дёрнуть в SV_ClientConnect, по крайней мере из AmxModX с помощью модуля Orpheu у меня получилось

на amxx я делал через query_client_cvar в хуке clientconnect.

мне больше интересны setinfo данные, в amxx их можно получить через get_user_info.

я просто делаю аутенфикацию, и покачто заиспользовал строку name, т.к при коннекте она передается, но там ограничение в 32 символа.

Добавлено 14-09-2011 в 00:54:

немогу найти реализацию клиентского traceline, есть только EV_PlayerTrace но мне надо получать энтити монстров на которых я мечусь, на клиенте не реализовать?


Отправлено PomanoB 14-09-2011 в 02:23:

http://amxmodx.su/forum/viewtopic.php?p=12943#p12943
Вот пример получения setinfo и авторизации админа по паролю и нику

gEngfuncs.PM_TraceLine не подходит разве ?


Отправлено marikcool 14-09-2011 в 05:53:

Цитата:
PomanoB писал:
http://amxmodx.su/forum/viewtopic.php?p=12943#p12943
Вот пример получения setinfo и авторизации админа по паролю и нику

gEngfuncs.PM_TraceLine не подходит разве ?

спасибо попробую,
на счет OrpheuRegisterHook(OrpheuGetFunction("SV_ConnectClient"),"OnSV_ConnectClient")
он же по сигнатуре вешает хук, а значит через HLSDK он недоступен.

пока что я использую
qboolean (*pfnClientConnect) ( edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[ 128 ] );

тут ip + поле ника на 32 символа.


Отправлено Дядя Миша 14-09-2011 в 08:05:

Цитата:
marikcool писал:
немогу найти реализацию клиентского traceline, есть только EV_PlayerTrace но мне надо получать энтити монстров на которых я мечусь, на клиенте не реализовать?

ну и юзай EV_PlayerTrace, чем она тебя не устраивает?

__________________
My Projects: download page

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

Цитата:

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


Отправлено PomanoB 14-09-2011 в 13:05:

Цитата:
marikcool писал:
он же по сигнатуре вешает хук, а значит через HLSDK он недоступен.

Ну уж если модуль для AmxModX может рыться в памяти, что мешает это сделать серверной длл'ке


Отправлено marikcool 18-09-2011 в 16:04:

спасибо попробую.
кто может подсказать чем объясняется такой баг.
если ты один на сервере, и поставить бомбу, и при взрыве бомбы встать как на скрине то есть на двух приломляющихся плоскостях то подъемных денег дадут в два раза больше, то есть 3500 х 2, если же просто умереть или выжить дадут 3500.


Отправлено Дядя Миша 18-09-2011 в 16:14:

Цитата:
marikcool писал:
и при взрыве бомбы встать как на скрине то есть на двух приломляющихся плоскостях то подъемных денег дадут в два раза больше, то есть 3500 х 2

это из серии "если пройти Тайны Океана, то в конце покажут мультег"

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 18-09-2011 в 23:16:

немогу понять, зачем нужен этот код и где он используется?:

C++ Source Code:
//Stores all our ammo info, so the client side weapons can use them.
player.ammo_9mm = (int)from->client.vuser1[0];
...

просто добавил свой тип патронов, и не стал их зашивать в эти переменые и так все работает, да и место там кончилось нужно структуру расширять.
бэкпак патронов и так посылается через ammoX.


Отправлено -=DrTressi=- 19-09-2011 в 08:36:

marikcool Давно слышал об этом баге, но чота так и не дошли руки. Тут ворпосы есть:

1)Есть ли такие места на других картах?,
2)Можно взять исходник и посмотреть нет ли на этом месте чего.
3)Если нет - попытаться понять почему получается когда ты один.
4)Посмотреть код бомбы из исходников какой нить кс беты. Либо у Hawk0044 спросить, он делает гремучую смесь кс и пб. Наверняка знает как бомба взрывается.
5)И если нихрена не поможет - попробовать выдернуть из исходника это место, скомпилировать отдельно и затестить.

Если сделать всё вышеуказанное - поди чо нить интересненькое можно найти))

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 19-09-2011 в 08:45:

Цитата:
marikcool писал:
немогу понять, зачем нужен этот код и где он используется?:

попробуй сунуть комент в гугль-переводчик.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 19-09-2011 в 11:48:

Цитата:
-=DrTressi=- писал:
marikcool Давно слышал об этом баге, но чота так и не дошли руки. Тут ворпосы есть:

1)Есть ли такие места на других картах?,
2)Можно взять исходник и посмотреть нет ли на этом месте чего.
3)Если нет - попытаться понять почему получается когда ты один.
4)Посмотреть код бомбы из исходников какой нить кс беты. Либо у Hawk0044 спросить, он делает гремучую смесь кс и пб. Наверняка знает как бомба взрывается.
5)И если нихрена не поможет - попробовать выдернуть из исходника это место, скомпилировать отдельно и затестить.

Если сделать всё вышеуказанное - поди чо нить интересненькое можно найти))

1) на любой карте где есть приломляющие плоскости.
2) ничего нет)
3) думаю цикл пробегается 2 раза, и дает двойное начисление)
4) нету не одних исходников контры только отреверсеные.
5) реверсом, куча времени в пустую)

Добавлено 19-09-2011 в 15:48:

Цитата:
Дядя Миша писал:
попробуй сунуть комент в гугль-переводчик.

так на практике это нигде не используется, для мододелов набудущие оставили?


Отправлено Дядя Миша 19-09-2011 в 12:30:

Цитата:
marikcool писал:
так на практике это нигде не используется, для мододелов набудущие оставили?

а ничего что оружия к клиентке линкуются? и юзают ЧСХ те же самые переменные, что и на сервере?
не задумывался об этом, не?
И вот это уродство с симуляцией g_engfuncs в hl_weapons.cpp тоже ни на какие мысли не наводит?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 19-09-2011 в 17:07:

теперь понятно.

Добавлено 19-09-2011 в 21:07:

может у кого завалялся или есть ссылка, на минимальный код загрузка и отрисовка tga спрайтов через opengl, так же минимальный код загрузки шрифтов через файлы ttf, и вывод шрифта со сглаживанием, freetype не предлагать.

можно ли заэмулировать сглаживание просто сдвигая шрифт по 1 пикселю в разные стороны с 50% альфой например?


Отправлено marikcool 20-09-2011 в 20:05:

мне тут записали видос с моего хака для кс 1.6
кто желает посмотреть: http://www.youtube.com/watch?v=2fyX6P-gxPg


Отправлено FiEctro 20-09-2011 в 20:19:

marikcool
А в чем собсно состоит хак?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено marikcool 20-09-2011 в 20:33:

Цитата:
FiEctro писал:
marikcool
А в чем собсно состоит хак?

на клиенте отображение экспы+наград при убийстве и черепа,
быстрая панелька с персональной инфой, новый выбор команд и buymenu.
на сервере система рангов/левелов, заработок эксп + золотые стволы с большим уроном, (денежная система и раундовый закуп отключены)
+подсчет статистики и заработок достижений (типо ачивменты/трофеи . это уже на сайте смотрится)


Отправлено Дядя Миша 20-09-2011 в 20:38:

Цитата:
marikcool писал:
на минимальный код загрузка и отрисовка tga спрайтов через opengl

а что такое tga-спрайты
Цитата:
marikcool писал:
так же минимальный код загрузки шрифтов через файлы ttf, и вывод шрифта со сглаживанием, freetype не предлагать.

ну в хл2бета был код для загрузки ttf-шрифтов. В районе vguimatsurface.
Цитата:
marikcool писал:
можно ли заэмулировать сглаживание просто сдвигая шрифт по 1 пикселю в разные стороны с 50% альфой например?

можно. Только это называется разблюривание.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 20-09-2011 в 21:19:

спасибо поковыряю.

Цитата:
Дядя Миша писал:
а что такое tga-спрайты

просто картинки в tga, и вывод через opengl.


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

marikcool ну и? Ты не умеешь грузить tga?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 21-09-2011 в 07:43:

Цитата:
Дядя Миша писал:
marikcool ну и? Ты не умеешь грузить tga?

неумею, хотел рабочий минимальный код.


Отправлено Дядя Миша 21-09-2011 в 09:22:

возьми из уроков NeHe минимальный рабочий код.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 21-09-2011 в 09:26:

Цитата:
marikcool писал:
может у кого завалялся или есть ссылка, на минимальный код загрузка и отрисовка tga спрайтов через opengl, так же минимальный код загрузки шрифтов через файлы ttf, и вывод шрифта со сглаживанием, freetype не предлагать.

И тем не менее - таки FreeType.

__________________

xaerox on Vivino


Отправлено marikcool 21-09-2011 в 14:15:

искал тутор про туман, туман заработал но он перекрывает небо, как сделать чтобы небо после тумана рендерилось?


Отправлено Дядя Миша 21-09-2011 в 15:00:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 21-09-2011 в 17:10:

спасибо, заглянул в спирит разобрался)


Отправлено marikcool 22-09-2011 в 11:51:

так туман все равно не работает.
в спирите после того как орисовали картинку (при этом отрубаем ствол и сохраняем индекс ствола), ставится pparams->nextView = 1
далее должна идти отрисовка неба которая обрывает процедуру return'ом, прежде времено сбросив nextView.
if (pparams->nextView == 1)
{

код

return;
}

когда я просто для теста решил посмотреть что рисует nextview, он у меня рисовал мир с позиции (0,0,0)

я так понял мне надо создать ent_sky и поместить его в коробочку со скай текстурами, чтобы с этой позиции отрисовать небо без мира??
счас буду пробовать, или я чтото упустил?

Добавлено 22-09-2011 в 15:51:

это вообще какойто 3дскайбокс оказался.
все таки так и не понял как отрисовать туман а потом небо=/


Отправлено Дядя Миша 22-09-2011 в 12:37:

Цитата:
marikcool писал:
все таки так и не понял как отрисовать туман а потом небо=/

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 22-09-2011 в 12:43:

marikcool
Ты чтоль контре клиентку подменил ?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено marikcool 22-09-2011 в 13:12:

Цитата:
Дядя Миша писал:
А из клиентки мы небо не рисуем и следовательно отключить ничего не можем.

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

Добавлено 22-09-2011 в 17:12:

Цитата:
FiEctro писал:
marikcool
Ты чтоль контре клиентку подменил ?

неа, простой перехват.


Отправлено Дядя Миша 22-09-2011 в 13:59:

Цитата:
marikcool писал:
контра же умеет рисовать небо после тумана, а значит реализация возможна.

в контре и интерфейс недокументированный имеется. Там на клиентке минимум 20 недокументированных функций неясного назначения.
В том числе и те, которые управляют рендером.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 22-09-2011 в 14:13:

Цитата:
Дядя Миша писал:
в контре и интерфейс недокументированный имеется. Там на клиентке минимум 20 недокументированных функций неясного назначения.
В том числе и те, которые управляют рендером.

плохо дело,
можно пойти варварским методом hook glBegin и glClear, и там дисбалить fog на время отрисовки неба.


Отправлено Дядя Миша 22-09-2011 в 14:23:

marikcool а glClear тут каким боком? Небо рисуется после мира, а не перед ним.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 22-09-2011 в 14:28:

Цитата:
Дядя Миша писал:
marikcool а glClear тут каким боком? Небо рисуется после мира, а не перед ним.

на читерах ее хукают )
если определить порядок вызовов что зачем рисуется из клиентки, и включать и выключать фог?


Отправлено Дядя Миша 22-09-2011 в 15:26:

проще всего определить начало отрисовки неба хукнув glBindTexture и там сделать проверку на волшебные индексы 5001 - 5006.
Выключить туман, завести какую-либо переменную и поставить её в 1.
Конец отрисовки ловить в glEnd с условием что наша переменная равна один. Тогда ставим её в ноль, и включаем туман обратно.
Как-то так.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 23-09-2011 в 10:36:

впринципе такой хук много не съест, нужно попробовать.
пока что выглядит вот так:


Отправлено Дядя Миша 23-09-2011 в 10:58:

Цитата:
marikcool писал:
впринципе такой хук много не съест

да что там у тебя постоянно должно съесть я понять не могу?
такое ощущение что ты в рандомных местах напихал
for( i = 0; i < 10000; i++ );
и теперь смотришь как упала производительность.

__________________
My Projects: download page

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

Цитата:

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


Отправлено PLut 23-09-2011 в 11:27:

marikcool А классно выглядит

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 23-09-2011 в 13:06:

Цитата:
PLut писал:
А классно выглядит

чем-то ранние скрины поранои напоминает. Там тоже были такие руки и сплошной туман.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 26-09-2011 в 22:36:

Возник вопрос, нужно переслать жизни энтити зомби, чтобы на клиенте их получать через ent->curstate.health, пробовал в AddToFullPack, но все равно 0.


Отправлено Дядя Миша 27-09-2011 в 08:27:

Цитата:
marikcool писал:
пробовал в AddToFullPack, но все равно 0.

В delta.lst раздел entity_state_t gamedll Entity_Encode
и там добавишь новое поле
DEFINE_DELTA( health, DT_SIGNED | DT_FLOAT, 10, 1.0 ),

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 27-09-2011 в 09:19:

Цитата:
Дядя Миша писал:
DEFINE_DELTA

спасибо


Отправлено PunkPaToB 01-10-2011 в 07:34:

marikcool
Ну когда же хоть выложишь описание мода , жутко интересно.
Сначала какойто мультиплеерный шутер , а щас зомби и туман
Интересно что ты там воротишь

__________________
А что нет?


Отправлено marikcool 01-10-2011 в 07:59:

Цитата:
PunkPaToB писал:
marikcool
Ну когда же хоть выложишь описание мода , жутко интересно.
Сначала какойто мультиплеерный шутер , а щас зомби и туман
Интересно что ты там воротишь


скоро как закрытый тест будет выложу описание.
мод мультиплаерный (модели/физика/стрельба близко к cs 1.6).


Отправлено PunkPaToB 01-10-2011 в 08:12:

marikcool
nice!
А зомби в МП будут ботами , или игроками?

__________________
А что нет?


Отправлено marikcool 01-10-2011 в 08:14:

Цитата:
PunkPaToB писал:
marikcool
nice!
А зомби в МП будут ботами , или игроками?

монстры халфовские, люди отыгрывать будут только людей)


Отправлено Дядя Миша 01-10-2011 в 08:46:

left4dead для людей с замедленной реакцией
в первохалфе зонбе-то вяаалые.

__________________
My Projects: download page

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

Цитата:

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


Отправлено PunkPaToB 01-10-2011 в 09:12:

marikcool
( и правда вялый лефт фо дед будет
Ониж пока замахнутся их можна 2 раза с монтировки укакошить.
А об огнестрельном оружии я молчу

Научи их какойнибудь дрянью кидаться которая отравляет , и в том же духе

__________________
А что нет?


Отправлено XaeroX 01-10-2011 в 09:26:

Дык им надо фпс в секвенциях увеличить, как в AoM

__________________

xaerox on Vivino


Отправлено fire64 01-10-2011 в 09:47:

Да у зомби из Half-Life AI тупой, их убивать не интересно будет.

Советую глянуть мод Brain Bread

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


Отправлено XaeroX 01-10-2011 в 09:48:

Ну Brain Bread это классика... шикарный мод, конечно.

__________________

xaerox on Vivino


Отправлено PunkPaToB 01-10-2011 в 09:58:

Хотя можно акцент сделать на некой ограниченности в боеприпасах.
Как скажем в ЗомбиПаник.
А не так , залез на склад на собирал полные карманы пуль и стоиш отстреливаешся

__________________
А что нет?


Отправлено marikcool 01-10-2011 в 10:17:

Цитата:
PunkPaToB писал:
marikcool
( и правда вялый лефт фо дед будет
Ониж пока замахнутся их можна 2 раза с монтировки укакошить.
А об огнестрельном оружии я молчу

Научи их какойнибудь дрянью кидаться которая отравляет , и в том же духе

мочилово зобмаков это не базовый гемплей в моде.
притом что дамадж/жизни можно калибровать и слабый моб будет очень опасным.


Отправлено PunkPaToB 01-10-2011 в 10:23:

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

Хотя ты и сам напридумывать много чего можешь.

__________________
А что нет?


Отправлено marikcool 01-10-2011 в 11:01:

у меня уже все расписано что да как)

может кто поможет в чем ошибка, уже пол дня потратил.
копипасчу например класс item_healthkit

незабываю про
LINK_ENTITY_TO_CLASS( item_healthkit2, CHealthKit2 );

ну и про прекаш в w_precache

респавню энтитю

C++ Source Code:
CBaseEntity *pEntity = NULL;
pEntity = CBaseEntity::Create( "item_healthkit2", pev->origin, pev->angles );


получаю NULL Ent in Create!

то есть в функции
C++ Source Code:
CBaseEntity * CBaseEntity::Create( char *szName, const Vector &vecOrigin, const Vector &vecAngles, edict_t *pentOwner )


с оригинальными итемами все ок, поиск делаю по исходникам больше нигде не упоминается оригинальный item_healthkit, в чем может быть проблемма?


Отправлено Дядя Миша 01-10-2011 в 11:03:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 01-10-2011 в 12:32:

закопипастил все с нуля счас, все перепроверил, перестроил проект.
такая же проблемма, может метамод/дпрото срезает?
счас попробую на стиме.

Добавлено 01-10-2011 в 16:32:

так либо у меня глюки какието.
взял оригинальный item_healthkit переименовал везде в проекте на item_healthkitx,
пытаемся спавнить item_healthkitx получаем NULL Ent in Create!, соотсвественно любой необъявленный предмет в стиле item_asdsadas дает аналогичную ошибку, пробуем тут же спавнить item_healthkit, хотя в проекте от него не осталось и следа, получаем вылет у hlds.

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


Отправлено Shapirlic 01-10-2011 в 12:38:

У тебя боты не подключены к игре? Если подключены например переделаный HPB_bot то в linkfunc.cpp нужно соотв строчку добавить о новой энтите


Отправлено marikcool 01-10-2011 в 12:39:

проблемма решена, все дело оказалось в метамоде.
в нем объвленны все энтити мода, и если класснеймы не совпадают он просто не дает создать данный энтити.


Отправлено Дядя Миша 01-10-2011 в 13:01:

Цитата:
marikcool писал:
проблемма решена, все дело оказалось в метамоде.

ЧСХ в исходном описании проблемы про метамод - ни слова

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 01-10-2011 в 13:28:

Цитата:
Дядя Миша писал:
ЧСХ в исходном описании проблемы про метамод - ни слова

да не думал что грабли сдесь могут вылезсти)


Отправлено Дядя Миша 01-10-2011 в 13:54:

Цитата:
marikcool писал:
да не думал что грабли сдесь могут вылезсти)

Звонок в техподдержку:
- Алло, у меня не работает компьютер!
- а что он пишет?
- Пишет "вставьте дискету, вставьте дискету".
- ну а вы вставляли?
- Да нет, как-то не догадался.

__________________
My Projects: download page

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

Цитата:

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


Отправлено PunkPaToB 01-10-2011 в 14:32:

Дядя Миша
ДМ ты случайно с Трахтенбергом не знаком?
А то на каждый случай , не бородатый анекот в тему у тебя имеется

__________________
А что нет?


Отправлено marikcool 01-10-2011 в 15:20:

скомпилил под vc 6.0 метамод, добавил свой мод и энтити)
все работает отлично, ддл получился в 2 раза меньше размера чем с сайта)


Отправлено Дядя Миша 01-10-2011 в 15:31:

PunkPaToB этот анекдот настолько бородатый, что уже кажется свежим =)

Добавлено 01-10-2011 в 19:31:

ЗЫ. с покойными не общаюсь

__________________
My Projects: download page

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

Цитата:

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


Отправлено PunkPaToB 01-10-2011 в 15:33:

marikcool
А вот на одном из скриншотов видел давали опыт за убийство,
можеш спойлернуть , на что его тратить можно будет?

__________________
А что нет?


Отправлено marikcool 01-10-2011 в 16:38:

то с другого мода, но тут тоже дают опыт для левела персонажа.


Отправлено marikcool 01-10-2011 в 23:33:

я тут недоработку нашол в cs 1.6
все оружие сделано на левую руку(gooseman левша) а вот нож на правую,
незнаю по каким причинам модель тупо не флипанули, а написали проверку что если нож при cl_righthand 1 то его не зеркалить, отсюда глюк с морганием оружия на левой стороне экрана.
Сама проверка стоит в коде клиентского оружия, если набрать cl_lw 0, мы станем левшой и правшой для ножа) естественно в демозаписях это мы всегда наблюдаем.

ну и еще один баг или фича, p_ модель для дымовой гранаты она же p_ модель для флэш гранаты, а вот he гранату покрасить не поленились)


Отправлено PunkPaToB 02-10-2011 в 05:04:

marikcool
Собственно я и спросил , на что же тратить можно?

__________________
А что нет?


Отправлено qpAHToMAS 02-10-2011 в 05:52:

marikcool, я бы на твоем месте написал об этом VALVe.


Отправлено Chaiker 02-10-2011 в 06:30:

Цитата:
PunkPaToB писал:
marikcool
Собственно я и спросил , на что же тратить можно?

За определенное набранное количество EXP ты получаешь уровень, открывая более мощное оружие и получая +20HP.


Отправлено Дядя Миша 02-10-2011 в 09:14:

Вот так один левша сумел насолить тысячам модмейкеров по всему миру.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 02-10-2011 в 10:05:

Цитата:
Дядя Миша писал:
Вот так один левша сумел насолить тысячам модмейкеров по всему миру.

ну и зеркальное оружие и гильзы в лицо стали тенденцией))

Добавлено 02-10-2011 в 14:05:

кстати цветной вывод текста через drawconsolestring это же несколько вызовов с установкой цвета? или както можно движку скормить перфиксы чтобы он красил?


Отправлено Дядя Миша 02-10-2011 в 10:35:

Цитата:
marikcool писал:
или както можно движку скормить перфиксы чтобы он красил?

ксаш можно через префиксы, а халфе нет.
Префикс ^0-7. Где число - номер цвета.
0 - чорный
1 - красный
2 - зеленый
3 - жолтый
4 - синий
5 - сине-зеленый
6 - пурпурный
7 - дефолтный цвет (обычно белый).
Дефолтный цвет нужен чтобы сбросить раскраску цветом до окончания текущей строки.

Добавлено 02-10-2011 в 14:30:

Пример цветной строки:
^2Дядя^1Миша^7
Даст слово дядя зеленого цвета, а Миша - красного.
В ксаше можно также раскрашивать ники и VGUI это поймет почти правильно. Но для этого надо включить квар vgui_colorstrings 1.

Добавлено 02-10-2011 в 14:35:

Ну вот, примерно так

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 02-10-2011 в 10:35:

спасибо как xash использовать буду обязательно заюзаю.
еще я видел в игре хон , там добавили по названию цвета ну и ^RGB для градиент ников) ну это так уже фичи.


Отправлено qpAHToMAS 02-10-2011 в 10:36:

Дядя Миша, но вот беда, теряется возможность использования ^ как самого себя, символа.


Отправлено marikcool 02-10-2011 в 11:44:

сочетание с цифрой не делай)

Добавлено 02-10-2011 в 15:44:

только что заметил что в czero можно вызвать отрисовку ingame vgui, без отрисовки мира, грузится моментально есть у кого инфа по этому поводу?


Отправлено Дядя Миша 02-10-2011 в 13:06:

Цитата:
qpAHToMAS писал:
теряется возможность использования ^ как самого себя, символа.

ну если нет сочетания с цифрами 0 - 7, то не теряется. К томуже этот символ может понадобится только очень кавайным личностям, остальным он без надобности.

__________________
My Projects: download page

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

Цитата:

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


Отправлено PLut 02-10-2011 в 13:31:

Дядя Миша Расскажи пожалуйста принцип работы ская в Xash и GoldSource в общих чертах. У меня просто заноза сидит одна касательно неба. Я использую тринити рендерерс, а там скайбокс рисуется иначе. Например: солнце на GoldSource и Xash3D слева, а на кастомном рендере справа. Хочу понять как скармливать движку отрисовку неба или же как правильно рисовать небо на кастомном рендере.

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 02-10-2011 в 15:18:

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

C++ Source Code:
1
// avoid bilerp seam
2
s = (s + 1) * 0.5f;
3
t = (t + 1) * 0.5f;
4
 
5
if( s < 1.0f / 512.0f )
6
  s = 1.0f / 512.0f;
7
else if( s > 511.0f / 512.0f )
8
  s = 511.0f / 512.0f;
9
if( t < 1.0f / 512.0f )
10
  t = 1.0f / 512.0f;
11
else if( t > 511.0f / 512.0f )
12
  t = 511.0f / 512.0f;
13
 
14
t = 1.0f - t;

убивает швы по краям скайбокса.
Проще говоря можно не парится и рисовать весь скайбокс разом, не заботясь о клиппинге (на гейдеве так и делают).

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-10-2011 в 07:05:

Дядя Миша,можно ли как то выключить скай бокс во время рендеринга? Мне нужно взять текстуру экрана,но без ская.Как его так выключить? Или сделать чёрным этот скай?


Отправлено Дядя Миша 03-10-2011 в 07:18:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-10-2011 в 17:36:

как изменить рахмер хула игрока?На сервере SetSize ничего не даёт.В PM я нашёл только pmove->usehull.Можно выбрать номер но нельзя изменить пресеты.Или как то можно???


Отправлено Дядя Миша 03-10-2011 в 18:06:

Цитата:
Shapirlic писал:
Можно выбрать номер но нельзя изменить пресеты.Или как то можно???

можно. Но в халфе это дело как-то стрёмно организовано.
На сервере и клиенте есть корочи функции GetHullBounds.
Но они написаны неправильно, код из стандартного SDK не работает.
Пример рабочего кода изменения хуллов можно посмотреть в моём римейке кваки. Но и это еще не всё. Надо перекомпилить карту с учётом новых хуллов и как-то вписать ихние размеры в массив hull_t для всех бмоделей. В противном случае игрок будет коллдить из рук вон плохо, переодически застревать. Почему в халфе сделали такую кривую реализацию хуллов - для меня до сих пор загадка. В ксаше есть возможность задать новые размеры хуллов их gameinfo.txt. А вот для халфы...короче я делал это хаком, пример реализации можно подглядеть всё в том же римейке кваки, но метод стрёмный по нескольким причинам:
1. сервер уже во всю начинает расставлять эдикты и дропать их на пол (а клиент еще толком не проснулся). Для борьбы с этим нехорошим явлением я ввеел задержку на дроп в полторы секунды. Это отчасти помогло, но по-моему после чейнджлевела опять начались глюки.
2. метод годится только для сингла. Можно попробовать менять хуллы прямо из pmove, но там следующая засада - в списке pmove только те эдикты, которые в радиусе 300 юнитов от игрока. То есть на абсолютно все бмодели повлиять не получится. А больше на сервере нет возможности получить доступ к model_t. Вообщем жопа.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-10-2011 в 18:09:

Короче почти невозможно ((( Мне то для мультиплеера.А то анимация присяда выходит за хулл присяда и трейс не задевает голову сиящего игрока.Чтоб убить в голову сидящего игрока нужно целится в грудь.Как то это исправить можно? В контре же вроде поправили.Да и в Natural Selection вроде большие монстры нормально трейсятся...


Отправлено Дядя Миша 03-10-2011 в 18:21:

Цитата:
Shapirlic писал:
В контре же вроде поправили.

я устал повторять что в контрах есть разные недокументированные возможности. Может даже и хардкодинг в движке специально для CS.
А может хитрые энгфунксы. Да там что угодно может быть.
Вообще говоря для игроков действует квар sv_clienttrace, который скейлит их хуллы, чтобы в игрока было легче попасть.

__________________
My Projects: download page

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

Цитата:

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


Отправлено pRoxxx 03-10-2011 в 18:32:

Хул вроде не отвечает за хитбоксы модели.
Глянь тут мб поможет:

http://forum.hlds.us/amxx-219/tut-11208/


Отправлено marikcool 03-10-2011 в 18:35:

кстати нужно попробовать дернуть engfuncs, если это там к функциям по оффсетам обращаться.

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


Отправлено Shapirlic 03-10-2011 в 18:40:

С хитбоксами у меня всё нормально.Хитбоксы расположены правильно.Только в Халве если хитбокс выходит за хулл то он не учитывается.Как то так.И почему то только у игрока.У например Гарга setsize маленький.У него SetObjectCollisionBox большой,поэтому в него всё попадает.но для игрока эта функция опятьтаки ничего не даёт


Отправлено marikcool 03-10-2011 в 18:44:

http://hpb-bot.bots-united.com/sdk.html

VEC_DUCK_HULL_MIN is (-16, -16, -18) and VEC_DUCK_HULL_MAX is (16, 16, 18) giving a ducking size of 32x32x36.

непомогает?

вообще мне кажется хулы для колизии, для дамага хитбоксы.
както можно врубить отображение хитбоксов в игре и посмотреть, может он уезжает кудато, в контре такое тоже бывает, модель сдвинута от хитбокса, есть еще такая модель игрока где другая анимация вприсяде, там модель от хитбокса на головы 2 сдвинута.


Отправлено Shapirlic 03-10-2011 в 19:03:

Я крутил UTIL_SetSize крутил ObjectCollisionBOx, в PM крутил pmove->player_mins maxs....Игрок всё такой же маленький в присяде.Анимация выходит за хулл и хитбокс головы за хуллом => в голову не попасть

Добавлено 03-10-2011 в 22:56:

Хитбоксы на месте - just выходят за хулл

Добавлено 03-10-2011 в 23:03:

Тут скорее надо анимацию править,а я не аниматор,поэтому пытаюсь хулл увеличить ))


Отправлено marikcool 03-10-2011 в 19:04:

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


Отправлено Shapirlic 03-10-2011 в 19:07:

хитбоксы - r_drawentities 3

Хулл - компилишь в Debug режиме клиент и сервер предварительно убрав коментарий co строчки PM_ShowClipBox(); в pm_shared.c


Отправлено Дядя Миша 03-10-2011 в 19:14:

Цитата:
pRoxxx писал:
Хул вроде не отвечает за хитбоксы модели

от размера хулла зависит будут ли обрабатываться те или иные хитбоксы.
Дивжок никогда не проверяет хитбоксы которые не вписываются в хулл.
Простой пример: уменьшим высоту хулла так, чтобы голова оказалась сверху. И всё - голове уже дамагу не нанести.
Цитата:
marikcool писал:
вообще мне кажется хулы для колизии, для дамага хитбоксы.

хуллы для коллизии, если у модельки стоит флаг 512. Например osprey.mdl

Добавлено 03-10-2011 в 23:14:

Цитата:
Shapirlic писал:
Хитбоксы на месте - just выходят за хулл

вот яж об этом и говорю.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-10-2011 в 19:19:

Эммм нескромный вопрос - кто возмётся переделать с десяток анимаций игрока за спасибо? )))


Отправлено pRoxxx 03-10-2011 в 20:01:

Цитата:
marikcool писал:
вообще мне кажется хулы для колизии, для дамага хитбоксы.


Угу, и расчитываеться компилятором карты зарание. pev mins, maxs влияют только для коллизии с монстрами другими игроками О_о, на мир никак не влияют.


Отправлено marikcool 03-10-2011 в 21:54:

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

в любом случае надо увеличивать hull, в кс он тоже увеличен.

Может какойто физический флаг нужно посатвить чтобы он свои значения из движка не ставил?
как будут какието продвижение пишите)


Отправлено Shapirlic 04-10-2011 в 02:50:

Мож в КС не хулл увеличен а игрок уменьшен?


Отправлено marikcool 04-10-2011 в 05:22:

из отреверсеного CS-SDK параметр hull увеличен.
но помоему он также там обрабатывается, не раз видел как голова проходит сквозь потолок, просто хитбоксы работают.


Отправлено Дядя Миша 04-10-2011 в 08:27:

Цитата:
marikcool писал:
но помоему он также там обрабатывается, не раз видел как голова проходит сквозь потолок

может и увеличен. Но SV_HullForBSP всё равно выбирает старый хулл, как наиболее близкий к нему. Отсюда и проваливание в потолок.

__________________
My Projects: download page

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

Цитата:

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


Отправлено pRoxxx 04-10-2011 в 12:26:

Цитата:
marikcool писал:
проверил, вообщем проблемма есть, выставление setsize в любом месте полностью игнорируется, а также значение хуллов для игрока тоже игнорируется, берутся свои гдето зашитые.

в любом случае надо увеличивать hull, в кс он тоже увеличен.

Может какойто физический флаг нужно посатвить чтобы он свои значения из движка не ставил?
как будут какието продвижение пишите)

игнорируеться в придяси или же для полного роста тоже?


Отправлено marikcool 04-10-2011 в 12:44:

так счас проверил по сети, стандартный размер хуллов не менял, в хитбокс сидя попадает без проблем, естественно tripmine голову не цепляет лучом.


Отправлено Дядя Миша 04-10-2011 в 12:45:

Цитата:
marikcool писал:
естественно tripmine голову не цепляет лучом.





у трипмайнов стоит FTRACE_SIMPLEBOX, который игнорирует хитбоксы, и трейсит по хуллу.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 04-10-2011 в 12:48:

Цитата:
pRoxxx писал:
игнорируеться в придяси или же для полного роста тоже?

незнаю применяется или не применяется UTIL_setsize для игрока, но в дебаг режиме карказ выводится не зависимо от этих параметров.


Отправлено Дядя Миша 04-10-2011 в 14:56:

Цитата:
marikcool писал:
незнаю применяется или не применяется UTIL_setsize для игрока

Применяется конечно. А в ксаше даже есть вот такая мерзость:
C++ Source Code:
1
qboolean SV_TestEntityPosition( edict_t *ent, edict_t *blocker )
2
{
3
  trace_t	trace;
4
#if 1
5
  if( ent->v.flags & (FL_CLIENT|FL_FAKECLIENT))
6
  {
7
    // to avoid falling through tracktrain update client mins\maxs here
8
    if( ent->v.flags & FL_DUCKING )
9
      SV_SetMinMaxSize( ent, svgame.pmove->player_mins[1], svgame.pmove->player_maxs[1] );
10
    else SV_SetMinMaxSize( ent, svgame.pmove->player_mins[0], svgame.pmove->player_maxs[0] );
11
  }
12
#endif

Частично помогает бороться с застреваниями на платформах.
Кроме того аналогичный код вызывается пред вызовом PlayerPreThink.
Поэтому движок чихать хотел на ваши кастомные UTIL_SetSize.
Впрочем повторюсь, если вся задачка - увеличить хулл чтобы хитбокс головы заведомо трейсился, то это сделать достаточно несложно.
C++ Source Code:
1
int GetHullBounds( int hullnumber, float *mins, float *maxs )
2
{
3
  int iret = 0;
4
 
5
  switch ( hullnumber )
6
  {
7
    case 0:				// Normal player
8
      VEC_HULL_MIN.CopyToArray( mins );
9
    VEC_HULL_MAX.CopyToArray( maxs );
10
    iret = 1;
11
    break;
12
    case 1:				// Crouched player
13
      VEC_DUCK_HULL_MIN.CopyToArray( mins );
14
    VEC_DUCK_HULL_MAX.CopyToArray( maxs );
15
    iret = 1;
16
    break;
17
    case 2:				// Point based hull
18
      Vector( 0, 0, 0 ).CopyToArray( mins );
19
    Vector( 0, 0, 0 ).CopyToArray( maxs );
20
    iret = 1;
21
    break;
22
  }
23
 
24
  return iret;
25
}

Вот, собственно, правильный код, который перезаписывает размеры хуллов. Кстати я не знал, что в CS хулл в присяде увеличен. Это объясняет на кой чорт им вообще понадобились эти странные функции.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 04-10-2011 в 15:04:

Could not link client.dll GetHullBounds function!!! Что то типо того выскочило при запуске

Добавлено 04-10-2011 в 19:04:

+ 6 Uncnown exception trying to read adress 0x123123123


Отправлено Дядя Миша 04-10-2011 в 16:04:

Эээээ! нахрена?
Они уже есть в клиенте и сервере, надо только им верные хуллы прописать и всё.

Добавлено 04-10-2011 в 20:04:

Да собственно запусти контру 1.5 под ксашем с параметром -dev 5.
Ксаш покажет какие размеры хуллов ему выставила контра.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 04-10-2011 в 16:05:

Я нашёл эту функцию и заменил её на твой вариант.Не компилилось т.к на клиенте нет дефинов размеров хулов.Написал дефины сверху.Скомпилилось.Запускаю - такая хрень


Отправлено Chyvachok 04-10-2011 в 21:47:

А как создать зацикленый звук?


Отправлено PunkPaToB 05-10-2011 в 05:11:

Chyvachok

http://www.cs-mapper.by.ru/tutorials/t14loopsound.shtml

Дядя Миша
Раз уж эта тема стала чем то вроде Вопрос/Ответ , не стоит ли ее переименовать немного , и запихнуть в категорию Важно ?

__________________
А что нет?


Отправлено Дядя Миша 05-10-2011 в 07:28:

Цитата:
Shapirlic писал:
т.к на клиенте нет дефинов размеров хулов

ога, рассказывай.
C++ Source Code:
int DLLEXPORT HUD_GetHullBounds( int hullnumber, float *mins, float *maxs )

Это что? Название функции менять не надо, только её содержание.
Цитата:
Chyvachok писал:
А как создать зацикленый звук?

в CoolEdit, GoldWave либо AdobeAudition создать у звука cue-метку.
В силу определенных ограничений (ох уж этот Кармак) метки созданные в других программах работать не будут.
Цитата:
PunkPaToB писал:
Раз уж эта тема стала чем то вроде Вопрос/Ответ , не стоит ли ее переименовать немного , и запихнуть в категорию Важно ?

Да успеется.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 05-10-2011 в 13:12:

Цитата:
Дядя Миша писал:
Shapirlic писал:
т.к на клиенте нет дефинов размеров хулов

ога, рассказывай.


Почему то компилятор заматерился и я в начале сср файла написал дефины.Это ничего не меняет

Цитата:
Дядя Миша писал:
int DLLEXPORT HUD_GetHullBounds( int hullnumber, float *mins, float *maxs )


Это что? Название функции менять не надо, только её содержание.


Я содержание и поменял


Отправлено Дядя Миша 05-10-2011 в 13:48:

клиент он такой да. Чуть что не так - перестает компилится.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 05-10-2011 в 18:01:

кто нибудь встречал в природе моды Top-down обзором + можно курсором что либо выделять?
также интересно есть ли мод с видом от второго лица как re4/geow/armyoftwo (максимум видел камеру поставили как надо, но прицел был не центрирован)?


Отправлено XaeroX 05-10-2011 в 18:04:

Цитата:
marikcool писал:
есть ли мод с видом от второго лица

Видел где-то мод от четвёртого лица, но не помню название.

__________________

xaerox on Vivino


Отправлено marikcool 05-10-2011 в 18:17:

Цитата:
XaeroX писал:

ну вы поняли, вообщем от третего но с видом со спины, незнаю как точно эта камера называется, она используется в играх которые выше написал, а ну еще в dead space,mass effect,Vanquish,warinc.


Отправлено underworlddemon 05-10-2011 в 20:23:

в Natural Selection командир смотрит "с неба" на карту
как сделано - хз
под ксашем глючит (делает вид сбоку)


Отправлено marikcool 06-10-2011 в 07:05:

Цитата:
underworlddemon писал:

3 вида со стороны есть уже встроеные, в NS в этом режиме строить базу можно, курсор обрабатывает координаты?


Отправлено underworlddemon 06-10-2011 в 07:43:

с технической стороны не очень в курсе, но по взаимодействию выглядит вот так:

рамочкой можно выделять бойцов
постройки расставлять (только ориентацию север\юг и т.п. ставиться случайным образом)
кидать на карту медпаки и аммо тиммейтам
выдавать вейпоинты тиммейтам (куда идти \ что делать)
может, что ещё забыл =\\

надеюсь это описание чем-то поможет =)


Отправлено marikcool 06-10-2011 в 08:21:

Цитата:
underworlddemon писал:
с технической стороны не очень в курсе, но по взаимодействию выглядит вот так:

рамочкой можно выделять бойцов
постройки расставлять (только ориентацию север\юг и т.п. ставиться случайным образом)
кидать на карту медпаки и аммо тиммейтам
выдавать вейпоинты тиммейтам (куда идти \ что делать)
может, что ещё забыл =\\

надеюсь это описание чем-то поможет =)

спасибо, надо слить да посмотреть.


Отправлено pRoxxx 06-10-2011 в 08:51:

Я отлавливал в КС SetSize, так он вызываеться один раз на спавне игрока и каждый кадр в присяди. О_о


Отправлено marikcool 06-10-2011 в 09:16:

должен меняться когда флаг добавлятся IN_DUCK, в прыжке сидя тоже менятся должен.


Отправлено Дядя Миша 06-10-2011 в 10:55:

underworlddemon ты жеж обещал связаться с разработчиками.

__________________
My Projects: download page

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

Цитата:

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


Отправлено underworlddemon 06-10-2011 в 22:32:

Дядя Миша
обещал... всё времени нету... =(((


Отправлено marikcool 07-10-2011 в 08:50:

Чем можно победить эту ошибку?
читал про sound ent и что ограничение в движке 64,
вылазиет когда на карте всего 10 зомби.
чтобы ошибка не появлялась надо частично отрубить звук монстрам?


Отправлено Shapirlic 07-10-2011 в 08:51:

Это вроде не звук как таковой а система слуха монстров.Хотя могу ошибаться


Отправлено Дядя Миша 07-10-2011 в 09:50:

Ну там пул на 64 звука.

Цитата:
Shapirlic писал:
Это вроде не звук как таковой а система слуха монстров


Ксерокс называл её нюхом монстров
Потому что не может быть "звука свежего мяса".

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 07-10-2011 в 11:55:

В халфе звуки и запахи с точки зрения монстра одинаковы и никак не разделяются. И имеют общее название Sounds. В волатиле я переименовал в Irritants - это более адекватное название для системы.

__________________

xaerox on Vivino


Отправлено marikcool 07-10-2011 в 16:30:

кто ни будь видел джибсы подобно как тут?
то есть распилиная модель монстров на 3-4 куска.
http://www.youtube.com/watch?v=1-7YNZ3pjWQ


Отправлено PLut 07-10-2011 в 17:43:

marikcool Думал как-то сделать подобное в хл1, но как-то руки до милки не доходили. Да и без физики будет топорно.

А в хл2 довольно эффектно выглядит

__________________
Base Defense on Steam, ModDB


Отправлено marikcool 07-10-2011 в 18:09:

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


Отправлено PLut 07-10-2011 в 18:42:

marikcool Не обещаю, но на выходных я попробую из интереса

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 07-10-2011 в 18:58:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено PLut 07-10-2011 в 19:07:

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

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 07-10-2011 в 19:13:

Ну, надо сохранится перед опытом

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 07-10-2011 в 20:36:

))) ну лучше распад на составные части, чем 3-4 кусочка непонятно чего зеленого-желто или красного цвета) меня такие гибсы со времен ку2 убивали, там вообще какието яблоки)))
зато вот в ку1 все серезно, как минимум голова соответствует монстру + большие гибсы с фонтанчиком)


Отправлено marikcool 08-10-2011 в 10:16:

помогите как лучше сделать,
имеется vgui компонент наследованый от панель, который содержит в себе еще одну панель(хинт) и картинку, и функции для показа/скрытия хинта.

картинка обрабатывает mouseenter и mouseleave, как вызвать из этих обработчиков событий функции родителя показ/скрытия хинта?

либо нужно просто передать указатель на функцию показа хинта/указатель на класс хинта в конструктор картинки и уже оттуда вызывать?

Добавлено 08-10-2011 в 14:16:

пока что сделал простой передачей указателя на класс.


Отправлено marikcool 09-10-2011 в 08:23:

кто делал vgui, можно ли сделать ресайз картинок реалтайм?

Добавлено 09-10-2011 в 12:23:

как можно сделать чтобы игрок соскальзывал стоя на голове у монстра?


Отправлено PomanoB 09-10-2011 в 09:17:

Можно в Touch проверять монстр это или нет, и прибавлять скорость по вектору разностей координат


Отправлено Дядя Миша 09-10-2011 в 10:10:

Цитата:
PomanoB писал:
Можно в Touch проверять монстр это или нет

лучше на SOLID_SLIDEBOX
А саму проверку организовать в PM_FlyMove.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 09-10-2011 в 10:16:

Цитата:
marikcool писал:
кто делал vgui, можно ли сделать ресайз картинок реалтайм?

Да. Копать в сторону TexturePanel.

__________________

xaerox on Vivino


Отправлено Дядя Миша 09-10-2011 в 13:05:

Ресайз имеется в виду исходного RGBA-буффера или рисовать картинку разного размера?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 09-10-2011 в 14:01:

рисовать разного размера


Отправлено marikcool 11-10-2011 в 07:26:

можно ли организовать работу SetThink чтобы один отложенный вызов функции не перезатирал другой? нужно сделать что то в стиле SetThink2 ?


Отправлено Дядя Миша 11-10-2011 в 09:18:

Цитата:
marikcool писал:
нужно сделать что то в стиле SetThink2 ?

в принципе можно. Копай в сторону DispatchThink и указателя m_pfnThink.
Движку по обольшому счету плевать, он вызывает DispathThink, а hl.dll уже сама думает что к чему.

Добавлено 11-10-2011 в 13:18:

Гы-гы! Надо сделать стёк из тчинков и ввести функции PopThink и PushThink.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 11-10-2011 в 10:26:

Цитата:
Дядя Миша писал:
в принципе можно. Копай в сторону DispatchThink и указателя m_pfnThink.
Движку по обольшому счету плевать, он вызывает DispathThink, а hl.dll уже сама думает что к чему.

Добавлено 11-10-2011 в 13:18:

Гы-гы! Надо сделать стёк из тчинков и ввести функции PopThink и PushThink.

тогда проще сейвить будет глобалтайм и в пре или постхинке обрабатывать.


Отправлено Дядя Миша 11-10-2011 в 11:03:

marikcool претчинк и посттчинк - только для игрока.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 14-10-2011 в 14:23:

спасибо
кто нить может скинуть WRITE_FLOAT

почему то WRITE_LONG = > READ_FLOAT не работает,
разве g_engfuncs.pfnWriteLong приводит к типу?

нашол на на amxx сайте

C++ Source Code:
1
#define write_float(%0)      ( write_byte( ( _:%0 & 0xFF ) ),       \
2
write_byte( ( _:%0 >>  8 ) & 0xFF ),
3
write_byte( ( _:%0 >> 16 ) & 0xFF ),
4
write_byte( ( _:%0 >> 24 ) & 0xFF ) )

как подправить этот дефайн чтобы работало, ругается на проценты и на ноль (msvc2008)?


Отправлено n00b 14-10-2011 в 14:56:

Именно что в amxx я write_long'ом флоаты посылал, смеясь над амеркосами, которые с этими дефайнами парились.


Отправлено Дядя Миша 14-10-2011 в 15:09:

да не, с дефайном это бред.
флоат посылать надо так:

C++ Source Code:
float m_flFloat;
WRITE_LONG( (*(int *)&m_flFloat) );

Ну и не забыть сделать обратное преобразование в READ_LONG.
Вообще говоря большинство кодеров не сталкивается с проблемами приведения типов, ровно до тех пор пока не возникает необходимость передать их по сети.

Добавлено 14-10-2011 в 19:09:

А еще можно через union, но этот способ короче.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 14-10-2011 в 15:28:

спасибо большое, на клиенте уже есть READ_FLOAT()

n00b на amxx когда делал в каком месте понадобились дробные?


Отправлено Дядя Миша 14-10-2011 в 15:39:

да этот READ_FLOAT можно даже из кваки скопипастить, если бы его там не было.

__________________
My Projects: download page

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

Цитата:

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


Отправлено n00b 14-10-2011 в 15:42:

Цитата:
marikcool писал:
n00b на amxx когда делал в каком месте понадобились дробные?

В месте тумана кс'овского.


Отправлено marikcool 15-10-2011 в 14:00:

кто знает как подразогнать отрисовку vgui меню?
некоторые компоненты как будто обновляются каждый 5 фрейм,
хорошо видно на содержимом скроллпанели а также на драгндроп панели, сам же вертскроллбар работает плавно.

Добавлено 15-10-2011 в 18:00:

я еще не нашол деструктора для vgui компонентов, кроме как убивать через родиля с помощью RemoveChild


Отправлено marikcool 17-10-2011 в 12:34:

В чем может быть проблемма
имеется например новый класс от панель + дочерний элемент,
далее мне надо вызвать функцию Update и главной панели из дочернего элемента, делаю таким образом:

CPersonalMenu *m_pMainMenu=(CPersonalMenu*)m_pMenu->getParent();
m_pMainMenu->Update();

полуется зависон, решается только передачей указателя и далее вызов через указатель,хочется заюзать getParent почему так?

если все компоненты родились от панели, должно же работать?


Отправлено Дядя Миша 17-10-2011 в 12:47:

Там очень хитрожопая схема вызова апдейтов, я так понимаю.
Покури функцию paintTraverse в сорцах беты.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 17-10-2011 в 15:12:

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


Отправлено marikcool 19-10-2011 в 13:56:

Как можно вылечить данный баг?
в VGUI при установке текста в Label, не высчитывается ширина букв и все русские буквы пишется в одну позицию, если же включить bitmapfonts то все нормально, нужно только заменить стандартные битмапы на русские, но минус то что теряется сглаживание у шрифтов.

если кто видел битмапфонт генератор на основе ttf шрифтов для GoldSrc киньте ссылку или название программы.

Добавлено 19-10-2011 в 17:56:

в лабле написано KAzaMA_те


Отправлено marikcool 19-10-2011 в 22:56:

название генератора нашол тут на форуме, впринципе проблемма решается клепанием tga для вайдсрин разрешений. если есть решение для вычесления ширины для ttf отпишите.

Добавлено 20-10-2011 в 02:56:

пните в меня пожалуйста makevfont, немогу найти это прогу.


Отправлено alex8ball 20-10-2011 в 09:21:

скриптовые ролики

можно ли реализовать скриптовые сцены как в мноогих современных играх?
я имею ввиду скриптами задается цель камеры и при этом игрок наблюдает это от первого лица, там руки еще что нибудь делают.наткнулся на интересную статью про то что камеру можно привязать к самой mdl модели и задался вопросом.
http://detler.ucoz.ru/publ/9-1-0-128 - в самом конце про камеру


Отправлено Дядя Миша 20-10-2011 в 11:49:

Цитата:
alex8ball писал:
наткнулся на интересную статью про то что камеру можно привязать к самой mdl модели и задался вопросом.

а игрок по твоему - это что?

__________________
My Projects: download page

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

Цитата:

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


Отправлено alex8ball 20-10-2011 в 13:07:

если с внешней камеры то player.mdl, а если через гейм кам то v_модель оружия


Отправлено Дядя Миша 20-10-2011 в 13:36:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 20-10-2011 в 14:17:

Цитата:
Дядя Миша писал:
В халфе есть все необходимые условия для этого.

Разве там можно перехватить вьюанглесы? Они ж чисто клиентские.

__________________

xaerox on Vivino


Отправлено alex8ball 20-10-2011 в 15:28:

из всех условий что я знаю это player_freeze (где можно как то на игрока повлиять , в частности на его передвижение) , а чтобы управлять камерой и моделькой оружия наверно придется писать новую энтитю... как то так?


Отправлено Дядя Миша 20-10-2011 в 17:55:

Цитата:
XaeroX писал:
Разве там можно перехватить вьюанглесы? Они ж чисто клиентские.

нафига перехыватывать? Отключить их влияние на клиенте, а новые углы для сценки писать в какой-нибудь там vuser1 и применять на клиенте.
Ну и delta.lst разумеется подправить.

__________________
My Projects: download page

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

Цитата:

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


Отправлено alex8ball 20-10-2011 в 18:15:

извините за нубский вопрос, в чем разница между серверной и клиентской частью?


Отправлено Дядя Миша 20-10-2011 в 18:16:

Серверная часть находится на сервере, а клиентская - на клиенте.

__________________
My Projects: download page

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

Цитата:

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


Отправлено alex8ball 20-10-2011 в 20:15:

т.е. если в моде мультиплейер не нужен то сервер не нужен или как?


Отправлено fire64 21-10-2011 в 07:41:

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

Другое дело, что в случае мультиплеера, сервер находится на удаленной машине.

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


Отправлено Дядя Миша 21-10-2011 в 12:01:

Сервер - один, а клиентов - много.

__________________
My Projects: download page

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

Цитата:

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


Отправлено alex8ball 21-10-2011 в 13:18:

fire64 спасибо


Отправлено marikcool 21-10-2011 в 15:14:

по какому принципу идет компиляция проектов в msvc?

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


Отправлено Дядя Миша 21-10-2011 в 15:49:

Цитата:
marikcool писал:
по какому принципу идет компиляция проектов в msvc?

ну компилятор чисто физически не в состоянии отследить все изменения в проекте. Ты допустим можешь поменять заголовочные файлы движка в SDK, но компилятор его не сможет пересобрать, верно?
Впрочем иногда бывают такие забавные глюки, что даже явное редактирование хидеров не отлавливается компилятором.
У меня к примеру в ксаше файлик protocol.h не вызывает никаких эмоций со стороны компилятора, хоть обредактируйся.
Подозреваю это из-за того что там одни макросы.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 21-10-2011 в 17:27:

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

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


Отправлено Дядя Миша 21-10-2011 в 18:10:

Цитата:
marikcool писал:
IDE отслеживает где байты поменялись, помечая открытые документы " * ", почему по измененияем не берет интересно.

отслеживает компилятор, а не IDE. Я по жизни правлю код в стороннем текстовом редакторе и компилятор нормально отслеживает изменения.

Добавлено 21-10-2011 в 22:10:

Цитата:
marikcool писал:
у меня был глюк что на игроках перестала работать анимация

у меня тоже. Мне подсунули модельку из DOD. Я отдал её нашему моделлеру, он переправил ноги и всё вернулось на свои места.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 23-10-2011 в 07:40:

Правильна ли функция проверки кватерниона на нормированность?

C++ Source Code:
1
bool IsNormalized( Quaternion q )
2
{
3
  if( q.x * q.x + q.y * q.y + q.z * q.z + q.w + q.w == 1 )
4
  {
5
    return true;
6
  }
7
 
8
  return false;
9
}

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


Отправлено KiQ 26-10-2011 в 14:50:

>>>q.w+q.w
q.w * 2 ?

__________________
-Brain is dead-


Отправлено marikcool 26-10-2011 в 16:21:

кто встречал такой глюк, человек после спавна может быть невидимым, либо зарыт по пояс в земле, такой глюк встречается в cs 1.6, отображение начинается корректно когда человек подпрыгнит например. как его пификсить?


Отправлено fire64 26-10-2011 в 16:28:

marikcool, у игрока origin по центру тела, это еще пошло с Quake I, для того, что бы игрок мог приседать.

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


Отправлено marikcool 26-10-2011 в 17:00:

Цитата:
fire64 писал:

и как пофиксить? после спавна пустить трэйс от центра потом подкинуть его?


Отправлено marikcool 26-10-2011 в 17:24:

Цитата:
Дядя Миша писал:
да это может предиктинг глючит?

как определить, вызвать fullupdate ?


Отправлено KiQ 26-10-2011 в 17:38:

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

__________________
-Brain is dead-


Отправлено Дядя Миша 26-10-2011 в 17:45:

Цитата:
fire64 писал:
это еще пошло с Quake I, для того, что бы игрок мог приседать.

ну неправда. Для чего оно это сделали в Quake - загадка. Потому что в принципе приседалку можно сделать если оригин в полу, это мало на что влияет.

Добавлено 26-10-2011 в 21:45:

Цитата:
marikcool писал:
и как пофиксить? после спавна пустить трэйс от центра потом подкинуть его?

да это может предиктинг глючит?

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 26-10-2011 в 20:34:

marikcool походу про другой глюк говорит, когда игрок внешне (своей моделькой) оказывается вверху/внизу, вообщем смещается по Y оси и возвращается в свое нормальное положение когда изменит свое местоположение в этой же оси (подпрыгнет, присядет, поднимется, спустится).
В CS 1.6 такое бывает очень часто, помню что на www.amxx.ru было обсуждение проблемы, кто-то говорил, что проблема в потере некоторых пакетов с координатами от сервера к клиенту (UDP ведь).


Отправлено marikcool 29-10-2011 в 18:50:

Цитата:
qpAHToMAS писал:

тестил в лане, там потерь нет, вообщем игрок может провалиться до пояса там где я его спавню либо появиться в 0,0,0 , и может так находиться секунд 5-10.

ищу пример как хукнуть pfnClientCmd из client.dll, c целью заблочить ряд команд в движке.


Отправлено marikcool 30-10-2011 в 05:55:

вопрос про клиентские стволы, при посылке анимации есть параметр skiplocal который проверяет g_engfuncs.pfnCanSkipPlayer, то есть он не шлет анимацию игроку(владельцу), т.к на клиенке она сама играет?


Отправлено Дядя Миша 30-10-2011 в 10:54:

Цитата:
marikcool писал:
ищу пример как хукнуть pfnClientCmd из client.dll, c целью заблочить ряд команд в движке.

Ничего ты в движке не заблочишь, как ни крутись.
Цитата:
marikcool писал:
вопрос про клиентские стволы, при посылке анимации есть параметр skiplocal который проверяет g_engfuncs.pfnCanSkipPlayer, то есть он не шлет анимацию игроку(владельцу), т.к на клиенке она сама играет?

Там корочи такая тема. Функция g_engfuncs.pfnCanSkipPlayer проверяет, является ли текущий игрок локальным и включена ли у него опция cl_lw.
Ну, можно в ксаше посмотреть.
Если включена - то анимация не шлется вообще - сервер надеется, что клиент её проиграет без его участия. На мой взгляд польза от этих клиентских оружий воще сильно сомнительная, потому что для её реализации данных на клиент засылается в 4 раза больше, нежели когда она выключена. К тому же информация о расходе патронов ЧСХ опять берется с сервера. То есть при сильном лаге можно долго стрелять и даже оставлять декали, а патроны расходоваться не будут.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 30-10-2011 в 12:49:

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

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

идеально я думаю если все будет происходить на сервере, на клиенте только вся анимация стрельба/активация/идл/хостер/релоад без каких либо подсчетов и обработка декалей на сервере.

Добавлено 30-10-2011 в 18:49:

Цитата:
Дядя Миша писал:
Ничего ты в движке не заблочишь, как ни крутись.


счас получилось сделать, блочим любую клиент команду))
C++ Source Code:
1
int HookpfnClientCmd( char *szCmdString )
2
{
3
  gEngfuncs.Con_Printf("Hooked\n");
4
  return 0;
5
}
6
 
7
int DLLEXPORT Initialize( cl_enginefunc_t *pEnginefuncs, int iVersion )
8
{
9
  pEnginefuncs->pfnClientCmd=&HookpfnClientCmd;
10
  gEngfuncs = *pEnginefuncs;
11
 
12
  if (iVersion != CLDLL_INTERFACE_VERSION)
13
    return 0;
14
 
15
  memcpy(&gEngfuncs, pEnginefuncs, sizeof(cl_enginefunc_t));
16
 
17
  EV_HookEvents();
18
 
19
  return 1;
20
}


Отправлено marikcool 05-11-2011 в 19:49:

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


Отправлено marikcool 07-11-2011 в 19:36:

Отправляю 50 сообщений средней длины по 60 байт, клиент хватает оверфлоу.

хотя в контре motd отправляет также большое количество пакетов по 60 байт, оверфлоу не бывает, как решить проблему?


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

Цитата:
marikcool писал:
счас получилось сделать, блочим любую клиент команду))

в тупой халфе - неудивительно. А я тебе про ксаш говорил. Убьешся, но не заблочишь. Правда это и не требуется, есть же сорцы. И можно всё сделать без извратов.
Цитата:
marikcool писал:
клиент хватает оверфлоу.

а можно мессагу об ошибке?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 07-11-2011 в 19:49:

Цитата:
Дядя Миша писал:
а можно мессагу об ошибке?

SZ_GetSpace: overflow on netchan->message
порядка 30-35 сообщений прокатывает, 50 уже нет.
попробую зафигарить в мотд контры метр текста, посмотреть прогрузит или нет.

есть ли в природе чистый вычищенный от всего client и mp dll ?, из логики оставлено только появление на инфо плаер спавне и базовое перемещение.
давно помню мне скидывали такой qwprogs.dat подчищенный от всего, хотел бы аналогичный для халфа.


Отправлено Дядя Миша 07-11-2011 в 20:25:

Цитата:
marikcool писал:
SZ_GetSpace: overflow on netchan->message

ну там буффер на 70 килобайт ориентировочно.
туда должно влезть:
1. персональные мессаги для конкретного игрока (MSG_ONE)
2. текущая дельта для всех энтить (для каждого игрока имеет разный размер, зависит от местоположения, состояния дельты, итд)
3. текущая дельта о состоянии игроков относительно текущего.
4. текущая дельта о состоянии оружия для предиктинга
5. текущая дельта о состоянии текущего игрока
6. зеро-компрессия для эвентов
7. все надежные мессаги для всех игроков (MSG_ALL), обычно остановка звуков, содержимое буффера signon при спавне.
8. если останется место - ненадежные мессаги (звуки, пользовательские MSG_BROADCAST).
Таким образом передавая 30-50 сообщений подряд, относительно контекста. в котором находится игрок (а так же значения rate) у нас остается определенное кол-во свободного места. Ну и если его не хватает, то понятное дело вылет.
Правда в хл, насколько я понял есть фрагментация пакетов, но, она срабатывает далеко не для каждой мессаги.
Вот в ку3 как было? там финальная мессага проверяется на размер сетевого буффера, который обычно равен размеру сетевого пакета (что-то около 1024 байта). И тогда сообщение бьется на пакеты и доставляется кусочками. А в халфе, вроде как разбиение на пакеты идет принудительно, только в потенциально узких местах.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 07-11-2011 в 20:44:

в контровском мотд 1 байт с булевым значением для того чтобы ждать остальные куски либо трансфер завершен, с ограничеием буфера в 60 байт, зачем впринципе это делать если пакеты бьются сами? скорее всего в халфе они все таки не бьются автоматически по ~1024 байта.
да и скорее там еще меньше, диалап MTU 576 байт.
может когда буфер полный, остальное досылается в следущий тик сервера и тд пока все не отошлется.


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

Цитата:
marikcool писал:
скорее всего в халфе они все таки не бьются автоматически по ~1024 байта.

в халфе я же говорю - внутри движка вызывается функция Netchan_CreateFragments (см. сорцы хл2 бета). Вызывается она в строго определенных местах. Пользовательские мессаги таковым местом не являются.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 08-11-2011 в 08:28:

Дядя Миша, то есть для нужд движка пожалуйста, а пользователи пускай мучаются?

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


Отправлено Дядя Миша 08-11-2011 в 08:43:

fire64 да я что ли халфу писал? как сделали так сделали.
Не стоит забывать, что там до сих пор архитектура первокваки.
Несмотря на все улучшения и нововведения.
Вот взять к примеру старую квейковскую фишку - отсечение клиентских моделей по efrag. В хл2 она разрослалсь до чудовищного класса LeafRenderableSystem. Сетевая система с бэкбуфферами из куволрда - до создания фрагментов в строго определенных местах. Ну и так далее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 10-11-2011 в 17:59:

помню в кваке было поддержка внешних скинов + если не ошибаюсь аплоад другим пользователям через сервер, остались ли эти возможности в хафле?


Отправлено Дядя Миша 10-11-2011 в 18:13:

Халфа (чисто теоретически) умеет грузить квейковские карты и квейковские алиас-модели.
Чисто теоретически, потому что она предполагает наличие в них текстур с халфовским форматом, вида: пиксели+шорт+палитра.
Поэтому попытка скормить халфе карту от квейка портится как раз на загрузке текстур. Подозреваю, что и с alias-моделями та же бида.
А внешние скины грузить без вариантов. Щас поясню почему.
В кваке строго соблюдалось правило одна модель - одна текстура.
Я хз было это ограничением или же наоборот фичей, но факт.
Через это разные там лорды хавоки мигом приделали возможность загружать внешние скины для игрока. Но в официальной версии такая фича появилась только в ку2.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 10-11-2011 в 18:29:

спасибо за информацию, просто было бы интересно игрокам ставить свои скины и еще использовать разные колоры)


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

да скины это фигня. Модельки менять гораздо интереснее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 11-11-2011 в 13:10:

Цитата:
Дядя Миша писал:
да скины это фигня. Модельки менять гораздо интереснее.

моделить надо))
ну вообще в халфе весело можно играться с бодигруппами и текстургруппами ака скины + атачи чеголибо, хорошую кастомизацию персонажа можно сделать.


Отправлено marikcool 12-11-2011 в 15:13:

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

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

здесь ковырять void PM_WalkMove () ?


Отправлено n00b 13-11-2011 в 07:14:

Нормализировать вектор скорости и умножать его на величину скорости?
Кстати весьма полезная проблема


Отправлено Дядя Миша 13-11-2011 в 10:45:

marikcool cl_forwardspeed, cl_sidespeed.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 13-11-2011 в 11:22:

Цитата:
Дядя Миша писал:
marikcool cl_forwardspeed, cl_sidespeed.

не помогает, поставил для теста все по 100, все равно при зажатых вперед и стрэйф в любую сторону скорость заметно вырастает.


Отправлено Дядя Миша 13-11-2011 в 13:41:

Цитата:
marikcool писал:
все равно при зажатых вперед и стрэйф в любую сторону скорость заметно вырастает.

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

Добавлено 13-11-2011 в 17:41:

C++ Source Code:
1
cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_moveright);
2
cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_moveleft);
3
cmd->forwardmove += cl_forwardspeed->value * CL_KeyState (&in_forward);
4
cmd->forwardmove -= cl_backspeed->value * CL_KeyState (&in_back);

Как нетрудно заметить у нас тут скорость прибавляеться сразу в двух местах. Оттого и общая скорость становится выше.
Самый тупой метод решения - завести несколько отдельных кейсов и там проверять на предмет одновременно нажатых вперед и вбок\назад и вбок. Ну и делить, соответственно на какой-то фактор.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 13-11-2011 в 14:13:

спасибо, врубился, а сервак скорость не проверяет чтоли? можно же спидхак на клиентке сделать.


Отправлено Дядя Миша 13-11-2011 в 14:29:

Цитата:
marikcool писал:
а сервак скорость не проверяет чтоли?

Щас, ога! Проверяет конечно. В pm_shared.c
C++ Source Code:
1
void PM_CheckParamters( void )
2
{
3
  float spd;
4
  float maxspeed;
5
  vec3_t	v_angle;
6
 
7
  spd = ( pmove->cmd.forwardmove * pmove->cmd.forwardmove ) +
8
  ( pmove->cmd.sidemove * pmove->cmd.sidemove ) +
9
  ( pmove->cmd.upmove * pmove->cmd.upmove );
10
  spd = sqrt( spd );
11
 
12
  maxspeed = pmove->clientmaxspeed; //atof( pmove-&gt<img src="images/smilies/pp2.gif" border="0" alt="">M_Info_ValueForKey( pmove->physinfo, "maxspd" ) );
13
  if ( maxspeed != 0.0 )
14
  {
15
    pmove->maxspeed = min( maxspeed, pmove->maxspeed );
16
  }
17
 
18
  if ( ( spd != 0.0 ) &&
19
  ( spd > pmove->maxspeed ) )
20
  {
21
    float fRatio = pmove->maxspeed / spd;
22
    pmove->cmd.forwardmove *= fRatio;
23
    pmove->cmd.sidemove    *= fRatio;
24
    pmove->cmd.upmove      *= fRatio;
25
  }

Кстати, говоря гарантия того, что сервер ограничивает скорость игрока уже заложена в настройках cl_forwardspeed и cl_sidespeed. Они равны 400, тогда как скорость игрока - 320. 320 - это значение sv_maxspeed.
Можно поставить 400, и игрок будет бежать со скоростью 400 безо всяких доп. настроек.

Добавлено 13-11-2011 в 18:29:

Ух как камент-то расколбасило

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 13-11-2011 в 14:49:

о теперь все ясно, спасибо, буду пробовать.


Отправлено Nucleo 16-11-2011 в 05:34:

Сопсна, вопрос от меня:
возможно ли к костям одной модели "прилепить" другую, при условии что скелет у них одинаков?


Отправлено Scrama 16-11-2011 в 05:43:

Совершенно без проблем, а если у них еще и имена костей совпадают - то даже редактор моделей не нужен, только декомпилятор и компилятор. Да даже если и не совпадают - ручками можно переименовать в блокноте.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено marikcool 16-11-2011 в 06:14:

можно кодом через атач, пример p_ модели , либо декомпил компил и выставление бодигруп.


Отправлено Nucleo 16-11-2011 в 06:47:

Scrama
Дык мне кодингом надо Проблема в том, что бодигруппами делать в моем случае это изврат тот ещё, да и размер моделей вырастит довольно сильно, т.к. на каждую модель приходится около 60 субмоделей, которые поятнут за собой текстуры.

marikcool
Про р_ модели совсем забыл. спасибо


Отправлено Scrama 16-11-2011 в 07:20:

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

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 16-11-2011 в 07:43:

p_модели прекрасно цепляются ко всем солдатам и монстрам. Там главное условие - чтобы имя совпадало хотя бы у одной кости в скелете.
Обычно это кость в ладони.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 16-11-2011 в 15:58:

кто знает как пофиксить моргание стволов при cl_lw 1 ?
вообщем активируем любое оружие, на долю секунды ствол появляется и потом только начинается проигрышь IDLE анимации, при cl_lw 0 все проходит четко.
глюк встречается и в халфе и в контре.
то что моргает долю секунды похоже на последний фрейм выбранной анимации.


Отправлено Дядя Миша 16-11-2011 в 16:00:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 16-11-2011 в 17:11:

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


Отправлено Дядя Миша 16-11-2011 в 17:37:

да там лаг какой-то. Похоже на лёгкую рассинхронизацию.
Ну если вдруг раскопаешь в чём дело - напиши тутор

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 18-11-2011 в 09:01:

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

Добавлено 18-11-2011 в 13:01:

так заметил одну вещь в cs 1.6, там код зеркалирования руки стоит в таком месте что после активации ствола, это глючное моргание не проверяется на cl_righthand, при кваре равной 1 ствол моргает на левой стороне, потом на правой стороне идет активация, в каком месте может быть включено зеркалирование? хочу просто выключать отображение пушки до этого момента, тогда проблемма будет решена.


Отправлено Дядя Миша 18-11-2011 в 09:14:

Нет, тут мои скромные познания кончаются. Я ничего не могу посоветовать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 22-11-2011 в 21:24:

играл в одну игру на вии, и подобную фишку видел еще гдето на компе но не помню в какой игре.
вообщем вот видео http://www.youtube.com/watch?v=oUFqxIEiDS8
это же кодингом достраиваются полигоны и натягивается текстура?
почему тогда эта технология не в одном слэшере не используется?


Отправлено Дядя Миша 22-11-2011 в 22:25:

Цитата:
marikcool писал:
это же кодингом достраиваются полигоны и натягивается текстура?

Погляди сорцы Newton 2.0. Там есть эта технология реалистичного разламывания объектов на произвольные кусочки. Проблема лишь в том, что данная фича хреново укладывается в структуру клиент-сервер.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 23-11-2011 в 08:43:

Цитата:
Дядя Миша писал:
Погляди сорцы Newton 2.0. Там есть эта технология реалистичного разламывания объектов на произвольные кусочки. Проблема лишь в том, что данная фича хреново укладывается в структуру клиент-сервер.

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


Отправлено Дядя Миша 23-11-2011 в 15:00:

Цитата:
marikcool писал:
в соурсе рэгдолы тоже чисто клиентские.

путаешь ты что-то. А как же их разные там муверы таскают?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 23-11-2011 в 17:16:

Цитата:
Дядя Миша писал:
путаешь ты что-то. А как же их разные там муверы таскают?

я незнаю что это.

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


Отправлено Дядя Миша 23-11-2011 в 18:54:

Цитата:
marikcool писал:
знаю что смерть игроков у каждого клиента по своему отображается.

ну игроки-то ладно. А как насчет монстров?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 23-11-2011 в 19:02:

Цитата:
Дядя Миша писал:
ну игроки-то ладно. А как насчет монстров?

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


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

теоретически на клиенте имеется предиктабельная физика, благодаря которой нашы рагдоллы могут существовать только на клиенте.
Но я признаться не ожидал такого от Valve.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 23-11-2011 в 19:43:

Цитата:
Дядя Миша писал:
теоретически на клиенте имеется предиктабельная физика, благодаря которой нашы рагдоллы могут существовать только на клиенте.
Но я признаться не ожидал такого от Valve.

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


Отправлено Дядя Миша 23-11-2011 в 20:14:

marikcool да, но бочка - это не рагдолл. А мне именно про рагдолл интересно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 24-11-2011 в 03:31:

Что "быстрее" рисует - TriApi или OpenGL? И можно ли OpenGL скормить на отрисовку ХЛ спрайты .spr?


Отправлено -=DrTressi=- 24-11-2011 в 06:49:

Вопрос из разряда кэповских, но тем не менее требует очевидного ответа. Как на уже скомпилированной bsp карте поменаться свойства некоторых точечных объектов и некоторые удалить?

ЗЫ: Пробовал bsptools и bsp viewer. но кроме глючного просмотра карт, чего то больше ничего не накопал.

__________________
How interesting, just look at that!
© Scientist


Отправлено marikcool 24-11-2011 в 07:58:

Цитата:
-=DrTressi=- писал:

ripent или любым hex редактором

Добавлено 24-11-2011 в 11:58:

Цитата:
Shapirlic писал:
Что "быстрее" рисует - TriApi или OpenGL? И можно ли OpenGL скормить на отрисовку ХЛ спрайты .spr?

триапи вызывает опенжл функции, а второе непонятно, есть же встроеные средства для загрузки разукраски и срезки спрайтов.


Отправлено qpAHToMAS 24-11-2011 в 08:20:

Цитата:
marikcool писал:
ripent или любым hex редактором

Для совсем ленивых: BSPEdit, прикрепляю к сообщению.


Отправлено Дядя Миша 24-11-2011 в 12:10:

Цитата:
Shapirlic писал:
И можно ли OpenGL скормить на отрисовку ХЛ спрайты .spr?

Лихко. Открывай ксаш смотри gl_sprite.c
Структура расположения спрайта в памяти совпадает с халфовской, поэтому в халфе будет работать точно также.
А срезка - это скиссор.
Цитата:
-=DrTressi=- писал:
Как на уже скомпилированной bsp карте поменаться свойства некоторых точечных объектов и некоторые удалить?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 25-11-2011 в 08:46:

Спасибо! То что нужно!))

__________________
How interesting, just look at that!
© Scientist


Отправлено qpAHToMAS 25-11-2011 в 09:05:

Цитата:
-=DrTressi=- писал:
Спасибо! То что нужно!))

Вот еще бы узнать какой именно из трех вариантов тебе подошел .


Отправлено -=DrTressi=- 27-11-2011 в 04:47:

qpAHToMAS Твой))

В консоли в ксаше написал entpatch, он выдал чёта типа "write [имя карты]. [какое то левое расширение]. и сё.

Кстати, я тут поигрался с камандами firstperson и thirdperson. Там теперь при приседании камера рывком падает вниз, как на третьем лице. А нужно чтобы плавно, как на первом. Теперь не знаю что делать. Мож знает кто)

__________________
How interesting, just look at that!
© Scientist


Отправлено qpAHToMAS 27-11-2011 в 05:18:

Цитата:
-=DrTressi=- писал:
В консоли в ксаше написал entpatch, он выдал чёта типа "write [имя карты]. [какое то левое расширение]. и сё.

Так и должно быть , движок создал ENT файл с именем карты, в котором написаны все ентити из нее.
И при каждой загрузке карты он проверяет присутствие файла [имя_загружаемой_карты].ent, если файл находится — entity-лист загружается из него.
Очень удобная штука, особенно для собственного сервера.

Цитата:
-=DrTressi=- писал:
Там теперь при приседании камера рывком падает вниз, как на третьем лице. А нужно чтобы плавно, как на первом. Теперь не знаю что делать. Мож знает кто)

Тоже только что проверил — действительно есть такая фишка. Еще если стоять на разных местах, то камера может по разному опускаться. В записанной демке этот глюк не отображается.
У меня правда v43/0.91 (build 1743), но наверное ничего страшного .


Отправлено Дядя Миша 27-11-2011 в 08:14:

Цитата:
-=DrTressi=- писал:
В консоли в ксаше написал entpatch, он выдал чёта типа "write [имя карты]. [какое то левое расширение]. и сё.

так тыб сначала карту загрузил. Ну, для которой entpatch создать задумал.
А не хочешь грузить - так хотя бы имя её укажи в качестве аргумента.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 27-11-2011 в 09:40:

Есть ли в чистом клиенте, способ вывести на экран текст, без альфа канала?
Потому, что DrawHudString выводит текст с альфой

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


Отправлено Дядя Миша 27-11-2011 в 11:57:

в чистом клиенте, это без опенгл?
Создать корочи спрайт с рендермод normal и рисовать через SPR_Draw.
На спрайте все буквы разместить. Правда моноширинный шрифт получится, но всё же.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 27-11-2011 в 13:31:

Цитата:
Дядя Миша писал:
Правда моноширинный шрифт получится, но всё же.

А если немножко пошевелить мозгами - можно и стереоширинный сделать. Или как там он называется правильно.

__________________

xaerox on Vivino


Отправлено qpAHToMAS 27-11-2011 в 15:20:

Кстати, есть ведь параметр для hl.exe:

code:
-noaafonts

Он как-раз отключает анти-аллиасинг на выводимых HUD-шрифтах.


Отправлено -=DrTressi=- 28-11-2011 в 10:02:

qpAHToMAS Аа. Вон оно как работает!!! Ктоб знал бы! Я ждал что откроется какое нить окошечко с редактором =DDD
ЗЫ: по поводу камеры - как ты избавился то от этого?

Дядя Миша Я так и сделал, находясь на карте прописал в консоли, прост не стал выкабывать название карты на форум вот и всё. ) Штука дейсвительно удобная, но на GS она я так понимаю работать не будет.(

ЗЫ: Может что то сказать про:

Цитата:
qpAHToMAS писал:
-=DrTressi=- писал:
Там теперь при приседании камера рывком падает вниз, как на третьем лице. А нужно чтобы плавно, как на первом. Теперь не знаю что делать. Мож знает кто)

Тоже только что проверил — действительно есть такая фишка. Еще если стоять на разных местах, то камера может по разному опускаться. В записанной демке этот глюк не отображается.
У меня правда v43/0.91 (build 1743), но наверное ничего страшного .

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 28-11-2011 в 10:13:

Цитата:
-=DrTressi=- писал:
но на GS она я так понимаю работать не будет.(

не будет.
Цитата:
-=DrTressi=- писал:
Там теперь при приседании камера рывком падает вниз, как на третьем лице

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 28-11-2011 в 12:31:

А что, разве у точечных энтить с моделями USE функция не работает?

C++ Source Code:
1
void CPropTv :: Spawn( void )
2
{
3
  Precache( );
4
  // motor
5
  pev->movetype = MOVETYPE_FLY;
6
  pev->solid = SOLID_BBOX;
7
 
8
  SET_MODEL(ENT(pev), "models/w_oxygen.mdl");
9
  UTIL_SetSize(pev, Vector( -16, -16, 0), Vector(16, 16, 36));
10
  UTIL_SetOrigin( pev, pev->origin );
11
 
12
  SetUse( TankUse );
13
}


C++ Source Code:
1
void CPropTv::TankUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
2
{
3
  UTIL_ClientPrintAll( HUD_PRINTCENTER, UTIL_VarArgs( "Test\n" ) );
4
}


Не пашет

Добавлено 28-11-2011 в 16:31:

А все, разобрался, забыл добавить ObjectCaps

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


Отправлено -=DrTressi=- 28-11-2011 в 14:16:

Дядя Миша

Цитата:
Дядя Миша писал:
предиктинг выключи.

Каким образом?

Цитата:
Дядя Миша писал:
Я понимаю что он почти не мешает, но вот на камеру влияет именно так.

А чё эт такое ващпе?

Цитата:
Дядя Миша писал:
А демок в ксаше вообще нету.

Как так? А это что такое? Я это с демок писал!

__________________
How interesting, just look at that!
© Scientist


Отправлено qpAHToMAS 28-11-2011 в 15:44:

Цитата:
-=DrTressi=- писал:
ЗЫ: по поводу камеры - как ты избавился то от этого?

Никак, я лишь убедился в том, что ты написал.

Цитата:
-=DrTressi=- писал:
Как так? А это что такое? Я это с демок писал!

Наверное он имел ввиду, что демки в Xash 3D точно такие же как и в Half-Life.


Отправлено Дядя Миша 29-11-2011 в 09:48:

Нету в ксаше демок, уймитесь уже. Это заглушка.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 29-11-2011 в 12:51:

Дядя Миша Заглушка? Смысли? У меня ассоциируется с кляпом...

Так

Цитата:
-=DrTressi=- писал:
Дядя Миша писал:
предиктинг выключи.

Каким образом?

Цитата:
Дядя Миша писал:
Я понимаю что он почти не мешает, но вот на камеру влияет именно так.

А чё эт такое ващпе?

__________________
How interesting, just look at that!
© Scientist


Отправлено fire64 29-11-2011 в 21:20:

Как определить, можно ли объект сдвинуть в определенном направлении или он наткнется на преграду.

Написал следующий код:

C++ Source Code:
1
TraceResult tr;
2
Vector vecSrc = pev->origin;
3
Vector vecEnd = pev->origin + pOther->pev->velocity + pev->size * 2;
4
 
5
UTIL_MakeVectors( pOther->pev->angles );
6
UTIL_TraceLine( vecSrc, vecEnd, dont_ignore_monsters, NULL, &tr);
7
 
8
if (tr.flFraction != 1.0)
9
  return;


Но он не работает.

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


Отправлено Дядя Миша 30-11-2011 в 10:22:

Цитата:
-=DrTressi=- писал:
Заглушка? Смысли? У меня ассоциируется с кляпом...

ну нету в ксаше демок. Ты видишь как там всё дергается при воспроизведении? Это не демки, это я наговнял по бырому, чтобы хоть как-то работало. Никакие претензии не принимаются.

Цитата:
fire64 писал:
Но он не работает.

еще бы он работал!
Во первых как это ты так интересно прибавил pev->size к pev->velocity и к pev->origin. Да еще и на два умножил. Ты сам-то понял что прибавил?
Зачем складывать размер и ускорение?
Во вторых, даже если у тебя получиться сложить правильно, ты всего навсего сможешь проверить есть ли у тебя какое-то препятствие на расстоянии равном размеру объекта.
В четвертых если ты юзаешь pev->size, то наверное подразумеваешь брашевый объект? В таком случае почему используешь TraceLine?
C++ Source Code:
1
TraceResult tr;
2
Vector vecSrc = pev->origin;
3
Vector vecEnd = pev->origin + pOther->pev->velocity * gpGlobals->frametime;
4
 
5
TRACE_MONSTER_HULL( pEntity->edict(), vecSrc, vecEnd, dont_ignore_monsters, pEntity->edict(), &tr );
6
 
7
if (tr.flFraction != 1.0)
8
{
9
  // can't move full distance
10
  return;
11
}
12
UTIL_SetOrigin( pev, vecEnd );

В более сложном случае можно вообще убрать это условие на фрацию и вместо него юзать
C++ Source Code:
UTIL_SetOrigin( pev, tr.vecEndPos );

Так мы стопудова упрёмся в наш блокер.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 30-11-2011 в 13:19:

Дядя Миша Дык у меня претензий и нет! Скорее наоборот Я пару раз писал демо с Ксаша и остался более чем доволен

Так как предиктинг отключить? :-DDDD

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 30-11-2011 в 13:37:

Цитата:
-=DrTressi=- писал:
Я пару раз писал демо с Ксаша и остался более чем доволен

да чем же ты доволен, погляди как монстры дергаются

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 30-11-2011 в 16:25:

Как в Халве в рендере паранои на клиенте получить степень освещённости точки?


Отправлено Дядя Миша 30-11-2011 в 16:45:

EXT_LightPoint

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 30-11-2011 в 17:27:

Спасибо Дядь Миша ! ))


Отправлено fire64 01-12-2011 в 09:02:

Вопрос скорей по маппингу.
Как активировать энтити, сразу при старте карты?

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


Отправлено FiEctro 01-12-2011 в 09:45:

fire64
http://cs-mapper.com/entities/trigger_auto32.shtml

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено -=DrTressi=- 01-12-2011 в 09:48:

Дядя Миша

Цитата:
-=DrTressi=- писал:
Как отключить предиктинг?

__________________
How interesting, just look at that!
© Scientist


Отправлено FiEctro 01-12-2011 в 09:52:

-=DrTressi=-
cl_lw 0 cl_predict 0

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 01-12-2011 в 11:46:

-=DrTressi=- в демке так и будет дергаться. Ты же демку имеешь в виду?

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 02-12-2011 в 03:45:

в демке так и
будет дергаться. Ты же демку
имеешь в виду?

при чем тут демка? У меня в игре камера кривая!

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 02-12-2011 в 08:43:

тогда тебе ФиЭктра ответил.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 02-12-2011 в 08:53:

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


Отправлено Дядя Миша 02-12-2011 в 09:16:

на голде нету предикта энтитей.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 02-12-2011 в 09:36:

Дядя Миша Так оно мне и помого! И Трэин перестал трястись!

Добавлено 02-12-2011 в 13:36:

Кстати а что эт такое и что он вообще делает этот предикт?

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 02-12-2011 в 10:42:

при сетевой игре уменьшает реакцию игрока на нажатие кнопок.
ну, при условии что он конечно правильно работает.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-12-2011 в 11:43:

Хочу спросить про sv_skycolor.При смене карты этот параметр меняется,следовательно он либо зашит в карте либо как то определяется. Где? Как его достать из карты или где он определяется? Дело всё в том, что меняется он не всегда,а остаётся от первой карты.Тоесть если вы сначала запустили тёмную карту,а потом светлую,то SkyLight останется от тёмной. Как вытащить этот параметр из карты?


Отправлено Дядя Миша 03-12-2011 в 12:20:

lights.cpp в папке dlls никогда открывать не пробывал?
Попробуй.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-12-2011 в 12:23:

Тоесть light_spot задаёт этот параметр.А если его нет то как то высчитать небесное освещение можно?


Отправлено Дядя Миша 03-12-2011 в 13:10:

Цитата:
Shapirlic писал:
Тоесть light_spot задаёт этот параметр

почему ты так решил?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-12-2011 в 13:12:

void CEnvLight::KeyValue( KeyValueData* pkvd )
{
if (FStrEq(pkvd->szKeyName, "_light"))
{
int r, g, b, v, j;
char szColor[64];
j = sscanf( pkvd->szValue, "%d %d %d %d\n", &r, &g, &b, &v );
if (j == 1)
{
g = b = r;
}
else if (j == 4)
{
r = r * (v / 255.0);
g = g * (v / 255.0);
b = b * (v / 255.0);
}

// simulate qrad direct, ambient,and gamma adjustments, as well as engine scaling
r = pow( r / 114.0, 0.6 ) * 264;
g = pow( g / 114.0, 0.6 ) * 264;
b = pow( b / 114.0, 0.6 ) * 264;

pkvd->fHandled = TRUE;
sprintf( szColor, "%d", r );
CVAR_SET_STRING( "sv_skycolor_r", szColor );
sprintf( szColor, "%d", g );
CVAR_SET_STRING( "sv_skycolor_g", szColor );
sprintf( szColor, "%d", b );
CVAR_SET_STRING( "sv_skycolor_b", szColor );
}

он берёт параметр цвета который в нём и кидает его в skycolor.Или я не понял чего то?
Тьфу не light_spot а light_environment


Отправлено Дядя Миша 03-12-2011 в 14:25:

Цитата:
Shapirlic писал:
light_spot а light_environment

для light_spot есть параметр isSky, который заставляет его притвориться небесным светом. Но по умолчанию, да, используется light_environment.
Цитата:
Shapirlic писал:
он берёт параметр цвета который в нём и кидает его в skycolor.Или я не понял чего то?

именно так.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 04-12-2011 в 09:28:

необходим был для программы таймер с точностью до 1мс,
все время юзал QueryPerformanceCounter, но тут наткнулся что он якобы не на всех системах точен=/
http://iproc.ru/programming/windows-timers/
http://www.devdoc.ru/index.php/cont...anceCounter.htm
http://www.gamedev.ru/code/forum/?id=129192
оттудаже:
http://www.virtualdub.org/blog/pivot/entry.php?id=106 что перевел virtualdub на timeGetTime()

сам использую для замера и переотправки пакетов, и проверки пинга между клиентами.
вот думаю какой таймер то использовать теперь. а какой в ксаш и в голде используется?


Отправлено Дядя Миша 04-12-2011 в 10:42:

Цитата:
marikcool писал:
а какой в ксаш и в голде используется?

QueryPerfomanceCounter конечно жы.
У него разрешение гораздо выше чем у timeGetTime. И hl2 юзает QueryPerfomanceCounter. И почему-то у миллионов игроков в хл и хл2 нет никаких проблем с этим таймером.
Все беды - от неграмотного использования.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 04-12-2011 в 11:01:

спасибо за ответ остаюсь на QueryPerfomanceCounter )


Отправлено XaeroX 04-12-2011 в 11:09:

Кармак отказался от QueryPerfomanceCounter в пользу timeGetTime, как и я. На пользу ли этот отказ - не знаю, по-моему, особой разницы между ними нет.

__________________

xaerox on Vivino


Отправлено Дядя Миша 04-12-2011 в 11:28:

Цитата:
XaeroX писал:
Кармак отказался от QueryPerfomanceCounter в пользу timeGetTime, как и я

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 05-12-2011 в 17:13:

кто знает а как lod модель сделать не привязывая по новому полигоны к костям?


Отправлено KiQ 05-12-2011 в 17:25:

mdl2lod что то вроде этого, XaeroX выкладывал

__________________
-Brain is dead-


Отправлено Jimmy C. 06-12-2011 в 02:03:

http://www.hlfx.ru/forum/showthread...=&threadid=2137

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено marikcool 06-12-2011 в 05:59:

Цитата:
(epeFk@ писал:
http://www.hlfx.ru/forum/showthread...=&threadid=2137

спасибо

ps: почемуто поиск тупо не ищет эту тему, запрос поиска LOD*
ps2: нашол, при запросе LOD* ищет от начала строки почемуто, поставил *LOD* - находит данный туториал.


Отправлено qpAHToMAS 08-12-2011 в 14:55:

Что внутри/между брашей у BSP? Если делать систему прострелов, основанную на именах текстур (что бы каждая текстура имела свою "прочность"), то что будет в таком случае:
http://s017.radikal.ru/i411/1112/db/f57cfeb2a908.png
Попадание в дерево фиксируем, но попадание в стену ведь не будет зафиксировано, потому что в данном случае ящик и стена "одно целое" внутри себя.


Отправлено Дядя Миша 08-12-2011 в 16:15:

прострел основывается на толщине браша, а не на его имени, тащем-то.

Цитата:
qpAHToMAS писал:
но попадание в стену ведь не будет зафиксировано

не будет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 08-12-2011 в 22:27:

по типу текстуры определяем пробиваемость, но чтобы получилось ящик+стена, со стороны где вылетает пуля протрасируем в обратную сторону текстуру и получим стену, затем с калькулируем пробиваемость, в случае ящик - стена - ящик в одном месте необходим 1 юнитовый зазор.

или можно еще ящик в func_wall сделать тогда можно будет сделать как надо без зазоров)


Отправлено qpAHToMAS 08-12-2011 в 22:44:

Цитата:
marikcool писал:
со стороны где вылетает пуля протрасируем в обратную сторону текстуру и получим стену, затем с калькулируем пробиваемость

Все-равно не совсем то, ибо не учитывается длительность прохождения пули в том или ином материале.


Отправлено Shapirlic 09-12-2011 в 06:14:

Это не так принципиально.У меня именно такая физика пули - на основе имени текстуры определяется материал а к каждому материалу привязаны определённые параметры пробиваемости и вероятности рикошета.Если хочешь делать просчёт материала с обоих сторон - то наверно бери среднее между прочности материалов со стороны вылета и попадания пули.


Отправлено marikcool 09-12-2011 в 07:15:

Цитата:
qpAHToMAS писал:
Все-равно не совсем то, ибо не учитывается длительность прохождения пули в том или ином материале.

тогда делай ящики func_wall либо зазор и сможешь точно определять толщину.

Добавлено 09-12-2011 в 11:15:

какой утилитой можно удобно получить список всех файлов, включая в каталогах, и их svf/crc32/md5 значения в текстовый документ?


Отправлено marikcool 09-12-2011 в 13:50:

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


Отправлено Дядя Миша 09-12-2011 в 14:14:

Цитата:
marikcool писал:
верно ли считать что обсчет просходит в цикле от первой энтити к последней

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 09-12-2011 в 15:06:

Цитата:
Дядя Миша писал:
игрок умирает по факту убийства. Почему ты решил что энтити поочередно проверяются на смерть?
Движок вообще понятия не имеет мертва энтитя или жива. Для него без разницы.

если по факту убийства, то например два игрока убили друг друга в один и тот же момент, почему один умерает а второй живой?
в ку3 часто умирают оба, в халфе никогда.


Отправлено Дядя Миша 09-12-2011 в 16:02:

Цитата:
marikcool писал:
то например два игрока убили друг друга в один и тот же момент, почему один умерает а второй живой?

ничо не понимаю. ну если один умер, а другой живой, значит недоубили его. Или ты полагаешь он с нулевым здоровьем будет бегать?

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 09-12-2011 в 16:20:

Дядя Миша, я так понимаю, он спрашивает, возможна ли на GoldSRC, ситуация, как в TF2, когда 2 снайпера убивали друг друга.

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


Отправлено Shapirlic 09-12-2011 в 16:24:

В Халве такая ситуация не просчитывается.Такое возможно только с оружия,которое стреляет ентитями с определённой скоростью,а не просто трейсит.


Отправлено Дядя Миша 09-12-2011 в 16:37:

Цитата:
fire64 писал:
Дядя Миша, я так понимаю, он спрашивает, возможна ли на GoldSRC, ситуация, как в TF2, когда 2 снайпера убивали друг друга.

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 09-12-2011 в 16:56:

Мне в Counter-Strike с другом удавалось убидь друг-друга, конечно же после freezetime, заранее нацелившись друг-другу в головы из AWP . Играли тогда в комп. клубе и сидели рядом.
Если такое проворачивать на сервере, то убивать будет тот игрок, у которого меньше пинг, что вполне предсказуемо вообщем-то.

Цитата:
Shapirlic писал:
В Халве такая ситуация не просчитывается.Такое возможно только с оружия,которое стреляет ентитями с определённой скоростью,а не просто трейсит.

Вот я тоже так думаю, одно дело игры, где создается пуля и летит со всей скоростью к цели (сразу Operation Flashpoint вспомнилась), и совсем другое, мгновенное создание вектора от A до B.


Отправлено marikcool 09-12-2011 в 17:54:

я лично не видел убийство друг друга в халфо/контре мгновенным оружием , в том же ку3 спокойной получается замашнить друг друга одновременно.
если брать стандартный сервак без разгона, там тикрет с 64 кадра и того примерно 15мс, это достаточно приличный промежуток времени чтобы в него попасть.


Отправлено marikcool 14-12-2011 в 08:15:

возможно ли реализация LOD для бмоделей для goldsrc?


Отправлено Дядя Миша 14-12-2011 в 08:26:

Цитата:
marikcool писал:
возможно ли реализация LOD для бмоделей для goldsrc?

ни в одном кушном движке нету лодов для бмоделей. Они просто не нужны. Какой может быть лод у кубика?

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 14-12-2011 в 08:28:

Аранжмодовцы делали помнится что то такое. Смысла действительно в этом мало.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено (_-=ZhekA=-_) 14-12-2011 в 08:53:

Цитата:
Дядя Миша писал:
Они просто не нужны. Какой может быть лод у кубика?

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


Отправлено Дядя Миша 14-12-2011 в 09:03:

тысяч десять, наверное.

__________________
My Projects: download page

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

Цитата:

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


Отправлено (_-=ZhekA=-_) 14-12-2011 в 09:10:

А я делал лоды на разных моих моделях вроде от 500 до 4000


Отправлено XaeroX 14-12-2011 в 09:10:

Лоды важны там, где высокая нагрузка на вершинный пайплайн. Скажем, теневые объёмы, ку3шные шойдеры и т.п. Лоды в первой халфе нужны разве что для галочки в фичелисте мода. Исключение - студиомодельки, сейчас пошла мода на СД-паки, а вертексы считаются программно, так что там лоды оправданы. Но поликов должно быть не меньше 1500, или около того.

Цитата:
Дядя Миша писал:
тысяч десять, наверное.

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

__________________

xaerox on Vivino


Отправлено marikcool 14-12-2011 в 11:28:

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


Отправлено Дядя Миша 14-12-2011 в 11:30:

http://humus.name/index.php?page=3D&ID=80

__________________
My Projects: download page

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

Цитата:

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


Отправлено Scrama 15-12-2011 в 05:16:

marikcool, делаешь заготовку с улицей и домами, потом на ее основе отдельную карту под каждое здание, чтоб из окна эту улицу было видно. Это самое вменяемое решение для гс. Можешь по объему улицы растянуть trigger_transition'ы, чтоб трупики монстров переходили каждый раз с тобой на смежную карту. Только стоит учесть, что 8 килоюнитов ~ 200 метров, т.е. длина двух хрущевок, так что самое близкое, что выйдет - это перекресток двух дорог с четырьмя "свечками" или недоскребами в углах. Ну, или частный сектор в 16 огородов.
В более других движках есть всякие ареапорталы и т.п. фишки, позволяющие принудительно отрубать рендеринг некоторых объемов.

Цитата:
marikcool писал:
в том же ку3 спокойной получается замашнить друг друга одновременно.
В чистой ку3 есть лаг в 50мс между нажатием кнопки и выстрелом, технически игрок нажимает гашетку, дохнет, а потом производится выстрел. Такие дела.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 15-12-2011 в 06:29:

Цитата:
Scrama писал:
В чистой ку3 есть лаг в 50мс между нажатием кнопки и выстрелом

ку3 вместо интерполяции делает экстраполяцию результата.
Отсюда и лаг.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 15-12-2011 в 20:02:

Цитата:
Scrama писал:
В чистой ку3 есть лаг в 50мс между нажатием кнопки и выстрелом, технически игрок нажимает гашетку, дохнет, а потом производится выстрел. Такие дела.

а в халфе они чтоли асинхронно тогда играют?


Отправлено Scrama 16-12-2011 в 02:00:

marikcool в халфе лага нет, так что пуля вылетает и прилетает сразу же за нажатием кнопки выстрела, а мертвые не стреляют. Хотя мало ли, пинг, предиктинг, очередность обработки событий - надо точно по коду вымерять, возможно ли такое. Только вот кого это волнует? Можно - так можно (раз в сто лет прикольно), нельзя - так нельзя (никто и не заметит). Статистически незначимая ситуация.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено underworlddemon 16-12-2011 в 06:03:

зато в ХЛ есть смерть за углом \ после телепорта
ты уже оказался в зоне недосягаемости, а умираешь
смешнее всего выглядит в моде NS, где у чужих есть "онос"
съедает от космодисантника
телепортируется и умирает на той стороне по описанному выше сценарию
я думаю вы догадались, где оказывается ещё живой космодисантник после такой операции


Отправлено qpAHToMAS 16-12-2011 в 08:08:

Запускаю КОЭС, в консоле добавляю setinfo ключ с уникальным именем и параметром, например:

code:
setinfo "DlVzTxq" "YnSRw"

Открываю ArtMoney, произвожу поиск по строке "DlVzTxq", находит, изменяю ее на любую, необходимую мне (пускай даже такой же длины), проверяю (прописав setinfo без опций) — ничего не изменилось.
В чем проблема?


Отправлено Дядя Миша 16-12-2011 в 08:27:

Цитата:
underworlddemon писал:
зато в ХЛ есть смерть за углом \ после телепорта

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено PomanoB 16-12-2011 в 19:26:

Цитата:
qpAHToMAS писал:
Открываю ArtMoney, произвожу поиск по строке "DlVzTxq", находит, изменяю ее на любую, необходимую мне (пускай даже такой же длины), проверяю (прописав setinfo без опций) — ничего не изменилось.


Надо вызвать ClientUserInfoChanged что бы всё изменилось, правда это затруднительно сделать из ArtMoney )


Отправлено marikcool 16-12-2011 в 20:47:

заюзай чит энжин лучше, текст еще может хранится два байта на букву, в чит энжине и так и так ищет.


Отправлено -=DrTressi=- 17-12-2011 в 03:15:

добрый день! Подскажите как поставить ботов на параною
ЗЫ ставил акимбот,после замены длл параноя не запускается.

__________________
How interesting, just look at that!
© Scientist


Отправлено Shapirlic 17-12-2011 в 03:17:

Это нужно немного переписать ботские дллки.Скачай исходники HPB_bot,сделай чтоб он грузил параноевскую дллку,и напиши новые таблицы оружий для паранои


Отправлено qpAHToMAS 17-12-2011 в 15:41:

PomanoB, marikcool, спасибо обоим.


Отправлено -=DrTressi=- 19-12-2011 в 14:22:

Shapirlic

Цитата:
Shapirlic писал:
сделай чтоб он грузил параноевскую дллку

Эмм.. каким образом? Поподробнее можно?


Отправлено Shapirlic 19-12-2011 в 14:32:

В исходниках бота в dlls\h_export.cpp где то есть место,где по имени папки мода определяется какую дллку грузить.Поищи в этом файле функцию GiveFnptrsToDll там поищи условие типа ModName == Valve а там разберёшся )


Отправлено -=DrTressi=- 20-12-2011 в 05:03:

а шпилить чем?

__________________
How interesting, just look at that!
© Scientist


Отправлено Shapirlic 20-12-2011 в 12:47:

Всмысле шпилить?


Отправлено fire64 21-12-2011 в 06:54:

Объект имеет координаты, в локальной системе координат, заданной размерами bounding box.

Соответственно координаты могут иметь значения от 0, до 1
Подскажите, правильно ли я преобразую систему локальных координат?

C++ Source Code:
1
inline Vector UnpackingVector( Vector view_bbmin, Vector view_bbmax, Vector factor )
2
{
3
  Vector norm;
4
  norm.x = view_bbmax.x - view_bbmin.x;
5
  norm.y = view_bbmax.y - view_bbmin.y;
6
  norm.z = view_bbmax.z - view_bbmin.z;
7
 
8
  Vector pos;
9
  pos.x = norm.x * factor.x;
10
  pos.y = norm.y * factor.y;
11
  pos.z = norm.z * factor.z;
12
 
13
  Vector glob;
14
  glob.x = view_bbmin.x + pos.x;
15
  glob.y = view_bbmin.y + pos.y;
16
  glob.z = view_bbmin.z + pos.z;
17
 
18
  return glob;
19
}

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


Отправлено Дядя Миша 21-12-2011 в 08:52:

Локальная система координат просто считает центр объекта как 0 0 0.
А вовсе не имеет диапазон от 0 до 1.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 23-12-2011 в 08:18:

Shapirlic Ну компилить чем?

__________________
How interesting, just look at that!
© Scientist


Отправлено Shapirlic 23-12-2011 в 10:10:

MSVC 98 или 98-й студией.


Отправлено Дядя Миша 23-12-2011 в 15:33:

Цитата:
-=DrTressi=- писал:
Ну компилить чем?

а до этого ты чем компилил?

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 24-12-2011 в 03:23:

Дядя Миша А до этого я ни с чем подобным дела не имел. А Студии у меня на win7 не работають.


Отправлено (_-=ZhekA=-_) 24-12-2011 в 07:51:

Exclamation

Цитата:
-=DrTressi=- писал:
Дядя Миша А до этого я ни с чем подобным дела не имел. А Студии у меня на win7 не работають.

Ну здрасте... Microsoft Visual Studio 6 сп6 прекрасно работает на вин7 64!


Отправлено -=DrTressi=- 24-12-2011 в 08:49:

(_-=ZhekA=-_) Ну здрасьте, я какую то ставил, которую мне hawk4400 порекомендовал - нифига.

А сп6 эт что значит и где её можно качнуть?)

И есчо вопросик - исходники Паранои под неё?

__________________
How interesting, just look at that!
© Scientist


Отправлено (_-=ZhekA=-_) 24-12-2011 в 09:19:

Цитата:
-=DrTressi=- писал:
А сп6 эт что значит и где её можно качнуть?)

Сервис пак 6, я ее выкладывал уже по сто раз гугли этот форум.
Цитата:
-=DrTressi=- писал:
И есчо вопросик - исходники Паранои под неё?

Да


Отправлено Ku2zoff 24-12-2011 в 10:48:

Цитата:
-=DrTressi=- писал:
А Студии у меня на win7 не работають.

Уже который раз слышу это враньё. Всё прекрасно работает. Вот у меня как-то на WinXP Zver не работала половина программ, так я поставил чистую WinXP, сам ручками её настроил и всё заработало. Под Win7 надо ковырять совместимость. Если винда пишет, что ЯКОБЫ, msdev.exe не совместима с текущей версией виндовс, то это ложь, наглёж и провокация. Ставим галочку "не выдавать это предупреждение в дальнейшем" и запускаем. И так во всех случаях.


Отправлено Дядя Миша 24-12-2011 в 13:08:

Цитата:
-=DrTressi=- писал:
мне hawk4400 порекомендовал - нифига.

а кто такой hawk4400 ?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Nucleo 25-12-2011 в 10:58:

Недавно заметил, что мазлфлеш иногда "проваливается" в стены, модели, etc. Куда копать?


Отправлено Дядя Миша 25-12-2011 в 13:00:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 26-12-2011 в 08:49:

Дядя Миша

Цитата:
Дядя Миша писал:
а кто такой hawk4400 ?

Да хрен какой-то. На улице встретил. Но ссылка была торрентовская.

Ku2zoff
Цитата:
Ku2zoff писал:
Всё прекрасно работает.

Начнём с того что если б всё прекрасно работало - я бы не писал того что пишу.

Цитата:
Ku2zoff писал:
Вот у меня как-то на WinXP Zver не работала половина программ,

А вот у меня на Звере работало всё что поставишь. ообще всё.

Цитата:
Ku2zoff писал:
Под Win7 надо ковырять совместимость.

Да? О_о Так я перековырял уже всё что можно.

Цитата:
Ku2zoff писал:
Если винда пишет, что ЯКОБЫ, msdev.exe не совместима с текущей версией виндовс, то это ложь, наглёж и провокация. Ставим галочку "не выдавать это предупреждение в дальнейшем" и запускаем. И так во всех случаях.


А если Винда ничего не пишет? Кликаешь на файлик, появляются часики на секунду и всё. И нигде не отображается - ни в Диспетчере, ни в процессах. Что делать прикажешь?

__________________
How interesting, just look at that!
© Scientist


Отправлено XaeroX 26-12-2011 в 08:53:

Цитата:
-=DrTressi=- писал:
Что делать прикажешь?

Для начала попробуй переставить венду. Сколько месяцев твоей уже? Замылилась небось.

__________________

xaerox on Vivino


Отправлено -=DrTressi=- 26-12-2011 в 09:04:

XaeroX

Цитата:
XaeroX писал:
Для начала попробуй переставить венду.

Ну неужель если я б мог это сделать - не сделал бы... У меня комп на гарантии.

__________________
How interesting, just look at that!
© Scientist


Отправлено XaeroX 26-12-2011 в 09:14:

-=DrTressi=-
На софт тоже гарантия?

__________________

xaerox on Vivino


Отправлено -=DrTressi=- 26-12-2011 в 09:19:

XaeroX Гарантия на комп, но если я переустановлю винду - она слетит.

__________________
How interesting, just look at that!
© Scientist


Отправлено marikcool 26-12-2011 в 09:33:

Цитата:
-=DrTressi=- писал:
XaeroX Гарантия на комп, но если я переустановлю винду - она слетит.

это новый прикол у фирм?)
ну пусть тебе по гарантии на ПО починят винду, если ее нету, тогда меняй сам, а комп это же всего лишь железка.


Отправлено -=DrTressi=- 26-12-2011 в 09:38:

marikcoolА у меня с Виндой всё впорядке.

__________________
How interesting, just look at that!
© Scientist


Отправлено XaeroX 26-12-2011 в 09:41:

Цитата:
-=DrTressi=- писал:
А у меня с Виндой всё впорядке.

Как же всё в порядке, если студия не запускается? Не вижу тут никакого порядка. Проверенная временем и кучей людей программа вместо какого-либо сообщения (хоть своего, хоть виндового) просто показывает "часики" - это нормально?

__________________

xaerox on Vivino


Отправлено -=DrTressi=- 26-12-2011 в 09:44:

XaeroX Ну если это с 7 или Виста, то почему нет?

Это ж не дубовая родная ХР, под которую всё идёт)

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 26-12-2011 в 09:51:

XaeroX не спорь. В порядке так в порядке )

__________________
My Projects: download page

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

Цитата:

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


Отправлено underworlddemon 26-12-2011 в 10:10:

Цитата:
-=DrTressi=- писал:
Гарантия на комп, но если я переустановлю винду - она слетит.

что за бред ?
или ты что-то путаешь, или это явное нарушение прав покупателя


Отправлено -=DrTressi=- 26-12-2011 в 10:15:

underworlddemon

Цитата:
Дядя Миша писал:
не спорь. В порядке так в порядке )

__________________
How interesting, just look at that!
© Scientist


Отправлено XaeroX 26-12-2011 в 10:46:

Тогда, полагаю, вопрос решён - автора всё устраивает.

__________________

xaerox on Vivino


Отправлено -=DrTressi=- 26-12-2011 в 11:08:

XaeroX Началось всё с того что автор спросил, чем компилировать исходники ботов. И тут форумчане устроили демагогию.

__________________
How interesting, just look at that!
© Scientist


Отправлено Ku2zoff 26-12-2011 в 11:11:

Цитата:
-=DrTressi=- писал:
Гарантия на комп, но если я переустановлю винду - она слетит.

Что за мода пошла покупать компы с предустановленным говном? Если это ноут/нетбук тогда другое дело, да, там лицензия OEM, драйвера, всякие примочки для конкретной модели, резервный раздел и т.п. А на настольный надо самому ставить. И если гарантия на комп (железо), то почему она слетит, если переставить ОСь? Подозреваю, что диска с виндой в комплекте не было, потому что это тысяч десять лишних денег.
Цитата:
-=DrTressi=- писал:
Ну если это с 7 или Виста, то почему нет?

6ая студия прекрасно работает даже на W7 x64. Для студии .NET 2003 нужна галочка "отключить визуальное оформление" и тоже будет работать.
Цитата:
-=DrTressi=- писал:
А у меня с Виндой всё впорядке.

Ну раз в порядке, значит ищи другой компилятор и другую IDE.


Отправлено marikcool 02-01-2012 в 00:26:

Берем карту даст2, теперь делаем прыжок в районе от респа терров на проход к началу B точки.
там небольшая высота но игроков всегда коцает, поэтому поставили здоровеный ящик для безопасного спуска.
если прыгаем с fps_max 101 то получаем урон ~15 хп, если спрыгивать с fps_max 10 то урона не будет, это работает независимо от сервера.
также скорость после прыжка при 10 fps непадает,а при высоком фпс подтормаживаем.
вопрос: где потенциальные грабли?
рендер с удпклиентом работает в одном потоке(тем самым при низком фпс идет потеря данных) + плохой предиктинг на сервере?

еще заметил, cl_forwardspeed 149 позволяет двигаться без звука быстрее чем на +speed, в свою очередь +speed режет скорость на больше чтобы с учетом стрейфа/прогулок в доль стены/мотание башней и наличием в руках скаута скорость не добиралась до 150.(это типо легальный чит получается)


Отправлено Дядя Миша 02-01-2012 в 08:12:

здоровье отымается только на сервере.
То шо игрока коцает - неудивительно. В халфе идиотская система рассчета повреждений, базирующаяся на том, сколько времени игрок провёл в воздухе. Отсюда вывод - даже если сделать триггеры прыжков как в quake3 и прыгать в длину - игрока будет сильно коцать. См. соответствующий звук в рикошете. Да что там! Ставим на карту два ящика, таким образом, чтобы игрок мог между ними залипнуть, если держать нажатой клавишу вперед. Прыгаем, залипаем между ящиками в полёте. Высота от земли - юнитов 5-6. Если повисеть в таком состоянии секунд 10, то при отпускании кнопки игрока размажет об землю насмерть.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 02-01-2012 в 08:49:

Цитата:
Дядя Миша писал:
Да что там! Ставим на карту два ящика, таким образом, чтобы игрок мог между ними залипнуть, если держать нажатой клавишу вперед. Прыгаем, залипаем между ящиками в полёте. Высота от земли - юнитов 5-6. Если повисеть в таком состоянии секунд 10, то при отпускании кнопки игрока размажет об землю насмерть.

В таком случае, как тогда такое возможно?


Отправлено Дядя Миша 02-01-2012 в 10:56:

Не В ТАКОМ случае, а как раз потому и возможно, с учётом того что я написал.
А вот если сделать наоборот - прыгнуть в ту же щель с земли и повисеть там десять секунд - игрока качественно размажет об пол.
Но тут есть маленькая хитрость: PM_FlyMove не должен найти нижнюю плоскость, чтобы считать что игрок в воздухе. То есть с наскоку такие ящики не сделаешь. Но всё вполне реально. И что самое главное - очень предиктабельно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 02-01-2012 в 11:18:

получается при низком фпс сервер неточно знает когда игрок оторвался от земли, следовательно был очень мало в воздухе?


Отправлено Дядя Миша 02-01-2012 в 12:40:

дело тут не только в фпс.
Во первых чем ниже фпс, тем больше фрейм-тайм, и как следствие - тем большее расстояние проходит игрок за 1 кадр.
Во вторых, как я уже говорил дамага при падении об землю вычисляется из времени, проведенного в воздухе, а вовсе не исходя из высоты, с которой упал игрок. Именно благодаря этому и возможны всякие трюки.
Опять же есть зона безопасности - время за которое игрок упадёт без дамаги. Ну с этим все сталкивались - прыгаешь вниз стоя или в прыжке - получаешь дамагу. Прыгаешь вниз в полуприсяде - дамагу не получаешь.
Хотя казалось бы какая разница? А разница как раз в том, что прыгая из положения сидя, ты уменьшаешь дистанцию падения. Немного - на 16 юнитов, но вполне достаточно, чтобы не преодолеть некий порог, после которого наносится дамага.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 02-01-2012 в 13:15:

Цитата:
Дядя Миша писал:
Во вторых, как я уже говорил дамага при падении об землю вычисляется из времени, проведенного в воздухе, а вовсе не исходя из высоты, с которой упал игрок.

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

См. CBasePlayer::PostThink, CHalfLifeRules::FlPlayerFallDamage

Или ты хочешь сказать, что в PM-коде баг и велосити нарастает, если игрок застрял?

__________________

xaerox on Vivino


Отправлено Дядя Миша 02-01-2012 в 14:05:

Цитата:
XaeroX писал:
Всю жизнь наивно полагал, что вычисляется она из m_flFallVelocity, а тут прям какой-то срыв покровов

хыхыхыхыхыхыххыхыххы. А fallvelocity по твоему как считается? От времени проведенного в воздухе. Чем больше времени в воздухе провёл - тем она выше. На первый взгляд это правильно, игрок падает на землю с возрастающей скоростью, но! Существуют случаи, когда игрок чотко застревает между двумя брашами, которые сходятся под определенным углом. Там где-то интересный баг в PM_FlyMove, благодаря которому считается что игрок по прежнему летит вниз, хотя на самом деле он висит между двумя брашами, зажав кнопку "вперед". Баг воспроизводим и на ксаше и в халфе.
Цитата:
XaeroX писал:
и велосити нарастает, если игрок застрял?

не застрял, говорю же! Есть случаи, когда можно висеть в воздухе, зажав кнопку "вперед". Причём висеть неограниченно долго.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 02-01-2012 в 14:10:

Дядя Миша, а про Edge Bug так же раскидать сможешь? Когда с любой высоты (даже очень огромной) можно приземлиться уголком игрока на край плоскости (едва коснуться) и не потерять ни HP.


Отправлено Дядя Миша 02-01-2012 в 14:18:

qpAHToMAS скорее всего pmove->onground раньше обнуляет flFallVelocity чем она успевает причинить игроку повреждения. Ты краешком коснулся тебе назначили землю и ускорение обнулилось.
Что-то такое, но я толком не разбирался.
Таких забавных багов в первой халфе предостаточно, но их никто не правит, потому что они дают охрененные преимсущества тем, кто их освоил.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 02-01-2012 в 14:35:

Цитата:
Дядя Миша писал:
А fallvelocity по твоему как считается?

-pev->velocity.z
Цитата:
Дядя Миша писал:
Там где-то интересный баг в PM_FlyMove, благодаря которому считается что игрок по прежнему летит вниз, хотя на самом деле он висит между двумя брашами, зажав кнопку "вперед".

Я с халфовским пмувом не особо знаком, но логично предположить, что есть wishvel, которая увеличивается перед Pmovesingle, и есть реальная скорость, которая присваивается после колоизации и клипвелосити по бампплейнам.

__________________

xaerox on Vivino


Отправлено Дядя Миша 02-01-2012 в 15:58:

Цитата:
XaeroX писал:
-pev->velocity.z

не. в PM_AddCorrectGravity();
Туда постоянно что-то пишется, а если игрок стоит на земле, то pmove->velocity[2] обнуляется каждый кадр.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 02-01-2012 в 16:02:

Цитата:
Дядя Миша писал:
не

Что - не?

__________________

xaerox on Vivino


Отправлено Government-Man 02-01-2012 в 17:59:

Дядя Миша если повреждения считаются по времени проведенному в воздухе, то как можно в опфоре подпрыгнуть на батуте на огромную высоту и не потерять хп?


Отправлено Дядя Миша 02-01-2012 в 18:18:

Цитата:
Government-Man писал:
то как можно в опфоре подпрыгнуть на батуте на огромную высоту и не потерять хп?

там запас положительного велосити большой. Пока AddCorrectGravity его обратно отнимет, времени пройдет в два раза больше.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Government-Man 03-01-2012 в 00:29:

Дядя Миша дык... получается что повреждение рассчитывается по дистанции которую пролетел игрок вниз по оси Z - ну это совсем другое дело...


Отправлено marikcool 03-01-2012 в 16:55:

Цитата:
Government-Man писал:
Дядя Миша дык... получается что повреждение рассчитывается по дистанции которую пролетел игрок вниз по оси Z - ну это совсем другое дело...

он же написал что по времени в воздухе а не по z
как я понял, что дальше мы получаем fallvelocity а потом уже расчитываем дамадж там по mp_falldamage и величины fallvelocity


Отправлено Government-Man 03-01-2012 в 22:06:

marikcool а с какого момента начинает считаться это время? С момента отрыва ног от земли или же с того момента когда вертикальная скорость стала отрицательной?


Отправлено marikcool 03-01-2012 в 22:59:

Цитата:
Government-Man писал:
marikcool а с какого момента начинает считаться это время? С момента отрыва ног от земли или же с того момента когда вертикальная скорость стала отрицательной?

получается с момента как он оторвался от земли.
в претхинке
C++ Source Code:
1
if ( !FBitSet ( pev->flags, FL_ONGROUND ) )
2
{
3
  m_flFallVelocity = -pev->velocity.z;
4
}

в постхинке
C++ Source Code:
1
if (FBitSet(pev->flags, FL_ONGROUND))
2
{
3
  //..
4
  m_flFallVelocity = 0;
5
}


само выставление флага FL_ONGROUND я чето ненашол, походу сам движок его выставляет я хз,
я искал конструкцию типо как тут, у класса игрока и у тех классов у кого он наследуется.
C++ Source Code:
1
void CFlockingFlyer :: FallHack( void )
2
{
3
  if ( pev->flags & FL_ONGROUND )
4
  {
5
    if ( !FClassnameIs ( pev->groundentity, "worldspawn" ) )
6
    {
7
      pev->flags &= ~FL_ONGROUND;
8
      ...



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


Отправлено Government-Man 04-01-2012 в 00:36:

Цитата:
marikcool писал:
m_flFallVelocity = -pev->velocity.z;


Ну... вертикальная скорость... так и должно быть по логике. Где тут зависимость повреждения от времени проведенного в воздухе ваще?


Отправлено marikcool 04-01-2012 в 07:45:

кто может скинуть хорошую статью плюсы и минусы по работе со строкой через указатель или объявленный массив ну вообще с любыми объектами по типу:
char * s1 = "test" и char s2[32]= "test"


Отправлено Дядя Миша 04-01-2012 в 08:58:

Цитата:
marikcool писал:
само выставление флага FL_ONGROUND я чето ненашол, походу сам движок

в SV_FinishPmove
C++ Source Code:
1
if( svgame.pmove->onground == -1 )
2
  clent->v.flags &= ~FL_ONGROUND;
3
else if( pmove->onground >= 0 && pmove->onground < pmove->numphysent )
4
{
5
  clent->v.flags |= FL_ONGROUND;
6
  clent->v.groundentity = EDICT_NUM( svgame.pmove->physents[svgame.pmove->onground].info );
7
}

По сути ускорение начинает нарастать за счёт аддитации гравитации.
То есть это не ускорение. Это просто прибавляется гравитация.
Если игрока подкинул триггер_пуш, то ускорение записывается в basevelocity.

Добавлено 04-01-2012 в 12:58:

Цитата:
marikcool писал:
кто может скинуть хорошую статью плюсы и минусы по работе со строкой через указатель или объявленный массив ну вообще с любыми объектами по типу:
char * s1 = "test" и char s2[32]= "test"

вообще по работе с указателями? или именно со строками?
Я давно хочу написать статью про арифметику указателей, потому что многие боятся её пользовать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено VXP 04-01-2012 в 09:35:

Цитата:
Дядя Миша писал:
Я давно хочу написать статью про арифметику указателей, потому что многие боятся её пользовать.

Напиши и про это , пожалуйста


Отправлено marikcool 04-01-2012 в 10:55:

Цитата:
Дядя Миша писал:
вообще по работе с указателями? или именно со строками?
Я давно хочу написать статью про арифметику указателей, потому что многие боятся её пользовать.

интересует строки а также другие классы, в чем преимущества, и в каком месте и как и где выделяется память в случае с указателем.
а также моменты как утечка/порча памяти.

еще хотел узнать static переменные после рестарта сервера (через команду restart) значения сохраняют?

также вопрос про memset, если я буду использовать значения 0, его следует вызывать если переменая больше 4 байт?


Отправлено Дядя Миша 04-01-2012 в 11:32:

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

C++ Source Code:
1
// give space for textures and skinrefs
2
size1 = thdr->numtextures * sizeof( mstudiotexture_t );
3
size2 = thdr->numskinfamilies * thdr->numskinref * sizeof( short );
4
mod->cache.data = Mem_Alloc( loadmodel->mempool, phdr->length + size1 + size2 );
5
Q_memcpy( loadmodel->cache.data, buffer, phdr->length ); // copy main mdl buffer
6
phdr = (studiohdr_t *)loadmodel->cache.data; // get the new pointer on studiohdr
7
phdr->numskinfamilies = thdr->numskinfamilies;
8
phdr->numtextures = thdr->numtextures;
9
phdr->numskinref = thdr->numskinref;
10
phdr->textureindex = phdr->length;
11
phdr->skinindex = phdr->textureindex + size1;
12
 
13
in = (byte *)thdr + thdr->textureindex;
14
out = (byte *)phdr + phdr->textureindex;
15
Q_memcpy( out, in, size1 + size2 );	// copy textures + skinrefs
16
phdr->length += size1 + size2;

в ужасе прячется под стол. А между тем ксаш именно потому и потребляет так мало памяти, что там очень многое делается вручную.
Мало - даже по сравнению с халфой, я имею в виду.

Добавлено 04-01-2012 в 15:32:

А и кстати, маленький тест на профпригодность:
чем вот эта конструкция
C++ Source Code:
ptr1 = ptr2;

отличается от вот этой
C++ Source Code:
*ptr1 = *ptr2;

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 04-01-2012 в 11:36:

Цитата:
marikcool писал:
еще хотел узнать static переменные после рестарта сервера (через команду restart) значения сохраняют?

я всегда удивлялся программистам, которые не знают языка, на котором пишут. Это как русский писатель, пишущий книги и не знающий русского языка (а что, и такие есть).

__________________

xaerox on Vivino


Отправлено FiEctro 04-01-2012 в 11:37:

XaeroX
Можно сказать ты пряма прочитав Страуструпа прямо сразу сел и за вечер написал волатилу . В этом деле практика, практика.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 04-01-2012 в 11:43:

Цитата:
FiEctro писал:
В этом деле практика, практика.

ну ты вон уже сколько лет практикуешься и что и где?

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 04-01-2012 в 11:45:

FiEctro
Прочитав Страуструпа (которого я, кстати, не читал), я не задавал глупых вопросов по основам языка. А в самом деле сел и написал волатилу, правда, не эту - а старую и глючную, и вообще на DirectX 7. Но тем не менее.

Добавлено 04-01-2012 в 18:45:

Цитата:
Дядя Миша писал:
ну ты вон уже сколько лет практикуешься и что и где?

В подписи у него, где ж ещё?

__________________

xaerox on Vivino


Отправлено FiEctro 04-01-2012 в 11:54:

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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 04-01-2012 в 11:55:

FiEctro
Тогда и не советуй другим.

__________________

xaerox on Vivino


Отправлено marikcool 04-01-2012 в 13:06:

ptr1 = ptr2; - присваивание значений
*ptr1 = *ptr2; - указателю ptr1 присваиваем указатель ptr2,
отсюда значение переменной ptr1 будет ровно значению ptr2,
если ptr2 = NULL то и ptr1 станет NULL.
вроде так.

мне интересно когда мы тупо в указатель char пишем например 2000 байт букв, он же атким образом портит память в другом месте?
надо выделить память либо объявить char text[2000]
а потом уже можно *text работать?

вот пример:

C++ Source Code:
1
const char *pszName;
2
if (!II.pszName)
3
  pszName = "Empty";
4
else
5
  pszName = II.pszName;

куда слово "Empty" сохранилось, и как под нее память выделилась?


Отправлено Дядя Миша 04-01-2012 в 18:58:

Цитата:
marikcool писал:
куда слово "Empty" сохранилось, и как под нее память выделилась?

прямо при компиляции. Открой дллку в блокноте и найди своё слово.
Когда дллка загружена в память, там есть и несколько байт для твоего слова.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Government-Man 04-01-2012 в 19:20:

Цитата:
Дядя Миша писал:
Открой дллку в блокноте и найди своё слово.


Изучая текстовые строки внутри бинарника зачастую можно узнать много нового и интересного о программе и программистах ее писавших. Из утекшей беты клиента Dota 2 таким образом половину исходников Ep3 достали...


Отправлено Дядя Миша 04-01-2012 в 19:53:

Цитата:
Government-Man писал:
Из утекшей беты клиента Dota 2 таким образом половину исходников Ep3 достали...

лучше бы они оттуда достали целый иписод с текстураме.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Jimmy C. 05-01-2012 в 16:21:

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

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено Ku2zoff 05-01-2012 в 16:47:

Цитата:
(epeFk@ писал:
как сделать чтобы декали не оставались на скае и не летели ошметки?

Декалей на скае не бывает. А "ошмётки" надо отключать в коде. Если попадаем в небо - их нет. В HLWE вроде есть такая проверка.


Отправлено Дядя Миша 05-01-2012 в 16:48:

есть какой-то параметр у конпилятора, который делает небо проницаемым для точечного хулла.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Jimmy C. 05-01-2012 в 16:55:

и еще вопрос: как сделать чтобы при стрельбе в гранату она взрывалась (weapon_handgrenade) или если гранату выкинули и она еще не взорвалась, то при стрельбе взорвалась тутже (monster_grenade)?

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено PunkPaToB 08-01-2012 в 09:17:

Панкрат вопрошает о FGD

Здрасти епту.

Я тут так то подумал , в кс бомба является предметом игровым и както проиндексированна.
Возможно ли при помощи FGD добавить к энтити armoury_entity такой предмет как бомба?

__________________
А что нет?


Отправлено marikcool 08-01-2012 в 10:33:

Цитата:
PunkPaToB писал:
Панкрат вопрошает о FGD

Здрасти епту.

Я тут так то подумал , в кс бомба является предметом игровым и както проиндексированна.
Возможно ли при помощи FGD добавить к энтити armoury_entity такой предмет как бомба?

#define WEAPON_C4 6


Отправлено qpAHToMAS 08-01-2012 в 10:33:

PunkPaToB, ну так попробуй дописать в список к armoury_entity C4, например:

code:
19: "weapon_c4"

Я давно как-то с C4 забавлялся, походу делал тоже самое и это работало.


Отправлено FiEctro 08-01-2012 в 10:33:

weapon_c4?

З.Ы. Опередили, уже 2 поста наштамповать успели.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено PunkPaToB 08-01-2012 в 11:01:

Ребята , спасибо)
Теперь можно для ES режима добавить закладку бомбы)
Но за бомбой можно на склад забежать)

Добавлено 08-01-2012 в 15:01:

Добавил , неработает
Вместо нее видно броню , которую нельзя подобрать
Сделайте пожалуста , если это возможно на основе вот этого фгд
http://cs-mapping.com.ua/tools/cs_e...dmitrich800.zip

__________________
А что нет?


Отправлено -=DrTressi=- 08-01-2012 в 15:17:

PunkPaToB А смысл? Собраться камандой и поставить кучу бомб, чтоб спецназ помучались?

__________________
How interesting, just look at that!
© Scientist


Отправлено PunkPaToB 08-01-2012 в 15:46:

-=DrTressi=-
А блин , точно
Ведь бомба дается если на карте есть зоны установки бомбы.

__________________
А что нет?


Отправлено FiEctro 08-01-2012 в 16:32:

Я как то писал тутор как можно бомбу сделать чисто мапперским способом. Из Black Ops утянул .

http://cs-mapping.com.ua/forum/showthread.php?t=12861

Доработай и используй. Нада кстати его доработать и на этот форум запостить.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Shapirlic 14-01-2012 в 15:58:

Как можно получить общую степень светлости данного уже отрендеренного кадра? Тоесть в одной цифре получить как бы средний цвет сцены?


Отправлено Дядя Миша 14-01-2012 в 16:18:

Да элементарно.
Надо сделать glReadPixels в заранее заготовленный буффер, как будто ты собрался сохранить скриншот, но вместо сохранения скриншота пробежаться по всем пикселеям суммируя их цветность в общий вектор.
Затем вектор следует поделить на сумму пикселей и мы получим средний цвет для экрана. Затем следует умножить каждый пиксель на константу рекомендованную ARB для достоверного преобразования RGB в B&W, сложить три компоненты вектора вместе и поделить на три. И мы получим общую степень светлости "уже отрендеренного кадра".
Но, предупреждаю, что метод заведомо тормозной и идиотский, как впрочем и твой вопрос )

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 14-01-2012 в 16:20:

А как нибудь не тупо и тормозно можно?


Отправлено Alex_Gordon 14-01-2012 в 16:22:

Объясните тупому, для чего существует функция SetThink?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено XaeroX 14-01-2012 в 16:44:

Shapirlic
Ты HDR делаешь? Вот и гугли по теме tonemapping.

Добавлено 14-01-2012 в 23:44:

Alex_Gordon
Для установки калбэка тчинка.

__________________

xaerox on Vivino


Отправлено Alex_Gordon 14-01-2012 в 17:07:

Цитата:
XaeroX писал:
тчинка

Что такое "тчинк" и за что он отвечает?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 14-01-2012 в 17:13:

Довольно странные вопросы для создателя UG3.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 14-01-2012 в 17:15:

Alex_Gordon
тчинк = think
функция, выполняемая с заданным интервалом, следующее выполнение которой указано в pev->nextthink.

__________________

xaerox on Vivino


Отправлено Alex_Gordon 14-01-2012 в 17:22:

XaeroX, т.е. насколько я понял, при калбэке think функция выполняется как бы с "задержкой" (пока она не выполнится, другая не начнется), так?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено XaeroX 14-01-2012 в 17:30:

Alex_Gordon
SetThink переопределяет функцию, которая будет выполняться в качестве think. По дефолту - это собственно функция Think класса.
Никаких задержек нет, функция действительно выполняется по истечении времени, но это проверяется в каждом кадре обновления сервера.
----------------
Ты в самом деле этого не знаешь?

__________________

xaerox on Vivino


Отправлено Alex_Gordon 14-01-2012 в 17:34:

XaeroX да, не знал =)

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено qpAHToMAS 15-01-2012 в 01:43:

Цитата:
Shapirlic писал:
А как нибудь не тупо и тормозно можно?

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


Отправлено qpAHToMAS 15-01-2012 в 06:22:

Не могу отредактировать сообщение, вопрос:
В оригинальной Half-life есть аналог r_novis? Как в Xash 3D.


Отправлено pRoxxx 15-01-2012 в 09:40:

Цитата:
qpAHToMAS писал:
В оригинальной Half-life есть аналог r_novis? Как в Xash 3D.


Ну квар есть.


Отправлено qpAHToMAS 15-01-2012 в 10:05:

pRoxxx, вот это я затупил, действительно, есть .


Отправлено Дядя Миша 15-01-2012 в 10:35:

Цитата:
qpAHToMAS писал:
В оригинальной Half-life есть аналог r_novis?

Почему вы так боитесь проверить ваши предположения?
Скоро без форума и чихнуть не сможете.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 16-01-2012 в 09:13:

снова втему про клиентский аплоад и кастомизацию игрока, кто нибудь пробовал добавлять звуки модели?

C++ Source Code:
1
/*
2
================
3
PlayerCustomization
4
 
5
A new player customization has been registered on the server
6
UNDONE:  This only sets the # of frames of the spray can logo
7
animation right now.
8
================
9
*/
10
void PlayerCustomization( edict_t *pEntity, customization_t *pCust )
11
{
12
  entvars_t *pev = &pEntity->v;
13
  CBasePlayer *pPlayer = (CBasePlayer *)GET_PRIVATE(pEntity);
14
 
15
  if (!pPlayer)
16
  {
17
    ALERT(at_console, "PlayerCustomization:  Couldn't get player!\n");
18
    return;
19
  }
20
 
21
  if (!pCust)
22
  {
23
    ALERT(at_console, "PlayerCustomization:  NULL customization!\n");
24
    return;
25
  }
26
 
27
  switch (pCust->resource.type)
28
  {
29
  case t_decal:
30
      pPlayer->SetCustomDecalFrames(pCust->nUserData2); // Second int is max # of frames.
31
    break;
32
  case t_sound:
33
    case t_skin:
34
      case t_model:
35
          // Ignore for now.
36
        break;
37
      default:
38
          ALERT(at_console, "PlayerCustomization:  Unknown customization type!\n");
39
        break;
40
      }
41
  }


Отправлено Дядя Миша 16-01-2012 в 09:58:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 16-01-2012 в 18:34:

Вот скажите что в этом коде неправильно? Если не найдёте ошибки я вкину видео того как этот с виду нормальный код себя ведёт.

C++ Source Code:
1
void CFlash::PrimaryAttack( void )
2
{
3
#ifndef CLIENT_DLL
4
  TraceResult tr;
5
 
6
  UTIL_MakeVectors (m_pPlayer->pev->v_angle);
7
  Vector vecSrc	= m_pPlayer->GetGunPosition( );
8
  Vector vecEnd	= vecSrc + gpGlobals->v_forward * 30;
9
 
10
  UTIL_TraceHull( vecSrc, vecEnd, dont_ignore_monsters, head_hull, ENT( m_pPlayer->pev ), &tr );
11
 
12
  if ( tr.pHit )
13
  {
14
 
15
    switch( (m_iSwing++) % 2 )
16
    {
17
      case 0: SendWeaponAnim( FLASH_ATTACKHIT1 ); break;
18
      case 1: SendWeaponAnim( FLASH_ATTACKHIT2 ); break;
19
    }
20
 
21
    CBaseEntity *pEntity = CBaseEntity::Instance(tr.pHit);
22
 
23
    if (pEntity)
24
    {
25
      pEntity->TakeDamage( pev, m_pPlayer->pev , 5, DMG_CLUB );
26
 
27
      if ( pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE )
28
      {
29
        // play thwack or smack sound
30
        switch( RANDOM_LONG(0,2) )
31
        {
32
          case 0: EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod1.wav", 0.3, ATTN_NORM); break;
33
          case 1: EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod2.wav", 0.3, ATTN_NORM); break;
34
          case 2: EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/cbar_hitbod3.wav", 0.3, ATTN_NORM); break;
35
        }
36
 
37
      }
38
      else
39
      {
40
        switch( RANDOM_LONG(0,1) )
41
        {
42
        case 0:
43
            EMIT_SOUND(ENT(pev), CHAN_BODY, "weapons/cbar_hit1.wav", 0.3, ATTN_NORM); break;
44
        case 1:
45
            EMIT_SOUND(ENT(pev), CHAN_BODY, "weapons/cbar_hit2.wav", 0.3, ATTN_NORM); break;
46
        }
47
 
48
      }
49
      m_pPlayer->m_iWeaponVolume = 25;
50
 
51
    }
52
 
53
 
54
  }
55
  else
56
  {
57
    switch( (m_iSwing++) % 2 )
58
    {
59
      case 0: SendWeaponAnim( FLASH_ATTACK1 ); break;
60
      case 1: SendWeaponAnim( FLASH_ATTACK2 ); break;
61
    }
62
 
63
    EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/cbar_miss1.wav", 0.3, ATTN_NORM, 0, 94 + RANDOM_LONG(0,0xF));
64
 
65
 
66
 
67
  }
68
 
69
 
70
#endif
71
  if(m_pPlayer->ServoOn == 0)
72
    m_flNextPrimaryAttack =  m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.8;
73
  else
74
    m_flNextPrimaryAttack =  m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 0.7;
75
 
76
  m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
77
  m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 4;
78
}


Отправлено Дядя Миша 16-01-2012 в 18:45:

ну а чо тут? Квейковский примитивный метод с одним трейслейном.
Полагаешь FindHullIntersection в халфе от хорошей жизни появился?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 16-01-2012 в 18:52:

Но почему этот код ведёт себя ТАК???
http://www.youtube.com/watch?v=xyqy3hHSGwA


Отправлено XaeroX 16-01-2012 в 18:55:

Поставь алерт на класснейм pEntity для начала.

__________________

xaerox on Vivino


Отправлено Дядя Миша 16-01-2012 в 19:56:

Я бы посоветовал сначала поставить траселайн.

Добавлено 16-01-2012 в 23:56:

Гля и модельку фонарика упёр в свой мод
А ты у Доктора Тресси разрешения спросил? а ты у меня разрешения спросил?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 16-01-2012 в 20:27:

Авторские права за тобой Дядя Миша ) Если не нравится - вырежу модель поставлю другую


Отправлено Дядя Миша 16-01-2012 в 20:45:

Конечно не нравится. Если бы ксаш-мод уже вышел я бы слова ни сказал.
А теперь будут думать что это я у тебя упёр. Так что вырезай.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 17-01-2012 в 03:04:

Модельку поставил ту что мне XF-Alien с Half-Life форума сделал.Можно анимации Доктора Тресси оставить?


Отправлено -=DrTressi=- 17-01-2012 в 08:22:

Shapirlic Нельзя. В анимации как раз весь смак. Сделай новую!

__________________
How interesting, just look at that!
© Scientist


Отправлено Shapirlic 17-01-2012 в 13:24:

С анимациями у меня туго.Ну тогда фонарик без удара будет пока )


Отправлено marikcool 27-01-2012 в 08:54:

я тут баловался с видом от третего лица.

после того как я сдвинул камеру, я сделал чтобы патроны летели в прицел через изменения gunposition (по стандарту игрок стреляет прямо перед собой).
в трейсе пули используется дистанция полета обычно равная ~4 или ~8 тыщям, следовательно получается чтобы патрон точно попал в центр прицела и в объект, дистанция полета должна равнятся растоянию от игрока до объекта.
Это можно исправить добавив дополнительный трейс для расчета дистанции.
интересует как дальше трасировать объекты если я хочу сделать пробиваемость? у меня только идея поварчивать трейс после первого объекта, используя данные трейся для расчета дистанции.

схемка и скрины для наглядности:






[IMG]


Отправлено Дядя Миша 27-01-2012 в 09:08:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 27-01-2012 в 09:17:

Цитата:
Дядя Миша писал:
не, это ерунда какая-то со сдвигом.
Ты лучше сделай так, чтобы при прицеле камера сдвигалась обратно на вид из глаз.

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

как интересно в других играх то сделано? неужто патрон также непопрямой двигается?


Отправлено Дядя Миша 27-01-2012 в 09:55:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 27-01-2012 в 10:04:

Цитата:
Дядя Миша писал:
патрон я думаю также и двигается с вида из глаз. Игроки просто об этом не задумываются.

с центра стрелять нельзя, тогда можно будет поместить модель игрока за колону/или стену и стрелять с центра экрана.


Отправлено PomanoB 27-01-2012 в 10:12:

Из центра глаз наверное в смысле глаз модельки игрока.
А почему понадобилось изменять-то?


Отправлено marikcool 27-01-2012 в 10:17:

Цитата:
PomanoB писал:
Из центра глаз наверное в смысле глаз модельки игрока.
А почему понадобилось изменять-то?

если так то во второй объект в прицеле никогда не попасть, патрон уйдет вправо от прицела.


Отправлено Дядя Миша 27-01-2012 в 11:24:

Цитата:
marikcool писал:
с центра стрелять нельзя, тогда можно будет поместить модель игрока за колону/или стену и стрелять с центра экрана.

- пушка стреляет не по прямой, а по параболе.
- а если её положить набок, то можно стрелять за угол
- по уставу пушку класть набок не положено!

__________________
My Projects: download page

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

Цитата:

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


Отправлено PomanoB 27-01-2012 в 12:00:

marikcool, ну это уже издержки, да и как целиться-то во второй объект, если он всё равно загорожен

Стрелять по дуге бред


Отправлено marikcool 27-01-2012 в 12:19:

Цитата:
PomanoB писал:
marikcool, ну это уже издержки, да и как целиться-то во второй объект, если он всё равно загорожен


прострел стен/стрельба через стекло

ps: сделаю по своему варианту) все равно никто не заметит)


Отправлено Jimmy C. 31-01-2012 в 10:38:

Напишу сдесь
1. как поправить этот баг?


2. как сделать чтобы scripted_sequence мог стрелять подстволкой?
3. как сделать чтобы барнакл поднимал свою жертву плавно с рывками (как в HL2)

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено Василь 01-02-2012 в 18:38:

(epeFk@ ну ты бы объяснил людям какой именно баг? Рука торчащая? Ну дак легко, нужно всего лишь переделать анимации =)

__________________
HomePage
YouTube
RIP - Defiler Unit


Отправлено Shapirlic 01-02-2012 в 18:39:

Он имеет ввиду то что партикли повёрнуты к игроку как я понял


Отправлено Jimmy C. 02-02-2012 в 04:27:

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

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено XaeroX 02-02-2012 в 04:50:

Там неправильные векторы forward/right/up. Надо их брать с pparms->angles, через AngleVectors, а там наверное они от углов локалплеера.

__________________

xaerox on Vivino


Отправлено marikcool 02-02-2012 в 06:51:

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

немогу понять, если в goldsrc спокойно можно бегать с любой скоростью (спидхак), почему сервак не поправляет игрока, получается все игроки на сервере локально бегают в своем измерение? поправки я вижу только когда идет потеря пакетов.


Отправлено -=DrTressi=- 02-02-2012 в 07:33:

Подскажите пожалуйста, как прервать действие мультименеджера?)

ЗЫ: При чём потом что бы его можно было заного запустить, и заного остановить если будет надобность.

__________________
How interesting, just look at that!
© Scientist


Отправлено marikcool 02-02-2012 в 07:37:

Цитата:
-=DrTressi=- писал:
Подскажите пожалуйста, как прервать действие мультименеджера?)

ЗЫ: При чём потом что бы его можно было заного запустить, и заного остановить если будет надобность.

найти свою entity по классу и имени например, и в тхинке мультименеджера не выставлять новое значение nextthink.


Отправлено Дядя Миша 02-02-2012 в 07:55:

-=DrTressi=- ну под спиритом его достаточно просто выключить, активировав еще раз. Или активировав с префиксом -.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 02-02-2012 в 11:29:

Цитата:
Дядя Миша писал:
Или активировав с префиксом -.

Оп! А как это сделать через энтити? Я с префиксами ток через trigger_command работал.

__________________
How interesting, just look at that!
© Scientist


Отправлено Jimmy C. 02-02-2012 в 11:36:

XaeroX не скажешь точнее где копать?

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено Дядя Миша 02-02-2012 в 11:52:

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

Добавлено 02-02-2012 в 15:52:

Цитата:
(epeFk@ писал:
не скажешь точнее где копать?

вот за эту и еще за фразу "а можно поподробнее" надо выдавать бан на полмесяца, я щитаю. Достало уже.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 02-02-2012 в 13:43:

Цитата:
Дядя Миша писал:
вот за эту и еще за фразу "а можно поподробнее" надо выдавать бан на полмесяца, я щитаю. Достало уже.

Вишь просто как правило то что говорят форумчане это итак понятно. К примеру раньше очень частым ответом на вопрос о какой либо фиче был "Только коддинг" или "только Спирит". Как бы это само-собой понятно. Вот и спрашивается "А можно поподробнее?".

ЗЫ: А какие в ксаше постфиксы и какие 2 префикса новых? Скажи или покажи где прочитать)

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 02-02-2012 в 14:31:

Цитата:
-=DrTressi=- писал:
Скажи или покажи где прочитать)

Не скажу. Я тебе уже один раз показал, а ты проигнорировал. Теперь сам ищи.

Цитата:
-=DrTressi=- писал:
Вот и спрашивается "А можно поподробнее?".

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 02-02-2012 в 18:43:

Дядя Миша Ты мне показал где прочитать про энтити. Которые разбросаны по всей теме. Ходи и собирай, как пазл.

Цитата:
Дядя Миша писал:
предполагается, что если уж человек в этом заинтерисован, то он самостоятельно сделает первый шаг и попытается что-то разузнать.

Верно, и если он пишет на форум с просьбой помочь, значит уже сделал первый шаг, попытался узнать и потерпел фиаско, а его глушат.. Или я не прав? Поправьте.

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 02-02-2012 в 19:28:

Нет не прав. Я тебе привел список сцылок по котором расписал всё.
Ты его проигнорировал. Вот этот: http://www.hlfx.ru/forum/showthread...91601#post91601
Проигнорировал же? А теперь опять спрашиваешь тоже самое.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Jimmy C. 04-02-2012 в 08:58:

Как сделать писк если подорвался на гранате, файл есть

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено -=DrTressi=- 04-02-2012 в 12:02:

Дядя Миша

Цитата:
Дядя Миша писал:
Ты его проигнорировал

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

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 04-02-2012 в 12:27:

Цитата:
-=DrTressi=- писал:
Почитал, да и бросил, не найдя нужного мне


Тю. А откуда я знаю что тебе нужно? Ну задай там свой вопрос. Зачем здесь флудить-то.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 05-02-2012 в 22:57:

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


Отправлено Дядя Миша 06-02-2012 в 08:34:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 06-02-2012 в 08:43:

Несколько вопросов -
1.когда убираешь какую нить бодигруппу,сменяя pev->body (ну например отстрелило чуваку голову ),убирается ли хитбокс этой бодигруппы? Если нет то как убрать
2.Есть ли какой нить способ контролировать через код положение кости на серверной стороне?


Отправлено Дядя Миша 06-02-2012 в 09:05:

Цитата:
Shapirlic писал:
Есть ли какой нить способ контролировать через код положение кости на серверной стороне?

есть. SV_StudioSetupBones - специально для таких дел.
См. описание в r_stdudioint.h настраивай экспорт и будешь контролировать кости на сервере.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Chyvachok 09-02-2012 в 16:04:

А как делать "loop" звуки, тоесть зацикленые, допустим для звука минигана?


Отправлено Ku2zoff 19-02-2012 в 13:35:

Цитата:
Chyvachok писал:
А как делать "loop" звуки, тоесть зацикленые, допустим для звука минигана?

Нужен редактор, в котором можно расставлять точки лупа. Например SoundForge. Может быть есть что-то легковесное и более узкопрофильное, ХЗ. Но я работал только в саундфордже, расставлял точки для звуков sound/plats из CSCZ: DS (там эти звуки не лупяптся, это меня бесило, поэтому сделал сам).


Отправлено Дядя Миша 19-02-2012 в 13:51:

Халфа не реагирует на саундфорж, только на Кул Эдит и Адоб аудишен.
А и на GoldWave ищо.
Потому что вот:

C++ Source Code:
1
if (!strncmp (data_p + 28, "mark", 4))
2
{	// this is not a proper parse, but it works with cooledit...
3
data_p += 24;
4
i = GetLittleLong ();	// samples in loop
5
info.samples = info.loopstart + i;
6
//				Con_Printf("looped length: %i\n", i);
7
}

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 19-02-2012 в 14:05:

Цитата:
Дядя Миша писал:
Халфа не реагирует на саундфорж

Хм, странно. МБ я перепутал что-то...

Добавлено 19-02-2012 в 21:05:

Товарищи, кто вставлял в свои моды код девятистороннего блендинга, скажите, плиз, как вы побороли отсутствие анимации прыжка у ног.


Отправлено StraighF 19-02-2012 в 14:53:

Цитата:
Дядя Миша писал:
Халфа не реагирует на саундфорж

Хм, я всё время для таких целей его использовал

__________________
Женщина - содержимое презерватива при полной инверсии пространства.


Отправлено marikcool 19-02-2012 в 14:53:

Цитата:
Ku2zoff писал:
Товарищи, кто вставлял в свои моды код девятистороннего блендинга, скажите, плиз, как вы побороли отсутствие анимации прыжка у ног.


никак не бороли. копипаста рулит

C++ Source Code:
1
void CBasePlayer::SetAnimation(PLAYER_ANIM PlayerAnim)
2
{
3
  float flSpeed = pev->velocity.Length2D();
4
  if (pev->flags & FL_FROZEN)
5
  {
6
    flSpeed = 0;
7
    PlayerAnim = PLAYER_IDLE;
8
  }
9
 
10
  m_IdealActivity = ACT_WALK;
11
 
12
  if (PlayerAnim == PLAYER_IDLE || PlayerAnim == PLAYER_WALK)
13
  {
14
    if (pev->flags & FL_SWIM || m_Activity != ACT_HOP || m_Activity != ACT_LEAP)
15
      m_IdealActivity = pev->waterlevel <= 1 ? ACT_WALK : flSpeed ? ACT_SWIM : ACT_HOVER;
16
    else
17
      m_IdealActivity = m_Activity;
18
  }
19
 
20
  else if (PlayerAnim != PLAYER_DIE)
21
  {
22
    if (m_Activity != ACT_SWIM && m_Activity != ACT_DIESIMPLE && m_Activity != ACT_HOVER)
23
    {
24
      if (PlayerAnim == PLAYER_JUMP) m_IdealActivity = ACT_HOP;
25
      else if (PlayerAnim == PLAYER_ATTACK1) m_IdealActivity = ACT_RANGE_ATTACK1;
26
      else if (PlayerAnim == PLAYER_ATTACK1_RIGHT) m_IdealActivity = ACT_RANGE_ATTACK2;
27
      else if (PlayerAnim == PLAYER_RELOAD) m_IdealActivity = ACT_RELOAD;
28
    }
29
    else m_IdealActivity = m_Activity;
30
  }
31
  else m_IdealActivity = ACT_DIESIMPLE;
32
 
33
  int iAnimDesired;
34
  char szAnimation[32];
35
  if (m_IdealActivity == ACT_HOP)
36
  {
37
    if (m_Activity == m_IdealActivity) return;
38
    if (m_Activity == ACT_RANGE_ATTACK1)
39
      sprintf(szAnimation, "ref_shoot_%s", m_szAnimExtention);
40
    else if (m_Activity == ACT_RANGE_ATTACK2) sprintf(szAnimation, "ref_shoot2_%s", m_szAnimExtention);
41
    else if (m_Activity == ACT_RELOAD) sprintf(szAnimation, "ref_reload_%s", m_szAnimExtention);
42
    else sprintf(szAnimation, "ref_aim_%s", m_szAnimExtention);
43
 
44
    if ((iAnimDesired = LookupSequence(szAnimation)) == -1) iAnimDesired = 0;
45
 
46
    if (pev->sequence != iAnimDesired || !m_fSequenceLoops) pev->frame = 0;
47
 
48
    m_Activity = m_IdealActivity;
49
    pev->gaitsequence = LookupActivity(m_Activity);
50
    return;
51
  }
52
 
53
  if (m_IdealActivity == ACT_RELOAD)
54
  {
55
    if (pev->flags & FL_DUCKING && pev->flags & FL_ONGROUND)
56
      sprintf(szAnimation, "crouch_reload_%s", m_szAnimExtention);
57
    else
58
      sprintf(szAnimation, "ref_reload_%s", m_szAnimExtention);
59
 
60
    if ((iAnimDesired = LookupSequence(szAnimation)) == -1) iAnimDesired = 0;
61
    if (pev->sequence != iAnimDesired || !m_fSequenceLoops) pev->frame = 0;
62
 
63
    m_Activity = m_IdealActivity;
64
  }
65
  else if (m_IdealActivity == ACT_WALK)
66
  {
67
 
68
    if ((m_Activity != ACT_RANGE_ATTACK1 && m_Activity != ACT_RANGE_ATTACK2 && m_Activity != ACT_RELOAD) || m_fSequenceFinished)
69
    {
70
      if (pev->flags & FL_DUCKING && pev->flags & FL_ONGROUND)
71
        sprintf(szAnimation, "crouch_aim_%s", m_szAnimExtention);
72
      else
73
        sprintf(szAnimation, "ref_aim_%s", m_szAnimExtention);
74
 
75
      if ((iAnimDesired = LookupSequence(szAnimation)) == -1)
76
        iAnimDesired = 0;
77
 
78
      m_Activity = m_IdealActivity;
79
      pev->gaitsequence = LookupActivity(ACT_RUN);
80
    }
81
    else
82
      iAnimDesired = pev->sequence;
83
  }
84
 
85
  else if (m_IdealActivity == ACT_DIESIMPLE)
86
  {
87
    if (!(pev->flags & FL_DUCKING))
88
    {
89
      switch (m_LastHitGroup)
90
      {
91
      case HITGROUP_GENERIC:
92
        {
93
          switch (RANDOM_LONG(0, 8))
94
          {
95
            case 0: iAnimDesired = LookupActivity(ACT_DIE_HEADSHOT); break;
96
            case 2: iAnimDesired = LookupActivity(ACT_DIE_BACKSHOT); break;
97
            case 4: iAnimDesired = LookupActivity(ACT_DIEBACKWARD); break;
98
            case 5: iAnimDesired = LookupActivity(ACT_DIEFORWARD); break;
99
            case 8: iAnimDesired = LookupActivity(ACT_DIE_HEADSHOT); break;
100
            case 6:iAnimDesired = LookupActivity(ACT_DIE_CHESTSHOT); break;
101
          case 1:
102
              case 7: iAnimDesired = LookupActivity(ACT_DIE_GUTSHOT); break;
103
            default: iAnimDesired = LookupActivity(ACT_DIESIMPLE); break;
104
          }
105
          break;
106
        }
107
        case HITGROUP_HEAD: iAnimDesired = LookupActivity(ACT_DIE_HEADSHOT); break;
108
        case HITGROUP_CHEST: iAnimDesired = LookupActivity(ACT_DIE_CHESTSHOT); break;
109
        case HITGROUP_STOMACH: iAnimDesired = LookupActivity(ACT_DIE_GUTSHOT); break;
110
        case HITGROUP_LEFTARM: iAnimDesired = LookupSequence("left"); break;
111
        case HITGROUP_RIGHTARM: iAnimDesired = LookupSequence("right"); break;
112
        default: iAnimDesired = LookupActivity(ACT_DIESIMPLE);
113
        break;
114
      }
115
    }
116
    else iAnimDesired = LookupSequence("crouch_die");
117
 
118
    if (iAnimDesired == -1) iAnimDesired = 0;
119
 
120
    m_Activity = m_IdealActivity;
121
    if (pev->sequence != iAnimDesired)
122
    {
123
      pev->gaitsequence = NULL;
124
      pev->sequence = iAnimDesired;
125
      pev->frame = 0;
126
      ResetSequenceInfo();
127
    }
128
    return;
129
  }
130
  else
131
  {
132
    if (pev->flags & FL_DUCKING && pev->flags & FL_ONGROUND) sprintf(szAnimation, m_IdealActivity == ACT_RANGE_ATTACK1 ? "crouch_shoot_%s" : "crouch_shoot2_%s", m_szAnimExtention);
133
    else sprintf(szAnimation, m_IdealActivity == ACT_RANGE_ATTACK1 ? "ref_shoot_%s" : "ref_shoot2_%s", m_szAnimExtention);
134
 
135
    if ((iAnimDesired = LookupSequence(szAnimation)) == -1) iAnimDesired = 0;
136
    pev->frame = 0;
137
    pev->framerate = 1.5;
138
    m_Activity = m_IdealActivity;
139
  }
140
 
141
  if (!(pev->flags & FL_ONGROUND))
142
  {
143
    if (flSpeed > 180) pev->gaitsequence = LookupActivity(ACT_LEAP);
144
    else pev->gaitsequence = LookupActivity(ACT_HOP);
145
  }
146
  else if (pev->flags & FL_DUCKING)
147
  {
148
    if (!flSpeed) pev->gaitsequence = LookupActivity(ACT_CROUCHIDLE);
149
    else pev->gaitsequence = LookupActivity(ACT_CROUCH);
150
  }
151
  else if (flSpeed > 180) pev->gaitsequence = LookupActivity(ACT_RUN);
152
  else if (flSpeed > 0) pev->gaitsequence = LookupActivity(ACT_WALK);
153
  else pev->gaitsequence = LookupActivity(ACT_IDLE);
154
  if (pev->sequence == iAnimDesired) return;
155
 
156
  pev->sequence = iAnimDesired;
157
  pev->frame = 0;
158
  ResetSequenceInfo();
159
}


Отправлено Дядя Миша 19-02-2012 в 18:05:

Цитата:
StraighF писал:
Хм, я всё время для таких целей его использовал

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено StraighF 19-02-2012 в 21:07:

Дядя Миша ладно...
http://t3.gstatic.com/images?q=tbn:ANd9GcSPlguisY-w4Q_dTysQ3JzQH7oFsBpebCBXoxSKfBGr2iS2XNTupw

__________________
Женщина - содержимое презерватива при полной инверсии пространства.


Отправлено Ku2zoff 21-02-2012 в 01:59:

Цитата:
marikcool писал:
никак не бороли. копипаста рулит

Воистину проще самому искать причину:
C++ Source Code:
1
if (m_pCurrentEntity->curstate.sequence == ANIM_JUMP) copy = 0;	// новая строчка
2
 
3
if ( copy )
4
{
5
  memcpy( pos[i], pos2[i], sizeof( pos[i] ) );
6
  memcpy( q[i], q2[i], sizeof( q[i] ) );
7
}


Отправлено marikcool 24-02-2012 в 06:36:

возник вопрос,
хочу отследить звук поднятия итемов на клиенте, а конкретно в демозаписи,
звук полагаю играется через EMIT_SOUND_DYN
до клиентки в случае ev_playsound он не доходит и сразу проигрывается движком?
также перехватил
PlaySoundByName
PlaySoundByIndex
PlaySoundByNameAtLocation
но там замечен он небыл, как словить его? как вариант остается буфер демки.


Отправлено Дядя Миша 24-02-2012 в 08:18:

ну там мессага идёт и сразу в движок.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 24-02-2012 в 23:13:

А в GoldSource сетевой трафик шифруется?


Отправлено marikcool 25-02-2012 в 09:25:

Цитата:
qpAHToMAS писал:
А в GoldSource сетевой трафик шифруется?

вроде как нет, демки парсятся.


Отправлено Дядя Миша 25-02-2012 в 12:18:

Цитата:
qpAHToMAS писал:
А в GoldSource сетевой трафик шифруется?

от куфантомасов. Как увидит - прячется под кровать )

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-03-2012 в 12:48:

Как сделать screenfade на клиенте?


Отправлено XaeroX 03-03-2012 в 12:56:

Shapirlic
Нарисовать квад на весь экран и плавно менять его прозрачность.

__________________

xaerox on Vivino


Отправлено Дядя Миша 03-03-2012 в 12:58:

gEngfuncs.GetScreenFade
gEngfuncs.SetScreenFade
там и пример есть. Ну и в старом ксаш-моде у редемира экран заливало красным цветом. Как раз при помощи клиентского фейда.

Добавлено 03-03-2012 в 16:58:

Цитата:
XaeroX писал:
Нарисовать квад на весь экран и плавно менять его прозрачность.

ну или так

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 03-03-2012 в 12:58:

Спасибо парни )


Отправлено Shapirlic 05-03-2012 в 09:58:

Парни помогите с интерполяцией.
ВОт например -
Есть две точки во времени.
В точке со временем 1.5 параметр = 25
В точке со времемен 2.7 параметр = 45
А как узнать параметр в точке со временем 1.9 ?


Отправлено Дядя Миша 05-03-2012 в 10:22:

Задача поставлена некорректно.
Линейная клиентская интерполяция работает следующим образом:
сервер тчинкает значительно медленнее клиента. Правда для голдсорса это требование не соблюдается, но во всех трёх кваках это так.
Так вот интерполяция происходит во время ожидания следующего пакета.
И начинается с только что пришедшего. Из этого легко вывести, что клиент всегда запаздывает на один кадр, относительно сервера.
Отсюда кстати и знаменитое отставание лазерного прицела от ракетницы (забарывается общеизвестным хаком).
Так вот. Время между пакетами обычно жёстко фиксировано и составляет известную величину, фреймтайм. За этот временной промежуток мы должны пересчитать положение со старого на новое, используя фактор интерполяции от нуля до еденички. Халфа, к слову сказать, пользует обратный лерпинг - от минус один до нуля, но смысл тот же.

Формула линейной интерполяции выглядит следующим образом:

C++ Source Code:
result = start + frac * ( end - start );

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 05-03-2012 в 10:30:

Тут немного другое.Все данные известны.Просто нужно найти среднее между двух точек зная текущее время.

Добавлено 05-03-2012 в 14:30:

как в таком случае frac найти?


Отправлено XaeroX 05-03-2012 в 10:39:

Цитата:
Shapirlic писал:
как в таком случае frac найти?

(1.9 - 1.5) / (2.7 - 1.5)

__________________

xaerox on Vivino


Отправлено Дядя Миша 05-03-2012 в 10:40:

2.7 - 1.5 = 1.2
вот 1.2 подели на фреймтайм и узнаешь шаг, с которым надо менять значение от нуля до еденички.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 05-03-2012 в 10:50:

Спасибо парни! Помогли.Всё работает ))) Как сделаю то для чего я это потребовал отрапортую )


Отправлено Shapirlic 05-03-2012 в 16:41:

Почему если в каком то моменте кода игрока поставить aсtiveitem->holster() то не срабатывает? Оружие не убирается

Как заблочить возможность менять оружие на некоторое время?


Отправлено Дядя Миша 05-03-2012 в 17:11:

Цитата:
Shapirlic писал:
Почему если в каком то моменте кода игрока поставить aсtiveitem->holster() то не срабатывает?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 05-03-2012 в 17:13:

Да я уже разобрался.И вот то что я делал -
Мини скрипты камерой.Пока только один - падение.
http://www.youtube.com/watch?v=BlcXcBsmL9I


Отправлено Дядя Миша 05-03-2012 в 18:57:

Ну ниплоха. Только нафига пантеры в мультиплеере и кардинально пишется через а.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Chyvachok 05-03-2012 в 19:07:

Дядя Миша Он вроде сингл хочет сделать но мапперов нету.


Отправлено XaeroX 05-03-2012 в 19:08:

Цитата:
Дядя Миша писал:
кардинально пишется через а.

Нет-нет, координатно пишется через т и без мягкого знака.

__________________

xaerox on Vivino


Отправлено marikcool 06-03-2012 в 19:16:

ищу гуи редадктор гуи для goldsrc, есть ли такой редактор для source чтобы использовать для goldsrc?
нужно быстро рисовать формы, делать обработчики контролов и т.д


Отправлено FiEctro 06-03-2012 в 19:57:

Shapirlic
Прикольно, тока постфильтры вернее фейды сакс.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено fire64 06-03-2012 в 22:23:

marikcool, создаешь VGUI панель, делаешь её активной и нажимаешь:
Shift + Ctrl +Alt + B

откроется встроенный редактор.

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


Отправлено marikcool 07-03-2012 в 11:13:

Цитата:
fire64 писал:
marikcool, создаешь VGUI панель, делаешь её активной и нажимаешь:
Shift + Ctrl +Alt + B

откроется встроенный редактор.

это в чем?


Отправлено fire64 07-03-2012 в 12:31:

В самом моде.

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


Отправлено Дядя Миша 07-03-2012 в 14:17:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 07-03-2012 в 17:35:

все спасибо работает, кто нибудь загрузчик *.res файлов делал?


Отправлено PunkPaToB 08-03-2012 в 06:00:

Такой вопрос.
Возможно ли сделать игру на xash или gs из разряда "шахматы".
Тоесть действия юнитов на кординатах, передвижение, работа скриптов (конь ходит буквой г, банально).

__________________
А что нет?


Отправлено Василь 08-03-2012 в 06:41:

2 PunkPaToB:
Типа этого?

Исходник.

__________________
HomePage
YouTube
RIP - Defiler Unit


Отправлено PunkPaToB 08-03-2012 в 06:48:

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

__________________
А что нет?


Отправлено Дядя Миша 08-03-2012 в 07:37:

Цитата:
PunkPaToB писал:
Возможно ли сделать игру на xash или gs из разряда "шахматы".

в третий халф-квейк играл? Там есть "шахматы" =)

__________________
My Projects: download page

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

Цитата:

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


Отправлено PunkPaToB 08-03-2012 в 07:51:

Дядя Миша
А не маппингом используя эти движки мона?

__________________
А что нет?


Отправлено Дядя Миша 08-03-2012 в 10:12:

PunkPaToB ты определись чего хочеш-то.

__________________
My Projects: download page

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

Цитата:

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


Отправлено PunkPaToB 09-03-2012 в 10:11:

Да вотано!

http://cs-mapping.com.ua/forum/show...50&page=1&pp=20
Типа альфо версия существует

__________________
А что нет?


Отправлено qpAHToMAS 09-03-2012 в 10:21:

PunkPaToB, причем тут Xash? Проще написать эту карточную/настольную игру с нуля на PureBasic например.


Отправлено PunkPaToB 09-03-2012 в 10:27:

qpAHToMAS
Я хочу чтобы "бои" велись на красивой карте, а не на импровизированном столе.
Скажем , лес, пустыня, горы и прочее.Где все увешано красивыми модельками, еревьями зданиями , кустарниками , травой и пр.

__________________
А что нет?


Отправлено FiEctro 09-03-2012 в 11:12:

PunkPaToB
Так делай, в ч0м проблема то?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено PunkPaToB 09-03-2012 в 11:29:

FiEctro
Я на ДМ вопрос отвечал ващето
Постараюсь сделать конечно.

__________________
А что нет?


Отправлено qpAHToMAS 15-03-2012 в 14:27:

А чем конфигурации Win32 Release/Debug отличаются? Кроме как весом файла на выходе? Я так понимаю, что Debug добавляет какие-то данные для отладки внутрь файла?


Отправлено qpAHToMAS 20-03-2012 в 00:12:

Зачем нужен "null.wav" звук? Подозреваю, что его вызывают когда необходимо прервать звучание предыдущего звука в этом же "канале"? Что-то типа stopsound, но не для всего подряд.


Отправлено KiQ 20-03-2012 в 05:35:

qpAHToMAS фигасе, я думал это только в J2ME такая убогая работа со звуком.

__________________
-Brain is dead-


Отправлено marikcool 20-03-2012 в 05:39:

может просто заглушка.


Отправлено Дядя Миша 20-03-2012 в 05:42:

Цитата:
qpAHToMAS писал:
Зачем нужен "null.wav" звук?

да это в коде дверей и функ_трейнов он используется, чтобы не городить множество условий для бесшумного трейна =)

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 21-03-2012 в 09:35:

В "world.cpp" кстати есть комментарий:

code:
PRECACHE_SOUND("common/null.wav"); // clears sound channels

Что по-моему можно перевести как я и предполагал: для очищения/прерывания звучания того или иного "канала".

Дядя Миша, походу понял. Что-то типа: есть переменная-строка, которая содержит имя WAV'ки для проигрывания у func_train'а, если func_train бесшумный, то ставится "null.wav", за счет чего код проигрывания не трогается и не приходится в коде проигрывания каждый раз проверять бесшумная ли платформа или нет, а просто выполнять код с использованием переменной, которая была за'switch'ена выше.

Добавлено 21-03-2012 в 13:35:

И еще один вопрос:
Как сделать чтение строки одного из параметров в userinfo игрока (в Xash 3D userinfo, в HL setinfo)?


Отправлено Дядя Миша 21-03-2012 в 12:33:

Цитата:
qpAHToMAS писал:
Что по-моему можно перевести как я и предполагал: для очищения/прерывания звучания того или иного "канала".

не-не. В SDK полным-полно устаревших комментариев. Дело в том, что в Quake нельзя было останавливать зацикленный звук. А в халфе для этих целей поначалу использовали грязный хак в виде Null.wav, но позже добавили специальный флаг STOP_CHANNEL. Я сам этого конечно не видел, но уверен дело было именно так. А уж какая забавная функция CHANGE_METHOD %)

Цитата:
qpAHToMAS писал:
за счет чего код проигрывания не трогается и не приходится в коде проигрывания каждый раз проверять бесшумная ли платформа или нет

именно так.
Цитата:
qpAHToMAS писал:
Как сделать чтение строки одного из параметров в userinfo игрока

Для этого смотри функции Info_ValueForKey, Info_SetValueForStarKey и аналогичные. Они выведены и на клиент и на сервер.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 24-03-2012 в 17:49:

что это за летающие точки?

__________________
-Brain is dead-


Отправлено Shapirlic 01-04-2012 в 09:59:

Парни.Кто нить знает что нить про многоядерную оптимизацию? Как заставить прогу что то делать на втором ядре? Приведите пример простой операции выполняемой на второй ядре.Например 2+2 только на втором ядре


Отправлено XaeroX 01-04-2012 в 10:07:

C++ Source Code:
1
DWORD dwp, dws;
2
 
3
if ( GetProcessAffinityMask( GetCurrentProcess(), &dwp, &dws ) ) {
4
  SetProcessAffinityMask( GetCurrentProcess(), 2 );
5
  int i = 2 + 2;
6
  SetProcessAffinityMask( GetCurrentProcess(), dwp );
7
}

Ну вот, допустим.
Хотя что-то мне подсказывает, что тебя интересует не выполнение задачи на конкретном ядре, а параллельное вычисление на нескольких ядрах, просто ты не умеешь формулировать мысли.

__________________

xaerox on Vivino


Отправлено Shapirlic 01-04-2012 в 10:08:

Да вы правы )

Добавлено 01-04-2012 в 14:08:

А как узнать есть ли вообще второе ядро?


Отправлено XaeroX 01-04-2012 в 10:08:

Дык что именно тебе объяснить?
В целом про многоядерную оптимизацию - это тянет на солидный курс лекций университета.

__________________

xaerox on Vivino


Отправлено Shapirlic 01-04-2012 в 10:10:

Если при отсутствии второго ядра я дам команду выполнить на нём то что будет? Как узнать есть ли оно вообще?


Отправлено XaeroX 01-04-2012 в 10:10:

Цитата:
Shapirlic писал:
А как узнать есть ли вообще второе ядро?

Открыть системник и посмотреть марку процессора, а потом пробить в интернете. Или запустить CpuZ.
Вопрос опять не корректный. Если надо узнать программно - то под какую ОС, хотя бы?

__________________

xaerox on Vivino


Отправлено Shapirlic 01-04-2012 в 10:11:

Програмно под виндой


Отправлено XaeroX 01-04-2012 в 10:13:

Цитата:
Shapirlic писал:
Если при отсутствии второго ядра я дам команду выполнить на нём то что будет?

В приведённом мной коде - ничего не будет, код выполнится на единственном ядре.

Добавлено 01-04-2012 в 17:13:

Цитата:
Shapirlic писал:
Програмно под виндой

C++ Source Code:
SYSTEM_INFO si;
memset( &si, 0, sizeof(si) );
GetSystemInfo( &si );

si.dwNumberOfProcessors - общее число логических процессоров.
На системе без HT это совпадает с числом физических, при HT - соответственно, в два раза больше.

__________________

xaerox on Vivino


Отправлено Shapirlic 01-04-2012 в 10:15:

Спасибо ) Я тут давно не был...Что это за флешмоб с взаимной вежливостью и старостильным изложением мыслей юзая слова сие и тд? )))


Отправлено XaeroX 01-04-2012 в 10:17:

Shapirlic
А это у нас такое принудительное воспитание.
Кто сам не желает быть вежливым - тому форум помогает в меру своих возможностей.

__________________

xaerox on Vivino


Отправлено Shapirlic 01-04-2012 в 10:18:

Прикольно чё )


Отправлено Дядя Миша 01-04-2012 в 10:30:

Shapirlic надо писать "Презобавнейшая потеха со мной тут приключилась намедни. Захожу я на сей форум и что я вижу?".

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 01-04-2012 в 10:32:

В данный момент меня разрывают глубокопережеваемые положительные эмоции )))) (ржу)


Отправлено Shapirlic 06-04-2012 в 13:17:

Парни...Есть такая проблема...При создании мультиплеерного сервера VAC банит стим-юзеров за файлик opengl32.dll в корне Халвы.Как можно переделать рендер чтоб он нормально работал и стим-юзеров VAC не банил?
Речь идёт о рендере паранои


Отправлено XaeroX 06-04-2012 в 13:29:

Никак. Вроде кто-то даже писал в команду VAC по поводу паранойи и хлфх, на что им ответили что-то вроде "да мы срать хотели на чёртовых русских и их проклятые моды - банили, баним и будем банить". Но это слухи

__________________

xaerox on Vivino


Отправлено FiEctro 06-04-2012 в 13:43:

А паранойи помоему opengl32.dll только для длайтов нужен, я неправ?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Shapirlic 06-04-2012 в 13:59:

Если убрать - то тогда рендер ругается - No stencilbits,не работают длайты и такое впечатление как будто sv_zmax = ~256


Отправлено qpAHToMAS 06-04-2012 в 14:44:

Shapirlic, они даже баны не снимают, а ты рассчитывал на то, что они добавят opengl32.dll от Paranoia в исключения ?
Если есть вариант с другим античитом, то можешь попробовать UCP.


Отправлено Дядя Миша 06-04-2012 в 14:58:

Скажу по секрету большому. Этот чортов opengl32.dll параное нужен как зайтсу стоп-сигнал. То есть надо как в ксаше грузить текстуры спотлайтов с параметром "бордюр", а вот эту срань, которую наваял BUzer со стенсил-буффером выкинуть к такой-то матери, она вообще не нужна, только фпс садит. И автоматически opengl32.dll не нужна становится.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 06-04-2012 в 15:35:

Дядя Миша
Там ещё хакнутый дептчрейндж для 3д-ская, забыл?

__________________

xaerox on Vivino


Отправлено Дядя Миша 06-04-2012 в 15:55:

XaeroX пхы. Ну не такой уж он и хакнутый. Вон арранджмент прикрасно пашыт без хакнутой опегл32.длл и ничо.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 06-04-2012 в 16:37:

Дядя Миша
В хлфх тоже пашет, но там другой принцип.

__________________

xaerox on Vivino


Отправлено Shapirlic 06-04-2012 в 17:19:

Я понимаю вы молодцы всё тут мне разяснили...А как конкретно параною от огл32.длл избавить? Я в сам рендер не влезал,там себя не очень свободно чувствую.


Отправлено Дядя Миша 06-04-2012 в 17:22:

Я тебе еще раз говорю. Оно там режет помечает поверхности на которые должен упасть свет при помощи стенсил-буффера. Хотя на деле, это нафиг не упало. достаточно загрузить текстуру с параметром GL_CLAMP_TO_BORDER, если он конечно поддержиывается.
А там где хакнутый дептчрейндж - так это воще ерунда полная. Нефиг выделываться, надо просто нарисовать небо во втором проходе (см. ксашмод). По скорости - будут те же яйца.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 06-04-2012 в 17:24:

Что то из твоих слов я понял )) Попробую поковыряться...


Отправлено Дядя Миша 06-04-2012 в 17:46:

Ну видел у фонаря игрока такую забавную хрень поазди? Узкую полоску света? Вот от нее надо избавиться.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 08-04-2012 в 13:39:

Про полоску то я понял.Ставля при загрузке текстуры вместо GL_CLAMP_TO_EDGE - GL_CLAMP_TO_BORDER ничего не меняется.В рендере я почти 0 так что я думаю что без помощи не справлюсь...


Отправлено XaeroX 08-04-2012 в 13:44:

Цитата:
Shapirlic писал:
В рендере я почти 0

До сих пор? За семь месяцев никаких сдвигов по матчасти? Однако.

__________________

xaerox on Vivino


Отправлено Shapirlic 08-04-2012 в 13:45:

Я кодерил на сервере,на клиенте,в PM_ тоже лез.Не лез только в рендер.Только лишь простейшие вещи типа мелких эффектов - blum или эффект привыкания глаз к свету.


Отправлено XaeroX 08-04-2012 в 13:47:

Shapirlic
Ты с теорией OpenGL ознакомился? Лезть в рендер, не зная OpenGL - всё равно что лезть в код вообще, не зная C++.

__________________

xaerox on Vivino


Отправлено Shapirlic 08-04-2012 в 13:49:

Я не одной книжки по С++ не читал.Всё что я умею я узнал именно лезя в код не зная С++.

Добавлено 08-04-2012 в 17:49:

Потом только при поступлении в коллягу я начал приобретать теоретические знания.Первый год мог вобще на прогу в колляге не ходить - всё с Халвы знал


Отправлено XaeroX 08-04-2012 в 13:49:

Shapirlic
Ну конечно, когда под рукой всегда есть форум, где люди объяснят...
Зря ты так к делу подходишь. Образование во всём цивилизованном мире платное, и если ты хочешь реально разобраться - учителям придётся платить.

__________________

xaerox on Vivino


Отправлено Shapirlic 08-04-2012 в 13:51:

У меня до поступления в коллягу инета не было.Так что я всё понял сам без чьей то помощи


Отправлено XaeroX 08-04-2012 в 13:54:

Shapirlic
Ты хочешь сказать, что C++ легче освоить, чем OpenGL? Ни за что не поверю. Однако ж по OpenGL ты и тут спрашивал, и в личку писал, и на геймдеве темы создавал.

__________________

xaerox on Vivino


Отправлено Shapirlic 08-04-2012 в 13:56:

Как хочешь верь не верь но это факт.Моддерством я начал заниматься класса с 10.До того как я переехал в Питер чтоб поступить - у меня инета не было.За 10-11 класс я изучил всё что есть в Халве касаемо С++.


Отправлено Дядя Миша 08-04-2012 в 13:59:

Цитата:
Shapirlic писал:
Ставля при загрузке текстуры вместо GL_CLAMP_TO_EDGE - GL_CLAMP_TO_BORDER ничего не меняется

Ничего и не поменяется, потому что на данный момент эта полоска отсекается при помощи хитрых планесов, которые требуют стенсил и как следствие - хакнутый opengl32.dll.
Хорошо раз ты совсем ничему учиться не хочешь, даю подсказку: в трините рендерерс прекрасно себе отвязали мод от opengl32.dll.
Копипасть оттуда.

Добавлено 08-04-2012 в 17:59:

Цитата:
Shapirlic писал:
За 10-11 класс я изучил всё что есть в Халве касаемо С++.

Позволь тебя немного протестировать. Как работает UTIL_SetGroupTrace?

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 08-04-2012 в 14:00:

Shapirlic
Вот в этом и беда современных мододелов - пока инета нет, во всём разбираются сами, и довольно успешно. А как появляется инет - как отрезает. Сами уже ничего понять не в состоянии, ждут лишь чёткие ответы на мутные вопросы, а лучше - копипастабельный код.

__________________

xaerox on Vivino


Отправлено Shapirlic 08-04-2012 в 14:07:

Дядя Миша - я не говорю что я не хочу учиться.Я просто ничего не понимаю.А изменил я GL_CLAMP_TO_EDGE на GL_CLAMP_TO_BORDER после того как закоментил Frustum проверки в которых фигурирует стенцил буфер - полоска как была так и осталась что EDGE что BORDER ставь

Добавлено 08-04-2012 в 18:07:

На вопрос о UTIL_SetGroupTrace я не смогу ничего ответить так как никогда не юзал эту функцию :/.Ну значит не всё изучил )) А 98% )


Отправлено Дядя Миша 08-04-2012 в 14:10:

Цитата:
Shapirlic писал:
Ну значит не всё изучил )) А 98% )

Тогда еще пара вопросиков

Что делает функция MAKE_STATIC и функция TRACE_TOSS.

Добавлено 08-04-2012 в 18:10:

А и вдогонку: что делает UTIL_ParametricRocket

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 08-04-2012 в 14:13:

MAKE_STATIC - это что то типа отправки ентити на клиент.(Сам до конца не знаю но помойму после этого ентитя перестаёт отправлять что либо на клиент тоесть отправило статик пакет один и всё.Что то типо того)
TRACE_TOSS - это тот же трейс но только какбы физический,тоесть не просто линия а параболическая траектория


Отправлено Дядя Миша 08-04-2012 в 14:16:

ну хорошо, а как работает GetClassPtr?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 08-04-2012 в 14:18:

UTIL_ParametricRocket - ... тоже не юзал но как я понял это возможная замена движущейся ентити(?).Функция расчитивает расстояние до указанной точки,расчитывает время,юзая текущую скорость

Добавлено 08-04-2012 в 18:18:

CBullet *pBullet;
pBullet = GetClassPtr( (CBullet *)NULL );

То есть создаём указатель на класс и "заполняем" его данной функцией
Я знаю как её юзать но что конкретно данная функция делает я не знаю )


Отправлено Дядя Миша 08-04-2012 в 14:53:

Shapirlic я к чему клоню. На форуме разработчика клона халфы, воздрежись от громких высказываний, типа "я знаю HLSDK на 100%".
Не оценим мы твой юмор.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 08-04-2012 в 14:55:

Изначально я говорил что изучил язык по Халве,а ОГЛ не могу понять.Как вы интерпретировали уже не моё дело


Отправлено marikcool 08-04-2012 в 17:37:

хз без инета не возможно работать, так что читание доков экономит твое время от часа до сотни часов.


Отправлено KiQ 19-04-2012 в 16:00:

Такой вопрос, решил заняться созданием trigger_playerlock, просто для интереса, да и есть пара идей его использования. Начал добавлять код в triggers.cpp, но при попытке скомпилить заглушку выбивает error 2001 при попытке назначить на SetTouch нужную функцию. Так как я мыслю категориями J2ME, где линкера нету, а в инете ничего веятного не нашел, хочу спросить в чем может быть проблема)

Добавленный код:

C++ Source Code:
1
//=====================================
2
//trigger_playerlock: locks player eye
3
//=====================================
4
class CTriggerPlayerlock : public CBaseEntity
5
{
6
public:
7
  void Spawn( void );
8
  void LockPlayer( CBaseEntity *pActivator );
9
  void KeyValue( KeyValueData *pkvd );
10
 
11
  virtual int Save( CSave &save );
12
  virtual int Restore( CRestore &restore );
13
  static TYPEDESCRIPTION m_SaveData[];
14
 
15
  CBaseEntity *m_pTarget;
16
};
17
 
18
LINK_ENTITY_TO_CLASS( trigger_playerlock, CTriggerPlayerlock );
19
 
20
// Global Savedata for changelevel friction modifier
21
TYPEDESCRIPTION	CTriggerPlayerlock::m_SaveData[] =
22
{
23
  DEFINE_FIELD( CTriggerPlayerlock, m_pTarget, FIELD_CLASSPTR ),
24
}; IMPLEMENT_SAVERESTORE(CTriggerPlayerlock, CBaseEntity);
25
 
26
void CTriggerPlayerlock :: KeyValue( KeyValueData *pkvd )
27
{
28
  if (FStrEq(pkvd->szKeyName, "target"))
29
  {
30
    pev->netname = ALLOC_STRING( pkvd->szValue );
31
    pkvd->fHandled = TRUE;
32
  }
33
  else
34
    CBaseEntity::KeyValue( pkvd );
35
}
36
 
37
void CTriggerPlayerlock :: Spawn( void )
38
{
39
  pev->solid = SOLID_TRIGGER;
40
  SET_MODEL(ENT(pev), STRING(pev->model));    // set size and link into world
41
  pev->movetype = MOVETYPE_NONE;
42
 
43
  m_pTarget = UTIL_FindEntityByTargetname( m_pTarget, STRING( pev->netname ));
44
 
45
  SetTouch ( LockPlayer );
46
}


Дальше пока не написал, поскольку при попытке скомпилить это выбилась ошибка и хочется ее как можно раньше исправить)

P.S. Если убрать SetTouch, все прекрасно компилится

__________________
-Brain is dead-


Отправлено Дядя Миша 19-04-2012 в 16:52:

KiQ ты лучше ответь, решилась ли твоя проблема с освещением в ксаше.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 19-04-2012 в 17:24:

Дядя Миша я сегодня не смог проверить по причине того, что компьютер был занят А это я дома делаю.
P.S. Карту я тоже делаю

__________________
-Brain is dead-


Отправлено marikcool 19-04-2012 в 20:11:

кто нибудь может подсказать хорошую прогу для генерации *.fnt шрифтов, с поддержкой кирилицы, градиентов и обводки?
счас покачто юзаю angel code bitmap font generator


Отправлено Дядя Миша 19-04-2012 в 20:41:

Fnt - понятие расплывчатое. Тебе для куда?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 19-04-2012 в 20:49:

Цитата:
Дядя Миша писал:
Fnt - понятие расплывчатое. Тебе для куда?

в халф.
формат fnt такой (+ сама текстура с шрифтом генерятся):
C++ Source Code:
1
info face="Archangelsk" size=24 bold=0 italic=0 charset="RUSSIAN" unicode=0 stretchH=100 smooth=0 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
2
common lineHeight=24 base=18 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4
3
page id=0 file="arc24_0.spr"
4
chars count=161
5
char id=32   x=63    y=19    width=1     height=1     xoffset=0     yoffset=23    xadvance=11    page=0  chnl=15
6
char id=33   x=151   y=78    width=3     height=14    xoffset=0     yoffset=4     xadvance=4     page=0  chnl=15
7
char id=34   x=211   y=99    width=6     height=6     xoffset=0     yoffset=4     xadvance=7     page=0  chnl=15
8
char id=35   x=45    y=37    width=14    height=14    xoffset=0     yoffset=4     xadvance=15    page=0  chnl=15
9
char id=36   x=93    y=0     width=13    height=18    xoffset=0     yoffset=2     xadvance=14    page=0  chnl=15
10
char id=37   x=48    y=21    width=21    height=14    xoffset=0     yoffset=4     xadvance=22    page=0  chnl=15
11
char id=38   x=208   y=61    width=13    height=14    xoffset=0     yoffset=4     xadvance=14    page=0  chnl=15
12
char id=39   x=222   y=99    width=3     height=6     xoffset=0     yoffset=4     xadvance=5     page=0  chnl=15
13
...


Отправлено Дядя Миша 19-04-2012 в 21:03:

чем fonts.wad не устраивает?

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 19-04-2012 в 21:10:

Цитата:
Дядя Миша писал:
чем fonts.wad не устраивает?

нужно несколько типов разных шрифтов (не из стандартных), со сглаживанием и масштабированием.


Отправлено marikcool 21-04-2012 в 23:23:

есть кто юзает 9вэй блендинг, кроме хавка?

Добавлено 22-04-2012 в 03:23:

можно ли изменять скорость анимации на v_ моделях в игре без редактирования и вставки новых анимаций в модель?


Отправлено Ku2zoff 22-04-2012 в 11:24:

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


Отправлено XaeroX 22-04-2012 в 11:48:

marikcool я тоже юзаю такой блендинг.

__________________

xaerox on Vivino


Отправлено marikcool 22-04-2012 в 17:44:

как на серваке сделали переключение блендинга? по вектору направления игрока + аим вектор определяем угол и переключаем как на клиентке?


Отправлено XaeroX 22-04-2012 в 17:46:

зачем тебе аим вектор? Бери просто v_angle.

__________________

xaerox on Vivino


Отправлено marikcool 22-04-2012 в 18:27:

вы по такому принципу сделали?


Отправлено XaeroX 22-04-2012 в 18:30:

Хым, а у меня на сервере yaw вообще не учитывается в бленде... Мда.

__________________

xaerox on Vivino


Отправлено Дядя Миша 22-04-2012 в 19:08:

ну значит он не 9-way

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 22-04-2012 в 19:09:

Дядя Миша
Да он самый настоящий 9-way, просто в функцию передаётся yaw = 0
Но на клиенте учитывается.

__________________

xaerox on Vivino


Отправлено Shapirlic 25-04-2012 в 15:30:

Как на клиенте достать оригин кости виевмодели?


Отправлено Дядя Миша 25-04-2012 в 17:27:

Цитата:
Shapirlic писал:
Как на клиенте достать оригин кости виевмодели?

Как взломать OpenGL из под DirectX используя GDI?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 25-04-2012 в 17:36:

Дядя Миша - всмылсе? К чему ты придираешься? Вопрос вроде правильно задан.Ответь,пожалуйста.


Отправлено Дядя Миша 25-04-2012 в 17:37:

Цитата:
Shapirlic писал:
Вопрос вроде правильно задан

Вопрос задан таким образом, как будто у всех вьюмоделей ровно одна кость на клиенте, причём от вьюмодели не зависящая.

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 25-04-2012 в 17:39:

Мне для некого эффекта не хватает атачментов.Я расставил кости в нужные места,создал маленький плейн(кучку фейсов) за моделькой,прицепил их к фиктивным костям,дабы те не исчезли.Теперь мне нужно получить оригины этих костей.Как?


Отправлено XaeroX 25-04-2012 в 17:43:

Через студиорендер, что очевидно.

__________________

xaerox on Vivino


Отправлено Shapirlic 25-04-2012 в 17:45:

Это может быть и очевидно,но я спрашивал не теоретическую часть,а практическую.Тоесть я ожидал ответа типа
Vector origin =студиорендер.kakaiatofunckia(boneindex);


Отправлено XaeroX 25-04-2012 в 18:12:

Shapirlic
Такой функции нет. Тебе надо определить, что рисуется именно твоя модель, и потом сохранить координаты нужной кости. Ну и разумеется, эффект твой должен каким-то образом рисоваться после вызова функции студиорендера.

Добавлено 26-04-2012 в 01:12:

Почему ты так не любишь теорию? Практическую часть люди пишут сами, после того, как им объяснят теоретическую, разве нет?

__________________

xaerox on Vivino


Отправлено Shapirlic 25-04-2012 в 18:14:

void DLLEXPORT HUD_DrawTransparentTriangles( void ) - запускается после вызова функции студиорендера? Если нет то получается придётся рисовать или как то после,или в следуещем кадре - но тогда отставангие.


Отправлено XaeroX 25-04-2012 в 18:27:

Shapirlic
Поэкспериментируй с алертами.

__________________

xaerox on Vivino


Отправлено Дядя Миша 25-04-2012 в 18:53:

Shapirlic секрет подскажу
Сохраняй позиции аттачментов для вьюмодели в массив entity->ph (position_history_t). Он всё равно для вьюмодели не используется.
Так ты прямо туда их и пиши. Там 64 слота, хватит тебе аттачментов.
Я в ксаш-моде такое сделал. Можешь там подглядеть.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-04-2012 в 12:58:

Всем спасибо,парни!


Отправлено Дядя Миша 26-04-2012 в 14:35:

Цитата:
Shapirlic писал:
void DLLEXPORT HUD_DrawTransparentTriangles( void ) - запускается после вызова функции студиорендера?

Ни до и не после.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-04-2012 в 14:36:

А когда она запускается?


Отправлено Дядя Миша 26-04-2012 в 15:03:

Как-то так

C++ Source Code:
1
// then draw translucent entities
2
for( i = 0; i < tr.num_trans_entities; i++ )
3
{
4
  if( RI.refdef.onlyClientDraw )
5
    break;
6
 
7
  RI.currententity = tr.trans_entities[i];
8
  RI.currentmodel = RI.currententity->model;
9
 
10
  ASSERT( RI.currententity != NULL );
11
  ASSERT( RI.currententity->model != NULL );
12
 
13
  RI.currententity->curstate.renderamt = R_ComputeFxBlend( RI.currententity );
14
 
15
  switch( RI.currentmodel->type )
16
  {
17
  case mod_brush:
18
      R_DrawBrushModel( RI.currententity );
19
    break;
20
  case mod_studio:
21
      R_DrawStudioModel( RI.currententity );
22
    break;
23
  case mod_sprite:
24
      R_DrawSpriteModel( RI.currententity );
25
    break;
26
  default:
27
      break;
28
  }
29
}
30
 
31
if( RI.drawWorld )
32
  clgame.dllFuncs.pfnDrawTransparentTriangles ();
33
if( !RI.refdef.onlyClientDraw )
34
{
35
  CL_DrawBeams( true );
36
  CL_DrawParticles();
37
}
38
 
39
// NOTE: some mods with custom renderer may generate glErrors
40
// so we clear it here
41
while( pglGetError() != GL_NO_ERROR );
42
 
43
glState.drawTrans = false;
44
pglDepthMask( GL_TRUE );
45
pglDisable( GL_BLEND );	// Trinity Render issues
46
 
47
R_DrawViewModel();

Впрочем по отношению к вьюмодели - действительно перед. Но относительно любого вызова DrawStudioModel такое сказать нельзя.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-04-2012 в 15:06:

Понятно.Спасибо! Придётся чё нить выдумывать )


Отправлено Shapirlic 30-04-2012 в 06:20:

Почему если я рендерю что-то через ТриАпи в функции HUD_DrawTransparentTriangles( void ) - то всё нормально.А если я этот же самый код копирую в другое место (например в StudioDrawPlayer( int flags, entity_state_t *pplayer )), то ТриАпи как то криво срабатывает.А именно вместо прозрачных синих лучей,какие получаются,если код их отображения расположен в функции DrawTransparentTriangles,получаются просто белые,как будто система ТриАпи игнорирует выставленный rendermode,а именно kRenderTransAdd, и игнорирует функцию gEngfuncs.pTriAPI->Color4f.Почему так?


Отправлено marikcool 30-04-2012 в 06:41:

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


Отправлено Дядя Миша 30-04-2012 в 07:53:

Цитата:
Shapirlic писал:
А если я этот же самый код копирую в другое место

а ты не копируй этот же самый код в другое место. OpenGL, как стейтовая машинка сильно привязан к месту вызова в плане рендеринга.
В одном месте - одни стейты, в другом - другие.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 30-04-2012 в 10:11:

Тогда такой вопрос - можно ли сменить стейт так,чтобы всё нормально рендерилось? Мне именно оттуда надо вызывать


Отправлено Дядя Миша 30-04-2012 в 12:01:

Цитата:
Shapirlic писал:
можно ли сменить стейт так,чтобы всё нормально рендерилось?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 30-04-2012 в 12:02:

А как именно меня интересует...Я крутил RenderMode - ничего не дало.Что ещё покртуить я незнаю...


Отправлено Дядя Миша 30-04-2012 в 12:15:

opengl.lib подключен же?
Для начала попробуй выключить запись в буффер глубины. Тебеж прозрачный лучъ рисовать?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 30-04-2012 в 12:19:

Подключено.Да в прозрачный.Включил.Никаких изменений.


Отправлено Дядя Миша 30-04-2012 в 13:12:

наоборот выключи

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 30-04-2012 в 13:35:

дампни состояние стейтов с позиции где нормально рисуется, далее сделай дамп с позиции где криво. потом сравнишь что не так.


Отправлено Shapirlic 30-04-2012 в 15:46:

Другой вопрос - мне нужно карту (*.map) перевести в формат,понятный MilkShape.Экспорт в .DXF в Хаммере не подходит - так как милка потом не открывает этот файл.Как ещё можно map->smd ?


Отправлено XaeroX 30-04-2012 в 16:04:

Shapirlic
Элементарно.
Map -> VHE -> Export to DXF -> 3dsMAX -> Export to 3DS -> Milka

__________________

xaerox on Vivino


Отправлено Shapirlic 30-04-2012 в 16:05:

Придётся 3dsMAX ставить Ну окей )


Отправлено XaeroX 30-04-2012 в 16:17:

Shapirlic
Есть ещё один вариант, но он может не подойти по идеологическим соображениям:
map -> HLQ -> VolatileRadiant -> Export to SMD -> Milka

__________________

xaerox on Vivino


Отправлено Shapirlic 30-04-2012 в 16:18:

Я не приверженец никаких там идеологий.Скачаю VolatileRadiant посмотрю что это вообще такое )


Отправлено XaeroX 30-04-2012 в 16:20:

Shapirlic
Не забудь в настройках выставить Game Type = Quake 3 а не Volatile3D, иначе формат Q3 импортироваться не будет.

__________________

xaerox on Vivino


Отправлено Shapirlic 30-04-2012 в 16:25:

Окей спасибо

Добавлено 30-04-2012 в 20:25:

Мож я что то непонял...но после скачки Volatile Level Design SDK,VolatileRadiant.exe требует vtxlib.dll .Где его взять?


Отправлено XaeroX 30-04-2012 в 16:30:

Shapirlic
Он есть в папке system игры.

__________________

xaerox on Vivino


Отправлено Shapirlic 30-04-2012 в 16:30:

Я не знал что редактор привязан к игре.Окей значит скачаем игру...Ещё что то докачивать надо?


Отправлено XaeroX 30-04-2012 в 16:32:

Нет, но там было написано, что редактор ставится в папку игры.
Он не то чтобы привязан, просто юзает несколько общих библиотек.

__________________

xaerox on Vivino


Отправлено Shapirlic 30-04-2012 в 16:33:

Окей.Посмотрим )


Отправлено XaeroX 30-04-2012 в 16:34:

Shapirlic
Не проще ли макс поставить было?

__________________

xaerox on Vivino


Отправлено Shapirlic 30-04-2012 в 16:59:

Он больше весит.Да и интересно посмотреть.Что на игру что на редактор.


Отправлено XaeroX 30-04-2012 в 17:07:

Хорошо. Как автор, помогу по вопросам конверта.
Единственное - программа HLQ не моя, так что тут увы.
Качать тут: http://scrama.3dn.ru/load/1-1-0-24

__________________

xaerox on Vivino


Отправлено qpAHToMAS 01-05-2012 в 00:19:

Цитата:
Shapirlic писал:
Другой вопрос - мне нужно карту (*.map) перевести в формат,понятный MilkShape.Экспорт в .DXF в Хаммере не подходит - так как милка потом не открывает этот файл.Как ещё можно map->smd ?

Object Viewer от Ryan'а Gregg'а может импортировать MAP и экспортировать в: ENT, MAP (PWNED!), OBJ, VMF.


Отправлено Nucleo 03-05-2012 в 01:11:

Возможно ли как-нибудь установить время блендинга анимаций для конкретной модели?


Отправлено Дядя Миша 03-05-2012 в 05:08:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 18-05-2012 в 12:17:

Как получить угол кости на клиенте?


Отправлено XaeroX 18-05-2012 в 12:49:

Shapirlic
Угол между чем и чем?

__________________

xaerox on Vivino


Отправлено Shapirlic 18-05-2012 в 12:50:

Угол самой кости.Куда она направлена.


Отправлено XaeroX 18-05-2012 в 12:55:

Цитата:
Shapirlic писал:
Угол самой кости

Углы Эйлера, что ли?
Ну, есть функции преобразования матрицы в углы Эйлера, гугли. Хотя не понимаю, зачем это нужно - у углов есть проблемы сингулярности.
Цитата:
Shapirlic писал:
Куда она направлена.

Направление "вперёд" можно получить из той же матрицы, обычно это первая строка подматрицы 3х3.

__________________

xaerox on Vivino


Отправлено Shapirlic 18-05-2012 в 12:57:

А можно пожалуйста конкретно код? Хотя бы какойнить.Мне нужно знать angle кости.


Отправлено Дядя Миша 18-05-2012 в 15:24:

Цитата:
XaeroX писал:
у углов есть проблемы сингулярности.

Вот зачем ты это сказал? Каждой школоте известно, что сингулярность - это большой взрыв в хл2, который предотвратил фримон.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 18-05-2012 в 15:27:

А не школота знает,что сингулярность - это в общем случае значит что то очень большое или бесконечное...

Добавлено 18-05-2012 в 19:27:

Лучше посоветуйте мне програмную реализацию того что я просил


Отправлено marikcool 18-05-2012 в 15:35:

Цитата:
Shapirlic писал:
Лучше посоветуйте мне програмную реализацию того что я просил

напиши лучше что хочешь реализовать


Отправлено Shapirlic 18-05-2012 в 15:36:

Модель.У модели анимация.Привязать точку взора к определённой кости модели.Так чтобы взор был направлен туда,куда "смотрит" кость.


Отправлено marikcool 18-05-2012 в 15:38:

Цитата:
Shapirlic писал:
Модель.У модели анимация.Привязать точку взора к определённой кости модели.Так чтобы взор был направлен туда,куда "смотрит" кость.

атачемент почему не подходит?
обычно 2 свободно из 4х


Отправлено Shapirlic 18-05-2012 в 15:41:

Вообще-то аттачмент подходит.Тогда как найти угол атачмента?


Отправлено marikcool 18-05-2012 в 15:43:

мне седня hawk кидал ссылку, тут в разделе туторов на hlfx есть туториал про углы у атачементов, да и походу таким же способом углы и у кости получается.


Отправлено Shapirlic 18-05-2012 в 15:43:

Не репостнёшь ссылочку?


Отправлено Дядя Миша 18-05-2012 в 15:50:

Цитата:
Shapirlic писал:
Привязать точку взора к определённой кости модели.Так чтобы взор был направлен туда,куда "смотрит" кость.

Женщина! Вы живете в Советском Союзе и у вас начальник - быдло! А в развитых странах ваши проблемы давным-давно уже решены.
Короче говоря - смотри сорцы ксаш-мода, там есть привязка камеры к eyeposition монстра. В реализации самое важное - это интерполяция движения, на крайняк можно завести новый аттачмент и вязать к нему.
А к кости цепляться глупо.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 18-05-2012 в 17:24:

Вот такой вопрос... Может быть уже спрашивали, и даже ответ был, я не знаю. Есть такая функция DrawHudNumber, рисует она большие циферки на ХУДе. Есть ли возможность заставить её рисовать числа с нулями в разрядах, предшествующих самому числу?
Например, имеем число 15. А нужно отобразить его как 015 (чтобы было наглядно видно, что максимальное значение - трёхзначное). Ну или число 8, а отобразить надо как 008.


Отправлено Дядя Миша 18-05-2012 в 17:32:

Ну там где гасится отображение страших разрядов - убери проверку. Рендер паранои перетащил, а на такой простой ерунде споткнулся.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 18-05-2012 в 17:43:

Ой я болван... Я ж и не допёр поглядеть, клиетская функция или движковая. Клиентская. Значит можно её подделать. Значит скоро тутор будет, в котором мне эти нули понадобились.


Отправлено nemyax 18-05-2012 в 18:16:

Цитата:
Дядя Миша писал:
А к кости цепляться глупо.

На такой шыт можно посмотреть в Arx Fatalis-е. Там как раз камера к кости прибита.


Отправлено marikcool 19-05-2012 в 09:37:

как можно заставить StudioMergeBones цеплять кость по имени?, при не соотвествии родительских костей, например есть модель у которого скелет такой bone1(-1)->bone2(0)->bone3(1), в атаченой модели чтобы прицепить к косте bone3 мне приходится сохранять скелет от рутовой кости(-1) до bone3, необходимо чтобы атаченая модель просто имела одну кость bone3(-1) и цеплялась имено на bone3(1) кость модели родителя.


Отправлено HAWK0044 19-05-2012 в 11:18:

Ku2zoff
кстати и правда там не сложно. Я для себя даже функцию рисования цифр на огл запилил с поддержкой всяких мелких плюшек.

Добавлено 19-05-2012 в 15:14:

marikcool
вяжи уж лучше как я сказал

Добавлено 19-05-2012 в 15:18:

Shapirlic
http://hlfx.ru/forum/showthread.php...%F3%E3%EB%EE%E2


Отправлено Дядя Миша 19-05-2012 в 11:55:

Цитата:
marikcool писал:
как можно заставить StudioMergeBones цеплять кость по имени?, при не соотвествии родительских костей, например есть модель у которого скелет такой bone1(-1)->bone2(0)->bone3(1), в атаченой модели чтобы прицепить к косте bone3 мне приходится сохранять скелет от рутовой кости(-1) до bone3, необходимо чтобы атаченая модель просто имела одну кость bone3(-1) и цеплялась имено на bone3(1) кость модели родителя.

секрет открою - мердж бонес вяжется к одной-единственной кости.
Вот эта вот дурь, когда мы видим кости руки и позвоночник у p_model - нахрен не нужна. Достаточно одной-единственной кости - в месте крепления пистолета к руке. И вам меньше гемору и движок не напрягается бесполезным рассчётом костей.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 19-05-2012 в 12:39:

Цитата:
Дядя Миша писал:
секрет открою - мердж бонес вяжется к одной-единственной кости.
Вот эта вот дурь, когда мы видим кости руки и позвоночник у p_model - нахрен не нужна. Достаточно одной-единственной кости - в месте крепления пистолета к руке. И вам меньше гемору и движок не напрягается бесполезным рассчётом костей.

я так и хочу сделать, буду ковырять


Отправлено marikcool 19-05-2012 в 21:55:

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


Отправлено Дядя Миша 20-05-2012 в 07:24:

Это новая мода пошла - дядь Мише на слово не верить?
Движок грузит все кости, и компилятор ничего там не отрезает.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 20-05-2012 в 07:55:

Цитата:
Дядя Миша писал:
Это новая мода пошла - дядь Мише на слово не верить?
Движок грузит все кости, и компилятор ничего там не отрезает.

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


Отправлено XaeroX 20-05-2012 в 08:02:

Цитата:
marikcool писал:
если полигоны не превязать к кости, она отсекается

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

__________________

xaerox on Vivino


Отправлено marikcool 20-05-2012 в 08:15:

Цитата:
XaeroX писал:
Это верно, но лишь в том случае, если к кости не привязаны другие кости, к которым, в свою очередь, привязаны полигоны.

как раз так и получилось


Отправлено Дядя Миша 20-05-2012 в 08:17:

marikcool делай корочи п-модельки с одной костью в рукоятке пистолета. И тада нормально будет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 25-05-2012 в 02:38:

Цитата:
marikcool писал:
оказывается движок не грузит кости с непривязаными полигонами
Компилятор удаляет все кости, кроме той (и её родительских костей), к которой привязаны полигоны.

У меня вопрос:
В хл, в input.cpp есть код, отвечающий за снижение скорости при ходьбе. Там есть ограничитель, который не позволяет суммарной скорости cl_forwardspeed + cl_sidespeed или cl_backspeed + cl_sidespeed быть больше sv_maxspeed. Если sv_maxspeed поставить значение, равное или больше этой суммы, то мы получаем следующую гадость: если бежать только вперёд или только вбок, то скорость не превысит значений cl_forwardspeed или sl_sidespeed, а если бежать по диагонали, зажав две кнопки, то скорости плюсуются и игрок бежит в два раза быстрее. Я такое видел в некоторых играх, очень бесило. Так вот, как это забороть? Чтобы при большом значении sv_maxspeed игрок бегал по диагонали так же, как и по прямой? Может быть в какой-нибудь кваке это исправлено?


Отправлено KiQ 25-05-2012 в 04:33:

Ku2zoff поделить на два же

__________________
-Brain is dead-


Отправлено Дядя Миша 25-05-2012 в 05:27:

ввести переменную cl_diagonalspeed

__________________
My Projects: download page

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

Цитата:

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


Отправлено Nuclear 25-05-2012 в 13:50:

Цитата:
PomanoB писал:[/i]
Недавно было несколько апдейтов движка халф-лайфа, в которых один программист исправлял баги, так вот он прекрасно отвечал на вопросы, которые ему задавали
][i

Цитата:
Дядя Миша писал:
скажите спасибо дяде Мише с его ксашем
Они внаглую упёрли мои фиксы халфовских багов из ксаша и вставили в GoldSrc. Иначе чем объяснить такую активность? 8 лет наплевать было, а как ксаш вышел - сразу апдейты посыпались.

где почитать вопросы и ответы?

бывают да. Я оттуда узнал о недокументироватых функциях движка на клиенте.


Цитата:
PomanoB писал:
- Added sv_filetransfermaxsize cvar to limit the size of a file a server will try to send to a client, by default 10mbytes.
- Prevented halflife.wad from being downloaded from a server (fixes server hang/stall).

- Changed sv_filetransfermaxsize to 1mbyte by default
- Disallow the dlfile command if the server is configured with a sv_downloadurl

- more input checking on some MSG_X functions

- rolled back previous sv_downloadurl and dlfile changes, added some more checks to prevent inappropriate dlfile calls at other times
- Increased "sv_filetransfermaxsize" back to 10mbytes by default
- Added "sv_allow_dlfile" cvar, set this to 0 to disable using dlfile at all (useful safe valve if getting hit by this attack)
- Allow up to 128 mbyte heap via -heapsize command (up from previous 40mbytes), for some 3rd party games
- Added sv_logsecret support, same implementation as on Source engine
- Rate limit user voice data to one per frame, fixes voice_inputdata exploit. If you run 1000FPS server and still have a problem, stop running a 1000FPS server.

- actually updated the Linux binary properly this time ( was missing previous changes)
- updated steam support binary drop

- removed a debug command that shouldn't have been in the shipped bits

- fixed failing to load steam interfaces on windows (updated steamclient binaries) (win32)
- statically linked libsteam.so to libstdc++ so you don't need to update it (linux)

- fixed sometimes voice stopping during gameplay
- Added "-nobreakpad" command line option to let plugin authors still get old style minidumps if they need it (win32 only)
- Fixed sv_logsecret putting the wrong value in the log header


Какие обновления!? Откуда?! В ченджлогах не единого упоминания о апдейтах с 2009 года!

Добавлено 25-05-2012 в 17:50:

Если они и есть, то где их взять. Обьясните пожалуйста!


Отправлено qpAHToMAS 25-05-2012 в 14:05:

Цитата:
Nuclear писал:
Какие обновления!? Откуда?! В ченджлогах не единого упоминания о апдейтах с 2009 года!

Да походу только КАЭС обновлялся пару лет назад. Убрали возможность бесшумной установки C4, с дабл-даком там намудрили так, что подьем по лестницам с +duck был с шумом и т.д. Последнее конечно же исправили потом.


Отправлено Nuclear 25-05-2012 в 14:08:

Цитата:
qpAHToMAS писал:
Да походу только КАЭС обновлялся пару лет назад. Убрали возможность бесшумной установки C4, с дабл-даком там намудрили так, что подьем по лестницам с +duck был с шумом и т.д. Последнее конечно же исправили потом.

Вот! А не серверная ни клиентская части не апдейтились года 4. Я слышал обновления есть и еще будут прото сейчас их тестят.


Отправлено qpAHToMAS 25-05-2012 в 14:09:

Цитата:
Nuclear писал:
Я слышал обновления есть и еще будут прото сейчас их тестят.

Дай ссылку.


Отправлено Nuclear 25-05-2012 в 14:10:

Цитата:
Nuclear писал:
Вот! А не серверная ни клиентская части не апдейтились года 4. Я слышал обновления есть и еще будут прото сейчас их тестят.

Еще я слышал, что можно скачать дев-билды ХЛДС только где? Мой сервер постоянно падает с просьбой скачать обнову


Отправлено qpAHToMAS 25-05-2012 в 14:13:

Цитата:
Nuclear писал:
дев-билды ХЛДС только где?

Не знаю на счет Dev-build (ни разу не видел), но официальный hlds качается через официальный hldsupdatetool от VALVe, который существует как для Windows, так и для Linux.


Отправлено Nuclear 25-05-2012 в 14:24:

Цитата:
qpAHToMAS писал:
Дай ссылку.

Пруфов нету( И обновы тож! Последняя стимовская обнова не качается

Добавлено 25-05-2012 в 18:17:

Просто я тут цитатой скидывал разговор ДМ с кем-то. Они говорили про кодера, который допиливает ГС и что есть обновы! Но оффициально ик как-бы нету. Разговор с 5 по 6 страницу этой темы

Добавлено 25-05-2012 в 18:24:

Еще Гейб в одном из интервью говорил про ГС для МАКос и Линуха. Ждем


Отправлено fire64 25-05-2012 в 14:27:

Блин, народ, ну вы вообще...

Запускайте HLDSUpdateTools с параметром -beta hlbeta

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


Отправлено Nuclear 25-05-2012 в 15:13:

Цитата:
fire64 писал:
Блин, народ, ну вы вообще...

Запускайте HLDSUpdateTools с параметром -beta hlbeta

Хммм.. Спасибо! А нет ли у кого-нибудь ченджлога??

Добавлено 25-05-2012 в 18:32:

А все протупил! сорри

Добавлено 25-05-2012 в 19:13:

А можно, что бы бэтку через стим загрузить можно было?


Отправлено marikcool 06-06-2012 в 04:58:

Цитата:
Nuclear писал:
А можно, что бы бэтку через стим загрузить можно было?

steam://install/150

Добавлено 06-06-2012 в 08:58:

какии winapi функции используются для открытия файлов в goldsrc?
необходим доступ к bsp-файлам при их открытии.
нашол HFILE WINAPI OpenFile? какие еще функции могут использоваться для этого?
уже проверил доступный клиенту COM_LoadFile , но он используется для загрузки tga и txt (вгуи элементы).


Отправлено fire64 06-06-2012 в 08:36:

гм, а как же fopen ?

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


Отправлено marikcool 06-06-2012 в 10:56:

Цитата:
fire64 писал:
гм, а как же fopen ?

с какой библиотеки она импортируется?
через CreateFileA файлы получается тоже можно открывать?


Отправлено fire64 06-06-2012 в 11:21:

http://msdn.microsoft.com/en-us/lib...v=vs.80%29.aspx

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


Отправлено marikcool 06-06-2012 в 19:06:

http://pix.academ.org/img/2012/06/0...b6183eba611.jpg
кому интересен доступ почти ко всем файлам, то реализация через хук CreateFileA.
(если нужен ко всем то либо inject, либо врапер на steam.dll для более ранего хука)


Отправлено marikcool 07-06-2012 в 06:16:

кто имел дело с крипт/декрипт файлов, если есть готовое решение можете скинуть. + утилитка которая будет криптовать.


Отправлено underworlddemon 07-06-2012 в 12:08:

их вагон различных... лучше описывай задачу


Отправлено marikcool 07-06-2012 в 16:26:

ребята помогли уже. спасибо.


Отправлено marikcool 09-06-2012 в 06:58:

как получить доступ на клиенте к сообщению TE_GUNSHOTDECAL?


Отправлено marikcool 10-06-2012 в 10:05:

насколько для игрока актуальна информация дырок на стене?
на данный момент реализовал что дырки идут сервера, на клиенте отключены (нет желания портировать код, да и расчет все равно будет неверным), в cs 1.6 дырки клиента и сервера не соотвествуют.

также интересует вопрос, в hl2sdk есть клиентское оружие или нет?


Отправлено marikcool 16-06-2012 в 05:17:

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


Отправлено fire64 16-06-2012 в 07:46:

marikcool, нет таких вроде.

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


Отправлено marikcool 21-06-2012 в 13:29:

имеется полноцветная текстура tga 32 bit с альфа каналом, как можно ее отрисовать одним цветом с учетом альфа канала?
(opengl)


Отправлено XaeroX 21-06-2012 в 14:11:

marikcool

Cg Pixel Shader:
OUT.color.rgb = float3(1, 0, 0); // red color
OUT.color.a = tex2D(decal, IN.texCoords).a;

__________________

xaerox on Vivino


Отправлено marikcool 21-06-2012 в 14:18:

Цитата:
XaeroX писал:
marikcool
Cg Pixel Shader:
OUT.color.rgb = float3(1, 0, 0); // red color
OUT.color.a = tex2D(decal, IN.texCoords).a;

спасибо, а просто смешиванием этого не добиться, без шайдеров?


Отправлено Дядя Миша 21-06-2012 в 14:20:

Цитата:
marikcool писал:
спасибо, а просто смешиванием этого не добиться, без шайдеров?

glColorMask ?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-06-2012 в 17:19:

вопрос простой - как определить,попадает ли прямая проведённая между двумя точками в какую-то конкретную область? Например в куб? Имея mins и maxs куба как это сделать?


Отправлено XaeroX 26-06-2012 в 17:36:

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

__________________

xaerox on Vivino


Отправлено Shapirlic 26-06-2012 в 17:58:

Так и думал что кто то скажет бинарный поиск )) Ещё вопрос - можно ли получить доступ к хитбоксам на сервере? узнать mins maxs конкретного хитбокса в данный момент?

Добавлено 26-06-2012 в 21:58:

ExtractBbox нашёл.но нужно что то типа ExtractHitBox


Отправлено Дядя Миша 26-06-2012 в 18:17:

Элементарно!
Представим прямую линию, проведенную между двумя точками в виде сверхтонкого куба (1 юнит) и проверим их пересечение при помощи простой функции BoxIntersect.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-06-2012 в 18:54:

А про то как достать хитбоксы на сервере кто нить знает?


Отправлено Дядя Миша 26-06-2012 в 19:02:

http://www.hlfx.ru/forum/showthread...=&threadid=3495

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-06-2012 в 19:15:

Извини Дядя Миш,но мне не блендинг нужен.Мне нужны позиции хитбоксов.ПРосто mins maxs хитбокса конкретного и всё.


Отправлено Дядя Миша 26-06-2012 в 19:23:

аа. Ну тогда никак. Такое только в ксаше можно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 26-06-2012 в 19:25:

А можно извлечь инфу о хитбоксах из модели? А потом по позиции кости подставлять извлечённую инфу и примерно расчитать? Примерно расчитать где сейчас этот хитбокс?


Отправлено marikcool 26-06-2012 в 20:42:

Цитата:
Shapirlic писал:
А можно извлечь инфу о хитбоксах из модели? А потом по позиции кости подставлять извлечённую инфу и примерно расчитать? Примерно расчитать где сейчас этот хитбокс?

получится, но для реализации тебе все равно надо попасть в темку которую кинул Дядя Миша)


Отправлено Ku2zoff 27-06-2012 в 01:49:

Цитата:
Shapirlic писал:
но мне не блендинг нужен.Мне нужны позиции хитбоксов.

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


Отправлено marikcool 03-07-2012 в 15:39:

как можно пофиксить эти полосы параноевского фонарика?


Отправлено Дядя Миша 03-07-2012 в 16:34:

marikcool заглянуть в ксаш-мод, там все вашы проблемы уже давно решены =)

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 04-07-2012 в 05:45:

мипмапс офнул хаработало.


Отправлено HAWK0044 04-07-2012 в 05:51:

marikcool во, не ошибся значит


Отправлено Дядя Миша 04-07-2012 в 17:46:

Да не, мип-мапы тут не помогут.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 11-07-2012 в 14:44:

кто подскажет как правильно задебажить клиентку для халфа?
нужно в случае краша, чтобы в коде показало ту строчку где произошел exception.


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

marikcool Настройки: settings, C\C++ Debug Info: Program Database Edit And Continue. Поставить также галку Generate browse info.
Вкладка C++ Language. Поставить галку Enable exception handling
Вкладка Listing Files. Поставить галку Generate Browse Info. Listing File Type - Assembly With Source Code.
Закладка Link. Вкладка Customize. Поставить галку Use Program Database.
Но учти, что переход по нулевому указателю на функцию вызовет краш по относительному адресу 0x00000005 (понятно почему), и студия не сможет это корректно отдебажить. Ибо ты уже как бы перешел.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 11-07-2012 в 20:02:

спасибо большое буду пробовать.


Отправлено Shapirlic 16-07-2012 в 15:01:

Как реализовать смену текстур View модели на рендере паранои? У меня все модели игроков - HEV костюмы разного цвета.А руки всегда оранжевые.Наштамповал текстуры рук разного цвета - валяются рядом с моделями игроков в .bmp формате.Как подменить исходные текстуры руки на те bmp-шки?


Отправлено Chyvachok 16-07-2012 в 15:17:

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


Отправлено Shapirlic 16-07-2012 в 15:22:

А через код подменить текстуру нельзя? Так будет меньше места занимать.Скинами можно - так как изменяемая текстура одна,но тогда в каждой модели будет по 10 текстур.Оружий у меня всего 30 - получается 30 * 10 = 300 текстур.А так дефолтные в модели + те что лежат в папках с моделями игроков - 30 + 8 (8 моделей игроков) = 38

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


Отправлено qpAHToMAS 16-07-2012 в 15:33:

Через код можно, по крайней мере "собачки" в HL моргают фейсом именно сменой скина через код, я даже как-то интересовался у ДМ, в каком месте кода это сделано.


Отправлено Shapirlic 16-07-2012 в 15:35:

Моргание глаз собачки реализуется сменой скинов модели.Мне же нужно подменять текстуры модели внешними текстурами в bmp формате


Отправлено Chyvachok 16-07-2012 в 16:19:

Shapirlic Дядя Миша в ксаше сделал похожую фишку, что можно в модели добавлять ХД текстуры не декомпиля модель.


Отправлено marikcool 17-07-2012 в 05:22:

Цитата:
Shapirlic писал:
Моргание глаз собачки реализуется сменой скинов модели.Мне же нужно подменять текстуры модели внешними текстурами в bmp формате

внешними наврятли, тебе нужно найти индекс текстуры в модели чтобы менять с внешней текстурки.
юзай skin, для этого декомпиль модель, измени qc файл таким образом и закомпиль:
C++ Source Code:
1
// 2 skin families
2
$texturegroup skinfamilies
3
{
4
  { "knifeskin_1.bmp" "view_finger.bmp" "view_glove.bmp" "view_skin.BMP" }
5
  { "knifeskin_2.bmp" "view_finger.bmp" "view_glove.bmp" "view_skin.BMP" }
6
}

далее на клиенте получаей viewmodel ствола и меняй скин.


Отправлено Shapirlic 17-07-2012 в 05:31:

Это самый простой путь.Но при добавлении новой модели игрока нужно будет перекомпилировать все v_ модели,добавляя новый комплект текстур рук под новую модель игрока,ещё и код править.При этом во всех моделях буду храниться куча одинаковых текстур.

Но спасибо и на этом


Отправлено marikcool 17-07-2012 в 17:02:

понял, попробуй таки найти индекс текстуры на модели


Отправлено Crystallize 20-07-2012 в 07:47:

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


Отправлено Shapirlic 20-07-2012 в 07:51:

Ну как я думаю,модели более детализированы,у моделей намного больше лимит полигонов и вертексов,у моделей не бывает ошибок типа Invalid Solid и тп.тд,у моделей нет привязки вертексов к юнитной сетке.


Отправлено fire64 20-07-2012 в 08:14:

Crystallize, ты имеешь в виду саму концепцию Binary space partitioning или конкретно фомат локаций базирующийся на Quake BSP ?

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


Отправлено Crystallize 20-07-2012 в 08:46:

Цитата:
fire64 писал:
Crystallize, ты имеешь в виду саму концепцию Binary space partitioning или конкретно фомат локаций базирующийся на Quake BSP ?

Хороший вопросец... Ну наверное скорее концепцию, т.к. я имею в виду тот принцип, когда после создания уровня компилятор удаляет из него все лишние грани, поверхности и объекты, которые игрок принципиально не увидит, и вообще склеивает всю геометрию в единый меш, от чего рендеринг уровня происходит быстрее.


Отправлено XaeroX 20-07-2012 в 09:02:

Цитата:
Crystallize писал:
Почему разработчики игр больше не используют BSP, а делают все уровни моделями?

Почему ты думаешь, что не используют? Ну вместо BSP - Octree или порталы, как в первом унреале, велика ли разница?

Добавлено 20-07-2012 в 16:02:

Цитата:
Crystallize писал:
когда после создания уровня компилятор удаляет из него все лишние грани, поверхности и объекты, которые игрок принципиально не увидит

Сейчас это делают моделлеры. Оплатить труд сотни китайцев проще, чем написать грамотный компилятор, очевидно же.

__________________

xaerox on Vivino


Отправлено Дядя Миша 20-07-2012 в 12:28:

Цитата:
Crystallize писал:
Почему разработчики игр больше не используют BSP, а делают все уровни моделями?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 21-07-2012 в 11:57:

В BSP, открытой через QuArK можно увидеть секцию "Lightmaps.i.bsp1", содержит подобный вид:

code:
Data = $B0B07DB0B07DB0B07DB0B07CB0B07CB0B07CAFAF7CAFAF7CAFAF7CAFAF7CAFAF7C $AFAF7CAEAE7BAFAF7CAFAF7CAEAE7BAEAE7BAEAE7BAEAE7BAFAF7BAFAF7CAEAE7BAEAE7B $AEAE7BAEAE7BAEAE7BAEAE7BAEAE7BAEAE7BAEAE7BADAD7BAEAE7BAEAE7BADAD7BADAD7B $ADAD7BAEAE7BAEAE7BAEAE7BB0B07CAEAE7BAFAF7CAFAF7CAFAF7CAEAE7BB0B07DAFAF7C $AFAF7CB1B17DB0B07DB0B07DB2B27EB1B17EB1B17DB3B37FB2B27EB2B27EB3B37FA5A575

Что-нибудь интересное здесь можно натворить и импортировать обратно?


Отправлено XaeroX 21-07-2012 в 12:48:

qpAHToMAS
Можно заменить B на А, а 1 на 0, и наоброт.

__________________

xaerox on Vivino


Отправлено Дядя Миша 21-07-2012 в 12:52:

Цитата:
qpAHToMAS писал:
Что-нибудь интересное здесь можно натворить и импортировать обратно?

учиться надо, а не творить.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 21-07-2012 в 12:54:

А конкретно что тот код значит вы можете человеку объяснить?


Отправлено CrazyRussian 21-07-2012 в 12:58:

Цитата:
qpAHToMAS писал:
Что-нибудь интересное здесь можно натворить и импортировать обратно?

Можно.

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


Отправлено Дядя Миша 21-07-2012 в 13:05:

Цитата:
Shapirlic писал:
А конкретно что тот код значит вы можете человеку объяснить?

Я вот давно заметил. Если человек из питера - значит непременно малолетный правдоруб. Ну где ты там код увидел? Или ты думаешь мы от тебя что-то скрываем?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 21-07-2012 в 16:11:

Ну не код,а те данные,что после Data=.И я в Питере только учусь.Так я с Кабардино-Балкарии . Так-что ты не угадал


Отправлено Дядя Миша 21-07-2012 в 16:42:

Ок. Не угадал. Но тяга к правдорубству в тебе несомненно присутствует.
Данные после data= это лайтмапа.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 21-07-2012 в 16:45:

Цитата:
Shapirlic писал:
Кабардино-Балкарии

Это случаем не про ваш уровень ума говорил Жириновский?
http://www.gorod55.ru/news/article/...bric=3&id=11126

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


Отправлено Shapirlic 21-07-2012 в 16:46:

То,что там лайтмапа и так понятно -

Цитата:
qpAHToMAS писал:
"Lightmaps.i.bsp1",


Он ещё спрашивал - можно ли как то осознанно поменять её? не просто менять буковки и цифорки,как предлагал Xaerox,а например где то в определённом месте подправить свет и тд тп. Редактируема ли она?

Добавлено 21-07-2012 в 20:46:

Цитата:
Shapirlic писал:
Это случаем не про ваш уровень ума говорил Жириновский?

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


Отправлено Дядя Миша 21-07-2012 в 16:48:

Цитата:
Shapirlic писал:
То,что там лайтмапа и так понятно

Тю блин. А чегож спрашиваешь тогда?
Цитата:
Shapirlic писал:
а например где то в определённом месте подправить свет

Только если из спортивного интересу. Практического применения нет и быть не может. Редактирование raw-лайтмап занятие безусловно приятное, но бесполезное. Вот в ку3, например, лайтмапа сохраняется в картинку. Её можно открыть в паинте и измуслякать. А здесь картинка собирается при загрузке движком.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 21-07-2012 в 16:49:

Цитата:
Shapirlic писал:
Я не знаю что он говорил,но я никогда не сужу человека заранее по его национальности,месту рождения и по его религиозным убеждениям.И вам не советую.

Мы не судим, но определённая корреляция тут есть.

__________________

xaerox on Vivino


Отправлено Shapirlic 21-07-2012 в 16:49:

А собрать,отредактировать,а затем разобрать лайтмапу можно?


Отправлено CrazyRussian 21-07-2012 в 16:54:

Цитата:
Shapirlic писал:
А собрать,отредактировать,а затем разобрать лайтмапу можно?

Можно изменять, я разрешаю, технических ограничений тоже нет.

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


Отправлено Дядя Миша 21-07-2012 в 16:57:

Цитата:
Shapirlic писал:
А собрать,отредактировать,а затем разобрать лайтмапу можно?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Bot711 29-07-2012 в 08:24:

Собственно, решил спросить в этой теме: r_speeds 1 перестал адекватно работать (см скриншот), как это можно исправить? Потому что, никаких соображений почему он вдруг стал показывать все по нулям у меня нет =(


Отправлено Дядя Миша 29-07-2012 в 09:50:

Bot711 это не ошибка. В ксаш-моде щотчик r_speeds недоделан.
В принципе он уже готов в том билде, что есть у меня. Но версия 0.6 выйдет только через пару недель.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Bot711 29-07-2012 в 09:57:

Ясно! Что ж, тогда буду ждать обновление ксаш-мода


Отправлено marikcool 04-08-2012 в 20:52:

в чем может быть проблема, у hl.dll не работают экспортные функции, типо GetEntApi2, либо возвращают NULL (в логах написано), то есть не стартует сервак.
такое было на win2003 x64, вылечил тем что скомпилил в /MT заместо /MD
теперь на win2008 x64 такая же проблема, параметры выше не помагают, с какими параметрами скомпилить чтобы работало под под 2008?

Добавлено 05-08-2012 в 00:02:

Цитата:
marikcool писал:
в чем может быть проблема, у hl.dll не работают экспортные функции, типо GetEntApi2, либо возвращают NULL (в логах написано), то есть не стартует сервак.
такое было на win2003 x64, вылечил тем что скомпилил в /MT заместо /MD
теперь на win2008 x64 такая же проблема, параметры выше не помагают, с какими параметрами скомпилить чтобы работало под под 2008?

вопрос решен, грабли были в недостающих дллках.

Добавлено 05-08-2012 в 00:52:

засчет чего эти линии появляются?
http://pix.academ.org/img/2012/08/0...ee2a9837ace.jpg


Отправлено qpAHToMAS 05-08-2012 в 02:44:

Цитата:
marikcool писал:
засчет чего эти линии появляются?

Линии будто для дебага света фонарика сделаны .


Отправлено marikcool 05-08-2012 в 09:49:

заметил если сменить glbindtexture, после отрисовки текста и снова вызвать отриску текста, то индекс текстуры текста не сменится.
получается в функциях spr_draw, drawaddictive, drawholes идет восстановление индекса текстуры шрифта, чтобы его лишний раз не переключать т.к элементов текста больше на экране чем спрайтов.

Цитата:

n00b (16:01) : вообще
n00b (16:01) : там внутри движка
n00b (16:02) : текстуры переключаются через ещё одну функцию
n00b (16:02) : в которой сохраняется индекс последний
n00b (16:02) : и если он такойже
n00b (16:02) : то glBindTexture
n00b (16:02) : не вызывается
n00b (16:02) : что и происходит в данном случае
marikcool (16:03) : логично

пишем костыль:
C++ Source Code:
1
int texindex;
2
glGetIntegerv(GL_TEXTURE_BINDING_2D, &texindex); //save
3
gGui.m_pWeaponList->DrawWeaponHudWhite(__x,__y,68,18,255,255,255,255,id);
4
glBindTexture(GL_TEXTURE_2D, texindex); //restore


Отправлено qpAHToMAS 06-08-2012 в 09:35:

Почему в мультиплеере HL нельзя поставить игроку ник "console"?


Отправлено Дядя Миша 06-08-2012 в 09:53:

Зарезервированное слово для rcon. И еще помоему нельзя поставить ник HLTV, но я не уверен.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 07-08-2012 в 20:57:

Глупый вопрос, но все же.
Как изменить скейл модели?

pev->scale с моделями оказывается не работает.

Добавление кода:

C++ Source Code:
1
if (m_pCurrentEntity->curstate.scale != 0)
2
{
3
  int j;
4
  for (i = 0; i < 3; i++)
5
    for (j = 0; j < 3; j++)
6
    {
7
      (*m_protationmatrix)[i][j] *= m_pCurrentEntity->curstate.scale;
8
    }
9
}


в StudioSetUpTransform ситуацию не изменило.

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


Отправлено KiQ 07-08-2012 в 21:19:

fire64 там вроде квар надо какой-то включить

__________________
-Brain is dead-


Отправлено fire64 07-08-2012 в 21:24:

Разобрался, я просто ступил и добавил код ресиза в клиент рикошета
Все работает.

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


Отправлено KiQ 08-08-2012 в 07:30:

можно ли получить значение frametime на клиенте (в Xash). Или m_flTimeDelta это оно и есть?

__________________
-Brain is dead-


Отправлено HAWK0044 08-08-2012 в 07:54:

KiQ оно и есть, и в хл оно тоже frametime.


Отправлено fire64 08-08-2012 в 17:53:

Какое у спрайтов ограничение на количество фреймов?

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


Отправлено Дядя Миша 08-08-2012 в 18:19:

я 256 кадров делал. Но вообще расточительно, слотов для текстур не напасёшься.

Добавлено 08-08-2012 в 22:19:

ЗЫ. используй ксашевские компиляторы спрайтов из XashTools.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 08-08-2012 в 20:14:

Дядя Миша, ок спасибо за информацию.

Теперь еще один вопрос.
Насколько я понимаю, изображение выводимое на заднем фоне консоли и изображение показываемое при загрузке, хранятся в cached.wad

Так вот, в cached.wad содержится 2 изображения: CONBACK и LOADING
Однако, почему-то из размеры не кратны 16, у обеих текстур размеры 320x200

Каким образом можно создавать WAD файлы, с текстурами нестандартных размеров?

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


Отправлено Дядя Миша 08-08-2012 в 20:25:

Ну во первых - всё теми же XashTools можно. А во вторых есть прикольная программка называется GfxWad. Раньше лежала на thewavelength.
Ей тоже можно.
Обрати внимание что еще можно создавать картинки conback640 и loading640. И халфа и ксаш нормально их загрузят.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 08-08-2012 в 20:33:

У меня вот splash.bmp 1600х1000 и нормально)

__________________
-Brain is dead-


Отправлено Shapirlic 09-08-2012 в 11:54:

В своём моде сделал реальную физику пули.Теперь пытаюсь синхронизировать трейсеры пуль сервера с клиентом.Юзаю player->random_seed и UTIL_SharedRandomFloat. Иногда при выстреле мод зависает. Не вылетает а именно виснет.Если продебагнуть этот момент,то оказывается что виснет мод на функции UTIL_SharedRandomFloat,а точнее на U_Srand. Кто нибудь знает почему и как это поправить?


Отправлено Дядя Миша 09-08-2012 в 14:30:

Цитата:
Shapirlic писал:
Иногда при выстреле мод зависает. Не вылетает а именно виснет

где-то бесконечный цикл. Почему ничему учиться не хочешь?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 09-08-2012 в 14:35:

Не факт что там цикл.Там во первых нечему цикловаться,во вторых версия пуль с RANDOM_FLOAT и RANDOM_LONG работает отлично и без нареканий.Виснет версия,где единственным изменением является замена RANDOM_FLOAT на UTIL_SharedRandomFloat


Отправлено Дядя Миша 09-08-2012 в 14:40:

Значит делай проверку на NAN или QNAN.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 09-08-2012 в 14:43:

Объясни как,пожалуйста.


Отправлено Дядя Миша 09-08-2012 в 14:56:

Ну например вот так:

C++ Source Code:
#define IS_NAN(x)			(((*(int *)&x) & (255<<23)) == (255<<23))

Но вообще говоря, у тебя там уже сотни тысяч ошибок, которые наслаиваются друг на друга, так что может вылетать всё что угодно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 09-08-2012 в 15:03:

а покажи входные данные UTIL_SharedRandomFloat когда зависает


Отправлено Shapirlic 09-08-2012 в 15:19:

C++ Source Code:
1
float UTIL_SharedRandomFloat( unsigned int seed, float low, float high )
2
{
3
  //
4
  unsigned int range;
5
 
6
  U_Srand( (int)seed + *(int *)&low + *(int *)&high );
7
 
8
  U_Random();
9
  U_Random();
10
 
11
  -> range = high - low;
12
  if ( !range )
13
  {
14
    return low;
15
  }
16
  else
17
  {
18
    int tensixrand;
19
    float offset;
20
 
21
    tensixrand = U_Random() & 65535;
22
 
23
    offset = (float)tensixrand / 65536.0;
24
 
25
    return (low + offset * range );
26
  }
27
}

range = 1
high = 0.5
low = -0.5
seed = 99

Вызывается эта функция из вот этого места:
C++ Source Code:
1
float x, y, z;
2
Vector vecRight = gpGlobals->v_right;
3
Vector vecUp = gpGlobals->v_up;
4
do {
5
  x = UTIL_SharedRandomFloat( shared_rand, -0.5, 0.5 ) + UTIL_SharedRandomFloat( shared_rand + 1 , -0.5, 0.5 );
6
  y = UTIL_SharedRandomFloat( shared_rand + 2, -0.5, 0.5 ) + UTIL_SharedRandomFloat( shared_rand + 3, -0.5, 0.5 );
7
  z = x*x+y*y;
8
} while (z > 1);


Цитата:
Дядя Миша писал:

где-то бесконечный цикл.

-я был не прав.Не припомнил...


Отправлено Chaiker 09-08-2012 в 15:30:

del


Отправлено Shapirlic 09-08-2012 в 15:47:

Пока отсутствовал догнал,что при одинаковых входных значения к UTIL_SharedRandom этот рандом будет выдавать одинаковые значения.Поэтому и циклится.Просто протупил...Извините


Отправлено Дядя Миша 09-08-2012 в 16:30:

Цитата:
Shapirlic писал:
-я был не прав.Не припомнил...

Ну вот, а представляешь сколько еще таких мин замедленнова действия у тебя в коде заложено?

Добавлено 09-08-2012 в 20:30:

Цитата:
Дядя Миша писал:
Поэтому и циклится

Циклится оно потому что Dot2 всегда заведомо больше еденички. Можыт имеет смысл извлечь из него квадратный корень?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 09-08-2012 в 16:32:

Было бы хорошо под руководством хорошего кодера прошерстить весь код...Только и кодера рядом нету и лень...


Отправлено Дядя Миша 09-08-2012 в 16:35:

Да теперь ужо проще всё бросить нахрен и написать заново.
Я вон старые ксашы побросал так же.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 09-08-2012 в 16:37:

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


Отправлено Дядя Миша 09-08-2012 в 16:47:

Ну тогда жди очередных сурпризов, што тут скажешь

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 09-08-2012 в 16:49:

Была бы какая нить инструкция по написанию хорошего кода Ну там что то типа
1.Не употребляй непроинициилизированные указатели.
2.Обнуляй переменные... и тд.
По этой инструкции можно было бы проверить весь код ))


Отправлено Дядя Миша 09-08-2012 в 17:14:

Эх, даеслиб всё так было просто, все бы уже давно писали хороший, красивый и понятный код. Однако на практике написаны сотни книжек как писать хорошый код, а толку никакого.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FaL_DissecTor 09-08-2012 в 19:57:

http://youtu.be/Ge91VoWilTo

Вопрос на засыпку, в этом видео viewangles на клиенте приравниваются к нулю, на что тогда влияет те движения что я делаю мышкой? Это связанно с сервером? Если да, то почему так все сложно, отчего не использовать 1 вектор конкретно куда сейчас смотрит игрок а не плодить тысячу векторов для модели, для эмм панча?, для трассировки стрельбы.

__________________
Такие дела...


Отправлено Дядя Миша 09-08-2012 в 20:28:

Цитата:
FaL_DissecTor писал:
на что тогда влияет те движения что я делаю мышкой?

cl_viewangles.
Цитата:
FaL_DissecTor писал:
Если да, то почему так все сложно, отчего не использовать 1 вектор конкретно куда сейчас смотрит игрок а не плодить тысячу векторов для модели, для эмм панча?

Чтобы это понять, надо самому написать хотя бы один движок.
Без этого все разговоры неизбежно сведутся к злому умыслу и коварному заговору. Причём в любой области.

__________________
My Projects: download page

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

Цитата:

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


Отправлено underworlddemon 10-08-2012 в 00:58:

Цитата:
Shapirlic писал:
Была бы какая нить инструкция по написанию хорошего кода Ну там что то типа
1.Не употребляй непроинициилизированные указатели.
2.Обнуляй переменные... и тд.
По этой инструкции можно было бы проверить весь код ))

есть такая весЧь как статические анализаторы кода
но они малоэффективны на малых объёмах кода
если у тебя С++, то попробуй PVS-Studio
у них есть демовариант использования


Отправлено CrazyRussian 10-08-2012 в 04:54:

Цитата:
Shapirlic писал:
Была бы какая нить инструкция по написанию хорошего кода Ну там что то типа
1.Не употребляй непроинициилизированные указатели.
2.Обнуляй переменные... и тд.
По этой инструкции можно было бы проверить весь код ))

Маниакальное использование ассерта и обнуление всех переменных. У меня так ILE пишется.

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


Отправлено Дядя Миша 10-08-2012 в 05:39:

underworlddemon PVS-Studio не хочит работать с шестой студией.
Я пробывал ужо.

Добавлено 10-08-2012 в 09:39:

Цитата:
CrazyRussian писал:
Маниакальное использование ассерта и обнуление всех переменных. У меня так ILE пишется.

Но это не мешает ему переодически вылетать. Так что, не панацея.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 10-08-2012 в 07:36:

Спасибо парни за ответы.Ещё один вопрос -
Я пытаюсь на клиенте симулировать серверные пули. Сделал передачу через евент в оружии всех нужных параметров для пули.Осталось только одно - синхронизировать движение\полёт.
Как в общем случае описать движение\полёт? Как я понимаю,оригин меняется по такому закону -

C++ Source Code:
origin += velocity * frametime.
Ну и там трейс от оригина до получившегося вектора для проверки попал ли во что или нет.А как меняется скорость со временем? Точнее как меняется скорость от гравитации? Имеется скорость (velocity),гравитация самой ентити (pev->gravity) и серверная гравитация (sv_gravity).Как это всё связать? У меня написано что то типа
C++ Source Code:
velocity.z = velocity.z  - (gravity * frameT * (float)sv_grv);
Я точно знаю, что это не правильно,так как при стрельбе видно,что попадание серверной пули находится немного ниже,чем попадание клиентской.И там точно не линейная зависимость как у меня.Подскажите правильную формулу.


Отправлено Дядя Миша 10-08-2012 в 10:34:

Цитата:
Shapirlic писал:
Как в общем случае описать движение\полёт?

Используй корочи UTIL_ParametricRocket. Это как раз то самое, что тебе надо.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 10-08-2012 в 10:58:

Цитата:
Дядя Миша писал:
UTIL_ParametricRocket

Там ничего нету про гравитацию.Там только расчёт времени полёта и точки попадания. Мне же нужна формула изменения скорости полёта от гравитации со временем. Я в Ксаше порылся на этот счёт,но ничего не нашёл. Оно там стопудово есть,просто я просмотрел. Ты должен знать

Добавлено 10-08-2012 в 14:58:

И вы говорили про статичные анализаторы кода - я нашёл и заюзал CPPCheck. Несколько десятков ошибок и варнингов он выдал и был прав.Но были и ложные срабатывания.


Отправлено KiQ 10-08-2012 в 11:09:

Цитата:
Shapirlic писал:
Оно там стопудово есть,просто я просмотрел.


Это ты с чего взял?

__________________
-Brain is dead-


Отправлено Shapirlic 10-08-2012 в 11:11:

Цитата:
KiQ писал:
Это ты с чего взял?

Т.к в Ксаше есть летающие ентити. Как бы нетрудно догадаться что там просчёт полёта должен быть.Просто я просмотрел его.


Отправлено Дядя Миша 10-08-2012 в 12:52:

Цитата:
Shapirlic писал:
Там ничего нету про гравитацию

на пули не влияет гравитация, что это тебе - стрелы арбалета?
Тогда и поправку на ветер давай вводи. А то иш - одна гравитация.

Добавлено 10-08-2012 в 16:52:

Цитата:
Shapirlic писал:
Но были и ложные срабатывания.

Можно пример ложнова?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 10-08-2012 в 13:09:

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

А про ложные срабатывания - прога говорила -
This value is never used.
Но при детальном разборе оказывалось что это не так.
Зато она нашла одну плохую ошибку - выход за границы массива в одном месте.Это могло спровоцировать падение.


Отправлено Дядя Миша 10-08-2012 в 13:24:

Цитата:
Shapirlic писал:
У меня пули - ентити

Я понимаю. Но это никак не отменяет того факта, что на малых расстояниях влиянием гравитации можно пренебречь.
Цитата:
Shapirlic писал:
выход за границы массива в одном месте.Это могло спровоцировать падение.

Скорее зависание, если соседний участок памяти содержал бы в себе флоаты, а твой цикл там что-нибудь портил и в результате получался NAN.

PS. Скачал поглядел, забавная прожка. Вот на это место выдало
C++ Source Code:
1
if( pController )
2
{
3
  if( gpGlobals->time < m_flNextAttack )
4
    return;	// too early
5
 
6
  if( pController->pev->button & IN_ATTACK )
7
  {
8
    Vector forward;
9
    UTIL_MakeVectorsPrivate( GetAbsAngles(), forward, NULL, NULL );
10
 
11
    // to make sure the gun doesn't fire too many bullets
12
    m_fireLast = gpGlobals->time - (1.0f / m_fireRate ) - 0.01f;
13
 
14
    TryFire( BarrelPosition(), forward, pController->pev );
15
 
16
    if( pController && pController->IsPlayer() )
17
      ((CBasePlayer *)pController)->m_iWeaponVolume = LOUD_GUN_VOLUME;
18
 
19
    m_flNextAttack = gpGlobals->time + (1.0f / m_fireRate);
20
  }
21
  else
22
  {
23
    m_iState = STATE_ON;
24
  }
25
}

вот такую ошибку:
Цитата:
Possible null pointer dereference: pController - otherwise it is redundant to check if pController is null at line 791

Т.е. первую и главную проверку на валидность она уже благополучно забыла. И какими дешевыми трюками она проверяет валидность кода, спрашивается?
Допроверяю ксаш - отпишусь поподробнее, если кому-то интересно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 10-08-2012 в 13:27:

Цитата:
Дядя Миша писал:
Я понимаю. Но это никак не отменяет того факта, что на малых расстояниях влиянием гравитации можно пренебречь.

На малых да.Но например в bounce или на других больших картах влияние гравитации заметно.Видно,что клиентский пулевой декал не совпадает с серверным на юнит-два.Конечно мелочи,но хотелось бы сделать точно.Для этого мне нужна формула гравитации или скорости,незнаю как назвать но думаю ты понял что я имею ввиду.


Отправлено Дядя Миша 10-08-2012 в 14:02:

Цитата:
Shapirlic писал:
Для этого мне нужна формула гравитации или скорости

velocity.z -= gravity * frametime
фреймтайм на клиенте можно получить отняв олдтайм от тайма, а гравитацию взять из мовеварсов.

Добавлено 10-08-2012 в 18:02:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 10-08-2012 в 14:04:

Цитата:
Дядя Миша писал:
velocity.z -= gravity * frametime

gravity - то аналог серверной pev->gravity или sv_gravity? или что то другое?
Или ёе только из movevars можно взять?


Отправлено Дядя Миша 10-08-2012 в 14:58:

pev->gravity это фактор ослабления локальной гравитации от нуля до еденички. А sv_gravity как раз и копируется в movevars и передаётся по сети. Впрочем в недокументированном клиентском интерфейсе есть корочи специальная функция для получения значения гравитации.
А для тестирования можешь вписать туда просто 800.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 10-08-2012 в 15:00:

Вообщем сделал в каждом евенте - при создании клиентской пули указываю в функции создания клиентского трейсера нужную pev->gravity,скопированную с серверных пуль,умножаю её на CVAR_GET_FLOAT("sv_gravity"). При полёте всё совпадает Спасибо.


Отправлено Дядя Миша 10-08-2012 в 16:59:

ох ёлки...
pev->gravity у тебя для каждой пули равен нулю либо еденичке, ты бы хоть не поленился проверить.
а sv_gravity нельзя брать на клиенте через квар, потому что все нелокальные клиенты отсосут. Ну неужели непонятно?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 10-08-2012 в 17:08:

pev->gravity не ноль и единичка а дробное число типа 0.2 или 0.3.
Только что проверил на двух машинах - гравитация работает как и у сервера так и у клиента.Но для предосторожности возьму её так как ты говоришь.


Отправлено CrazyRussian 10-08-2012 в 17:34:

Цитата:
Дядя Миша писал:
Но это не мешает ему переодически вылетать. Так что, не панацея.

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

Цитата:
Дядя Миша писал:
Т.е. первую и главную проверку на валидность она уже благополучно забыла. И какими дешевыми трюками она проверяет валидность кода, спрашивается?

В чем трабл то? Вон у тебя первая строчка
C++ Source Code:
if( pController )
{
 


Если код в тот блок попал, то смысла внутри блока проверять pController на не нулл нету, вот тебе и тулза ругается - говорит что тут
C++ Source Code:
if( pController && pController->IsPlayer() )

лишняя проверка

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


Отправлено Дядя Миша 10-08-2012 в 17:38:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 10-08-2012 в 22:12:

Как устроено смешивание лайтмап с основной текстурой в Half-Life?



Добавлено 11-08-2012 в 02:12:

У меня в шейдер передаются следующие данные:

C++ Source Code:
1
uniform sampler2D baseMap;
2
uniform sampler2D lightMap;
3
 
4
uniform vec2 Lighmapcoord;
5
varying vec2 Texcoord;


Как их смешать, чтобы получить приемлемое изображение.

Если пишу:
C++ Source Code:
gl_FragColor = texture2D(baseMap, Texcoord);


То все цвета нормальные, но без освещения.

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


Отправлено Government-Man 10-08-2012 в 22:34:

fire64
gl_FragColor = texture2D(baseMap, Texcoord) * texture2D(lightMap, Lightmapcoord);

Добавлено 10-08-2012 в 18:34:

А в ХЛ2:

gl_FragColor = texture2D(baseMap, Texcoord) * texture2D(lightMap, Lightmapcoord) * 16;


Отправлено Дядя Миша 11-08-2012 в 05:29:

А текстуры-решетки освещаются еще хитрее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 11-08-2012 в 06:04:

Кто-нибудь знает, где проигрывается звук, когда игрок под водой(конкретно фанк ватер)?

Добавлено 11-08-2012 в 12:04:

Да и ещё - каким образом на стеклянных фанк брекаблях остаются декали, а на остальных нет


Отправлено fire64 11-08-2012 в 09:09:

Гм, что-то у меня не то получается:

C++ Source Code:
1
tex = cursurface->texinfo->texture;
2
 
3
GLint lightmapImageLoc = glGetUniformLocation(pShaderProgram->GetShaderProgram(), "lightMap");
4
GLint baseImageLoc = glGetUniformLocation(pShaderProgram->GetShaderProgram(), "baseMap");
5
GLint Lighmapcoord = glGetUniformLocation(pShaderProgram->GetShaderProgram(), "Lighmapcoord");
6
 
7
glUniform2f(Lighmapcoord, cursurface->light_s, cursurface->light_t );
8
 
9
pShaderProgram->SetState( true );
10
 
11
glActiveTexture(GL_TEXTURE0+1);
12
glBindTexture(GL_TEXTURE_2D, tex->gl_texturenum);
13
 
14
glActiveTexture(GL_TEXTURE0+2);
15
glBindTexture(GL_TEXTURE_2D,cursurface->lightmaptexturenum );
16
 
17
glUniform1i(baseImageLoc, 1);
18
glUniform1i(lightmapImageLoc, 2);


В шейдере:
C++ Source Code:
1
uniform sampler2D baseMap;
2
uniform sampler2D lightMap;
3
 
4
uniform vec2 Lighmapcoord;
5
varying vec2 Texcoord;
6
 
7
void main( void )
8
{
9
  vec4 col1 = texture2D(baseMap, Texcoord);
10
  vec4 col2 = texture2D(lightMap, Lighmapcoord);
11
 
12
  vec4 color = col2 * col1;
13
 
14
  gl_FragColor = color;
15
}


Результат в аттаче.

Добавлено 11-08-2012 в 13:09:

хм, думал что где-то в коде задания sampler2D ошибся, отрубил шейдеры и отрисовал мир с заменой tex->gl_texturenum на cursurface->lightmaptexturenum и соответственно с текстурными координатами лайтмап.

Результат тот же, что и от использования texture2D(lightMap, Lighmapcoord);

Значит данные передаются верно.

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


Отправлено Shapirlic 11-08-2012 в 13:27:

Я помню,вопрос поднимался,на него есть ответ,но я не нашёл на форуме.Ответьте пожалуйста - какими средствами организовать зацикливание звука? Я помню,там какой-то прогой нужно расставить точки зацикливания или как их там.Как прога называется?


Отправлено qpAHToMAS 11-08-2012 в 14:19:

Shapirlic, http://csmapper.ru/tutorials/t14loopsound.shtml


Отправлено Дядя Миша 11-08-2012 в 14:41:

Цитата:
Lev писал:
Кто-нибудь знает, где проигрывается звук, когда игрок под водой(конкретно фанк ватер)?

без разницы под какой водой. В функции WaterMove, player.cpp
Цитата:
Lev писал:
Да и ещё - каким образом на стеклянных фанк брекаблях остаются декали, а на остальных нет

Баг потомушта, читай мой тутор:
http://www.hlfx.ru/forum/showthread...=&threadid=2534

Добавлено 11-08-2012 в 18:41:

Цитата:
fire64 писал:
отрисовал мир с заменой tex->gl_texturenum на cursurface->lightmaptexturenum и соответственно с текстурными координатами лайтмап.

lightmaptexturenum это не индекс гл-текстуры. Это номер лайтмапы в массиве лайтмап.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 12-08-2012 в 06:39:

C++ Source Code:
1
int screeninwater;
2
 
3
if (pev->waterlevel == 3 )
4
  screeninwater = 1;
5
else
6
  screeninwater = 0;


Мне две мессаги нужно на клиент передать - но с каким параметром они должны быть? MSG_ALL?

C++ Source Code:
1
if (screeninwater == 1)
2
{
3
  MESSAGE_BEGIN( MSG_ALL, gmsgScreenInWater );
4
  WRITE_BYTE( screeninwater );
5
  MESSAGE_END();
6
}


Отправлено Дядя Миша 12-08-2012 в 07:08:

Бред. Нахрена такое передавать????
Ватерлевел и так есть на клиенте.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 12-08-2012 в 07:12:

Цитата:
Дядя Миша писал:
lightmaptexturenum это не индекс гл-текстуры. Это номер лайтмапы в массиве лайтмап.

Ок, а как получить сам массив лайтмап?

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


Отправлено Дядя Миша 12-08-2012 в 07:23:

да как его получишь-та?
Это в ксаше можно, а в халфе никак. Ну то есть разные извраты, навроде как в параное.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 12-08-2012 в 07:29:

А что касается того тутора - у меня уже и так там есть MOVETYPE_PUSHSTEP


Отправлено qpAHToMAS 15-08-2012 в 17:52:

В каком году был выпущен первый HL SDK? Где-то 1999-2000?


Отправлено Lev 16-08-2012 в 10:19:

При компиляции карты возникает такая ошибка - Warning: No vis information, direct lighting only. - Что это значит?

Добавлено 16-08-2012 в 16:19:

Вернее из-за чего это может быть?


Отправлено Shapirlic 16-08-2012 в 10:19:

Это значит, что ты либо не прокомпилировал карту HLvis \ qvis ,или у тебя на стадии компиляции висом была ошибка и он не доделался.


Отправлено Lev 16-08-2012 в 10:22:

Так я всегда компилю с полным визом - только за 5 минут до этого нормально компилилось


Отправлено Shapirlic 16-08-2012 в 10:22:

Ну значит ты сделал что то,что вису не нравится.Разбери лог на наличие ошибок


Отправлено Lev 16-08-2012 в 10:33:

Может из-за этого MAX_LEAF_FACES

Добавлено 16-08-2012 в 16:33:

Мне теперь нужно браши лишние удалять?


Отправлено fire64 16-08-2012 в 11:34:

Цитата:
Lev писал:
Может из-за этого MAX_LEAF_FACES

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

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


Отправлено thambs 16-08-2012 в 11:44:

Lev

проще всего в таком случае удалить все энтити (сохранив) и затыкать области карты кубами, пока на проблемное место не наскочишь.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 16-08-2012 в 12:26:

Lev что у тебя там за карта, если на ней больше 65535 фейсов?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 16-08-2012 в 16:26:

Да тото и оно что карта небольшая - но фейсов может быть достаточно много из-за того что мелкие детали тоже брашами делал


Отправлено Bot711 17-08-2012 в 18:56:

Что означает ошибка:
Host Error: Mod_Load_TexInfo: bad miptex number in 'maps/at_map13b.bsp'

???


Отправлено Дядя Миша 17-08-2012 в 19:05:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено FreeSlave 17-08-2012 в 20:14:

Здравствуйте. Проблема с 3D видом в хаммере - камера при вращении (зажимаю пробел и двигаю мышкой) упорно встаёт параллельно оси Z - остановиться под другим углом практически невозможно.
Ранее под такой же системой (Windows XP) и такой же видеокарте (GeForce 9600 GT) такого не наблюдалось. Правда, систему гружу из виртуалки. В Debian из-под вайна проблема аналогичная, но решается открытием на весь экран.


Отправлено fire64 23-08-2012 в 19:45:

Подскажите, чем поставить loop метки, на аудио файлы?

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


Отправлено Дядя Миша 23-08-2012 в 19:49:

Adobe Audition или CoolEdit. Но ищо товарищи ставили при помощи GoldWave, хотя я сам непробывал.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 23-08-2012 в 20:42:

Ок, спасибо за помощь.
На рутрекере нашелся только GoldWave, им loop и поставил.

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


Отправлено fire64 28-08-2012 в 19:40:

Предлагаю устроить мозговой штурм.
Задача, создать на карте иллюзию надвигающейся на игрока бури.

Жду ваши мысли, по возможной реализации.

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


Отправлено marikcool 28-08-2012 в 20:46:

скейлинг многослойного шара(модель) с полупрозрачными текстурами пыли + частицы/спрайты пыли.


Отправлено XaeroX 28-08-2012 в 20:53:

Цитата:
fire64 писал:
Задача, создать на карте иллюзию надвигающейся на игрока бури.

Решение очевидно: надо создать бурю вдалеке и постепенно надвигать её на игрока.

__________________

xaerox on Vivino


Отправлено fire64 29-08-2012 в 08:50:

С бурей разобрался с помощью партиклей двигающихся на игрока.
Сейчас пытаюсь сделать реалистичные молнии.

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


Отправлено Дядя Миша 29-08-2012 в 12:57:

Бури хорошо делать через 3D Sky. Когда небо начинает краснеть, чернеть или там меркнет, игрок понимает, что дело плохо.
Молнию тоже можно рисовать в скайбоксе.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 31-08-2012 в 08:51:

Подскажите кто сможет -

C++ Source Code:
1
void EV_SmokePuff( struct event_args_s *args )
2
{
3
  float spd_min = 20, spd_max = 50, spd_side = 10;
4
 
5
  VectorNormalize(args->angles); // there is surface normal actually
6
  CObject *pObj = new CSmokePuff( args->origin, args->angles, 0.8, 0.1, spd_min, spd_max, 10, 20, spd_side );
7
  g_objmanager.AddObject(pObj);
8
}
- вот эта функция находится в ev_hldm.cpp и вызывает wallpuff. Вопрос - какой параметр нужно вписать при вызове этой функции, чтобы wallpuff креаился к аттачменту? Пробовал писать ''EV_SmokePuff( ent->attachment[0] );'' - пишет 'ent' : undeclared identifier, хотя если написать ''args'' то срабатывает, но не там где нужно.


Отправлено marikcool 02-09-2012 в 17:48:

C++ Source Code:
1
char* READ_STRING( void )
2
{
3
  static char     string[2048];
4
  int             l,c;
5
  string[0] = 0;
6
  l = 0;
7
  do
8
  {
9
    if ( giRead+1 > giSize )
10
      break; // no more characters
11
 
12
    c = READ_CHAR();
13
    if (c == -1 || c == 0)
14
      break;
15
    string[l] = c;
16
    l++;
17
  } while (l < sizeof(string)-1);
18
  string[l] = 0;
19
  return string;
20
}

в чем прикол if (c == -1 || ?
этаж на букве "я" херится строка.


Отправлено KiQ 02-09-2012 в 17:53:

вроде -1 это EOF, в яве так, по крайней мере

__________________
-Brain is dead-


Отправлено marikcool 02-09-2012 в 17:54:

Цитата:
KiQ писал:
вроде -1 это EOF, в яве так, по крайней мере

там же байт безнаковый.


Отправлено Дядя Миша 02-09-2012 в 17:55:

Цитата:
marikcool писал:
там же байт безнаковый.

Ичо? Для беззнакового байта -1 это 255, то есть буква 'я'. Убери эту проверку, оставь только на ноль.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 02-09-2012 в 18:00:

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


Отправлено Дядя Миша 02-09-2012 в 18:56:

marikcool MSG_WriteString в кваке ставил -1 в качестве терминатора.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 02-09-2012 в 19:48:

спасибо, тут грабля оказалась еще в:

C++ Source Code:
1
int READ_CHAR( void )
2
{
3
  int     c;
4
  if (giRead + 1 > giSize)
5
  {
6
    giBadRead = true;
7
    return -1;
8
  }
9
  c = (signed char)gpBuf[giRead];
10
  giRead++;
11
  return c;
12
}

условие в read_string изменил на if (giBadRead || c == 0) или же просто return 0 в read_char


Отправлено marikcool 06-09-2012 в 19:48:

http://www.youtube.com/watch?featur...d&v=G69jtFlWh6c
кто как думает, как они запилили тени?
мне кажется что карта это большая модель ландшафта обнесеная клипбрашем.


Отправлено PLut 06-09-2012 в 21:42:

marikcool Это хл1? О_о

__________________
Base Defense on Steam, ModDB


Отправлено GuNsHiP 06-09-2012 в 22:26:

Цитата:
PLut писал:
marikcool Это хл1? О_о


Да, полистай их видео и на сайт зайди.

__________________
Gunship Stuff


Отправлено Дядя Миша 07-09-2012 в 05:23:

Цитата:
marikcool писал:
кто как думает, как они запилили тени?

Тень от солнца накладывается в ортогональной проекции.
Можете в ксаш-моде такое же запилить самостоятельно.
А цвет неба - по тутору борескова. Всё.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 08-09-2012 в 19:50:

есть ли дебаг команда показывающий нет граф такого образца в голдсрц?
https://developer.valvesoftware.com...6/Net_graph.jpg


Отправлено qpAHToMAS 09-09-2012 в 02:39:

marikcool, net_graph 2 что-то подобное показывает.


Отправлено Crystallize 23-09-2012 в 10:57:

Я тут начал перепроходить Timeline II: Iced Earth под Steam HL и под Ксашем 2015, в связи с чем у меня возникло несколько вопросов.

Начнём с того, что, играя в ХЛ, я всегда держал ползунок Brightness на середине, а Gamma выкручивал на максимум. Поэтому в Ксаше я в первую очередь обратил внимание на намного более тёмные тени лайтмап.

Я так понял, что в ХЛ на Gamma умножается яркость пикселей лайтмапы, а Brightness вообще непонятно, на что влияет. А вот как работают эти параметры в Ксаше? Значение Brightness там вообще отсутствует, а Gamma явно работает по-другому.
И что такое Glare reduction? На что он влияет?
Потом я заметил в ХЛ такой глюк. Сразу после загрузки уровня вода светится:

Однако, если хоть чуть-чуть поменять значения яркости или гаммы, и сделать restart, то вода становится нормальной:

(в Ксаше этого бага нет)
Я думаю, все давно знают про этот глюк с водой, и мне было бы интересно узнать, что это и отчего? Потому что такой же глюк, как я вспомнил, есть и в Sonic Adventure DX:


Отправлено Дядя Миша 23-09-2012 в 11:34:

Аддитивное сложение яркости пикселей. Но не стоит об этом переживать, всё равно математика - слабая наука.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 29-09-2012 в 15:19:

у кого есть идеи как вылечить это?

__________________
vk.com/skullcapstudios


Отправлено Дядя Миша 29-09-2012 в 16:21:

marikcool а как должно получится?

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 29-09-2012 в 16:29:

Подозреваю, что правая сторона стены должна быть освещена так же как и "линия".


Отправлено marikcool 29-09-2012 в 16:32:

нужен результат плавного перехода, без светлой засвеченой полосы.
без бампа, там где засветленая полоса, в этом месте лайтмапа намного темнее.

__________________
vk.com/skullcapstudios


Отправлено Дядя Миша 29-09-2012 в 16:36:

Ничего не понял, если честно. Это только bumprad даёт такой результат или все версии ZHLT\VHLT ?

__________________
My Projects: download page

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

Цитата:

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


Отправлено ONeiLL 29-09-2012 в 17:08:

может он про зубастую тень?


Отправлено marikcool 29-09-2012 в 17:53:

c gl_bump 0 переход на с тени на цвет плавный, с бампом получается тень-засвеченая полоса-свет

__________________
vk.com/skullcapstudios


Отправлено Дядя Миша 29-09-2012 в 18:25:

Чего gl_bump ? Ты объясни, это лайтмапа такая калечная или она рисуется неправильно? Может ты в рендере что-то напутал? Проверь под пороноей.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ONeiLL 29-09-2012 в 18:36:

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


Отправлено Дядя Миша 29-09-2012 в 18:49:

А фсъо. Нет, это обычное пораноевское ограничение.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 30-09-2012 в 06:22:

имелось ввиду сделать так:
1. до

2. после


засчет каких параметров расчитывается бамп в тени в других играх?
отражающий свет?

__________________
vk.com/skullcapstudios


Отправлено xZhekill 05-10-2012 в 11:56:

Необходимо в ХЛ укоротить ту область где отображаются подобранные патроны, аптечки и пушки (справа по экрану), чтоб примерно верхняя планка была на пол экрана


Отправлено marikcool 05-10-2012 в 20:30:

почему не работает данная конструкция?

C++ Source Code:
static unsigned int g_time=(unsigned int)time( NULL );

__________________
vk.com/skullcapstudios


Отправлено qpAHToMAS 13-10-2012 в 06:47:

Как в HL/CS подбираются респы игрокам? Random?


Отправлено marikcool 13-10-2012 в 09:49:

Цитата:
qpAHToMAS писал:
Как в HL/CS подбираются респы игрокам? Random?

относительно твоего последнего респа появления, по порядку, в кс делит по командам info_player_start - контры, info_player_deathmatch - терры

__________________
vk.com/skullcapstudios


Отправлено Дядя Миша 13-10-2012 в 14:20:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 14-10-2012 в 06:39:

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

__________________
-Brain is dead-


Отправлено Дядя Миша 14-10-2012 в 08:52:

Кто иво знает. Я в этот ваш CS никогда не играл.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 14-10-2012 в 10:09:

Цитата:
KiQ писал:
Дядя Миша разве если долго стоять на респе, тебя не могут телефрагнуть? Выходит если игроки займут все респы, то даже при неполном сервере новый игрок подключится не сможет.

игроки будут подключаться пока не достигнут maxplayers, а появляться он будет убивая игрока если его спавнпоинт занит.

__________________
vk.com/skullcapstudios


Отправлено KiQ 14-10-2012 в 11:06:

marikcool я об этом и говорил, что проверки нет

__________________
-Brain is dead-


Отправлено marikcool 14-10-2012 в 11:22:


имеем такой глюк, видюха Mobile Intel 965 Express Chipset Family
не отрисовывается в данном случае 3 текстуры, размер которых 1024х512, 1024х512 и 1024х256.
должно выглядить вот так http://cloud-2.steampowered.com/ugc...DD192D97FE4767/

соотвественно уменьшил тексты до порога 512, все стало нормально, через какую ogl функцию можно определить максимальный размер текстуры поддерживаемой видеокартой?

__________________
vk.com/skullcapstudios


Отправлено Дядя Миша 14-10-2012 в 13:40:

внезапно!

C++ Source Code:
glGetIntegerv( GL_MAX_TEXTURE_SIZE, &glConfig.max_2d_texture_size );

Но это ищо не всё, там еще и размеры 3д текстур, размеры кубомап.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 18-10-2012 в 16:03:

спасибо, буду пробовать, на остальном пока глюков не заметил.

__________________
vk.com/skullcapstudios


Отправлено underworlddemon 21-10-2012 в 13:02:

Цитата:
marikcool писал:
игроки будут подключаться пока не достигнут maxplayers, а появляться он будет убивая игрока если его спавнпоинт занит.

испокон веков используется проверка на занятость спавна
и если занят - то применяют несколько техник:
спавн выше на высоту юнита
спавн на резервное место (если карта давно в составе игры, то вносят проверенно свободные места для резерка (наверху, куда игроки сразу не залезут и т.п.))
выталкивание объекта из опасной зоны

так что способов решения проблемы вагон


Отправлено marikcool 21-10-2012 в 13:12:

Цитата:
underworlddemon писал:
спавн выше на высоту юнита

можно попасть в браш!
резервные места не на всех картах, только на популярных.

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

__________________
vk.com/skullcapstudios


Отправлено qpAHToMAS 21-10-2012 в 13:14:

Цитата:
marikcool писал:
самый просто способ отрубать колизию на время пока находимся в другом игроке.

Прикольно, так можно вообще на всю команду 1-н spawnpoint использовать .


Отправлено marikcool 21-10-2012 в 15:10:

Цитата:
qpAHToMAS писал:
Прикольно, так можно вообще на всю команду 1-н spawnpoint использовать .

раньше так и было в aq2.

__________________
vk.com/skullcapstudios


Отправлено qpAHToMAS 22-10-2012 в 08:09:

Про CS 1.6:

code:
bind "key" "name nickname with space"

Всё так печально и забиндить ник с пробелом не получится? Без alias'ов.


Отправлено marikcool 22-10-2012 в 09:25:

1. bind "key" "name ^"nickname with space^""
2. bind "key" "name nickname%with%space"

__________________
vk.com/skullcapstudios


Отправлено qpAHToMAS 22-10-2012 в 09:39:

marikcool, 1-ое не работает.
Хак с % хорош, но не работает если ник со скобочками такого плана:

code:
bind "KP_HOME" "name one%(two)"


Отправлено marikcool 22-10-2012 в 09:52:

тут сама проблема в скобках, фильтрует.

__________________
vk.com/skullcapstudios


Отправлено qpAHToMAS 22-10-2012 в 12:36:

В смысле фильтрует? Какую скобки играют роль?

PS:
Выкрутился через exec.


Отправлено marikcool 22-10-2012 в 17:05:

бывает что оружие не стреляет(клиентский эвент отключен),а в кс замечал как дымовая граната не срабатывала.

есть подозрение что event'ы ходят по не гарантированому каналу, есть инфа по этому поводу?

__________________
vk.com/skullcapstudios


Отправлено Дядя Миша 22-10-2012 в 17:45:

есть флажок FEV_RELIABLE. Догадайся что он делает.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 22-10-2012 в 18:26:

Цитата:
Дядя Миша писал:
есть флажок FEV_RELIABLE. Догадайся что он делает.

пронубил извините. пойду пробовать, спасибо.

__________________
vk.com/skullcapstudios


Отправлено marikcool 26-10-2012 в 20:27:

хочу написать инструмент по пересадке референса рук, то есть имеем имеем кучу стволов на руках из хл, и хотим им всем сделать руки из кс.
я пересаживаю одну модель в ручную, далее софтина относительно костей руки(скелет хл) переносит вертексы(референс кс рук) на скелет другой модели(скелет другой хл модели).
какие подводные камни в этом всем есть?

__________________
vk.com/skullcapstudios


Отправлено Cybermax 26-10-2012 в 22:00:

marikcool отсыпь

__________________


Отправлено KiQ 27-10-2012 в 05:40:

marikcool названия и количество костей должны совпадать для правильной привязки вершин, не?

__________________
-Brain is dead-


Отправлено fire64 27-10-2012 в 08:02:

Цитата:
KiQ писал:
marikcool названия и количество костей должны совпадать для правильной привязки вершин, не?

И кости должны одинаково располагаться.

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


Отправлено KiQ 27-10-2012 в 12:23:

fire64 это почему?

__________________
-Brain is dead-


Отправлено nemyax 27-10-2012 в 13:10:

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


Отправлено ~ X ~ 18-11-2012 в 10:03:

Ох, моя старинная идея
Я вообще хотел чтобы на клиенте отдельно загружались v_hands.mdl и weapon.mdl. Причём второй чтоб можно было сажать и на модель игрока от 3го лица. Но мечты такие мечты...

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Lev 25-11-2012 в 13:56:

Народ - если кто знает - возможно ли снижение фпс если текстуры в карты вкомпилены? GoldSRC


Отправлено qpAHToMAS 25-11-2012 в 14:06:

Цитата:
Lev писал:
Народ - если кто знает - возможно ли снижение фпс если текстуры в карты вкомпилены? GoldSRC

Имхо — нет. Откуда ему вообще взяться (снижению FPS)?


Отправлено Lev 25-11-2012 в 14:14:

Да я просто спросил


Отправлено Дядя Миша 25-11-2012 в 14:37:

Цитата:
Lev писал:
возможно ли снижение фпс если текстуры в карты вкомпилены?

Если я третью свечу выкручу - какое колесо спустит?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 25-11-2012 в 15:02:

Цитата:
Дядя Миша писал:
Если я третью свечу выкручу - какое колесо спустит?

Я не разбираюсь в автомобилях)


Отправлено marikcool 06-12-2012 в 16:35:

кто подскажет, каким образом криптована клиентская dll?
и как он ее разворачивает в процессе запуска?

__________________
vk.com/skullcapstudios


Отправлено marikcool 29-12-2012 в 10:12:

для чего нужны эти файлы?
> f:\counter-strike-distr\fullclear\cstrike\sequences\de_dust2.seq
> f:\counter-strike-distr\fullclear\valve\sequences\de_dust2.seq
> f:\counter-strike-distr\fullclear\platform\sequences\de_dust2.seq
> f:\counter-strike-distr\fullclear\platform\config\sequences\de_dust2.seq

__________________
vk.com/skullcapstudios


Отправлено PLut 02-01-2013 в 19:05:

Как проверить мертвы ли все на сервере? Т. е. если все мертвы, то условие выполняется, а если еще кто-то жив, то нет.

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 02-01-2013 в 19:35:

Да не может такого быть чтобы на сервере все дохлые валялись.

__________________
My Projects: download page

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

Цитата:

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


Отправлено qpAHToMAS 02-01-2013 в 19:36:

Код из одного AMXX плагина:

code:
public checkPlayers() { for (new i = 1; i <= get_maxplayers(); i++) { if (is_user_alive(i) && is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && g_spawned[i]) { } } return PLUGIN_HANDLED }

Ну и в итоге если число мертвых игроков ровно числу подключенных игроков к серверу, то твое условие выполнено.


Отправлено PLut 02-01-2013 в 19:57:

qpAHToMAS Проверка - не то что нужно (в плане того, что у меня такая же), а вот про кол-во мертвых и игроков на сервере я бы не допер. Спасибо.

__________________
Base Defense on Steam, ModDB


Отправлено Jimmy C. 08-01-2013 в 15:22:

Люди, как сделать чтобы в weaponbox упаковывались патроны. Без оружия.

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено fire64 11-01-2013 в 14:24:

По поводу XashXT

что делает GL_Bind ?

C++ Source Code:
GL_Bind( GL_TEXTURE0 + 1, TextureID );


это налог

C++ Source Code:
glActiveTexture( GL_TEXTURE0 + 1 );
glBindTexture( GL_TEXTURE_2D, TextureID );


или все же нет?

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


Отправлено Дядя Миша 11-01-2013 в 14:37:

Зачем нужны сорцы движка, если можно задать вопрос?

C++ Source Code:
1
/*
2
=================
3
GL_Bind
4
=================
5
*/
6
void GL_Bind( GLenum tmu, GLenum texnum )
7
{
8
  gltexture_t	*texture;
9
 
10
  // missed texture ?
11
  if( texnum <= 0 ) texnum = tr.defaultTexture;
12
  ASSERT( texnum > 0 && texnum < MAX_TEXTURES );
13
 
14
  GL_SelectTexture( tmu );
15
 
16
  texture = &r_textures[texnum];
17
 
18
  if( glState.currentTextureTargets[tmu] != texture->target )
19
  {
20
    if( glState.currentTextureTargets[tmu] != GL_NONE )
21
      pglDisable( glState.currentTextureTargets[tmu] );
22
    glState.currentTextureTargets[tmu] = texture->target;
23
    pglEnable( glState.currentTextureTargets[tmu] );
24
  }
25
 
26
  if( glState.currentTextures[tmu] == texture->texnum )
27
    return;
28
 
29
  glState.currentTextures[tmu] = texture->texnum;
30
  pglBindTexture( texture->target, texture->texnum );
31
}

__________________
My Projects: download page

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

Цитата:

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


Отправлено Jimmy C. 11-02-2013 в 13:11:

Кто нибудь знает для чего нужна энтитя world_items и что она дает?

__________________
Все что делает маппер, программист делает в движке, поскольку ему лень. ©Дядя Миша


Отправлено PLut 26-02-2013 в 18:38:

Exclamation Нужна помощь

Итак. Пишу сообщение по центру экрана, оно запоминается и после конца игры (intermission) оно начинает показываться, пока не загрузится новая карта. ЧЯДНТ?

ClientPrint(pev, HUD_PRINTCENTER, UTIL_VarArgs( "Open door for $%i", pEntity->m_iPrice ));

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 26-02-2013 в 19:35:

Нам бы для начала разобраться куда подпись ксаша пропала со скриншота.

__________________
My Projects: download page

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

Цитата:

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


Отправлено PLut 26-02-2013 в 20:20:

Дядя Миша Она и не появлялась, это голдсорс и мультиплеерный мод.

__________________
Base Defense on Steam, ModDB


Отправлено Дядя Миша 26-02-2013 в 20:29:

Ну в халфе есть какие-то траблы с интермиссией, да. Я помнится с этим столкнулся, еще когда делал римейк Кваки.
Да только как проверить? Сорцев-то нету.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 27-02-2013 в 05:36:

Цитата:
PLut писал:
Итак. Пишу сообщение по центру экрана, оно запоминается и после конца игры (intermission) оно начинает показываться, пока не загрузится новая карта. ЧЯДНТ?

ClientPrint(pev, HUD_PRINTCENTER, UTIL_VarArgs( "Open door for $%i", pEntity->m_iPrice ));

отправь пустой принт или сделай свою интермисию.

__________________
vk.com/skullcapstudios


Отправлено PLut 27-02-2013 в 05:54:

Спасибо за помощь, при смерти игрока отправляю пустой принт и всё отлично.
Всё гениальное - просто

__________________
Base Defense on Steam, ModDB


Отправлено -=DrTressi=- 18-04-2013 в 16:39:

1. От чего физбоксы могут зависать в воздухе? Т.е. их можно взять, переместить на другое место, но они не упадут. Так и будут висеть, как будто с noclip.

2.Как увеличить массу физбокса?

3.Как сделать физбокс более инертным?

__________________
How interesting, just look at that!
© Scientist


Отправлено ONeiLL 18-04-2013 в 16:42:

Цитата:
-=DrTressi=- писал:
2.Как увеличить массу физбокса?

3.Как сделать физбокс более инертным?

Инертность от массы зависит =) Чем больше масса тем более он инертный. Но мне кажется что в ХЛ не учитывается масса тел.


Отправлено Дядя Миша 18-04-2013 в 16:45:

Примерчег того, как физбоксы в воздухе зависают.

Массу физбокса можно увеличить, увеличив его объем.

Инертным - в каком смысле?

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 18-04-2013 в 17:01:

Цитата:
Дядя Миша писал:
Примерчег того, как физбоксы в воздухе зависают.


Скрин? Если скрин, то тупо в том месте, где точка спавна.

Цитата:
Дядя Миша писал:
Инертным - в каком смысле?

Это в том смысле, чтобы например мячик дальше катился. Чтобы ударяя другой мячик, они не останавливались, а продолжали движение. Я пробовал подстелить func_friction, но похоже он его проигнорил.

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 18-04-2013 в 17:06:

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

Я так понимаю, ты задумал сделать incredible machine?
Честно не получится.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 18-04-2013 в 18:39:

Наслаждайся!

__________________
How interesting, just look at that!
© Scientist


Отправлено KiQ 18-04-2013 в 18:54:

Товарищи, а не знаете случаем чей это канал? А то я вот там прикольный эффект бликов на очках у модели нашел, да и воще. Может вам тоже интересно будет. Все на ксаше.
http://www.youtube.com/user/DJRapidXXX23?feature=watch

Добавлено 18-04-2013 в 22:54:

__________________
-Brain is dead-


Отправлено Дядя Миша 18-04-2013 в 18:56:

-=DrTressi=- вероятно из-за мгновенное обращения в кинематическое тело. Те, верхние уснули и спят.
А то, что можно на ящике форсировать препятствия - так этож еще в хл2 было.

KiQ это товарищи с форума арранджевого мента.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 18-04-2013 в 18:59:

Дядя Миша то есть это может значить, что все эти красивости сделаны через грязные хаки и пригодны только для демонстрации в коротком ролике?

__________________
-Brain is dead-


Отправлено -=DrTressi=- 18-04-2013 в 19:02:

Цитата:
Дядя Миша писал:
так этож еще в хл2 было


В хл2 это поправили. А запуск металлического ящика одной левой?

Добавлено 18-04-2013 в 23:02:

ЗЫ: Так ты меня и не включил в список тестеров Ксаша.

__________________
How interesting, just look at that!
© Scientist


Отправлено KiQ 18-04-2013 в 19:05:

В сталкере вот вообще можно на танке летать

__________________
-Brain is dead-


Отправлено Дядя Миша 18-04-2013 в 19:10:

KiQ какие именно? Это доктор там что-то раскопал и теперь удивляет народ

Цитата:
-=DrTressi=- писал:
ЗЫ: Так ты меня и не включил в список тестеров Ксаша.

Я же сказал - получишь прова, включу.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 18-04-2013 в 19:18:

Дядя Миша ну те, которые с форума оранжевого мента

__________________
-Brain is dead-


Отправлено Дядя Миша 18-04-2013 в 20:28:

KiQ аа, да нет вроде. Он там слегка модифицировал код для новых эффектов. Я специально кое-чего не доделывал, чтобы каждый мог почувствовать себя Кармаком

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 19-04-2013 в 04:12:

А можно спросить, где именно считается масса? Неужели уже в самом физиксе, после преобразования в физическую модель и добавления в его мир? Получается, что серверный код тут даже не участвует?

__________________
-Brain is dead-


Отправлено FiEctro 19-04-2013 в 07:44:

KiQ
Если неошибаюсь в ксаше иплементация PhysX только на сервере.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено -=DrTressi=- 19-04-2013 в 09:54:

Дядя Миша Так то что ящики физбоксы можно так далеко бросать - это нормально?

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 19-04-2013 в 15:44:

Цитата:
KiQ писал:
А можно спросить, где именно считается масса?

Физикс её считает, конечно. Объём на плотность - масса.
Плотность по идее должна была задаваться внутри самих материалах, а пока подобрана константа, чёб игрок при объеме своего ббокса весил 90 кг, хоть это и не совсем правильно.

Добавлено 19-04-2013 в 19:44:

-=DrTressi=- ну откуда я знаю, нормально это или нет?
Ты же вон не хочешь про прова разговаривать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 19-04-2013 в 16:22:

Дядя Миша Тебе мои прова зачем? Я к тебе в Краснодар не поеду.

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 19-04-2013 в 16:48:

Мне интересно как далеко зашло взяточничество в этой области.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 19-04-2013 в 17:40:

Дядя Миша Не, не буду я им взятки давать. Осенью я забил на это дело, пушо у нас на севере, холодно стало стоять пол дня в очереди на улице ждать минтов. Посему я решил отложить это дело, до весны. Заодно денег подкоплю, за халтуру получу, ну и мотоцикл наверное продам. Чтобы Таёту купить таки. Вот и стимул будет на прова то сдавать.
Хотя желания особого нет. Мамка говорит, мол купи машину быть мужиком. А мне охота по ночам на моцыке гонять под 200..

Ну вот, доволен?

__________________
How interesting, just look at that!
© Scientist


Отправлено ONeiLL 19-04-2013 в 17:50:

Цитата:
-=DrTressi=- писал:
А мне охота по ночам на моцыке гонять под 200..

не верю что на моцыке можно 200 ехать. Я когда 120 ехал на ИЖе то уже не держался на дороге


Отправлено -=DrTressi=- 19-04-2013 в 18:01:

ONeiLL А ты вот на таком аппарате поезди

__________________
How interesting, just look at that!
© Scientist


Отправлено KiQ 19-04-2013 в 18:57:

Дядя Миша все, кажется разобрался. То есть непосредственно задать массу объекту мы не можем, поскольку этот код зашит в дллки физикса? Но можем сделать case с типом материала, и подставлять нужные значения в ActorDesc.density. Проблема в том, что а)эти значения нужно выверять экспериментальным путем б)для каждого материала придется дописывать все ручками.

__________________
-Brain is dead-


Отправлено Дядя Миша 19-04-2013 в 19:50:

KiQ именно так. Ну по хорошему надо материал систем делать.

Цитата:
ONeiLL писал:
не верю что на моцыке можно 200 ехать

Смотря на каком. Некоторые и под 320 гоняют. Наверное сохраняются перед ездой.
Цитата:
ONeiLL писал:
Я когда 120 ехал на ИЖе то уже не держался на дороге

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 20-04-2013 в 06:12:

Дядя Миша эм... А как была получена DENSITY_FACTOR = 0.0013? Я так понял масса считается по формуле pev->size*0.49*0.0013, но даже если считать в сантиметрах а не в юнитах, то для игрока выходит 9.4 кг, или там ещё на 10 где то умножается?

__________________
-Brain is dead-


Отправлено marikcool 20-04-2013 в 09:15:

Цитата:
KiQ писал:
Дядя Миша эм... А как была получена DENSITY_FACTOR = 0.0013? Я так понял масса считается по формуле pev->size*0.49*0.0013, но даже если считать в сантиметрах а не в юнитах, то для игрока выходит 9.4 кг, или там ещё на 10 где то умножается?

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

__________________
vk.com/skullcapstudios


Отправлено Дядя Миша 20-04-2013 в 10:21:

KiQ ну ты читаешь вообще, то что я пишу?

Цитата:
Дядя Миша писал:
подобрана константа, чёб игрок при объеме своего ббокса весил 90 кг, хоть это и не совсем правильно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 20-04-2013 в 11:05:

Дядя Миша я имел в виду, в какую формулу её надо подставлять, чтобы вот эти 90кг получить? То что она подобрана-то я понял)

__________________
-Brain is dead-


Отправлено ONeiLL 20-04-2013 в 12:25:

Цитата:
KiQ писал:
pev->size

Надо не на размер множить, а объём


Отправлено Дядя Миша 20-04-2013 в 13:36:

KiQ там у физикса в хидерах есть формулы-рассчёты.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 20-04-2013 в 19:03:

Объясните для особо слабоумных, почему если триггер_пуш активировать кнопкой - то он действует и на игрока, и на физ-боксы. А если через менеджер - то только на игрока?

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 20-04-2013 в 19:09:

Карту-примерчег бы.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 22-04-2013 в 15:52:

А ещё я вот так умею!





Цитата:
Дядя Миша писал:
Карту-примерчег бы.

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 22-04-2013 в 16:12:

Цитата:
-=DrTressi=- писал:
А ещё я вот так умею!

Да мы уже поняли что ты молодец. Ты на конкурс давай делай )

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 22-04-2013 в 16:22:

Дядя Миша Не, не. Я не участвую. Зачем? Опять репу сожрёте всю. Или чего поинтереснее придумаете. В группу неопытных вон взяли перенесли. Какой конкурс с таким отношением?

ЗЫ: По поводу триггер_пуш - там с задержкой как-то связано.

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 22-04-2013 в 16:23:

Цитата:
-=DrTressi=- писал:
Опять репу сожрёте всю

Ну если я тебе репу вручную исправлю, тебе что жыть станет легче и прова сразу дадут? Тебе её наверное и скинули, что ты нудишь.
Триггер пуж, я не могу воще проверить, мячика нет у меня. Модельки всмысле.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 22-04-2013 в 16:29:

Дядя Миша Делайте, как считаете нужным)

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 22-04-2013 в 17:17:

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

Добавлено 22-04-2013 в 21:17:

Совет да: не держи мячик внутри триггера изначально. Пущай выпадает откуда-нибудь.

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 25-04-2013 в 16:16:

А кей-катчеру можно указывать слоты оружия? Циферки 1,2,3,4 и т.д.?

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 25-04-2013 в 16:30:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено -=DrTressi=- 25-04-2013 в 19:36:

Дядя Миша А через триггер_импульс их отловить можно?

__________________
How interesting, just look at that!
© Scientist


Отправлено Дядя Миша 25-04-2013 в 19:44:

Неа. Это ведь и не импульс. Вот если бы в римейке кваки был trigger_impulse, то там да - можно было бы отловить

__________________
My Projects: download page

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

Цитата:

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


Отправлено TOPOL_M_FRF 27-04-2013 в 15:07:

Попрос наверно глупый , но при простом компиле клиента параной начинаются ругательства вроде

code_src\cl_dll\glmanager.h(6) : fatal error C1083: Cannot open include file: 'gl/glext.h': No such file or directory

При этом самой папки gl нет ,но жалуется только на glext.
Из за чего это может быть ?


Отправлено ONeiLL 27-04-2013 в 15:10:

TOPOL_M_FRF качай на сайте OpenGL glext.h и кидай в папку:
твоя студия/include/GL/

Добавлено 27-04-2013 в 18:10:

Если совсем лень искать то вот лови


Отправлено TOPOL_M_FRF 27-04-2013 в 15:29:

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


И еще один вопрос , каким образом в той же паранои у рпг сделать прицел ?


Отправлено Ku2zoff 27-04-2013 в 17:46:

Цитата:
TOPOL_M_FRF писал:
Только странно , почему в редми к исходникам про этот файл ни слова не было сказано.

Видимо он не во все версии студии входит. Может быть только в Про и Энтерпрайз. А в стандартную - нет. То есть это уже проблемы мелкософта, а не разработчиков программ.
Цитата:
TOPOL_M_FRF писал:
каким образом в той же паранои у рпг сделать прицел

Школьник спрашивает у учительницы: "А как написать сочинение?".
Учительница ему отвечает: "Взять тетрадку с ручкой и написать".

Взять и накодить блин. Фантазию включи и попытайся сам найти решение. Это ж не что-то принципиально новое в хл добавить, вроде верёвок, это уже имеющийся функционал прилепить в другое место.
Если хочешь зум - делай вторичную атаку для РПГ и меняй в ней fov. Если лазерную точку - копипасть код из ХЛ. МБ авторы паранойи точку не вырезали из исходников, и её надо просто добавить в код параноевского РПГ.


Отправлено Дядя Миша 27-04-2013 в 18:43:

Цитата:
Ku2zoff писал:
Видимо он не во все версии студии входит. Может быть только в Про и Энтерпрайз. А в стандартную - нет

Он не входит ни в одну версию студии и входить туда не может по определению.

__________________
My Projects: download page

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

Цитата:

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


Отправлено antibiotik 18-05-2013 в 06:28:

Может кто-нибудь описать работу info_node?


Отправлено TOPOL_M_FRF 28-05-2013 в 13:46:

Может вопрос слишком глупый.
Я не могу заставить нормально работать модель апс ,которую поставил вместо глока. Стрельба есть но перезарядка происходит только тогда ,когда патронов в магазине не остается. Плюс к этому я не знаю как заставить модель находиться справа (сама модель сделана слева , но емпи её как то можно сделать справа).


Отправлено Вилс 28-05-2013 в 13:50:

Ну на счет положения модели тебе придется ее самому переставлять используя milkshape . Это из за того что ты с кс перенес модель ... Про анимацию сам не знаю , сам замучелся. ( простите за ошибки пишу с мобильника)

__________________
Привет миша


Отправлено Cybermax 28-05-2013 в 13:56:

Цитата:
TOPOL_M_FRF писал:
Плюс к этому я не знаю как заставить модель находиться справа (сама модель сделана слева , но емпи её как то можно сделать справа).



Утилита Gflip умеет отражать модели оружия.

__________________


Отправлено Дядя Миша 28-05-2013 в 16:35:

Цитата:
antibiotik писал:
Может кто-нибудь описать работу info_node?

Ноды линкуются при старте карты. Обычная линковка предполагает, что одна нода видит другую в пределах прямой видимости. Расстояние не имеет значения, самое главное, чтобы трасса пролегала, не встречая препятствий. Впрочем, код построения навигации умеет учитывать двери, а монстры в состоянии их открывать. После того как путь построен, ноды удаляются с карты, создаётся файлик с расширением .nod и монстры в дальнейшем находят пути именно с учётом его информации. Если на пути у монстра возникает динамическое препятствие, то путь триангулируется, чтобы его можно было обойти.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 07-06-2013 в 11:35:

Как узнать название модели игрока на клиенте? То название, которое игрок выставил через параметр "model" или то, которое он выбрал в меню выбора модели. Пытаюсь вот так -

C++ Source Code:
cl_entity_t	*ent;
ent = gEngfuncs.GetLocalPlayer();
if(!ent) 		return 0;
PlayerInfo = IEngineStudio.PlayerInfo( ent->index );

Не выходит. PlayerInfo->model оказывается пусто. Подскажите


Отправлено marikcool 07-06-2013 в 12:06:

просто по квару model прочитай, или посмотри аналог к infobuffer на клиенте (доступ к setinfo блоку).

__________________
vk.com/skullcapstudios


Отправлено Shapirlic 07-06-2013 в 12:07:

Квару прочитать откровенно легче.
Спасибо
Тупанул


Отправлено Vadiman 14-06-2013 в 15:32:

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


Отправлено Qwertyus 14-06-2013 в 16:41:

Vadiman:
Аттачмент в самой модели редактировать не пробовал? . Типа:

Цитата:
$attachment 0 "Bip01 R Hand" 15.000000 3.500000 5.000000

Это у HD Barney.


Отправлено Vadiman 14-06-2013 в 17:03:

Спасибо, уже разобрался


Отправлено Half 20-06-2013 в 14:09:

Привет всем!
Возник серьёзный вопрос: Никак не получается скомпилить Споровую Гранату! Что я только не делал: Смотрел исходники Demiurge-а, делал наследником через обычную гранату, шарился в исходниках других модов, результат - ноль!

__________________
Пруха длится всего 5 минут.


Отправлено fire64 20-06-2013 в 14:29:

Цитата:
Half писал:
Привет всем!
Возник серьёзный вопрос: Никак не получается скомпилить Споровую Гранату! Что я только не делал: Смотрел исходники Demiurge-а, делал наследником через обычную гранату, шарился в исходниках других модов, результат - ноль!

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

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


Отправлено FreeSlave 20-06-2013 в 14:30:

Цитата:
Half писал:

Вот погромисты нынче пошли. О наследовании толкуют, чужой код изучают, а про логи компиляции и сообщения об ошибках до сих пор ничего не знают.


Отправлено Half 20-06-2013 в 15:03:

Сейчас заново посмотрел исходник Demiurge-а. Всё скомпилилось. Кампилятор жаловался на:
"m_iExplodeC"и на "g_sModelIndexSpore"
Но теперь другая проблема:
Когда щёлкаешь лкм Sporelauncher-а, спора летит ниже прицела:

А когда ШокТрупер кидает гранату, то после взрыва остаётся спрайт:


Нашёл исходник споры от "Raven City". Теперь компилятору не нравятся партиклы.

__________________
Пруха длится всего 5 минут.


Отправлено fire64 20-06-2013 в 17:07:

Half, кидай логи компилятора, от твоих слов, что компилятор на что-то ругается. не горячо, ни холодно.

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


Отправлено Half 20-06-2013 в 17:16:

fire64

D:\SDK\Single-Player Source\dlls\spore.cpp(20) : error C2511: 'CreateSporeGrenade' : overloaded member function 'class CSpore *(const char *,class Vector,class Vector,class CBaseEntity *)' not found in 'CSpore'
d:\sdk\single-player source\dlls\weapons.h(58) : see declaration of 'CSpore'
D:\SDK\Single-Player Source\dlls\spore.cpp(32) : error C2511: 'CreateSporeRocket' : overloaded member function 'class CSpore *(const char *,class Vector,class Vector,class CBaseEntity *)' not found in 'CSpore'
d:\sdk\single-player source\dlls\weapons.h(58) : see declaration of 'CSpore'

Наверняка что-то напутал ( башка уже не варит )

__________________
Пруха длится всего 5 минут.


Отправлено FreeSlave 20-06-2013 в 18:48:

Half, это означает, что сигнатура метода, указанная в h-файле не соответствует сигнатуре метода в cpp-файле. Ошибка, кстати, запросто гуглится и чтобы её понять, необязательно даже знать C++, учись пользоваться поиском.


Отправлено Ku2zoff 20-06-2013 в 19:06:

FreeSlave для новичка не очень понятно объяснил. Half короче, в описании класса CSpore (weapons.h) у CreateSporeGrenade и CreateSporeRocket набор аргументов не такой, как в cpp-файле (spore.cpp).


Отправлено Half 21-06-2013 в 12:56:

FreeSlave, Ku2zoff
Проблема устранена, дело было в:
Spore.cpp

C++ Source Code:
CSpore *CSpore::CreateSporeRocket( Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner )

а в Weapons.h:
C++ Source Code:
static CSpore *CreateSporeRocket( [u]const char *pName[/u], Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner ); // Вот он, корень проблемы!

С больной головой такое легко пропустить!

В общем, спора готова: http://www.youtube.com/watch?v=uzTMnv6nZaI

Сейчас разбираюсь с Spore Plant. Никак не удаётся подобрать нужный угол.

Цитата:
Ku2zoff писал:
для новичка не очень понятно объяснил

С чего ты взял, что я новичок?

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 21-06-2013 в 15:20:

Цитата:
Half писал:
С чего ты взял, что я новичок?

Ну а хто? )))
Такую ерунду разрулить не можешь - помощи просишь.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 21-06-2013 в 15:28:

Цитата:
Half писал:
С чего ты взял, что я новичок?

Цитата:
Half писал:
Никак не удаётся подобрать нужный угол.

Дык вот жежь.


Отправлено XaeroX 21-06-2013 в 15:28:

Цитата:
Half писал:
С чего ты взял, что я новичок?

Очень просто. Вопросы на форумах задают только новички. Бывалые люди знают про существование гугла, а также то, что на 99% вопросов уже есть ответы в интернете.

__________________

xaerox on Vivino


Отправлено Half 21-06-2013 в 17:54:

Внезапно возник ещё один вопрос:
Почти скомпилил Спрайтовый поезд, осталась всего 1-а ошибка:

d:\sdk\single-player source\dlls\spritetrain.cpp(147) : error C2440: 'static_cast' : cannot convert from '' to 'void (__thiscall CBaseToggle::*)(void)'
None of the functions with this name in scope match the target type

Что удивительно, SetMoveDone( Wait ) (147 строка) используется только для брашевых энтитей. А что написать для точечной?

П. С. Может я плохо искал, но вопросы про исходник env_spritetrain-а мне пока не попадались.

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 21-06-2013 в 19:27:

Цитата:
Half писал:
Что удивительно, SetMoveDone( Wait ) (147 строка) используется только для брашевых энтитей. А что написать для точечной?

Оно сработает только при условии что movetype = MOVETYPE_PUSH.
Читай туторы: http://hlfx.ru/forum/showthread.php?s=&threadid=3062

Цитата:
Half писал:
Может я плохо искал, но вопросы про исходник env_spritetrain-а мне пока не попадались.

В ксаш-моде есть. Можешь оттуда взять. Он элементарно пишется минут за 15.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Half 22-06-2013 в 10:23:

С горем пополам, скомпилил всё таки этот spritetrain, опираясь на триггер-Камеру. Теперь на карте его (спрайтовый поезд) вообще нет! Что делать, ума не приложу!

Что же я не так сделал?

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 22-06-2013 в 14:41:

Цитата:
Half писал:
С горем пополам, скомпилил всё таки этот spritetrain, опираясь на триггер-Камеру

Всё правильно, так он и делается.

Добавлено 22-06-2013 в 18:36:

Посмотрел твой код. Копипаста без малейшего понимания зачем и куда.
Это не будет работать. Во первых Move надо объявить как EXPORT.
Во вторых задать SetThink( Move ) при активации. В третьих задать nextthink = gpGlobals->time, чтобы тчинкало каждый кадр, в четвертых надо найти m_pentPath причём не в спавне, а в Activate. У тебя там есть код, который этим занимается, но результат записывает почему-то в pevCurrentTarget.
Т.е. ты попросту скидал в один класс совершенно разные куски кода и теперь удивляешься почему не работает.
ЗЫ. Wait, Next вообще убери, они не будут работать для MOVETYPE_NOCLIP.

Добавлено 22-06-2013 в 18:41:

Вот боле-мене исправленный пример. Я его не проверял, но по идее должно работать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Half 22-06-2013 в 15:43:

Цитата:
Дядя Миша писал:
Посмотрел твой код. Копипаста без малейшего понимания зачем и куда.

Это ещё что! Знал бы ты, как я с этим кодом около года воевал! Потому и выглядел, как копи-паста.
Цитата:
Дядя Миша писал:
Вот боле-мене исправленный пример

Спасибо за исходник, притензий не имею, но комилятору не нравится "UTIL_SetOrigin (pev, m_pentPath->v.origin );"
Цитата:

D:\SDK\Single-Player Source\dlls\spritetrain.cpp(94) : error C2039: 'v' : is not a member of 'CBaseEntity'
d:\sdk\single-player source\dlls\cbase.h(137) : see declaration of 'CBaseEntity'
D:\SDK\Single-Player Source\dlls\spritetrain.cpp(94) : error C2228: left of '.origin' must have class/struct/union type

Чем бы заменить эту строчку?

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 22-06-2013 в 16:56:

А, я не заметил что m_pentPath это не указатель на эдикт.
Ну тогда "UTIL_SetOrigin (pev, m_pentPath->pev->origin );

Добавлено 22-06-2013 в 20:56:

Цитата:
Half писал:
Знал бы ты, как я с этим кодом около года воевал!

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Half 22-06-2013 в 18:28:

Дядя Миша
Без сарказма!: Хороший spritetrain вышел. Он, конечно по path_cornrer-ам не летает( в коде вроде всё правильно! ) зато, всё остальное - как в оригинале! Может мы про "targetname" забыли?

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 22-06-2013 в 18:47:

Цитата:
Half писал:
Он, конечно по path_cornrer-ам не летает

а что же он делает?
Цитата:
Half писал:
зато, всё остальное - как в оригинале!

так он же нелетает?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Half 22-06-2013 в 20:03:

Цитата:
Дядя Миша писал:
а что же он делает?

Ничего, висит как спрайт: http://www.youtube.com/watch?v=rh8GOxC1ZXw
и это самое странное...

Добавлено 23-06-2013 в 03:03:

Всё понятно, мы забыли про KeyValue, точнее про m_sPath. Наверное скажу глупость, но он то и цепляется за эти корнеры.

__________________
Пруха длится всего 5 минут.


Отправлено Half 23-06-2013 в 07:56:

Неа, даже с KeyValue и m_sPath, spritetrain не летит к следующему корнеру...

__________________
Пруха длится всего 5 минут.


Отправлено Half 23-06-2013 в 12:30:

+ на всякий, прописал "m_hTarget = GetNextTarget", но всё равно не то!

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 23-06-2013 в 14:48:

Цитата:
Half писал:
+ на всякий, прописал "m_hTarget = GetNextTarget"

Ну зачем делать заведомо бессмысленные действия?

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Half 23-06-2013 в 15:38:

Цитата:
Дядя Миша писал:
путь к патчкорнеру надо писать в поле target.

В хамере всё прописано.
Цитата:
Дядя Миша писал:
автоматическая телепортация на первый патч_корнер

Это тоже есть.
Цитата:
Дядя Миша писал:
А чтобы он лител, неплохо бы еще и скорость указать

Так ему скорости не хватает! Так,... а в каком исходнике указана дефолтная (по умолчанию) скорость 64?
П. С. В хамере скорость тоже указана.

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 23-06-2013 в 15:57:

C++ Source Code:
1
void CSpriteTrain::Move()
2
{
3
  // Not moving on a path, return
4
  if (!m_pentPath)
5
    return;
6
  ALERT( at_console, "m_moveDistance = %g\n", m_moveDistance );

суй вот этот алерт и смотри чё в консоль пишет.
Ну и конечно не забудь его активировать через targetname.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Half 23-06-2013 в 16:11:

При запуске уровней консоль пишет: "m_moveDistance = 0"

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 23-06-2013 в 17:25:

всё время пишет или только один раз и всё?

Добавлено 23-06-2013 в 21:24:

Чота ржу. А велосити кто указывать будет?
в конце функции Move:

C++ Source Code:
1
// Set up next corner
2
if ( !m_pentPath )
3
{
4
  pev->velocity = g_vecZero;
5
}
6
else
7
{
8
  if ( m_pentPath->pev->speed != 0 )
9
    m_targetSpeed = m_pentPath->pev->speed;
10
 
11
  Vector delta = m_pentPath->pev->origin - pev->origin;
12
  m_moveDistance = delta.Length();
13
  pev->velocity = delta.Normalize() * pev->speed; // эта строчка изменилась
14
  m_flStopTime = gpGlobals->time + m_pentPath->GetDelay();
15
}
16
}
17
 
18
pev->nextthink = gpGlobals->time;
19
}


Добавлено 23-06-2013 в 21:25:

Кстати m_flStopTime так работать не будет. Тут надо делать проверку на него.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Half 24-06-2013 в 05:27:

Цитата:
Дядя Миша писал:
всё время пишет или только один раз и всё?

На уровне sprite_train (тот, что на видео), при активации только 1 раз, а на of5a1 целых 3 раза!
Цитата:
Дядя Миша писал:
в конце функции Move

Дядя Миша Жёшь! Спайт улетает и не возвращается даже при повторной активации! Очень понравился момент, когда спрайт сквозь стену улетел! Однако "m_moveDistance = 0" так и остался.
Цитата:
Дядя Миша писал:
m_flStopTime так работать не будет. Тут надо делать проверку на него

Попробую...
Так, наверное?:
C++ Source Code:
1
if ( m_flStopTime > gpGlobals->time )
2
  pev->speed = UTIL_Approach( 0, pev->speed, m_pentPath * gpGlobals->frametime );
3
else
4
  pev->speed = UTIL_Approach( m_targetSpeed, pev->speed, m_pentPath * gpGlobals->frametime );

или лучше вообще без "m_pentPath"?
неа, всё равно сквозь стенку улетает.

__________________
Пруха длится всего 5 минут.


Отправлено Дядя Миша 24-06-2013 в 15:40:

UTIL_Approach даёт акселлерацию и торможение.
Ёлки палки, ну что за идиотская привычка пихать всё подряд, в надежде что когда-нибудь заработает. Ну почему не сесть и не разобраться КАК оно устроено? Ты уже год потратил на бессысмленную копипасту.
Тебе действительно нравится так изводить время?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 17-07-2013 в 09:03:

Парни,есть ли тутор по редактированию главного меню в Steam версии HL? Конкретно, мне нужно добавить новые пункты в закладку Options->Video или добавить новую закладку с пунктиками в меню Options.


Отправлено Qwertyus 17-07-2013 в 11:36:

Shapirlic:
Сомневаюсь в возможности добавить новые пункты в опции видео или вообще новую закладку. Но можно использовать существующую вкладку Advanced options. За счёт правки некоторых файлов (user.scr, возможно, что-нибудь в папке resource) туда можно добавить интересующие тебя настройки (см. пример в модах Cry of Fear, Arrange Mode Rebirth, Black Ops Redux и т. п.).


Отправлено XF-Alien 17-07-2013 в 12:53:

Shapirlic Тутора не видел. Но редактировать, да, в файлах, что в папке resourсe (во всяких TrackerScheme.res, GameMenu.res и т.д.) Можно ли добавить что-то новое я не уверен, не пытался, но редактировать оформление точно можно. Мб найдешь чего там...


Отправлено Дядя Миша 17-07-2013 в 14:52:

Менять можно вроде бы вообще всё и добавлять что хочешь.
Но это именно в стим-версии.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 17-07-2013 в 15:27:

Вот мне в стим версии и надо.Никто не видел какой-нить проги для этого? Или хотя бы объяснения, как то что и где.


Отправлено Дядя Миша 17-07-2013 в 16:02:

Слушай у меня младший брат примерно твоего возраста, даже моложе.
Так ему вообще никто не объяснял, он сам разобрался. И показывает мне менюшки, там у него вообще всё кастомное было. Даже я на тот момент не знал что так можно. А ты не можешь сам разобраться. Ай-яй-яй.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 17-07-2013 в 16:04:

Я начал разбираться.Но не вижу связи некоторых вещей.
Создать там слайдер я могу,но как сделать чтобы при его изменении изменялась квара в,к примеру,config.cfg, я не знаю как.


Отправлено Qwertyus 17-07-2013 в 18:56:

Shapirlic:
Скорее всего, в основных закладках все настройки управляются через какой-нибудь там vgui.dll и ничего своего туда добавить без переделки этого длл не получится, разве что поиграться с содержимым, с тем как это выглядит, как называется, как размещено, убрать что-нибудь ненужное и т. п. (то, что ты можешь сделать, редактируя res-файлы в папке resource).

Пользовательские настройки добавляются и регулируются с помощью манипуляций как раз-таки консольными кварами в user.scr. Вписанные туда параметры автоматически добавляются во вкладку Advanced (в обычном ХЛ она вызывается щелчком по кнопочке "Advanced..." на вкладке мультиплеера, но, можно её вынести и на отдельную вкладку, кажется, если уменьшить количество вкладок в опциях, например, при отключении мультиплеера).

user.scr выполняет двойную функцию - с одной стороны, он даёт возможность пользователю манипулировать внесёнными в него кварами, с другой стороны - он хранит выбранные пользователем значения, параллельно добавляя их в config.cfg при изменении.

Переключаемые квары задаются командой BOOL (чекбокс), цифровые - NUMBER (поле ввода, можно ограничить пределы вводимого значения), "словесные" - STRING (поле ввода), выпадающее меню с выбором вариантов из нескольких значений квара создаётся командой LIST.

За примером обращаться в уже упомянутые мною моды.

Учтите, что при включенном переключении языка Стима на русский дублирующий файл user.scr создаётся в папке имя-мода_russian, и далее игра обращается именно к нему, а не к тому файлу, который лежит в основной папке мода.


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

Цитата:
Shapirlic писал:
но как сделать чтобы при его изменении изменялась квара в,к примеру,config.cfg, я не знаю как.

ну квару-то в коде надо объявить и поставить ей флаг FCVAR_ARCHIVE чтобы она моглазаписываться в config.cfg

__________________
My Projects: download page

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

Цитата:

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


Отправлено Shapirlic 17-07-2013 в 19:12:

Цитата:
Дядя Миша писал:
ну квару-то в коде надо объявить и поставить ей флаг FCVAR_ARCHIVE чтобы она моглазаписываться в config.cfg

Я имел ввиду,чтобы при отметке или снятии отметки чекбокса в конфиг.кфг писалась квара например gl_bla 1 или gl_bla 0


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

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено tolerance 24-10-2013 в 09:40:

Почему в HL, когда игрок выходит из лага, на нём проигрывается звук воды?


Отправлено ONeiLL 24-10-2013 в 12:26:

И если кинуть гранату в небо то тоже звук воды слышно. может оно с этим связано?


Отправлено tolerance 24-10-2013 в 12:34:

Ну небо то другое дело, оно почти как вода, внутри него даже физика у гранат такая же как в воде.
А вот звук воды после лага игрока ... не специально же сделали...


Отправлено Дядя Миша 24-10-2013 в 15:42:

Цитата:
tolerance писал:
Почему в HL, когда игрок выходит из лага, на нём проигрывается звук воды?

Это еще что. В кваке с русской озвучкой, когда игрок выходит из лага он говорит "Фух, чуть не потонул!".

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 24-10-2013 в 15:44:

При ноклипе, кажется, то же самое бывает.


Отправлено -=DrTressi=- 25-10-2013 в 07:52:

tolerance Контенс потому что такой. Странно, что когла с лестницы слазишь этого звука нет

Небу кстати наверное можно его отключить параметром -nosky.

__________________
How interesting, just look at that!
© Scientist


Отправлено tolerance 25-10-2013 в 10:23:

-=DrTressi=-, да черт с ним, с небом. Изначальный вопрос то остался без ответа .


Отправлено pRoxxx 25-10-2013 в 17:28:

Цитата:
tolerance писал:
-=DrTressi=-, да черт с ним, с небом. Изначальный вопрос то остался без ответа .

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


Отправлено FaL_DissecTor 13-12-2013 в 22:36:

Вопрос про физику движения Quake (условно распрыжка) в Half-Life.
Есть pm_shared.c, долго его разглядывал, сравнивал с аналогичными из quake2, quake3, DMC, xash Quake. Потом взял и заменил целиком папку pm_shared сначала аналогичной из DMC, потом и вовсе из ремейка Квейка Дяди Мишы. Скомпилил и не увидел никакой разницы по сравнению с дефолтом.
Вопрос следующий. Где еще может быть куски кода отвечающие за это? Копипаста не нужна, нужна наводка на конкретную функцию(ии) либо файл.

Возможно есть консольные переменные которые нужно подкорректировать?
Знаю что airaccelerate в квейке нет, максимальная скорость 320, что еще может быть?

Ну и подробнее в чем дело. В quake, quake2, quake3 скорость персонажа ускоряется при повороте мыши а так же при ходьбе по диагонали (зажатые кнопки вперед и стрейф лево\ право). В прыжке (полете) скорость никак не замедляется, из за отсутствия airaccelerate повороты "головой" увеличивают скорость персонажа но не меняют направление движения. То есть мы набираем скорость от этих "боковых" движений и не теряем её. В HL спидометра конечно нет, но ощущениям нет такого быстрого нарастания скорости при небольших поворотах, а так же при стрейфах. HL распрыжка это наматывание кругов с довольно затяжными поворотами и скорость нарастает очень медленно. Такое ощущение что акселерация слабая.

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

P.s. Прощу без подколов ). Время поджимает а я чет не пойму что к чему.

__________________
Такие дела...


Отправлено -=DrTressi=- 14-12-2013 в 11:27:

FaL_DissecTor Ковыряй Квей Римейк. ДМ там все проверки снёс и стало хорошо прыгаться. По поводу залипания прыжка, как в ку3 - тоже в Квейк Римейке есть)

__________________
How interesting, just look at that!
© Scientist


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

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