Request for Project Hospital

Ask about cheats/tables for single player games here
Kaedus
Expert Cheater
Expert Cheater
Posts: 282
Joined: Thu Aug 10, 2017 2:22 pm
Reputation: 42

Re: Request for Project Hospital

Post by Kaedus »

fantomas wrote:
Mon Jul 22, 2019 1:38 pm
"Unlock All Departments"
"Fast LVL Up"
does not work either in GOG or Steam. :? Well, at least the "max skills/specializations" works

User avatar
fantomas
Table Makers
Table Makers
Posts: 1163
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Request for Project Hospital

Post by fantomas »

Kaedus wrote:
Mon Jul 22, 2019 7:27 pm
does not work either in GOG or Steam. :? Well, at least the "max skills/specializations" works
It does work perfectly here. Also, since the game is using mono and mono is using JIT (Just in time) compilation, the game might generate code differently on different system to optimize performance,eg:(amd vs intel cpu). So, if the table has been updated to the latest steam/gog version and you're still can't use it (or partially use it), then your game is generating code differently than my game, which I can't do much because we don't have the same system.

Cronos91
Noobzor
Noobzor
Posts: 6
Joined: Wed Sep 05, 2018 7:58 am
Reputation: 4

Re: Request for Project Hospital

Post by Cronos91 »

Thanks for your table! I recently updated the game via Steam (I had no connection for long time) and some features are not working at all. The few option available for ticking (the square boxes) don't even mork in game. Any ideas? I am using last CE version and the debugging option that fantomas suggested. Thanks in advance!

User avatar
cfemen
RCE Fanatics
RCE Fanatics
Posts: 871
Joined: Fri Feb 15, 2019 5:45 pm
Reputation: 1479

Re: Request for Project Hospital

Post by cfemen »

fantomas wrote:
Mon Jul 22, 2019 8:37 pm
Kaedus wrote:
Mon Jul 22, 2019 7:27 pm
does not work either in GOG or Steam. :? Well, at least the "max skills/specializations" works
It does work perfectly here. Also, since the game is using mono and mono is using JIT (Just in time) compilation, the game might generate code differently on different system to optimize performance,eg:(amd vs intel cpu). So, if the table has been updated to the latest steam/gog version and you're still can't use it (or partially use it), then your game is generating code differently than my game, which I can't do much because we don't have the same system.
Heyo fantomas,

for the JIT problem you can use aobscanregion :)

with it you can search for short aobs in an range (things like mov [eax+4],ecx that should be always the same on all CPUs ) instead of using fixed offsets with the define command.

Edit :
viewtopic.php?f=2&t=10703&p=110179#p110179

Example script from me with an region scan and mono

User avatar
fantomas
Table Makers
Table Makers
Posts: 1163
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Request for Project Hospital

Post by fantomas »

@cfemen

The message you quoted, I post it virtually in all my unity game tables because I prioritize the mono method on the aobscan method and in this case there is a 99% chance that there will be people who will say that it works or it does not work, and the cause which I refer in the quoted comment.
Only, in this comment, I do not give the example of what can be different according to the systems, whereas in other topics, I do. Now, I'll take the example of your script...

aobscanregion(aobMoney,Mirage:MoneyUI:OnMoneyChanged,Mirage:MoneyUI:OnMoneyChanged+100,48 89)

So we have aobScanRegion(SymbolName, StartAddress, StopAddress, AOBString) - In your example, your StopAddress is Mirage:MoneyUI:OnMoneyChanged+100, while in my system (or another one), it can be the same or could be different (ex: Mirage:MoneyUI:OnMoneyChanged+102). And if is that the case, the script will not work.

In aobscan method case, it is less restrictive, as long as you find the correct wildcards. But the mos tof time, you'll have to perform an in-game action before activating the script.

User avatar
cfemen
RCE Fanatics
RCE Fanatics
Posts: 871
Joined: Fri Feb 15, 2019 5:45 pm
Reputation: 1479

Re: Request for Project Hospital

Post by cfemen »

fantomas wrote:
Mon Nov 04, 2019 11:38 pm
@cfemen

~snip

Yes you are right, coz this i add always ~50 bytes to the stop address, if its on my System +50 then i make an scan from 0-100 to give the script a high chance to find the aobs on other systems :)

I have really good experience with aobscanregion combined with mono, since i use it nobody writes that the script does not activate.

Cronos91
Noobzor
Noobzor
Posts: 6
Joined: Wed Sep 05, 2018 7:58 am
Reputation: 4

Re: Request for Project Hospital

Post by Cronos91 »

fantomas wrote:
Mon Jul 22, 2019 8:37 pm
Kaedus wrote:
Mon Jul 22, 2019 7:27 pm
does not work either in GOG or Steam. :? Well, at least the "max skills/specializations" works
It does work perfectly here. Also, since the game is using mono and mono is using JIT (Just in time) compilation, the game might generate code differently on different system to optimize performance,eg:(amd vs intel cpu). So, if the table has been updated to the latest steam/gog version and you're still can't use it (or partially use it), then your game is generating code differently than my game, which I can't do much because we don't have the same system.
My apologies for my ignorance but: why is the table not fully working now that I have updated the game while it worked well before? I mean, how is it possible that the game is "generating code differently" just now? Thanks!

Edit: I have been reading comments also on your MTatPortia Table and I see the "problem" is still the same so: how can I find and then edit those little values to adapt your Project Hospital table (Mainly your fantastic Max Skills/Spec feature) to my system? If I sound like a complete noob in this is because I actually am :D. Thanks in advance!

User avatar
fantomas
Table Makers
Table Makers
Posts: 1163
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Request for Project Hospital

Post by fantomas »

Cronos91 wrote:
Tue Nov 05, 2019 7:34 am
My apologies for my ignorance but: why is the table not fully working now that I have updated the game while it worked well before? I mean, how is it possible that the game is "generating code differently" just now? Thanks!

Edit: I have been reading comments also on your MTatPortia Table and I see the "problem" is still the same so: how can I find and then edit those little values to adapt your Project Hospital table (Mainly your fantastic Max Skills/Spec feature) to my system? If I sound like a complete noob in this is because I actually am :D. Thanks in advance!
Yes, cfemen's suggestion would be more appropriate approche than mine when dealing with mono games. Here the updated script for build v1.1.17351 but as I didn't play the game since a long time, I no longer know how the script is supposing to affect the employee's skills/specs. The max value is 5 (float), this is what the script is doing but I didn't see any change on the screen value. Maybe you have better eyes. :P But I just did Tutorial 1.

Code: Select all

{ Game: Project Hospital
  Version: 1.1.17351 Steam
  Date   : 2019-11-05
  Author : fantomas

  This script gives your employees skills and specializations max level
}

[ENABLE]
//SkillLevelSegmentController:UpdateData+20
aobscanregion(maxSkillLevel,SkillLevelSegmentController:UpdateData,SkillLevelSegmentController:UpdateData+100,F3 0F 10 4E)
alloc(newmem,$1000,maxSkillLevel)

label(code)
label(return)

newmem:
  mov [rsi+28],(float)5 { 100 }

code:
  movss xmm1,[rsi+28]
  jmp return

maxSkillLevel:
  jmp newmem
return:
registersymbol(maxSkillLevel)

[DISABLE]
maxSkillLevel:
  db F3 0F 10 4E 28

unregistersymbol(maxSkillLevel)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SkillLevelSegmentController:UpdateData+20

0E9B7101: 48 8B EC                       -  mov rbp,rsp
0E9B7104: 56                             -  push rsi
0E9B7105: 57                             -  push rdi
0E9B7106: 41 55                          -  push r13
0E9B7108: 41 56                          -  push r14
0E9B710A: 48 83 EC 20                    -  sub rsp,20
0E9B710E: 48 8B F9                       -  mov rdi,rcx
0E9B7111: 48 8B F2                       -  mov rsi,rdx
0E9B7114: F3 0F 10 05 34 03 00 00        -  movss xmm0,[0E9B7450]
0E9B711C: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
// ---------- INJECTING HERE ----------
0E9B7120: F3 0F 10 4E 28                 -  movss xmm1,[rsi+28]
// ---------- DONE INJECTING  ----------
0E9B7125: F3 0F 5A C9                    -  cvtss2sd xmm1,xmm1
0E9B7129: F3 0F 10 15 0F 03 00 00        -  movss xmm2,[0E9B7440]
0E9B7131: F3 0F 5A D2                    -  cvtss2sd xmm2,xmm2
0E9B7135: F2 0F 5C CA                    -  subsd xmm1,xmm2
0E9B7139: F2 0F 59 C1                    -  mulsd xmm0,xmm1
0E9B713D: F3 0F 10 0D EB 02 00 00        -  movss xmm1,[0E9B7430]
0E9B7145: F3 0F 5A C9                    -  cvtss2sd xmm1,xmm1
0E9B7149: F2 0F 5E C1                    -  divsd xmm0,xmm1
0E9B714D: F2 44 0F 2C F0                 -  cvttsd2si r14d,xmm0
0E9B7152: 48 85 F6                       -  test rsi,rsi
}
Last edited by fantomas on Sat Nov 30, 2019 9:13 am, edited 1 time in total.

Cronos91
Noobzor
Noobzor
Posts: 6
Joined: Wed Sep 05, 2018 7:58 am
Reputation: 4

Re: Request for Project Hospital

Post by Cronos91 »

fantomas wrote:
Tue Nov 05, 2019 2:55 pm
Cronos91 wrote:
Tue Nov 05, 2019 7:34 am
My apologies for my ignorance but: why is the table not fully working now that I have updated the game while it worked well before? I mean, how is it possible that the game is "generating code differently" just now? Thanks!

Edit: I have been reading comments also on your MTatPortia Table and I see the "problem" is still the same so: how can I find and then edit those little values to adapt your Project Hospital table (Mainly your fantastic Max Skills/Spec feature) to my system? If I sound like a complete noob in this is because I actually am :D. Thanks in advance!
Yes, cfemen's suggestion would be more appropriate approche than mine when dealing with mono games. Here the updated script for build v1.1.17351 but as I didn't play the game since a long time, I no longer know how the script is supposing to affect the employee's skills/specs. The max value is 5 (float), this is what the script is doing but I didn't see any change on the screen value. Maybe you have better eyes. :P But I just did Tutorial 1.

Code: Select all

[ENABLE]
aobscanregion(aobSkillControllerScan,SkillLevelSegmentController:UpdateData,SkillLevelSegmentController:UpdateData+360,F3 0F 10 05)
alloc(newmem,$1000,aobSkillControllerScan)

label(code)
label(return)

newmem:
  mov [rsi+28],(float)5 { 100 }

code:
  movss xmm1,[rsi+28]
  jmp return

aobSkillControllerScan+0C:
  jmp newmem
return:
registersymbol(aobSkillControllerScan)

[DISABLE]
aobSkillControllerScan+0C:
  db F3 0F 10 4E 28

unregistersymbol(aobSkillControllerScan)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: SkillLevelSegmentController:UpdateData+20

051B8E52: 8B EC                          -  mov ebp,esp
051B8E54: 56                             -  push rsi
051B8E55: 57                             -  push rdi
051B8E56: 41 55                          -  push r13
051B8E58: 41 56                          -  push r14
051B8E5A: 48 83 EC 20                    -  sub rsp,20
051B8E5E: 48 8B F9                       -  mov rdi,rcx
051B8E61: 48 8B F2                       -  mov rsi,rdx
051B8E64: F3 0F 10 05 44 03 00 00        -  movss xmm0,[051B91B0]  //the aobscan starts here - F3 0F 10 05
051B8E6C: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
// ---------- INJECTING HERE ----------
051B8E70: F3 0F 10 4E 28                 -  movss xmm1,[rsi+28]   //to jump here
// ---------- DONE INJECTING  ----------
051B8E75: F3 0F 5A C9                    -  cvtss2sd xmm1,xmm1
051B8E79: F3 0F 10 15 1F 03 00 00        -  movss xmm2,[051B91A0]
051B8E81: F3 0F 5A D2                    -  cvtss2sd xmm2,xmm2
051B8E85: F2 0F 5C CA                    -  subsd xmm1,xmm2
051B8E89: F2 0F 59 C1                    -  mulsd xmm0,xmm1
051B8E8D: F3 0F 10 0D FB 02 00 00        -  movss xmm1,[051B9190]
051B8E95: F3 0F 5A C9                    -  cvtss2sd xmm1,xmm1
051B8E99: F2 0F 5E C1                    -  divsd xmm0,xmm1
051B8E9D: F2 44 0F 2C F0                 -  cvttsd2si r14d,xmm0
051B8EA2: 48 85 F6                       -  test rsi,rsi
}
Wow, I actually don't know what you did but it worked like a charm! Thank you so much for your help, really :)! So kind!

Kaedus
Expert Cheater
Expert Cheater
Posts: 282
Joined: Thu Aug 10, 2017 2:22 pm
Reputation: 42

Re: Request for Project Hospital

Post by Kaedus »

fantomas wrote:
Tue Nov 05, 2019 2:55 pm
A new patch and dlc was released with the staff editor.
Max skill / specialization and fast lvl up does not work. And if you change the skill to staff, it will be 0% instead of 100%

UPD ok, max skill / specialization work with fixing the script from your post viewtopic.php?p=110842#p110842 Can you fix the lvl up?

User avatar
fantomas
Table Makers
Table Makers
Posts: 1163
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Request for Project Hospital

Post by fantomas »

Kaedus wrote:
Wed Nov 27, 2019 9:02 am
Can you fix the lvl up?
Hi,

Try this one:

Code: Select all

{ Game:   Project Hospital
  Version: 1.1.17617 Steam
  Date:     2019-11-29
  Author:  fantomas

  This script gives your employees fast level up
}

[ENABLE]
//Lopital:EmployeeComponent:AddExperiencePoints+204
aobscanregion(fastLevelUp,Lopital:EmployeeComponent:AddExperiencePoints+100,Lopital:EmployeeComponent:AddExperiencePoints+300,48 63 40 70 48 89 45 C0)
alloc(newmem,$1000,fastLevelUp)

label(code)
label(return)

newmem:
  mov [rax+48],#0    //m_salary
  mov [rax+68],(float)100   //m_efficiency
  mov [rax+6C],#5    //m_level
  mov [rax+70],#3000 //m_points

code:
  movsxd  rax,dword ptr [rax+70]
  mov [rbp-40],rax
  jmp return

fastLevelUp:
  jmp newmem
  nop 3
return:
registersymbol(fastLevelUp)

[DISABLE]
fastLevelUp:
  db 48 63 40 70 48 89 45 C0

unregistersymbol(fastLevelUp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Lopital:EmployeeComponent:AddExperiencePoints+204

094BD3C8: 49 BB 50 12 53 09 00 00 00 00  -  mov r11,0000000009531250
094BD3D2: 41 FF D3                       -  call r11
094BD3D5: 48 83 C4 20                    -  add rsp,20
094BD3D9: 48 8B D0                       -  mov rdx,rax
094BD3DC: B9 03 00 00 00                 -  mov ecx,00000003
094BD3E1: B8 05 00 00 00                 -  mov eax,00000005
094BD3E6: 48 85 D2                       -  test rdx,rdx
094BD3E9: 48 0F 44 C1                    -  cmove rax,rcx
094BD3ED: 89 45 DC                       -  mov [rbp-24],eax
094BD3F0: 48 8B 47 18                    -  mov rax,[rdi+18]
// ---------- INJECTING HERE ----------
094BD3F4: 48 63 40 70                    -  movsxd  rax,dword ptr [rax+70]
094BD3F8: 48 89 45 C0                    -  mov [rbp-40],rax
// ---------- DONE INJECTING  ----------
094BD3FC: 48 8B CF                       -  mov rcx,rdi
094BD3FF: 48 83 EC 20                    -  sub rsp,20
094BD403: 49 BB A0 DE DA 9F 00 00 00 00  -  mov r11,000000009FDADEA0
094BD40D: 41 FF D3                       -  call r11
094BD410: 48 83 C4 20                    -  add rsp,20
094BD414: 48 8B C8                       -  mov rcx,rax
094BD417: 48 8B 45 C0                    -  mov rax,[rbp-40]
094BD41B: 3B C1                          -  cmp eax,ecx
094BD41D: 0F 8C 2D 0B 00 00              -  jl 094BDF50
094BD423: 48 8B 47 18                    -  mov rax,[rdi+18]
}

Kaedus
Expert Cheater
Expert Cheater
Posts: 282
Joined: Thu Aug 10, 2017 2:22 pm
Reputation: 42

Re: Request for Project Hospital

Post by Kaedus »

fantomas wrote:
Fri Nov 29, 2019 3:47 pm
Hi,
Try this one:
Thanks, It works.

User avatar
fantomas
Table Makers
Table Makers
Posts: 1163
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Request for Project Hospital

Post by fantomas »

Minor fixes to support the last update v1.1.17617 for Steam.
It probably will work in GoG version as well.
Enjoy! ;)

fantomas

Kaedus
Expert Cheater
Expert Cheater
Posts: 282
Joined: Thu Aug 10, 2017 2:22 pm
Reputation: 42

Re: Request for Project Hospital

Post by Kaedus »

fantomas wrote:
Sat Nov 30, 2019 9:26 am
Minor fixes to support the last update v1.1.17617 for Steam.
It probably will work in GoG version as well.
Enjoy! ;)

fantomas
I'm not sure, but it seems LVL up does not allow you to take specialization to a doctor. Plus, it resets the specializations of the doctors that I created in the character editor.

User avatar
fantomas
Table Makers
Table Makers
Posts: 1163
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Request for Project Hospital

Post by fantomas »

Kaedus wrote:
Sat Nov 30, 2019 11:39 am
I'm not sure, but it seems LVL up does not allow you to take specialization to a doctor. Plus, it resets the specializations of the doctors that I created in the character editor.
Thank you for your feedback - Just a question, did it work before (with previous game/table version)?

Post Reply

Who is online

Users browsing this forum: alchierevolution, Baidu [Spider], Bing [Bot], johnsmithie22, nin827