Postanowiłem nad tym usiąść i przy okazji odkryłem, że działa w T3edzie kompilator skryptów. Co prawda po skompilowaniu znikają, ale można wklejać treść wyeksportowanych klas z plików .uc. Niestety T3Ed nie korzysta z UnrealScriptu, tylko własnego języka, zbudowanego na jego podstawie. Ale to już daje ciekawą perspektywę - przestajemy być zależni od hierarchii obiektów.Sometimes the gamesys gets so cluttered you wondered if there's a way to make a fresh and new gamesys. Here's how:
First you need a plan on how to organize your new gamesys because you'll be using the command window in T3Ed (bottom of the editor on the left to the right of the "Command : " Entry). For this tutorial I decided to make "MyT3" as a child of the main "Actor" archetype. And as a child of "MyT3" I'll have "MyPawn" so the hierarchy will look like this:
Actor>MyT3>MyPawn
After the command window pops up enter:
This will create an archetype named MyT3s under actor BUT it will NOT show under the actor browser!
In order to see it you will have to close T3Ed & a pop-up like this will show up:
Hit yes then it'll ask where to save it:
Since you named the gamesys package as "MyT3gamesys" type in "MyT3gamesys.t3u" under the main System directory. This will save your new, fresh, and raw gamesys.
Now that T3Ed is closed you need to add "MyT3gamesys" to your Default.ini (or user.ini in the base directory). You entries should look like this:Now reopen T3Ed & look at your new creation in the actor class browser:Kod: Zaznacz cały
[Engine.Engine] ... ;This specifies the name of the gamesys package, if ;you wish to use your own GamesysPackage=MyT3gamesys [Engine.GameEngine] CacheSizeMegs=1 ;was 16 UseSound=True ServerActors=IpDrv.UdpBeacon ;ServerActors=IpServer.UdpServerQuery ;ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900 ServerActors=UWeb.WebServer EnginePackages=Core EnginePackages=Engine EnginePackages=AICore EnginePackages=Fire EnginePackages=T3Game EnginePackages=T3AI EnginePackages=T3Player EnginePackages=MyT3gamesys ;All EnginePackages are fully loaded. The gamesys is ;not listed here because only necessary archetypes are ;loaded. [Editor.EditorEngine] ... EditPackages=Core EditPackages=Engine EditPackages=Editor EditPackages=AICore EditPackages=Fire EditPackages=T3Game EditPackages=T3AI EditPackages=T3Player EditPackages=T3Gamesys EditPackages=MyT3gamesys
Now to add "MyPawn" to "MyT3":
Repeat the above (close T3Ed, save package, etc.) & reopen & you'll find something similar to this:
You can add archetypes the old way which will result with archetype Class names like "MyT3gamesys.P_742896" or you can repeat the above steps and have the class name be the name you want!
Grzebiąc po plikach .uc znalazłem takie pozycje jak Brush czy Volume, a jednak w przeglądarce ich nie ma, w odróżnieniu np od UT2004. Są one niewidzialne i nie można ich zaznaczyć, a jednak Ascottk znalazł sposób na edycję tego skryptu:
Następnie wystarczyło wkleić kod do kompilatora usuwając funkcję editorinvisible; i pojawiła się cała gałąź drzewkaCreate brush in the editor, right click brush, go to obsolete>Edit Script
Czemu to takie ważne? Bo w podobny sposób w UT2004 wygląda hierarchia klas w której znajduje się woda "do pływania" - Actor->Brush->Volume->PhysicsVolume->WaterVolume Jeśli uda się zrekonstruować coś takiego pod T3Edem to może wreszcie nasz Garrett będzie mógł sobie popływać