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

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


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

Как выставить зависимость ассортимента торговца в зависимости от каких-либо условий? Какой файл править для создания таких условий? Обычные инфопоршны или как?

Ссылка на комментарий

Как сделать, чтобы радиация не выходила совсем? Ну, кроме как с мочой и перегаром? =)

Регенерацию здоровья я убрал через actor.ltx Как отключить выведение радиации? radiation_v = 0 не помогло.

 

А еще меня ренегаты палят в камышах :( Подскажите, где править дальность видимости через камыши, чтобы можно было подкрадываться ближе

в m_stalker.ltx или в actor.ltx ?

 

ThreeDAL

Здесь вроде бы так: файл торговца trader_trader_esc.ltx

[trader]
buy_condition = {+esc_bring_habar_complete} trade_good_price_buy, trade_generic_buy
sell_condition = {+esc_bring_habar_complete} trade_good_price_sell, trade_generic_sell
buy_supplies = {+gar_story_got_info_from_digger} trade_new_supplies, {+esc_bring_habar_complete} supplies_good_price, supplies_start
..........

А разве не так сделано в оригинале CS? Правишь непосредственно файл торговца. Или ты не про то спрашиваешь?

Если ты про Петренко, то добавь условие-инфопоушн смерти Петренко. Если инфопоушена нет, надо будет его создать. Функцию проверки смерти уникального НПС сделать в скрипте. При смерти НПС - выдается инфопоушн. Вызов функции - из диалога торговца.

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

Athlon II 240/2048MB DDRII/Radeon 3850/500GB WinXP:ST-CoP|Ubuntu Linux 10.04:lots of stuff

Ссылка на комментарий

Заспавнил я труп НПС со story id'ом... Как сделать, чтобы при начале квеста у него появились предметы?

Ссылка на комментарий
Pihan13, Вместе с выдачей квеста спаунь ему в инвентарь предметы,
alife():create("предмет", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id)

Возможно всё, ну или почти всё.
Ссылка на комментарий

8push5, разъясни это:

"предмет" - понятно, тот предмет который я хочу емту втюхать

obj.position - это позиция, где он заспаунен? XYZ

obj.m_level_vertex_id - вертекс уровня

obj.m_game_vertex_id - вертекс игры

obj.id - а это id самого трупа НПС? название профиля если не ошибаюсь

 

приведи пример

Ссылка на комментарий

В общем, пишешь так:

local obj = alife():object(123) –вместо 123 ставишь id своего непися или его name в кавычках
alife():create("предмет", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) – здесь меняешь только "предмет"

 

а так ты все правильно понял

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий
8push5, вот уточню: это заспавнит в уже существующий труп предмет или ещё раз создаст его?
Ссылка на комментарий
В общем, пишешь так:
local obj = alife():object(123) –вместо 123 ставишь id своего непися или его name в кавычках
alife():create("предмет", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id) – здесь меняешь только "предмет"

 

а так ты все правильно понял

дайте пожалуйста пример самой функции

например в НПС с id 315 надо запихнуть водку

Ссылка на комментарий

Pihan13, извиняй, запарился, значит так, вот спаунит ему водку, свд и пм:

local obj = alife():object(315)
alife():create("vodka", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id)
alife():create("wpn_svd", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id)
alife():create("wpn_pm", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id)

В общем вот, но я советую, вместо id, писать значение name из all.spawn, например

local obj = alife():object("mar_csky_trader")

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

ну тогда так:

function сюды_название_функции(obj)
    local obj = alife():object(315)
    alife():create("vodka", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id)
    alife():create("wpn_svd", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id)
    alife():create("wpn_pm", obj.position, obj.m_level_vertex_id, obj.m_game_vertex_id, obj.id)
end

суешь в какой-нибудь файл, в <action>имя_файла.имя_функции</action>

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

8push5, именно так я всё и представлял :)

а что значит for i = 1, #bd_trader do ?

 

и ещё: как сделать прекондишн на (скажем) на 5 предметов:

function have_exist_items(first_speaker, second_speaker)
    return first_speaker:object("vodka") ~= nil  ------- это значит проверить что предмета "vodka" больше или равно нулю. А как сделать больше или равно пяти?
end

так?

function have_exist_items(first_speaker, second_speaker)
    return first_speaker:object("vodka") ~= 5  ------- это значит проверить что предмета "vodka" больше или равно нулю. А как сделать больше или равно пяти?
end

Ссылка на комментарий

Pihan13,

а что значит for i = 1, #bd_trader do ?

это лишнее попало, удали.

и ещё: как сделать прекондишн на (скажем) на 5 предметов:

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

 

воть:

function have_exist_items(first_speaker, second_speaker)
    local actor=db.actor
    items_count=0
    itemin="vodka"
    actor:iterate_inventory(cheking_item,actor)
    if items_count>=5 then
        return true
    else
        return false
    end
end
function cheking_item(actor,item)
    local items=item:section()
    if items==itemin then
        items_count=items_count+1
    end
end

 

это значит проверить что предмета "vodka" больше или равно нулю

неа, это значит, что предмет "vodka" вообще есть или нет в инвентаре у first_speaker

 

==============================================================

Добавлено: а сам то как думаешь?

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий
function have_exist_items(first_speaker, second_speaker)
    local actor=db.actor
    items_count=0
    itemin="vodka"
    actor:iterate_inventory(cheking_item,actor)
    if items_count>=5 then
        return true
    else
        return false
    end
end
function cheking_item(actor,item)
    local items=item:section()
    if items==itemin then
        items_count=items_count+1
    end
end

дак это же 2 функции? какую из них заключать в <precondition></precondition>???

Ссылка на комментарий

Можно ли это реализовать? Вобщем, очень хочется сделать торговцам проверку состояния оружия. Чтобы они не брали поломанное, например, при кондишне 80% просто не брали. Это сразу бы выправило экономику игры.

Скорее всего это зашито в движок. Но может как-то можно обнулить стоимость ствола, если итемкондишн ниже какого-то предела?

 

8push5

Может можно обмануть движок? Какой-нибудь костыль, пусть самый уродливый? Я НЕ предлагаю отлавливать исчезание оружия из инвентаря и выдавать ГГ вместо денег фигу с маслом, ибо банальное жульничество. В ТЧ можо было, кажется. Там в инвентаре клик на оружии показывал стоимость, пересчитанную на итемкондишн. Можно было бы подменить число стоимости (чтобы не было соблазна поднимать поломанный ствол). Такой споб тоже подойдет.

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

Athlon II 240/2048MB DDRII/Radeon 3850/500GB WinXP:ST-CoP|Ubuntu Linux 10.04:lots of stuff

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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