Addon Packer
Deze tool zet ontwikkelingsbestanden om naar een formaat dat compatibel is met VBS3 en VBS4. Het stelt ontwikkelaars in staat om hun objecten, scripts en animaties bruikbaar te maken in deze simulatieplatforms. De tool biedt ook geavanceerde functies om realistischere en meeslepende objecten te creëren. Een essentieel element voor ontwikkelaars die werken met VBS3 en VBS4.
De addonPacker bevind zich in de folder P:\tools\blue\AddonPacker_64 (het is misschien nodig om een oude versie van de addon packer te installeren)
Aangepast Content Packen met Addon Packer
Aangepaste content, zoals 3D-modellen en terreinen, moet worden gepackt voordat het in VBS kan worden gebruikt. Contentprojectmappen worden gepackt in .pbo-bestanden of .cbo-gecodeerde bestanden met behulp van de Addon Packer-tool. Addon Packer vervangt de vorige PBO Packer-tool.
Notities:
- Als u meerdere bestanden tegelijkertijd wilt samenvoegen om een .pbo te maken, kunt u de Filebank-converter gebruiken.
- Om te packen vanaf een andere schijflocatie (de standaardlocatie is meestal P:), zoals waar uw bronbestanden zijn opgeslagen (inclusief submappen), kunt u de tools.cfg op uw primaire schijf waar de tools, met name Addon Packer, zijn geïnstalleerd, wijzigen.
- Normaal gesproken bevat het bestand tools.cfg de parameter DataPrefix="P:";. Dit betekent dat wanneer u uw addon packt vanaf bijvoorbeeld: P:\vbs2\customer\vehicles\bia_sample_tank, het virtuele pad dat in de .pbo / .cbo wordt opgeslagen: vbs2\customer\vehicles\bia_sample_tank
- Mogelijk wilt u echter vanaf een andere locatie werken.
Voorbeeld:
P:\source_drives\versions\00_0\vbs2\customer\vehicles\bia_sample_tank
In dat geval moet u de tools.cfg bewerken zodat deze het volgende bevat:
P:\source_drives\versions\00_0
Anders ontvangt u een onjuist virtueel bestandspad van "source_drives\versions\00_0\vbs2\customer\vehicles\bia_sample_tank" in plaats van het juiste "vbs2\customer\vehicles\bia_sample_tank".
Addon Packer
Om Addon Packer te starten, voert u het volgende uit: P:\tools\AddonPacker_64\AddonPacker_x64.exe
Wanneer Addon Packer voor het eerst wordt gestart, is het gedeelte Geavanceerd van de interface meestal gecompacteerd. Klik op de knop Geavanceerde opties weergeven rechtsboven in de gebruikersinterface om de interface uit te vouwen.
Afbeeldingen van de Addon Packer interface worden weergegeven.


Zodra de interface is uitgebreid, zijn de belangrijkste kenmerken:
- Inputveld Beschrijving Logbericht ernst Hier kunt u een filter selecteren voor berichten die tijdens het packen in het AddonPacker-logboek worden weergegeven, met behulp van het vervolgkeuzemenu. Berichten worden altijd weergegeven afhankelijk van hun ernst. De ernst "Waarschuwing" toont bijvoorbeeld waarschuwingen, configuratiefouten, fouten, kritieke fouten en waarschuwingen.
- Een compleet logbestand, niet beïnvloed door dit filter, is vervolgens te vinden onder de addon-naam in de Logbestemming.
- Preset Stelt de meeste vereiste waarden in op standaardinstellingen. Zorg er altijd voor dat de mappen Uitvoer en Temp zich op een bestaande schijf bevinden en dat u er toegangsrechten voor hebt.
- Inputmap Definieert het pad naar de addon-map die u wilt packen.
- Uitvoermap Definieert het pad waar de gepackte addon (.pbo / .cbo) wordt opgeslagen.
- Selecteer de uitvoeropmaak Gelegen rechts van het veld Uitvoermap, gebruik dit vervolgkeuzemenu om de uitvoeropmaak te selecteren. De beschikbare formaten zijn:
- .pbo - Standaard niet-gecodeerd archief, kan worden uitgepakt met ExtractPBO.
- .cbo - Gecodeerd archief om uitpakken met ExtractPBO te voorkomen. Gebruik dit om gepersonaliseerde inhoud samen met protect.cpp te beschermen.
- Binarisatieversie Selecteer de binarisatieversie volgens de VBS-distributie waarvoor u de addon maakt.
- Pluginmap Definieert het pad naar de packing-plug-in (RoadNet). Het standaardpad wordt aanbevolen.
- Gedrag per versie: <3.4 - Текstvak is grijs en er worden geen plugins geladen. 3.4-3.6 - Compatibele RoadNet-plug-ins worden automatisch geladen.
3.7.0 - De gebruiker heeft de mogelijkheid om te definiëren door een pad naar de plug-insmap op te geven, ongeacht of packing-plug-ins worden geladen.
- Temp-map Definieert het pad naar de map waar tijdelijke gebinarizeerde bestanden worden opgeslagen voordat ze worden gepackt naar definitieve .pbo / .cbo-bestanden.
- Packing Definieert het bestand dat wordt gebruikt voor het packen van de addon en waar het naartoe wordt gepackt. Het is raadzaam deze in te stellen volgens de standaardinstellingen van de preset.
- Uitgesloten mappen Hier ingevoerde mappen worden genegeerd tijdens binarisatie en packing. Gebruik ";" om de items te scheiden.
- Uitgesloten bestanden Bestanden die hier worden ingevoerd, worden genegeerd tijdens binarisatie en packing. Ze kunnen worden opgegeven op naam (bijvoorbeeld 'test.txt') of u kunt de asteriskoperator gebruiken en instellen dat bijvoorbeeld alle bestanden met de extensie .test worden genegeerd (bijvoorbeeld *.test). Gebruik ";" om de items te scheiden.
- Logbestemming Definieert het pad naar de map waar logboeken worden opgeslagen na het packen. Logboeken worden genoemd naar de gepackte addon-map. Het veld Logbestemming en de parameter -ld #str (lange en korte versie) accepteren ook volledige paden naar het .log-bestand met een aangepaste naam.
Voorbeeld:
Wanneer u P:\vbs2\customer\structures\bia_sample_building packt met de Logbestemming ingesteld op P:\export\logs, wordt er een logbestand met de naam bia_sample_building.log gemaakt. Wanneer u dezelfde addon packt met de Logbestemming ingesteld op P:\export\logs\sampleLog.log, wordt er in plaats daarvan een logbestand met de naam sampleLog.log gemaakt.
- Versleutelingsmap Definieert het pad naar de versleutelingstools voor het packen. Het standaardpad wordt aanbevolen.
Basis packen
Bij basis packen worden slechts enkele parameters in de Addon Packer-gebruikersinterface aangepast.
Volg deze stappen:
- Selecteer bovenaan rechts in de gebruikersinterface de release Preset met behulp van het vervolgkeuzemenu.
- Wijs Addon Packer aan de directory waarin u hebt gewerkt door het bestandspad in het veld Inputmap in te voeren.
- Voer in het veld Uitvoermap de locatie van de addon-directory voor uw build van VBS in.
- Klik op de knop Start packen! Addon Packer packt de bestanden en geeft Gestart weer wanneer het proces is voltooid.
Geavanceerde configuratie voor packen
De uitgebreide AddonPacker-interface bevat ook de volgende opties, die verder van invloed zijn op het packen en loggen van de AddonPacker:
- Optie Beschrijving
- Forceer herbinarization Als deze is aangevinkt, wordt de herbinarization van .p3d- en .wrp-bestanden en inhoud geforceerd, ongeacht of de bestanden zijn gewijzigd. Kan de packtijd verlengen.
- Forceer herbinarization texturen Als deze is aangevinkt, worden alle texturen in de addon-map geconverteerd naar .paa-bestanden, ongeacht of de bestanden zijn gewijzigd. Kan de packtijd verlengen.
- Top-level packing Een specifieke manier om een addon te packen. Als deze is aangevinkt, worden alleen de bestanden in de hoofdmap van de addon en de map ./data gepackt (regels voor uitsluiten van mappen / bestanden zijn niet van toepassing). Wordt bijvoorbeeld gebruikt om top-level addons van Multimaps te packen.
- Sluiten bij voltooiing Als deze is aangevinkt, wordt AddonPacker automatisch gesloten nadat het packen is voltooid.
- Stop bij fouten Standaard probeert AddonPacker de meeste fouten door addons heen te packen. Met deze optie aangev saluto stopt AddonPacker het proces zodra het een bericht met de ernst "Fout" tegenkomt.
- Debug-info weglaten Vink dit vakje aan om te voorkomen dat debugberichten naar het logbestand worden geschreven. Verkorten het logboek, waardoor het gemakkelijker te lezen is. AddonPacker starten vanaf de opdrachtregel met de parameter -odi heeft hetzelfde effect.
- Werk in bron Maakt geconverteerde texturen (.paa) in de bronmap in plaats van ze te genereren op de locatie van de Temp-map.
- Uitvoer splitsen Splitst de uitvoer in configuratie- / animatie- / .pbo-bestanden. Als de addon configuratiebestanden bevat, wordt er een bestand gemaakt dat alleen uit configuratie bestaat.
Nadat Addon Packer het bestand heeft gepakt, wordt het .pbo-bestand standaard in de map [P:\export] geplaatst, samen met een logbestand. Vervolgens moet u het .pbo- of .cbo-bestand naar uw addons-map kopiëren op de volgende locatie zodat het in VBS verschijnt:
\VBS_Installation\myData\Blue\content
Eenmaal in de game, kijk in het vak Categorieën naar de weergavenaam die u hebt ingevoerd in de sectie CfgVehiclesClasses van de config.cpp (controleer ook aan welke kant u de inhoud hebt geplaatst).
Bescherm uw inhoud
Ontwikkelaars kunnen hun addons beschermen door een eenvoudig tekstbestand met de naam protect.cpp te maken in de hoofdmap van de addon.
VOORBEELD Om beveiligingsparameters in te stellen voor een van de voorbeelden in de VBS Developer Suite (zoals 'bia_sample_hmmwv'), zou protect.cpp zich op de volgende locatie bevinden:
P:\vbs2\customer\vehicles\bia_sample_hmmwv\protect.cpp
Protect.cpp klassevariabelen
De volgende tabel bevat een lijst met protect.cpp-variabelen:
| Variabele | Beschrijving | Type | Standaard bereik | Voorbeeld |
|---|---|---|---|---|
| ProductName | Bevat de naam van de addon. | String | "" | ProductName = "bia_sample_hmmwv"; |
| feature | Beperkt de addon tot een specifieke WIBU-functie. | Integer | 0 | feature = 3; |
| haspCodeWhiteList[] | Beperkt de addon tot specifieke WIBU-codes. | Array van strings | {} | haspCodeWhiteList[]= {"MTOOG, WOCRM"} |
| haspIDWhiteLIst[] | Beperkt de addon tot specifieke WIBU-sleutel-ID's. | Array van strings | {} | haspIDWhiteList[]= {"1231454646","1456224"} ; |
| requiredVersion | Beperkt de addon tot de minimale versie van VBS waarop deze kan worden uitgevoerd. | Float | 0 | requiredVersion= 3.6; |
| supportedDateTypes | Beperkt de addon tot specifieke HASP-sleutel-ID's. | Integer | 0 | 0 - Geen (gebruikt in combinatie met feature 0). 1 - Alleen proefdatum van de sleutel. 2 - Alleen ondersteuningsdatum van de sleutel. 3 - Proef- en ondersteuningsdatum van de sleutel. 4 - buildYear en buildMonth worden gebruikt als vervaldatum van de addon. |
| buildMonth | Vereist alleen wanneer supportedDateTypes is ingesteld op 4. Specificeert de vervalingsmaand van de addon. | Integer | 0 | Maanden 1 - 12 |
| buildYear | Vereist alleen wanneer supportedDateTypes is ingesteld op 4. Specificeert het vervaljaar van de addon. | Integer | 0 | Jaren 1000 - 9999 |
Voorbeelden van Protect.cpp-bestanden
// Alleen vergrendeld op functie 3 met proefdatum voor vervaldatum class Protect { ProductName = "TestProduct"; feature = 3; buildMonth = 0; buildYear = 0; supportedDateTypes = 1; haspCodeWhiteList[] = {}; haspIDWhiteList[] = {}; requiredVersion = 0; };
// Vergrendeld op HASP-sleutelcodes MTOOG en WOCRM, evenals sleutels met ID's - 1231454646 / 1456224 class Protect { ProductName = "TestProduct"; feature = 0; buildMonth = 0; buildYear = 0; supportedDateTypes = 0; haspCodeWhiteList[] = {"MTOOG, WOCRM"}; haspIDWhiteList[] = {"1231454646","1456224"}; requiredVersion = 0; };
// Alleen vergrendeld op functie 3 en ingeschakeld tot 31.12.2015 met vereiste VBS-versie van minimaal 3.6 class Protect { ProductName = "TestProduct"; feature = 3; buildMonth = 12; buildYear = 2015; supportedDateTypes = 4; haspCodeWhiteList[] = {}; haspIDWhiteList[] = {}; requiredVersion = 3.6; };
Subklasse ErrorMessages
De volgende tabel bevat een lijst met ErrorMessages-subklassen:
| Klasse | Beschrijving | Variabele |
|---|---|---|
| FeatNotFound | De functie is niet ingeschakeld op een beschikbare licentiesleutel. | text = "Foutmelding"; |
| TrialExpired | De proefsleutel is verlopen. | text = "Foutmelding"; |
| SupportExpired | De ondersteuningssleutel is verlopen en u probeert een nieuwere versie uit te voeren. | text = "Foutmelding"; |
| TrialNotAllowed | supportedDateTypes is ingesteld op 0 of 2. | text = "Foutmelding"; |
| FullNotAllowed | supportedDateTypes is ingesteld op 0 of 1. | text = "Foutmelding"; |
Voorbeeld van Protect.cpp met subklasse ErrorMessages
De subklasse ErrorMessages is optioneel en definieert foutmeldingen die worden weergegeven wanneer aan specifieke beperkingen niet wordt voldaan.
VOORBEELD Dit voorbeeld toont de exacte structuur.
class Protect { ProductName="TestProduct"; feature = 3; buildMonth = 12; buildYear = 2015; supportedDateTypes = 4; haspCodeWhiteList[] = {}; haspIDWhiteList[] = {}; requiredVersion = 3.6;
class ErrorMessages {
class FeatNotFound {
text = "De functie 'bia_sample_hmmwv' kan niet worden gevonden. Neem contact op met license@bisimulations.com.";
};
class TrialExpired {
text = "De functie 'bia_sample_hmmwv' is verlopen. Neem contact op met sales@bisimulations.com.";
};
class SupportExpired {
text = "De ondersteuning voor 'bia_sample_hmmwv' is verlopen en u probeert een nieuwere versie uit te voeren. Neem contact op met sales@bisimulations.com.";
};
class TrialNotAlllowed {
text = "De licentie van 'bia_sample_hmmwv' staat niet toe de proefversie uit te voeren, gebruik in plaats daarvan de volledige versie.";
};
class FullNotAllowed {
text = "De proeflicentie van 'bia_sample_hmmwv' staat niet toe de volledige versie uit te voeren, neem contact op met sales@bisimulations.com";
};
};
};
