STEAM GROUP
SD Map Makers SDMMs
STEAM GROUP
SD Map Makers SDMMs
0
IN-GAME
9
ONLINE
Founded
14 January, 2016
Language
English
Location
Germany 
All Discussions > Tech & How-tos > Topic Details
42 19 Aug, 2016 @ 7:57am
Fixing the Snakes and Boars
So, I want to try to fix the spawning of Snakes and Boars on custom Islands. I'm aware of the possibility to just let the procedural generation do its work, but I wanted to have the animals in a dense jungle.
What i found out until now:
  • By changing the .json file we can change the game: e.g. it was possible to repopulate crab homes by changing the malecount and femalecount.
  • There is a statement on the .json file implementing the boars
    [656]BOAR(Clone)":{"name":"BOAR(Clone)","reference":"26899621-dc74-40d9-ac73-5751155afb55","prefab":"225d0de8-76a7-4f95-9853-f318b3d20e48","Transform":{"localPosition":{"x":"-79.72745","y":"101.5619","z":"-107.3107"},"localRotation":{"x":"-0.0426948","y":"0.7621342","z":"0.01484945","w":"0.6458391"},"localScale":{"x":"1","y":"0.9999998","z":"1"}},"displayName":"Wild Boar","healthPoints":"80","Rigidbody":{"isKinematic":false,"useGravity":false,"position":{"x":"-79.72745","y":"1.561852","z":"-1107.311"},"rotation":{"x":"-0.04269481","y":"0.762134","z":"0.01484944","w":"0.6458393"},"velocity":{"x":"-1.327132E-08","y":"1.325153E-10","z":"-5.143055E-09"},"angularVelocity":{"x":"0","y":"0","z":"0"},"mass":"1","drag":"0","angularDrag":"0.05","freezeRotation":true,"constraints":"FreezeRotation","interpolation":"None","detectCollisions":true,"collisionDetectionMode":"Discrete"},"Colliders":{"[0]CapsuleCollider":{"enabled":true,"isTrigger":false,"center":{"x":"0","y":"0","z":"0.03"},"radius":"0.15","height":"0.7","direction":"2"}},"durabilityPoints":"0","isInteractive":false,"canUse":false,"canUseOnObjects":false,"canDamage":false},
  • -> now should it be possible to either move the boars from one island to the other or, which would be better, to just enter new ones into custom islands. There is still an unknown variable though: At the beginning of the statement there is a reference code. Everything else stays the same or is retraceable (number at the beginning, position etc). So I need someone who can decipher the reference code, so it is possible to change it accordingly. Maybe we could get boars at custom islands.
Also, regarding the snakes: They seem to need hiding spots defined in the .json file. Good thing though: they are already implemented in custom islands, so it should be possible to enter them easily. Still gotta find their statement though.
< >
Showing 1-9 of 9 comments
TouriStarr 19 Aug, 2016 @ 11:45am 
Very interesting, hope we can figure this out!
It's really annoying that the engine stops populating custom islands as soon as you place stuff on it! I could imagine a MODification for the animals spawn would be a fantastic addition! :)
42 19 Aug, 2016 @ 12:28pm 
Okay, so i dug a bit deeper. Here is what i found:

This is a standard palm statement from a procedurally generated island.
[124]PALM_4(Clone)":{"name":"PALM_4(Clone)","reference":"03c59c12-b812-4dfb-b02a-d159a6033336","prefab":"dc6a69b9-98af-4a0f-93b1-28214d92378f","Transform":{"localPosition":{"x":"-1.5","y":"103.0366","z":"-17.60501"},"localRotation":{"x":"0","y":"0.9998477","z":"0","w":"0.01745238"},"localScale":{"x":"1","y":"1","z":"1"}},"displayName":"Palm Tree","healthPoints":"150","Rigidbody":{"isKinematic":true,"useGravity":true,"position":{"x":"-501.5","y":"3.036591","z":"-17.60501"},"rotation":{"x":"0","y":"0.9998477","z":"0","w":"0.01745238"},"velocity":{"x":"0","y":"0","z":"0"},"angularVelocity":{"x":"0","y":"0","z":"0"},"mass":"1","drag":"0","angularDrag":"0.05","freezeRotation":false,"constraints":"None","interpolation":"None","detectCollisions":true,"collisionDetectionMode":"Discrete"},"Colliders":{"[0]BoxCollider":{"enabled":true,"isTrigger":false,"center":{"x":"0","y":"1.68","z":"0"},"size":{"x":"0.4","y":"4","z":"0.4"}}},"durabilityPoints":"0","isInteractive":false,"canUse":false,"canUseOnObjects":false,"canDamage":false,"Fruits":{"[0]Fruit":"9165730a-3169-4876-9f00-3dd605c3914f"}},"

This is a standard Kura-Fruit statement, also from a procedural island.
[334]KURA_FRUIT(Clone)":{"name":"KURA_FRUIT(Clone)","reference":"f179e736-c2b1-41a4-a091-d2ef9ccd912e","prefab":"e72cb7b4-bbc7-4ba9-ac52-ab1f3e6c708c","Transform":{"localPosition":{"x":"-20.6972","y":"106.9099","z":"12.32053"},"localRotation":{"x":"-0.04410926","y":"-0.9028428","z":"-0.02695937","w":"0.4268519"},"localScale":{"x":"1.000013","y":"1","z":"1.00001"}},"displayName":"Kura Fruit","healthPoints":"0","Rigidbody":{"isKinematic":true,"useGravity":true,"position":{"x":"-520.6972","y":"6.909866","z":"12.32053"},"rotation":{"x":"-0.04410926","y":"-0.9028428","z":"-0.02695937","w":"0.4268519"},"velocity":{"x":"0","y":"0","z":"0"},"angularVelocity":{"x":"0","y":"0","z":"0"},"mass":"1","drag":"0","angularDrag":"0.05","freezeRotation":false,"constraints":"None","interpolation":"None","detectCollisions":true,"collisionDetectionMode":"Discrete"},"Colliders":{"[0]BoxCollider":{"enabled":true,"isTrigger":false,"center":{"x":"-0.003099218","y":"0.004132211","z":"0.001033053"},"size":{"x":"0.101227","y":"0.1900712","z":"0.1094916"}}},"durabilityPoints":"0","isInteractive":true,"canUse":true,"canUseOnObjects":false,"canDamage":false,"servings":"1","isAttached":true,"TimePicked":{"Year":"2016","Month":"9","Day":"17","Hour":"15","Minute":"28","Second":"45"},"Spoilable":true,"Spoiled":false},"
The part after 'rigidbody' is basically the same. I'd guess this is about the fruits of the tree. I'm gonna take a statement from a player made island and compare them tomorrow. It should be possible to cover the changes.

Last but not least I also found the snake statement:
[344]SNAKE_RAGDOLL(Clone)":{"name":"SNAKE_RAGDOLL(Clone)","reference":"3c4bd208-96b2-4f62-9b0f-8b3ac9e5a293","prefab":"4d3eabfe-afad-4d87-9007-e0d8a4a8cf78","Transform":{"localPosition":{"x":"-0.6572876","y":"105.8984","z":"7.234955"},"localRotation":{"x":"-0.8438032","y":"0.1974683","z":"-0.463052","w":"0.1859711"},"localScale":{"x":"1.000001","y":"1.000008","z":"1.000007"}},"displayName":"Night Snake","healthPoints":"0","Rigidbody":{"isKinematic":false,"useGravity":true,"position":{"x":"-500.6573","y":"5.898354","z":"7.234955"},"rotation":{"x":"-0.8438032","y":"0.1974683","z":"-0.463052","w":"0.1859711"},"velocity":{"x":"0.00100261","y":"4.468108E-05","z":"-5.41019E-05"},"angularVelocity":{"x":"0.0001864613","y":"-0.0005269195","z":"0.000247494"},"mass":"1","drag":"0","angularDrag":"0.05","freezeRotation":false,"constraints":"None","interpolation":"None","detectCollisions":true,"collisionDetectionMode":"Discrete"},"durabilityPoints":"0","isInteractive":false,"canUse":false,"canUseOnObjects":false,"canDamage":false,"Ragdolls":{"[0]Ragdoll":{"localPosition":{"x":"-6.01303E-05","y":"-0.0002136784","z":"6.583599E-05"},"localRotation":{"x":"0.0001401305","y":"0.07397323","z":"0.4855148","w":"0.8710932"},"localScale":{"x":"1","y":"1","z":"0.9999999"}},"[1]Ragdoll":{"localPosition":{"x":"-0.1771166","y":"-5.471706E-05","z":"0.0001527993"},"localRotation":{"x":"-0.0002081205","y":"0.3295789","z":"-0.6259027","w":"0.7068406"},"localScale":{"x":"1","y":"1","z":"1"}},"[2]Ragdoll":{"localPosition":{"x":"-0.1079149","y":"0.04407515","z":"0.06114889"},"localRotation":{"x":"0.001446151","y":"0.464042","z":"-0.3321252","w":"0.8211916"},"localScale":{"x":"1","y":"1","z":"1"}},"[3]Ragdoll":{"localPosition":{"x":"-0.1223333","y":"-0.06775072","z":"0.004823945"},"localRotation":{"x":"-0.004515671","y":"0.03093684","z":"0.4858009","w":"0.8735102"},"localScale":{"x":"1","y":"1","z":"1"}},"[4]Ragdoll":{"localPosition":{"x":"-0.1433038","y":"-0.004340783","z":"-0.0489828"},"localRotation":{"x":"0.004622493","y":"-0.3230258","z":"0.02871874","w":"0.9459431"},"localScale":{"x":"1","y":"1","z":"1"}},"[5]Ragdoll":{"localPosition":{"x":"-0.07944315","y":"-0.003708148","z":"-0.0798584"},"localRotation":{"x":"-0.01467819","y":"0.7067207","z":"-0.04803083","w":"-0.7057077"},"localScale":{"x":"1","y":"1","z":"1"}},"[6]Ragdoll":{"localPosition":{"x":"-0.09536861","y":"-0.02832402","z":"-0.07327723"},"localRotation":{"x":"0.00326537","y":"-0.5923341","z":"0.2313989","w":"0.771741"},"localScale":{"x":"1","y":"1","z":"1"}},"[7]Ragdoll":{"localPosition":{"x":"-0.1261729","y":"-0.04847905","z":"-0.04404835"},"localRotation":{"x":"0.01798209","y":"-0.3036376","z":"0.3488601","w":"0.8864409"},"localScale":{"x":"1","y":"1","z":"1"}},"[8]Ragdoll":{"localPosition":{"x":"-0.1187193","y":"0.04234664","z":"-0.05578637"},"localRotation":{"x":"-0.004978516","y":"0.407647","z":"0.3064498","w":"-0.8601673"},"localScale":{"x":"1","y":"1","z":"1"}},"[9]Ragdoll":{"localPosition":{"x":"-0.1328745","y":"0.04268176","z":"0.04279772"},"localRotation":{"x":"0.009777494","y":"0.2896383","z":"-0.2942431","w":"0.9107333"},"localScale":{"x":"1","y":"1","z":"1"}},"[10]Ragdoll":{"localPosition":{"x":"-0.1164449","y":"0.06073918","z":"0.03720795"},"localRotation":{"x":"0.00180817","y":"0.2722459","z":"-0.4462923","w":"0.8524683"},"localScale":{"x":"1","y":"1","z":"1"}},"[11]Ragdoll":{"localPosition":{"x":"-0.1574093","y":"0.02052744","z":"0.003441207"},"localRotation":{"x":"0.009797161","y":"0.02140232","z":"-0.1261785","w":"0.9917283"},"localScale":{"x":"1","y":"1","z":"1"}},"[12]Ragdoll":{"localPosition":{"x":"-0.08257701","y":"-0.07886464","z":"-0.01246491"},"localRotation":{"x":"0.001116234","y":"-0.1053401","z":"0.6925446","w":"0.7136414"},"localScale":{"x":"1","y":"1","z":"1"}}},"Skinnable":{"CanSkin":true,"Skinned":"0","Failed":"0"}},"

And in all of these there is the problem with the reference code. If we can reproduce these, we should easily be able to put these on custom islands.
Also: What else is missing? E.g. are there seagulls and bats on them? Never watched out for them tbh.

PS: Just realized that ALL grid-parts are recorded in the .json file. At least the procedural zones (->Islands and water parts) are in there with their names. Just search for "zone" to find them. So one has to be careful on which position the items we want to add are. The palms above should be from a procedurally generated island though.
Last edited by 42; 19 Aug, 2016 @ 12:28pm
I-o-IPositive7 19 Aug, 2016 @ 12:34pm 
You can add it easily to the save file, but auto generation won't work. So Custom Islands won't generate snakes, boars and other animals.
42 19 Aug, 2016 @ 1:10pm 
Originally posted by I-o-IPositive7:
You can add it easily to the save file, but auto generation won't work. So Custom Islands won't generate snakes, boars and other animals.
So it should just be possible to 'copy' a snake from one island to another? What about the reference code?
I-o-IPositive7 19 Aug, 2016 @ 1:20pm 
Doesn't really matter. Only the position. Use a tree or any object position. And be careful when editing json always make a backup. It is easy to break it.
"[2]SNAKE(Clone)":{"name":"SNAKE(Clone)","reference":"57c41293-0c61-4148-9118-4dddcdc6b782","prefab":"cbf681ba-9e43-498f-8e6a-6e4a0cf83b5e","Transform":{"localPosition":{"x":"-4.962006","y":"104.4103","z":"48.11121"},"localRotation":{"x":"-0.04247245","y":"0.9665055","z":"-0.06353948","w":"0.2450019"},"localScale":{"x":"1.000002","y":"1","z":"1.000002"}},"displayName":"Night Snake","healthPoints":"40","Rigidbody":{"isKinematic":false,"useGravity":false,"position":{"x":"-4.962006","y":"4.410255","z":"48.11121"},"rotation":{"x":"-0.04247252","y":"0.9665054","z":"-0.06353925","w":"0.2450023"},"velocity":{"x":"-2.658625E-05","y":"-8.239646E-06","z":"-5.908073E-06"},"angularVelocity":{"x":"0","y":"0","z":"0"},"mass":"1","drag":"0","angularDrag":"0.05","freezeRotation":true,"constraints":"FreezeRotation","interpolation":"None","detectCollisions":true,"collisionDetectionMode":"Discrete"},"Colliders":{"[0]CapsuleCollider":{"enabled":true,"isTrigger":false,"center":{"x":"0","y":"0","z":"0"},"radius":"0.12","height":"1.34","direction":"2"}},"durabilityPoints":"0","isInteractive":false,"canUse":false,"canUseOnObjects":false,"canDamage":false}

"[2]SNAKE(Clone)" The number in the beginning is important. But I think you already know that.

And the hiding spot if you need it

"[1]HIDESPOT_SNAKE(Clone)":{"name":"HIDESPOT_SNAKE(Clone)","reference":"9ca40b6b-b9f0-4eba-8dd7-fd13f9ccddf0","prefab":"4f660c7a-61da-4e94-8c18-6ab1e232d869","Transform":{"localPosition":{"x":"-3.674606","y":"102.5323","z":"15.63541"},"localRotation":{"x":"0.2021843","y":"0","z":"0.0804389","w":"0.9760385"},"localScale":{"x":"1","y":"1","z":"0.9999999"}},"displayName":"","healthPoints":"0"}
42 19 Aug, 2016 @ 1:54pm 
Thanks! Gonna try it tomorrow!
imfrank 26 Aug, 2016 @ 10:39am 
Have you tried discussing this with Beam Team Games?
42 7 Sep, 2016 @ 5:54am 
Sorry for everyone one who might have monitored this thread, stuff happened and I couldn't test it.
Fiddled around a bit today, but the only thing I seem to do is fuck up the json file. I'm always stuck at 'loading world', not getting any error messages to work with. Looks like it's not really working.
Maybe someone else could try to get it to work if anybody cares..

Edit: Yeah, maybe someone could write a Mail to the devs, maybe they fix it themselves sooner rather than later if we beg enough? ;)
Last edited by 42; 7 Sep, 2016 @ 5:55am
TouriStarr 7 Sep, 2016 @ 1:16pm 
...so say we all! ;)
< >
Showing 1-9 of 9 comments
Per page: 1530 50

All Discussions > Tech & How-tos > Topic Details