Is there a way to generate >128 random items at the start of the game?

In my game I generated 30 random items at the start of the game using recursion, concatenation, channel-lookups, and properties. However, for each random item, there must be one property, since the channel-lookup method abuses properties and channels to essentially vlookup items and grant them. Since you need a property per item, is there a way to generate >128 random items in a list at the start of the game?

I’m asking this simply out of curiosity, since I’m preparing to make a item-generation guide.

Use numbers to encode the data, using base n.

It uses lots of if/else statements, but goes down on properties.

How about generating N items at the start of the game, where N can be any whole number.

This is where I fall short, I know nothing about doing that, you’re definitely smarter than me lol.

1 Like

Use recursion with counters having targets.

If you want, you can use a trigger that checks if the number of times it has gone is equal to a property.

I don’t really understand what this does.

Here’s some more context:

At the start of the game, I want to generate 30 weapons. What I do is use double-loot tables to set a property to a channel name, and when a player knocks another player out, it broadcasts on the first property, which gives them a new weapon. However, although this method works perfectly fine, you’ll need one property per weapon. Is there a way for me to make an infinite cycle of weapons (or at least something unmanageable like 9999999 weapons to cycle through)?

use this for base n:

Yeah, you can. When someone advances, generate a new random one and store it in the global property.

Ok. I got to go now.

1 Like

So what you’re saying is use a global property, and add N amount of generations onto it, and use indexing to lookup the nth generation from the set of generations?

1 Like

Yes.

How would I index a property? I’m pretty sure @Blackhole927 has said something about this before, but I don’t know. There is no index block in gimkit, that’s what I’m sure about.

What do you mean?

Like index a property. Like find letter 1 of “abc” which would return “a”. I’m pretty sure you could find a math function that does that somehow :smile:

You could use a repeater that updates a counter that updates a property and then inside of a trigger make it trigger everytime the repeater repeats a task. Make a block of code that is when triggered. Have the block code check if the property = whatever you’re looking for. So like this:
Screenshot 2023-09-04 194719
This should work but I could be wrong…
(This doesn’t answer your original question but it does answer your question about index property I think…)

How would that find letter 3 of the string “weurionewcurioewnrcrew”?

floor (nxxx/ 10^(n place -1)) for first term

this might help. Just was playing around, see if you can find a pattern.

2 Likes

YOU KNEW THIS? AND YOU NEVER MADE A GUIDE? EVEN THOUGH INDEXING COULD’VE BEEN CLAY INSTITUTE? HOW DARE YOU

in all honestly, if i had known this existed before, than… epic.

How do you use this? I’m confused.