You must be very inexperienced in GM yourself to assume I use D&D and know nothing of GM.
I don't use D&D and I have been on the GMC for around a year (I had a different account, but forgot the password lol).
I am quite experienced in GML. Yes I have been here since April 3rd, although that means nothing about what I have done
before hand. You must still be quite young to be so naive and to make such assumptions.
Having to wrap 1 tiny error like that into a game means you probably are going to exit the game after seeing the error to fix the code.
So speed isn't a problem, and after you have fixed the code you can delete the script error and move on. You have no right telling me to leave a forum I have every right to be here whenever I choose. I have stated my points, proven them (with FACTS) and agreed with you to some extent and you are angry about... 1 error that you can create yourself?
Again do not make such assumptions, stop being so naive, grow up and move on. Give me facts that prove this error is so changing and soo... amazing that you need to argue this much over it...
-- Such a discussion doesn't need trolls, naive, nor ignorant children posting in it (such as yourself).
(I enjoy posting and feeding your rant - I can go on forever) Although I am done posting about this.
I will however post any functions or things in game maker that would actually be "helpful", and I will not be leaving the GMC anytime soon...
I have 7+ years experience with Game Maker. You haven't proven anything with facts except that you like debugging an off-by-one error in string handling to be a nightmare instead of easy. Once gain, I am not talking about debugging a simple 1 line script. I have proven my points with facts and experience. I've already experienced the frustration of getting unexpected results in string handling and spending hours tracing over the script looking for the problem. No, reading the documentation and finding out strings start at 1 does not help me locate the error. There's 50+ lines of code that is parsing a string and reading certain information from it. The error in the code is hidden, due to the flawed implementation (no error message when doing it incorrectly). In real programming languages, you get errors when you make mistakes, so it should be like that in Game Maker as well, especially since my suggestion isn't at all unreasonable and is indeed a good legit request. This is the Game Maker suggestion topic, not the I-need-help-debugging-my-string-code topic, so you've taken the wrong approach to posting in this topic. I'm perfectly capable of using the string handling functions in Game Maker, I'd just like to see proper error handling, not just for me, but for anybody else who uses Game Maker. In fact, this suggestion wouldn't even affect your ability to use Game Maker, since obviously, you've never made this kind of mistake in a long script.
Here's a summary of the facts:
Fact 1: Arrays start at 0 in most languages and so do strings.
Fact 2: Most users will assume strings start at 0 in Game Maker, just like arrays. I have answered countless Novice Q&A topics over the years dealing with this hidden error. They wouldn't have needed to post at all if GM would just be honest and not "lie" and return the value of position 1 when position 0 is accessed.
Fact 3: Invalid array indices give error messages, letting the programmer know that their code is accessing an index that is out of bounds. For example, if their array only has 5 elements, numbered 0 through 4, and they try to read array, GM lets them know they went out of bounds, so this is an issue with consistency in throwing errors.
Fact 4: Due to GM hiding this error, and some other errors as well, such as list indices being out of bounds, debugging this can be an absolute nightmare. My suggestion is not just about "one error I can create myself". Claims like that are made when the poster is shortsighted and cannot see the whole picture. The intent was to suggest that hidden errors not be hidden. Here's another example:
list = ds_list_create();
ds_list_add(list, 0); //position 0
ds_list_add(list, 1); //position 1
ds_list_add(list, 2); //position 2
ds_list_add(list, 3); //position 3
show_message(string(ds_list_find_value(list, 4))); //read position 4, it returns 0! No error at all
//Inconsistency between simple arrays and lists/grids/whatever else.
By the way, these code samples are known as "test cases". Of course I would never write code like this in practice, it simply demonstrates that GM hides errors when accessing strings and data structures. There's all kinds
of hidden errors like this, not just the one that I used as an example in the past few posts. Hiding errors is a huge show-stopper when it comes to debugging code that is not working. Anybody with programming experience will tell you this, it's a simple fact and is not up for debate.
Also, I never asked you to leave the GMC, only to stop debating subjects that you do not fully understand. Your suggestion of draw_set_depth() was perhaps a legitimate suggestion (and was suggested countless times in the past. I know, the topic is too long and you didn't have time to read the whole thing like I did), but once you were explained why it's not possible or too expensive, you retracted your argument, which was smart. My suggestion is actually expanding upon Yal's original suggestion of proper errors for data structures, and you turned it into a mess by insisting that we're wrong. What you should have done was read the facts and then agree that we are right, or say that we have legitimate points and that you personally don't feel it is important.
Also, icuurd12b42 shouldn't read or moderate the GMC while drunk
Edited by Big J, 19 April 2012 - 10:33 AM.