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

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 вписывается задом наперед.

Бред какой-то.
У меня всё записывается в том же порядке, что и в мульти-менеджере. Я специально сейчас потратил время и убедился.

__________________

xaerox on Vivino


Отправлено Дядя Миша 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, не мапал? Там не было неко кова смарт-эдита, но и в сорцы (которых не было) лазить не приходилось. Так что тут имеется в виду кое-что другое - режим, когда все параметры, не прописанные в фгд явно, скрыты.

__________________

xaerox on Vivino


Отправлено 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

Вот тут более или менее понятно, как прописываются поля в энтити. И откуда берётся информация об их названиях в отсутствие исходников.

__________________

xaerox on Vivino


Отправлено Дядя Миша 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.
А то Кармак, он запросто мог...

__________________

xaerox on Vivino


Отправлено Дядя Миша 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
Во нашёл даже

code:
master ~intro_marker target +m1_inlift_go_down m_iszAltTarget +intro_otis_seq1

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

__________________
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.

__________________

xaerox on Vivino


Отправлено thambs 13-11-2019 в 09:39:

XaeroX
Я один хрен цепочки более чем из 3х сущностей в блокноте пишу, вот лифт с защитой от дурака, например:

C++ Source Code:
1
//close
2
{
3
  classname multi_manager
4
  targetname m1_elev1_closetimer
5
  m1_elev1_closedoors 10.
6
}
7
{
8
  classname multi_manager
9
  targetname m1_elev1_closedoors
10
  master ~m1_elev1_base
11
  -m1_elev1_f1doors 0.
12
  -m1_elev1_f2doors 0.
13
  -m1_elev1_f1indoors 0.
14
  -m1_elev1_f2indoors 0.
15
}
16
 
17
//move
18
{
19
  classname env_local
20
  targetname m1_elev1_lock
21
}
22
{
23
  classname multi_watcher
24
  state 0
25
  logic 0
26
  targetname m1_elev1_master
27
  m1_elev1_base off
28
  m1_elev1_f1doors off
29
  m1_elev1_f1indoors off
30
  m1_elev1_f2doors off
31
  m1_elev1_f2indoors off
32
  m1_elev1_lock off
33
}
34
{
35
  classname multi_manager
36
  targetname m1_elev1_runmm
37
  master m1_elev1_master
38
  -m1_elev1_f1marker 0.
39
  -m1_elev1_f2marker 0.
40
  +m1_elev1_base 0.
41
  +m1_elev1_lock 0.
42
}
43
{
44
  classname trigger_changetarget
45
  targetname m1_elev1_setf
46
  target m1_elev1_base
47
  m_iszNewTarget *locus
48
}
49
 
50
//floor 1
51
{
52
  classname env_local
53
  targetname m1_elev1_f1marker
54
  spawnflags 1
55
}
56
{
57
  classname trigger_relay
58
  targetname m1_elev1_f1relay
59
  triggerstate 1
60
  master ~m1_elev1_f1marker
61
  target +m1_elev1_gotof1mm
62
  m_iszAltTarget +m1_elev1_opendoors
63
}
64
{
65
  classname multi_manager
66
  targetname m1_elev1_gotof1mm
67
  +m1_elev1_setf(m1_elev1_f1) 0.
68
  +m1_elev1_closedoors 0.
69
  +m1_elev1_runmm 2.
70
}
71
{
72
  classname multi_manager
73
  targetname m1_elev1_f1mm
74
  +m1_elev1_bell1 0.5
75
  +m1_elev1_f1marker 0.5
76
  +m1_elev1_opendoors 1.5
77
  -m1_elev1_lock 2.
78
}
79
{
80
  classname multi_manager
81
  targetname m1_elev1_opendoors
82
  master m1_elev1_f1marker
83
  +m1_elev1_f1doors 0.
84
  >m1_elev1_closetimer 0.
85
  -m1_elev1_gotof1mm 0.
86
  +m1_elev1_f1indoors 0.
87
}
88
 
89
//floor 2
90
{
91
  classname env_local
92
  targetname m1_elev1_f2marker
93
}
94
{
95
  classname trigger_relay
96
  targetname m1_elev1_f2relay
97
  triggerstate 1
98
  master ~m1_elev1_f2marker
99
  target +m1_elev1_gotof2mm
100
  m_iszAltTarget +m1_elev1_opendoors
101
}
102
{
103
  classname multi_manager
104
  targetname m1_elev1_gotof2mm
105
  +m1_elev1_setf(m1_elev1_f2) 0.
106
  +m1_elev1_closedoors 0.
107
  +m1_elev1_runmm 2.
108
}
109
{
110
  classname multi_manager
111
  targetname m1_elev1_f2mm
112
  +m1_elev1_bell2 0.5
113
  +m1_elev1_f2marker 0.5
114
  +m1_elev1_opendoors 1.5
115
  -m1_elev1_lock 2.
116
}
117
{
118
  classname multi_manager
119
  targetname m1_elev1_opendoors
120
  master m1_elev1_f2marker
121
  +m1_elev1_f2doors 0.
122
  +m1_elev1_f2indoors 0.
123
  >m1_elev1_closetimer 0.
124
  -m1_elev1_gotof2mm 0.
125
}

__________________
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
Это просто названия, их придумал кодер. В каждом моде свои.

__________________

xaerox on Vivino


Отправлено Дядя Миша 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:

Цитата:
Дядя Миша писал:
https://ru.wikipedia.org/wiki/Венгерская_нотация
там целая табличка

Это хорошо, но ничего не понимаю)


Отправлено XaeroX 13-11-2019 в 12:05:

Дядя Миша
Там нет m_isz

__________________

xaerox on Vivino


Отправлено Дядя Миша 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 - строка

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

__________________

xaerox on Vivino


Отправлено Дядя Миша 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'


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

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