RimWorld - Быстрая постройка
-
Привет всем.
Может кто подсказать или (предложить свои варианты), вот есть скрипт, комментарии....
Суть в том чтобы строить быстро, к примеру на быстрый разбор я скрипт сделал, всё норм.
А вот с постройкой понять не могу что делать...
При постройке чего-либо значение увеличивается по +C0. Макс. значение я не нашёл, а если держать скрипт постоянно вкл., то через какое-то время игра начинает тупить.{ Game : RimWorldWin64.exe Version: 1.4.3 rev Date : 2022-10-18 Author : DieVision } usemono() [ENABLE] //F1 F3 0F 10 86 C0 00 00 00 alloc(newmem,2048,RimWorld.Frame:get_PercentComplete+f) label(code) label(return) newmem: mov [rsi+000000C0],(float)999999 code: movss xmm0,[rsi+000000C0] //workDone jmp return RimWorld.Frame:get_PercentComplete+f: jmp newmem nop 3 return: [DISABLE] dealloc(newmem) RimWorld.Frame:get_PercentComplete+f: movss xmm0,[rsi+000000C0] // db F3 0F 10 86 C0 00 00 00 { // ORIGINAL CODE - INJECTION POINT: RimWorld.Frame:get_PercentComplete+f 1A9A6A54723: 05 04 03 01 50 - add eax,50010304 1A9A6A54728: 00 00 - add [rax],al 1A9A6A5472A: 00 00 - add [rax],al 1A9A6A5472C: 00 00 - add [rax],al 1A9A6A5472E: 00 00 - add [rax],al RimWorld.Frame:get_PercentComplete: 55 - push rbp RimWorld.Frame:get_PercentComplete+1: 48 8B EC - mov rbp,rsp RimWorld.Frame:get_PercentComplete+4: 48 83 EC 30 - sub rsp,30 RimWorld.Frame:get_PercentComplete+8: 48 89 75 F8 - mov [rbp-08],rsi RimWorld.Frame:get_PercentComplete+c: 48 8B F1 - mov rsi,rcx // ---------- INJECTING HERE ---------- RimWorld.Frame:get_PercentComplete+f: F3 0F 10 86 C0 00 00 00 - movss xmm0,[rsi+000000C0] // ---------- DONE INJECTING ---------- RimWorld.Frame:get_PercentComplete+17: F3 0F 5A C0 - cvtss2sd xmm0,xmm0 RimWorld.Frame:get_PercentComplete+1b: F2 0F 11 45 F0 - movsd [rbp-10],xmm0 RimWorld.Frame:get_PercentComplete+20: 48 8B CE - mov rcx,rsi RimWorld.Frame:get_PercentComplete+23: 66 66 90 - nop 3 RimWorld.Frame:get_PercentComplete+26: 49 BB 80 C9 8D 7A A9 01 00 00 - mov r11,RimWorld.Frame:get_WorkToBuild RimWorld.Frame:get_PercentComplete+30: 41 FF D3 - call r11 RimWorld.Frame:get_PercentComplete+33: F3 0F 5A C8 - cvtss2sd xmm1,xmm0 RimWorld.Frame:get_PercentComplete+37: F2 0F 10 45 F0 - movsd xmm0,[rbp-10] RimWorld.Frame:get_PercentComplete+3c: F2 0F 5E C1 - divsd xmm0,xmm1 RimWorld.Frame:get_PercentComplete+40: F2 0F 5A C0 - cvtsd2ss xmm0,xmm0 }
P.S. Кстати куда "Спойлеры делись? Что-то я их не вижу.
Простите если вдруг кто-то ничего не понял, я сам уже мало чего понимаю =[ -
Пользователь @DieVis написал в RimWorld - Быстрая постройка:
Не представляю как вы это нашли, в голове не укладывается.
Вот кусок кода... Там всё показано - более точно!
-
Пользователь @DieVis написал в RimWorld - Быстрая постройка:
Макс. значение я не нашёл
Оно тут...в rbp-54 не регион не чего не указывал. Полный скан.
А на твоей функции, не один адрес... Хотя я построил, только одну постройку.[ENABLE] aobscan(_building_,F3 41 0F 11 AF C0 00 00 00) alloc(_building_mem,$1000,_building_) label(_building_back_) _building_mem: movss xmm5,[rbp-54] movss [r15+000000C0],xmm5 jmp _building_back_ _building_: jmp _building_mem db 90 90 90 90 _building_back_: registersymbol(_building_) [DISABLE] _building_: db F3 41 0F 11 AF C0 00 00 00 unregistersymbol(_building_) dealloc(_building_mem)
-
@LIRW Не представляю как вы это нашли, в голове не укладывается.
Наверное это не моё, пора менять образ жизни.
Благодарю за код! Когда-нибудь отплачу. -
Пользователь @DieVis написал в RimWorld - Быстрая постройка:
Не представляю как вы это нашли, в голове не укладывается.
Вот кусок кода... Там всё показано - более точно!
-
Пользователь @LIRW написал в RimWorld - Быстрая постройка:
aobscan(building,F3 41 0F 11 AF C0 00 00 00 F3)
Иначе активируется не по нужному адресу. -