Перейти к контенту
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

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