frankenshtayn он не может найти текстуру, оружия В 94. Если этот ствол тебе не столь важен, то просто возьми любую другую текстуру из сталкера, ну возьми допустим с названиме wpn_pm.dds переименуй в название v94.dds и положи по пути gamedata\textures\wpn\v94.dds и все. Это замена что бы игра не вылетела. И у тебя правда на этом стволе будет корявая текстура от ПМа, которая расплющится по всему оружию. Но зато не ывлетит. На что похоже это оружие? Может какую текстурку подберем.
frankenshtayn, а, ты вырезать ствол хочешь? Ну тогда ясно дело. Ты текстуру не вырезал. Возьми текстуру по точно такому же пути и кинь в другую свою гамедату
kingkill
В escape_dialog.script найди эту стр**5001001a66cf24ce67c0**der, actor)[/code]
Далее есть такие строки:
Код:
[code]
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in") [/code]
в кавычках пишется объект, который выдаст Волк. Т.е. заменяй "wpn_pm" на новый или копируй эту строку и заменяй в ней. Кол-во патронов не указать, одна строка отвечает за одну пачку. Т.е. делай несколько строк с патронами, и будет тебе счастье. Вопрос #6:
Возможно ли с помощью lua определить кол-во определённых объектов в заданном радиусе? Вопрос #7:
Как на использование предмета "повесить" функцию?
ЛЮДИ НЕ СУДИТЕ СТРОГО ЧАЙНИКА!! даже мудрейший церь Соломон говорил что все пройдет, ведь мы все там были. Дело в том что я в текстуры ни разу не лазил, откуда ж мне?.. Поставил мод , дошел до припяти и на переходе на тебе здрасьте. А за помощь БЛАГОДАРЮ!
kingkill
Ищешь в геймдате файл escape_dialog.script, открываешь его блокнотом и весь текст меняешь на этот:
--------------------------------------------------------------------------------------------------------
-- Dialog & InfoPortions Function
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
-- Trader
--------------------------------------------------------------------------------------------------------
function trader_alredy_give_job(trader, actor)
if (has_alife_info("agroprom_military_case") and not has_alife_info("agroprom_military_case_done")) or
(has_alife_info("escape_blockpost_case") and not has_alife_info("escape_blockpost_case_done")) or
(has_alife_info("tutorial_artefact_start") and not has_alife_info("tutorial_artefact_done")) or
(has_alife_info("tutorial_wounded_start") and not has_alife_info("esc_serious_talk"))
then
return true
end
return false
end
function trader_give_extra_job(trader, actor)
local actor = db.actor
if has_alife_info("escape_blockpost_case") and not has_alife_info("escape_blockpost_case_done")
then
return true
end
return false
end
function bandits_die(actor,npc)
local actor = db.actor
if has_alife_info("esc_kill_bandits_quest_kill") and not has_alife_info("esc_kill_bandits_noquest_kill")
then
return true
end
return false
end
function trader_need_extra_job(trader, actor)
if not has_alife_info("escape_blockpost_case") and
has_alife_info("esc_return")
then
return true
end
return false
end
function is_tutorial()
return not has_alife_info("tutorial_end")
end
function is_not_tutorial()
return has_alife_info("tutorial_end")
end
function is_not_tutorial_art(actor, trader)
local tutorial_artefact = db.actor:object("af_blood_tutorial")
if (has_alife_info("tutorial_artefact_start") and not has_alife_info("tutorial_artefact_done")
and tutorial_artefact ~= nil) or has_alife_info("tutorial_artefact_done")
then
return true
end
return false
end
function not_final_job(trader, actor)
local actor = db.actor
return not has_alife_info("escape_blockpost_case_done")
end
function trader_test(actor, npc)
printf ("!!!!!")
return true
end
function trader_dont_give_job(first_speaker, second_speaker)
return not trader_alredy_give_job(first_speaker, second_speaker)
end
function finalize_quests(first_speaker, second_speaker)
if tutorial_artefact_end(first_speaker, second_speaker) == true or
tutorial_wounded_end(first_speaker, second_speaker) == true
then
return true
end
return false
end
function not_finalize_quests(first_speaker, second_speaker)
return not this.finalize_quests(first_speaker, second_speaker)
end
function tutorial_artefact_end(first_speaker, second_speaker)
local actor = db.actor
local tutorial_artefact = first_speaker:object("af_blood_tutorial")
if has_alife_info("tutorial_artefact_start") and
not has_alife_info("tutorial_artefact_done") and
tutorial_artefact ~= nil
then
return true
end
return false
end
function tutorial_artefact_have_not(first_speaker, second_speaker)
local actor = db.actor
local tutorial_artefact = first_speaker:object("af_blood_tutorial")
if has_alife_info("tutorial_artefact_start") and
not has_alife_info("tutorial_artefact_done") and
tutorial_artefact == nil
then
return true
end
return false
end
function tutorial_wounded_end(first_speaker, second_speaker)
local actor = db.actor
-- local wounded_flash = first_speaker:object("esc_wounded_flash")
if has_alife_info("tutorial_wounded_start") and
has_alife_info("tutorial_wounded_give_info") and
not has_alife_info("esc_serious_talk")
-- and wounded_flash ~= nil
then
return true
end
return false
end
function trader_dont_has_job(first_speaker, second_speaker)
if trader_need_military_case(first_speaker, second_speaker) == false and
trader_need_blockpost_box(first_speaker, second_speaker) == false
then
return true
end
return false
end
--' Escape tutorial artefact
function have_tutorial_artefact(first_speaker, second_speaker)
return first_speaker:object("af_blood_tutorial") ~= nil
end
function give_medkit(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "medkit", "in")
end
function give_tutorial_artefact(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "af_blood_tutorial", "out")
end
--' Meet fox
function have_fox_info(first_speaker, second_speaker)
return first_speaker:object("fox_flash") ~= nil
end
--' fox help
function transfer_medikit_to_fox (player, wounded)
wounded:set_relation(game_object.friend, player)
db.actor:give_info_portion("escape_fox_heal")
end
--' Escape blockpost box
function have_blockpost_case(first_speaker, second_speaker)
return first_speaker:object("quest_case_01") ~= nil
end
function give_blockpost_case(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "quest_case_01", "out")
end
function give_blockpost_case_reward(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 2000, "in")
end
--' Agroprom military case
function trader_need_military_case(first_speaker, second_speaker)
if has_alife_info("esc_serious_talk") and
not has_alife_info("agroprom_military_case")
then
return true
end
return false
end
--' Escape trader artefact
function have_artefact_from_fleshes(first_speaker, second_speaker)
local actor = db.actor
if actor ~= nil and
(actor:object("af_vyvert") ~= nil or
actor:object("af_gravi") ~= nil or
actor:object("af_gold_fish") ~= nil)
then
return true
end
return false
end
--' Ящик с блокпоста
function trader_need_blockpost_box(first_speaker, second_speaker)
if has_alife_info("tutorial_end") and
has_alife_info("esc_trader_speak") and
not has_alife_info("escape_blockpost_case")
then
return true
end
return false
end
--' tutorial wounded in vagon
function wounded_need_help(first_speaker, second_speaker)
local actor = db.actor
return actor ~= nil and not has_alife_info( "tutorial_wounded_help" )
end
--' trader needs military documents
function trader_need_military_document(first_speaker, second_speaker)
if has_alife_info("escape_blockpost_case_done") and
not has_alife_info("agroprom_military_case")
then
return true
end
return false
end
--' trader dialog about docs from labx18
function actor_has_documents (actor, npc)
if actor:object("dar_document4") then
return true
else
return false
end
end
--' Escape dynamite for Wolf
function transfer_wolf_reward(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "af_medusa", "in")
end
function wolf_additional_reward(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "medkit", "in")
dialogs.relocate_item_section(first_speaker, "bandage", "in")
dialogs.relocate_item_section(first_speaker, "wpn_fort", "in")
dialogs.relocate_item_section(first_speaker, "grenade_f1", "in")
dialogs.relocate_item_section(first_speaker, "ammo_9x18_fmj", "in")
end
--' Escape Wounded's flash
function wounded_give_flash(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "esc_wounded_flash", "in")
end
function have_wounded_flash(first_speaker, second_speaker)
return first_speaker:object("esc_wounded_flash") ~= nil
end
function dont_have_wounded_flash(first_speaker, second_speaker)
return not have_wounded_flash(first_speaker, second_speaker)
end
function give_wounded_flash(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "esc_wounded_flash", "out")
dialogs.relocate_money(second_speaker, 1500, "in")
end
function give_knife_to_actor(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "wpn_knife", "in")
end
--' Escape bandits factory
function give_factory_reward_trader(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 500, "in")
end
--' Give X-18 documents read
function give_documents_reward (first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 1000, "in")
end
--' Kill killers raid
function give_reward_killers(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 2500, "in")
end
--' Soldiers on bridge
function has_soldiers_bribe(actor, npc)
return actor:money() >= 500
end
function give_soldiers_bribe(actor, npc)
dialogs.relocate_money(npc, 500, "out")
end
function fox_pay_money(actor, npc)
dialogs.relocate_money(npc, 1500, "in")
treasure_manager.get_treasure_manager():give_treasure("esc_secret_truck_goods")
end
function run_tutorial_pda(first_speaker, second_speaker)
printf("!-!-!")
first_speaker:stop_talk()
second_speaker:stop_talk()
game.start_tutorial("part_1_pda")
end
function wolf_precond_univ (actor, npc)
return has_alife_info("esc_kill_bandits_quest_done") or (has_alife_info("tutorial_wounded_give_info") and not has_alife_info("esc_kill_bandits_quest_have"))
end
Волк выдает лр-300, кучу патронов к нему, бинты, армейские аптечки и нож. ПМ не выдает
kingkill , не надо писать, так. Мы тебе помогаем и на этом спасибо нам. Прошу без восклицательных знаков и слов таких будто мы тупые. Просто не так форулируешь вопрос. Не понятно че хочешь че не хочешь. Тебе по нескольку раз объяснили.
отредактировал(а) АнархОПанк: 23-03-2010 21:03 GMT3 час.
Люди, здравствуйте.
1)Вот при создании нового предмета (будь то оружие или аптечка или вода) на основе старого ОБЯЗАТЕЛЬНО ЛИ копировать и переименовать текстуру(ы) старого предмета? Если я создаю новый автомат АК-101 (как в Новой Войне) можно обойтись лишь переделыванием конфига, или придется копировать текстуру АК-74 и переименовать ее в АК-101, а потом еще переписать пути к текстуре в конфиге?
2)Как написать скрипт, не только спавнящий объекты в инвентарь, но и удаляющий их оттуда при использовании предмета?
Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
vhodnoylogin Нет. Все гораздо проще. Если я тебя правильно понял, то гляди:
1) Оружие:
gamedata\config\weapons\w_ak74.ltx копируешь этот файл, переименовывая его в w_ak101. Затем в этой же папке находишь файл weapons.ltx, открываешь его, и в начале, увидишь списки оружия, в начале документа. А ты, файл оружия, можешь прописать хоть в середину документа, пишешь #include "w_ak101.ltx" все, как в принципе, оружие сделано. Осталось прописать в mp_ranks (Что бы когда выкидываешь его, игра не вылетала, и что бы можно было дать НПС без вылета). Правишь конфиги, по своему желанию. Туторов по редакции оружия куча. google рулит. Ну и все, даешь торговцам и НПС. Будет старая модель, и старая текстура, другой конфиг. Можешь пррописать другие патроны, НАТО например. Хотя такая работа с оружием - прошлый век. Сейчас уже давно новые модели, к оружию. Намного респектабельнее.
2) Предметы:
gamedata\config\misc\items.ltx открываешь, копируешь секцию, допустим аптечки, вставляешь в конец. Переименовываешь как нужно, допустим my_korobka. Меняешь конфиги под себя, опять же, что за что отвечает ищи в туторах по редакции итемсов, сохраняй. Все, раздавай торговцам, в тайники. Будет аптечка, но с другими свойствами.
З.Ы: Так же, не забудь описание к ним новое, а то у тебя ак 101 будет использовать описание АК 74, пока не изменишь. Анологичо с предметами.
добавлено спустя 1 минуту
STURMTROOPER не обязательно, и на основе старого, просто правкой конфигов делается, не тумань парню голову:st)
vhodnoylogin когда предмет используешь, он и так удаляется из инвентаря
отредактировал(а) АнархОПанк: 23-03-2010 21:47 GMT3 час.
1 если хочешь сделать копию то необзательно, а если с другой текстурой то надо нарисовать то что надо и переналожить на модель(разумеется всё скопировав)
2 перебором заспавнь, методы везде писались, удалять аналогично...либо перебором либо по секции перебирая инвентарь
АнархОПанк у ак-101 совершенно другой внешний вид, чем у ак-74. Так что если менять текстуру, то надо скопировать модель ак-74 и переименовать в ак-101, т.к. текстуры привязаны к модели, то надо их тоже переименовать. Хотя проще взять и скачать готовый мод с ак-101 и взять его оттуда
STURMTROOPER он спрашивает - можно ли создать новое оружие, одной правкой конфигов. Я ему отвечаю, что можно, но модель останется и текстуры, просто конфиг другой.
отредактировал(а) АнархОПанк: 23-03-2010 21:55 GMT3 час.
STURMTROOPER ну так, а это при чем? Он не спрашивает, разные они или нет? Он спросил, можно ли сделать новое оружие, на одной лишь правке конфига. Я отвечаю, что можно. А разные они внешне или нет, его видемо не интересует, раз он спрашиват другое.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.