ФеНиКс 2 Опубликовано 16 Июня 2010 меченый(стрелок) он не ид наверное имела в виду а СИД=) если даже и ид, то как по сиду сделать это? ,,,,,,,,,,,,,,,,,,,,,,,,,,, хотя меня больше интересует функция удаления трупа, я сколько не парился с удалением трупа, так и не смог добитья норм удаления! при массовом удалении вылет. Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 16 Июня 2010 Unnamed Black Wolf 1. Стрелок не говорил, а писал! 2. Учатся на своих ошибках! 3. Если ты многое знаешь, это не значит что все должны знать! 4. Тебе лет сколько? Явно больше моего! И я скриптами занялся совсем недавно! Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 16 Июня 2010 меченый(стрелок) ясно, я пробовал просто оффлайновские удалять, а они были в онлайне. почему труп остается в онлайне? Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 16 Июня 2010 меченый(стрелок) Теперь всё ясно=) Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 23 Июня 2010 Каким образом НПС реагируют на игру гитары другого НПСа? это логика или скрипт? Что я имею в виду: когда нпс играет на гитаре, то другие(другой) оценивает его игру либо "+"(похвала;пример:"Ну, ты мастер" либо"-"(недовольство;пример:"Кончай уже, Рихтор...!", как это происходит? Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 23 Июня 2010 (изменено) Stalk15 006 -- это не айди волка!, а его сид. точно не уверен, но сработать должно, проверка на тебе=) function on_talk() local npc = level_object_by_sid(006) db.actor:run_talk_dialog(npc) end Изменено 23 Июня 2010 пользователем ФеНиКс Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 23 Июня 2010 (изменено) erlik (Garry_Galler) если не секрет что ты пытаешься сделать-то? (я про виджеты и всё то что ты делаешь ) Каким образом НПС реагируют на игру гитары другого НПСа? это логика или скрипт? Что я имею в виду: когда нпс играет на гитаре, то другие(другой) оценивает его игру либо "+"(похвала;пример:"Ну, ты мастер" либо"-"(недовольство;пример:"Кончай уже, Рихтор...!", как это происходит? Garry_Galler я уже исправился (просто скопипастил не то ) по поводу что делаешь... О_О чё за пушка-то такая? (или просто апдейд ремонт и т.п.? ) Изменено 23 Июня 2010 пользователем ФеНиКс Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 23 Июня 2010 (изменено) Stalk15 я бы ещё добавил проверку на расстояние вот так: function on_talk() local npc = level_object_by_sid(006) if npc:position():distance_to(db.actor:position()) < 3 then db.actor:run_talk_dialog(npc) end end ---------------- Garry_Galler А, теперь понял!=) Прикольная штука однако=) Изменено 23 Июня 2010 пользователем ФеНиКс Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 23 Июня 2010 Stalk15 это расстояние до ГГ => от всех НПС мутантов и даже предметов. Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 23 Июня 2010 Garry_Galler Я думал Stalk15 имеет в виду вообще, а не в данном скрипт, а так эта проверка используется для всего. (по моему) Исправь если я не прав. Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 24 Июня 2010 как отыграть рандомный звук из таблицы, с позиции НПС находящемся на расстоянии 1 метра от ГГ. самое главное для меня узнать вот это: "...с позиции НПС находящемся на расстоянии 1 метра от ГГ" Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 25 Июня 2010 как сделать чтобы НПС ударил ГГ в Морду? (постпроцесс, просто постпроцесс не катит, надо чтобы с анимацией это всё произошло.) и как сделать, так чтобы ствол нельзя было выкинуть? Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 25 Июня 2010 RvP не имею я такой возможности=( трафик не резиновый=( ___________________________________________ как скриптово в морду удар сделать? т.е. не с анимациями НПСов и со всем прилежащим. при использовании предмета. Т.Е. сделать такое условие: Если ГГ использовал предмет и он на расстоянии удара, то ударить в морду. Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 25 Июня 2010 Garry_Galler Любой НПС должен бить в морду-- level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") -- это просто эффект от удара а самого удара не происходит И так же мне не ясно как сделать проверку: Если ГГ использовал предмет, то... И сделать это цикличным, т.е. предмет может использоваться многократно. (допустим нож) если ты(ГГ) махнул ножом(т.е. использовал) и ты(гг) стои(т)шь на расстоянии удара, то НПС ударит в морду ГГ. Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 25 Июня 2010 Вот что у меня вышло, function za_fak_v_mordu() --local actor = db.actor --local ipos = actor:position() for i,v in pairs(db.storage) do local obj = level.object_by_id(i) if obj and IsStalker(obj) and obj:alive() and obj.health > 0.1 then --and if obj:position():distance_to(db.actor:position()) < 2 then local item = db.actor:active_item() if not (item and item:section() == "wpn_fuck") then -- set_inactivate_input_time(30) local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) level.add_cam_effector("camera_effects\\fusker.anm", 1999, false, "") level.add_pp_effector("fire_hit.ppe", 1974, false) end end end end end но я не знаю как анимку проиграть это раз и постэффет сразуже проигрывается, т.к. ставлю на апдейд. Как исправить это? и как отследить использование ножа? Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 25 Июня 2010 (изменено) Garry_Galler Ой точно...я просто скопипастил, а not не убрал =) Если честно, то нож-то мне и не нужен просто вещь на классе болта сделана... и надо как-то отследить её применение. И остаётся загадкой как анимацию проиграть...=( Изменено 25 Июня 2010 пользователем ФеНиКс Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 25 Июня 2010 (изменено) Stalk15 function name() local npc = level_object_by_sid(айди) npc:set_character_community("имя группировки", 0, 0) end Если функцию смены группировки запускать из логики непися или из диалога, то функция будет выглядеть так: function name(actor, npc) npc:set_character_community("имя группировки", 0, 0) end Изменено 25 Июня 2010 пользователем ФеНиКс Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 26 Июня 2010 (изменено) _Призрак_ И ты предлагаешь каждому НПСу менять логику!? Я писал что Каждый НПС. :ny_z_8: - Изменено 26 Июня 2010 пользователем ФеНиКс Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 26 Июня 2010 -------------------------------------- Как сделать в этой функции проверку в этом роде: Если условия не выполняютс(условия самой функции живой НПС на дистанции 1 м. и если активен предмет, то.....) то ничего не должно происходить! А то у меня если по близости нет НПС постпроцес все равно играет=( function za_fak_v_mordu() for i,v in pairs(db.storage) do local obj = level.object_by_id(i) if obj and IsStalker(obj) and obj:alive() and obj.health > 0.1 then --and if obj:position():distance_to(db.actor:position()) < 1 then local item = db.actor:active_item() if (item and item:section() == "wpn_fuck") then -- set_inactivate_input_time(30) local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) level.add_cam_effector("camera_effects\\fusker.anm", 1999, false, "") -- level.add_pp_effector("fire_hit.ppe", 1974, false) end end end end end Поделиться этим сообщением Ссылка на сообщение
ФеНиКс 2 Опубликовано 27 Июня 2010 (изменено) Stalk15 чё не понятного-то? так сделай: function blablabla() local pos = db.actor:position() pos = pos:add(dir:mul(20)) alife():create(section,pos )) end Изменено 27 Июня 2010 пользователем ФеНиКс Поделиться этим сообщением Ссылка на сообщение