Chypakabra 997 Опубликовано 25 Марта 2022 2 минуты назад, Zander_driver сказал: item_id++; -- :) Я конечно дико извиняюсь, это какова язика синтоксис? C# или С++ ? но явно не LUA чукча конечно не прогер и может ошибаться Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 25 Марта 2022 11 минут назад, Zander_driver сказал: Я в чужие дела не лезу, хочет узнать - значит есть, зачем. #Сидорович 12 минут назад, Zander_driver сказал: если опираться на функционал оригинального движка если на то пошло - и будем опираться на оригинал - у непися может и будет находиться только то, что ему заспавнено (оллспавном или скриптом), и больше ни чего - так как в ванили нпс не лутаются, не торгуют между собой и барыгами, не шмонают трупы и нычки, и не собирают арты и любой другой хабар, единственная возможность изменения содержимого инвентаря (если я ни чего не забыл) нпс это торговля с ГГ, поэтому я и посчитал данный вопрос всего лишь глупой хотелкой. Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 26 Марта 2022 8 часов назад, Zander_driver сказал: Одну "мину" нашел, возьми с полки пирожок. Их там было две Я и не искал - она сама мне прямо в глаз "попала" Это и правда было-бы весело - если бы не было печально, подавляющее большинство среднестатистических индивидуумов тупо скопирует твой "заминированный" код, и не будет разбираться в синтаксисе и искать пасхалки, а будет сидеть и ныть в комментах "ни роботаит", а если ему подскажут в чём трабл - ну или всё же сам допетрит - как ты думаешь что он с ним сделает? !Правильно! - повесит на апдейт! и вся эта портянка будет перебирать 65к предметов за такт, и опять начнется "виснит", "логаит", "вылитаит", так что это тот ещё вопрос, под кого это мина заложена , и восстанут "Юзвери" из пепла форумных ристалищ - и пойдут они строчить каменты на 3 страницы offтопа 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 4 Июня 2022 1 час назад, mole venomous сказал: Возможно ли одно из четырёх значений, определяющих пар-тр hit_power в конфиге оружия, вернуть как число? Скрытый текст if system_ini():line_exist(item:section(), "hit_power") then local Hitpower = system_ini():r_string(item:section(), "hit_power") if Hitpower then Hitpower = string.gsub(Hitpower,"[,]"," ") for k, v in string.gmatch(Hitpower,"[%p0-z]+") do -- k перебирает все значения hit_power end end end 1 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 23 Октября 2022 13 минут назад, mole venomous сказал: Как именно? Моего опыта с таблицами на большее не хватает. именно так tActorItems = {} закрытые фигурные скобки обнуляют таблицу 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 23 Октября 2022 7 минут назад, mole venomous сказал: её так лишь объявляют перед кодом Точно так, не существующая до этого таблица создаётся, а существующая очищается Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 23 Октября 2022 1 час назад, mole venomous сказал: Не выкидываются все предметы попробуй вот так: function dropall() for i=0,db.actor:object_count()-1 do local item = db.actor:object(i) if item and item:section() ~= "bolt" and item:section() ~= "device_pda" and item:section() ~= "device_torch" then local death_ini = ini_file("misc\\death_generic.ltx") local n = death_ini:line_count("keep_items") for i=0, n-1 do local keep_item = death_ini:r_line("keep_items",i,"","") if item:section() ~= keep_item then db.actor:drop_item(item) end end end end end 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 15 Февраля 2023 4 часа назад, Colder сказал: for i = 1, math.random(1,3) do эту строчку перенеси в самое начало функции 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 8 Марта 2023 (изменено) 2 часа назад, imcrazyhoudini сказал: Есть такой код: Функцию целиком выложи, а то не очень понятно что к чему ну или как-то так: Скрытый текст if obj:section() == "sleepingbag" then local can_sleep = true local actor = db.actor for id=1,65535 do local object = level.object_by_id(id) if object ~= nil then if (IsStalker(object) and object:relation(actor) == game_object.enemy) or IsMonster(object) then if object:position():distance_to(actor:position()) < ENEMY_RADIUS and object:see(actor) then news_manager.send_tip(actor, "sleep_warning_enemy", nil, "default", 5000) can_sleep = false break end end end end -- проверка на радиацию if actor.radiation > 0 and can_sleep then news_manager.send_tip(actor, "sleep_warning_radiation", nil, "default", 5000) can_sleep = false end if actor.satiety < 0.5 and can_sleep then news_manager.send_tip(actor, "satiety_warning_radiation", nil, "default", 5000) can_sleep = false end -- ATM Sleeping Bag start if can_sleep then if self.already_jumped==false and jump_level.need_jump==true and (device().frame > self.spawn_frame+2000) then jump_level.try_to_jump() self.already_jumped = true return end end end Изменено 8 Марта 2023 пользователем ted.80 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 9 Марта 2023 15 часов назад, imcrazyhoudini сказал: Что не так с кодом? да там всё "нитак" - все проверки у тебя находятся в bind_stalker.script > actor_binder:use_object(obj) но и одна из них не запускает "окно сна", а конструкция: -- ATM Sleeping Bag start if self.already_jumped==false and jump_level.need_jump==true and (device().frame > self.spawn_frame+2000) then jump_level.try_to_jump() self.already_jumped = true return end ни какого отношения к сну вообще не имеет А нужное тебе окно запускается через - bind_stalker.script > actor_binder:on_item_drop (obj) > atmmain.on_item_drop(obj) function on_item_drop(obj) if obj:section() == "sleepingbag" then sleepingbag_id = obj:id(); ui_sleep_init = true; end -- atmdebug.abundance(obj); end тут проверяется секция и переменная ui_sleep_init становится "тру" потом эта переменная в функции atmmain.update() которая как нистрано висит апдейте актора в строке 59 запускает нужное или нет окно level.start_stop_menu(atmsleep.UISleep(), true); 1 1 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 10 Марта 2023 2 часа назад, imcrazyhoudini сказал: Что не так? 2 часа назад, imcrazyhoudini сказал: if db.actor.satiety < 0.70 and ui_sleep_init == true then Тут ui_sleep_init всегда будет "фолс" а не "тру" всегда!!! потому что в предыдущей функции она объявлена local и живёт она только внутри этой функции , и её значение в другую функцию а тем более в другой скрипт не передаётся 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 10 Марта 2023 20 минут назад, UriZzz сказал: Хм, а точно не nil if variable == nil or variable == "nil" or variable == false then variable ~= true end 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 4 Февраля 2024 2 часа назад, Pavel_2000 сказал: чтоб писало "Найден артефакт: (арт)" if db.actor:object("af_medusa") and not db.actor:has_info("medusa") then db.actor:give_info_portion("medusa") local art_name = "Найден артефакт: %c[255,255,50,50]"..game.translate_string(system_ini():r_string("af_medusa", "inv_name")).."%c[default]" news_manager.send_tip(db.actor, art_name, 0, "got_artefact", 3000) end 1 2 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 2 Августа 2024 2 часа назад, Капрал Хикс сказал: в Зове Припяти можно при клике на найденные КПК в инвентаре слушать звуковое сообщение, ЕМНИП - сообщение воспроизводится при поднятии КПК, а при наведении курсора - во всплывающем окошке появляется текст, подобное в ТЧ было в нычке стрелка при поднятии флешки, вот тут память меня подводит или в AMK нашем и родном или в НарСоль, ну или маразм меня подводит Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 2 Августа 2024 26 минут назад, Labadal сказал: В любом случае, можешь попробовать данную функцию: Тыж мой золотой, гайд по воиспроизведению звука при использовании предмета написан ОООчень давно, но за старание плюсик но ты забываешь один мааааленький нюанс ни в ТЧ ни в ЗП кпк или пда кому как, не является юзабельным предметом, ну нет у него функционала "использовать", ты можешь только выкинуть его или продать - ВСЁ! чтоб его юзать нужно делать отдельный предмет на классе аптечки, бинта или антирада, да хоть колбасы наконец, присваивать ему иконку кпк вот потом его можно юзать. 43 минуты назад, Labadal сказал: --не забываешь выдать предмет обратно, т.к. при использовании он пропадает а чтоб с этим не париться: [remkit]:device_pda description = "Ремнабор" inv_name = "Ремнабор" inv_name_short = "Ремнабор" cost = 5000 class = II_ANTIR eat_health = 0 eat_satiety = 0 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = -1 последняя строчка eat_portions_num = -1 обозначает что предмет можно есть бесконечно он не пропадает из инвентаря и спавнить заново не нужно - пользуйся 1 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 8 Сентября 2024 @Капрал Хикс Привет, есть отдельный мини мод, посмотри как там реализовано так я думаю проще будет Show Reward Mini Mod v1.03 2 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 15 Сентября 2024 (изменено) 5 часов назад, Капрал Хикс сказал: рабочий скрипт отображения иконками на карте оружия Ну так поделись творением искусственного интеллекта - мы чай не тупее будем доработаем до удобоваримости Поделюсь своим творением local Dot = { {"ammo","cheat_ammo_spot"}, {"medkit","cheat_medkit_spot"}, {"af_","cheat_af_spot"}, {"wpn_","cheat_wpn_spot"}, {"outfit","cheat_outfit_spot"} } function DelDot(obj) for k, v in pairs(Dot) do if level.map_has_object_spot(obj.id, v[2]) ~= 0 then for i = 1, level.map_has_object_spot(obj.id, v[2]) do level.map_remove_object_spot(obj.id, v[2]) end end end end function Dots(obj) for k, v in pairs(Dot) do if string.find(obj:section_name(), v[1]) then if level.map_has_object_spot(obj.id, v[2]) == 0 then level.map_add_object_spot_ser(obj.id, v[2], game.translate_string(system_ini():r_string(obj:section_name(), "inv_name"))) end end end end function ItemDot() for i = 1, 65534 do local obj = alife():object((i)) if obj and obj.parent_id then if obj.parent_id == 65535 then Dots(obj) else DelDot(obj) end end end end Изменено 15 Сентября 2024 пользователем ted.80 2 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 16 Сентября 2024 (изменено) 43 минуты назад, Капрал Хикс сказал: а мирно себе лежит в олл.спавне/скриптом заспавнено в начале игры? Ну так для него и сделай перебор - только по какому либо условию, а не на апдейте @Norman Eisenherz Вместо перебора можно привязать создание/удаление меток к сбросу/поднятию оружия на стороне ГГ и сбросу из инвентаря NPC в [death_manager.script]. Изменено 16 Сентября 2024 пользователем ted.80 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 26 Декабря 2024 @Капрал Хикс для npc есть вот это, https://www.amk-team.ru/forum/topic/4188-soc-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/?do=findComment&comment=452177 для монстров скорее всего что-то похожее 1 Поделиться этим сообщением Ссылка на сообщение
Chypakabra 997 Опубликовано 29 Декабря 2024 @Капрал Хикс https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/?do=findComment&comment=1322813 1 Поделиться этим сообщением Ссылка на сообщение