451
Modification Help / Re: What you wish you had known before modding Blockland
« on: May 26, 2017, 03:27:46 AM »the code of the default game functionsImplying that his is something you know now? How could I get my hands on this?
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
the code of the default game functionsImplying that his is something you know now? How could I get my hands on this?
through some searching you'll find it's actually none of thoseMy bad. Didn't click the links like a moron.
sounds like a Riddler or missBoooo!
the songs are usually cropped and turned into mono OGG Vorbis loopsAs far as fair use in concerned, the work must be transformative and be used for purposes such as "criticism, news reporting, teaching, and research". Simply cropping a music clip and changing its file format does not seem to fall under either of those categories.
add garfield player icons 2017The lack of a garfield icon is easily the biggest flaw this mod has.
I tried that years ago as an addon.What was the problem? I'd assume it was mainly that the add-on didn't get enough traction, which shouldn't be a problem with BLG. Or was it a functional problem?
Too high latency. If you click on a button to do something, you expect something to happen now not a quarter of a second later.It would depend on the application. For instance, if it was just simple item store where you click a button to buy an item, each button press would have to communicate with the server anyway. The latency would be about the same as it would be if the GUI was implemented as a seperate client add-on. However, I could see how, say, a calculator would be a bit irking to use.
Basically every gui application ever runs the gui code locally for that reason.
a sophisticated API to construct client mods on the client-side would be theoretically more safe, yes. however, it would be much less flexible, require a significant amount of infrastructure, and require modders to practically learn how to work an entirely new GUI system. there would be very little incentive for modders to choose an option like this when the option of simply requiring a client mod, which the modder can create in pure TS with the aid of vanilla tools, is available and made even simpler with a moderated add-on distribution system.The logistics certainly seem to increase as more functionality is considered. Duly, one abused vulnerablity could lead many to get cold feet and abandon the add-on outright. We could limit the application of the API. But if we can't create a GUI API that works for virtually all applications, there's really no use in making it at all. I think I'm still going to toy around with the idea, though.
and, of course, if there were a vulnerability in the API somewhere, it would be incredibly trivial for server hosts to abuse it without any form of informed consent from the client
Lots of loops are ripped from copyright audio which can result in a lot of problems for Blockland Glass. I think Blockland Glass doesn't want to deal with this problem which is understandable.If that's the case, it's totally understandable.
Thanks Sir!No problem!
I think he's talking more about sending GUI data to clients instead of making them download the add-on firstThis is correct. I am have been acquainted with the mission editor; although it has been some years since I last used it. To be more precise, though, they would only have to download a single add-on once.
With the way GUIs work in Blockland something like this wouldn't really be too helpful. If all you could do is create gui controls and menus for people with no code attached with it, the functionality would be pretty bare.Again drawing an brown townogy with web development, think of how HTML forms work. An HTML page can include a button that, when clicked, sends a POST request to the web server. In the spirit of this idea, the GUI layout that a server sends a player with this mod would include the server command (i.e. serverCmd____) that will be send to the server when clicking a particular button.
The closest thing to this that we have is the "required clients" portion of Blockland Glass which hasn't really been used very much, but it basically prompts people to download an add-on and will download and execute it automatically before connecting (documentation in the manual).This could be good enough. Would probably work the same. I'll look into it later.
I like how Garry's Mod leaves F1-4 as spares.I think this is where I got the idea from. Why shouldn't GUIs in Blockland load like GUIs in Gmod?
clients get assurance that the code they download is safe.Honestly, I would be more wary about downloading a client than using a prexisting API. It would depend, however, on how much functionality the GUI API would be given. If we tried to implement some kind of JS into it, security concerns would be higher given it would be automatically run. However, if the GUI API simply sends over a GUI layout with some info regarding what server commands each button sends, then I can't really see how this would be more of a security risk.
So, this is actually what Blockland Glass was originally (2012) and I've thought about re-implementing this in a new innovative way in a future update. Many have dismissed it as unfeasible but it's actually very do-able. The downside of this old implementation is that it's not very kind to developers, but I believe I have a remedy to that. Could make an appearance in Glass 4.2That's good to hear! I was certain someone else had already thought of this before. What you say about this not being friendly to developers is my main concern, too. I would like developers to be able to continue using the mission editor to create GUIs. However, if we just arbitrarily send GUI code to a user, that could pose a huge security risk (I think this is what otto-san is specifically concerned about). Perhaps there would be a way to sandbox the GUI code? Would converting everything to XML, JSON, etc. on the server-side and then back again on the client-side be feasible (i.e. not drive the people developing the GUI API insane)? These are my primary concerns at this stage.
I got oneYou should make it change color based on the user's paint can (like the skis).
It's almost done.
Left click = spin
Right click = throws depending on current speed of the spin