Alles wat je moet weten voordat je de game gaat modificeren. Ooit dit vuilnispistool nuttiger willen maken? Lijkt iets te overweldigend voor je? Wil je een onkwetsbare meme-machine maken? Of een wereldwijde serieuze herbalanceringsmod maken? Deze gids is er om je te helpen.
Disclaimer: de handleiding is nog steeds niet compleet en sommige onderdelen zijn niet af/niet goed beschreven. De voltooiingstermijn is onbepaald.
.seria-structuur
De game bewaart de meeste dingen in .seria-bestanden - of het nu een opslag-, verzendbestand of een configuratie is. Het is handig om het te begrijpen voordat je verder gaat met andere dingen.
.seria bestaat uit knooppunten die worden gescheiden door haakjes. Haakjes staan altijd op een nieuwe regel en er staan geen andere dingen op dezelfde regel. Alle knooppunten behalve de root hebben ook een header - een attribuut-waardepaar, waarbij een waarde meestal een int is. Headerwaarde mag niet uniek zijn. Voorbeeld van een niet-rootknooppunt (inhoud vervangen door "..."):
m_stats=2051 { ... }
Node-inhoud kan een combinatie zijn van het volgende:
- Een attribuut-waardepaar
m_children=15 { ... m_classname=Lichaam ... }
- Een geneste knoop
m_children=15 { ... m_mesh=1073741827 { ... } }
- (Alleen voor mesh-knooppunten) een reeks drijvers
{ m_classname=Mesh m_size=4 -3.53553 5.32097 -3.53553 -5.32097 3.53553 -5.32097 3.53553 5.32098 }
We zullen het later hebben over meshes.
Attribuut-waardeparen kunnen herhalen:
m_children=15 { ... m_sectors=1 m_sectors=1 m_sectors=1 m_sectors=1 m_sectors=1 m_sectors=1 #360 "m_sectoren" inzendingen in totaal ... }
Dat is hoe het spel omgaat met arrays. Bijvoorbeeld, 360 "m_sectoren"-vermeldingen duiden een schiet- of sensorboog aan in een scheepsbestand, één voor elke graad.
Als u .seria gaat parseren/bewerken, HAAK dan NOOIT IN. Dat zal het bestand breken.
Dat is eigenlijk alles wat u moet weten voordat u een .seria-bestand ontleden; configuratiebestanden voor onderdelen en zelfs saves volgen deze structuur, dus u kunt saves mogelijk wijzigen met deze kennis.
Bibliotheken/OL.seria
OL.seria bevat een eerste fractie van de parameters van de modules. De meeste (zo niet alle) hoeven hun status niet in een opslagbestand te bewaren, dat wil zeggen dat je ze kunt wijzigen en veranderingen in het spel kunt zien onmiddellijk na het opstarten + het laden van een opslag-/verzendbestand. Het bevat ook de parameters die u hoogstwaarschijnlijk gaat aanpassen: grootte van de wapenclip, herlaadsnelheid, kosten, hoeveelheid brandstof, stuwkracht/verbruik van de motor en nog veel meer.
Dit is een eenvoudig .seria-bestand met twee niveaus, waarbij elk onderdeel een
m_stats=2051 { ... }
invoer zonder geneste knooppunten. De meest potentieel interessante inzendingen zijn:
- m_oid is een van de interne modulenamen waaronder er in andere bestanden naar wordt verwezen. Het is goed om ze te leren voor modules die je gaat aanpassen.
- m_prijs is een prijs in goud. Terwijl de scheepskosten in een scheepsbestand worden geschreven, berekent de game deze automatisch opnieuw na het starten (tenminste voor scheepsbouw; niet bevestigd voor campagnemodus).
- m_reparatiekosten is een totale reparatietijd, eenheden onbekend
- m_icon_naam is een miniatuurnaam. Miniaturen worden geregistreerd in Media/Tex/Static*.res-bestanden.
- m_mdl_crew_need zijn bemanningseisen
- m_mdl_ammobox_need zijn munitievereisten. Grappig genoeg kan het worden ingesteld op een float-waarde zoals 0.5 en het zal werken.
- m_mdl_power_need zijn stroomvereisten, kW
- m_wapen_lading_bedrag is een wapen munitie clip
- m_wapen_laad_tijd is een klem herlaadtijd in eenheden. Eenheid = 4/7 (~0.571) seconden. Voor vliegtuigen is dit een onderhoudstijd in uren.
- m_wapen_snelheid is een clip-ontlaadsnelheid, rondes per minuut
- m_wapen_kaliber is een wapenkaliberindex. De belangrijkste wapenstatistiek - een gebruikt shell-type.
- m_raket_explosief is een explosieve lading voor tactische/arcaderaketten.
- m_raket_ap bepaalt hoe schade door pantser gaat. Alleen voor raketten, helaas.
- m_launched_health is een raketgezondheid na de lancering.
- m_gelanceerd_bereik is een bereik voor vliegtuigen/tactische/arcaderaketten. Voor strategische activa wordt het gemeten in km.
- m_gelanceerde_snelheid is een globale kaartsnelheid voor vliegtuig/tactische/arcade(ja) raketten in m/s.
- m_gelanceerd_snelheid2 is een arcadesnelheid voor vliegtuigen/tactische/arcaderaketten (lijkt km/u te zijn?)
- m_mdl_rotatie is een torentje rotatiesnelheid. Klinkt niet zo interessant, maar waarden als 1.5 en lager kunnen echt van invloed zijn op hoe comfortabel het pistool is om te gebruiken. De eenheden lijken rad/s te zijn.
- m_bronnen is een stapelbaar attribuut dat definieert hoeveel "resources" er nodig zijn om een onderdeel (romp/dek/pantser) te construeren.
De lijst is onvolledig maar bevat de belangrijkste zaken.
Bibliotheken/parts.seria
Dit bestand bevat nog een (grotere en technischere) fractie van modulestatistieken. Deze worden geschreven in een ship/save-bestand – technisch gezien wordt een parts.seria-item gekloond met enkele kleine wijzigingen/extra attributen. Dat betekent dat alles wat u in parts.seria wijzigt, niet wordt overgebracht naar reeds bestaande scheepsbestanden en saves. Alleen onderdelen die vers uit de scheepsbouw zijn geplukt, hebben nieuwe statistieken.
Er is een manier om scheepsbestanden (gedeeltelijk) bij te werken – zie de overeenkomstige sectie.
De bestandsstructuur is complexer:
{ ... #Root node tech stuff m_children=15 #An example entry; er zijn veel items zoals deze { attribute_one=value_one attribute_two=value_two ... m_mesh=1073741827 #Entries bevatten een enkele mesh-node... { ... } attribute_three=value_three ... m_sprites=536870915 #...en één /meerdere sprite-knooppunten... { ... } m_sprites=536870915 { ... } m_sprites=536870915 { ... } m_slots=2147483651 #... en nul/één/meerdere slotknooppunten { ... } m_slots= 2147483651 { ... } opt_attr_one=value_four opt_attr_two=value_five ... } ... #Overige module-items }
Het kan niet alleen attr=value-paren hebben, maar ook een extra niveau van geneste knooppunten. De onderliggende node-types zijn m_mesh (single), m_sprites (multiple) en m_slots (optioneel, multiple).
Mogelijk interessante eigenschappen:
- middenid is een knooppunt-ID. Betekent op zich niets, maar is belangrijk om bij te houden of je spel blijft crashen.
- m_master_id is een bovenliggende node-ID. Als het fout is, wordt je spel niet geladen/bevriest het bij scheepswerven.
- m_oid is dezelfde m_oid als in OL.seria.
- m_dichtheid beïnvloedt een modulemassa. Daarover hieronder meer.
- m_massa stat IS GEEN MODULEMASSA, maar is een getal dat wordt gebruikt voor GUI-massaberekeningen en weergave.
- m_burn_pk. Ik veronderstel dat het van invloed is op hoeveel tijd je hebt om het onderdeel in de minigame van de crashsite te plunderen.
- m_gezondheid en m_gezondheid_max zijn module HP. Merk op dat m_health de huidige modulestatus is, wat alleen zinvol is in een scheepsbestand -> kan een initiële modulestatus zijn.
- m_explosief is een giekschade zodra deze module is vernietigd.
- m_rescue_explosief is of deze module een andere buit zal vernietigen als deze niet wordt geplunderd in de minigame van de crashsite.
- m_vloer_type is een modulehoogte langs de Z-as. Grote tanks hebben deze bijvoorbeeld ingesteld op 3.
- m_telling is hoeveel modules er in een winkel zijn. Het heeft geen zin in parts.seria (zal in de meeste gevallen 999 zijn), maar zodra een item in een opslagbestand is gekloond, heeft het een waarde die overeenkomt met de modulevoorraad in een bepaalde stad.
- m_spasmecode is een herhalend attribuut aan het einde van een item. Ik weet niet wat het precies doet (ik denk iets met bogen/obstructie), maar het is goed om te overwegen of je een bestand goed wilt ontleden.
Mazen
Een maasstructuur is vast:
m_mesh=1073741827 { m_classname=Mesh #Gemeenschappelijk kenmerk voor (bijna) alle knooppunten m_size=4 #Hoeveel punten zijn er in een mesh 3.13553 #Elk paar getallen is een punt X- en Y-coördinaten -3.13553 3.13553 3.13553 -3.13553 3.13553 -3.13553 -3.13553 }
Opmerking: de X/Y-assen zijn respectievelijk naar rechts/beneden gericht. Als je een mesh in het spel wilt visualiseren, selecteer je gewoon een onderdeel en de witte contour wordt de mesh.
Het spel heeft geen bepaalde massa-statistieken, maar berekent de massa met de formule "Mesh Volume * m_density". Het maasvolume is een min (maaswijdte, maashoogte) * maasoppervlak, waarbij het maasoppervlak kan worden berekend met de Gauss-formule voor veelhoek. Dus als we een zijde van een vierkante maas veranderen (de vierkant houden), zal de massa kubisch worden; als we de langere zijde van een rechthoekig gaas verlengen, dan zal de massa lineair groeien.
Sprites
De sprite-structuur is een knooppunt op één niveau met een variabel aantal attributen (technisch gezien met dezelfde, maar sommige hebben impliciete waarden).
m_sprites=536870915 { m_classname=Sprite m_code=536870915 #Moet hetzelfde zijn als een headerwaarde m_animation_name=ap_07 m_position.y=-7 m_stage=-2 m_mask=0 m_animation_mode=4 m_scale.x=1.4 m_scale.y=1.4 }
De sprite-attributen zijn nog niet goed bestudeerd; hier zijn er een paar die ik al ken:
- m_animatienaam is een sprite-naam die is geregistreerd in het bestand Media/Tex/Ships1.res. Hier is een invoer uit het bestand:
Animatie ap_07 {textuur = Schepen1 rect = 3,3,140,140 hotspot = 70,70 zoorder = 0.000000 resgroup = 0 frames = 40 }
Een animatie kan een frame-voor-frame animatie zijn of een enkele sprite.
- m_positie.x en m_positie.y zijn sprite-offsets relatief de de deel nulpunt.
- m_schaal.x en m_schaal.y zijn sprite-schaalfactoren. Het wordt niet aanbevolen om sprites veel uit te rekken/knijpen, omdat ze dan te lage resolutie/te scherp zijn. Dithering kan sprite-problemen maskeren.
- mangel is een sprite-rotatie in rad.
- m_podium lijkt een sprite-laag te zijn OF een voorwaarde waaronder een sprite wordt getekend (bij muisaanwijzer, bij plaatsing, ...)
Gokkasten
Slots zijn een module bijlagen. Het kunnen zijbevestigingen zijn of interne bevestigingen (zoals die door de romp worden geleverd).
m_slots=2147483651 { m_classname=Slot m_code=2147483651 #Moet hetzelfde zijn als een headerwaarde m_master.id=7246492521041933693 #Moet hetzelfde zijn als een onderdeel-ID m_type=5 m_position.x=1.78571 m_position.y=5.4888 }
- m_positie - weet je wat dit is. Kan worden ingesteld op basis van mesh-contour. Houd er rekening mee dat als u een externe sleuf in een gaas plaatst, dit niet werkt.
- m_type is een slottype – extern, intern, intern groot, … . Er zijn er meerdere, maar ik heb ze nog niet bestudeerd.
- is_slave. Lijkt te zijn ingesteld op false voor interne slots.
Bestanden verzenden
Scheepsbestanden bevatten:
- Module-items die erg lijken op die in parts.seria
- Gezamenlijke vermeldingen die verbindingen tussen onderdelen definiëren
- Special Creature-invoer met wereldwijde scheepsstatistieken
Een voorbeeld (Aartsengelbestand):
{ m_classname=Node m_code=7 m_id=-492343618703753414 m_name=Archangel m_children=31 {...} m_children=15 {...} m_children=15 {...} ... m_children=15 {...} m_joints=8589934595 {...} m_joints=8589934595 {...} ... m_joints=8589934595 {...} }
- m_children=15 zijn onderdeelknooppunten
- m_joints=8589934595 zijn gezamenlijke knooppunten
De lijst met onderdelen op het eerste geneste niveau is niet compleet - dit zijn geweren, benen, cardanische motoren en dummy-knooppunten zonder massa en dichtheid. De rest van de modules zijn kinderen van het knooppunt m_children=31:
{ m_classname=Frame m_code=31 m_id=1883400248470934012 m_state=2 m_master_id=-492343618703753414 m_owner_id=-9178736643823363944 m_children=15 {...} m_children=15 {...} ... m_children=15 {...} m_center.x=0.000152588 m_center.y=18.7003 m_mass=7826850.0 m_mesh=1073741827 { m_classname=Mesh m_size=0 } }
De eerste m_children=15 onderliggende node daar is uniek – dat is een brug:
{ m_classname=Body m_code=15 m_id=481579170968876493 m_name=COMBRIDGE ... m_children=47 {...} ... m_mesh=1073741827 {...} ... m_oid=MDL_COMBRIDGE_01 ... m_sprites=536870915 {...} ... m_sprites=536870915 {...} m_slots=2147483651 {...} ... m_slots=2147483651 {...} }
En tot slot - het knooppunt m_children=47, dat de wereldwijde statistieken van het schip verzamelt:
{ m_classname=Creature m_code=47 ... m_mesh=1073741827 {...} m_layer=0 m_health=10 m_health_lock=true m_ship_name=Archangel m_playable=true m_alignment=1 m_card_caption={align=2}{font=courier_28}ÀÐÕÀÍÃÅË@{font=myriad_10}ÓÄÀÐ. ËÅÃÊÈÉ ÊÐÅÉÑÅÐ m_card_main={align=0}{font=flash_large}ÒßÃÀ/ÂÅÑ: 4@ÑÊÎÐÎÑÒÜ: 190 êì/÷@ÄÀËÜÍÎÑÒÜ: 820 êì@ m_card_arma={align=0}{font=flash_large}ÂÎÎÐÓÆÅÍÈÅ:@004X CANNON 2x57mm@002X CANNON 2x180mm@002X MISSILE m_card_modules=MDL_CANNON_57_2=4,MDL_ENGINE_04=8,MDL_ENGINE_05=2,MDL_CANNON_180_2=2,MDL_MISSILE_01=2, m_bio_caption={align=2}{color=2281701376}{font=courier_28}PROFILE@¹981 m_bio_snapshot=no_photo ... creatureId=2 m_damageCounter=8360 versionCompatibility=Ñîâìåñòèì ñ âåðñèåé 1.15 }
(De abracadabra's zijn cyrillische decoderingsproblemen; alles ziet er goed uit in het spel)
Dit knooppunt bevat veel wereldwijde scheepsstatistieken, die bepalen hoe ver/snel/lang het kan vliegen/zien/gezien worden. Het is belangrijk om te weten dat het geen zin heeft om ze te veranderen als je de snelheid, het bereik of de sensorsterkte van het schip wilt veranderen; deze worden meestal gebruikt voor spawn-berekeningen of GUI-visualisaties. Wat echt belangrijk is, is de vlag m_flagship die u op "waar" kunt instellen, als u wilt dat het schip wordt herkend als een vlaggenschip.
Als je met scheepsstatistieken wilt knoeien, is het beter om de scheepsmodulestatistieken te wijzigen en het spel vervolgens te dwingen de wereldwijde statistieken opnieuw te berekenen. Module-items lijken erg op die in parts.seria, met enkele verschillen:
- Geweren, sensoren, stoorzenders, raketten, … (alles met een boog) krijgt een m_sectors herhalend attribuut, 360 ingangen per onderdeel. Het is één/nul voor geweren/raketten, ELINT-vermogenswaarde voor ELINT (nul, vol of half indien belemmerd) en radarbereik in km voor radars (nul/vol/half).
- m_position.*, m_scale.* en m_angle attributen zijn nu logisch en bepalen waar de module op een schip is. m_scale wordt gebruikt om symmetrische delen zoals benen/motoren weer te geven.
- Misschien heb ik nog wat andere dingen gemist, omdat ik de technische attributen niet aanraak
Lees de bijbehorende gidssectie over scheepsupdates nadat u de modulewaarden hebt gewijzigd.
Bestanden opslaan
Dit gedeelte is onder constructie, aangezien ik dit momenteel aan het schrijven ben. Maar met een opgeslagen bewerking kunt u mogelijk het volgende doen:
- Spawn extra vijandelijke groepen, verander een samenstelling van reeds bestaande groepen
- Winkelvoorraad wijzigen
- Intel-bedragen in steden wijzigen
- Veel meer
Je kunt daar ook je geldbonus wijzigen ("m_scores" root node-attribuut, bijv. m_scores=76886) en schepen ontgrendelen (inclusief verborgen/ongebruikte/AI-only) door een overeenkomstige vlag om te draaien.
Lokalisatiebestanden
Er zijn twee belangrijke redenen om lokalisatiebestanden te bewerken:
- Beschrijving invoeren voor nieuwe onderdelen/schepen
- De uitkomsten van evenementen wijzigen
Verzendgegevens
Er zijn twee items die u mogelijk wilt bewerken als u een scheepsbeschrijving wilt toevoegen:
#SHIP_NAME_Nomade Nomade
Een "SHIP_NAME_*"-invoer is voornamelijk nodig voor de Russische versie waar het toestaat om een cyrillische scheepsnaam toe te voegen. De "*" moet worden vervangen door een waarde van het hoofdknooppuntkenmerk "m_name" van het schip (of een "m_ship_name" in globale scheepsstatistieken? Ze zijn meestal hetzelfde).
#SHIP_DESC_NOMAD Roma-zware strategische kruisers, die al tientallen jaren dienst doen als kern van commandogroepen. Ondanks hun leeftijd hebben ze een groot aantal upgrades ondergaan en hebben ze deelgenomen aan veldtests van de ultramoderne AEW-systemen, die gepland waren om later te worden geïnstalleerd op de nieuwste Sevastopol-klasse cruisers in aanbouw.
'SHIP_DESC_*' is wat u zoekt als u een beschrijving wilt toevoegen die zichtbaar is aan het begin van een campagne. Merk op dat een scheepsnaam die is ingeplugd in "*" daar met een hoofdletter wordt geschreven. Merk ook op dat een tag en een tekst worden gescheiden door tabellen en geen nieuwe regels hebben.
Deelinvoer
#MDL_CANNON_220 M-22 #MDL_CANNON_220_SDESC CANNON #MDL_CANNON_220_DESC Een 180 mm groot kaliber kanon met een verhoogde vuursnelheid.
Als u daar een module-item wilt toevoegen, hebt u een item nodig voor een naam, type en beschrijving (MDL_*, MDL_*_SDESC, MDL_*_DESC waarbij * een module m_oid is).
Evenementen
Dialoogbestanden bevatten ook enkele beloningen/straffen die je krijgt van evenementen. Terwijl sommige uitkomsten hard worden gecodeerd (zoals nieuwe schepen, gedwongen verblijven, geen reparaties/tanken in een stad, ...), kan contant geld/rep/moreel daar worden gewijzigd.
#INTERCOM_FASIL_1 Ja, hertog? #INTERCOM_FASIL_0 Oorlog is een dure onderneming, nietwaar, mijn hertog? #INTERCOM_FASIL_1 Erg goed. Ik zal het geld bij elkaar krijgen. #INTERCOM_FASIL_SHORT Erg goed. Ik zal het geld bij elkaar krijgen.
Je kunt ook de "richting" van een dialoog aanpassen in termen van sprites/fade-effecten.
Nieuwe onderdelen maken
Laten we, voordat we verder gaan met het maken van nieuwe onderdelen, aangeven wat we niet kunnen doen:
- We kunnen geen nieuwe onderdelen toevoegen aan scheepswerven zonder iets te vervangen dat al bestaat
- We kunnen geen nieuwe onderdelen toevoegen aan winkels (* zonder bewerking op te slaan)
De pijplijn is als volgt:
- Kies een vanillemodule die het dichtst in de buurt komt van wat je gaat maken
- Dupliceer de invoer in OL.seria, wijzig de m_oid en stats
- Ga naar Libraries/constructor.seria (maak een back-up) en verwijder de
m_children=15 { ... m_oid=ITEM_EMERGENCY ... }
knooppunt om wat ruimte vrij te maken.
- Ga naar parts.seria, kies een vanilla-module-item en plak het in constructor.seria in plaats van een verwijderd knooppunt.
- Stel m_oid, m_master_id in (!!!belangrijk!!!!, de waarde is de constructor.seria root node "m_id" waarde)
- Verander de dingen die je wilt - HP, dichtheid, massa, ...
- Vergeet module mesh, sprites, slots niet.
- Start het spel en ga naar Shipworks
Nu wordt de laatste modulecategorie vervangen door de module die u zojuist hebt gemaakt. Merk op dat u geen invoer in parts.seria nodig hebt – zodra u een onderdeel op een schip installeert, wordt het in een scheepsbestand geschreven en verwijst het alleen naar OL.seria.
Het spel heeft een aantal ongebruikte sprites, maar er is niet veel. OTOH, je kunt nog steeds nieuwe visuals maken als je creatief bent met de sprites die je al hebt. Het M-22 180 mm kanon is bijvoorbeeld gemaakt op basis van een Mk-1-180 sprite met een nieuwe loop gemaakt van Sprint + flare en een mondingsrem gemaakt van een rompblok.
Vergeet niet om overeenkomstige items in dialoogbestanden aan te maken, anders zijn de naam en beschrijving leeg.
Vervangen en bijwerken van schepen
Een andere mogelijke mod die u misschien wilt ontwikkelen, is vanilla Ship-vervangingen. Vanilleschepen worden op een aparte manier behandeld en worden bewaard in de map Objecten/Designs. Ze kunnen niet worden verwijderd in het spel en ook niet worden overschreven in de scheepsbouw.
Onderdelen
Als je een vanilleschip door je eigen schip gaat vervangen, is de pijplijn als volgt:
- Open zowel vanille- als aangepaste schepen in de editor
- Wijzig de "m_name" (root node attr) van het aangepaste schip in de waarde van het vanilleschip
- Verander de naam in "m_card_caption" (algemene statistieken sectie) in de vanille naam
- Verander de "m_ship_name" stat (algemene statistieken sectie) in de vanille naam
- (Optioneel) wijzig de "m_combatvalue"-statistiek, die van invloed is op hoeveel exemplaren van het schip zullen spawnen in scheepsbouwtests (en misschien in garnizoenen).
- (Optioneel, oude versies) verander het pad "m_card_snapshot" (gedeelte met algemene statistieken) in het vanille-snapshotpad (dat je ook moet vervangen)
Merk op dat vanaf versie 1.151 het spel geen snapshots zal genereren en ze zal ontlenen aan scheepsstatistieken, dus de laatste stap zal overbodig zijn en de "m_card_snapshot" zal niet aanwezig zijn.
Schip bijwerken
Misschien wilt u alle schepen (inclusief vanille) bijwerken nadat u parts.seria of scheepsmodules hebt aangepast. Er zijn 79 vanilleschepen, dus kies een vakantie en vertrek vanuit Archa…
JK, lol, er zijn enkele mechanismen geïmplementeerd die bedoeld zijn om je daarbij te helpen:
- De game kan zelf bepaalde statistieken bijwerken
- DIY-scripts kunnen worden geschreven om scheepsbestanden bij te werken
Als je de nieuwe versie van de game de eerste keer start, wordt alles in de map Ships bijgewerkt en worden de oude exemplaren in Ships_backup geplaatst. Wat herberekent het:
- Wapen schietbogen
- Sensorbogen (het kan daar mislukken)
- Alle wereldwijde statistieken
- Dichtheid/massa (waarschijnlijk, niet bevestigd)
- Hoogte (waarschijnlijk, niet bevestigd)
Om het spel daartoe te dwingen, open je Config.ini en verander je de "CORE_LAST_LOADED_VERSION=1.15" waarde in een oudere, zoals 1.14 of 1.1.
Het haalt echter niet alle gegevens vanzelf uit parts.seria. Als u de parts.seria hebt gewijzigd en u wilt dat een schip nieuwe waarden krijgt, voordat u de bovenstaande stap uitvoert u moet eerst onderdeelinvoer in een scheepsbestand wijzigen. Ik heb daar zelf enkele Python-scripts voor geschreven en zal ze binnenkort vrijgeven.
De pijplijn voor scheepsupdates is dus de volgende:
- Kies een scheepsbestand
- Zelf wijzigen/updaten met daarin een scriptmodule entries
- Zet het in de map Ships (maak een back-up van de map, voor het geval dat)
- Verander de spelversie in Config.ini naar een oudere versie
- Start het spel
Conclusie
HF is een fascinerend spel en zoals elk fascinerend spel zal een mod-ondersteuning aanzienlijk bijdragen aan de levenscyclus ervan. Ervan uitgaande dat het een huisdierproject voor twee personen is, zou ik stemmen voor het vullen van de game met inhoud door spelers en focussen op een uitgebreide mod-ondersteuning door ontwikkelaars, zoals veel andere geweldige games (bijv. Rimworld) doen.
Dat is alles wat we hiervoor vandaag delen Hoge Vloot gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door Radiant Dawn. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.
Wilt u weten of u een bedrijf kunt vinden dat u wilt gebruiken?
En hoe is het mogelijk dat u uw geld kunt verdienen met uw aankoop?