SRL Archive - MSI Suggestions

Level goal and RandomNextPlayer


Harry

2011-11-09 10:48:35

It'd be neat to have a "level goal" of sorts, I'd think. "Once you hit level 50, stop this account" or similar.

It'd also be good to have an option for RandomNextPlayer instead of using the current NextPlayer. Also CurrentPlayer:=Random(HowManyPlayers); ? :)

Kyle Undefined

2011-11-09 10:51:40

That shouldn't be too hard to implement, pretty good suggestion!

Gu3st...

2011-11-09 11:09:32

You mean something like MSI_Players[].Scripts[].MaxLevel ? ;)

I don't think the forum supports it, but you can set it up without the form

Kyle Undefined

2011-11-09 11:12:08

From: Zyt3x
You mean something like MSI_Players[].Scripts[].MaxLevel ? ;)

I don't think the forum supports it, but you can set it up without the form


I believe that it's in the form, but it's disabled.

Coh3n

2011-11-09 13:43:32

Max level has been implanted for a looooong time, and it works find in the form, I just checked.

RandomNextPlayer is easy enough, but I don't think CurrentPlayer := Random(HowManyPlayers) is good because I'm sure people still want to set the player to start with (I do this a lot). But again, if an option is added for RandomNextPlayer, the same can be done for that (or perhaps use the same option).

blabla7

2011-11-09 15:39:36

From: Coh3n
Max level has been implanted for a looooong time, and it works find in the form, I just checked.

RandomNextPlayer is easy enough, but I don't think CurrentPlayer := Random(HowManyPlayers) is good because I'm sure people still want to set the player to start with (I do this a lot). But again, if an option is added for RandomNextPlayer, the same can be done for that (or perhaps use the same option).


It is not a good method AT ALL.
For example you would want all your players to play for let say 4 hours.
Take 3 players.
Player 1 is done with its 4 hours.
Random(HowManyPlayers) will result in either 0,1 or 2. So the player who has just had its 4 hours, will stillhave the chance to go again. When repeated a lot, it might happen that 1 player will play way more than others.
This is not what we want.

In order for this method to work, we will need to create an array with in it the integers 0,1,2……Howmanyplayers.
Everytime it will pick a random number from that array, start that player and withdraw the integer which is the number of the player that is botting now from the array. That way we will no longer have this problem.
When the array is empty, it will restore all the original integers 0,1,2…..HowManyplayers.

Kyle Undefined

2011-11-09 15:42:25

From: blabla7
It is not a good method AT ALL.
For example you would want all your players to play for let say 4 hours.
Take 3 players.
Player 1 is done with its 4 hours.
Random(HowManyPlayers) will result in either 0,1 or 2. So the player who has just had its 4 hours, will stillhave the chance to go again. When repeated a lot, it might happen that 1 player will play way more than others.
This is not what we want.

In order for this method to work, we will need to create an array with in it the integers 0,1,2……Howmanyplayers.
Everytime it will pick a random number from that array, start that player and withdraw the integer which is the number of the player that is botting now from the array. That way we will no longer have this problem.
When the array is empty, it will restore all the original integers 0,1,2…..HowManyplayers.


Obviously there would be a setting that would turn this on or off, if it gets implemented.

blabla7

2011-11-09 15:48:11

From: Camo Developer
Obviously there would be a setting that would turn this on or off, if it gets implemented.


Yes I understand that, but that has nothing to do with my arguement.
My point was that it was not that simple as random(Howmanyplayers) and I was giving some input on how it could be done better.

Kyle Undefined

2011-11-09 15:51:32

I never said that was how I was going to do it. I had already came up with a way that tracks the player just switched from so they don't get chosen again until all players have had a chance to go.

blabla7

2011-11-09 15:52:47

From: Camo Developer
I never said that was how I was going to do it. I had already came up with a way that tracks the player just switched from so they don't get chosen again until all players have had a chance to go.


Oh I thought that was what you'd ment.
I was just trying to help out.

Kyle Undefined

2011-11-09 15:54:04

That's fine, sorry for being short if I came across like it. Getting frustrated cause something isn't working how it should :/

Coh3n

2011-11-10 01:57:17

From: blabla7
It is not a good method AT ALL.
For example you would want all your players to play for let say 4 hours.
Take 3 players.
Player 1 is done with its 4 hours.
Random(HowManyPlayers) will result in either 0,1 or 2. So the player who has just had its 4 hours, will stillhave the chance to go again. When repeated a lot, it might happen that 1 player will play way more than others.
This is not what we want.

In order for this method to work, we will need to create an array with in it the integers 0,1,2……Howmanyplayers.
Everytime it will pick a random number from that array, start that player and withdraw the integer which is the number of the player that is botting now from the array. That way we will no longer have this problem.
When the array is empty, it will restore all the original integers 0,1,2…..HowManyplayers.
You're partially right. SRL's RandomNextPlayer won't ever use the player that just finished, or a player that's inactive. But yes, there is a chance one or two players would play more than others.

E: Thanks for the pull request Harry, this is included in the next version.