Перейти к контенту

Курилка программистов


Рекомендуемые сообщения

 

 

, "xray-extensions" и "мелкие правки" из которых одна активная. ..."xray-extensions" строго по одному проекту... Смысл что-то менять

Смысл есть...

В том же xray-extensions тот же @НаноБот выкладывал свои правки под практически такими же номерами ревизий, как и ревизии от авторов проекта. Причем правки интересные и нужные.

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

  • Нравится 1
Ссылка на комментарий

НаноБот выкладывал свои правки под практически такими же номерами ревизий

Так делать не надо. Отдельными темами это не решишь. Он основывается еще и не на последней ревизии вроде.

По-хорошему надо влить свои правки в общий котел к xray-extensions и тогда никакой путаницы не будет.

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

  • Согласен 2
Ссылка на комментарий

 

 

Ребятки, проконсультируйте
Ну по традиции следует куда-то отправить:) Например сюда : http://www.lua.ru/doc/2.6.html
Разобраться можно конечно, но когда я первый раз читал, то понятие приходило не совсем просто.
Потому что маловато информации, и нужно было бы рассказать более подробно и про области видимости и по ходу дела про сопутствующее тоже.
Так что если есть такая необходимость, то могу попробовать рассказать об этом более развернуто.
Добавлено Kirgudu,

Перенёс из «Скриптования» этот и несколько следующих постов.

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

При этом следует учитывать, что "чистый" Lua и Lua сталкера не  на 100% тождественны. Есть ньюансы.

Изменено пользователем Serge!
Добавлено Kirgudu,

Перенёс из «Скриптования» этот и несколько следующих постов.

Ссылка на комментарий

Да, да. Именно это я и имел в виду, когда говорил о том, что хотел рассказать о "сопутствующем".

А конкретнее про модули как lua так и сталкера.

Ссылка на комментарий
Именно это я и имел в виду, когда говорил о том, что хотел рассказать о "сопутствующем".

 

 

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

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

Изменено пользователем Serge!
  • Нравится 1
Ссылка на комментарий

Тут одно их двух. Или достаточно долго писать доходчивый тутор, или где-то типа скайпа рассказать по быстрому.
Но это зависит от вопрошающего.
Впрочем этот мой пост уже точно флуд :)

Ссылка на комментарий

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

Ладно, помечтал, пофлудил...и хватит :)

Добавлено Kirgudu,

Перенёс из «Скриптования» этот и несколько следующих постов.

Ссылка на комментарий

@SoP, Пофлудим, пока Администрация позволяет, хотя для таких постов есть и вполне официальное мечто. Перенесут, если что.

Я за. И готов в таком поучаствовать. Предполагаю, что знаю, ешё нескольких пользователей этого ресурса, которые могли активно, и главное полезно, в этом поучаствовать. Это не самые активные здесь (ИМХО). Захотят - проявятся. Решение за Администрацией.

  • Нравится 1
Ссылка на комментарий

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

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

Конкретно по Сталкеру - если по маппингу и СДК такая работа более менее сделана, то по скриптингу, увы... Хотя, кому это сейчас интересно, кроме оставшихся самых упоротых адептов Сталка... На фоне прогрессирущих Unity, UE4 и прочих шедевров школоло и не очень игростроя)))

Ссылка на комментарий

@SoP, "Где-ж ты раньше был, когда я с другим..."

Я здесь об этом уже 2 года бьюсь. Слава Всевышнему, администрация здесь вменяемая.

Как я себе это всё безобразие представляю.

Когда-то собралась компания проекта "Сталкер" - участников?, последователей?, "двигателей"?, ... и ещё всего разного. Скучковались. Все со своими прожектами, решениями и амбициями. По первости всё (после огранизации) было "тип-топ". Это именно то, про что Вы и говорили: описание классов, общие понятия о модинге и т.д. и т.п. Потом ... как обычно. Сначала - примкнувший близкий круг (большенство нынешних модедаторов). Дальше больше - ресурс оброс шелухой: зачем здесь "Другие игры"? или "солянка"? - надо... надо для привлечения пользователей, однако.

 

(Просто шалые мысли вдруг: "Солянка" - это отдельная веточка Сталкера. "Народное" творчество. Дури там, как мути. Зачем этому, классическому по сути ресурсу, ассоциироваться с ним? Не этот ли ближний круг всё это ворожит? Подумаем позже.)

 

Продолжим: "Отцы основатели" стали почти богами и другие мнения уже воспринимали с большим трудом (пример? artos). И так это докатилось до того, что мы сейчас и видим. Повторюсь: живёт это, по моему, тольку благодаря адекватной Администрации, которой по мозгам тоже не мешало бы пройтись в плане огранечения вседозволенности подчинённых ей структур. И ещё молодёжи, которой пока это интересно и плевать на предисторию. Прочие вполне бы могли тусоваться сами по своим каналам (личке, скайпу и т.п.) для осуждения только им интересным проблем. Они не глобальны. Пример? Прочитайте веточку о торговле.  Резвятся там два (вполне достойный и знающих) пользователя ресурса в полную силу. Даёт это что либо другим пользователям? Соответствует это задачам и декларированным целям рерурса? То-то и оно.

 

К теме "Скрипрование" это всё разумеется никакого отношения не имеет, но ведь здесь даже и Модератора темы нет! "Монолит", который её создал - где он? Отккликнесь. Если и забежит то только глобальный ДС - "всем прятаться, а кто не спрятался, я не виноват."

Так и живём.

 

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

А Вы не можете над этим подумать и сформировать как-то в виде схемы или простенького графа?

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

 

долго писать доходчивый тутор

А что слабо попробовать? Если что и я помогу, чем смогу. Главное начать, а там и другие подтянутся. Такие здесь есть. Это точно.

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

Для начала отпишитель в личку к Администратору. Посоветуйтесь, обсудите ньюансы, разучитьсесь поддержкой?... Ну и в вперёд с флагом и воплем ура (что в переводе означает убъём всех врагов)

 

Когда-же нас шуганут отсюда?

Изменено пользователем Serge!
Ссылка на комментарий

А Вы не можете над этим подумать и сформировать как-то в виде схемы или простенького графа?

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

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

Ссылка на комментарий

А Вы не можете над этим подумать и сформировать как-то в виде схемы или простенького графа?

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

 

На самом деле действительно, неплохой совет.

Раз уж поднимается такой вопрос, и "послать в справочник по функциям и классам" - не является удовлетворительным ответом на него, то, в каком виде должна быть организована информация? Как вообще вы представляете себе, внешний вид такого учебника, как он должен выглядеть? В какой структуре там должна излагаться информация?

 

Если о себе говорить... применительно к сталкеру, учился по теме той самой. "Справочник по функциям и классам". Да что-то там написано неточно, а что-то вообще не упоминается, немало пришлось потоптаться по различным граблям. Ну, а как иначе?) Та тема представляет собой изложение опыта многих скриптеров занимавшихся сталкером. Предложите способ, каким можно было бы изложить тот же опыт более доходчиво и наглядно?

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

 

 

Предложите способ, каким можно было бы изложить тот же опыт более доходчиво и наглядно?

Да не предложат ничего - просто хочется людям, чтоб все "фундаментально и по полочкам". Чтоб меньше напрягаться, пытаясь изучить двигло и его скрипто-конфиговую обвязку. Желание понятное - людишки так устроены(и я в т.ч.), и с этим ничего не поделаешь...

  • Согласен 1
Ссылка на комментарий

@Zander_driver, сразу говорю - не призываю к действию: был бы новичкам интересен гайд, который описывал создание какого либо объекта от записей в конфиг, до его непосредственного лицезрения в игре. А точнее,последовательность того, что делает движок с этим конфигом и как он его понимает. К примеру как он понимает класс объекта, их экспортированность и "наследственность"; методы серверного класса, онлайнового; что такое биндер; как работает, строится и привязывается логика к этому объекту, и в конце - методы спавна. Вобщем весь путь от кофига, до сталкера, сидящего у костра, жующего хлебушек.

 

п.с. Лично я застрял на логике. Там чёрт ногу сломит, какой то ещё псевдо-язык блин. 

  • Согласен 2

... А наше дело маленькое - с ружьём да по болотам. (с)

Ссылка на комментарий

@Max_Raf, особенно было бы интересно почитать про создание абсолютно нового класса итемов - от создания базового класса до написания конфига. Я уже делал подобное - но хочется узнать всё ли я правильно делал или можно сделать это быстрее,легче,а главное без ошибок)

Ссылка на комментарий

Ну если прям вообще новый класс, то это через движок. И никак иначе. А если на основе существующих, то не такой уж он новый.

был бы новичкам интересен гайд, который описывал создание какого либо объекта от записей в конфиг, до его непосредственного лицезрения в игре

 

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

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
Ну если прям вообще новый класс, то это через движок. И никак иначе. А если на основе существующих, то не такой уж он новый.

 

 

Так ведь будет все по разному, для разных классов.

Обять двадцать пять. Сколько можно повторять: в Lua нет никаких классов (в классицеском понимании) он оперирует понятиями объектов. Не верите мне - вот вам слова разработчиков Lua

"

В Lua нет понятия класса; каждый обьект определяет свое поведение и свои данные. Однако это совсем не сложно -эмулировать классы в Lua, идя по пути прототипных языков вроде Self или NewtonScript. В этих языках у обьектов нет классов. Вместо этого каждый обьект может иметь прототип, который является обьектом, в котором первый обьект ищет операции, которые он не знает. Для представления классов в таких языках мы просто создаем обьект, который будет использован только в качестве прототипа для других обьектов (его экземпляров). И классы, и прототипы выступают в качестве места, в которое помещается поведение, общее для различных обьектов."

Ядро Lua, как и сталкера, построены на С++ и разумеется содержат классы, но Вам, посредствам Lua, даётся доступ не к классам ядра, а к объектам, созданным там, естественно с помощью и посредством классов. Путаницу внесли разработчики Сталкера, введя в интервейс ключевое слово class для создания или подключения к таким объектам. (Кстати, в 1С, которая очень похожа по принципам реализации на Сталкера, разработчики не стали корчить из себя очень умных и не лукавя обозвали аналогичный механизм прямо "СоздатьОбъект(...)").

Да, мы может создавать новые объеты или прототипы уже созданных, но не классы. Мы можем писать скрипты, используя подходы и принципы ООП, но это не ООП в его изначальном понимании.

По большому счёту всё это муть. Главное, поменьше делать ошибок и не зашхериваться в догмах. Отцы основатели Сталкера столько лишнего намутили (руководствуюсь порой модой, а не здравым смыслом... да да таковая в программистском мире тоже есть), что по мере увеличения сложности сюжетов и "наваротов" в разных новых модах, эта конструкция уже шевелится с большой перегрузкой.

Изменено пользователем Serge!
  • Спасибо 1
  • Сомнительно 1
Ссылка на комментарий

 

 

в Lua нет никаких классов (в классицеском понимании)

Но в движке то есть. И, кстати, в Lua (точнее в скриптовой модели сталкира) в сущности тоже есть. Это не что иное, как связка двух классов - серверного и клиентского, которую мы регистрируем в class_registrator.script (помимо уже имеющихся). Мы даём этой связке идентификатор - и это не что иное, как имя класса. По имени класса мы создаём конкретный экземпляр класса функцией create. Так что имеем вполне себе полноценный ООП с классами и объектами (экземплярами классов). В принципе и наследование не сказать, чтобы было прототипное. Мы когда конструируем расширения классов, то пишем так:

class "new_class" (base_class)

и делаем это один раз до того, как создаём экземпляр класса, т.е. в сущности имитируем классическое статичное наследование С++. Ну да, потом можно с классами тоже делать всякие манипуляции, что размывает "классичность" картины, но надо помнить, что Lua здесь сугубо вспомогательный инструмент и призван максимально точно отражать СИ-шные потроха. Его дополнительные плюшки - это уже вторичное.

 

Вообще ООП - это не конкретный набор языковых средств, а парадигма. В том числе класс - это надязыковая идея, и может и не быть специального типа класса, как нет его в Lua, хотя классы как таковые есть (хотя конечно удобнее, когда есть специальные типы). Каждый язык может реализовать парадигму ООП по-разному. Более того, как мы видим в случае сталкира, один и тот же язык может это делать по-разному. Вот в сталкирском Lua имитируется по-сути ООП из С++, и прототипное ООП практически не задействовано.

  • Согласен 1
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...