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

Rimworld v1.4.3580 rev [Cheat Table]


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

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

Спойлер

 

Ссылка:

Спойлер

Battery Energy Full - Аккумуляторы с максимальной энергией

Power Boost - Вырабатывающие энергию постройки всегда с максимальным значением заряда

Instant Research (Cost 1 point) - Для исследований нужно только 1 очко

Full HP Object - Задать здоровье выбранному объекту, блоку, предмету

 

Tick Manager - Управление скоростью и временем игры

 

Current Temperature - Установить Температуру в отдельную комнату (улица в игре тоже является комнатой), при наведении указателя мыши на комнату

 

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

Instant Building - Моментальная постройка чего угодно

Instant Work Floor - Моментальное выравнивание пола

Instant Work Wall - Моментальное выравнивание стен

Ну и адрес с возможностью ускорить персонажей (только нашего поселения), зная значения можно задать, мне 50 клеток\с хватает.

P.S. За работоспособность всех скриптов не отвечаю, при неправильном порядке включения скриптов у меня вылетает. Если и у вас тоже, не беспокойтесь, всё когда-то бывает...

Изменено пользователем DieVis
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

В 19.12.2022 в 14:51, DieVis сказал:

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

 

это потому  что у тебя там  полно ошибок в скриптах .  размеры не правильные

  • Понравилось 1
Ссылка на комментарий
Поделиться на другие сайты

21 час назад, Alex2411 сказал:

размеры не правильные

Понятия не имею о чём ты, я ж не телепат в отличии от некоторых...

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, DieVis сказал:

Понятия не имею о чём ты

 

 

это не сложно . я даже не загружал твою таблицу  в чит енжин , а просто открыл в блокноте .

например  у тебя скрипт здоровья

newmem:
  mov [P_HP],rax

code:
  movsxd  rax,dword ptr [rax+64]
  add rsp,08
  jmp return

P_HP:
  dd 0

ты выделил  для адреса 4 байт , а адреса тут занимают 8 байт потому что игра 64 бит . когда у тебя регистр записываеться в память то 4 байта попадут в которые ты выделил , а еще 4 байт  переписывают следующий скрипт . поэтому вылетает .  замени все  dd на dq .


еще пример у тебя тут  ошибка

newmem:
  mov [rax+64],#999

code:
  movsxd  rax,dword ptr [rax+64]
  add rsp,08
  jmp return

HPObject:
  jmp newmem
  nop 3

 сам найдешь или  подсказать ? )))

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Alex2411 сказал:

ты выделил  для адреса 4 байт , а адреса тут занимают 8 байт потому что игра 64 бит . когда у тебя регистр записываеться в память то 4 байта попадут в которые ты выделил , а еще 4 байт  переписывают следующий скрипт .

Ага конечно) Умничать если решил, сначала выясни что память минимум по странице выделяется (1024 байт по стандарту), и если написана метка после всего кода, можно вообще не писать никакие dd, dw, db, dq и прочие, достаточно написать как у него из примера

P_HP:
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Alex2411 сказал:

сам найдешь

Будь вежливым, подскажи а, у меня уже голова не тем забита.

2 часа назад, imaginary сказал:

не писать никакие dd, dw, db, dq

Вот здесь вообще ничего не понятно(

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, DieVis сказал:

у меня уже голова не тем забита

 

 слушай тут я сам не много подзабыл и тупанул . все норм извини.  у меня то же голова не тем забита .
 я имел в виду  что у тебя игра 64 бит , а инструкция movsxd использует двойное слово с знаковым расширением . значит нужное значение в адресе [rax+64] 4 байт , а не 8. по этому когда меняешь значение по адресу [rax+64] нужно указывать  двойное слово dword  иначе можно заодно переписать адрес [rax+68] . но я чет забыл что чит енжин если вообще не указывать размер все равно пишет двойное слово . по этому конкретно тут все норм , а вообще нужно учитывать .

 

 насчет размера  dd . регист rax где у тебя адрес нр занимает
 00 00 00 00 00 00 00 00
 а ты выделяешь для него dd 0 . это
 00 00 00 00
 когда игра запишет rax в память то лишние 4 байта попадут после dd 0 . если там пусто то не страшно ,а если у тебя там что то есть то оно перепишеться и может быть краш. поэтому в 64 бит нужно выделять не dd 0 , а dq 0 .

 

 еще посмотри у тебя аоб в температуре
 F3 0F 10 40 20 F3 0F 5A C0 F2 0F 5A E8 F3 0F 11 6D BC
 а возврат
 F3 0F 10 40 20 F3 0F 5A C0 F2 0F 5A E8 F2
 последнее F2 не совпадает с F3 из аоб

Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, imaginary сказал:

память минимум по странице выделяется (1024 байт по стандарту),

Везде говорят про 4096 байта. У тебя нет ссылки на это стандарт?

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, Alex2411 сказал:

F2 не совпадает с F3

Действительно, спасибо! Я чего-то не заметил сразу(
Но там в большинстве почему-то не восстанавливает оригинал, приходится по байтам прописывать...

Ссылка на комментарий
Поделиться на другие сайты

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

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.