Vano_Santuri 33 Опубликовано 11 Октября 2009 Ребята, подскажите одну вещь, сделал динамически худ(не так как Бак, а как делал Серафим для ЧН) все получилось, работает как часы, ничего не пропадает и не глючит. Подскажите, как написать функцию, чтобы та проверяла состояние ГГ( если он спит, или идет видео игры(типа возле вертушек)) , и если исполняются эти действия, то худ становится дефаултным, то есть никаким, Кто поможет? Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 11 Октября 2009 [PROTOTYPE], И куда ты ее сувал?Вернее, что за текстура? так не скажу, не понятно? Да и как там твой мод для ЧН ( где много моделей оружея)? Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 11 Октября 2009 [spoiler=Правится в конфиге каждой !!! hit_power];=========================================================================== ; ATTACK PARAMS ;=========================================================================== [m_boar_attack_params] ;--------------------------------------------------------------------------------------------------------------------------------------------- ; anim | time[0..1] | hit_power | impulse | impulse_dir (x,y,z) | Field of hit_test (left,right, bottom, top ) | Test Dist ;--------------------------------------------------------------------------------------------------------------------------------------------- ;Bite stand_attack_0 = 0.30, 0.65, 150, 0.0, 0.5, 0.5, -0.6, 0.6, -0.6, 0.6, 3.2 ;Bite2 stand_attack_1 = 0.30, 0.65, 150, 0.0, 0.5, 0.5, -0.6, 0.6, -0.6, 0.6, 3.2 ;Right Leg Attack stand_attack_2 = 0.30, 0.65, 200, 0.0, 1.0, 2.0, -0.6, 0.6, -0.6, 0.6, 3.2 stand_attack_run_0 = 0.40, 0.65, 1800, 0.0, 1.0, 2.0, -1.0, 1.0, -1.0, 1.0, 3.2 stand_attack_run_left_0 = 0.40, 0.65, 1800, 0.0, 1.0, 2.0, -1.4, 1.4, -1.4, 1.4, 3.2 stand_attack_run_right_0 = 0.40, 0.65, 1800, 0.0, 1.0, 2.0, -1.4, 1.4, -1.4, 1.4, 3.2 Строгое предупреждение от модератора Halford Потише. Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 11 Октября 2009 (изменено) Ну вроде, ты попрубуй, меняй цифры , которые под столбом | hit_power , а потом нам отпишешь) !Да и еще, такую табличку меняй у кждого профиля кабана(их там 3 вроде, я не знаю какие именно профиля бегают по Затону. Изменено 11 Октября 2009 пользователем Vano_Santuri Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 11 Октября 2009 Rezonance, 0.65 только ее Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 6 Ноября 2009 Дам, если вы так будете делать мод, долго вы его будете делать, чтобы непись могла использовать новые стволы, нужна правка mp_ranks. А с артом , найти и прописать ид арта тут точку на экране ui_detector_artefact.xml тут класс арта в детекторы devices.ltx Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 6 Ноября 2009 Скачай из моей подписи и не парься, даже патчи распаковывает в отдельную папку Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 7 Ноября 2009 Такой вопрос: вот секция поршней Азота discount_condlist = {+jup_b200_tech_materials_brought_counter_9 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(0.95)%, {+jup_b200_tech_materials_brought_counter_8 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(0.99)%, {+jup_b200_tech_materials_brought_counter_7 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.01)%, {+jup_b200_tech_materials_brought_counter_6 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.03)%, {+jup_b200_tech_materials_brought_counter_5 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.05)%, {+jup_b200_tech_materials_brought_counter_4 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.07)%, {+jup_b200_tech_materials_brought_counter_3 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.09)%, {+jup_b200_tech_materials_brought_counter_2 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.11)%, {+jup_b200_tech_materials_brought_counter_1 =counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.13)%, {+jup_b200_tech_materials_brought_counter_9 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.65)%, {+jup_b200_tech_materials_brought_counter_8 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.69)%, {+jup_b200_tech_materials_brought_counter_7 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.71)%, {+jup_b200_tech_materials_brought_counter_6 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.73)%, {+jup_b200_tech_materials_brought_counter_5 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.75)%, {+jup_b200_tech_materials_brought_counter_4 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.77)%, {+jup_b200_tech_materials_brought_counter_3 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.79)%, {+jup_b200_tech_materials_brought_counter_2 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.81)%, {+jup_b200_tech_materials_brought_counter_1 =counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.83)%, {+jup_b200_tech_materials_brought_counter_9 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.65)%, {+jup_b200_tech_materials_brought_counter_8 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.69)%, {+jup_b200_tech_materials_brought_counter_7 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.71)%, {+jup_b200_tech_materials_brought_counter_6 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.73)%, {+jup_b200_tech_materials_brought_counter_5 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.75)%, {+jup_b200_tech_materials_brought_counter_4 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.77)%, {+jup_b200_tech_materials_brought_counter_3 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.79)%, {+jup_b200_tech_materials_brought_counter_2 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.81)%, {+jup_b200_tech_materials_brought_counter_1 =counter_equal(jup_a6_actor_help_starkers:3)} %=mech_discount(0.83)%, {+jup_b200_tech_materials_brought_counter_9} %=mech_discount(0.80)%, {+jup_b200_tech_materials_brought_counter_8} %=mech_discount(0.84)%, {+jup_b200_tech_materials_brought_counter_7} %=mech_discount(0.86)%, {+jup_b200_tech_materials_brought_counter_6} %=mech_discount(0.88)%, {+jup_b200_tech_materials_brought_counter_5} %=mech_discount(0.90)%, {+jup_b200_tech_materials_brought_counter_4} %=mech_discount(0.92)%, {+jup_b200_tech_materials_brought_counter_3} %=mech_discount(0.94)%, {+jup_b200_tech_materials_brought_counter_2} %=mech_discount(0.96)%, {+jup_b200_tech_materials_brought_counter_1} %=mech_discount(0.98)%, {=counter_equal(jup_a6_actor_help_freedom:4)} %=mech_discount(1.15)%, discount_condlist = {=counter_equal(jup_a6_actor_help_duty:4)} %=mech_discount(0.85)%, discount_condlist = {=counter_equal(jup_a6_actor_help_stalkers:3)} %=mech_discount(0.85)% Меня смущает вот это jup_a6_actor_help_starkers:3 такого поршня нет, есть только jup_a6_actor_help_stalkers:3 . Получается если исправить эти синтаксические ошибки, то исчезнет большенство вылетов ? (оригинальная игра.) и тогда патч (кроме графики) сто лет в обед не нужен? Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 15 Ноября 2009 ПРОПИСАТЬ НОВЫЕ КОСТЮМЫ ДЛЯ ВЫПОЛНЕНИЯ НЕКОТОРЫХ КВЕСТОВ Делал патчик ддля своего мода, так как у меня новые костюмчики , решил добавить их для квестов, чтоб можно было в них их проходить. 1)Переменное пси-поле. открываем gamedata\scripts\dialogs_jupiter.script ищем таблицы не проверку шмота. вот функция function jup_b1_actor_have_good_suit(first_speaker, second_speaker) я добавил свои костюмчики (имеется ввиду, что они имеют псизащиту в соответствующие таблики) local suits_tbl = { ["scientific_outfit"] = true, ["military_outfit"] = true, ["dolg_heavy_outfit"] = true, ["exo_outfit"] = true, ["svoboda_light_outfit"] = true, ["svoboda_heavy_outfit"] = true, ["cs_heavy_outfit"] = true, ["dolg_scientific_outfit"] = true, ["monolit_scientific_outfit"] = true, ["dolg_exo_outfit"] = true, ["svoboda_exo_outfit"] = true, ["naim_exo_outfit"] = true, ["monolith_exo_outfit"] = true, } local helmets_tbl = { ["helm_battle"] = true, ["helm_tactic"] = true, ["helm_protective"] = true, } Если новые шлемы, то и шлемы тоже...Данный список используется и при разговоре с Вальтом(квест Вано) 2)Квест с костюмом замкнутого дыхания для Припяти. 1)Сам квест на нахождения костюма, чтобы не париться с инфопршнями, я сделал так, если вы нашли костюм, задание выполнено, выкинули из инвентаря - задание НЕ обновляется... gamedata\configs\misc\tm_jupiter.ltx [jup_b218_actor_outfit] icon = ui_inGame2_Pripyat_1 prior = 118 storyline = true title = jup_b218_actor_outfit_name descr = jup_b218_actor_outfit_text condlist_0 = {=actor_has_item(scientific_outfit)} complete condlist_1 = {=actor_has_item(dolg_scientific_outfit)} complete condlist_2 = {=actor_has_item(monolit_scientific_outfit)} complete просто добавил условия (кондист) и отрезал внизу он_комплит, чтоб не писать дополнительные поршни. 3)Добавить броню так, чтоб в ней можно было идти на припять(при диалоге с зулусом) gamedata\scripts\dialogs_jupiter.script в самом конце две фнкции function jup_b15_actor_sci_outfit(first_speaker, second_speaker) если да и function jup_b15_no_actor_sci_outfit(first_speaker, second_speaker) если нет в первой делаем так function jup_b15_actor_sci_outfit(first_speaker, second_speaker) return (db.actor:object("scientific_outfit") ~= nil) or (db.actor:object("dolg_scientific_outfit") ~= nil) or (db.actor:object("monolit_scientific_outfit") ~= nil) end or это команда "иди ", т.е или то или это не равно нил, при этом срабатывает квест и вы идете в припять... второй function jup_b15_no_actor_sci_outfit(first_speaker, second_speaker) return (db.actor:object("scientific_outfit") == nil) or (db.actor:object("dolg_scientific_outfit") == nil) or (db.actor:object("monolit_scientific_outfit") == nil) end или то или то равно нил, то в припять не идете, т.е если этих предметов нет в инвентаре , то диалог не идет.. Вобщем понятно как делать? прописываете свои костюмы и шагаете... Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 16 Ноября 2009 Если хочешь ковырять движок(библиотеки) то пожалуйста, даже если у тебя это получится, то этот факт будет незаконным... Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 24 Ноября 2009 [ЯР], Для начала уточни, где лежит предмет(инвентарь, вне инвентаря), есть ли возможность его подбирать, или он как магнитовофн стоит? Так же откуда играет музыка? от предмета, или чисто у актора? Класную идею подкинул, можно сделать так, чтоб при юзании радио и ли телека играла музыка.показывалось кино))) Как уточнишь, я попытаюсь рассказать... Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 10 Декабря 2009 (изменено) Можно на апдейт в бинд_сталкерс.скрипт.. ищешь функцию апдейта function actor_binder:update(delta) object_binder.update(self, delta) ....................... ................... end и перед последним эндом вызываешь функцию.... но тогда придется сделать только для одного поршня, чтоб не выдавал их каждый раз, тогда твоя функция будет такого вида : function item(task, objective) if (not db.actor:has_info("actor_has_item")) then if db.actor ~= nil then return db.actor:object("wpn_pm") ~= nil then db.actor:give_info_portion("actor_has_item") end -- это ты забыл закончить функцию иф? или я туплю... end end Изменено 10 Декабря 2009 пользователем Vano_Santuri Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 10 Декабря 2009 Так а может попробовать так function item(task, objective) if (not db.actor:has_info("actor_has_item")) then if db.actor:object("wpn_pm") ~= nil then db.actor:give_info_portion("actor_has_item") end end end db.actor:object("wpn_pm") а это верный метод? может использовать он_итем тейк? Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 10 Декабря 2009 (изменено) кровоSTALKER, потому, что функци тоже оканчивать надо... Так вот полазил в диалогах, можно попробовать так.... function drops_items() if db.actor:object(a) ~= nil then if a == "wpn_pm" and not db.actor:has_info("actor_has_item") then db.actor:give_info_portion("actor_has_item") end end end так вроде должно работать, не забывай, что если drops_items(тут написаны методы) , то и в вызове они тоже должны быть.... Изменено 10 Декабря 2009 пользователем Vano_Santuri Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 10 Декабря 2009 psevdoгринго да , именно так, единственно , что еще на уме, ты этот поршень в текстовике прописывал? ну там где остальные поршни? Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 10 Декабря 2009 (изменено) Так вот последний вариант, обрати внимание на вызов.... function actor_has_pda() if (db.actor:object(pda_bandit_tech) ~= nil) and (not db.actor:has_info("actor_has_pda")) then db.actor:give_info_portion("actor_has_pda") end end В bind_stalker.script ... new_quests.actor_has_pda() end Внимание! убрал лишнее окончание(2 энда осталось). Изменено 10 Декабря 2009 пользователем Vano_Santuri Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 11 Декабря 2009 Эээ, это надо в диалоги прописывать.... а не в апдейт, это ваще извращение какое-то... А так можно хитануть нпс, но функция сложновато и не всегда работает.... Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 13 Декабря 2009 slayer_kch, сам создал? или тупо передрал? и назвал своим? Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 22 Января 2010 Товарищи, подскажите одну вещь. Можно ли из логики запустить функцию? ВОт вам пример конткретной логики сцены, куда и как прописать свою функцию? Вот логика сцены по прибытию на янов [logic@zat_b215_stalker_guide_jupiter] suitable = {=check_npc_name(zat_b215_stalker_guide_jupiter)} true prior = 200 active = animpoint level_spot = guider [animpoint] cover_name = jup_a6_animpoint_guider_start avail_animations = wait_na use_camp = false reach_distance = 1 combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true meet = no_meet out_restr = jup_a6_sr_noweap gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false on_info = {+jup_b217_welcome_faded} animpoint@first_visit [animpoint@first_visit] cover_name = jup_a6_animpoint_guider_start avail_animations = jup_b217_guide_stand use_camp = false reach_distance = 0.3 on_info2 = {+jup_b217_pp_end_in_scene -jup_b217_guide_welcome_end !black_screen} %=play_sound(jup_b217_stalker_guide_welcome) +jup_b217_guide_welcome_end% on_signal = sound_end | {-jup_b217_welcome_guide_talked} %+jup_b217_welcome_guide_talked% on_info3 = {+jup_b217_welcome_guide_talked} animpoint@rest combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true meet = no_meet out_restr = jup_a6_sr_noweap gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [animpoint@rest] cover_name = jup_a6_animpoint_guider use_camp = false reach_movement = walk_noweap reach_distance = 1 on_game_timer = 27 | {-jup_b217_tech_begin_to_talk} %+jup_b217_tech_begin_to_talk% combat_ignore_cond = true combat_ignore_keep_when_attacked = true meet = meet invulnerable = true out_restr = jup_a6_sr_noweap gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet] close_snd_hello = zat_b215_stalker_guide_greeting close_snd_bye = zat_b215_stalker_guide_farewell close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 close_snd_distance = 3 use = {=actor_enemy} false, true allow_break = false trade_enable = false meet_on_talking = false Куда прописать функцию, и как, чтобы она сработала после включения голоса "jup_b217_stalker_guide_welcome" Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение
Vano_Santuri 33 Опубликовано 22 Января 2010 Ate1st, Это означает, что в этой секции [hud_sound] нет hud_step_sound_vol_k этого. Нужно добавить. Хотя по такому количеству информации , много не скажешь. Что-то кончается, что-то начинается... Поделиться этим сообщением Ссылка на сообщение