Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndrewMor 527 Опубликовано 5 Июля 2020 Поделиться Опубликовано 5 Июля 2020 @oggycoc, Насчет ВСЕХ НПС - это ты погорячился. В приведенном тобой коде речь идет только об НПС с секцией yan_ecolog_respawn_1. Больше никто и нигде удаляться не будет. ИМХО, правильнее будет использовать функцию IsStalker(obj) вместо проверки string.find(obj:name(),"yan_ecolog_respawn_1") Если неправ, пусть гуру моддинга поправят. 3 Сталкер - наше всё! Ссылка на комментарий
СЕРА 1 Опубликовано 5 Июля 2020 Поделиться Опубликовано 5 Июля 2020 По какой причине логика заспавненного торговца зависает и он стоит в дефолтной стойке. Как это может быть исправлено? Ссылка на комментарий
mole venomous 3 394 Опубликовано 5 Июля 2020 Поделиться Опубликовано 5 Июля 2020 2 минуты назад, СЕРА сказал: зависает А в логе никаких подозрительных надписей нет? 1 Здесь могла быть ваша реклама. Ссылка на комментарий
AndrewMor 527 Опубликовано 5 Июля 2020 Поделиться Опубликовано 5 Июля 2020 @mole venomous, Я бы даж подумал - они должны быть. Лог в студию - самый правильный вариант. Мужики, нужна помощь. Мне задали вопрос, а я не знаю, как ответить. Суть такова: Можно ли как-то увеличить скорость движения ГГ в режиме прицеливания? Есть у кого идеи на этот счет?. Сталкер - наше всё! Ссылка на комментарий
oggycoc 2 Опубликовано 5 Июля 2020 Поделиться Опубликовано 5 Июля 2020 (изменено) 13 hours ago, AndrewMor said: @oggycoc, Насчет ВСЕХ НПС - это ты погорячился. Имелось ввиду все НПС этого профиля когда-либо мной заспавненные в мире, на данном сейве Изменено 5 Июля 2020 пользователем oggycoc Ссылка на комментарий
AndrewMor 527 Опубликовано 6 Июля 2020 Поделиться Опубликовано 6 Июля 2020 6 часов назад, oggycoc сказал: Имелось ввиду все НПС этого профиля когда-либо мной заспавненные в мире, на данном сейве А вот это другое дело. Сталкер - наше всё! Ссылка на комментарий
mifares 0 Опубликовано 6 Июля 2020 Поделиться Опубликовано 6 Июля 2020 Дорогие и уважаемые сталкеры, мододелы и разбирающиеся в скриптах! Помогите, пожалуйста, если знаете! Как правильно написать скрипт-цикл, чтобы с каждой итерации этого цикла использовались числа по заданной очереди, например, сначала маленькие, потом большое? И так до бесконечности зацикленно менялись бы? И чтобы новая перезагрузка сохранения не влияла бы на их смену, а чередовались по порядку. Скрытый текст Да это я в bind_stalker.script, Сталкер ТЧ, ОП 2 (хотя работает и в модах COP) добавляю респаун, самый легкий, простой и удобный, чтобы врагов было побольше..получается только с одним числом периодичности, но вот как задать несколько любых заданных чисел, меняющихся по порядку? После вот этих строк в bind_stalker.script добавляю - -- обновление постпроцессов if post_process ~= 0 then if post_process:update () == true then post_process = 0 end end -- обновление пси-антенны if sr_psy_antenna.psy_antenna then sr_psy_antenna.psy_antenna:update(delta) end --Для итерации спауна например этих врагов неподалеку от актора (конечно, я их делаю куда больше), добавляю вот этот скрипт-код - if post_time2 < time then post_time2 = time + 484000 --Вот это число передышки респауна, как задать зацикленную поcледовательность чисел, чередующихся по порядку, бесконечно? Чтобы с большим числом передохнуть от маленьких чисел -нескольких раз частого респауна, можно было. local ap = db.actor:position() local lv = db.actor:level_vertex_id() local gv = db.actor:game_vertex_id() alife():create("mil_monolit_rush_respawn_1", vector():set(ap.x+math.random(200,210), ap.y+0, ap.z+math.random(-13,-12)), lv, gv) alife():create("burer_normal", vector():set(ap.x+math.random(100,200), ap.y+0, ap.z+math.random (-13,-12)), lv, gv) end --Пробовал по-разному, и так if post_time < time then ai1 = 10000 --Пробовал и так - ai[1,4] =[10000,10000,10000,500000] , и перепробовал многие варианты, вылетает или не используется ai2 = 10000 ai3 = 10000 ai4 = 500000 for 1, 4 do post_time = time + ai[1,..,4] --Что-то не так делаю, не работает. Помогите, дорогие люди и уважаемые мододелы, если можете! Не говорите на словах, а пожалуйста, напишите сам код или функцию, которая перебирает заданные числа последовательно, там немного строчек должно быть. Зараннее спасибо огромное! Пожалуйста, простите, если глупость спросил, или не по адресу, или не по правилам форума! Зарегистрировался специально, потому что ответа на это сам не нашел, ткните, если он есть где-то. Умоляю, помогите! Если только знаете. И извините, пожалуйста, за длинное cообщение, хотел, чтобы поняли мой вопрос. Извините, если что! Спасибо! Ссылка на комментарий
СЕРА 1 Опубликовано 6 Июля 2020 Поделиться Опубликовано 6 Июля 2020 @mole venomous, вот логика [smart_terrains] none = true [logic] active = walker1 trade = misc\trade_bolota.ltx trader_flags = 0 inv_max_weight = 10000 meet = meet [sleeper] path_main = lvl8_swamp_smart_terrain_bolota_1_sleep wakeable = false on_info = {+i_14} walker1 danger = danger_ignore combat_ignore = combat_ignore meet = meet [walker1] path_walk = way_svat_walk_1 path_look = way_svat_look_1 def_state_standing = sit_ass danger = danger_ignore combat_ignore = combat_ignore meet = meet [meet] meet_state = 30|hello@hail|20|wait@wait meet_state_wpn = 60|backoff@threat_weap victim = 30|actor victim_wpn = 60|actor use = true use_wpn = false syndata = hello@hail|backoff@threat_weap [combat_ignore] [danger_ignore] ignore_distance = 1 Ссылка на комментарий
Zander_driver 10 333 Опубликовано 6 Июля 2020 Поделиться Опубликовано 6 Июля 2020 1 час назад, mifares сказал: использовались числа Что это означает... загадка. 1 час назад, mifares сказал: за длинное cообщение, хотел, чтобы поняли мой вопрос. Не знаю кому как, а мне например, из всего сообщения так и не понятно, что же хочется сделать его автору... Попробуйте объяснить короче и понятнее, без загадок. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
mifares 0 Опубликовано 6 Июля 2020 Поделиться Опубликовано 6 Июля 2020 Zander_driver! Какие числа? -Количество миллисекунд, маленькое -это, например, 30000 =30 секунд, большое в понимании моего вопроса -900000 =900 секунд. Да и какая, простите,- интересно, для Вас разница, их величина, если их настраивать в цикле можно и нужно? Что же хочется сделать автору этого вопроса, мне то есть? -так это чтобы вместо одного применяемого скриптом числа, можно было задать несколько, например - 30000, 30000, 30000, 900000. Вот например, есть функция math.random(30000,900000), но она будет выдавать случайно числа от 30000 до 900000. Может, есть такая функция, которая будет выдавать последовательно 30000, 30000, 30000, 900000? Или только как-то циклом это надо сделать? Вот бы кто код этого написал, вот бы кто помог... Ссылка на комментарий
Zander_driver 10 333 Опубликовано 6 Июля 2020 Поделиться Опубликовано 6 Июля 2020 Я не спрашивал "какие числа"... Впрочем, что вы хотите я понял. Это делается НЕ циклом. И "в пару строк" это не укладывается. Потому что 24 минуты назад, mifares сказал: Может, есть такая функция, которая будет выдавать последовательно 30000, 30000, 30000, 900000? Такой функции нету. А чтобы ее написать, нужно где-то сохранять предыдущее число. Иначе откуда функция узнает, какое оно было? Ну и, тут все же не стол заказов. Сохранять кучей способов можно - pstor актора, нетпакет актора, модуль se_stor Артоса (самый правильный вариант, пожалуй), правленые движки наконец... Но вам в любом случае, нужен какой-то механизм сохранения прошлого значения. А не цикл. И чтобы "кто-то" вам "помог" и "написал" - этот "кто-то" должен знать, какие механизмы сохранения можно применять в вашем моде. Нетпакет актора в некоторых модах бывает забит под завязку, и пихать туда что-то уже нельзя. se_stor - есть он там? нету? я например не знаю. 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
UriZzz 1 004 Опубликовано 6 Июля 2020 Поделиться Опубликовано 6 Июля 2020 (изменено) @Zander_driver, ну речь вроде идёт об ОП, так что думаю есть. 1 час назад, mifares сказал: последовательно 30000, 30000, 30000, 900000? Всё что на ум приходит это таймеры. Изменено 6 Июля 2020 пользователем UriZzz Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Ninna 13 Опубликовано 9 Июля 2020 Поделиться Опубликовано 9 Июля 2020 Ребят, как заспавнить костюм на трупе нпс? Прописала комбез наемников информатору в аль спавне и в профиле, а он все равно не появляется. Ссылка на комментарий
mole venomous 3 394 Опубликовано 9 Июля 2020 Поделиться Опубликовано 9 Июля 2020 10 часов назад, Ninna сказал: как заспавнить Вот функция, удобно спаунить на ходу, тремя способами (по координатам, по имени профиля и ID Скрытый текст function AddItems(items,recipient) local count = 0 local pos, lvid, gvid, id, obj local function Compare(id) obj = alife():object(id) return obj and obj.profile_name and obj:profile_name() == recipient end for k, v in pairs(items) do if type(recipient)=='table' then for k, v in pairs (items[k]) do count = k for i=1, count do alife():create(v,vector():set(recipient['x'], recipient['y'],recipient['z']), recipient['lv'],recipient['gv']) end end elseif type(recipient)=='string' then if recipient =="actor" then obj = alife():actor() else for i=1, 65534 do local predicate = Compare(i) if predicate then break end end end if obj == nil then return end for k, v in pairs (items[k]) do count = k for i=1, count do alife():create(v, obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) end end elseif type(recipient)=='number' then obj = level_object_by_sid(recipient) if obj ~= nil then id, pos, lvid, gvid= obj:id(), obj:position(), obj:level_vertex_id(), obj:game_vertex_id() elseif obj == nil then obj = alife():story_object(recipient) id, pos, lvid, gvid = obj.id, obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id for k, v in pairs (items[k]) do count = k for i=1, count do alife():create(v, pos, lvid, gvid, id) end end end end end end function AddItemsByName() local items = { {[1]="item_1"}, -- итемы и их кол-во {[2]="item_2"}, {[5]="item_3"} } local recipient = "profile_name" -- имя из профиля AddItems(items,recipient) end function AddItemsByID() local items = { {[1]="item_1"}, -- итемы и их кол-во {[2]="item_2"}, {[5]="item_3"} } local recipient = 515 -- sid NPCа или кейса AddItems(items,recipient) end function AddItemsByPlace() local items = { {[1]="item_1"}, -- итемы и их кол-во {[2]="item_2"}, {[5]="item_3"} } local recipient = {x=124.25,y=-7.69,z=-11.66,lv=427496,gv=133} -- координаты и вертексы AddItems(items,recipient) end 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Ninna 13 Опубликовано 9 Июля 2020 Поделиться Опубликовано 9 Июля 2020 @mole venomous, спасибо, только вот есть одна проблемка: я не разбираюсь в скриптах. Можешь хотя бы подсказать куда это нужно вставить? Дальше наверно разберусь раз там все подписано. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 9 Июля 2020 Поделиться Опубликовано 9 Июля 2020 А старый-добрый spawn.inv теперь не в моде? Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Ninna 13 Опубликовано 11 Июля 2020 Поделиться Опубликовано 11 Июля 2020 09.07.2020 в 23:18, Zander_driver сказал: А старый-добрый spawn.inv теперь не в моде? Ещё бы знать что это такое) У меня другой вопрос назрел. Пытаюсь заспавнить уникальный комбез в х18 вместо обычного и уникальную куртку бандитов вместо обычной в вагоне на свалке, но при компиляции аль спавна он выдает ошибку cannot find clsid for class "название костюма". Что с этим делать? Причем помню что раньше уже сталкивалась с этой проблемой и как то ее заборола, но как не помню Ссылка на комментарий
Stalkersof 167 Опубликовано 11 Июля 2020 Поделиться Опубликовано 11 Июля 2020 Никто не помнит как убрать в бункере монолог с осознанием. В общем когда там все светильники напольные разбиваем появляется монстры. Потом диалог с осознанием и в случае отказа выдается переход на чаэс. Фриплей делаю эта фигня мешает, по хорошому вырезать надо все это и нормальный переход заспавнить на чаэс. Freeplay Graphic Mod(FGM) Ссылка на комментарий
UriZzz 1 004 Опубликовано 12 Июля 2020 Поделиться Опубликовано 12 Июля 2020 (изменено) Привет ребята. Продолжаю ковырять ТЧ. В файл map_spots_relations.xml, в самый низ добавил две секции: Скрытый текст <neutral_pda_spot width="6" height="6" stretch="1" alignment="c"> <texture r="255" g="200" b="0">ui_minimap_point</texture> </neutral_pda_spot> <friend_pda_spot width="6" height="6" stretch="1" alignment="c"> <texture r="50" g="255" b="0">ui_minimap_point</texture> </friend_pda_spot> В пда начали отображаться нпс, но радиус какой то маленький, увеличение switch_distance до 800 не возымело эффекта, значит радиус алайфа не играет роли, я так понимаю - сие зашито в движке? И ещё: попробовал добавить ещё две секции. Скрытый текст <enemy_pda_spot width="0" height="0" stretch="1" alignment="c" xform_anim="map_spot_rel_xform" xform_anim_cyclic="0"> <texture r="255" g="0" b="0">ui_minimap_point</texture> </enemy_pda_spot> <deadbody_pda_spot width="4" height="4" stretch="1" alignment="c"> <texture r="168" g="168" b="168">ui_minimap_point</texture> </deadbody_pda_spot> Ну сие не заработало, где можно подсмотреть? @Stalkersof, Вот этот мод не смотрел? https://www.amk-team.ru/forum/topic/8986-raritety/?do=findComment&comment=982760 Изменено 12 Июля 2020 пользователем UriZzz Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
ted.80 251 Опубликовано 12 Июля 2020 Поделиться Опубликовано 12 Июля 2020 11 минут назад, UriZzz сказал: Ну сие не заработало, где можно подсмотреть? https://yadi.sk/d/WVquKKUiPR2I1w 1 1 Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти