Jump to content

Houp

YLANDS TEAM
  • Content Count

    381
  • Joined

  • Last visited

Posts posted by Houp


  1. Hi, I would love to give you a little more info:

    Just a few examples what you will be able to do in client script:

    Work with camera position and player's aim.

    Trigger skills from custom HUD buttons/controls.

    Work with mouse position in "cursor mode".

    And much more!

    It is surely advance thing for more experienced users but we hope that some of you will be able to make great things with it.

    • Like 4
    • Thanks 2

  2. Hi,

    for making spells you should use "Skill game logic". (you can raycast there through camera)

    Adding "Get aim" to server scripts would not help you much. Player would try to cast spell in his desired direction but before it would get to a server and back he would be casting it in different location. This problem is mitigated by "Skill game logic" which is implemented to work well on both server and client.

    Hopefully it will be possible to execute skills not only from skill bar "soon". We are prototyping this feature at the moment. (that does not mean you will get it in the next update! - a note which must be always added :) )

    • Like 2
    • Upvote 2

  3. Hi,

    thank you for all your suggestions.

    However, I do not understand the first one. You can use same .yjs file in any number of game logic objects.

     

    There is no GUI support for global scripts at the moment but there is simple trick how to have them.

    Just add to any GL (ok, it may be tricky to have it in the beginning of all scripts)

    }
    
    let myGlobalVariable = 6;
    
    {

     


  4. class Test {
    	constructor() {}
    
    	doSomething() {
    		return "test";
    	}
    }

     

    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());
    }

     

    Hi,

    you need to first declare your class before you try to use it.

    Unfortunately due to a real bug this will not help you at the moment.

    Thank you for reporting the bug.

     

     

     

    • Thanks 1

  5. Hi,

    I will not probably answer all of the questions and what I say may change before release of 1.6..

    1) Scripts are updated each time you play test/export your game. You may reload your scripts in playtest with /reloadscripts command so you do not need to restart whole play test.

    2) With lunch of the feature we do not plan to release a modul to any text scripting editor which would help you with auto-complete. We know it would be beneficial for all of you. We have to think about it what would be the best solution.

    3) Ylands scripts vs javascript. We have our own scripting language but our goal is to have it work as much as possible as javascript works so any javascripts tutorials out there will be valid also for us. (our scripts miss many javascripts features but what is there (arrays, strings, Date, math, etc.) should work as it works in javascript)

    @jchob do you have any example what you think is different for array scripting?

    4) Error handling: you will see line number where is a problem with description of it. However, I feel, that there will be much space to improve this after 1.6

    5) Documentation: we are reworking wiki for this. You should see full API since beginning. It will start rather "empty' but we plan to update it regularly with descriptions and more examples.

    6) VS vs text scripting feature set: it is almost the same. Do not expect to be able to do much more. Yes, you can create own instructions which can get another functions in the arguments but you will not get access to Ylands features which are not available also in VS.

     

    • Like 1
    • Thanks 2

  6. Hi,

    most probably the Teepee is indestructible and it is automatically optimised on export. (You can press Optimise button in Export menu manually and then you can play test it to see how it will work in exported version)

    You can prevent this behavior if you create a group with the Teepee and if you mark to not optimize the group in its properties.

    • Thanks 2

  7. Hi, I can help with this one.

    The problem is in the top row directly under "Stack trace:" line. Problem was encountered in REPLACE instruction. (probably Source argument was invalid. You can try to write to console content of Source argument before you call REPLACE. The problematic REPLACE was in VS defined in "messages and text" Game logic (with ID=225)

    Steps should be:

    1. Open scripts for "messages and text" Game logic (with ID=225)
    2. Write "#237" to search and press enter. It should focus specific REPLACE instruction (needed in complicated pieces of code)
    3. Try to find out if any of REPLACE arguments can be invalid.

    Regarding other lines in stack trace: they should help you to understand how the issue happened. In this case you should go from the bottom to the top line.

    1. On Trigger enter was triggered in forest hidden object trigger zone (ID:523)
    2. There was call of your custom instruction "base skill check" from the same trigger zone
    3. From there it went through your "return attribute value" instruction defined in skillCheck game logic object
    4. and you probably get the idea at the moment.

    Line+Column info can help advance users who check text script which can be found next to output_log_clean.log (userscript.js) when you playtest your game. If you do not feel to look into text scripts then you can ignore this part.

    • Thanks 2

  8. Just to make you little less happy: We will not introduce mirroring.

    It will be just like @spiritchaser28 wrote, just it will be automatic. (no mirroring, just combination of rotation + repositioning of blocks)

    Quote

    I get what you are saying. Right now the only possible way to do this (sort of) is ctrl-d the structure (let's say half an archway for example) then ctrl v and rotating the object 180 degrees and moving it to line up. so the angles are mirrored. The only problem with this is it's not really a mirror because the blocks vary in colors on some sides, and if you were trying to do that to a building with 4 sides, you end up with the back side of the building instead of the opposite desired effect.

     

    • Like 2

  9. Hi, I did not read whole thread but I have answer to the original question.

    If you have game which is set Single Player only then there is a special script tile Get Local Player in Multiplayer category (since 1.5 there will be probably separate Single player category)

    singleplayer.PNG

    In multiplayer game there is no The player. You can have there any number of players. However, in some cases the "Get players" script tile may be useful.

    • Thanks 1
    • Upvote 1

  10. On 9/22/2020 at 4:10 AM, bojo2736 said:

    You're kidding, I hope.  I can't tell you the number of reports and logs I personally have sent.  @RedEagle_P1. absolutely has.  Back when he was having issues with server death regularly, he offered BI access to the P1 servers to see what was actually going on.

    I have a request about not being able to upload to Nitrado that even though I have typed the same problem a couple of times, I get told wrong information.  I don't know how to put in logs for I can't upload. This time I included screencaps. 

    This response was rude, frankly. 

    Not kidding but my it was my mistake. Most common process for bugs reported by you is that they are registered in our bug tracking system. After that our testers try to reproduce them. If they are successful then it is great and the issue is assigned to a developer. Othwervise it is still handled. It is assigned to our leader programmer who checks provided log files and then he assign the issue to a specific person.

    I was not aware of these bugs because  it was not probably decided that I am personally responsible for them. I misunderstood @Adam Snellgrove's post in this thread.

    • Thanks 1

  11. @RedEagle_P1.: as @Adam Snellgrove wrote: there is not much to fix if a bug report is "We played for a week and then it stopped working. Please fix that" (I know I am simplifying it) Even if we would dedicate 8 people to play an explore for a week then it does not mean that they would replicate the issue.

    Problem may be just in maps with specific random encounter, problem may be connected to specific set of items in player's inventory, problem .. You probably see now. Most probably it is not about playing a week but about that really special situation had happened and after that part of the game was broken. In 1.4 there were several bug fixes which you may see as "after playing for a while the game stop to work". (to be more specific there could be problem with "Delay instruction" or attaching game logic labels)

    Providing us logs (both from server and client) when server "dies" can help us a lot.

     


  12. For keys you can adjust storing instruction to save cylinder ID. However, it will only work as exepected if an user will return to the exactly same world. In different word restoring this number can match the key with chest/doors of another users. Keys do not have any ownership. They are not bound to any user.

    There are no instruction working with ownership of protective barrier. Probably there is now way how to handle it at the moment. :(


  13. @F.hao : in the first For loop you need to create a new "row" in each iteration. In your case you have just created an array "A" which has 3 items which are all the same. You have there 3 times array "B" which has last set of numbers (20, 21, 22)

    Just put there "Local variable" inside the first loop. Then you will create totally 4 different arrays. (opposed to 2 arrays which you have in your example)

×