Deze gids gaat over het repareren van de Starbound-mod genaamd Book of Spirits – NPC & Monster Name Displayer. Het doel is om ingebouwde hulp op te nemen voor aangepaste NPC's, monsters en spraakzame objecten.
Overzicht
Deze mod is cruciaal en moet worden geladen voordat andere mods de functies ervan gebruiken. U hoeft het niet op te nemen in uw metadatabestand. De belangrijkste kenmerken zijn het tonen van de naam van de entiteit, een aangepaste titel als die er is, en voor monsters, die aangeven of het zeldzame rassen zijn (zoals Albino Poptop, Fire Gleap) en elite.
Er zijn twee weergavers: een naamweergave en een titelweergave. Ze worden automatisch weergegeven op basis van de configuratie van de entiteit, wat ik in de onderstaande secties zal uitleggen.
Zelfs als ik zeg dat iets onschadelijk is, betekent dit dat je mod prima zal werken, zelfs zonder dat “Book of Spirits – NPC & Monster Name Displayer” is geïnstalleerd. Het wordt aanbevolen om de mod uit te pakken, omdat er bestanden zijn die je mogelijk naar je mod moet kopiëren, zodat je begrijpt wat je moet patchen.
Naamgevingsregels voor vijandige NPC's: Ik heb een vaste naam ingesteld voor generieke vijandige NPC's (bandieten, zombies, lakeien, enz.), aangezien in de meeste videogames alleen belangrijke vijandige NPC's namen hebben om hun betekenis ten opzichte van reguliere mobs te benadrukken.
NPC-parameters
De naamweergave kiest de naam van de NPC uit een van deze configuraties:
- De variabele “npcname”.
- De “naam”-variabele die binnen hun identiteitstabel kan worden toegewezen.
- De willekeurig gegenereerde naam die aan hen is toegewezen.
Het is een persoonlijke keuze, maar misschien wil je een naam instellen voor generieke vijandige NPC’s (Zombies, Bandits, Lackeys, enz.) die als monsters functioneren.
Voor de titelweergave selecteert het de volgende variabele die door deze mod is toegevoegd, wat onschadelijk is:
- weergaveTitel
Er is ook een nieuw onschadelijk gedragsscript toegevoegd door deze mod. Als een NPC het basisgedragsscript overschrijft (zoals Merchants bijvoorbeeld), moet je dit script kopiëren:
/scripts/bookofspirits/bookofspirits_interact_support.lua
Dit script geeft de displayer weer tijdens interactie (door op 'E' te drukken) met een NPC. Als de displayer niet verschijnt tijdens de interactie, moet je dit script aan je NPC toevoegen.
NPC Patching-ondersteuning
Het patchproces is als volgt, maar je kunt het rechtstreeks aan je mod toevoegen voor een beter begrip van variabele posities.
Om een NPC een titel te geven en als deze het gedragsscript overschrijft (bijvoorbeeld Merchant.npctype):
[ [{ "op" : "add", "path" : "/displayTitle", "value" : "Verkoper"}] ,[{ "op": "add", "path": "/scripts/-", "value": "/scripts/bookofspirits/bookofspirits_interact_support.lua" }] ]
Resultaat:
{ "type": "handelaar", "baseType" : "basis", ... "displayTitle": "Handelaar", "scripts": [ "/npcs/bmain.lua" ,"/scripts/bookofspirits/bookofspirits_interact_support.lua" ] }
Om een vaste naam in te stellen voor de npc(mutantminer.npctype):
[{ "op" : "add", "path" : "/identity", "value": { "name 'Mutant Miner' }}]
Resultaat:
{ "identiteit": { "name":Mutante mijnwerker" } }
Chatty-objectparameters
De volgende variabelen en script zijn ongevaarlijke toevoegingen van deze mod:
Voor de naamweergave gebruikt het de volgende objectconfiguratie als hun NPC-naam:
- npcNaam
De titeldisplayer selecteert de volgende onschadelijke variabele die door deze mod is toegevoegd:
- weergaveTitel
Er is ook een nieuw script dat je naar je mod moet kopiëren:
/scripts/bookofspirits/bookofspirits_interact_support.lua
Dit script geeft de displayer weer tijdens interactie (door op 'E' te drukken) met een object. Als de displayer niet verschijnt tijdens de interactie, moet u dit script aan uw object toevoegen.
Waarschuwing:
- U kunt deze functie niet gebruiken als het object een parameter 'interactAction' heeft.
- Deze functie is alleen van toepassing als het object 'spraakzaam' kan worden gemaakt, meestal met de arrays 'scripts' en 'chatOptions'.
Chatty Object Patching-ondersteuning
Om een object een naam en titel te geven (IE: techlabscientist.object):
[ [{ "op": "add", "path": "/npcName", "value": "Elliot"}] ,[{ "op": "add", "path": "/displayTitle", "value": "Tech Lab-wetenschapper"}] ,[{ "op": "add", "path": "/scripts/-", "value": "/scripts/bookofspirits/bookofspirits_interact_support.lua" }] ]
Resultaat:
{ "objectName" : "techlabwetenschapper", "colonyTags" : ["buitenpost"], ... "npcName": "Elliot", "displayTitle": "Techlaboratoriumwetenschapper", "scripts" : ["/scripts/chattyObject.lua","/scripts/bookofspirits/bookofspirits_interact_support.lua"] }
Monsterparameters
Voor de naamweergave selecteert het de volgende configuratie van het monster als hun naam:
- korte beschrijving
De titeldisplayer kiest de volgende onschadelijke variabele die door deze mod is toegevoegd, toegevoegd als statusProperties:
- weergaveTitel
Opmerking: Zeldzame monstervarianten hebben een aangepaste titel in het formaat (controleer /monsters/flyers/agrobat/iceagrobat.monstertype.patch):
^geel; Zeldzaam ras ^reset;
Bovendien is er door deze mod een nieuw, onschadelijk script toegevoegd. Je moet het kopiëren als er een monster is dat als elite kan worden ingesteld of dynamische aangepaste titels en dynamische namen kan hebben, zoals Gegenereerde monsters:
/scripts/bookofspirits/bookofspirits_monster_support.lua
Er is ook een nieuw bestand met aanvullende configuraties voor gegenereerde monsters. Als je nieuwe soorten gegenereerde monsters toevoegt, controleer dan dit bestand voor meer details:
/monsters/bookofspirits_generated.config
Monster Patching-ondersteuning
Om een monster een naam te geven, geef je het een titel en geef je het weer als elite als het is geconfigureerd als elite (IE: punchy.monstertype):
[ [{ "op" : "add", "path" : "/shortdescription", "value" : "Punchy"}] ,[{ "op" : "add", "path" : "/baseParameters/statusSettings/statusProperties/displayTitle", "value" : "Testdummy"}] ,[{ "op" : "add", "path" : "/baseParameters/scripts/-", "value" : "/scripts/bookofspirits/bookofspirits_monster_support.lua"}] ]
Resultaat:
{ "type": "pittig", "categorieën" : [], ... "shortdescription": "Punchy", "basisParameters": { "statusInstellingen": { "statusProperties" : { "displayTitle": "Testdummy" } } ,"scripts": [ "/monsters/monster.lua", ,"/scripts/bookofspirits/bookofspirits_monster_support.lua" ] } }
Gegenereerde monsterparameters
Gegenereerde monsters hebben een speciaal configuratiebestand met parameters voor het instellen van de naam en aangepaste titel op basis van hun onderdelen. Het configuratiebestand bevindt zich op:
/monsters/bookofspirits_generated.config
Bovendien is er een nieuw script op “/scripts/bookofspirits/bookofspirits_monster_support.lua” dat naar je mod moet worden gekopieerd. Zorg ervoor dat u dit script toevoegt aan de scriptarray van het gegenereerde monster.
vaardigheidVoorvoegsels
Hier is een JSON-array van objecten met een lijst met vaardigheidstypen van de speciale vaardigheid van het monster. Deze lijst wordt gebruikt om het voorvoegsel van de monsternaam te bepalen.
- naam: Dit is de stringnaam die naast de monsternaam wordt weergegeven.
- vaardigheidsnaam: Dit is het type vaardigheidsnaam (bijvoorbeeld inkSprayAttack) dat zal worden gebruikt om te vergelijken of het monster die vaardigheid heeft.
- asSuffix (optioneel): Indien ingesteld op true, wordt de vaardigheidsnaam toegevoegd na de monsternaam.
monsterTypen
Deze lijst bevat de namen van monstertypen en hun varianten. Het wordt gebruikt om de naam en titel van het monster te bepalen op basis van het hoofdgedeelte van het monster of een specifiek onderdeelpatroon naar keuze.
- monstertype (bijvoorbeeld ‘grootvliegend’): De naam van de lijst moet overeenkomen met de parameter “type” in het bestand .monstertype.
- varianten: In deze JSON-array van objecten neem je verschillende onderdeelcombinaties op die het gegenereerde monster kan hebben.
Variantenparameters
Deze JSON-array van objecten bevat variabelen die worden gebruikt om de gegenereerde monsternaam en -titel te configureren op basis van de gegeven onderdelen. Het ondersteunt meerdere onderdeelpatronen, maar het wordt aanbevolen om prioriteit te geven aan invoer met alleen het hoofdgedeelte eerst.
- naam: De monsternaam die wordt weergegeven.
- titel (optioneel): De titel die wordt weergegeven.
- voorvoegsel (optioneel): Een voorvoegsel toegevoegd aan de monsternaam.
- onderdelen: Een reeks tekenreeksen die de namen bevatten van mappen die de onderdelen van het monster bevatten.
- addSkillPrefix (optioneel): Indien ingesteld op false, wordt er geen vaardigheidsvoorvoegsel toegevoegd aan de monsternaam.
Opmerking:
- Als u een specifiek patroon wilt instellen, moet die invoer alle onderdeeltypen bevatten die door het monstertype worden gebruikt.
- Als “largefish” bijvoorbeeld 3 delen gebruikt zoals geconfigureerd in de “parts” -array, zou het patroon ook uit 3 delen moeten bestaan.
{“naam”: “SunShark”, “titel”: “Groot vismonster”, “onderdelen”: [“haai”,,”maanvis”,,”maanvis”]}
Gegenereerde Monsters Patching-ondersteuning voor nieuwe typen
Voor dit voorbeeld gebruik ik het “sb_hugebiped.monstertype” van Betabound, een nieuw type gegenereerd monster.
Vergeet niet om “/scripts/bookofspirits/bookofspirits_monster_support.lua” naar je mod te kopiëren in hetzelfde mappad.
Om ondersteuning te bieden voor een nieuw gegenereerd monstertype (voeg het rechtstreeks toe aan je mod of patch het als je de mod van een andere gebruiker patcht):
[ [{ "op" : "add", "path" : "/baseParameters/scripts/-", "value" : "/scripts/bookofspirits/bookofspirits_monster_support.lua"}] ]
Resultaat:
{ "type" : "sb_hugebiped", "categories" : ["sb_hugebiped"], ... ,"baseParameters" : { "scripts": [ "/monsters/monster.lua", "/monsters/sb_miniboss.lua" ,"/scripts/bookofspirits/bookofspirits_monster_support.lua" ] } }
Vervolgens moet u het bestand “patchen”/monsters/bookofspirits_generated.config” als bestand “/monsters/bookofspirits_generated.config.patch"
[ { "op": "toevoegen", "path": "/monsterTypes/sb_hugebiped", "waarde": { "varianten": [ { "name": "Birdzilla", "title": "Groot tweevoetig monster", "delen": ["snavel"] }, { "name": "Dragonzilla", "title": "Groot tweevoetig monster", "onderdelen": ["draak"] }, { "name": "Featherzilla", "title": "Groot tweevoetig monster", "delen": ["veer"] }, { "name": "Rhinozilla", "title": "Groot tweevoetig monster", "onderdelen": ["neushoorn"] } ] } } ]
Resultaat:
{ ,"monsterTypes" : { "grootvliegend" : {...} ... ,"sb_hugebiped" : { "varianten" : [ {"name" : "Birdzilla","title" : "^red;Enorm tweevoetig monster","onderdelen" : ["snavel"]} ,{"name" : "Dragonzilla", "title" : "^red;Enorm tweevoetig monster","onderdelen" : ["draak"]} ,{"name" : "Featherzilla","title" : "^red;Enorm tweevoetig monster","onderdelen" : ["feather"]} ,{"name" : "Rhinozilla","title" : "^red;Groot tweevoetig monster","onderdelen" : ["neushoorn"]} ] } } }
Gegenereerd Monster Patching-ondersteuning bestaand type
Om een nieuwe variant aan een bestaand monstertype toe te voegen (IE: largequadruped.monstertype), moet je het bestand “/monsters/bookofspirits_generated.config” als bestand “/monsters/bookofspirits_generated.config.patch"
[ { "op": "add", "path": "/monsterTypes/largequadruped/variants/-", "value": {"name": "Nieuwe Viervoeter 1","title": "Groot Viervoetermonster", "parts": ["blabla1"]} } ,{ "op": "add", "path": "/monsterTypes/largequadruped/variants/-", "value": {"name": "Nieuwe viervoeter 2","title": "Groot viervoetermonster", "parts": ["blabla2"]} } ]
Resultaat:
,"monsterTypes" : { "grootvliegend" : {...} ... ,"grote viervoeter" : { "varianten" : [ {"name" : "Anthurix","prefix" : "Adult", "title" : "Groot Viervoetig Monster","onderdelen" : ["pijl"]} ... ,{"name": "Nieuwe Viervoeter 1","title": "Groot Viervoetermonster", "onderdelen": ["blabla1"]} ,{"name": "Nieuwe Viervoeter 2","title": "Groot Viervoetermonster", "onderdelen": ["blabla2"]}
Dat is alles wat we hiervoor vandaag delen Starbound gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door Chofranc. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.