Случайная подборка модов
Контракт на плохую жизнь: Эффект бабочки
3.7
Возвращение
3.0
Призраки прошлого
3.2
Тайные Тропы 2
4.2
Объединенный Пак - 2
3.7
Путь Человека: Возвращение
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Софт для моддинга » Повышаем КПД Notepad++ (Маленькая, но полезная опция. Версия 0.5 beta.)
Повышаем КПД Notepad++
Украина  BozKurt
Четверг, 03.07.2014, 17:51 | Сообщение # 1
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Повышаем КПД Notepad++

Версия: 0.5 beta
Автор: ColR_iT
Это не то, чтобы программа и даже не утилита - это скорее затачивание малоизвестных функций Notepad++ под нужды модмейкеров Сталкера.
Малоизвестная функция - это окно отображения списка функций/методов того или иного языка программирования.
Я не буду рассказывать с чего всё началось, а просто покажу, что получилось...

Список функций



Автозавершение



Проверка синтаксиса Lua





Предложения по улучшению функционального и визуального вида - приветствуются!

Категорически запрещены публикация данного материала в любом виде, а также размещение ссылок на скачивание данного "дополнения" к программе Notepad++ на сайтах amk-team.ru и amk-2.ru, а также их форумах без согласия автора.
Эта тема - единственное и последнее место в котором был опубликован данный материал.
Данное утверждение не относится к плагину проверки синтаксиса, автором которого я не являюсь.
Сообщение отредактировал BozKurt - Четверг, 11.01.2018, 01:12
  Злобная реклама
Четверг, 03.07.2014, 17:51
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  antonnkz76
Воскресенье, 06.07.2014, 17:27 | Сообщение # 16
5 лет в Зоне
Статус:
Опытный:
Сообщений: 2342
Награды: 9
Регистрация: 26.02.2012

Цитата скат ()
Сам КПД прикольная штука, а вот прога версии 6.6.7 глючит сама по себе. Прикрутить к версии 5.6.3 не как нельзя?

Поясняю специально для тебя: КПД - не название плагина, а Коэффициент Полезного Действия.
  Злобная реклама
Воскресенье, 06.07.2014, 17:27
Статус:
Сообщений: 666
Регистрация: 26.02.2012
Украина  BozKurt
Вторник, 08.07.2014, 16:11 | Сообщение # 17
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Господа (и Дамы, если таковые имеются)!
Есть вопрос для тех, кто умеют писать скрипты и тех, кому приглянулся плагин автозавершения имён методов.
Имеется возможность генерировать список имён для всех функций и методов всех файлов скриптов, т.е. возможно (с большой вероятностью) появится поддержка пользовательских функций и методов. От чего появился вопрос: какие именно методы и функции нужно отображать в списке?
Что я имею ввиду...
Например, я считаю, что функции с областью видимости local, не нужны т.к. дальше файла-модуля, в котором эта функция описана, её видно не будет, да и как правило это разного рода вспомогательные узконаправленные функции и функторы.
Также, считаю, лишним добавление в список движковых методов для класса object_binder, т.е. тех, что вызываются автоматически движком, например: __init, net_spawn, reinit, update и т.д.
Как считаете Вы?
  Злобная реклама
Вторник, 08.07.2014, 16:11
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  RayTwitty
Вторник, 08.07.2014, 20:04 | Сообщение # 18
Phantoms Zone
Shadows Addon
DMX MOD
Статус:
Опытный:
Сообщений: 2366
Награды: 15
Регистрация: 05.07.2010

Всё-таки на АМК больше головастого народа сидит, следовательно => больше пожеланий и предложений.
  Злобная реклама
Вторник, 08.07.2014, 20:04
Статус:
Сообщений: 666
Регистрация: 05.07.2010
Украина  BozKurt
Вторник, 08.07.2014, 20:11 | Сообщение # 19
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Ну ты же здесь сидишь. smile Ну а те, кто в принципе на амк сидит, уже давно у меня в контактах есть... не все конечно, но на единое мнение хватит.
  Злобная реклама
Вторник, 08.07.2014, 20:11
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  RayTwitty
Вторник, 08.07.2014, 20:12 | Сообщение # 20
Phantoms Zone
Shadows Addon
DMX MOD
Статус:
Опытный:
Сообщений: 2366
Награды: 15
Регистрация: 05.07.2010

Цитата BozKurt ()
Также, считаю, лишним добавление в список движковых методов для класса object_binder, т.е. тех, что вызываются автоматически движком, например: __init, net_spawn, reinit, update и т.д.

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

Пожелание: добавить также проверку синтаксиса, хотя бы луа-скриптов. Чтобы не приходилось использовать сторонние проги\сервисы.
Сообщение отредактировал Shadows - Вторник, 08.07.2014, 20:34
  Злобная реклама
Вторник, 08.07.2014, 20:12
Статус:
Сообщений: 666
Регистрация: 05.07.2010
Украина  BozKurt
Вторник, 08.07.2014, 22:46 | Сообщение # 21
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Цитата Shadows ()
А как она может помешать?
Помешать - никак. Но есть два "но":
1. Есть ограничение на наличие одноимённых методов/функций, в списке оно должно быть уникальным.
2. Эти методы не вызываются явно. Лично я не видел ни одного примера, где бы коллбек вызывался явно, поэтому, имхо, абсолютно не за чем.

Добавлено (08.07.2014, 22:46)
---------------------------------------------

Цитата Shadows ()
добавить также проверку синтаксиса
Отличное пожелание, кто добавит - тоже скажу спасибо! smile
Когда я писал, про "принимаются пожелания", то я имел ввиду пожелания по данному функционалу, а не Notepad++ в принципе. Без отдельного плагна на С++ этому не быть.
  Злобная реклама
Вторник, 08.07.2014, 22:46
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  RayTwitty
Среда, 09.07.2014, 20:31 | Сообщение # 22
Phantoms Zone
Shadows Addon
DMX MOD
Статус:
Опытный:
Сообщений: 2366
Награды: 15
Регистрация: 05.07.2010

Цитата BozKurt ()
Эти методы не вызываются явно. Лично я не видел ни одного примера, где бы коллбек вызывался явно, поэтому, имхо, абсолютно не за чем.

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

Кстати, учтено ли наличие нескольких классов в одном модуле?

Добавлено (09.07.2014, 20:31)
---------------------------------------------

Цитата BozKurt ()
При начале ввода параметров данного метода, а точнее при написание открывающейся круглой скобки, появится подсказка с описанием данного метода, возвращаемого значения и его параметрах.
Описаны только класс game_object и пространств имён game и level.

Вот тут бы я лучше упростил. Объясню почему.

1) Не все методы имеют однозначное действие, например вызов для одного типа объекта делает одно действие, для другого соответственно другое действие. Это надо учитывать.
2) Не все методы описаны в lua_help и соответственно в справочнике от malandrinus тоже (откуда он собственно и брал инфу). За полной информацией надо лезть именно внутрь движка.
3) Количество игровых методов составляет чуть более чем over9000. Банально надоест разбирать и описывать каждый. Да и правильнее тогда бы составлять отдельный справочник аля "Справочник функций и классов от malandrinus".

Исходя из всего этого, я бы посоветовал при набирании имени метода просто добавлять хинт с информацией о функции в виде:
<возвращаемое значение> <имя функции>(<параметры>)
Причем именно в луа-стиле. А вот разных void, u32 не надо)))
  Злобная реклама
Среда, 09.07.2014, 20:31
Статус:
Сообщений: 666
Регистрация: 05.07.2010
Российская Федерация  Scouser
Среда, 09.07.2014, 20:31 | Сообщение # 23
Статус:
Опытный:
Сообщений: 1614
Награды: 16
Регистрация: 21.10.2012

Цитата Shadows ()
Пожелание: добавить также проверку синтаксиса, хотя бы луа-скриптов. Чтобы не приходилось использовать сторонние проги\сервисы.


Кстати да, шикарное пожелание, самому в голову не приходило, хотя постоянно пользуюсь различными утилитами. smile
  Злобная реклама
Среда, 09.07.2014, 20:31
Статус:
Сообщений: 666
Регистрация: 21.10.2012
Украина  BozKurt
Среда, 09.07.2014, 23:04 | Сообщение # 24
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Цитата Shadows ()
Кстати, учтено ли наличие нескольких классов в одном модуле?
Да хоть все классы в один модуль...
Это не intellisense из VS. Принцип самой опции автодополнения реализована в движке самой программы, я же предлагаю эту опцию максимально заточить под сталкер. Автодополнение Notepad++ не различает объекты, он их и определять не умеет, это текстовый редактор, а не IDE. Список выпадает при наборе трёх (зависит от выставленных настроек) буквенно-цифровых символов.
Имеются и ограничения:
- В .xml файле имена функций не должны повторяться. Точнее могут, но учитывается последний;
- В .xml файле имена должны быть упорядочены строго по алфавиту. Хотя это больше моя забота.
- Описание должно быть исключительно латиницей. Не смог я заставить Notepad++ читать кириллицу.

Цитата Shadows ()
например вызов для одного типа объекта делает одно действие, для другого соответственно другое действие
А можно пример такого метода?
Цитата Shadows ()
Количество игровых методов составляет чуть более чем over9000
Именно по тому, что я не совсем псих, я описал только game_object и два пространства имён. smile

Цитата Shadows ()
я бы посоветовал при набирании имени метода просто добавлять хинт с информацией о функции в виде:
<возвращаемое значение> <имя функции>(<параметры>)
Причем именно в луа-стиле. А вот разных void, u32 не надо)))
Почему именно в Lua-стиле? Из "заимствованных" я предлагаю только void - как обозначение того, что метод ничего не возвращает (избавит начинающего скриптёра от проблемы, когда попытается присвоить значение метода какой-лио переменной) и float/int - для определения того, какого именно вида число принимает/возвращает метод. В остальном указывается именно Lua типы и типы экспортированные из движка.

Цитата LaRento ()
Кстати да, шикарное пожелание, самому в голову не приходило, хотя постоянно пользуюсь различными утилитами.
Без отдельного плагина на С++ этому не быть. sad
  Злобная реклама
Среда, 09.07.2014, 23:04
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  RayTwitty
Четверг, 10.07.2014, 00:01 | Сообщение # 25
Phantoms Zone
Shadows Addon
DMX MOD
Статус:
Опытный:
Сообщений: 2366
Награды: 15
Регистрация: 05.07.2010

Цитата BozKurt ()
Почему именно в Lua-стиле?

Потому что скрипты сталкера на луа и программист вообще может не знать ничего кроме этого языка smile

Цитата BozKurt ()
float/int - для определения того, какого именно вида число принимает/возвращает метод.

А если там беззнаковое uint?))

Цитата BozKurt ()
я описал только game_object

Все все методы? Обнови тогда справочник маландринуса на АМК - полезно будет.

Цитата BozKurt ()
А можно пример такого метода?

Например character_rank() можно вызвать и для CBaseMonster, и для CInventoryOwner.
Сообщение отредактировал Shadows - Четверг, 10.07.2014, 00:12
  Злобная реклама
Четверг, 10.07.2014, 00:01
Статус:
Сообщений: 666
Регистрация: 05.07.2010
Украина  BozKurt
Среда, 23.07.2014, 11:21 | Сообщение # 26
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Цитата Shadows ()
Потому что скрипты сталкера на луа и программист вообще может не знать ничего кроме этого языка
Ну здесь два варианта: либо ты недооцениваешь программистов, либо ты переоцениваешь обычного пользователя.
То, что float - это вещественный (с плавающей запятой), а int - целочисленный типы, знать должен каждый школьник, который ходил на уроки информатики, т.к. они в ознакомительных целях используют Pascal, но в любом случае типизированный язык (говорю, как преподаватель) => если не знает, то учиться плохо или же такому человеку плевать на программирование, а значит и скрипты писать он вряд ли будет. Про void - вообще молчу, дословный перевод на русский говорит сам за себя.

Цитата Shadows ()
А если там беззнаковое uint?
Не нужно утрировать и цепляться за слова. Целью было и есть помочь определить какой тип числового значения должен использоваться: целый или дробный.

Цитата Shadows ()
Все все методы?
Все все, что нашёл на StalkerInside в статье "Описание класса game_object". Статью оформлял K.D. вроде как...

Цитата Shadows ()
Например character_rank() можно вызвать и для CBaseMonster, и для CInventoryOwner
Одно дело вызывать для разных типов, другое:
Цитата Shadows ()
вызов для одного типа объекта делает одно действие, для другого соответственно другое действие


Добавлено (21.07.2014, 12:15)
---------------------------------------------
Добавил в шапку программу AutocompletionScanning для генерирования файла lua.xml исходя из предоставленной папки со скирптами.
Подробная инструкция есть в самой программе, если нажать F1 в запущенной программе. Если коротко, то: Вы указываете папку со скриптами, на основе файлов которой будет создан список имён функций и методов из этих файлов. Программу можно запустить и в автономном режиме, тогда она будет периодически сканировать указанную папку и пополнять список только что написанными функциями. Подробнее в справке (она не большая, но нужная:)).
Жду отзывов и предложений.

Добавлено (23.07.2014, 11:21)
---------------------------------------------
В шапку добавлен полноценный плагин проверки синтаксиса.
Читаем, качаем, устанавливаем, пользуемся. smile
Предложения приветствуются!
Сообщение отредактировал BozKurt - Среда, 23.07.2014, 11:22
  Злобная реклама
Среда, 23.07.2014, 11:21
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Украина  Comador
Четверг, 24.07.2014, 01:49 | Сообщение # 27
Статус:
Неопытный:
Сообщений: 507
Награды: 2
Регистрация: 23.12.2011

Цитата BozKurt ()
добавлен полноценный плагин проверки синтаксиса

Нужно уточнить, что для его работы нужен установленный в системе Visual C++ 2010.
  Злобная реклама
Четверг, 24.07.2014, 01:49
Статус:
Сообщений: 666
Регистрация: 23.12.2011
Япония  HellRatz
Пятница, 24.06.2016, 11:16 | Сообщение # 28
Оставшийся умирать
Статус:
Опытный:
Сообщений: 1416
Награды: 12
Регистрация: 19.02.2011

Может кто перезалить "Плагин проверки синтаксиса" ?
  Злобная реклама
Пятница, 24.06.2016, 11:16
Статус:
Сообщений: 666
Регистрация: 19.02.2011
Украина  BozKurt
Среда, 29.06.2016, 11:44 | Сообщение # 29
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

HellRatz, у меня, к сожалению, нет актуальной, да и любой другой, версии плагина. Но я знаю где можно достать. smile В профиле Charsi на амк точно сможешь найти последнюю версию.
  Злобная реклама
Среда, 29.06.2016, 11:44
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  vovishe
Четверг, 11.01.2018, 00:35 | Сообщение # 30
Статус:
Зевака:
Сообщений: 5
Награды: 0
Регистрация: 09.02.2013

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

Опишу ситуацию, а вы скажите своё мнение
1. хочу увеличить цены на артефакты в 2 раза
2. открываю 2 конфига в notepad++
3. жму ctrl+f и нахожу все строчки "cost"
Есть возможность умножить их на *2 по быстрому, не перемножая их в голове и не меняя каждую строчку вручную?

Возможно у Вас есть совет, как облегчить/ускорить "замену значений"

PS Заранее ОГРОМНОЕ спасибо, всем, кто откликнется
  Злобная реклама
Четверг, 11.01.2018, 00:35
Статус:
Сообщений: 666
Регистрация: 09.02.2013
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Софт для моддинга » Повышаем КПД Notepad++ (Маленькая, но полезная опция. Версия 0.5 beta.)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: