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

Shredder

Опытные
  • Число публикаций

    375
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    720 [Подарить AMKoin]

Весь контент пользователя Shredder

  1. Shredder

    Скриптование

    И всё-таки на первый взгляд трудно было увидеть ООП. Взглянем ещё раз Car = {_model = "", _year = 0, _type = ""} Создали таблицу. Если конечно любую таблицу называть объектом, то да, ООП на лицо. function Car:setData (model, year, type) self._model = model self._year = year self._type = type end Функция - сеттер, устанавливает знаечения полей в таблице Car и только в ней function Car:getData () print (self._model.."; "..self._year.."; "..self._type) end Функция "печатает" содержимое поле, дальше совсем не понятно local Tarantayka = Car:setData("ZAZ", 1970, "SUV") В Car устанавливаются значения полей, причём в Tarantayka будет nil, т.к. функция ничего не возвращает Tarantayka:getData() Тут просто вылетит, т.к. вызываем метод от nil. Поправте, если ошибаюсь. P.S. Повторюсь, что прочитав статью, понял, как реализуется прототипное ООП в lua, тут я это никак не увидел Извиняюсь, когда дописывал пример, не углядел, теперь всё выглядит как нужно... ColR_iT
  2. Shredder

    Скриптование

    ColR_iT, как нет, а в сталкере что? хотя и работают отвратительно... Прочитал статейку, многое стало понятно. Очень напомнило извраты в javascript по реализации классов. Завтра проверю скорость работы таких "классов", если будет достаточно быстро, можно взять на замену существующим. Labus, я совсем не понимаю твой вопрос.
  3. Shredder

    Скриптование

    ColR_iT, Интересный подход. А где конструктор? И local Tarantayka = Car, разве в Tarantayka будет новый объект? Там же будет ссылка на всё тот же Car. Как создать несколько экземпляров? И замерял ли скорость работы такого ООП? Извиняюсь, что столько вопросов, но на первый взгляд ООП рядом не стоит. Labus, ТЧ не занимаюсь. После Вот так будет нагляднее. совсем голову сломать можно
  4. Shredder

    Скриптование

    Да, повеселил ))) Ты хоть напиши какую версию игры ковыряешь или мод? И в тему Ковырялок бы этот вопрос лучше.
  5. Подскажите пожалуйста, пытаюсь удалить некоторые секции лампочек из all.spawn. Перепробовал все возможные варианты (не только лампы). Спавн запаковывается без ошибок, но новая игра не создаётся, лог:
  6. Одно дело поднимать вопрос, другой искать проблему самому. Выяснил одно, фризы не из-за биндера npc, т.е. xr_motivator фризов не создаёт, все его методы не вызывают существенных задержек, ну только что у самого первого нпс, вышедшего в онлайн. Буду проверять другие биндеры/схемы, будет очень жаль, если фризы вызваны не скриптами, а движком.
  7. В ЗП костры регулируются смарт терейнами:
  8. Shredder

    Скриптование

    Да, ты совершенно прав. Основная задержка приходится вот на этот участок:
  9. Shredder

    Скриптование

    Это первое на что я грешил, getFS():exist(), т.е. проверка на существование. Тогда я добавил кэширование в таблицу, т.е. проверка осуществлялась один раз, затем результат заносился в таблицу и для следующего НПС, выходящего в онлайн проверка не осуществлялась. Но такой подход увеличил быстродействие только в 2 раза, что тоже не плохо, но не достаточно. Да и если посмотреть на функцию:
  10. Shredder

    Скриптование

    Другие тоже можно, но далеко не все. Скажем, все классы, унаследованные от object_binder нет возможности переписать. И что ты имеешь ввиду под "расширить"?
  11. Shredder

    Скриптование

    В соседней теме "Ковыряемся в файлах (ЗП)" я спрашивал о тормозах при выходе НПС в онлайн. Одним из таких "тормозных" мест является вызов sound_theme.init_npc_sound(self.object) в net_spawn NPC. Стал разбираться, в чём дело. Оказывается в sound_theme при инициализации создаётся очень много объектов от классов npc_sound, actor_sound и т.д., при выполнении init_npc_sound НПС регестрируется в каждом объекте класса npc_sound. Как-то в одной из тем была информация о том, что методы объекта выполняются гораздо дольше, чем просто функции. Вспомнив об этом, решил ещё раз проверить этот факт:
  12. Сделал бы обновление раз в игровую неделю, было бы более-менее правдоподобно.
  13. 1) Как в ЗП точно не получится. Как вариант, можно при начале торговли подменять все изношенные предметы аналогичными секциями, но которые торговец не покупает, после завершения торговли преобразовывать обратно. 2) Можно попробывать не вызывать npc:buy_supplies() на апдейте, если он был вызван хотя бы раз, но не уверен, что сработает.
  14. Такой вопрос к знатокам. Давно заметил, что в ЗП выход НПС в онлайн и уход обратно в оффлайн сопровождается фризами. Процессор у меня далеко не самый мощный, но в ТЧ и ЧН я такого не замечал. Очень хорошо сие наболюдается при приближении к Скадовску. Так вот, кто-нибудь знает, от чего такие тормоза происходят и как (можно ли) с ними бороться? Может схемы какие сильно прожорливые на инициализацию?
  15. Shredder

    Transmutation mod

    А как открывается это окно? Подходиш к аномалии, а там надпись "Начать трансмутацию (F)", или теперь аномалии не обязательны?
  16. Динамические аномалии ЗП

  17. Shredder

    Скриптование

    proger_Dencheek, рискну предположить что в конфигах монстров пропала такая строчка: script_binding = bind_monster.bind И версию игры укажи
  18. Charsi, почему-то я был уверен, что вылетит, ну и собственно вот:
  19. По аналогии с врезкой колбэка на нажатие клавиши в xray-extension сделал колбэк на отпускание клавиши (ЗП 1.6.02). Врезку сделал по адресу 102378DE. И всё бы ничего, но для кнопок мыши код кнопки определяются не правильно, а точнее совсем не определяется, при нажатии на любую кнопку мыши получаю одно и то же длинное число. Для клавиш клавиатуры всё ок. Кто подскажет, в какую сторону копать?
  20. Кто-нибудь знает, как в инвентаре упорядочиваются иконки предметов? Очевидно, что в первую очередь выводятся иконки больших размеров. Дело в том, что при открытии инвентаря мне нужно удалять кое-какие предметы, которые находятся в рюкзаке, только когда окно инвентаря закрыто. Но при таком подходе получаются пустые ячейки:
  21. Shredder

    Разговоры о модах

    Кто-нибудь знает мод на ЗП, в котором вернули воздействие аномалий на сталкеров(не ARS, там через скрипты)?
  22. Что мешает использовать xray extensions? Он как раз для 1.0006 и, если я не ошибаюсь, там всё это есть.
  23. Shredder

    Угадайка ;)

    Эм.. Я случайно в эту тему забрёл и не знал правил. Может кто-нибудь вместо меня загадать?
  24. Shredder

    Угадайка ;)

    Они были на разных берегах изначально?
×
×
  • Создать...