Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

186 Excellent


About Shadow72

  • Rank
    Advanced Member

Recent Profile Visitors

1704 profile views
  1. Shadow72

    New Community Warlock Nikki

    Hey, I'm Shadow. I've been playing the game on and off since before the game was on steam and mostly stick to the editor side of the game. I'm a huge World of Warcraft fan so once classic wow tbc releases I will probably be missing for a bit.
  2. Variables Within Functions function MyFunction() { let myVariable = 7; } Increment/Decrement Integer let i = 7; // Increments the integer i i += 1; // Decrements the integer i i -= 1; For Loops for(let i = 0; i < 100; i += 1) { } Intellisense For Custom Functions // Add directly above your function. The format is ([Paramater Name]: [Parameter Type]) using commas to seperate if you have more than one paramater. /** @type {(player: YCharacter, inputString: string)} */ function MyFunction(player, inputString) { } Get/Set Game Storage Variables // Get Game Storage Variable // "MyVariable" = the name of the game storage variable YServerData.getServerVariable(player, YServerDataScope.Game, "MyVariable"); // Set Game Storage Variable // "MyVariable" = the name of the game storage variable // 7 = the value you want to set the variable to YServerData.setServerVariable(this.YPlayer, YServerDataScope.Game, "MyVariable", 7); // If your game is a part of a game set replace YServerDataScope.Game with YServerDataScope.GameSet Getting A Specific Object In The World // For getting game logic // 52 = the id of the game logic YWorld.GetLogic(52); // For getting entities // 75 = the id of the entity(not the entity type id) YWorld.GetEntity(75); Show Warning // Show warning to everyone YUi.showWarning("Test"); // Show warning to a specific player YUi.showWarning(player, "Test");
  3. Anytime I try to instantiate a new instance of a custom class that has parameters in it's constructor I get "UNKNOWN INTERNAL ERROR 454". class TestClass { constructor() { } } class TestClass2 { constructor(name) { this.name = name; } } function SomeFunction() { let aClass = new TestClass(); let bClass = new TestClass2("Bob"); } Creating a new instance of TestClass works but creating a new instance of TestClass2 gives a error.
  4. Shadow72


    The video Ocnog linked is really good. If you have any questions feel free to pm me and I can try to help you out. Although I don't know any French.
  5. Shadow72

    Text Scripting Feedback/Suggestions

    Sorry, I probably should have explained the first one better. Here's some pseudo code to help explain better. class GameManager { constructor() { this.gameState = "WAITING_FOR_PLAYERS"; } setState(newState) { this.gameState = newState; } } var myGameManager = new GameManger(); For the game manager I would need it in multiple different game logics so I could check the current gameState. But adding the same script to each game logic wouldn't work because if I set the new gameState to "IN_GAME" it would only update the gameManager for that single game logic, instead of all of them. I also tried using the code you posted and it seems like we are only able to use "let" inside of functions in the experimental build.
  6. I have been playing around with text scripting for a bit now and here are some suggestions I have. Right now there is no way to share code between game logics. It would be nice to be able to import other yjs files in your script or to have global scripts that all scripts automatically have access to. However, right now you can share code between scripts in the same game logic, but if you need that code in multiple different game logics you would have to add that script to each of them. Then that becomes a problem if you want to do something like a gamemanager script where the script keeps track of the gamestate and whatnot. We don't have i++, instead we have i += 1. It would be nice to have i++ since most people are used to typing that in javascript for loops. It would be cool if we could create visual scripting tiles from text scripting. Allowing us to hide the more complex code in scripts and then use visual scripting to link it all together so it is easier to quickly change things(sort of like how UE4 does it). It would also allow people who don't want to get into text scripting a way to use other peoples text scripts in their own project without having to learn javascript. Text script errors in chat blend together with multiple errors in a row. Would be nice to have some type of separator between the errors or even a new window that would pop up and display the error in a more easily readable way.
  7. It seems you can't instantiate a instance of a custom class outside of the event functions. Doing so results in the error: Undefined variable "{0}". However you can instantiate a new copy of a class such as YVector3 outside of the event functions. var x = new Test(); var p; var v = new YVector3(0, 1, 0); function onSwitchOn(triggerEntity) { p = new Test(); YEntity.spawnEntity(YEntityType.get(35), 1, v, v); YDebug.localConsole(p.doSomething()); } class Test { constructor() {} doSomething() { return "test"; } } var x gives the undefined variable error when loading the script var p has no errors and setting the variable in the onSwitchOn function gives no errors var v has no errors
  8. Shadow72

    The Lands of Evanar

    While creating the first out of the 3 leveling maps for Evanar I wanted a large wall to go on top of the mountains I have created. The problem was that It would most likely take forever to create something of that scale. So I came up with a way to generate a wall that would conform to the terrain but still look decent. This is the end result.
  9. Shadow72

    The Lands of Evanar

    While waiting for non-visual scripting to be released I have been focusing on building. Here is a preview of the character selection/creation background.
  10. Shadow72

    The Lands of Evanar

    When working on this project it became clear that the use of visual scripting for a project this big would just not work. The large scripts were difficult to work with and were difficult to manage. I abandoned the project for some time but with the new announcement of non-visual scripting I have decided to pick the project back up. Although I plan on using mostly non-visual scripts in the newer version. That leaves me with all of my hard work put into visual scripts just sitting on my computer doing nothing. So I have decided to release the full project so that others can use bits and pieces of it in their own games. Or just take a look at it and see how I did certain things. I hope some of you guys will find this useful. I plan to start working on this project again once non-visual scripting is available. Installation instructions: Download the zip file attached to this post Place the .Yland file in your Ylands scenario folder. It can be found at C:\Program Files (x86)\Steam\userdata\(YOUR STEAM ID)\298610\remote\Scenarios Place all of the spreadsheets in your Ylands Datasets folder. It can be found at C:\Program Files (x86)\Steam\userdata\(YOUR STEAM ID)\298610\remote\DataSets Open Ylands and load the map into the editor Once the map is opened in the editor, you should see a line of dataset game objects. Go through each dataset game object and import the matching spreadsheet for it Please note that this is unfinished and there will be bugs in some of the scripts. Lands of Evanar.zip
  11. Shadow72

    Why I no longer believe in Ylands

    Actually the original roadmap always had editor support in the plans. Here's a roadmap from 2015, which is around 2 years before the e3 trailer that brought many of us here. https://ylands.com/news/ylands-development-roadmap "We see Ylands as a game, but we also see it as a platform to create, explore and share. We plan to dedicate our efforts not only to built-in Create and Survive scenarios, but also to the platform itself. We want players to be able to create a custom game within Ylands, where they can modify anything about the world, giving them more and more control over every aspect of the game until they are not bound anymore by any specific built-in game type. In the future we plan to focus on many different areas in order to increase the scale and versatility of the game. Here is the list of a few key features we want to add to the experience in the coming months and years:"
  12. Shadow72

    Why I no longer believe in Ylands

    @RedEagle_P1. You know you can reply to me instead of editing posts right? If anyone is curious they can check the time between my first comment and how long ago his reply to the thread was edited. Anyways, I don't know why you think im a competitor... I don't run a competitor community, I don't moderate any competitor communities, I barely even talk in competitor communities. I also don't have any maps on the workshop. I have literally nothing to gain from discrediting you. It seems like you are just saying that to discredit what im saying. @kimbuck Why would I flame you?
  13. Shadow72

    Why I no longer believe in Ylands

    Also on the whole seeking criticism thing, the last time I criticized P1 I got banned from all the P1 discords and you tried to get the Ylands team to remove all my posts 🤷‍♂️
  14. Shadow72

    Why I no longer believe in Ylands

    To me it sounds like you are salty that you didn't win as much as you thought you would in the competition despite knowing about it months ahead of everyone else. Your whole "creators club" is basically just a pyramid scheme. You didn't bring in "developers" to help the game, you brought them in so they could build all the games you release so you wouldn't have to do anything. They do all the work and build the games and you just sit back and take a cut of the winnings. From the beginning you have been trying to make as much money as you possibly can off of Ylands. I also find it funny how you are saying they don't seek criticism when they have been. They have always been super active on the forums responding to all of our suggestions we give them and adding them into the game.
  15. Finally! I have been waiting for this to be in the game for a long time. I do have a few questions about how this will work though. After editing a script, will we have to reload the script into the game like how we load spreadsheets into datasets? Or will they automatically reload once the game has detected that they have been edited? What will the errors look like if you load in a script with syntax errors? Will it tell you what line the syntax error is on or will it just reject the file and say there is a error somewhere in the script? What kind of documentation will be provided? Will we be able to access and change more things in non-visual scripting compared to visual scripting?