-
Число публикаций
678 -
Регистрация
-
Последнее посещение
-
Дней в топе
9 -
AMKoin
75 [Подарить AMKoin]
Весь контент пользователя ColR_iT
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Mi scusi! La'Rento, ты прав - вылет из-за того, что в параметре snd прописан звук на прямую, этого делать нельзя. Но можно в схеме meet задавать непосредственно название звука. Это я перепутал. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@irish_rebel, во-первых, "простынку" свою нужно было под спойлер запихать. Во-вторых, вылет на 20'ю строку _g.script, может происходить и по другим причинам, совершенно не относящиеся к логике. Но если ты последнее, что редактировал была логика, и вылета до этого не было, тогда давай разбираться... 1. Когда конкретно происходит вылет, до звука или после? 2. Где ты прописал данную логику и как? 3. Покажи пути val_atack_1 и val_atack_2. -
La'Rento, в первый работы сохраняешь число месяца и периодически сравниваешь его со значением get_time_days, на следующий день оно естественно изменится, тогда и поменяешь работу. При этом теперь сохранишь уже это число и так далее.
-
La'Rento, самый простой способ - это запомнить число первых суток и сравнивать его с числом на следующих и так далее. Только в таком случае тебе нужно сохранять это число. Либо производить смену работ по чётным/нечётным дням, так сохранять ничего не нужно будет.
-
La'Rento, функция get_time_days возвращает текущий день месяца, т.е. число и если в момент проверки у тебя в игре не первое число месяца, то первая проверка вернёт false. А вторая проверка у тебя у тебя странноватая. Остаток от деления числа на единицу всегда будет равен нулю, поэтому твоё сравнение не имеет практического смысла. В конечном итоге, у тебя данная функция будет возвращать false, только в первое число, а в остальные будет возвращать true.
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Глупость какая-то. Всё прекрасно работает. Он не на эту строчку ругается, а на то, что у тебя в файле main_sleep.script синтаксическая ошибка. А дело в том, что ты забыл скобки при вызове функции: messages.messaga Нужно так: messages.messaga() P.S. @irish_rebel, и пиши, пожалуйста, обычным шрифтом. -
@Григорий. Берёшь all.spawn. Распаковываешь его. Открываешь файл way_имя_локации.ltx и прописываешь в него две точки: walker_stay_at_position_walk (точка, где будет стоять) и walker_stay_at_position_look (точка, куда будет смотреть). Запаковываешь all.spawn. Кидаешь в игру. Радуешься.
-
@sanjaaa, у тебя зарегистрировано два колбека на использование предмета в методе reinit: self.object:set_callback(callback.use_object, self.use_object, self) self.object:set_callback(callback.use_object, self.use_obj, self) Первый из этого метода удали. Теперь адаптация... Есть вот такой код у тебя: function actor_binder:use_obj(obj) main_sleep.sleep(obj) end Замени на вот такой: local item_ = {["medkit"] = true, ["medkit_army"] = true, ["medkit_scientic"] = true,} function actor_binder:use_obj(obj) main_sleep.sleep(obj) if item_[obj:section()] then medicine.Rehabilitation(obj) end end И в метод update впиши вот такую строку: xr_s.on_actor_update(delta) Ну и разумеется, закинь файлы medicine.script и xr_s.script себе в геймдату.
- 118 ответов
-
- 2
-
- убирание оружия
- восстановлене жизни
-
(и еще 1 )
Отмечено тегом:
-
Скинь твой bind_stalker.script, но без "медицины".
- 118 ответов
-
- убирание оружия
- восстановлене жизни
-
(и еще 1 )
Отмечено тегом:
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Saruman, вот, чуть ли не единственный тутор по этому делу: >>ClicK Me<< @SuPRESSed AnanASS, ты здесь усердно расписал свою проблему, мол не получается совместить, вот только зачем? В надежде найти человека, который ставил ровно такие же моды как и ты? Или ты думаешь, что кто-то возьмёт один мод и начнёт совмещать его с другим, лично для тебя? Сомневаюсь. К тому же, никаких ссылок ты не предоставил. Адаптация модов друг другу весьма муторный процесс и может затрагивать не один файл. Здесь либо ты сам себе поможешь, либо удачный случай. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Saruman, да, но не прямую. Здесь вероятность просчитывается весьма оригинальным образом. При переходе на схему, где присутствуют данные "символы", берётся случайное число от 1 до 100 и сравнивается с числами в условиях слева-направо. Если число в условии больше, то само условие считается выполненным, если нет, то сравнивается со следующим числом и так далее. Т.е. в данном случае настоящая вероятность для перехода на любую из указанных схем равна 25%. Условно можно посчитать так: для первого условия вероятность будет ровно такая, какое задано число (25%); для второго условия вероятность будет число минус предыдущее число (50-25=25%); для третьего, опять число минус предыдущее число (75%-50%=25%), если и это условие не выполнится, то произойдёт безусловный переход на четвёртую схему (а это тоже 25 оставшихся процентов). Вот такой алгоритм. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
Будет случайно выбрана одна из указанных анимаций. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Saruman, хоть он действительно и сидит только из-за логики, но пойти он всё равно не сможет - у него нет ходячих и даже стоячих анимаций, к тому же, модель Сидора имеет 55 костей (43 у обычного сталкера). Ко всему, все анимации зашиты в модели. -
Язык Lua. Общие вопросы программирования
ColR_iT ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
@Shredder, я ни слова не сказал, что я регистрирую одну и туже функцию несколько раз, т.к. это не логично, ведь она будет затираться последующими регистрациями. Именно поэтому пришлось сделать шесть функций с разным названием, но проделывающие абсолютно одинаковый алгоритм действий. Нужно мне это как раз в практических целях, когда необходимо медленно восстанавливать разные свойства ГГ: здоровье, выносливость, радиацию, при этом абсолютно независимо, поскольку действие на какое-либо свойство может прекратиться в любой момент. А так-как функций - шесть, решил сократить код, за что, собственно, спасибо Charsi, Gun12 и malandrinus - ваши советы, оказались как нельзя к стати. -
Язык Lua. Общие вопросы программирования
ColR_iT ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Тупанул, когда не объяснил всей сути, признаю... Если кто знаком с файлом xr_s.script, то тому код будет знаком. У меня есть в целом вот такая конструкция: tbl = {} function Register(f,v) tbl[f]={v=v} end function Unregister (f) tbl[f]=nil end --#--------- function update () for func,param in pairs(tbl) do func(param.v) end end --#--------- function func2 (value) print (value) end function func3 (value) print (value) end function Past() Register (func2, "two") Register (func3, "three") endФункции func2 и func3 вносятся в таблицу tbl посредством функции Register, это я делаю в нужный мне момент. Функция update периодически обновляется и тем самым апдейтит обе мои функции func2 и func3. Когда мне не нужно обновлять, например, функцию func2, я вызываю функцию Unregister(func2) и тем самым оставляю в биндящейся функции, а точнее в таблице, итерация которой находится там, лишь func3.Со временем функции func2 и func3 разрослись (к тому же их не две, а шесть) и стали изрядно занимать место. Т.к. функции имеют одинаковое тело, то я подумал, почему бы не сократить код до одной "общей" функции, а передавать ссылку на неё шести другим (к сожалению, передачи по значению в Lua нет), но столкнулся с проблемой, которую не смог обойти, скажем так, изящнее, нежели вызывать одну общую функцию внутри этих шести, на манер такого: function func (value) print(value) end function func2(value) func(value) end function func3(value) func(value) endИмхо, не комильфо.А проблема со ссылкой, думаю, ясна - в таблице tbl, при использовании Register будет всегда одна и тот же ключ. От чего и попросил Вашего совета. -
[CoP] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Wo1fRam, абсолютно разные вопросы. Получить интенсивность дождя в текущем пресете можно при помощи функции level.rain_factor(). А вот на счёт секции сложнее. Здесь ещё нужно уточнить какая именно секция тебя интересует. Есть функция level.get_weather(), она возвращает название погоды из секции weather в файле environment.ltx. Но я не знаю, чем она может тебе помочь. -
Язык Lua. Общие вопросы программирования
ColR_iT ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
@abramcumner, не очень понял о чём Вы. @Shredder, при таком подходе не получится удалить один элемент из таблицы таким образом: tbl[f] = nilТ.к. удаляться они будут по отдельности, а так выйдет все скопом. -
Язык Lua. Общие вопросы программирования
ColR_iT ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
У меня есть шесть абсолютно одинаковых функций, разные лишь названия, я их заношу в табличку и когда названия разные - никаких проблем нет. В целях уменьшения размера кода, я хочу сделать одну "общую" функцию и для шести функций передать ссылку на неё, но при занесении их в таблицу сталкиваюсь с тем, что первая функция затирается второй и т.д. Вот пример: function func (value) print (value) end tbl = {} function Past(f,v) tbl[f]={v=v} end function OnPrint() func2 = func func3 = func Past (func2, "two") Past (func3, "three") for fun,val in pairs (tbl) do fun(val.v) end endПри вызове функции OnPrint, естественно, в качестве результата я вижу лишь "three", т.к. func2 и func3 это ссылки на func.Вопрос: можно ли подправить код так, чтобы в результатах отобразилась и "two" и "three" без явного вызова функции func в функциях func2 и func3? -
Не думал, что именно для этого понадобиться биндить физобъект. P.S. Привет Диме! Ну, как-то вот так
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Dennis_Chikin, не обратил внимание... А где ты таковую запись нашёл? Хотя я кажется понял, что это пример того, что произойдёт в случае записи: условие|<пусто>. Здесь, да - данное на совести модмейкера. Но если честно, лично мне и в голову не придёт НЕ писать что-то в кондлист, ведь для чего-то мне потребовалось использовать данный параметр... Да, и кстати при отсутствии кондлиста, вылет будет ещё на этапе парсинга всей строки с параметром, в той функции, которая там прописана, как правило это одна из функций cfg_get_трямтрям_condlist. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Dennis_Chikin, нет, таковое смысла не имеет. Перед разделителем пишется условие для параметра, после можно прописать дополнительные, скажем "общие" условия в фигурных скобках, эффекты, внутри знаков процента, и схема на которую нужно перейти, при этом, если ни дополнительных условий, ни эффектов, ни схемы не будет - ничего не произойдёт. И в приведённом тобой примере:xr_logic.switch_to_section( obj, st, xr_logic.pick_section_from_condlist( actor, obj, nil ) )Вылета не будет, т.к. в функции switch_to_section стоит проверка на nil, в качестве секции на которую переходить. -
@Хемуль36рус, да я вот подумываю приплести сюда возможности X-Ray extension, тогда можно сделать двойное действие, сначала восстановление выносливость повышается, а затем падает. Но пока-что, придётся использовать либо-либо. И, лично мне, кажется, что всё таки она должна чуть-чуть повышать здоровье (опираюсь, на притупление чувств боли) и уменьшать выносливость (следствие алкогольного опьянения). Хотя с другой стороны...
- 118 ответов
-
- убирание оружия
- восстановлене жизни
-
(и еще 1 )
Отмечено тегом:
-
Вопрос к тем кто заглянул в данную тему... Реализовываю по схеме из шапки темы реакцию на все "съедобные" предметы в ТЧ/ЧН, т.е. убирание оружия, звук, эффект и постепенное восстановление. Так вот некоторые предметы "влияют" на несколько параметров сразу, например, водка снижает радиацию и повышает уровень алкоголя, к тому же незначительно восстанавливает здоровье и сытость. Таковыми являются практически все. Вопрос заключается в следующем: на какие параметры, по Вашему мнению, должен или может влиять тот или иной предмет? P.S. Напомню, что в ТЧ их десять: три аптечки, бинт, антирад, водка, энергетик, консерва, колбаса и батон. Я думаю, что должно быть так: Хотелось бы видеть мнение окружающих.
- 118 ответов
-
- убирание оружия
- восстановлене жизни
-
(и еще 1 )
Отмечено тегом:
-
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@riddik121, в данном случае, вылет без лога может быть в том случае, если у тебя не существует указанной функции, либо в файле с функцией синтаксическая ошибка. -
[SoC] Ковыряемся в файлах
ColR_iT ответил на тему форума автора Halford в Скрипты / конфиги / движок
@riddik121, должно всё работать, при условии, что ты скомпилировал all.spawn и начал новую игру и ты вообще разбиваешь тот ящик, что нужно. Хотя меня ещё смущает путь до модели, в ТЧ нет папки dynamics.
- [ЧН] 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
- ...и другие моды