ZeeK 63 Опубликовано 17 Июня 2011 (изменено) Возможно ли заставить мутанта постоянно охотиться только за Гг?? Изменено 17 Июня 2011 пользователем ZeeK Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 22 Июля 2011 Я писал свой вопрос, но внятного ответа не получил(или не понял ) Как в такой логике в конце отпустить НПС в симуляцию? [logic] active = remark@start [meet] close_anim = nil close_snd_hello = nil close_snd_bye = nil close_victim = actor far_distance = 10 far_anim = ward far_victim = actor trade_enable = false use = {!actor_enemy} true allow_break = false meet_on_talking = false abuse = false [remark@start] anim = hello_wpn target = story | actor gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_info = {+start_dialog_complete} remark@go_away on_info2 = {=dist_to_actor_ge(25)} %+actor_running_out% on_actor_dist_le = 5 | remark@wait meet = no_meet [remark@wait] target = story | actor gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_info = {+start_dialog_complete} remark@go_away on_info2 = {=dist_to_actor_ge(30)} %+actor_running_out% meet = meet [remark@go_away] active = nil Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 24 Июля 2012 Здрасьте, народ. Собрал функцию облучения гг радиацией при порченном костюме, но как обычно с первого раза не заработало, а ошибок я что то не замечаю. Подскажите, плиз function check_outfit_condition() if db.actor:item_in_slot(7) ~= nil and db.actor:item_in_slot(7):section() == "scientific_outfit" and db.actor:item_in_slot(7):condition() <=0.80 and level.name()=="zaton" then --когда костюм можно чинить (состояние больше или равно 80%) db.actor.radiation = 0.05 local news_text = "%c[255,160,160,160]".."Дягтерев:".."\\n".."%c[default]".."Внимание! Разгерметизация! Фильтры костюма не справляются!" local news_caption = game.translate_string("st_tip") local texture = "ui_inGame2_Hero" db.actor:give_game_news(news_caption, news_text, texture, 1000, 5000) elseif not db.actor:item_in_slot(7):section() == "scientific_outfit" and level.name()=="zaton" then db.actor.radiation = 0.1 local news_text = "%c[255,160,160,160]".."Дягтерев:".."\\n".."%c[default]".."Пора умирать, упс..." local news_caption = game.translate_string("st_tip") local texture = "ui_inGame2_Hero" db.actor:give_game_news(news_caption, news_text, texture, 1000, 5000) end end Используй теги "Код" и "Спойлер". Cyclone Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 24 Июля 2012 твой код будет рабоатать, если у тебя надет комбез "Сева" и ты находишься на Затоне, причём независимо от его состояния. Если в слоте вообще не будет комбеза Shredder на это и было нацелено. То есть, написано верно будет, если заменить if db.actor:item_in_slot(7) ~= nil and db.actor:item_in_slot(7):section() == "scientific_outfit" and db.actor:item_in_slot(7):condition() <=0.80 and level.name()=="zaton" на if db.actor:item_in_slot(7):section() == "scientific_outfit" and db.actor:item_in_slot(7):condition() <=0.80 and level.name()=="zaton" ?? Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 25 Июля 2012 (изменено) _Призрак_ Вы вызываете аж 3 раза движковую функцию. Которая тоже время требует на выполнение. Притом такой код как выше выглядит не красиво. Почему не написать так: Ну может потому, что как понял, так и написал? Не все здесь имеют глубокие познания в программировании, чтобы понимать, как упрощенней записать функцию Во-первых, ты в разделе "Школа ..." и тебе подсказали, так зачем оправдывать свои незнания/недопонимания? Во-вторых, не нужно путать элементарные знания с "губокими", тебе подсказали простейшее, не требующее даже средних знаний. --/Artos Изменено 26 Июля 2012 пользователем Artos Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 9 Февраля 2016 День добрый, комрады. Ковыряю ЧН, смотрю схему ограбления на блокпостах на Свалке. Там в sr.robbery вызывается схема с изъятием всего инвентаря у Гг через db.actor:inventory_for_each(get_actor_inv) Возникает вопрос: нельзя сделать изъятие по классу снаряжения, чтобы изымали автомат\пистолет\броню и т.д.? Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 11 Февраля 2016 Kirgudu Закомментировано после патча 1.5.03, я же хочу вернуть оригинальную схему с доработками. Сейчас остановился, на том, что изменил схему, чтобы она не изымала конкретные виды объектов через local function transfer_object_item(item) if item:section() ~= "wpn_binoc" and item:section() ~= "wpn_knife" and item:section() ~= "device_torch" and item:section() ~= "wpn_g36" then db.actor:transfer_item(item, inv_box_1) Но не могу придумать как сделать, чтобы вместо item:section() ~= "wpn_g36" и т.д. вид оружия брался из таблицы, что то типо item:section() ~= "wpn_table", чтобы не увеличивать размеры кода. Никто не подскажет код? Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 12 Февраля 2016 (изменено) KirguduИз огня да в полымя, с твоим кодом вылетает с такой аргументацией: xr_logic: can't call sr_robbery.set_scheme() Arguments : LUA error: ....А.Л.К.Е.Р. - Чистое Небо\gamedata\scripts\_g.script:975: bad argument #2 to 'format' (string expected, got nil) Сам я сделал в стиле совета Jurok, но тоже столкнулся с проблемами:local table = { "wpn_colt1911_up2", "wpn_g36", } for k,v in pairs(table) do if item:section() ~= v then С таким кодом не изымается у ГГ объект из таблицы, если он только там один прописан. Если же их 2 и более, то изымается все. Изменено 12 Февраля 2016 пользователем ZeeK Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 5 Марта 2016 (изменено) Вечер добрый. Еще раз прошу помощи с sr_robbery для ЧН: никак не могу создать таблицу, чтобы объекты проще было вносить, пытался разными способами, но почему то и не вылетает и не срабатывает, если в таблице более одного объекта. Начал уже тупо копировать-вставить по одному объекту в основную функцию в стиле local function transfer_object_item(item) if item:section() ~= "wpn_beretta" and item:section() ~= "wpn_colt1911" anditem:section() ~= "wpn_desert_eagle" anditem:section() ~= "wpn_fort" anditem:section() ~= "wpn_hpsa" anditem:section() ~= "wpn_pb" anditem:section() ~= "wpn_pm" anditem:section() ~= "wpn_walther" anditem:section() ~= "novice_outfit" anditem:section() ~= "bandit_outfit" anditem:section() ~= "specops_outfit" anditem:section() ~= "military_outfit" anditem:section() ~= "stalker_outfit" anditem:section() ~= "scientific_outfit" anditem:section() ~= "exo_outfit" anditem:section() ~= "svoboda_light_outfit" anditem:section() ~= "svoboda_heavy_outfit" anditem:section() ~= "svoboda_exo_outfit" anditem:section() ~= "cs_light_outfit" anditem:section() ~= "cs_heavy_outfit" anditem:section() ~= "dolg_outfit" anditem:section() ~= "dolg_heavy_outfit" anditem:section() ~= "wpn_g36" thendb.actor:transfer_item(item, inv_box_1)endendinv_box_1 = level_object_by_sid (718)db.actor:inventory_for_each(transfer_object_item) Но так получится огромная функция, да и работы прибавится. Вот также ссылка на Ядиск с файлом - https://yadi.sk/d/3VlWC2cGpwFud - м.б. кому то будет интересно изучить текущее состояние. Изменено 5 Марта 2016 пользователем ZeeK Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 6 Марта 2016 повторный спавн (переход в онлайн) НПС происходит не в прописанной точке path = aes2_osoznanie_walk_particle как это было при первом спавне, а в точке из которой он ушел в оффлайн Что мешает создать для каждого телепорта по индивидуальному НПС и подменять их по очереди? что бы они спавнились на определенном расстоянии от ГГ, что бы игрок мог это видеть, а не при заходе на локацию по безусловному условию Раз ты собираешься делать потом спавн из скрипта, то сделай, что при заходе в рестриктор дается инфопоршень, а в скрипте при получении поршня спавнится НПС в координатах достаточных, чтобы ГГ мог увидеть этот спавн перед собой" Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 6 Марта 2016 Могу только предполагать: поскольку пути path_walk имеют контрольные точки, по которым следует нпс, например [bloodsucker_02_way_1] points = p0,p1p0:name = wp00p0:position = 98.0355453491211,0.780927002429962,216.506912231445p0:game_vertex_id = 54232p0:level_vertex_id = -1p0:links = p1(1)p1:name = wp01p1:position = 93.8923492431641,1.38035702705383,225.457122802734p1:game_vertex_id = 90p1:level_vertex_id = 191120 То нпс пока не вернется на первую точку т.к. она уже пройдена и он уже стоит на второй и должен закончить ее. По крайней мере сколько я в ЧН\ЗП не убегал\возвращался к нпс они никогда свою работу не начинали с начала, все время с той точки, где они ушли оффлайн. Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение
ZeeK 63 Опубликовано 6 Марта 2016 (изменено) А если так?: Нет, загружается, но во время диалога вылет, причем такой, который в поиске гугл по сталкеру и не попадается "bad argument #2 to 'find' (string expected, got table)" Изменено 6 Марта 2016 пользователем ZeeK Не соответствует. N6260 Поделиться этим сообщением Ссылка на сообщение