HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Jackhammer (https://hlfx.ru/forum/forumdisplay.php?forumid=35)
-- Smart Edit - так ли уж он нужен? (https://hlfx.ru/forum/showthread.php?threadid=5397)
Отправлено Дядя Миша 12-11-2019 в 10:56:
Smart Edit - так ли уж он нужен?
Тут Камрад Ксерокс высказал интересную мысль, цитирую
Цитата:
хаммер и любят изза смарт-едита как раз.
Лично мне. с учётом всех головняков, которые вызваны сокрытием полей это заявление представляется небесспорным. Но давайте проведём опрос для объективности. Голосуем.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 12-11-2019 в 11:26:
Смартедит это по сути замена поддерживаемых имён полей дисплейнеймами. В самой идее ничего плохого нет, тут ведь как реализуешь.
Если бы я делал, я бы оформил конфигуратор в виде спредшита, где можно было бы скрыть колонку хоть имён, хоть дисплейнеймов.
А для имён, которые не определены, дисплейнеймы отображались бы по правилу (капиталайз, замена подчёркиваний на пробелы и т. д.). Что не определено, вынес бы в подвал, как делает кварк.
Хотя логическим завершением смартедита было бы давать для имён, которые определены, контролы соответствующего типа: спинбоксы для чиселок, текстбоксы для текста, комбобоксы для выбора существующих объектов (уже есть в джеке), цветовой круг для цвета и всё такое.
Отправлено Hypax 12-11-2019 в 11:56:
Вообще не понял,если честно,связь ошибок в скриптах и смартедита.
Отправлено Crystallize 12-11-2019 в 15:39:
С одной стороны к марту апреля этого года когда я упёрся в ограничения маппинга-скриптинга (или своего умения в оных) я успел привыкнуть к тому как устроен Кварк.
С другой стороны где-то тогда же весной я потерял неделю потому что у меня перестали работать вообще любые кальк-энтити в Спирите и в консоли выдавалась какая-то невнятная ошибка а потом оказалось что это было из-за отсутствия одного дефолтного кейвалуя который я удалил потому что по названию он казался опциональным. Это был толи noise, толи message.
Добавлено 12-11-2019 в 22:39:
да вот же: https://hlfx.ru/forum/showthread.ph...8936#post178936
Отправлено chakki.skrip 12-11-2019 в 15:46:
Почаще сохраняйтесь и будьте более бдительны, вот и секрет)
Отправлено FiEctro 12-11-2019 в 15:48:
канеш нужен, иначе вообще непонятно что за срань там в параметрах
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено thambs 12-11-2019 в 15:54:
А я вот похоже вас не понял. То что называют "Smart Edit"ом -- это какой из режимов: когда вручную поля набиваешь, или когда в списке фиксированные поля из фгд?
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено Crystallize 12-11-2019 в 15:57:
Цитата:
Hypax писал:
Вообще не понял,если честно,связь ошибок в скриптах и смартедита.
Чтобы у маппера не рябило в глазах от обилия параметров и не приходилось слишком много скролить, редактор считает не встречающиеся в фгд параметры энтити лишними, безвредными, не имеющими эффекта, и прячет их под кат. А они на самом деле имеют эффект.
Отправлено chakki.skrip 12-11-2019 в 16:02:
Я знаете что заметил, что keyvalue вписывается задом наперед.
Тобишь если будет такой порядок в том же multi_manager:
"1" "0.0"
"2" "0.0"
"3" "0.0"
"4" "0.0"
"5" "0.0"
То после экспорта в мап будет
"5" "0.0"
"4" "0.0"
"3" "0.0"
"2" "0.0"
"1" "0.0"
Иногда это может плохо отразиться на карте.
Отправлено XaeroX 12-11-2019 в 16:09:
Цитата:
chakki.skrip писал:
Я знаете что заметил, что keyvalue вписывается задом наперед.
Бред какой-то.
У меня всё записывается в том же порядке, что и в мульти-менеджере. Я специально сейчас потратил время и убедился.__________________
Отправлено Дядя Миша 12-11-2019 в 16:38:
Цитата:
chakki.skrip писал:
Я знаете что заметил, что keyvalue вписывается задом наперед.
Это компиляторы делают. там односвязный список и после каждого парсинга он меняет свой порядок. Я давным давно уже обращал внимание на эту проблему, мои компиляторы так себя не ведут.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 13-11-2019 в 08:36:
Цитата:
FiEctro писал:
канеш нужен, иначе вообще непонятно что за срань там в параметрах
Я думаю, Дядя Миша этот опрос создавал в первую очередь как программист, а не как маппер. И откуда же маппер должен знать какой кейвалуй соответствует какому параметру? Это когда у тебя сорцы на руках - открыл и посмотрел. А без сорцев только фгд открывать и подглядывать там.
Отправлено XaeroX 13-11-2019 в 08:38:
Ku2zoff
Скажи честно - ты под старую Волатилу, в VolatileRadiant, не мапал?
Там не было неко кова смарт-эдита, но и в сорцы (которых не было) лазить не приходилось. Так что тут имеется в виду кое-что другое - режим, когда все параметры, не прописанные в фгд явно, скрыты.
__________________
Отправлено Ku2zoff 13-11-2019 в 08:46:
Цитата:
XaeroX писал:
ты под старую Волатилу, в VolatileRadiant, не мапал
Я ставил GTK Radiant, попробовал в нём работать, и удалил. Даже в Unrealed карту-коробку делал, а в радианте нифига не смог. Так что нет. Радиантом я пользовался ровно один раз и ровно 10 минут.
Отправлено XaeroX 13-11-2019 в 08:58:
Ku2zoff
Ну хорошо. А уроки мои ты смотрел?
Вот например этот:
https://hlfx.ru/forum/showthread.php?s=&threadid=2554
Вот тут более или менее понятно, как прописываются поля в энтити. И откуда берётся информация об их названиях в отсутствие исходников.
__________________
Отправлено Дядя Миша 13-11-2019 в 09:04:
Ku2zoff меня эти алиасы только путают. Это надо в голове держать цепочку FGD->map->parser->real variable.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 13-11-2019 в 09:14:
Дядя Миша
Это всё из-за того что всякие опциальные параметры имеют наркоманские ключи: то какой-то "netname" (что это вообще такое?) для активации по окончанию секвенции; то какие-то совсем упоротые "m_iSzNextЧототам".
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено XaeroX 13-11-2019 в 09:18:
Цитата:
thambs писал:
то какие-то совсем упоротые "m_iSzNextЧототам".
Скажите спасибо, что не m_monkey_should_be_spanked.
А то Кармак, он запросто мог...__________________
Отправлено Дядя Миша 13-11-2019 в 09:23:
Наркоманские ключи это результат симбиоза венгерской нотации и entvars_t. Половина ключей наследовалась от стандартных переменных, а половине дали такое же имя как и в коде. Конечно человека, далёкого от программирования эти m_isz только пугают.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 13-11-2019 в 09:26:
XaeroX
Во нашёл даже
Т.е. получается ещё и два стиля написания смешаны, нормальный и наркоманский.__________________
http://www.moddb.com/mods/monorail-quest
Отправлено Дядя Миша 13-11-2019 в 09:28:
Цитата:
thambs писал:
то какой-то "netname" (что это вообще такое?)
Ох. netname изначально в куси преднзначался только для игрока и только как его имя. В халфе он просто оказался одним из немногих незанятых полей с типом STRING.
C++ Source Code:
1 | DEFINE_ENTITY_GLOBAL_FIELD( target, FIELD_STRING ), |
2 | DEFINE_ENTITY_GLOBAL_FIELD( targetname, FIELD_STRING ), |
3 | DEFINE_ENTITY_FIELD( netname, FIELD_STRING ), |
4 | DEFINE_ENTITY_FIELD( message, FIELD_STRING ), |
Вот их четыре штуки дефолтных, причём первые понятно для чего. А вот message и netname юзали вообще для всего, чтобы не регать новые. К тому же их движок видел, что могло пригодится в дальнейшем.
Добавлено 13-11-2019 в 12:28:
Цитата:
thambs писал:
Т.е. получается ещё и два стиля написания смешаны
m_iszAltTarget - это Лаури так зачем-то назвал. Ктоб его просил.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 13-11-2019 в 09:35:
Дядя Миша
Цитата:
message и netname
Вот меня всегда это вымораживало в спирте и потомках. Попробуй догадайся что для чего, а с train_trackchange до сих пор путаюсь какой сверху, какой снизу срабатывает.
Алсо, а в NT будет возможность в парсере повесить на такие вещи алиасы?__________________
http://www.moddb.com/mods/monorail-quest
Отправлено XaeroX 13-11-2019 в 09:35:
Цитата:
thambs писал:
Попробуй сообрази что для чего, а с train_trackchange до сих пор путаюсь.
Вот для этого и нужен Smart Edit. 
__________________
Отправлено thambs 13-11-2019 в 09:39:
XaeroX
Я один хрен цепочки более чем из 3х сущностей в блокноте пишу, вот лифт с защитой от дурака, например:
C++ Source Code:
3 | classname multi_manager |
4 | targetname m1_elev1_closetimer |
5 | m1_elev1_closedoors 10. |
8 | classname multi_manager |
9 | targetname m1_elev1_closedoors |
13 | -m1_elev1_f1indoors 0. |
14 | -m1_elev1_f2indoors 0. |
20 | targetname m1_elev1_lock |
23 | classname multi_watcher |
26 | targetname m1_elev1_master |
29 | m1_elev1_f1indoors off |
31 | m1_elev1_f2indoors off |
35 | classname multi_manager |
36 | targetname m1_elev1_runmm |
37 | master m1_elev1_master |
44 | classname trigger_changetarget |
45 | targetname m1_elev1_setf |
53 | targetname m1_elev1_f1marker |
57 | classname trigger_relay |
58 | targetname m1_elev1_f1relay |
60 | master ~m1_elev1_f1marker |
61 | target +m1_elev1_gotof1mm |
62 | m_iszAltTarget +m1_elev1_opendoors |
65 | classname multi_manager |
66 | targetname m1_elev1_gotof1mm |
67 | +m1_elev1_setf(m1_elev1_f1) 0. |
68 | +m1_elev1_closedoors 0. |
72 | classname multi_manager |
73 | targetname m1_elev1_f1mm |
75 | +m1_elev1_f1marker 0.5 |
76 | +m1_elev1_opendoors 1.5 |
80 | classname multi_manager |
81 | targetname m1_elev1_opendoors |
82 | master m1_elev1_f1marker |
84 | >m1_elev1_closetimer 0. |
86 | +m1_elev1_f1indoors 0. |
92 | targetname m1_elev1_f2marker |
95 | classname trigger_relay |
96 | targetname m1_elev1_f2relay |
98 | master ~m1_elev1_f2marker |
99 | target +m1_elev1_gotof2mm |
100 | m_iszAltTarget +m1_elev1_opendoors |
103 | classname multi_manager |
104 | targetname m1_elev1_gotof2mm |
105 | +m1_elev1_setf(m1_elev1_f2) 0. |
106 | +m1_elev1_closedoors 0. |
110 | classname multi_manager |
111 | targetname m1_elev1_f2mm |
113 | +m1_elev1_f2marker 0.5 |
114 | +m1_elev1_opendoors 1.5 |
118 | classname multi_manager |
119 | targetname m1_elev1_opendoors |
120 | master m1_elev1_f2marker |
122 | +m1_elev1_f2indoors 0. |
123 | >m1_elev1_closetimer 0. |
124 | -m1_elev1_gotof2mm 0. |
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено Дядя Миша 13-11-2019 в 09:43:
Цитата:
thambs писал:
Алсо, а в NT будет возможность в парсере повесить на такие вещи алиасы?
алиасы всегда можно было повесить, никто этим на заморачивался. Да они и есть кое-где.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 13-11-2019 в 10:14:
Цитата:
thambs писал:
то какие-то совсем упоротые "m_iSzNextЧототам".
Эти как раз легко запоминаются потому что после m_isz всегда идёт название параметра которое не только уникально но и имеет смысл для текущей энтити.
Отправлено chakki.skrip 13-11-2019 в 10:22:
А где про m_iSz почитать можно? Они работают в кс? Встречал как-то пару раз(но не в кс) и так не знаю, что они делают
Отправлено XaeroX 13-11-2019 в 10:24:
chakki.skrip
Это просто названия, их придумал кодер. В каждом моде свои.
__________________
Отправлено Дядя Миша 13-11-2019 в 10:53:
Цитата:
chakki.skrip писал:
А где про m_iSz почитать можно?
https://ru.wikipedia.org/wiki/Венгерская_нотация
там целая табличка__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено chakki.skrip 13-11-2019 в 11:03:
Цитата:
Это хорошо, но ничего не понимаю)
Отправлено XaeroX 13-11-2019 в 12:05:
Дядя Миша
Там нет m_isz
__________________
Отправлено Дядя Миша 13-11-2019 в 12:20:
m_ - член класса
i - целочисленная переменная
sz - строка
как раз для описания string_t
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 13-11-2019 в 12:52:
Цитата:
Дядя Миша писал:
i - целочисленная переменная
sz - строка
У нормального человека это вызывает перегорание предохранителей в голове. И только потраченные люди, работавшие с халфой, догадаются, что это за зверь. 
__________________
Отправлено Дядя Миша 13-11-2019 в 12:59:
Тежолое наследие, чоужтам.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'