Jump to content

Oliver Hope

Creator
  • Content Count

    374
  • Joined

  • Last visited

Posts posted by Oliver Hope


  1. with the new ability to rotate objects that are placed down there is an overlap of keybinds.
    When editing a group with control+g (I believe this is the default keybind) the whole group rotates on the x-axis ('g' axis). The rotate action should just not happen when ctrl is pressed

    EDIT: even if that's not the default keybinds pressing down ctrl, shift should stop other actions from happening. So players can change there keybinds to what they prefer. Not sure if that made sense so Example. ctrl+N should not perform the action linked to N but only the action linked to ctrl+N

     

    • Like 1

  2. Wooohooo! So happy to see all my work was worth it!
    I would to take a moment to thank a few, starting with the IF Statement, my entry would be incomparable without it (?). Next, I should thank rune isa, iron rod and blank sign I used them like everywhere. Lastly, I want to thank Peanut Butter Sandwich for fueling my late night work.

    But in all seriousness thank you ylands team/Bi for the opportunity and @Fompster for helping to playtest. Congratulations to everyone else, I'm going to have to stick my nose in explore to check out the other entries.

     

    • Like 3
    • Haha 3

  3. 1 hour ago, zarwil said:

    I can't think of any other reason why ship lag would increase with the size of the ship weld.

    As far as I understand welds: they only decrease the amount of hitboxes, while this helps a lot, each entity still needs to be processed at the very least visually.


  4. 9 hours ago, Oliver Hope said:

    As I was writing this I had a thought and came up with yet another solution. this one doesn't use groups so you can spawn the same way you are currently. The key thing to note is that you need to have your rotation animator rotating around a reference point, then you can rotate that reference point the same as the body. Also it is possible to do the flying animation with just 1 rotation animator.
    DAMENTEST_F.HAO_V2.zip

    @F.hao It should be possible to modify this second solution to be able to spawn as many as you need (like your original ycomp). (I thought you could how it is as I sent it, but now you said stuff that reminds me you can't). to modify it, You can spawn a separate entity reference point and rotation animator for each demon ball. 

    If you are going to have many balls I recommend using an entity storage game logic to keep all the instructions and variables for the demon balls in. Let me know if I can help further


  5. @Mello1223 posted after I saw this but before I worked it out. To prove his point here is my solution. I made use of groups in mine so you will not be able to spawn new ones. However seeing as there is a player limit in ylands games it is easy enough to create eg 8 copies, and assign them to different players as needed or store them when not in use.
    Using groups is probably the 'intended way' to solve the problem imo.

    DAMENTEST_F.HAO.zip
    As I was writing this I had a thought and came up with yet another solution. this one doesn't use groups so you can spawn the same way you are currently. The key thing to note is that you need to have your rotation animator rotating around a reference point, then you can rotate that reference point the same as the body. Also it is possible to do the flying animation with just 1 rotation animator.
    DAMENTEST_F.HAO_V2.zip

    @Mello1223 I had a quick look at yours, it is possible to solve problem without using loops, and I think its better to avoid those when possible.

    • Like 1

  6. BTH Building aids main page

    Video Tutorial

    Overview

    The Broccoli Tree House laser measuring tools enable you to measure the exact size of entities and the distance between 2 surfaces. They also work with terrain.

    Set up the Tools

    Inwards Measure

    Create a copy of the inwards laser measure. Position and scale it so that whatever you want to measure in between it. Ensure that there is nothing else inside the 'laser beam'.

    Good:
    Good

    Bad:
    image.thumb.png.b089f099a790135caaedb77af07f9073.png

    Outwards Measure

    Create a copy of the outwards laser measure. Position and scale it between to surfaces that you want to measure the distance between. Ensure that the 'laser beam' passes through both surfaces.

    Good:
    image.png.903c194534269f8d55500ae8dba1c68e.png

    Bad:
    image.png.d1f98bf6158fe30474f9fdcd62ed1428.png

    Measure

    Instructions found under Laser measure.

    image.png.6b5817a18de207cf828ef19f5676eaf3.png

    Paramaters (name - type - info)

    Laser measure - game logic - outwards/inwards laser measure trigger zone

    Returns

    the distance

    Description

    Returns the distance depending on which measure type was used

    image.png.cc17d8af0aeb44666862958897b93370.png

    Paramaters (name - type - info)

    Laser measure - game logic - outwards/inwards laser measure trigger zone

    Returns

    the distance

    Description

    Returns the distance depending on which measure type was used, and then deletes the trigger zone.

    • Like 3

  7. BTH Building aids main page.

    NOTE: The custom groups function is now redundant with the addition of group templates but I will leave this up.

    This tutorial is going to show how to use BTH custom groups. Script downloads can be found on the main page.

    Video version

    (I missed a few things in the video?)

    Custom Group Vs Groups Vs Welds

    BTH custom groups are a mixture of group and weld features.

    image.png.558d82e86eced680367301a6d07d980d.png

    The property of being able to create copies at runtime and that the entities are separate is the whole point of the custom groups.
    It enables you to for example. spawn a building but still be able to destroy separate entities. Or more importantly, for our case is that we can generate structures (with script) out of groups at run time and create compositions out of these.

    Create a custom group

    Step 1
    Duplicate the Custom Group Template - Entity label game logic.

    image.png.d543a4fa83fa89826e97214f1a068bf4.png

    Alternatively create a new entity label and add the following script:
    image.png.79558a6ec8cbe0348807852f872f58ef.png

    Step 2
    Position and Orientate the label as if it were a group pivot on the entities you want to make a group with.
    NOTE: if you entities are grouped make sure it is just one group and that you add the Entity label to the group.
    image.png.51cdb9b5776fcf91ecafbcff4f0f9157.png

    Step 3
    Select add all the entities to the label. I recommend dragging to select everything, deselect the label, click the eye dropper as shown below and choose the entity label with it.
    image.thumb.png.99fb11874f58e1d0e2e24c0010d0d448.png

    Thats it, you are done.

    Using the custom Group

    Custom group instructions are found under 'Custom Group'

    image.png.f5062c6190667ad76173d53b0c814885.png

    Paramaters (name - type - info)

    Custom Group - game logic - entity label for your group

    position/rotation - vector3 - pos/rot to set group to

    Description

    Sets the position/rotation of the custom group

    image.png.e09e47921da896c7e742776caf565bae.png

    Paramaters (name - type - info)

    Custom Group - game logic - entity label for your group

    ref point - game logic - ref point to spawn the group at

    interaction - boolean - at true it will use entity default interactions, at false it will disable all entity interactions

    Returns

    Entity label game logic

    Description

    Spawns a new copy of a custom group at the position and rotation of the ref point.

    image.png.b07e6e7d6104cea0deb7af042de26c27.png

    Paramaters (name - type - info)

    Custom Group - game logic - entity label for your group

    position - Vector3 - position to spawn new group in

    rotation - Vector3 - rotation to spawn new group in

    interaction - boolean - at true it will use entity default interactions, at false it will disable all entity interactions

    Returns

    Entity label game logic

    Description

    Spawns a new copy of a custom group at given position rotation

    image.png

    NOTE: this function is for more advanced users

    Paramaters (name - type - info)

    Custom Group - game logic - entity label for your group

    Description

    Captures all the local rotation/position data of all the entities in the label

    • Like 2

  8. Hi XXon, sorry I saw this a while ago and meant to reply sooner.

    The best way to do this is using Game storage (same place you make a leaderboard) but make a variable instead called experience with type number. This creates a separate variable for each player.
    You can access this like other variables. Here is an example of adding 10 XP every time a player kills something. Let me know if you have any questions

     

    image.thumb.png.18402a81545e516b12fda3baca20674d.png

    • Like 1

  9. Broccoli Tree House Building Aids

    A collection of useful tools and scripts to help with building complex creations in the editor (which can be blueprinted into explore)

    Ylands_211124_143441.thumb.png.d874945e3ce572b2596659e20d187513.png

    Above: An example of some things that can be created with these tools.

    This is an open-source project to help make building certain things easier. I'd like to see you build that miniature rollercoaster without scripts?

    My inspiration

    During the season 2 creator competition (you can find my submission here) I was faced two times needing a helix, once for a spiral staircase and once for a worm gear, the first one I made manually and the second one with script. Manually was not fun, and my script was terrible due to time pressure, so I decided to improve it after the competition. Later in the competition, I was creating an airship and it would have been really useful to be able to mirror the hull, (I had to settle on a less preferable shape due to this not being possible in ylands).
    A month later I have made good scripts for both of these problems(and more), but not everyone knows how to script so I want to share it publicly and also encourage other programmers to contribute.

    A summary of how it works

    For in-depth tutorials see below.
    Generating structures with scripts is very powerful. If you want to place a generated structure in the editor it requires exporting the scenario, loading it as a game, loading that game in the editor and saving the structure as a comp (a bit lengthy but it can be well worth it). My first helix generator during the composition required the individual entities to be welded (so that I could spawn a group like a section of the rollercoaster and edit the pivot of this group) which causes problems when you want to make a composition/blueprint out of them, it also stops you from welding the whole structure as one.
    Therefore the base of these building scripts is a custom group system that allows storing a set of entities and placing them at a given position/rotation. Most of the scripts make use of this, meaning that all entities spawned in are just entities, not welds)This custom group function is now redundant with addition of the group template logic but I am yet to update these scripts to accommodate for it properly.

    Current Features(summary)

    • Custom group system
      • create groups
      • copy groups to given pos/rot
      • set pos/rot
    • Helixes
      • regular helix
      • helix along path
    • Follow path
    • Various Spheres and circles
    • Mirror across any plane
    • Laser measure tool

    Upcoming Features

    Here are some things I'd like to add but there is no guarantee I will.

    • Elipse and ellipsoid generator
    • rope generator
    • n equidistant points on a sphere
    • smoother version of follow path

    Contribute

    This is open-source, meaning it's encouraged that people to adapt and add to it. If you do not have the skills but you have an idea contact me and ill see about adding it.

    If you have a building script or you made some changes that you think would help people, DM me here or on discord and Ill see about adding it to this main version.
    Discord: O1iver#5816

    Tutorials(WIP)

    If you are using the Source version each Instruction/Function has a description of how to use it in the function definition.

    Downloads

    These files are also available on the workshop.

    Latest Version:

    BTH BUILDING SCRIPTS V1.1.0.zip

    Older Versions:

    BTH BUILDING SCRIPTS V1.0.1.zip

     

    • Like 6

  10. Hi, I am getting the following variable creation window inside a Controller Logic. This obviously causes problems because you cant define a variable type.

    Iv also experienced not being able to open this variable editor window. Restarting game seems to fix it.

    EDIT: exiting to main menu also seams to fix it.

    EDIT2: I noticed that basically the whole script editor acts as if your in any other logic, in the screen shot you can see, for example that the entities category is available.

    Ylands_211103_120400.thumb.png.029a4ea11f0e755da6e4a2aa3d3fb2b8.png

    output_log.txt

    output_log_clean.txt


  11. 7 hours ago, spiritchaser28 said:

    Perhaps they could attack when you attack and do a little damage? Or maybe give a boost to certain resistances? Or a slight speed bonus, damage bonus, etc

    The problem with giving pets bonuses is it becomes slightly pay to win as you need to buy pets with coyns. Sure if its only a small bonus its not too bad, but it could end up being a slippery slope...
    A solution could be an alternative way to get pets.

    • Like 1

  12. OliverHope_screenshot.thumb.png.cec2c748ec660cdff79e62987c30d5c8.png

    Yesterday was, well tiring... I estimate around 16 hours of work to finish my game in time.
    I am mostly extremely proud of what I have submitted even though there are so many more details I would like to add, not to mention the whole middle chapter I had to cut out.

    Congratulations to everyone who submitted their game! that in its self is an achievement. I look forward to experiencing them first-hand.

    Time for a well-earned break.

    • Like 3
    • Haha 1

  13. If you have an environment in side of another environment the interior one does not work. I'm assuming this isn't a bug and just was implemented like this.

    As an example I have a large environment covering most of my yland setting the temperature and a smaller one at a specific area setting lighting, however this one doesn't work because its inside the large one.

    I feel it makes most sense if the interior one takes priority.

    • Upvote 1
×