-
Число публикаций
375 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
720 [Подарить AMKoin]
Весь контент пользователя Shredder
-
GUNSLINGER mod [S.T.A.L.K.E.R. CoP]
Shredder ответил на тему форума автора STRIFER в Моды в разработке (ЗП)
Столько работы сделано по пистолетам, а ведь в ЗП при равноправности слотов они становятся бесполезны. Да, в чистом ЗП и на мастере всё достаточно просто, что всю игру можно пройти с одним ПМ. Но с автоматиком то куда проще. Я это к чему всё. Планируются ли какие-нибудь, так сказать, нововведения, которые бы заставляли игрока использовать пистолеты? Допустим, ограничение на кол-во переносимого оружия (не вес, объём) или может пистолеты в ножевой слот? Пока неясно как с этим быть, перебираем варианты. Большего сказать на данный момент не могу. STRIFER -
[CoP] Ковыряемся в файлах
Shredder ответил на тему форума автора Halford в Скрипты / конфиги / движок
inventory_upgrades.script, функция: local function how_much_repair( item_name, item_condition ) local ltx = system_ini() local cost = ltx:r_u32(item_name, "cost") local class = ltx:r_string(item_name, "class") local cof = 0.6 return math.floor(cost*(1-item_condition)*cof * cur_price_percent) end Заменяешь на свой расчёт -
Добавлю, что помимо actor_menu.script срабатывает функция actor_menu_mode из pda.script, но только для случаев: -- 10 = Talk dialog show -- 11 = Talk dialog hide В actor_menu.script они не срабатывают. На открытие pda выдаётся какой-то инфопоршень, на закрытие кажется тоже. Какие именно легко проверить, просто пишу, что они есть. Используя xray-extensions получить текущее активное окно можно так: dialog_wnd = CUIListBox():GetMainInputReceiver() За что товарищу malandrinus огромное спасибо!
-
[CoP] Ковыряемся в файлах
Shredder ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Clayman, чтобы новые аномалии обнаруживались детектором, их нужно прописать в конфиг соответствующего детектора: zone_class_35 = amk_zone_zharka_static_strong и в файле configs/ui/ui_detector_artefact.xml: <palette id="amk_zone_zharka_static_strong" width="0.004" height="0.004" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture> </palette> -
[SoC] Ковыряемся в файлах
Shredder ответил на тему форума автора Halford в Скрипты / конфиги / движок
При спавне добавляй координате y 0.1 -
Язык Lua. Общие вопросы программирования
Shredder ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Можешь написать, в чём профит продвинутых систем? Глянул описание. В "Песочнице" принципиальной разницы не увидел, разве что пара плюшек (e:stop(), e:removeThisCallback()), но у меня такой надобности не возникало. В ogse_signals принцип регистрации практически тот же, про слоты не понял. -
Язык Lua. Общие вопросы программирования
Shredder ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Я уже давно использую функционал xr_s.script, хотя и немного правленый для моих целей, но мне не разу не приходилось регистрировать одну и ту же функцию несколько раз. Можешь привести практический пример, для чего это нужно? -
Язык Lua. Общие вопросы программирования
Shredder ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Это типа func2 = function(val) func(val) end ? -
Язык Lua. Общие вопросы программирования
Shredder ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Если меняются только аргументы, так для каждой функции и создавай таблицу этих параметров: tbl = {} function Past(f,v) if not tbl[f] then tbl[f] = {} end table.insert(tbl[f], v) end function OnPrint() func2 = func func3 = func Past (func2, "two") Past (func3, "three") for fun,vals in pairs (tbl) do for i,val in pairs(vals) do fun(val) end end endИзвиняюсь, если не уловил суть вопроса. -
[CoP] Ковыряемся в файлах
Shredder ответил на тему форума автора Halford в Скрипты / конфиги / движок
Через колбэки item_take, item_drop. Поскольку любое добавление/удаление предметов проходит через эти колбэки, можно кэшировать кол-во патронов и проверять только одну переменную, а не перебирать весь инвентарь. -
[CoP] Ковыряемся в файлах
Shredder ответил на тему форума автора Halford в Скрипты / конфиги / движок
А что за слот такой -1? 11 - слот артефакта, слот противогаза: 12. -
Признаю, был не прав. Всё от того, что в своё время намучился с подобной ситуацией в javascript, где замыкание работает как раз так, как я описал выше. В lua всё ок. Приношу извинения за дезинформацию.
-
Проверено и не раз, не работает. Я прекрасно знаю, что такое замыкание. В твоём примере на каждую кнопку навешан свой обработчик: function() self:OnBtnClick(id) end. В момент вызова будет фактически выполнен код self:OnBtnClick(id), но к тому моменту переменная id будет содержать последнее значение цикла. Замыкается переменная, а не её значение.
-
Да? А ты пробовал? Ничего, что при нажатии на любую кнопку id в функции OnBtnClick(id) будет всегда равен последнему. Т.к. в каждой функции ты оставил ссылку на одну и ту же переменную, значение которой в конце цикла будет равно последнему числу. Поэтому, ещё неизвестно, кого куда занесло...
-
self:AddCallback("Button_"..id,ui_events.WINDOW_LBUTTON_DB_CLICK, loadstring("имя_скрипта.on_db_click('" .. id .. "')")) function on_db_click(id) get_console():execute("load ~~~нажата " .. id) end
-
На сколько я знаю, только методом перебора:
-
В логе явно говориться, что на строке 1256 идёт сравнение числа с nil, смотрим строку 1256: if squad_count ~= nil and (self.max_population <= squad_count) then И тут невооружённым глазом видно, что nil-ом может быть только self.max_population. Следовательно, для какого-то из смартов он не указан.
-
У тебя smart_terrain.script отличается от оригинального, потому что на 1256 строке нет операторов сравнения, о чем говорится в логе. Поэтому опять можно только гадать, чего там исправлялось или дописывалось. Покажи хотябы эту строку, а лучше конечно весь файл
-
Ну если и т.д., тогда сам и разбирайся
-
Ты не указал max_population для esc_stalker_base
-
Вот и ищи в секции контроллера, все что найдешь - твое, все остальное в движке.
-
[CoP] Ковыряемся в файлах
Shredder ответил на тему форума автора Halford в Скрипты / конфиги / движок
В ЗП все нпс и мутанты спавнятся скриптами. -
[CoP] Ковыряемся в файлах
Shredder ответил на тему форума автора Halford в Скрипты / конфиги / движок
В CoP инфопоршни прописывать не обязательно. -
В смысле после убийства обыскивают, если ничего не нашли - загрузка до момента убийства, убийство нпс и снова обыск? Тут конечно серьёзную защиту придётся делать, вплоть до записи в отдельные файлы.
- 14 175 ответов
-
- мод
- s.t.a.l.k.e.r.
-
(и еще 5 )
Отмечено тегом:
-
Тебе нужно добавить схему поведения. Или, возможно, допилить схему xr_wounded, чтобы она заработала так, как тебе нужно. Примеров таких схем в самой игре предостаточно, но если ты со скриптами несколько дней, то сложновато будет.
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды