Destructible bases in MP
-
Works totally at the server side!
No client modding
Change code of your system ini file, for example st04.ini:; Our total destructible base :) [Object] nickname = ST04_02 pos = -6560, 0, -2900 ids_name = 501054 ids_info = 501055 dock_with = ST04_02_Base base = ST04_02_Base rotate = 0, 90, 0 reputation = gd_z_grp archetype = gas_miner_old ; unique archetype, or players may crash server from other systems behavior = NOTHING voice = atc_leg_m01 space_costume = br_brighton_head, pl_male1_peasant_body difficulty_level = 19 loadout = gas_miner_old_co_01 ; loadout must be from unique archetype gas_miner_old or server will crash pilot = pilot_solar_hardest ; This section must be after your Base section ; or player will spawn always at the planet [Object] nickname = ST04_planet_1 ids_name = 501001 ids_info = 525186 spin = 0, 0.001000, 0 rotate = 0, 0, 0 pos = 11462, 0, 18763 archetype = planet_desored_1500 atmosphere_range = 1800 burn_color = 255, 222, 160 archetype = depot ; dockable arhectype base = ST04_02_Base ; we will respawn from this planet after the base total destruction dock_with = ST04_02_Base ; tells to the server the base is still dockable ;) ; You may destroy all bases in system, so simply add oter bases in the list ; base = ST04_nX_base ; dock_with = ST04_nX_base ; base = ST04_nY_base ; dock_with = ST04_nY_base ; base = ST04_nZ_base ; dock_with = ST04_nZ_base ;..... ; base = ST04_nN_base ; dock_with = ST04_nN_base
-
Archetype must have cmp with dockable hardpoint.
Fuse must have death fuse and destroy root.
Respawn only after server restart (with Flak FLHook - dunno)Better to use unique archetype, for example gas_miner_old
In solararch.ini it looks like
nickname = gas_miner_old ... blahblahblah ... docking_sphere = jump, HpDockMountC, 205.500000 ; for all types of ships docking_sphere = jump, HpDockMountD, 205.500000 ; -//- docking_sphere = jump, HpDockMountE, 205.500000 ; -//- docking_sphere = jump, HpDockMountF, 205.500000 ; -//- docking_sphere = jump, HpDockMountG, 205.000000 ; -//- hit_pts = 3500000 ; it must be good for caps :) fuse = fuse_docking_ring, 0.000000, 1 ; death fuse with destroy root explosion_arch = explosion_docking_ring ; simple explosion
I have updated the code to the better version
-
Don’t these bases stay destroyed, and get reconstructed when FLServer is restarted?
-
Vital wrote:
And what about those players who logs in after base destruction?Will the base be indestructible for them?
How did you manage to solve this problem?
Yep, indestructible red base not working for dock and undock and did not shoot - immediately obvious that it was dead.
For full mod need to programm client-server hook.
Don’t these bases stay destroyed, and get reconstructed when FLServer is restarted?
That is what I’m trying to Vital to say
-
Last server-side research:
- “docking_fixture” is better
- Flak’s FLHook regenerates destroyed base earlier than server restart
-
seems wee have that problem to
you kill the base and then no one can dock
i have the settings in hook to regen them
but seems that something not working right
i talked with motah about it but he dosent know why ethier
seems when you shoot the base it blows up insted of just blowing out smoke and and doing the sound efects
so enyone ealse found a fix ??? -
Partial variant, without destroy_root:
Works at server side tooSystem:
[Object] nickname = ST04_02 pos = -6560, 0, -2900 ids_name = 501054 ids_info = 501055 dock_with = ST04_02_Base base = ST04_02_Base rotate = 0, 90, 0 reputation = gd_z_grp archetype = space_freeport01 behavior = NOTHING voice = atc_leg_m01 space_costume = br_brighton_head, pl_male1_peasant_body difficulty_level = 19 loadout = space_freeport01_co_03 pilot = pilot_solar_hardest
SolarArch:
[Solar] nickname = space_freeport01 ... blahblahblah ... type = STATION ... blahblahblah ... destructible = true hit_pts = 3500000 fuse = fuse_gas_collector_burning, 0.000000, 17325 ; fuses without destroy_root fuse = miningbase_small_ice_burning_fuse, 0, 1 ; -//- fuse = station_burning_fuse, 0.000000, 17325 ; -//- fuse = fuse_suprise_drop_loot, 0.000000, 3590 ; -//- fuse = fuse_gas_miner_burning, 0.000000, 17325 ; -//- fuse = fuse_space_arch_burning, 0.000000, 1 ; -//- fuse = freeport7_main_fuse1, 0.000000, 1 ; -//-
-
oops found a bug once the base has been destroyed
and on the rapair mode it dosent reset when its hit again
so im geting multiple console messages
saying the base has been destroyed
need to put a reset in there
have to wait on motah see whats the best way -
Repair mode = repair gun? Respawn timeout?
-
its needing to default back to that
AlternateRepairTime=360
if it repairing and it get hit again
othere wise it continuse to repair
and you get multiple killswchar_t wszBuf2[1024]; wstring Basename = HkGetWStringFromIDS(Universe::get_base(iID)->iBaseIDS); wstring Playername = Players.GetActiveCharacterName(iClientIDBy); swprintf(wszBuf2, L"basedestroyed=%s by=%s",(Basename).c_str() ,(Playername).c_str()); HkMsgU(wszBuf2);
add that to the end of void BaseDestroyed
im using 1.6.7
when it starts to repair shoot in you see what i mean -
Which is your serv - i wanna play :)))
-
-
Update for total destruction:
All bases can be destroyed - works fine at server-side (i have tested NY)
Each player on non-existent station respawns from the sun x)
Add additional stations to the respawn point like
base = blahblahbase
dock_with = blahblahbase