iiNemo
|
  |
| Joined: 22 Jul 2013 |
| Total Posts: 2380 |
|
|
| 31 Mar 2017 11:06 PM |
So, if I choose something from a table randomly RanDText[math.random(#RanDText)] I don't want it too chose it again twice in a row. How would I make it so it doesn't repeat the same object in a table twice in a row? |
|
|
| Report Abuse |
|
|
TimeTicks
|
  |
| Joined: 27 Apr 2011 |
| Total Posts: 27115 |
|
|
| 31 Mar 2017 11:11 PM |
| local p1 = table.remove(tab,math.random(1,#tab)) local p2 = ##################################### ############ |
|
|
| Report Abuse |
|
|
|
| 31 Mar 2017 11:12 PM |
try this
local original = DATA local random = {} for i = 1, #original do local key = math.random( #original ) random[ #random + 1 ] = original[ key ] table.remove( original, key ) end |
|
|
| Report Abuse |
|
|
TimeTicks
|
  |
| Joined: 27 Apr 2011 |
| Total Posts: 27115 |
|
|
| 31 Mar 2017 11:12 PM |
local player1 = table.remove(tab,math.random(1,#tab)) local player2 = table.remove(tab,math.random(1,#tab)) print(player1,player2)
|
|
|
| Report Abuse |
|
|
iiNemo
|
  |
| Joined: 22 Jul 2013 |
| Total Posts: 2380 |
|
|
| 31 Mar 2017 11:17 PM |
| local RanDText = {'Join Build Guild For Special Power Ups & Bonus Cash!', 'Any Questions, Concerns or Bugs PM iiNemo!', 'Please Be Sure To Check Out The Store!'} while wait() do local s = RanDText[math.random(#RanDText)] for #### ## ## ################## = s:sub(1,i) wait(0.1) end wait(5) for i = ## ## ## ################## = s:sub(1,-i) wait(0.1) end end In this case how would I make it so it doesn't do the same text twice? |
|
|
| Report Abuse |
|
|
|
| 31 Mar 2017 11:18 PM |
local original = DATA local random = {} for i = 1, #original do random[ #random + 1 ] = table.remove( original, math.random( #original ) ) end
just use this and set data to whatever you want random will be a randomized table |
|
|
| Report Abuse |
|
|
|
| 31 Mar 2017 11:20 PM |
and in case your laziness overcomes you
local _r = table.remove local function shuffle( tbl ) local random = {} for i = 1, #original do random[ #random + 1 ] = _r( original, math.random( #original ) ) end return random end
example use:
print( shuffle( {1, 2, 3, 4} ) ) |
|
|
| Report Abuse |
|
|
|
| 31 Mar 2017 11:20 PM |
local _r = table.remove local function shuffle( tbl ) local random = {} for i = 1, #tbl do random[ #random + 1 ] = _r( tbl, math.random( #tbl ) ) end return random end
my bad i fixed it |
|
|
| Report Abuse |
|
|
iiNemo
|
  |
| Joined: 22 Jul 2013 |
| Total Posts: 2380 |
|
|
| 31 Mar 2017 11:36 PM |
| I have a script where it add's text slowly then removes it slowly, how would I add that too it? |
|
|
| Report Abuse |
|
|
|
| 31 Mar 2017 11:36 PM |
| shuffle the text table and then pick a text to display? idk what you want |
|
|
| Report Abuse |
|
|