-
Число публикаций
926 -
Регистрация
-
Последнее посещение
-
Дней в топе
15 -
AMKoin
107 [Подарить AMKoin]
Весь контент пользователя *Shoker*
-
function give_wounded_flash(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "esc_wounded_flash", "out") dialogs.relocate_money(second_speaker, 1500, "in") esc_chemodan_npc.esc_chemodan_npc end Это что за чудо? Допиши () в конце. esc_chemodan_npc.esc_chemodan_npc()
-
GUNSLINGER mod [S.T.A.L.K.E.R. CoP]
*Shoker* ответил на тему форума автора STRIFER в Моды в разработке (ЗП)
Анимации ножа действительно очень понравились, как по мне так ты точно добился того, чтобы это выглядело живо, да ещё и анимации по моему рэндомно идут. Вообщем радует глаза. Экзоскелет вроде теперь тоже особо не бросается в глаза. Я так понял ты просто кисть руки от КоДа взял? Думаю так лучше с каждым костюмом поступить. Вот тока сама анимация удара мне как то не очень показалось, м.б в реальности так и бьют но здесь это было больше похоже на что угодно, но только не на удар. -
Понятно... спасибо. Да вот не знал, небыло как то в этом необходимости, вот и не сталкивался. А тут случайно заметил. Да и название колбека тоже в заблуждение вводит. Из за таких вот "подводных камней" потом и вываливаются самые разные глюки...
-
Shadows Спасибо, действительно всё работает Я сам как то хотел таким же методом сделать, да и с головы вылетело. Да и тут попроще сделано, я ещё апдейт подключил, а тут оказывается даже броню можно не выкидывать. Тока корректней для ЧН будет сделать так: --\\ Колбек на взятие предмета function on_item_take(obj) local sec = obj:section() local class = ltx:r_string(sec, "class") if class == "E_STLK" then --\\ подобрали броню local actor_outfit = db.actor:get_current_outfit() if actor_outfit and actor_outfit:id() ~= obj:id() then db.actor:transfer_item(actor_outfit, db.actor) end end end Как подключать думаю понятно. Ещё раз спасибо. Единственный баг - при взятии брони на мгновение визуал рук сбрасывается на стандартный, но если об этом не знать, можно и не заметить.
-
Это нормально, что в ЧН колбек на взятие предмета в инвентарь при каждой загрузке игры вызывается для всех предметов инвенторя? Не пойму толи так надо, толи я накосячил где то.
-
Кто хорошо работал со скриптами ЧН, не в курсе где там стоит затычка, чтобы сквады не сражались друг с другом, если они не в схеме комбат? Сейчас ситуация такова, что если два враждебных сквада вдруг окажутся рядом каким то образом, то они не будут реагировать друг на друга (это касается и сталкеров, и монстров). Помнится bak вроде делал мини-мод который это исправляет, но и название мода, и сам мод я найти не смог. Буду благодарен если кто нибудь подскажет. _Призрак_ Например в ОГСМ ЧН, в энциклопедии для этого используется list box. Грубо говоря текст разбивается на строчки, которые в этот лист заносятся. Это конечно не прямая работа с текстом статика, но как вариант думаю тоже можно рассмотреть. Сам list box можно будет разместить поверх статика.
-
Если твой сквад возвращается на Скадовск и вообще ходит по зоне, значит он уже под симуляцией, и он уже должен делать то, что другие сквады, тоесть стоять ус тоек, сидеть на ящиках и прочее.
-
Баг игры, не лечится. Выше где то уже писали.
-
Я так и знал что ты о нём [bloodsucker_night_king]:bloodsucker_normal $spawn = "monsters\bloodsuckers\bloodsucker_night_king" Spawn_Inventory_Item_Section = af_night_star Spawn_Inventory_Item_Probability = 100.0 Но это с оригинала. К тому же в моде я это на компас заменял.
-
Язык Lua. Общие вопросы программирования
*Shoker* ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Возможно Надеюсь что оно уже экспортировано в ЧН/ЗП (как я понял твоя библитоека тока для ТЧ годится) А вообще я lUA на сталкере учил, поэтому многих спец. функций его даже не знаю, с load-ами никогда не работал, хотя на lua-help читал что то давно про них, но все эти чанки и прочее, я даже не пойму что это. -
Язык Lua. Общие вопросы программирования
*Shoker* ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Знаю что это из ряда фантастики, но штатными методами LUA можно ли "выключить" весь скрипт или функцию? Тоесть допустим у меня скрипт с рядом функций, которые из разных мест вызываются переодически. Могу ли я тупо "остановить" их. Тоесть чтобы если функцию вызовет какой то скрипт, игра не вылетела, но и функция не выполнилась? Насколько я понял, все скрипты при компиляции заносятся в некую таблицу, к которой можно получить доступ из _G. Все функции из этого скрипта я вызываю с проверкой вида if _G[script] and _G[script][funct] then, если я обнилю _G[script] = nil, это будет критично для движка? Ну и раз так, то обратный вопрос, можно ли прямо во время игры "собрать" свой собственный скрипт через _G? А вообще возможно составить функцию на лету? Тоесть скриптво в формате string сделать функцию и скормить компилятору, чтобы он её превротил в нормальную? -
? Я вроде бы ничего не давал. В другом моём моде у 1 кровососа за игру был тока артефакт и всё, было это давно. А тут я конфиги кровососов не менял. Если у них где то арт, значит так задумали разрабы.
-
Artos, причём здесь способ указать логику персонажу (что я у тебя не спрашивал) и то, что она ему в сейв записывается и не меняется без респавна этого непися?
-
Скриптовый, имеешь ввиду нет-пакеты? Тоесть если я заспавню непися и пропишу ему ссылку на файл с логикой. Я в дальнеишем смогу менять логику у уже заспавненного непися или нет? А вообще не совсем понимаю причину записывать логику объекта в сейв. Это ж приличный кусок информации, да и данные там статичны вроде как ... Разве что если логика динамически меняется, и в ней удаляются "ненужные" секции но я что то сомневаюсь по этому поводу.
-
Кстати, я вот что хотел спросить по кустом дате. Как то в ЧН делал логику как вещам так и неписям. И обратил внимание что она работает тока с новой игрой (проверял на болотах, возможно не тока с новой а в момент спавна НПС но не суть), хотя сама логика вынесена в отдельный файл. Отчего это может быть? Неужели игра сохраняет всю логику в сейв, зачем это нужно? Хочу уточнить, что логика уже была. Я её просто менял, но новую игру не начинал. И она из за этого оставалась старая, хотя в конфиге была уже переделанная.
-
> чет нет у меня в _G.script такой ф-ции. В ЧН точно есть. В ЗП должна быть. Про ТЧ не помню. Если уберёшь проверку, то игра у тебя не будет вылетать, но если ты превысишь лимит, то у тебя тупо начнут биться сейвы. Да и вообще чтобы превысить лимит нужно постараться и сохранять в сейв какие то большие объёмы информации. Вполне возможно что тебе такое пока не грозит, тогда зачем париться. А вообще если не хочешь возится с пстором, можешь например напрямую в текстовые файлы всё записывать и считывать от туда при загрузке. Тут конечно свои тонкости, зато переполнения никогда не будет да и вся информация видна будет. В ЧН\ЗП есть импортированная область io для работы с файлами. в ТЧ тока с расширением движка от RvP В любом случае я сказал как это делают в GSC. Кстати сами они, по моим наблюдением, почти ничего в pstor не пишут. В ЧН я помню тока что он активно в схеме раненного используется, и в принципе всё.
-
AndreySol У GSC есть проверка на размер pstor-а. Она происходит в момент записи, и возможно, загрузки. Искать толи в xr_logic толи скорее в _g скрипте, где сейв проверяется (там есть такая функция, на слово save ищи) Вот тока тебе это зачем надо? Там стоит стандартная проверка на превышение лимита. Игра вылетит сама. если такое случится. Вот: _G.script function set_save_marker(p, mode, check, prefix) ... if mode == "save" then local dif = p:w_tell() - save_markers[result] printf(result..": SAVE DIF: %s", dif) if dif >= 8000 then printf("WARNING! may be this is problem save point") end if dif >= 10240 then abort("You are saving too much") end
-
Ммм не совсем понял что ты хочешь, но насколько я знаю, анимация "шевеления" губами сама подстраивается под звуковой фаил. Ежели ты сделал какую то "особую" анимация для рта персонажа (что мало вероятно) её ты уже должен сам будешь подогнать. Ну а если ты во время разговора врубаешь просто какую то левую анимацию (ну там задницу почесать), то она будет выполнятся отдельно и паралельно с анимацией разговора. Тоесть не будет с ней связана, и непись будет шевелить губами столько, сколько идёт звук, а чесать будет ровно столько, сколько идёт анимка. А вообще лучше сам проверь, может там у схемы есть свои особенности.
-
[CS] Ковыряемся в файлах
*Shoker* ответил на тему форума автора Halford в Скрипты / конфиги / движок
Как можно отрегулировать дальность стрельбы из оружия для НПС? Сделал огнемёт на основе автомата. Менял и fire_distance и min\max_radius, всё бестолку, стоит и жгёт из него в воздух по направлению к цели. -
SibireaStalker 1) db.actor:sit() 2) А ты уверен что такая функция sit() вообще в движке существует? Её там нету. Да и вообще как мне кажется, нету способа определить состояние тела ГГ. 3) Ну и с таким уровнем познаний в скриптах ты просто не напишешь желаемое. Это довольно не лёгкое дело, нужно знать массу тонкостей. Кстати, а может через класс move() можно как то вернуть состояние тела ГГ, никто не пробовал?
-
Язык Lua. Общие вопросы программирования
*Shoker* ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
В принципе можно и так, но хорошо бы найти решение не тока для "конкретного" случая, ибо уже пару раз сталкивался с такой необходимостью, и приходилось через if-ы действовать... Как я понял, в LUA похожего интервального решения не предусмотрено. Может помимо if-ов есть ещё какие то варианты. ЗЫ: Случайно ошибся в функции, после and не написал num, но на суть вопроса не влияет. -
Язык Lua. Общие вопросы программирования
*Shoker* ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
xStream Спасибо за ценную информацию _____ Кто знает, возможно ли в луа делать таблицы из интервалов? Допустим у меня есть число от 1 до 100 и 10 каких то значений. Я хочу составить таблицу так, чтобы в зависимости от числа, выбиралось определённое значение. Тоесть если чсло равно от 1 до 10, то берётся значение 1 и так дале... Делать через if не очень хочется. Вот такой код нужно упростить: local num = math.random(1,100) if num <= 10 then return -2000 end if num > 10 and <= 20 then return -1500 end if num > 20 and <= 30 then return -1000 end if num > 30 and <= 40 then return -500 end if num > 40 and <= 50 then return 0 end if num > 50 and <= 60 then return 500 end if num > 60 and <= 70 then return 1000 end if num > 70 and <= 80 then return 1500 end if num > 80 and <= 90 then return 2000 end if num > 90 then return 2500 end return 0 -
Спасибо Нашёл. В идеале конечно хорошо бы в ЛС выписывать их, как было с репутацией.
-
Комментарии к подаркам не работают как мне кажется. В разделе подарки их нету, в ЛС по моему тоже не приходит коментарии. Также очень неудобно сделан доступ к ним, чтобы просмотреть свои (и чужие) подарки, приходится искать любой свой\их пост на форуме, и там тыкать на цифру под аватаром. Хорошо бы добавить кнопку в профиль.
УЧИМСЯ МОДДИНГУ
ИГРАЕМ В МОДЫ НА ТЧ
ИГРАЕМ В МОДЫ НА ЧН И ЗП
- [ЧН] 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
- ...и другие моды
ПОЛЕЗНОЕ И РАЗНОЕ