Перейти к содержанию

Сообщения от Как сломать систему сохранений?

Пока нет оценок — будьте первым!
Аватар пользователя
#1
Я делаю карту где целью является выживание на рекорд, однако система сохранений ломает всю концепцию. Я знаю как сломать сохранки в мультиплеере, используя TalkBox, однако не имею понятия как это сделать в одиночном режиме. Кто-нибудь знает рабочий способ сломать сохранения или заставить скрипт понять, что была загрузка и выдать инста поражение? Буду очень рад вашей помощи.
Аватар пользователя
#2
Есть функции Save() и Load(), возможно, если переписать их, выйдет что-то путное. Кроме того, есть стопроцентный вариант — просто вырезать кнопки сохранения игры из меню, а также убрать хоткей. Но это уже прямо костылище
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
#3
Если игра при помощи скриптов умеет сохранять и загружать файлы, то можно выгружать в файл после нажатия пользователем "Завершить ход" идентификатор игры... началась игра - идёт генерация идентификатора сессии (некий рандом в диапазоне и так 4 раза ну типа как пин-код чтобы получилось, можно и больше переменных сделать, хотя 4 оптимально) и запись файла с этим идентификатором -  всё мы зафиксировали идентификатор сессии и переменная контроль сессии получает это значение... перед очередным нажатием пользователя "Завершить ход" считать этот файл и выполнить проверочную генерацию идентификатора типа пин кода, то есть в четыре разряда - совпадение исключено в принципе!
1
2
3
4
5
6
r = os.clock()
function _random()
  math.randomseed(r);
  r = math.random()
  return r;
end
С уважением, Psatkha (Псатха)

---------------------------------------------

Неудачное планирование ведёт к неудаче ...

NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
В ответ пользователю psatkha
Аватар пользователя
#4
Спасибо большое за советы. Мне удалось сломать систему сохранений. Я сделал пустой ссылку shared в файлах /UI/Load.(WindowScreen).xdb и /UI/Save.(WindowScreen).xdb. Теперь нажимая на кнопку сохранить или загрузить, а также f6 игра просто вылетает. Меня это более чем устраивает 😀
Мои карты: Белый Храм, Поменяться местами, Судьба королевства, Стихийные острова.
Аватар пользователя
#5
Если есть возможность сделать по-нормальному - сделай. С подходом "устраивающим тебя", человеку, привыкшему часто прожимать f5, такое точно придётся не по нраву. На третий - четвёртый "сейв" обложит матом и удалит сценарий.
В ответ пользователю Mооnst@r
Аватар пользователя
#6
Ну а если серьёзно, вот что мне удалось сделать: В файлах /UI/Load.(WindowScreenShared).xdb и /UI/Save.(WindowScreenShared).xdb в Children удалил ссылки на кнопку "Сохранить"/"Загрузить". После этого кнопки пропали, но осталась возможность сохранять/заугружать с помощью 2 клика лкм на сам файл в списке. Это пофиксил в файлах /UI/SaveLoad/SavesList.(WindowScrolllableContainer).xdb и LoadsList.(WindowScrollableContainer).xdb удалив блок двойного клика мыши. После этого сохранять файлы можно только с помощью f5, а загружать невозможно вообще (кажется). Мод прикрепил к комментарию.
Вложения 1
1 файл • Общий размер: 120,8 KB
Мои карты: Белый Храм, Поменяться местами, Судьба королевства, Стихийные острова.
В ответ пользователю Mооnst@r
Аватар пользователя
#7
Mооnst@r
Если есть возможность сделать по-нормальному - сделай. С подходом "устраивающим тебя", человеку, привыкшему часто прожимать f5, такое точно придётся не по нраву. На третий - четвёртый "сейв" обложит матом и удалит сценарий.

Нету в вас чувства юмора...
Мои карты: Белый Храм, Поменяться местами, Судьба королевства, Стихийные острова.
В ответ пользователю Долгий
Аватар пользователя
#8
Долгий
...После этого сохранять файлы можно только с помощью f5, а загружать невозможно вообще (кажется).

Можно сохранить нажав entr в меню "сохранить игру".
В ответ пользователю Mооnst@r
Аватар пользователя
#9
Mооnst@r

Можно сохранить нажав entr в меню "сохранить игру".

Спасибо. Радует что enter позволяет лишь сохранить, но не загрузить. Нашел ещё проблему - горячую клавишу f8

Добавлено через 11 минут
И она работает даже в первом моде (там, где вылеты)
Мои карты: Белый Храм, Поменяться местами, Судьба королевства, Стихийные острова.
Аватар пользователя
#10
Для отключения кнопок сохранения и загрузки можно подправить файлы -
[UI\SaveLoad\SaveSpecific\Save.(WindowMSButton).xdb] убрать команду
				<Commands>
<Item href="/UI/SaveLoad/Save.(UISDirectRunReaction).xdb#xpointer(/UISDirectRunReaction)"/>
</Commands>

на 

				<Commands/>

аналогично убрать команду на загрузку в [UI\SaveLoad\SaveSpecific\Load.(WindowMSButton).xdb].
И на двойной клик [UI/SaveLoad/LoadsList.(WindowScrollableContainer).xdb]

		<Commands>
<Item href="LoadDblClick.(UISDirectRunReaction).xdb#xpointer(/UISDirectRunReaction)"/>
</Commands>
А вот с [quickload 'F8'] и [quicksave 'F5'] ничего сделать не получится эти команды вшиты в exe, конечно и там можно сломать если через HEX редактор изменить значения например на quicklo1d и quicksa1e. Но это так себе вариант.
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
Аватар пользователя
#11
Можно попробовать через скриптовую команду прописывать в консоль
unbind ИМЯ_КОМАНДЫ
или bind ИМЯ_КОМАНДЫ "MOUSE_B5"
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю vova2112
Аватар пользователя
#12
vova2112
Для отключения кнопок сохранения и загрузки
Как я уже писал выше, кнопки вообще не появляются в меню сохранения/загрузки, что есть замечательно.
vova2112
А вот с [quickload 'F8'] и [quicksave 'F5'] ничего сделать не получится эти команды вшиты в exe, конечно и там можно сломать если через HEX редактор изменить значения например на quicklo1d и quicksa1e. Но это так себе вариант.
Да, idшки quickload и quicksave создаются в exe. Однако бинды на f8, f5 пишутся в файле input_a2.cfg, который находится в документах. Я вчера просто закомментил строчки: bind quicksave 'F5' и
bind quickload 'F8'. Это помогло, но прийдётся объяснять пользователям куда совать этот файл или (упаси господи) делать установочник. Ваша идея с изменением битов в exe мне нравится, так как данная карта уже работает на кастомном exe.


Добавлено через 1 минуту
}{0TT@6bI4
Можно попробовать через скриптовую команду прописывать в консоль
unbind ИМЯ_КОМАНДЫ
или bind ИМЯ_КОМАНДЫ "MOUSE_B5"
Пробывал. По каким то неведомым мне причинам работает лишь в ~10% случаев

PS. заработало с помощью
unbind quicksave
unbind quickload
Мои карты: Белый Храм, Поменяться местами, Судьба королевства, Стихийные острова.