"Pete & Repeat went out on a boat.."
"Pete fell in, who was left?"
"Repeat!"
"Pete & Repeat went out on a boat.. Pete fell in, who was left?"
"REPEAT!!!"
--
This was a joke my dad used to tell me as a little kid, and I could never figure out why he kept telling it so many times in a row lol.
ANYHOW
This is relevant because ETL player Stovich had posted on the boards the other day that he fell victim to bribing a guild NPC 3 times and got the same hint THREE TIMES. He said he liked the idea of the tip system, however having the possibility of repeat jobs like this one kind of makes you less inclined to want to buy them.
I agree wholeheartedly, and have spent the past couple days trying to think of ways to change the system so that no tips will repeat themselves. Tonight, I have solved the problem!
https://steamcommunity.com/sharedfiles/filedetails/?id=1604940859
This chicken scratch I did during lunch at work, trying to get the basic ideas down on what I needed to do. The gist is that when the game is run one of the first things it now does is compare your known tips (via a saved array in the game's folder) to a list of all possible array spot values. Looping through the array, it then changes all known tip values to the dummy string "XXX". These base tip values for comparison were first added to a Clickteam Fusion ListBox object to simulate all possible spots on the tip array (or, 87 lines where the lines read 1, 2, 3, 4, and so on.)
This gives us a big list of numbers sprinkled in with some "XXX" values at the spots of the tip array where you already know said tips.
It might change this:
1
2
3
4
5
To this, provided you know tips #2 and 3:
1
XXX
XXX
4
5
The next step is to cycle through this whole list and then delete all the "XXX" values. Why wasn't this just done before instead of changing the values to XXX in the first place? I needed to preserve those spots in the array for the steps coming up. See, the way a CF listbox works is if I were to delete lines 2 & 3 in the above example then the next array spot for line value "6" would actually now be considered the 4th spot in the Tip Array instead of 6 (because 2 lines were deleted which pushes the entire list up 2 spots, i.e. 6 - 2 = 4)
Which turns our list of unknown tips into this:
1
4
5
The next thing that needed changing was the section where you actually bribe / buy the tips from the Guild. What it does now is randomly select a line from the total list of unknown tips above, and converts it to an interger (technically anything in a listobject is a string / text value, even numerals, so this step is necessary). Then the proper tip is displayed, and the appropriate spot on the Tip Array is set to 1 (or known, 0 = not known).
It looks something like this:
DummyData = Rnd(TipListBoxLines) + 1
TipToLearn = Val(TipListBox, Line "DummyData")
TipArray(TipToLearn) = 1
DeleteLine(DummyData) of "TipListBox"
This will randomly choose either 1, 4, or 5 from our unknown tips list box and make it known to the player. Then the Tip File is updated and that known tip's line is deleted from the list so that it can't be bought again during the game.
--
TL;DR: It works!
Not only are tips non-repeatable, there's an extra variable in the game that keeps track of when you've seen them all, and if that's the case the Bribe option is changed to "- - SOLD OUT - -". This way there's no chance you'll accidentally spend gold pieces on a tip you already know.
If this is all foreign to you, ETL does indeed have a View Known Tips section on the 2nd page of the Start Menu when you first fire up the game. Between this section and the Tutorial (and I'd wager even the in-game Special screen) you should be able to tackle most of the unknown crap I've flung at you.
Bien!

I am super tired, I hope this makes sense.
Have a good night!
-Del_Duio
"Repeat!"
"Pete & Repeat went out on a boat.. Pete fell in, who was left?"
"REPEAT!!!"
--
This was a joke my dad used to tell me as a little kid, and I could never figure out why he kept telling it so many times in a row lol.
ANYHOW
This is relevant because ETL player Stovich had posted on the boards the other day that he fell victim to bribing a guild NPC 3 times and got the same hint THREE TIMES. He said he liked the idea of the tip system, however having the possibility of repeat jobs like this one kind of makes you less inclined to want to buy them.
I agree wholeheartedly, and have spent the past couple days trying to think of ways to change the system so that no tips will repeat themselves. Tonight, I have solved the problem!
https://steamcommunity.com/sharedfiles/filedetails/?id=1604940859
This chicken scratch I did during lunch at work, trying to get the basic ideas down on what I needed to do. The gist is that when the game is run one of the first things it now does is compare your known tips (via a saved array in the game's folder) to a list of all possible array spot values. Looping through the array, it then changes all known tip values to the dummy string "XXX". These base tip values for comparison were first added to a Clickteam Fusion ListBox object to simulate all possible spots on the tip array (or, 87 lines where the lines read 1, 2, 3, 4, and so on.)
This gives us a big list of numbers sprinkled in with some "XXX" values at the spots of the tip array where you already know said tips.
It might change this:
1
2
3
4
5
To this, provided you know tips #2 and 3:
1
XXX
XXX
4
5
The next step is to cycle through this whole list and then delete all the "XXX" values. Why wasn't this just done before instead of changing the values to XXX in the first place? I needed to preserve those spots in the array for the steps coming up. See, the way a CF listbox works is if I were to delete lines 2 & 3 in the above example then the next array spot for line value "6" would actually now be considered the 4th spot in the Tip Array instead of 6 (because 2 lines were deleted which pushes the entire list up 2 spots, i.e. 6 - 2 = 4)
Which turns our list of unknown tips into this:
1
4
5
The next thing that needed changing was the section where you actually bribe / buy the tips from the Guild. What it does now is randomly select a line from the total list of unknown tips above, and converts it to an interger (technically anything in a listobject is a string / text value, even numerals, so this step is necessary). Then the proper tip is displayed, and the appropriate spot on the Tip Array is set to 1 (or known, 0 = not known).
It looks something like this:
DummyData = Rnd(TipListBoxLines) + 1
TipToLearn = Val(TipListBox, Line "DummyData")
TipArray(TipToLearn) = 1
DeleteLine(DummyData) of "TipListBox"
This will randomly choose either 1, 4, or 5 from our unknown tips list box and make it known to the player. Then the Tip File is updated and that known tip's line is deleted from the list so that it can't be bought again during the game.
--
TL;DR: It works!
Not only are tips non-repeatable, there's an extra variable in the game that keeps track of when you've seen them all, and if that's the case the Bribe option is changed to "- - SOLD OUT - -". This way there's no chance you'll accidentally spend gold pieces on a tip you already know.
If this is all foreign to you, ETL does indeed have a View Known Tips section on the 2nd page of the Start Menu when you first fire up the game. Between this section and the Tutorial (and I'd wager even the in-game Special screen) you should be able to tackle most of the unknown crap I've flung at you.
Bien!

I am super tired, I hope this makes sense.
Have a good night!
-Del_Duio