Перейти к контенту

[CoP] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

Ребята, подскажите одну вещь, сделал динамически худ(не так как Бак, а как делал Серафим для ЧН) все получилось, работает как часы, ничего не пропадает и не глючит.

 

Подскажите, как написать функцию, чтобы та проверяла состояние ГГ( если он спит, или идет видео игры(типа возле вертушек)) , и если исполняются эти действия, то худ становится дефаултным, то есть никаким,

 

Кто поможет?

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

[PROTOTYPE],

И куда ты ее сувал?Вернее, что за текстура? так не скажу, не понятно?

 

Да и как там твой мод для ЧН ( где много моделей оружея)?

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

[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
Потише.

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Ну вроде, ты попрубуй, меняй цифры , которые под столбом | hit_power , а потом нам отпишешь)

!Да и еще, такую табличку меняй у кждого профиля кабана(их там 3 вроде, я не знаю какие именно профиля бегают по Затону.

Изменено пользователем Vano_Santuri

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Дам, если вы так будете делать мод, долго вы его будете делать, чтобы непись могла использовать новые стволы, нужна правка mp_ranks.

 

А с артом , найти и прописать ид арта

тут точку на экране ui_detector_artefact.xml

тут класс арта в детекторы devices.ltx

 

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Скачай из моей подписи и не парься, даже патчи распаковывает в отдельную папку

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Такой вопрос:

 

вот секция поршней Азота

 

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 . Получается если исправить эти синтаксические ошибки, то исчезнет большенство вылетов ? (оригинальная игра.) и тогда патч (кроме графики) сто лет в обед не нужен?

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

ПРОПИСАТЬ НОВЫЕ КОСТЮМЫ ДЛЯ ВЫПОЛНЕНИЯ НЕКОТОРЫХ КВЕСТОВ

Делал патчик ддля своего мода, так как у меня новые костюмчики , решил добавить их для квестов, чтоб можно было в них их проходить.

 

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

 

или то или то равно нил, то в припять не идете, т.е если этих предметов нет в инвентаре , то диалог не идет..

 

Вобщем понятно как делать? прописываете свои костюмы и шагаете...

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Если хочешь ковырять движок(библиотеки) то пожалуйста, даже если у тебя это получится, то этот факт будет незаконным...

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

[ЯР], Для начала уточни, где лежит предмет(инвентарь, вне инвентаря), есть ли возможность его подбирать, или он как магнитовофн стоит? Так же откуда играет музыка? от предмета, или чисто у актора?

 

Класную идею подкинул, можно сделать так, чтоб при юзании радио и ли телека играла музыка.показывалось кино)))

 

Как уточнишь, я попытаюсь рассказать...

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Можно на апдейт в бинд_сталкерс.скрипт..

ищешь функцию апдейта

 

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

Изменено пользователем Vano_Santuri

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Так а может попробовать так

 

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") а это верный метод? может использовать он_итем тейк?

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

крово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(тут написаны методы) , то и в вызове они тоже должны быть....

 

Изменено пользователем Vano_Santuri

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение
psevdoгринго да , именно так, единственно , что еще на уме, ты этот поршень в текстовике прописывал? ну там где остальные поршни?

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Так вот последний вариант, обрати внимание на вызов....

 

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 энда осталось).

Изменено пользователем Vano_Santuri

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Эээ, это надо в диалоги прописывать.... а не в апдейт, это ваще извращение какое-то...

 

А так можно хитануть нпс, но функция сложновато и не всегда работает....

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение
slayer_kch, сам создал? или тупо передрал? и назвал своим?

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Товарищи, подскажите одну вещь.

Можно ли из логики запустить функцию? ВОт вам пример конткретной логики сцены, куда и как прописать свою функцию?

 

Вот логика сцены по прибытию на янов

[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"

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение

Ate1st, Это означает, что в этой секции [hud_sound] нет hud_step_sound_vol_k этого. Нужно добавить.

 

Хотя по такому количеству информации , много не скажешь.

Что-то кончается, что-то начинается...

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...