Jump to content

Prefab Editor (Alpha)


Pille

Recommended Posts

@n2n1

Vanquish your fear. Nothing bad will happen if you press the buttons. Critical commands are gated behind warnings.

Btw. There will be some tool tips in the next release.

 

 

@all

I hope someone can assist me with the prefab XMLs. I am trying to find all valid property names and corresponding values.

 

Example:

<property name="AllowedBiomes" value="wasteland, pine_forest, plains, forest, snow, desert" />

 

There are values (and perhaps properties) which aren't used in the current prefab xml files, e.g. "burn_forest" is not used but should be a valid entry in AllowedBiomes. I tried to read the Assembly-CSharp.dll and found an incomplete list of properties but no value lists.

 

Where can I find these things (do I really have to go through the other xml files (e.g. biomes.xml))?

Edited by Pille (see edit history)
Link to comment
Share on other sites

 

Thanks, i forgot about that post. What is interesting is even with a somewhat lower game stage there is a chance to spawn irradiated zeds. I remember seeing my first irradiated zed in the new pawn shop POI.

 

I opened up the pawn shop POI in pilles editor and didnt see any special sleeper blocks in it so not sure how one spawned for me.

 

I have to go through the gamestage xml and see if any of the early gamestages has a small chance to spawm irradiated zombies.

Link to comment
Share on other sites

I opened up the pawn shop POI in pilles editor and didnt see any special sleeper blocks in it so not sure how one spawned for me.

 

Are you talking about "store_pawn_01"? There are many sleeper blocks in this prefab (activate "show class symbol" in extras -> options- > view to show the sleepers).

Edited by Pille (see edit history)
Link to comment
Share on other sites

Thanks, i forgot about that post. What is interesting is even with a somewhat lower game stage there is a chance to spawn irradiated zeds. I remember seeing my first irradiated zed in the new pawn shop POI.

 

I opened up the pawn shop POI in pilles editor and didnt see any special sleeper blocks in it so not sure how one spawned for me.

 

I have to go through the gamestage xml and see if any of the early gamestages has a small chance to spawm irradiated zombies.

 

Some poi's have modifiers to increase the gamestage within the prefab. Nice stuff with decent potential. Also, since you can create custom prefab spawn groups, you could say, fill a police station with swat team zombies, if the UMA zombies still worked...

Link to comment
Share on other sites

[quote=Pille;685993@all

I hope someone can assist me with the prefab XMLs. I am trying to find all valid property names and corresponding values.

 

Example:

<property name="AllowedBiomes" value="wasteland, pine_forest, plains, forest, snow, desert" />

 

There are values (and perhaps properties) which aren't used in the current prefab xml files, e.g. "burn_forest" is not used but should be a valid entry in AllowedBiomes. I tried to read the Assembly-CSharp.dll and found an incomplete list of properties but no value lists.

 

Where can I find these things (do I really have to go through the other xml files (e.g. biomes.xml))?

 

Your xml making gui should basically have checkboxes that include the biome names in biomes.xml, which would then add to the prefab's xml. The biomes are in biomes.xml and there aren't a lot.

 

<biomemap id="01" name="snow"/>

<biomemap id="02" name="forest"/>

<biomemap id="03" name="pine_forest"/>

<biomemap id="04" name="plains"/>

<biomemap id="05" name="desert"/>

<biomemap id="06" name="water"/>

<biomemap id="07" name="radiated"/>

<biomemap id="08" name="wasteland"/>

<biomemap id="09" name="burnt_forest"/>

<biomemap id="10" name="city"/>

<biomemap id="11" name="city_wasteland"/>

<biomemap id="12" name="wasteland_hub"/>

<biomemap id="13" name="caveFloor"/>

<biomemap id="14" name="caveCeiling"/>

 

...and I'm fairly certain the cave ones don't work. :)

 

deletegui.png

 

etc...

Edited by Guppycur (see edit history)
Link to comment
Share on other sites

Are you talking about "store_pawn_01"? There are many sleeper blocks in this prefab (activate "show class symbol" in extras -> options- > view to show the sleepers).

 

Sorry, yes i was aware of the normal sleeper blocks, i was seaching for a special one that spawned the irridated zombie spawn.

Link to comment
Share on other sites

The only vanilla groups that spawns radiated is SleeperTestChamberGSList and ZombieBadassHorde, which spawns some tough cookies, but shouldn't spawn one until your GS is level 400, when it calls "ZombieBadassGroup", which has

<entitygroup name="ZombieBadassGroup">
	<entity name="zombieArleneFeral" />
	<entity name="zombieBoeFeral" />
	<entity name="zombieBusinessManFeral" />
	<entity name="zombieCheerleaderFeral" />
	<entity name="zombieDarleneFeral" />
	<entity name="zombieFarmerFeral" />
	<entity name="zombieFatCopFeral" />
	<entity name="zombieFatHawaiianFeral" />
	<entity name="zombieFemaleFatFeral" />
	<entity name="zombieJoeFeral" />
	<entity name="zombieMarleneFeral" />
	<entity name="zombieMoeFeral" />
	<entity name="zombieNurseFeral" />
	<entity name="zombieOldTimerFeral" />
	<entity name="zombieSkateboarderFeral" />
	<entity name="zombieSnowFeral" />
	<entity name="zombieSoldierFeral" />
	<entity name="zombieSpiderFeral" />
	<entity name="zombieSteveCrawler" />
	<entity name="zombieSteveCrawlerFeral" />
	<entity name="zombieSteveFeral" />
	<entity name="zombieUtilityWorkerFeral" />
	<entity name="zombieWightFeral" />
	<entity name="zombieYoFeral" />
	<entity name="zombieSpiderFeralRadiated" />
	<entity name="zombieWightFeralRadiated" />
	<entity name="zombieFatCopFeralRadiated" />
</entitygroup>

 

At gs 585 is when you start seeing radiated zombies through other means (hordes, sleepers and whatnot).

Link to comment
Share on other sites

Checking the poi, it has both the badass group AND has a +150 modifier to your gamestage, so the chances are pretty decent.

 

value="S_LootRoom_XL,S_GhostTown_S,S_Badass_XS,SleeperSmall"

 

- - - Updated - - -

 

Huh, wonder why there's a space in SleeperSmall, it's not there in edit mode. Stupid forum :)

Link to comment
Share on other sites

Hey Pille

 

Thx for adding the Block-Id-Exchanger-function

It worked perfectly and is very handy to use (also pretty fast)

 

What are ur plans for the prefab-settings (xml's) ??? Do u update and add the new a16-xml-lines to the editor ???

There are a few new lines in the a16 xml's:

 

<property name="ExcludeDistantPOIMesh" value="False" />

<property name="DistantPOIYOffset" value="0" />

 

Also the ZONING-command is back in action with 3 new ZONES: downtown , ResidentialOld , ResidentialNew

(since a11 zoning was in the xml's , but disarmed !!!)

 

Also the static-spawners seems to be gone now !!!

(no single vanilla-Prefab has got an spawner-entry anymore !!!)

 

Idk if AGE and CONDITION now have any function

(the 2 commands never had any functions before)

I just dont care about it atm ;)

 

And last but not least: The sleepers and their xml-entries.

 

 

cheers

Mag

Link to comment
Share on other sites

@all

I hope someone can assist me with the prefab XMLs. I am trying to find all valid property names and corresponding values.

 

Have a look at the prefab class, in the load function follow the function for the first return, then follow the function at the bottom before return true, and that should have you looking at the code that converts the dynamic properties to objects etc

 

starts like this:

 

// Prefab
private void md000d()
{
this.fd003f = Block.GetBlockValue(Constants.cTerrainFillerBlockName);
this.bCopyAirBlocks = this.properties.GetBool("CopyAirBlocks");
this.bExcludeDistantPOIMesh = this.properties.GetBool("ExcludeDistantPOIMesh");
this.distantPOIYOffset = this.properties.GetFloat("DistantPOIYOffset");
if (this.properties.Values.ContainsKey("DistantPOIOverride"))
{
	this.distantPOIOverride = this.properties.GetStringValue("DistantPOIOverride");
}
this.bAllowTopSoilDecorations = this.properties.GetBool("AllowTopSoilDecorations");
this.bTraderArea = this.properties.GetBool("TraderArea");
this.TraderAreaProtect = ((!this.properties.Values.ContainsKey("TraderAreaProtect")) ? Vector3i.zero : Utils.ParseVector3i(this.properties.Values["TraderAreaProtect"]));
Vector3i arg_164_1;
if (this.properties.Values.ContainsKey("TraderAreaTeleportSize"))

Link to comment
Share on other sites

@Magoli

The next release will contain full support for A16 prefab XMLs. In addition there will be a visual (and probably interactive) representation of the sleeper volumens.

 

So that's a sleeper volume in my current dev. version (the green rectangle). Each volume does have a different color and can be directly resized and moved like a desktop window (you can also use text fields to change the positions and dimensions):

 

C3FPiJr.png

 

@Guppycur

Don't worry this approach isn't really slower or less dirty than the other one. :)

 

@StompyNZ

Thanks Stompy. I hope I can find it (didn't try yet).^^

Edited by Pille (see edit history)
Link to comment
Share on other sites

Yes, but it doesn't work this way (or isn't very easy) since block selecting does change the color. So if I make the red selects or blue prefab boxes 100% translucent, you would see nothing but white blocks.^^

 

I think I could implement something like this:

CkF7iUR.png

Link to comment
Share on other sites

C3FPiJr.png

 

That looks pretty sweet, we're gonna need a lot of colours... I'm hitting 15-20 spawn areas per section in some areas. Some way to fine tune the areas once they're set in is sorely needed atm and this looks like it could plug that gap nice, really can't wait after doing 8 city parts by hand adding the sleepers in and tweaking them is fast becomming the new time consumer.

Link to comment
Share on other sites

@Magoli

The next release will contain full support for A16 prefab XMLs. In addition there will be a visual (and probably interactive) representation of the sleeper volumens.

 

So that's a sleeper volume in my current dev. version (the green rectangle). Each volume does have a different color and can be directly resized and moved like a desktop window (you can also use text fields to change the positions and dimensions):

 

C3FPiJr.png

 

Thanks Stompy. I hope I can find it (didn't try yet).^^

 

thx Pille - Iam really gonna love that tool more and more ;)

 

Its magical - always when i want something u already got the solution for it - love it !!!

Link to comment
Share on other sites

That would work well for selection,and likely well for the blue prefab insert too. Great solution!

I will put this feature in one of the next updates.^^

 

 

Was able to replicate the fill tool lock up bug.

 

If you try to fill an area with a block that already has that block it will lock the program up.

 

Thanks Amadeux. I was able to find and fix the bug (the fix will be included in the next release).

 

 

@Slaan, Magoli

I guess you have to wait a few more days because the next update is pretty big and the code for the sleeper volumes is quite "complicated" (at least compared to the rest of the project^^).

 

Btw. you can edit the colors of the volumes. So there will be an extra prefab file containing the color data (without this file you will get random colors).

 

Also the static-spawners seems to be gone now !!!

(no single vanilla-Prefab has got an spawner-entry anymore !!!)

Really? My automated xml evaluation function found prefabs using static spawners:

business_red_brick_06.xml

garageblue1.xml

 

I hope that's not a mistake.

Edited by Pille (see edit history)
Link to comment
Share on other sites

Love the editor so far and was trying to figure out how the drawing tools worked a bit more.

 

I was able to lock it up a few times by trying to fill a full layer.

 

Now when trying to run the editor it just spins and won't load. Ran the autoupdater but got the same results. Any suggestions?

 

Great tool to start off with. This is my first time editing Prefabs outside of the game.

 

I've noticed that when using the fill tool the program sometimes locks up. No error or anything but becomes unresponsive and all buttons and actions become greyed out.

 

I've also had to redownload a few times even after updating as the Zombie.exe just seems to do nothing.

 

I would also like to make a suggestion to possibly add a circle tool like can be found at this site. It's worked really well for laying out some structures I've made in the past.

 

https://www.pixilart.com/

 

Thanks again!

 

That's really strange. I could have sworn that your comments were not there yesterday. So sorry that I have ignored you but your posts were invisible.^^

 

Do you still have problems when starting the editor? What's your windows version?

 

Thanks for your suggestion. There's already something similar but it's not activated (so not available to normal users). I am going to reactivate it as soon as I can.

Edited by Pille (see edit history)
Link to comment
Share on other sites

That's really strange. I could have sworn that your comments were not there yesterday. So sorry that I have ignored you but your posts were invisible.^^

 

Do you still have problems when starting the editor? What's your windows version?

 

Thanks for your suggestion. There's already something similar but it's not activated (so not available to normal users). I am going to reactivate it as soon as I can.

 

As Guppy said my posts have to be reviewed. I normally just lurk but I've been following along with everyone until now.

 

I'm using Windows 10 64bit and it hasn't happened recently but if I can replicate it I'll let you know.

 

Thanks!

Link to comment
Share on other sites

The next update is ready!

 

A few features don't work yet and there are some small known bugs but I think it's already useful. So good luck. ;)

 

 

Changelog v0.3 (July 11, 2017):

- added a few tool tips (not complete yet)

- added option "inverted mouse wheel" (related to "mouse wheel changes layers")

- added option for a15 xml support (the editor assumes you're working with alpha 16 unless you've activated this option)

- added a16 xml support

- added system to visualize and edit sleeper volumes

- added button for clearing inserted prefabs (This button removes the blue box. So you don't have to click on "fix position" and undo)

- changed layout to save space

- corrected spelling "Your current prefab is the small" -> "Your current prefab is too small"

- temporarily disabled "Layer-independent selection" (performance issues for large prefabs)

- renamed "side view 1" to "front view" and "side view 2" to "side view"

- fixed scaling for high dpi displays

- fixed bug related to fill tool

- fixed bug related to a15 xml support

 

 

I think I should give you some instructions:

 

 

BST8xm5.png

 

 

1.

 

* This funny little rectangle is a sleeper volume. Each sleeper volume is represented by an item in the volume list (see 2.).

 

* Left click on the frame moves the sleeper volume (drag & drop).

 

* Right click on the frame resizes the volume. (This function has bugs)

 

* Double click on the frame selects and shows the corresponding item in the sleeper volume list

 

 

 

2.

 

* Each item in this list represents a volume on the grid.

 

* Double click somewhere here to show and highlight the corresponding volume on the grid.

 

 

 

3.

 

* This buttons add and remove sleeper volumes. Sometimes the new volumes will be "spawned" outside of the visible area. Please use the text fields "SleeperVolumeStart" to fix the issue.

 

 

Hints:

 

* Undo does not work for sleeper volume changes atm.

 

* Deactivate the a15 xml compatibility if you're working on an a16 prefab.

 

* Activate "write prefab XML" if you want to use the sleeper volume features

 

* The editor creates a new file ("prefabname".pille) which contains the color data of the sleeper volumes.

Edited by Pille (see edit history)
Link to comment
Share on other sites

Wow, gonna dive straight into this now, some seriously awesome features you've added there.

 

*edit*

 

Amazing, still to test some stuff properly but assuming it works ok, in 30 seconds I spotted a whole bunch of mistakes in some of my sleeper code.

 

This will open the door for amateur/new prefabbers in a big way, although simple enough in theory the XML code for the sleepers looks pretty daunting once your at 15+ volumes in a single prefab and it's nothing but a whole bunch of numbers. I think a lot of my mistakes have stemmed from having no way to easily see the area designated and doing a lot of math in my head and jotting in the wrong numbers. A lot of the errors (triggered emtpy volume) are gonna be much easier to track down now.

Edited by Slaan (see edit history)
Link to comment
Share on other sites

Wow, gonna dive straight into this now, some seriously awesome features you've added there.

 

I hope there are not too many serious bugs. I had not much time for testing.^^

 

Edit:

 

Glad to hear that you find this feature helpful. It was a lot of work. :)

Edited by Pille (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...