Quote:
Originally Posted by Kamaeru
So I just logged back onto Graal2001 for the first time in many months.
And it just seems so overwhelming the circumstance that almost everything is working and functional still on the server after all this time.
It still works the way it did years ago. And a lot of the content on the server is still more deep, complex and engaging than most of what you would find on Graal today.
So I was just wondering, since I don't understand scripting much (especially the modern Graal scripting style), if you could enlighten us and elaborate on what you were talking about Thor?
|
My last post was just highlighting the fact that this project doesn't appear to be being worked on at all, therefore it's not really right to question its approach... because there is no approach.
In terms of scripting, there's a big difference between being working and functional and being scripted well.
The likely problem is that should somebody add a new sophisticated system or weapon it may contradict or result in bugs because of an existing one.
When I script something I don't worry about whether the script will work, I worry about whether it will break something that already exists, or could be broken by something else later.
Lets say you do have to go back and change an old system to fix a new problem, the last thing you'd then want to do is have to go back and change the script of several dozen levels and half a dozen other systems/weapons.
Perhaps Classic's new Mine Cart would be a good example, it's quite a sophisticated system which requires full control over the player.
So imagine I "Dash" into it, before initialising the mine cart I'd need to uninitialised the dash. The easy thing to do would be to directly check for and disable Dash, but even this doesn't protect against this type of problem should a new movement technique or similar be added later, or if I keep going back and adding manual checks later on that becomes cluttered and time-inefficient. The best thing to do would be to create a system to handle initialising/uninitialised in the first place which would automatically be applied with any movement system.