Planetbase
подробнее об игре
  
НАВИГАЦИЯ ИГРЫ

Planetbase: Совет (Как поменять стартовые значения, на примере планеты класса D)

Первым делом, находим у себя на компьютере программу ildasm (Я нашел у себя на C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools). Запускаем его. Должно появится такое окошко.

Открываем файл Assembly-CSharp.dll, обычно находится в С:\Program Files (x86)\Steam\steamapps\common\Planetbase\Planetbase_Data\Managed, но у меня на диске Z.

Совет: Прежде чем что-либо делать, сделайте резервную копию файла Assembly-CSharp.dll.

Сохраняем дамп для дальнейшего редактирования.

В моем случае я сохранил как 123 (помимо 123.il в папке появится еще файл 123.res).

Теперь открываем файл 123.il любым удобным для нас текстовым редактором, можно даже стоковым виндовым блокнотом.

Ищем значение PlanetClassD

Отрезок кода отвечающий за погодные условия (значение находится строкой выше наименование параметра)

    IL_004c:  ldc.i4.2
    IL_004d:  stfld      valuetype Planetbase.Planet/Quantity Planetbase.Planet::mAtmosphereDensity
    IL_0052:  ldarg.0
    IL_0053:  ldc.i4.2
    IL_0054:  stfld      valuetype Planetbase.Planet/Quantity Planetbase.Planet::mLightAmount
    IL_0059:  ldarg.0
    IL_005a:  ldc.i4.2
    IL_005b:  stfld      valuetype Planetbase.Planet/Quantity Planetbase.Planet::mSandstormRisk
    IL_0060:  ldarg.0
    IL_0061:  ldc.i4.0
    IL_0062:  stfld      valuetype Planetbase.Planet/Quantity Planetbase.Planet::mSolarFlareRisk
    IL_0067:  ldarg.0
    IL_0068:  ldc.i4.1
    IL_0069:  stfld      valuetype Planetbase.Planet/Quantity Planetbase.Planet::mMeteorRisk

Кусок, отвечающий за количество людей.
К примеру, строка IL-006f: idc.i4.3 указывает что Worker`ов будет 3. Максимум, что я ставил, это значение 4. Но проверить можете.

    IL_006e:  ldarg.0
    IL_006f:  ldc.i4.3
    IL_0070:  call       instance void Planetbase.Planet::addStartingSpecialization(int32)
    IL_0075:  ldarg.0

    IL_0076:  ldc.i4.2
    IL_0077:  call       instance void Planetbase.Planet::addStartingSpecialization(int32)
    IL_007c:  ldarg.0
    IL_007d:  ldc.i4.1
    IL_007e:  call       instance void Planetbase.Planet::addStartingSpecialization(int32)
    IL_0083:  ldarg.0
    IL_0084:  ldc.i4.1
    IL_0085:  call       instance void Planetbase.Planet::addStartingSpecialization(int32)
    IL_008a:  ldarg.0
    IL_008b:  ldc.i4.1
    IL_008c:  call       instance void Planetbase.Planet::addStartingSpecialization(int32)
    IL_0091:  ldarg.0
    IL_0092:  ldc.i4.1
    IL_0093:  call       instance void Planetbase.Planet::addStartingSpecialization(int32)

Следующая часть кода отвечает за количество стартовых ресурсов. То есть металла будет 35, биопластика - 30, еды - 25 и т. д. Я пробовал менять на 1000, но после компиляции игра не запускалась. Поэтому ставил всего 99, можете проэксперементировать.

    IL_0098:  ldarg.0
    IL_0099:  ldc.i4.s   35
    IL_009b:  call       instance void Planetbase.Planet::addStartingResource(int32)
    IL_00a0:  ldarg.0
    IL_00a1:  ldc.i4.s   30
    IL_00a3:  call       instance void Planetbase.Planet::addStartingResource(int32)
    IL_00a8:  ldarg.0
    IL_00a9:  ldc.i4.s   25
    IL_00ab:  call       instance void Planetbase.Planet::addStartingResource(int32)
    IL_00b0:  ldarg.0
    IL_00b1:  ldc.i4.s   10
    IL_00b3:  call       instance void Planetbase.Planet::addStartingResource(int32)
    IL_00b8:  ldarg.0
    IL_00b9:  ldc.i4.s   10
    IL_00bb:  call       instance void Planetbase.Planet::addStartingResource(int32)

Сохраняем измененный файл.

Теперь ищем программу ilasm.exe, я нашел его в папке C:\Windows\Microsoft.NET\Framework64\v4.0.30319, копируем его в папку с сохраненным измененным файлом 123.il. Запускаем консоль (Win+R, пишем cmd и запуск).

Через консоль командой "CD" переходим в папку где сохранили 123.il (у меня - Z:\Program Files (x86)\Steam\steamapps\common\Planetbase\Planetbase_Data\Managed).

Набираем в консоли "ilasm 123.il /resource=123.res /dll"

Если у нас все получилось, то в консоле напишет "Operation completed successfully", а если ошиблись, то "***** FAILURE *****", а выше строку ошибки, попробуйте уменьшить количество указанное в той строке.

И последний шаг, заменить 123.dll на Assembly-CSharp.dll.

Приятного времяпровождения!

Нравится 6
Комментарии (1)
B
i
u
Спойлер

Вы уверены что хотите удалить этот комментарий?