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

Advanced Cheat Spawner v.1.2

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

ADVANCED CHEAT SPAWNER 1.2


Автор мода: Phobos_2077.
Автор адаптации: BoOoZ.
Респект Sniper-у за первую адаптацию для Wawka 2.1.

Создаём что хотим:)
Шапка от BoOoZ, => все вопросы к нему и все "Я" в ней написаны от него.
Вы не подумайте, я не жадный, просто SNIPER уже на форуме пол года не появлялся, а phobos-a я всего один раз видел, и то мельком. Основаная работа конечно phobos-a.
p.s от Снайпера: Phobos забросил это (спрашивал у него давненько)
Вылечил Spawner от его детской болезни - теперь он дружит с GPS-метками.

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

Использование:
Ставим игру на паузу(Esc по умолчанию), затем жмём:
F1 - показ ваших текущих координат.
F2 - поиск предмета(по секции).
F3 - добавляем информацию(напр. рецепт трансмутации) - неправильный ввод секции вызовет вылет.
F4 - спавним(добавляем) объект в 3-х метрах к северу от себя. Можно спаунить сразу несколько предметов, тогда вводим секцию в виде секция, число(напр. wpn_gauss, 20) - 20 гауссов.
F5 - по названию секции удаляем все предметы по локе/игре.

Т.Е., нажмём F2 и введём wpn_pm - получим координаты ближайшего к нам ПМ-а, введём в F4 - появится ПМ рядом, F5 - ПМ-ов не останется.

Небольшой FAQ:
У кого проблемы с проваливанием вещей/NPC под пол - смотрим решение от frags во втором сообщении.
Старый список предметов от меченого(стрелка) находится в посте №3
SNIPER в посте №4 приводит пример расширения спавна людей и даёт ссылку на уже готовые файлы для wawka 2.1.
DOLG в посте №5 перезалил адаптацию для 1.4.1(у меня нет оригинала меню 1.4.1), но из-за неё вроде перестают работать АМК функции, если кому надо.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
By SNIPER [Перезалито на 2 моих сайта, прямая ссылка]

Полное ReadMe от Sniper в моей редакции
[ЗЕРКАЛО] By SNIPER прямая ссылка с моего сайта

BoOoZ переделал концепцию мода: теперь будет два файла - основа, общая для абсолютно всех модов и всего 1 файлик который нужно совместить нужно скачать отдельно. Будет так же дополнение, включающее в себя расширение спавна NPC(добавлю секции нормальных сталкеров, свободовцев, долговцев, экологов, т.к. сейчас спавнится только опытный долговец с секцией dolg_regular).

Установка: качаем основу, распаковываем, кидаем в папку с игрой, соглашаемся на замену файлов и проделываем то же самое с адаптациями.

ССЫЛКИ############################################

ОСНОВА!
By Sniper [перезалито на мой сайт, прямая ссылка 14.06.2010]
[ЗЕРКАЛО] Прямая ссылка [ссылка с моего второго сайта который я забросил]




АДАПТАЦИИ:

Для Народной Солянки от 04.03 с меню Serafim-а от 23
[ЗЕРКАЛО] прямая ссылка
[ЗЕРКАЛО] прямая ссылка [с другово сайта]
-------------------------------------------------------------------------------------------------
Solyanka by Wawka 2.2.1
[ЗЕРКАЛО] прямая ссылка
[ЗЕРКАЛО] прямая ссылка [с другово сайта]
##################################################

Если заглянет кто из скриптеров - просьба посмотреть ui_cheat_spawner на предмет избавления от вылета из-за неправильных наименований инфы.

Ищем добровольцев с разными модами - составлять списки секций для новичков, которые пока сами нужную секцию найти не смогут.

Хотим адаптацию для своего мода - шлём куратору в ЛС файл ui_main_menu из папки gamedata/scripts/.

14.06.2010
перезалил на несколько своих сайтов
p.s не пишите мне (SNIPER'у) в личку по поводу адаптации, возможно в скором времени продолжу адаптацию, но это еще неизвестно Изменено пользователем SNIPER
Ссылка на комментарий

Спавн выполнен не совсем корректно.

Просто так нельзя спавнить на вертекс уровня ГГ - будут глюки с проваливанием сквозь пол например.

Надо делать так (спавнит бандита прзади ГГ в 3х метрах):

local radius = 3

local dir = vector_rotate_y(db.actor:direction(), 180)

local lv = level.vertex_in_direction(db.actor:level_vertex_id(), dir, radius)

 

local pos

if not lv or lv == 65535 then

lv = db.actor:level_vertex_id()

pos = db.actor:position():add(vector():set(dir.x * radius, 0, dir.z * radius))

else

pos = level.vertex_position(lv)

end

alife():create("esc_bandit_respawn_1", pos, lv, db.actor:game_vertex_id())

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

На досуге лазил по читерным модам и прочитал , " выложи список че заспавнить можно" , делать было нечего ,дело было поздно ночь и поэтому только необходимые предметы ,

здесь броня , оружие , арты,вещи и чето ещё.

Короче для солянки Шашки 2.1.1 http://ifolder.ru/7587737

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

Для того, чтобы заспаунить других людей, кроме dolg_regular, нужно прописывать их в gamedata/config/creatures/spawn_sections.ltx

Например, я прописал:

 

[dolg_regular]:stalker

$spawn = "respawn\dolg_regular"

character_profile = bar_dolg_regular

 

[dolg_master]:stalker

$spawn = "respawn\dolg_master"

character_profile = sim_dolg_master

 

dolg_master - теперь спаунится мастер-долговец. Прописывать нужно в самом начале, до секции agroprom.

 

Сделал расширение спауна людей для Wawka v 2.1. Инструкция по адаптации внутри. Внимание, опечатка, чтобы заспаунить сталкера-мастера нужно написать не stalker_master, а stelker_master. Остальное в readme.

ссылки нету, архив утерян

Изменено пользователем SNIPER
Ссылка на комментарий

Встречаем новую шапку:)

Когда опять попаду за комп - оформлю спойлеры.

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

Ушёл за периметр....

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

Для НС от 26.04

Если кому интересно, доработал функцию спавна объектов на предмет:

1. спавна прямо в инвентарь

2. спавна ремкомплектов в ремящик

Посадил это на отдельную кнопку, т.к. иначе нельзя будет спавнить всякую живность и неписей.

Скачать

 

Персонажи, которых можно заспавнить:

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

acs_krot - Крот

acs_dezertir - Дезертир

acs_borov - Боров

acs_garik - Гарик

acs_vitek_voron - Витек Ворон

acs_kulinar - Артем кулинар

acs_osvedomitel - Осведомитель в Баре

acs_hunter - Охотник в Баре

acs_drunk - Пьяный долговец

acs_lisiy - Лысый

acs_voronin - Воронин

acs_petrenko - Петренко

acs_ivancov - Иванцов

acs_plichko - Пличко

acs_kruglov - Круглов

acs_band_trader - Жила (торговец у бандитов)

acs_freeman - Гордон Фримен

acs_prisoner - Пленный долговец в ТД

acs_pulia - Пуля

acs_max_luber - Макс Любер (его вместе с Пулей отбиваем)

acs_sak - Сяк

acs_doktor - Доктор

acs_krisyk - Крысюк

acs_wolf - Волк

acs_fanat - Фанат

acs_fox - Лис

acs_tolik - Толик

acs_shustriy - Шустрый

acs_petruha - Петруха

acs_dan - Дэн

acs_kuznecov - Кузнецов

acs_provodnik - Проводник

acs_kostya - Костя

acs_seriy - Серый

acs_yurik - Юрик

acs_bes - Бес

acs_prapor - Прапор

acs_tambovskiy - Лёха Тамбовский (квест с огнеметом)

acs_akim - Аким

acs_crest - Крест

acs_adren - Адреналин

acs_shurup - Шуруп

acs_lukash - Лукаш

acs_sraga - Скряга

acs_max - Макс

acs_povar - Повар

acs_cap - Кеп

acs_cherep - Череп

acs_gavr - Гавр

acs_arhara - Архара

acs_yakut - Якут

acs_prizrak - Призрак

acs_sysh - Сыч

acs_tirex - Тирекс

acs_zahar - Захар

acs_semenov - Семёнов

 

By Menoc

 

И от меня - acs_fraer - Фраер :)

(флеху добавить в конфиг придется - чего-то сама по себе не спавнится)

 

 

 

3. Добавлена возможность оживления квестовиков (как в скрипте Сяка), расширен немного их список (на F10 повесил).

4. Изменение репы у конкретного непися (F11). Пока мало тестировал, на квестовиков может не сработать.

 

"Оживление" квестовиков работает по тому же принципу, что и Живое сердце - квестовик спавнится, но квесты, взятые у него - тут же проваливаются при взятии... Может, иначе и нельзя - не разобрался до конца. Возможно, нужно перезайти на локацию - не проверял, но очень похоже, что так.

Присвоил версии номер 1.31 :). Внимательно читаем ридми.

 

Небольшой апдейт склепал: апдейт ACS до 1.32

Инфопоршни от НС версии 26.04 загнал в локальную таблицу (порядка 1700 шт. получилось) и сделал проверку правильности набора. Инфопоршни пока не все: очень уж их много (если вдруг окажется, что там нет именно того, который вам нужен - допишите в таблицу в начале файла ui_cheat_spawner.script, там все понятно, даже комменты кое-какие есть). У кого есть желание добавить все имеющиеся (а я не добавлял инфу типа энциклопедии и проч.) - милости просим!

Теперь при неправильном варианте набора текста по Ф3 вылетать не будет. Если будет вдохновение - добавлю в раздел Ф3 возможность просто выбрать инфо из списка, раз произвольный ввод все равно нельзя сделать.

 

Адаптировать под другие моды, конечно, надо будет с умом (в смысле, возни больше :) ). Ну а можно убрать просто проверку (проще тогда это обновление не использовать, для других модов оно бесполезно, если неохота с ковырянием в xml возиться и вылавливать специфику конкретного мода). А методика "вылавливания" инфопоршней из конфигов проста: ищем все файлы, в которых есть строки, начинающиеся с " <info_portion id=" " и заканчивающиеся на "</info_portion>" - это и есть инфа, вводимая по Ф3. А дальше я автозаменой с использованием регулярных выражений преобразовываю все это дело в таблицу для скрипта.

 

Я все это стал дорабатывать, когда появилась конкретная необходимость помочь кому-то с вылетом, затыком в игре или оттестировать что-либо. Чисто для себя. Вроде получилось - решил поделиться. Ну и вы поделитесь, кто скачал. Подайте идею, подскажите чего-нибудь...

 

Из-за тупого сисадмина

:D я тоже сисадмин. Модем запаролен?

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

Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64


Подарки

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

    Я немного вернулся:) Из-за тупого сисадмина не могу настроить модем в роутер => не могу сделать инет на свой комп(с рабочего). Разберусь с инетом - буду появляться регулярно.

    Ушёл за периметр....

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

    igor822605, Сендспейс работает нормально вроде - проверил только что. :unsure:

     

    а нельзя ли подробней описать функцию Ф3? И список

    Ф3 - выдача инопоршня (infoportion) ГГ.

    Самое разное назначение и смысл у самих инфо: взятие/выполнение/награда за квест; выдача рецепта/артмода; выдача пути перехода между локациями и т.п.

    Список инфопоршней, как я уже писал в своем посте со ссылкой, раскидан по 2-3 десяткам файлов.

    Так что, к сожалению, пока самостоятельно. Да и зачем вам весь список? Обычно это бывает нужно по какому-то поводу: не сработал квест, не сработала выдача пути, и т.п. вот тогда находите и вставляете. У меня пока не дошли руки этим заняться. Да и толку - ну будет список этих поршней. К ним же еще описания надо, а их в игре - многие сотни. Не уверен, что у кого-то хватит терпения на это. Лично я начал ковыряться, а потом понял, что мартышкин труд.

    Моды растут, актуальность - только для конкретного мода, причем определенной версии.

     

    Я начал над этим работать - а потом понял, что овчинка не стоит выделки. Описания нужно искать по каждому элементу отдельно в скриптах. К тому же, нет "обратной связи" - при каком-то событии в игре выдается инфа, но нельзя получить по ИД инфы, к чему она относится. А если можно-то я не знаю, как (в смысле, программно; вручную-то понятно, что можно).

    Лучше я поработаю над чем-то более интересным и актуальным. К тому же, для данной работы не нужны знания программиста, так что, если один какой-то человек (или не один) возьмутся и доделают описания - я лично возражать не буду ;) . А все что мог, я и так уже сделал по этому вопросу.

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

    Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64


    Подарки

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

    Shadowman,

    acs_band_trader - Торговец у бандитов (забыл имя)

    Жила его зовут

    Болт (которого мы должны убить по заданию Гавра)

    наверное так и будет

    acs_bolt ?

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

    ASUS P8Z77 \ Intel Core i5-3570 3400MHz \ RAM 16GB 1600MHz \ ASUS PH-GTX1060-3 ГБ 192 бит\\ ОС Windows 10 Pro x64 на SSD


    Подарки

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

    SergeT, Болт там и так есть - mil_bolt (в spawn_sections в acs добавляли только тех, кого там нет), так что средствами ACS его просто можно "родить" - и все.

     

    чудом сделал

    vbkzk, Классный инструмент :D

    ui_dots_wnd.xml - забыл? Без него любая попытка нажать Ф1-Ф5 в меню приведет к вылету. И все-таки, без учета путей - нехорошо это.

    А так - молодец!

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

    Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64


    Подарки

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

    http://ifolder.ru/12449619 тут для NLC 5.08 рабочая (но урезанная по количеству объектов для спавна) версия ACS, без учета путей, сами в геймдата\скрипт кладите. ui_cheat_spawner взято со старого ACS, новый, который 31 кб, не пошел. ui_main_menu сделал сам из оригинального и адаптации от Wawka. Единственно, как удалось приручить все это - установка АМК с меню "С каждым днем все радостнее жить", при других вариантах установки АМК вылетало при нажатии Ф4.

     

    В общем, вот это пока работает, вылетая, не чаще чем ранее. Спавнит пушки и т.п., людей не пробовал :rolleyes:

    Сталкер 1.0004 - АМК 1.4.1 (меню не забыть!)+1+2 патчи - НЛЧ 5.03 + НЛЧ кум.патч 5.08 (не ставить 2 ненужных файла, про них где-то у Сяка написано).

     

    мож кто поопытнее и проадаптирует получше, а я не умею, эту-то чудом сделал

    Изменено пользователем vbkzk
    Ссылка на комментарий

    на ui_dots_wnd.xml не заметил, где ссылки по текстам в файлах идут. это ж обезьяньим методом делано было. мож, поковыряюсь еще у ей внутре. просто нравилось играть на чистом NLC без прибамбасов, а на него никто что-то спавнер не прикручивал, стало обидно, что ли :D

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

    vbkzk,

    Путь к хмл такой:

    \gamedata\config\ui\ui_dots_wnd.xml

    (ссылка на него в строке чит_спавнера xml:ParseFile("ui_dots_wnd.xml"), без него будет вылет с ругательством в логе на эту строку)

    остальное:

    \gamedata\scripts\ui_cheat_spawner.script

    \gamedata\scripts\ui_main_menu.script

    у меня еще добавлен

    \gamedata\config\creatures\spawn_sections.ltx

    (для респавна квестовиков)

     

    SergeT, только сейчас до меня дошло, что ты имел в виду под этим:

    acs_band_trader - Торговец у бандитов (забыл имя)

    Жила его зовут

    :)

    Я просто процитировал описание, которое давал Menoc - не вычитывал и ничего не исправлял. Теперь поправил. Спасибо!

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

    Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64


    Подарки

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

    Выкладываю текст скрипта ui_main_menu.script в котором полноценная адаптация спавнера и амк опций (1.4.1) - теперь всё работает вместе. (Практически вся адаптация была сделана под руководством камрада monk (а он в свою очередь опирался на адаптацию от SNIPER и Shadowman - за что и им респект и уважуха) я всего-лишь "писал под его диктовку", выслушивал его наставления, комментарии, подсказки и проверял работоспособность) :lol:

     

    --/amk_rel_1/
    -- File: UI_MAIN_MENU.SCRIPT
    -- Description: Load Dialog for STALKER
    -- Created: 28.10.2004
    -- Lasd edit: 18.01.2006
    -- Copyright: 2004 GSC Game World
    -- Author: Serhiy Vynnychenko (narrator@gsc-game.kiev.ua)
    -- Version: 0.9
    
    class "main_menu" (CUIScriptWnd)
    
    function main_menu:__init() super()
    self.mbox_mode = 0
    self:InitControls()
    self:InitCallBacks()
    end
    
    function main_menu:__finalize()
    
    end
    
    function main_menu:InitControls()
    self:Init(0,0,1024,768) 
    local xml = CScriptXmlInit()
    xml:ParseFile("ui_mm_main.xml")
    
    xml:InitStatic("back_movie", self)
    xml:InitStatic("background", self)
    //xml:InitStatic("fire_movie", self)
    self.shniaga = xml:InitMMShniaga("shniaga_wnd",self);
    
    self.message_box = CUIMessageBoxEx()
    self:Register(self.message_box, "msg_box") 
    
    //local _ver = xml:InitStatic ("static_version",self)
    //local mm = _G.main_menu.get_main_menu()
    //--_ver:SetText ("ver. " .. mm:GetGSVer())
    //local amk_title = amk_ver.amk_title
    //local amk_version = amk_ver.amk_version
    //local amk_revision = amk_ver.amk_revision
    //local debug_mode = ""
    //_ver:SetText("Версия игры - " .. mm:GetGSVer() .. " " .. amk_title .. " " .. amk_version .. " " .. amk_revision)
    end
    
    function main_menu:Show(f)
    self.shniaga:SetVisibleMagnifier(f)
    end
    
    
    function main_menu:InitCallBacks()
    -- new game
    self:AddCallback("btn_novice", ui_events.BUTTON_CLICKED, self.OnButton_new_novice_game, self)
    self:AddCallback("btn_stalker", ui_events.BUTTON_CLICKED, self.OnButton_new_stalker_game, self)
    self:AddCallback("btn_veteran", ui_events.BUTTON_CLICKED, self.OnButton_new_veteran_game, self)
    self:AddCallback("btn_master", ui_events.BUTTON_CLICKED, self.OnButton_new_master_game, self)
    self:AddCallback("btn_spawn", ui_events.BUTTON_CLICKED, self.OnButton_load_spawn, self)
    -- options 
    self:AddCallback("btn_options", ui_events.BUTTON_CLICKED, self.OnButton_options_clicked, self)
    -- load 
    self:AddCallback("btn_load", ui_events.BUTTON_CLICKED, self.OnButton_load_clicked, self)
    -- save 
    self:AddCallback("btn_save", ui_events.BUTTON_CLICKED, self.OnButton_save_clicked, self)
    -- multiplayer 
    self:AddCallback("btn_multiplayer", ui_events.BUTTON_CLICKED, self.OnButton_multiplayer_clicked, self)
    -- quit 
    self:AddCallback("btn_quit", ui_events.BUTTON_CLICKED, self.OnButton_quit_clicked, self)
    self:AddCallback("btn_quit_to_mm", ui_events.BUTTON_CLICKED, self.OnButton_disconnect_clicked, self)
    self:AddCallback("btn_ret", ui_events.BUTTON_CLICKED, self.OnButton_return_game, self)
    self:AddCallback("btn_lastsave", ui_events.BUTTON_CLICKED, self.OnButton_last_save, self)
    self:AddCallback("btn_credits", ui_events.BUTTON_CLICKED, self.OnButton_credits_clicked, self)
    -- message box 
    self:AddCallback("msg_box", ui_events.MESSAGE_BOX_OK_CLICKED, self.OnMsgOk, self)
    self:AddCallback("msg_box", ui_events.MESSAGE_BOX_CANCEL_CLICKED, self.OnMsgCancel, self)
    self:AddCallback("msg_box", ui_events.MESSAGE_BOX_YES_CLICKED, self.OnMsgYes, self)
    self:AddCallback("msg_box", ui_events.MESSAGE_BOX_NO_CLICKED, self.OnMsgNo, self)
    self:AddCallback("msg_box", ui_events.MESSAGE_BOX_QUIT_GAME_CLICKED,self.OnMessageQuitGame, self)
    self:AddCallback("msg_box", ui_events.MESSAGE_BOX_QUIT_WIN_CLICKED, self.OnMessageQuitWin, self)
    --amk
    self:AddCallback("btn_amk", ui_events.BUTTON_CLICKED, self.amk_options, self)
    
    end
    function main_menu:OnMsgOk()
    self.mbox_mode = 0
    end
    
    function main_menu:OnMsgCancel()
    self.mbox_mode = 0
    end
    
    function main_menu:OnMsgYes()
    
    if self.mbox_mode == 1 then
    self:LoadLastSave() 
    end
    
    self.mbox_mode = 0
    end
    
    function main_menu:OnMsgNo()
    self.mbox_mode = 0
    end
    
    function main_menu:LoadLastSave()
    local console = get_console()
    console:execute ("main_menu off")
    console:execute ("load_last_save")
    end
    
    function main_menu:OnButton_last_save()
    if (alife() == nil) then
    self:LoadLastSave ();
    return
    end
    
    self.mbox_mode = 1
    self.message_box:Init ("message_box_confirm_load_save")
    self:GetHolder():start_stop_menu(self.message_box, true)
    end
    
    function main_menu:OnButton_credits_clicked()
    -- local console = get_console()
    -- console:execute("main_menu off")
    game.start_tutorial("credits_seq")
    end
    
    function main_menu:OnButton_quit_clicked()
    self.message_box:Init("message_box_quit_windows")
    self:GetHolder():start_stop_menu(self.message_box, true)
    end
    
    
    function main_menu:OnButton_disconnect_clicked()
    self.message_box:Init("message_box_quit_game")
    
    if (level.game_id() ~= 1) then 
    self.message_box:SetText("ui_mm_disconnect_message") -- MultiPlayer
    else
    self.message_box:SetText("ui_mm_quit_game_message") -- SinglePlayer
    end
    self:GetHolder():start_stop_menu(self.message_box, true)
    end
    
    function main_menu:OnMessageQuitGame()
    local console = get_console()
    console:execute("disconnect")
    end
    
    function main_menu:OnMessageQuitWin()
    local console = get_console()
    console:execute("quit")
    end
    
    function main_menu:OnButton_return_game()
    local console = get_console()
    console:execute("main_menu off")
    end
    
    function main_menu:OnButton_new_novice_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_novice")
    self:StartGame() 
    end
    
    function main_menu:OnButton_new_stalker_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_stalker")
    self:StartGame()
    end
    
    function main_menu:OnButton_new_veteran_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_veteran")
    self:StartGame()
    end
    
    function main_menu:OnButton_new_master_game()
    local console = get_console()
    console:execute("g_game_difficulty gd_master")
    self:StartGame()
    end
    
    function main_menu:StartGame()
    local console = get_console()
    
    if (alife() ~= nil) then
    console:execute ("disconnect") 
    end
    
    console:execute("start server(all/single/alife/new) client(localhost)")
    console:execute("main_menu off")
    end
    
    function main_menu:OnButton_load_spawn()
    if self.spawn_dlg == nil then
    self.spawn_dlg = ui_spawn_dialog.spawn_dialog()
    self.spawn_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.spawn_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
    end
    
    function main_menu:OnButton_save_clicked()
    if self.save_dlg == nil then
    self.save_dlg = ui_save_dialog.save_dialog()
    self.save_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.save_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
    end
    
    function main_menu:OnButton_options_clicked()
    if self.opt_dlg == nil then
    self.opt_dlg = ui_mm_opt_main.options_dialog()
    self.opt_dlg.owner = self
    end
    
    self.opt_dlg:UpdateControls()
    self:GetHolder():start_stop_menu(self.opt_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
    amk_mod.hud_update=true
    end
    
    function main_menu:OnButton_load_clicked()
    if self.load_dlg ==nil then
    self.load_dlg = ui_load_dialog.load_dialog()
    self.load_dlg.owner = self
    end
    
    self:GetHolder():start_stop_menu(self.load_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
    end
    
    function main_menu:OnButton_multiplayer_clicked()
    if self.mp_dlg ==nil then
    self.mp_dlg = ui_mp_main.mp_main()
    self.mp_dlg.owner = self
    end
    self.mp_dlg:UpdateControls()
    self:GetHolder():start_stop_menu(self.mp_dlg, true)
    self:GetHolder():start_stop_menu(self, true) --new
    self:Show(false)
    
    -- self.mp_dlg:OnBtn_Refresh()
    
    local console = get_console()
    console:execute ("check_for_updates 0")
    
    self.mp_dlg:OnRadio_NetChanged()
    end
    
    function main_menu:Dispatch(cmd, param) --virtual function
    if cmd == 2 then
    self:OnButton_multiplayer_clicked()
    end
    return true
    end
    
    function main_menu:cheat_spawner(action)
    if level.present() and (db.actor ~= nil) and db.actor:alive() then
    get_console():execute("main_menu off")
    local spwn = ui_cheat_spawner.spawner(get_hud(),action)
    level.start_stop_menu(spwn,true)
    end
    end
    
    function main_menu:OnKeyboard(dik, keyboard_action) --virtual function
    CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
    local bind = dik_to_bind(dik)
    local console = get_console()
    
    if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
    if dik == DIK_keys.DIK_ESCAPE then
    if level.present() and (db.actor ~= nil) and db.actor:alive() then
    console:execute("main_menu off")
    end
    end
    
    -- раскоментируем и заоодно включим убранное спавн меню 
    if dik == DIK_keys.DIK_S then
    -- self:OnButton_load_spawn()
    
    elseif dik == DIK_keys.DIK_Q then
    self:OnMessageQuitWin()
    --elseif dik == DIK_keys.DIK_M then self:matants() 
    --elseif dik == DIK_keys.DIK_Z then self:to_community() 
    elseif dik == DIK_keys.DIK_A then
    if amk.check_game() then 
    self:amk_options()
    end 
    
    elseif dik == DIK_keys.DIK_F1 then
    ui_cheat_spawner.show_actor_position()
    
    elseif dik == DIK_keys.DIK_F2 then
    -- i_cheat_spawner.deadman_to_life()
    self:cheat_spawner("find")
    
    elseif dik == DIK_keys.DIK_F3 then
    self:cheat_spawner("info")
    
    elseif dik == DIK_keys.DIK_F4 then
    self:cheat_spawner("spawn")
    
    elseif dik == DIK_keys.DIK_F5 then
    self:cheat_spawner("remove")
    
    elseif dik == DIK_keys.DIK_F9 then
    self:cheat_spawner("spawn2inv")
    
    elseif dik == DIK_keys.DIK_F10 then
    ui_cheat_spawner.deadman_to_life()
    
    elseif dik == DIK_keys.DIK_F11 then
    self:cheat_spawner("set_npc_goodwill")
    end
    
    end
    
    return true
    end
    
    function main_menu:amk_options()
    -- если еще ни разу не вызывали, то обозначим наш новый скрипт
    if self.amk_options_dlg == nil then
    self.amk_options_dlg = ui_amk_options.amk_options()
    self.amk_options_dlg.owner = self
    end
    -- останавливаем родительский элемент, запускаем свой, но родителя показываем.
    self:GetHolder():start_stop_menu(self.amk_options_dlg, true)
    self:GetHolder():start_stop_menu(self, true)
    self:Show(false)
    
    end
    
    function main_menu:matants()
    mutant_manager.effector_spa()
    end
    function main_menu:to_community()
    db.actor:give_info_portion("val_bandit_talk") 
    db.actor:set_character_community("stranger", 0, 0)
    end

     

     

    Также - если кому будет лень прописывать и т.п. - можно скачать этот скрипт - http://file.qip.ru/file/91205748/4e6ece01/ui_main_menu.html

     

    ДА, кстати! Делалось это всё под АМК меню (не Дефолт и не с фразой "С каждым днём...", а именно под АМК (там где знак радиации мигает)!)

    Изменено пользователем Odessit_ASF
    Ссылка на комментарий

    Пришел на радар. Сяк лежит, в потолок смотрит, но явно его не видит, полено бесчувственное (Мастер, это про непися :rolleyes: ). Кто уж его грохнул - не знаю. В общем я полез опять по файлам спаунера шурудить из всего, чего есть. В общем, через полчасика на радаре случилось побоище 20 Петренков на 20 свободовцев-ветеранов, потом еще туда же 20 Волков отправил солдат с монолитовцами гонять, потом еще кого-то... То есть работает, причем в такой версии, которая по Ф9 спаунит в инвентарь (см.ридмишки по предыдущим наработкам). Только вот Сяка не спаунит, мож, потому, что труп его еще лежит на локации, вместо Сяка вылет вот такой

     

    [error]Expression : no_assert

    [error]Function : CXML_IdToIndex<class CCharacterInfo>::GetById

    [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h

    [error]Line : 112

    [error]Description : item not found, id

    [error]Arguments : sak

     

    И живое сердце не спаунится (лог ниже), хотел Сяка поднять. А мож я ЖС спаунить не умею.

     

    [error]Expression : fatal error

    [error]Function : CInifile::r_string

    [error]File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp

    [error]Line : 352

    [error]Description : <no expression>

    [error]Arguments : Can't find variable class in [af_life_heart_absorbation]

     

    http://file.qip.ru/file/91251308/6a89bbfe/...41_NLC_508.html

     

    Сталкер 1.0004 + АМК 1.4.1 с менюшкой "С каждым днем все радостнее жить" (2 патча, АМК опции присутствуют) + НЛЧ 5.08 (музикпак, думается, не влияет тут ни на что).

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

    Изменено пользователем vbkzk
    Ссылка на комментарий

    vbkzk, попробуй в spawn_sections.ltx в секции

    [acs_sak]:stalker
    $spawn             = "respawn\sak"
    character_profile    = Sak

    последняя строчка - Сяк с большой буквы :)

    Поможет ли - не знаю.

    А еще - ЖС тебе не нужно, чтобы Сяка оживлять. Если труп есть - подходишь к нему на 1,5м и жмешь Ф10 (в ридми написано, что ф-ция делает, а в скрипте юи_чит_спаунер в комментах я расписал, кто есть в списке на оживление + расширил его немного).

    Он должен появиться в месте своего начального спавна (не знаю, где именно). По Ф2 можно проверить, набрав там Sak до и после оживления.

    af_life_heart_absorbation - это не ЖС, это его параметры. Вылет и должен быть.

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

    Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64


    Подарки

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

    Shadowman, Сяк от заглавной буквы в spawn_sections.ltx ожил, спасибо. только ведет себя неадекватно - носится по радару с отстрелом красных точек, а не в доме сидит. ЖС это просто и коротко af_life_heart будет :dash3: Но Ф10 не работает у меня, вернее сказать, работает - труп Сяка исчезает и все, а куда он девается - сие тайна великая есть. Но в результате при переходе на другую локацию - вылет без лога. Да, и ЖС еще на труп Сяка не действует.

     

    S.E. Труп лежал там, где и сам Сяк всегда стоял в доме, может, конечно, он не там спаунится первоначально

     

    Т.Е. Сходил оживил того главного солдата на Кордоне под мостом, которого грохнул в первый проход. Ф10 около него - труп исчез, а куда делся - неизвестно, как и с Сяком. Где уж он там спаунится не знаю, но под мостом этот шайтан не объявился. Но в этот раз с локации уходится свободно, без вылетов.

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

    vbkzk, я же написал - в место первоначального своего спавна. Куда именно - по Ф2 ищи.

    при переходе на другую локацию - вылет без лога

    Это очень врядли, что из-за оживления. Там алгоритм абсолютно идентичен оживлению с ЖС, только условия наличия самого ЖС и инфы по нему убраны.

     

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

     

    Доработал ACS для версии НС от 14.06

    http://www.sendspace.com/file/utvvbq

    Детально все не проверял, особенно по инфопоршням м.б. косяки. В принципе-работает.

    Переделал стори-ид для неписей, оживляемых по Ф10, спавн_секшинс адаптировал.

    принципиально нового - ничего.

     

    solvador, Круто! Молодец! И Helios сейчас тоже плюс получит :D

    А что мешает сделать под 14.06? Доделай уже, раз взялся. Там ид неписей для оживления - самое критичное.

    local nepis_id={7664,1907,1600,1563,1568,1581,1651,1631,1751,2432,2535,2453,3141,3173,
    4056,4059,5206,5205,5207,5213,6190,6194,6195,6196,3475,2935,2357,2345,2349,2934,
    2
    939}

    я привел то, что там сейчас должно быть, для НС за 14.06 - вся адаптация, остальное - некритично.

     

    И по Ф3 - вылета уже не будет (я для версии от 14.06 инфопоршни новые не добавлял, но и от 26.04 не убирал). М.б. вылет, только если какой-то инфо убрали по сравнению с пред. версией. И будет тип об ошибке, если инфо в списке не присутствует.

    Кстати, не очень понятен выбор гаусс-пистолета в меню спавна оружия - уж лучше вместо гаусс Призрака поставить :)

     

    Просто замени ту строку, что сейчас в твоем спавнере на ту, что я привел (там такое же перечисление, только ид поменялись). Влияет только на "оживление" по клавише Ф10 квестовиков, содержащихся в этом списке (алл.спавн переделан в НС 14.06, и все ид поменялись соответственно).

     

    solvador, все правильно сделал, спасибо!

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

    Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64


    Подарки

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

    Удалите плз через сутки, оч нужно именно так))) заранее сори за флуд

     

    Броники:

    ==========

    novice_outfit - костюм новичка

    bandit_outfit - костюм бандита новичка

    killer_outfit - КОСТЮМ НАЕМНИКА

    monolit_outfit - КОСТЮМ МОНОЛИТОВЦА

    specops_outfit - КОСТЮМ ВОЕННОГО СПЕЦНАЗА

    military_outfit - СКАТ-9М

    militaryspec_outfit - СКАТ-10

    stalker_guard_outfit - КОСТЮМ ОХРАННИКА В БАРЕ

    stalker_outfit - КОСТЮМ НЕЙТРАЛЬНОГО СТАЛКЕРА

    scientific_outfit - НАУЧНЫЙ КОСТЮМ НЕЙТРАЛЬНОГО СТАЛКЕРА

    exo_outfit - ЭКЗОСКЕЛЕТ НЕЙТРАЛЬНОГО СТАЛКЕРА

    svoboda_light_outfit - ЛЕГКИЙ КОСТЮМ СВОБОДЫ

    svoboda_heavy_outfit - ТЯЖЕЛЫЙ КОСТЮМ СВОБОДЫ

    dolg_outfit - ОБЫЧНЫЙ КОСТЮМ ДОЛГА

    dolg_scientific_outfit - НАУЧНЫЙ КОСТЮМ ДОЛГА

    ecolog_outfit - ОБЫЧНЫЙ КОСТЮМ УЧЕННОГО

    protection_outfit - УКРЕПЛЕННЫЙ КОСТЮМ УЧЕННОГО

    killer_blue_exoskeleton - экза наемников

    dolg_black_exoskeleton - экзоскелет dolg

    svoboda_exoskeleton - экзоскелет svoboda

    monolit_exoskeleton - экзоскелет monolit

    broken_exoskeleton - экзоскелет сломанный

    freedom_scientific_outfit - научник свободы

    merc_scientific_outfit - наука наемников

    monolit_scientific_outfit - наука монолита

    bandit_master_outfit - плащ бандита

    outfit_soldier_m1 - берил (вроде)

    neytral_exo_antigas_outfit - ?

    bandit_veteran_outfit - бандитский плашь

    soldier_outfit - бронька солдатов

    exo_bandit_outfit - ЭКЗОСКЕЛЕТ БАНДИТОВ

    nano_outfit - Нанозащитный костюм

    stalker_usa_killer_gaz - Костюм американского образца

    stalker_france_killer_gaz - Костюм французского образца

    outfit_novice_m1 - Аномальная куртка новичка

    outfit_bandit_m1 - Уплотненный бандитский костюм

    bandit_master_outfit_m1 - Бандитский плащ повышенной выносливости

    outfit_dolg_m1 - Охотничий комбинезон Долга

    outfit_dolg_m4 - как понял уникальный научник?

    outfit_killer_m1 - Укрепленный комбинезон Наемника

    outfit_specnaz_m1 - Модифицированный армейский бронекостюм

    outfit_stalker_m2 - комбез Туриста

    outfit_stalker_m1 - Комбинезон призрачного сталкера

    stalker_outfit_m3 - прочный костюм сталкера

    outfit_svoboda_m1 - Модифицированный комбинезон свободы

    outfit_exo_m1 - Модифицированный экзоскелет

    neytral_novice_outfit_m1

    neytral_novice_gaz_outfit_m1

    neytral_gaz_outfit_m1

    neytral_gaz_outfit_m2

    neytral_exo_gaz_outfit_m1

    bandit_gaz_outfit_m1

    bandit_veteran_outfit_m1

    svoboda_gaz_outfit_m1

    svoboda_heavy_gaz_outfit_m1

    svoboda_yellow_exo_outfit_m1

    dolg_gaz_outfit_m1

    killer_gaz_outfit_m1

    monolit_gaz_outfit_m1

     

    Ремкомплекты

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

    repair_item_outfit

    repair_item_weapon

     

    Оружие (понятно из названия)

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

    wpn_pm

    wpn_pb

    wpn_fort

    wpn_hpsa

    wpn_beretta

    wpn_walther

    wpn_sig220

    wpn_colt1911

    wpn_usp

    wpn_desert_eagle

    wpn_bm16

    wpn_toz34

    wpn_wincheaster1300

    wpn_spas12

    wpn_ak74u

    wpn_mp5

    wpn_ak74

    wpn_abakan

    wpn_l85

    wpn_lr300

    wpn_sig550

    wpn_groza

    wpn_val

    wpn_vintorez

    wpn_svu

    wpn_svd

    wpn_rg-6

    wpn_rpg7

    wpn_g36

    wpn_fn2000

    wpn_ak47

    wpn_saiga12c

    wpn_bm16_full

    wpn_p90

    wpn_pkm

    wpn_gauss

    wpn_gungauss

    wpn_bizon

    wpn_kriss_super_v

    wpn_mp7a3

    wpn_m1891_30

    wpn_m1891_30_scope

    wpn_benelli_short

    wpn_toz34_short

    wpn_tt33_sk1

    wpn_ppsh41_sk2

    wpn_ak74_m1

    wpn_abakan_m1

    wpn_fort_m1

    wpn_mp5_m1

    wpn_groza_m1

    wpn_spas12_m1

    wpn_winchester_m1

    wpn_l85_m1

    wpn_lr300_m1

    wpn_svd_m1

    wpn_sig_m1

    wpn_eagle_m1

    wpn_colt_m1

    wpn_val_m1

    wpn_mp5_m2

    wpn_abakan_m2

    wpn_l85_m2

    wpn_ak74u_m1

    wpn_sig_m2

    wpn_g36_m1

    wpn_svu_m1

    wpn_beretta_m1

    wpn_vintorez_m1

    wpn_groza_m2

    wpn_rg6_m1

    wpn_walther_m1

    wpn_pm_m1

    wpn_bizon_m1

    wpn_lr300_m2

    wpn_ak47_m1

    wpn_dark_gauss

     

    Еда и Медикаменты, устройства

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

    bread_a

    bread

    kolbasa

    kolbasa_a

    conserva

    vodka_a

    vodka

    guitar_a

    harmonica_a

    antirad

    medkit

    medkit_army

    medkit_scientic

    energy_drink

    bandage

    binocular_a

    device_pda

    device_torch

    detector_simple

    detector_advances

    detector_elite

    detector_elite_sak

    amk_ballon

    amk_kanistra

    matras

    repbox_s1

    treasure_item

    amk_metka

    repair_item_outfit - не пробывал

    repair_item_weapon - не пробывал

    oceanic815 - не пробывал

     

    Предметы

    =========

    amk_ballon

    amk_kanistra

    amk_metka

    arc_art_box_basic

    arc_art_box_1basic

    arc_art_box_8basic

    case_freeman

    device_torch

    detector_simple

    detector_advances

    detector_elite

    device_pda

    device_pda_npc

    device_tiran_pda

    device_freedom_pda

    device_dolg_pda

    flamethrower_bad

    gorelka

    guitar_a

    hand_radio

    harmonica_a

    manometr

    matras

    repair_box_outfit

    treasure_item

    trubka

    wpn_binoc

    wpn_flame

     

    Артефакты

    ==========

    af_medusa

    af_cristall_flower

    af_night_star

    af_vyvert

    af_gravi

    af_gold_fish

    af_blood

    af_mincer_meat

    af_soul

    af_electra_sparkler

    af_electra_flash

    af_electra_moonlight

    af_rusty_thorn

    af_rusty_kristall

    af_rusty_sea-urchin

    af_ameba_slime

    af_ameba_slug

    af_ameba_mica

    af_drops

    af_fireball

    af_cristall

    af_dummy_glassbeads

    af_dummy_pellicle

    af_dummy_battery

    af_dummy_dummy

    af_dummy_spring

    af_fuzz_kolobok

    af_buliz

    af_spirit_1

    af_spirit_2

    af_spirit_3

    af_spirit_4

    af_cry_1

    af_cry_2

    af_cry_3

    af_babka_1

    af_babka_2

    af_babka_3

    af_pudd_1

    af_pudd_2

    af_pudd_3

    af_pudd_4

    af_dik_1

    af_dik_2

    af_dik_3

    af_dik_4

    af_kol_1

    af_kol_2

    af_kol_3

    af_kol_4

    af_armor_1

    af_armor_2

    af_armor_3

    af_armor_4

    af_simbion

    af_dummy_battery_red

    af_dummy_spring_red

    af_dummy_pellicle_red

    af_medusa_green

    af_vyvert_green

    af_blood_green

     

    Аммуниция

    ==========

    ammo_9x18_fmj

    ammo_9x18_pmm

    ammo_9x19_pbp

    ammo_9x19_fmj

    ammo_11.43x23_hydro

    ammo_11.43x23_fmj

    ammo_12x70_buck

    ammo_12x76_dart

    ammo_12x76_zhekan

    ammo_5.45x39_ap

    ammo_5.45x39_fmj

    ammo_9x39_sp5

    ammo_9x39_ap

    ammo_9x39_pab9

    ammo_5.56x45_ss190

    ammo_5.56x45_ap

    ammo_7.62x54_7h14

    ammo_7.62x54_7h1

    ammo_7.62x54_ap

    ammo_og-7b

    ammo_vog-25p

    ammo_vog-25

    grenade_f1

    grenade_rgd5

    ammo_m209

    grenade_gd-05

    ammo_gauss

    ammo_5.7x28_ap

    ammo_5.7x28_ss190

    ammo_7.62x39_fmj

    ammo_7.62x39_ap

    ammo_7.62x54r

    ammo_16cal_fost

    ammo_16cal_skart

    ammo_16cal_buck

    ammo_44mag_jsp

    ammo_44mag_jhp

    ammo_50ae_jhp

    ammo_50ae_thv

    ammo_7.62x25_p

    ammo_7.62x25_ps

     

    Подствольники, оптика, глушитель

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

    wpn_addon_scope

    wpn_addon_scope_susat

    wpn_addon_silencer

    wpn_9mm_nato_silencer

    wpn_addon_grenade_launcher

    wpn_addon_grenade_launcher_m203

     

    Детали монстров

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

    mutant_flesh_eye

    mutant_boar_leg

    mutant_dog_tail

    mutant_psevdodog_tail

    mutant_krovosos_jaw

    mutant_burer_hand

    mutant_zombie_hand

    mutant_snork_leg

    mutant_face_tushkano

    mutant_hand_kontroler

    mutant_poltergeist_glas

    mutant_psevdogigant_hand

    mutant_tail_cat

    mutant_chimera_kogot

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

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

    ×
    ×
    • Создать...