Just some additions that you can add for the "No Build Restrictions" for people who like to build things
- Build upgrades for the stations even if it's too close to the station or other upgrades
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>43277</ID>
<Description>"No Build Restrictions"</Description>
<Options moManualExpandCollapse="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>52299</ID>
<Description>"Build Everywhere (works perfectly)"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-03-24
Author : Akira Fudo
}
define(address,Player:UpdatePlacementGhost+1c5d)
//define(bytes,48 63 87 70 05 00 00)
define(bytes,48 63 87 70 05 00 00 85)
[ENABLE]
assert(address,bytes)
alloc(newmem,$100,Player:UpdatePlacementGhost+1c5d)
label(code)
label(return)
newmem:
code:
//movsxd rax,dword ptr [rdi+00000570]
mov [rdi+00000570],(int)0
jmp return
address:
jmp newmem
nop 2
return:
[DISABLE]
address:
db bytes
// movsxd rax,dword ptr [rdi+00000570]
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacementGhost+1c5d
Player:UpdatePlacementGhost+1c26: 49 BB D0 95 FB 52 3B 02 00 00 - mov r11,UnityEngine:GameObject:SetActive
Player:UpdatePlacementGhost+1c30: 41 FF D3 - call r11
Player:UpdatePlacementGhost+1c33: 48 8B 87 78 04 00 00 - mov rax,[rdi+00000478]
Player:UpdatePlacementGhost+1c3a: 48 8B C8 - mov rcx,rax
Player:UpdatePlacementGhost+1c3d: 33 D2 - xor edx,edx
Player:UpdatePlacementGhost+1c3f: 83 38 00 - cmp dword ptr [rax],00
Player:UpdatePlacementGhost+1c42: 48 8D 6D 00 - lea rbp,[rbp+00]
Player:UpdatePlacementGhost+1c46: 49 BB D0 95 FB 52 3B 02 00 00 - mov r11,UnityEngine:GameObject:SetActive
Player:UpdatePlacementGhost+1c50: 41 FF D3 - call r11
Player:UpdatePlacementGhost+1c53: C7 87 70 05 00 00 01 00 00 00 - mov [rdi+00000570],00000001
// ---------- INJECTING HERE ----------
Player:UpdatePlacementGhost+1c5d: 48 63 87 70 05 00 00 - movsxd rax,dword ptr [rdi+00000570]
// ---------- DONE INJECTING ----------
Player:UpdatePlacementGhost+1c64: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+1c66: 40 0F 94 C2 - sete dl
Player:UpdatePlacementGhost+1c6a: 48 0F B6 D2 - movzx rdx,dl
Player:UpdatePlacementGhost+1c6e: 48 8B CF - mov rcx,rdi
Player:UpdatePlacementGhost+1c71: 48 8D 64 24 00 - lea rsp,[rsp+00]
Player:UpdatePlacementGhost+1c76: 49 BB 20 18 59 4E 3A 02 00 00 - mov r11,Player:SetPlacementGhostValid
Player:UpdatePlacementGhost+1c80: 41 FF D3 - call r11
Player:UpdatePlacementGhost+1c83: 48 8B 5D D0 - mov rbx,[rbp-30]
Player:UpdatePlacementGhost+1c87: 48 8B 7D D8 - mov rdi,[rbp-28]
Player:UpdatePlacementGhost+1c8b: 4C 8B 65 E0 - mov r12,[rbp-20]
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>42974</ID>
<Description>"Build Everywhere (doesn't work perfectly)"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript Async="1">{ Game : valheim.exe
Version:
Date : 2021-03-13
Author : Akira Fudo
}
define(address,Player:UpdatePlacementGhost+99c)
//define(bytes,C7 87 68 05 00 00 01 00 00 00)
define(bytes,C7 87 70 05 00 00 01 00 00 00 41 0F B6 86 A6)
[ENABLE]
assert(address,bytes)
alloc(newmem,$100,Player:UpdatePlacementGhost+99c)
label(code)
label(return)
newmem:
code:
//mov [rdi+00000570],00000001
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// mov [rdi+00000570],00000001
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacementGhost+99c
Player:UpdatePlacementGhost+968: C7 87 68 05 00 00 01 00 00 00 - mov [rdi+00000568],00000001
Player:UpdatePlacementGhost+972: 41 0F B6 86 A5 00 00 00 - movzx eax,byte ptr [r14+000000A5]
Player:UpdatePlacementGhost+97a: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+97c: 74 28 - je Player:UpdatePlacementGhost+9a6
Player:UpdatePlacementGhost+97e: F3 0F 10 85 F4 F9 FF FF - movss xmm0,[rbp-0000060C]
Player:UpdatePlacementGhost+986: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
Player:UpdatePlacementGhost+98a: F3 0F 10 0D 9E 13 00 00 - movss xmm1,[Player:UpdatePlacementGhost+1d30]
Player:UpdatePlacementGhost+992: F3 0F 5A C9 - cvtss2sd xmm1,xmm1
Player:UpdatePlacementGhost+996: 66 0F 2F C8 - comisd xmm1,xmm0
Player:UpdatePlacementGhost+99a: 76 0A - jna Player:UpdatePlacementGhost+9a6
// ---------- INJECTING HERE ----------
Player:UpdatePlacementGhost+99c: C7 87 68 05 00 00 01 00 00 00 - mov [rdi+00000568],00000001
// ---------- DONE INJECTING ----------
Player:UpdatePlacementGhost+9a6: 41 0F B6 86 A6 00 00 00 - movzx eax,byte ptr [r14+000000A6]
Player:UpdatePlacementGhost+9ae: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+9b0: 74 2A - je Player:UpdatePlacementGhost+9dc
Player:UpdatePlacementGhost+9b2: F3 0F 10 85 F4 F9 FF FF - movss xmm0,[rbp-0000060C]
Player:UpdatePlacementGhost+9ba: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
Player:UpdatePlacementGhost+9be: F3 0F 10 0D 5A 13 00 00 - movss xmm1,[Player:UpdatePlacementGhost+1d20]
Player:UpdatePlacementGhost+9c6: F3 0F 5A C9 - cvtss2sd xmm1,xmm1
Player:UpdatePlacementGhost+9ca: 66 0F 2F C8 - comisd xmm1,xmm0
Player:UpdatePlacementGhost+9ce: 7A 0C - jp Player:UpdatePlacementGhost+9dc
Player:UpdatePlacementGhost+9d0: 73 0A - jae Player:UpdatePlacementGhost+9dc
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>42975</ID>
<Description>"Build even if it's unstable."</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-02-19
Author : Akira Fudo
}
{$LUA}
if not monopipe then LaunchMonoDataCollector() end
{$ASM}
[enable]
WearNTear:HaveSupport:
mov al,1
ret
nop
[disable]
WearNTear:HaveSupport:
push rbp
mov rbp,rsp
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>42976</ID>
<Description>"No idea what happens if you deactivate the script after building something :D"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>0000FF</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>43016</ID>
<Description>"Build even if a player is in the way"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-02-19
Author : Akira Fudo
}
{$LUA}
if not monopipe then LaunchMonoDataCollector() end
{$ASM}
[enable]
Player:CheckPlacementGhostVSPlayers:
mov al,0
ret
nop
[disable]
Player:CheckPlacementGhostVSPlayers:
push rbp
mov rbp,rsp
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>43017</ID>
<Description>"The mystical force in this area doesn't stop you"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-03-16
Author : Akira Fudo
}
define(address,Location:IsInsideNoBuildLocation+57)
//define(bytes,0F B6 40 2C 85 C0)
define(bytes,0F B6 40 2C 85 C0 0F 84 85)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,Location:IsInsideNoBuildLocation+57)
//alloc(restore_IsInsideNoBuildLocation,8)
label(code)
label(return)
newmem:
//mov [restore_IsInsideNoBuildLocation],rax
mov [rax+2C],#0
code:
movzx eax,byte ptr [rax+2C]
test eax,eax
jmp return
address:
jmp newmem
nop
return:
//registersymbol(restore_IsInsideNoBuildLocation)
[DISABLE]
//{$lua}
// writeInteger('[restore_IsInsideNoBuildLocation]+2C',1)
//{$asm}
//unregistersymbol(restore_IsInsideNoBuildLocation)
//dealloc(restore_IsInsideNoBuildLocation,8)
address:
db bytes
// movzx eax,byte ptr [rax+2C]
// test eax,eax
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Location:IsInsideNoBuildLocation+57
Location:IsInsideNoBuildLocation+2e: 48 8B D5 - mov rdx,rbp
Location:IsInsideNoBuildLocation+31: 48 83 C2 B8 - add rdx,-48
Location:IsInsideNoBuildLocation+35: 48 8B C8 - mov rcx,rax
Location:IsInsideNoBuildLocation+38: 83 38 00 - cmp dword ptr [rax],00
Location:IsInsideNoBuildLocation+3b: 66 66 90 - nop 3
Location:IsInsideNoBuildLocation+3e: 49 BB E0 D5 24 72 E5 01 00 00 - mov r11,System.Collections.Generic:List`1:GetEnumerator
Location:IsInsideNoBuildLocation+48: 41 FF D3 - call r11
Location:IsInsideNoBuildLocation+4b: E9 98 00 00 00 - jmp Location:IsInsideNoBuildLocation+e8
Location:IsInsideNoBuildLocation+50: 48 8B 75 C8 - mov rsi,[rbp-38]
Location:IsInsideNoBuildLocation+54: 48 8B C6 - mov rax,rsi
// ---------- INJECTING HERE ----------
Location:IsInsideNoBuildLocation+57: 0F B6 40 2C - movzx eax,byte ptr [rax+2C]
// ---------- DONE INJECTING ----------
Location:IsInsideNoBuildLocation+5b: 85 C0 - test eax,eax
Location:IsInsideNoBuildLocation+5d: 0F 84 85 00 00 00 - je Location:IsInsideNoBuildLocation+e8
Location:IsInsideNoBuildLocation+63: 66 0F 57 C0 - xorpd xmm0,xmm0
Location:IsInsideNoBuildLocation+67: 48 8B CE - mov rcx,rsi
Location:IsInsideNoBuildLocation+6a: F2 0F 10 D0 - movsd xmm2,xmm0
Location:IsInsideNoBuildLocation+6e: F2 0F 5A D2 - cvtsd2ss xmm2,xmm2
Location:IsInsideNoBuildLocation+72: 48 8B 55 98 - mov rdx,[rbp-68]
Location:IsInsideNoBuildLocation+76: 48 8B C5 - mov rax,rbp
Location:IsInsideNoBuildLocation+79: 48 83 C0 D0 - add rax,-30
Location:IsInsideNoBuildLocation+7d: 4C 8B 02 - mov r8,[rdx]
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>52522</ID>
<Description>"--- New ---"</Description>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>52517</ID>
<Description>"Build Everywhere +"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-03-25
Author :
This script does blah blah blah
}
define(address,Player:UpdatePlacementGhost+754)
define(bytes,C7 87 70 05 00 00 01 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,Player:UpdatePlacementGhost+754)
label(code)
label(return)
newmem:
code:
//mov [rdi+00000570],00000001
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// mov [rdi+00000570],00000001
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacementGhost+754
Player:UpdatePlacementGhost+727: C7 87 70 05 00 00 05 00 00 00 - mov [rdi+00000570],00000005
Player:UpdatePlacementGhost+731: 49 8B CC - mov rcx,r12
Player:UpdatePlacementGhost+734: 66 90 - nop 2
Player:UpdatePlacementGhost+736: 49 BB 40 40 1A 0C 1D 02 00 00 - mov r11,UnityEngine:Object:op_Implicit
Player:UpdatePlacementGhost+740: 41 FF D3 - call r11
Player:UpdatePlacementGhost+743: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+745: 74 17 - je Player:UpdatePlacementGhost+75e
Player:UpdatePlacementGhost+747: 41 0F B6 84 24 98 00 00 00 - movzx eax,byte ptr [r12+00000098]
Player:UpdatePlacementGhost+750: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+752: 75 0A - jne Player:UpdatePlacementGhost+75e
// ---------- INJECTING HERE ----------
Player:UpdatePlacementGhost+754: C7 87 70 05 00 00 01 00 00 00 - mov [rdi+00000570],00000001
// ---------- DONE INJECTING ----------
Player:UpdatePlacementGhost+75e: 41 0F B6 86 A0 00 00 00 - movzx eax,byte ptr [r14+000000A0]
Player:UpdatePlacementGhost+766: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+768: 74 2C - je Player:UpdatePlacementGhost+796
Player:UpdatePlacementGhost+76a: 48 8B 8D C8 F9 FF FF - mov rcx,[rbp-00000638]
Player:UpdatePlacementGhost+771: 33 D2 - xor edx,edx
Player:UpdatePlacementGhost+773: 66 66 90 - nop 3
Player:UpdatePlacementGhost+776: 49 BB 6A 66 19 0C 1D 02 00 00 - mov r11,0000021D0C19666A
Player:UpdatePlacementGhost+780: 41 FF D3 - call r11
Player:UpdatePlacementGhost+783: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+785: 74 0F - je Player:UpdatePlacementGhost+796
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>52518</ID>
<Description>"Build on wood (Campfire..)"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-03-25
Author :
This script does blah blah blah
}
define(address,Player:UpdatePlacementGhost+968)
define(bytes,C7 87 70 05 00 00 01 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,Player:UpdatePlacementGhost+968)
label(code)
label(return)
newmem:
code:
//mov [rdi+00000570],00000001
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// mov [rdi+00000570],00000001
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacementGhost+968
Player:UpdatePlacementGhost+93e: 49 BB 40 40 1A 0C 1D 02 00 00 - mov r11,UnityEngine:Object:op_Implicit
Player:UpdatePlacementGhost+948: 41 FF D3 - call r11
Player:UpdatePlacementGhost+94b: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+94d: 74 23 - je Player:UpdatePlacementGhost+972
Player:UpdatePlacementGhost+94f: 49 63 84 24 94 00 00 00 - movsxd rax,dword ptr [r12+00000094]
Player:UpdatePlacementGhost+957: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+959: 74 0D - je Player:UpdatePlacementGhost+968
Player:UpdatePlacementGhost+95b: 49 63 84 24 94 00 00 00 - movsxd rax,dword ptr [r12+00000094]
Player:UpdatePlacementGhost+963: 83 F8 03 - cmp eax,03
Player:UpdatePlacementGhost+966: 75 0A - jne Player:UpdatePlacementGhost+972
// ---------- INJECTING HERE ----------
Player:UpdatePlacementGhost+968: C7 87 70 05 00 00 01 00 00 00 - mov [rdi+00000570],00000001
// ---------- DONE INJECTING ----------
Player:UpdatePlacementGhost+972: 41 0F B6 86 A5 00 00 00 - movzx eax,byte ptr [r14+000000A5]
Player:UpdatePlacementGhost+97a: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+97c: 74 28 - je Player:UpdatePlacementGhost+9a6
Player:UpdatePlacementGhost+97e: F3 0F 10 85 F4 F9 FF FF - movss xmm0,[rbp-0000060C]
Player:UpdatePlacementGhost+986: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
Player:UpdatePlacementGhost+98a: F3 0F 10 0D AE 13 00 00 - movss xmm1,[Player:UpdatePlacementGhost+1d40]
Player:UpdatePlacementGhost+992: F3 0F 5A C9 - cvtss2sd xmm1,xmm1
Player:UpdatePlacementGhost+996: 66 0F 2F C8 - comisd xmm1,xmm0
Player:UpdatePlacementGhost+99a: 76 0A - jna Player:UpdatePlacementGhost+9a6
Player:UpdatePlacementGhost+99c: C7 87 70 05 00 00 01 00 00 00 - mov [rdi+00000570],00000001
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>52519</ID>
<Description>"Build through buildings (walls,..)"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-03-25
Author :
This script does blah blah blah
}
define(address,Player:UpdatePlacementGhost+1beb)
define(bytes,C7 87 70 05 00 00 01 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,Player:UpdatePlacementGhost+1beb)
label(code)
label(return)
newmem:
code:
//mov [rdi+00000570],00000001
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// mov [rdi+00000570],00000001
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacementGhost+1beb
Player:UpdatePlacementGhost+1bbd: F3 0F 10 05 FB 00 00 00 - movss xmm0,[Player:UpdatePlacementGhost+1cc0]
Player:UpdatePlacementGhost+1bc5: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
Player:UpdatePlacementGhost+1bc9: 48 8B CF - mov rcx,rdi
Player:UpdatePlacementGhost+1bcc: F2 0F 10 D0 - movsd xmm2,xmm0
Player:UpdatePlacementGhost+1bd0: F2 0F 5A D2 - cvtsd2ss xmm2,xmm2
Player:UpdatePlacementGhost+1bd4: 66 90 - nop 2
Player:UpdatePlacementGhost+1bd6: 49 BB 60 19 9C 4F 1D 02 00 00 - mov r11,Player:TestGhostClipping
Player:UpdatePlacementGhost+1be0: 41 FF D3 - call r11
Player:UpdatePlacementGhost+1be3: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+1be5: 0F 84 72 00 00 00 - je Player:UpdatePlacementGhost+1c5d
// ---------- INJECTING HERE ----------
Player:UpdatePlacementGhost+1beb: C7 87 70 05 00 00 01 00 00 00 - mov [rdi+00000570],00000001
// ---------- DONE INJECTING ----------
Player:UpdatePlacementGhost+1bf5: E9 63 00 00 00 - jmp Player:UpdatePlacementGhost+1c5d
Player:UpdatePlacementGhost+1bfa: 48 8B 8F 70 04 00 00 - mov rcx,[rdi+00000470]
Player:UpdatePlacementGhost+1c01: 48 8D 64 24 00 - lea rsp,[rsp+00]
Player:UpdatePlacementGhost+1c06: 49 BB 40 40 1A 0C 1D 02 00 00 - mov r11,UnityEngine:Object:op_Implicit
Player:UpdatePlacementGhost+1c10: 41 FF D3 - call r11
Player:UpdatePlacementGhost+1c13: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+1c15: 74 1C - je Player:UpdatePlacementGhost+1c33
Player:UpdatePlacementGhost+1c17: 48 8B 87 70 04 00 00 - mov rax,[rdi+00000470]
Player:UpdatePlacementGhost+1c1e: 48 8B C8 - mov rcx,rax
Player:UpdatePlacementGhost+1c21: 33 D2 - xor edx,edx
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>52520</ID>
<Description>"(Stations-upgrades) Build even if no station"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-03-25
Author :
This script does blah blah blah
}
define(address,Player:UpdatePlacementGhost+6eb)
define(bytes,C7 87 70 05 00 00 07 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,Player:UpdatePlacementGhost+6eb)
label(code)
label(return)
newmem:
code:
//mov [rdi+00000570],00000007
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// mov [rdi+00000570],00000007
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacementGhost+6eb
Player:UpdatePlacementGhost+6c0: 48 8D 64 24 00 - lea rsp,[rsp+00]
Player:UpdatePlacementGhost+6c5: 90 - nop
Player:UpdatePlacementGhost+6c6: 49 BB 50 90 B0 4E 1D 02 00 00 - mov r11,StationExtension:StartConnectionEffect
Player:UpdatePlacementGhost+6d0: 41 FF D3 - call r11
Player:UpdatePlacementGhost+6d3: EB 20 - jmp Player:UpdatePlacementGhost+6f5
Player:UpdatePlacementGhost+6d5: 48 8B CB - mov rcx,rbx
Player:UpdatePlacementGhost+6d8: 83 3B 00 - cmp dword ptr [rbx],00
Player:UpdatePlacementGhost+6db: 66 66 90 - nop 3
Player:UpdatePlacementGhost+6de: 49 BB C0 8D B0 4E 1D 02 00 00 - mov r11,StationExtension:StopConnectionEffect
Player:UpdatePlacementGhost+6e8: 41 FF D3 - call r11
// ---------- INJECTING HERE ----------
Player:UpdatePlacementGhost+6eb: C7 87 70 05 00 00 07 00 00 00 - mov [rdi+00000570],00000007
// ---------- DONE INJECTING ----------
Player:UpdatePlacementGhost+6f5: F3 41 0F 10 86 AC 00 00 00 - movss xmm0,[r14+000000AC]
Player:UpdatePlacementGhost+6fe: F3 0F 5A C0 - cvtss2sd xmm0,xmm0
Player:UpdatePlacementGhost+702: 48 8B CB - mov rcx,rbx
Player:UpdatePlacementGhost+705: F2 0F 10 C8 - movsd xmm1,xmm0
Player:UpdatePlacementGhost+709: F2 0F 5A C9 - cvtsd2ss xmm1,xmm1
Player:UpdatePlacementGhost+70d: 83 3B 00 - cmp dword ptr [rbx],00
Player:UpdatePlacementGhost+710: 48 8D 64 24 00 - lea rsp,[rsp+00]
Player:UpdatePlacementGhost+715: 90 - nop
Player:UpdatePlacementGhost+716: 49 BB 20 8E B0 4E 1D 02 00 00 - mov r11,StationExtension:OtherExtensionInRange
Player:UpdatePlacementGhost+720: 41 FF D3 - call r11
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>52521</ID>
<Description>"(Stations-upgrades) Build even if no place"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : valheim.exe
Version:
Date : 2021-03-25
Author :
This script does blah blah blah
}
define(address,Player:UpdatePlacementGhost+727)
define(bytes,C7 87 70 05 00 00 05 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,Player:UpdatePlacementGhost+727)
label(code)
label(return)
newmem:
code:
//mov [rdi+00000570],00000005
jmp return
address:
jmp newmem
nop 5
return:
[DISABLE]
address:
db bytes
// mov [rdi+00000570],00000005
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacementGhost+727
Player:UpdatePlacementGhost+702: 48 8B CB - mov rcx,rbx
Player:UpdatePlacementGhost+705: F2 0F 10 C8 - movsd xmm1,xmm0
Player:UpdatePlacementGhost+709: F2 0F 5A C9 - cvtsd2ss xmm1,xmm1
Player:UpdatePlacementGhost+70d: 83 3B 00 - cmp dword ptr [rbx],00
Player:UpdatePlacementGhost+710: 48 8D 64 24 00 - lea rsp,[rsp+00]
Player:UpdatePlacementGhost+715: 90 - nop
Player:UpdatePlacementGhost+716: 49 BB 20 8E B0 4E 1D 02 00 00 - mov r11,StationExtension:OtherExtensionInRange
Player:UpdatePlacementGhost+720: 41 FF D3 - call r11
Player:UpdatePlacementGhost+723: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+725: 74 0A - je Player:UpdatePlacementGhost+731
// ---------- INJECTING HERE ----------
Player:UpdatePlacementGhost+727: C7 87 70 05 00 00 05 00 00 00 - mov [rdi+00000570],00000005
// ---------- DONE INJECTING ----------
Player:UpdatePlacementGhost+731: 49 8B CC - mov rcx,r12
Player:UpdatePlacementGhost+734: 66 90 - nop 2
Player:UpdatePlacementGhost+736: 49 BB 40 40 1A 0C 1D 02 00 00 - mov r11,UnityEngine:Object:op_Implicit
Player:UpdatePlacementGhost+740: 41 FF D3 - call r11
Player:UpdatePlacementGhost+743: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+745: 74 17 - je Player:UpdatePlacementGhost+75e
Player:UpdatePlacementGhost+747: 41 0F B6 84 24 98 00 00 00 - movzx eax,byte ptr [r12+00000098]
Player:UpdatePlacementGhost+750: 85 C0 - test eax,eax
Player:UpdatePlacementGhost+752: 75 0A - jne Player:UpdatePlacementGhost+75e
Player:UpdatePlacementGhost+754: E9 F7 59 F9 FB - jmp 21EC9C70000
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>