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

[SoC] Ковыряемся в файлах

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

03.02.2024 в 16:39, Balavnik сказал:

Например npc:id() прокатит? Или это метод клиента и не прокатит?

Прокатит-непрокатит, покатит-непокатит... вам не надоело в асфальтовый каток играться?

Можно же изначально писать функции устойчивые к нештатным ситуациям/готовые распознать что угодно в рамках разумно-ожидаемого.

function get_id(obj)
	if obj ~= nil then
    	if type(obj.id) == 'function' then return obj:id() end -- Если получен клиентский объект, возвращаем его ID
    	if type(obj.id) == 'number' then return obj.id end -- Если получен серверный объект, возвращаем его ID
    end
  	return nil -- Если объект не получен, или не имеет поля id в ожидаемом формате. Значит это не клиентский и не серверный объект, и возвращать нечего.
end

 

  • Нравится 1
  • Полезно 1

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

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

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

Ссылка на комментарий
2 минуты назад, Balavnik сказал:

прекрасно работала

Так чего перестала??

  • Согласен 1

Здесь могла быть ваша реклама.

Ссылка на комментарий
1 минуту назад, Balavnik сказал:

в диалоге

Ок.

2 минуты назад, Balavnik сказал:

А функция xyz прекрасно работала

И работает. Записывает координаты в глобальный вектор.

Таки он тебе зачем? :) "До определенного момента" - именно потому что глобальный...

  • Согласен 1

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

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

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

Ссылка на комментарий
4 минуты назад, mole venomous сказал:

 чего перестала

Не удалось выяснить. 

 

3 минуты назад, Zander_driver сказал:

 он тебе зачем

Ну, я делал по образу и подобию солянок. Смотрел, какие конструкции там используются, и переносил в свои файлы. Проверял пару раз - работало.

Изменено пользователем Balavnik

По голове не стучите, если что то не так. Совсем недавно на форуме.

img.php?nick=Balavnik&sert=2&text=t6

Ссылка на комментарий
Только что, Balavnik сказал:

я делал по образу и подобию солянок.

Это очень плохой метод работы. Не рекомендую, так ты коллекционируешь чужие ошибки.

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

Всякие тесты, пробы пера и т.д. и т.п. делай в своих сторонних файлах. Не в _g.script.

  • Нравится 1
  • Согласен 1
  • Полезно 3

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

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

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

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

@Zander_driver Понял. А короткие имена делать или нет? Допустим я создал функцию create в balavnik_script, а в _g.script объявил переменную create = balavnik_script.create. Так можно делать? Иначе не очень удобно каждый раз обращаться.

По голове не стучите, если что то не так. Совсем недавно на форуме.

img.php?nick=Balavnik&sert=2&text=t6

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

Так можно, но как правило не надо.

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

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

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

Ссылка на комментарий
5 часов назад, Zander_driver сказал:

Метод вектора set не возвращает сам вектор.

А это тут при чём? Значения запишутся в pos_only через set и потом вернётся. return же прописан.
Имхо, хороший метод, при условии, что используется для разовой установки координат (для alife():create() тех же), в остальных случаях уже нужен свой vector().
 

5 часов назад, Balavnik сказал:

А короткие имена делать или нет?

У нас лично используется для часто используемых функций, чтобы легче было к ним обращаться, но, как правильно @Zander_driver сказал, надо сначала чувствовать себя в скриптах как рыба в воде. :grin2:

Ссылка на комментарий
12 часов назад, Balavnik сказал:

а в _g.script объявил переменную create = balavnik_script.create. Так можно делать? Иначе не очень удобно каждый раз обращаться.

у тебя что миллион строк кода, что если ты будешь писать create вместо alife():create() или вместо balavnik_script.create? для текстового редактора при копи-пасте все равно в этом случае сколько символов копировать:)

  • Нравится 1
  • Смешно 1
Ссылка на комментарий
14 часов назад, Balavnik сказал:

Ну, я делал по образу и подобию солянок.

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

https://github.com/dsh2dsh/op2ogse

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

скажите, как сделать чтоб трассеры работали когда, глушитель установлен.

сразу благодарен.

 

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

Помогите решить проблему. При убийстве нпс оружие дропаеться (не всегда) со 100% состоянием как это фиксить? 

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

А напомните пожалуйста подробно, как там по последним данным фэнь-суя безвылетного правильно в конфигах торговли прописывать в разных секциях предметы, если я их хочу запретить к продаже/покупке? Вроде как ;NO TRADE  нельзя юзать?

  • Жуть! 1
Ссылка на комментарий
7 часов назад, Colder сказал:

как это фиксить?

Изменять состояние оружия в death_manager.script, как надо тебе.

  • Нравится 1
  • Полезно 1

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

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

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

Ссылка на комментарий
3 часа назад, Капрал Хикс сказал:

предметы, если я их хочу запретить к продаже/покупке?

в OGSR по-крайней мере всё отдано на файлы конфигов торговли ,если надо запретить прописываешь нужную секцию в продажу/покупку и больше ничего не ставишь ни знак равно ничего после, если секции какого-то предмета нет в этом файле, а у непися этот предмет есть, он будет покупать и продавать его по номиналу

 

в оригинале вроде было также, но точно не скажу, там не разбирался там дотошно, но переведя один мод с OGSE на OGSR, ничего не меняя в конфигах обнаружил, что у меня неписи, которые раньше не торговали своим оружием в слоте после перевода мода на другой движок стали) потому не знаю, видимо в ОГСР всё отдали на откуп файлам торговли, а в оригинале был какой-то ещё флаг.

  • Полезно 2
Ссылка на комментарий
33 минуты назад, I am Dead сказал:

это комментарий?

Конечно. Читаться не должен. Но с движком ТЧ и его древними багами я иногда ни в чём не уверен.

  • Не нравится 1
Ссылка на комментарий
1 час назад, Капрал Хикс сказал:

я иногда ни в чём не уверен

А вот это зря. Как тогда вообще что-то делать?

  • Согласен 1

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

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

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

Ссылка на комментарий
1 час назад, Капрал Хикс сказал:

Но с движком ТЧ и его древними багами

Не, ну, баги багами, но парсер более менее чем нормальный

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

Есть ли возможность без ковыряния движка, на уровне конфигов и скриптов создать новый тип однотипных квестов (типа убить сталкера, добыть арт)? Скажем, квест вида "разведать местность", который выполняется при наличии инфопоршня?

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

×
×
  • Создать...