· 6 years ago · Jun 11, 2019, 10:30 AM
1--[[Global variables--]]
2lastCollectTime = 0
3quickConvertPlayerChips = false
4quickConvertPlayerTime = nil
5quickConvertPlayersPlayer = nil
6quickConvertPlayersObject = nil
7createSidepotPl = nil
8createSidepotOb = nil
9convertfailcountlimit = 50 -- when bets are converted to pot, the number of failed attempts allowed before it falls back to move bets (it makes one attempt every two frames)
10sidepotfailcountlimit = 50 --
11sidepotfailcount = 0
12splitPotPlayers = 0 -- Numbers of Players where the split pot should be created
13splitPotZone = {} -- Contains the Zone for splitpotaction
14splitPotObject = {}
15
16--[[ Customizable variables --]]
17options = {
18
19 ["dealdelay1"] = 0.1, -- delay (in seconds) used when dealing players their hands
20 ["dealdelay2"] = 0.4, -- delay (in seconds) used when dealing community cards
21 ["blindsskipafk"] = false, -- If false, afk players still pay blindss when it's their time. Change to true if you want blinds to skip afk players.
22 ["actiontoggle"] = true, -- toggle whether the game displays actiontext. set this to false if you want to have it off by default
23 ["playerclickaction"] = true, -- toggle whether action button stays in place (false) or moves from player to player (true)
24 ["gamemode"] = 'texas', -- Game mode (currently supports Texas Hold'em ('texas'), Pineapple ('pineapple'), and Omaha Hold'em ('omaha'))
25 ["collectmethod"] = 'move', -- method used by collect bets. options: 'move': moves bets; 'convert': converts bets up, 'hybrid': starts with move, changes to convert when pot>hybridthreshold
26 ["hybridthreshold"] = 10000, -- used with hybrid collection, the point above which collection switches from move to convert
27 ["convertstackheight"] = 1, -- contains the height of the stacks for the convert method
28 ["enforcedoubleraise"] = true, -- if true, does not let a player pass action if their raise is less than double the current bet and they are not all in.
29 ["enforcepotlimit"] = false, -- if true, does not let a player pass action if they bet too much for pot limit. the bet limit is calculated as: pot + currentbet + (currentbet - action player's bet)
30 ["enforcedfoldinturn"] = false, -- if true, players may not use the fold hand buttons to fold out of turn
31 ["clocktime"] = 30,
32 ["autoclock"] = false,
33 ["autofold"] = false,
34 ["autoclocktime"] = 10,
35 ["clockpausebutton"] = false,
36 ["currencies"] = 'default_10', -- contains the index of different currencies
37 ["stacklayout"] = 'default_10', -- contains the index of different currencies template
38 ["chatoptions"] =
39 {
40 ["actionmessage"] = true, -- print "Action on player" message in chat
41 ["actionbroadcast"] = true, -- broadcast "Action on you!" to the current player
42 ["currentbetmessage"] = true, -- broadcast when the current bet changes
43 ["better"] = true, -- include the player who made or raised in the above message
44 ["potmessage"] = 2, -- 0 = never, 1 = on collect bets only, 2 = any time it changes as well as on collection
45 ["allinbroadcast"] = true, -- broadcast when a player is all in
46 ["stage"] = true -- flop, turn, river broadcasts
47 },
48
49 ["displayplayerbet"] = true, --
50 ["displayplayermoney"] = true,
51 ["playerbuttons"] =
52 {
53 ["sortchips"] = true,
54 ["convert"] = true,
55 ["allin"] = true,
56 ["afk"] = true,
57 ["loadsavebag"] = false,
58 ["PlCall"] = true
59 },
60 ["changemachine"] = true,
61}
62--[[starteramount = 10000
63autosaveandload = true
64chips = {}
65--[[ other variables and tables --]]
66onecard = false -- used when dealing one card from options menu (for determining starting dealer, etc)
67handsshown = {} -- table of hands that have been shown and evaluated by the script this round
68handinprogress = false -- used to prevent change of gamemode during a hand
69convertfailcount = 0
70holedealt = false -- whether or not players have been dealt their hole cards
71holecards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}} -- table of players' hole cards, used for hand evaluations
72revealedcards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}} -- table of players' hole cards which have been revealed
73dealing = false -- set to true while cards are being dealt to prevent double-clicking
74players = {} -- table of seated players used for dealing cards and actions
75actionon = nil -- Player whose turn it is to act
76playerbets = {} -- Table of players' bets
77currentbet = 0 -- highest bet from the playerbets table
78mainpotchips = {} -- table containing information regarding stacks of chips in the main pot(initialized in initializePot() function)
79printstring = '' -- string referenced by printMessages function to know which messages to print.
80pot = 0 -- total amount in pot (including current players' bets)
81cardtint = 1 -- used anti-grouping measure
82sidepotcalculatet = false -- contains information if sidepot was calculated, stops all actions except dealing
83themeindex = 1
84subthemeindex = 1
85chiptints = {['White'] = {1, 1, 0.99}, ['Brown'] = {1, 0.99, 1}, ['Red'] = {1, 0.99, 0.99}, ['Orange'] = {0.99, 1, 1}, ['Yellow'] = {0.99, 1, 0.99}, ['Green'] = {0.99, 0.99, 1}, ['Teal'] = {0.99, 0.99, 0.99}, ['Blue'] = {1, 1, 0.98}, ['Purple'] = {1, 0.98, 1}, ['Pink'] = {1, 0.98, 0.99}}
86betzonechiptints = {['White'] = {1, 0.98, 0.98}, ['Brown'] = {0.99, 0.99, 0.98}, ['Red'] = {0.98, 0.98, 0.99}, ['Orange'] = {0.98, 0.98, 0.98}, ['Yellow'] = {1, 1, 0.97}, ['Green'] = {1, 0.97, 1}, ['Teal'] = {1, 0.97, 0.99}, ['Blue'] = {1, 0.97, 0.98}, ['Purple'] = {1, 0.97, 0.97}, ['Pink'] = {0.97, 1, 1}}
87
88
89
90--[[ Object references and GUIDs --]]
91afkClock = {}
92potsplitter = {}
93actionbutton = {}
94actionbuttonGUID = '08f4c2'
95backtablezones = {}
96backtablezoneGUIDs = {'1904be', 'e9b296', 'ee0d04', 'b131a2', 'bb2a9a', 'b9938f', '144824', 'b0eda0', 'a17f45', 'b04a49'}
97betzones = {} -- scripting zones for the betting areas for each player. Order must correspond to colors table
98betzoneGUIDs = {'420cfb', '39fd59', '7d419f', '332aa4', '0377d5', '8a2729', 'db2d03', 'b93bb7', 'c43aea', '3a8997'}
99boardobject = {} -- 3d model used for the board
100boardobjectGUID = '48721b'
101boardzone = {} -- scripting zone on the board where community cards are dealt
102boardzoneGUID = '5a1d5c'
103collectbutton = {} -- button to collect bets
104collectbuttonGUID = 'e801e4'
105clock = null
106dealbutton = {} -- button to deal cards
107dealbuttonGUID = '1745d7'
108deck = {} -- deck
109deckGUID = '1b1565' -- the deck's GUID which is saved on the table
110muck = {} -- the muck object that is used to determine where burn cards are dealt
111muckGUID = 'be42ca'
112newdeckbutton = {} -- button to spawn a new deck
113newdeckbuttonGUID = 'ea1c95'
114potobject = {}
115potobjectGUID = '6a79c6'
116resetbutton = {} -- button to reset the game
117resetbuttonGUID = 'c3b0f3'
118sidepotbutton = {}
119sidepotbuttonGUID = 'f1421a'
120tablezones = {}
121tablezoneGUIDs = {'fe7624', 'b8cde0', 'f33c02', 'a96804', '08e7a3', 'e2ff95', '92c6c4', 'd03a42', 'd1cf88', '71d958'}
122
123infiniteMoneyBag = {}
124
125
126
127colors = {"White", "Brown", "Red", "Orange", "Yellow", "Green", "Teal", "Blue", "Purple", "Pink"} --list of all colors, in order
128fontcolors = {}
129
130 for i, v in ipairs (colors) do
131 fontcolors[v] = {}
132 end
133
134 fontcolors.White.r = 1
135 fontcolors.White.g = 1
136 fontcolors.White.b = 1
137 fontcolors.White.bbcode = '[ffffff]'
138
139 fontcolors.Brown.r = 0.443
140 fontcolors.Brown.g = 0.231
141 fontcolors.Brown.b = 0.09
142 fontcolors.Brown.bbcode = '[713b17]'
143
144 fontcolors.Red.r = 0.856
145 fontcolors.Red.g = 0.1
146 fontcolors.Red.b = 0.094
147 fontcolors.Red.bbcode = '[da1918]'
148
149 fontcolors.Orange.r = 0.956
150 fontcolors.Orange.g = 0.392
151 fontcolors.Orange.b = 0.113
152 fontcolors.Orange.bbcode = '[f4641d]'
153
154 fontcolors.Yellow.r = 0.905
155 fontcolors.Yellow.g = 0.898
156 fontcolors.Yellow.b = 0.172
157 fontcolors.Yellow.bbcode = '[e7e52c]'
158
159 fontcolors.Green.r = 0.192
160 fontcolors.Green.g = 0.701
161 fontcolors.Green.b = 0.168
162 fontcolors.Green.bbcode = '[31b32b]'
163
164 fontcolors.Teal.r = 0.129
165 fontcolors.Teal.g = 0.694
166 fontcolors.Teal.b = 0.607
167 fontcolors.Teal.bbcode = '[21b19b]'
168
169 fontcolors.Blue.r = 0.118
170 fontcolors.Blue.g = 0.53
171 fontcolors.Blue.b = 1
172 fontcolors.Blue.bbcode = '[1f87ff]'
173
174 fontcolors.Purple.r = 0.627
175 fontcolors.Purple.g = 0.125
176 fontcolors.Purple.b = 0.941
177 fontcolors.Purple.bbcode = '[a020f0]'
178
179 fontcolors.Pink.r = 0.96
180 fontcolors.Pink.g = 0.439
181 fontcolors.Pink.b = 0.807
182 fontcolors.Pink.bbcode = '[f570ce]'
183
184potzones = {}
185mainpotzoneGUID = 'a20d35'
186sidepotzoneGUIDs = {'a93f95', '6cf2bc', 'c9aaae'}
187pottext = {}
188pottextGUID = 'a5130f'
189mainpottext = {}
190mainpottextGUID = '476499'
191bettext = {} -- textes for current player bets
192bettextGUIDs = {'8133a5', '433f14', 'b57079', '86e377', '9d612a', 'da0c91', '8a8de0', '121b10', '75e4c3' , 'f7f532'}
193tablezonetext = {}
194
195sidepottext = {} -- textes for current player bets
196sidepottextGUIDs = {}
197currenbettext = {}
198currentbettextGUID = 'ed7b0b'
199colorball = null
200overlay = {}
201overlayGUID = '290051'
202actiontext = {}
203actiontextGUID = '20e11d'
204optionspanel = nil
205optionsbutton = {}
206optionsbuttonGUID = '6e1caf'
207scripts = {} -- Scripts copied from objects in onload, used when 'Reset Objects' is clicked.
208activeplayers = {['White'] = nil, ['Brown'] = nil, ['Red'] = nil, ['Orange'] = nil, ['Yellow'] = nil, ['Green'] = nil, ['Teal'] = nil, ['Blue'] = nil, ['Purple'] = nil, ['Pink'] = nil}
209
210savebag = {}
211savebagGUID = '6215eb'
212newsavebagbutton = {}
213newsavebagbuttonGUID = '6aa67a'
214
215saves = {['White'] = nil, ['Brown'] = nil, ['Red'] = nil, ['Orange'] = nil, ['Yellow'] = nil, ['Green'] = nil, ['Teal'] = nil, ['Blue'] = nil, ['Purple'] = nil, ['Pink'] = nil}
216
217
218-- Currencies
219currenciesSelection = -- Includes all different type of chips, last entry will be used as dummy entry for unknown chips
220{
221 ['default - $10'] =
222 {
223 {
224 ["value"] = 100000, -- Value of the Chip
225 ["name"] = "$100,000", -- Name of the chip
226 ["label"] = "$100k", -- Label used for converting machine
227 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
228 ["height"] = 0.05,
229 ["custom"] =
230 {
231 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
232 ["diffuse"] = " http://i.imgur.com/hJIzRFn.jpg", -- diffuse image
233 ["type"] = 5, -- 5 is a 'chip'
234 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
235 },
236 ["params"] =
237 {
238 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
239 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
240 },
241 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
242 },
243 {
244 ["value"] = 50000, -- Value of the Chip
245 ["name"] = "$50,000", -- Name of the chip
246 ["label"] = "$50k", -- Label used for converting machine
247 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
248 ["height"] = 0.05,
249 ["custom"] =
250 {
251 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
252 ["diffuse"] = "http://i.imgur.com/m4pRnEa.jpg", -- diffuse image
253 ["type"] = 5, -- 5 is a 'chip'
254 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
255 },
256 ["params"] =
257 {
258 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
259 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
260 },
261 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
262 },
263 {
264 ["value"] = 10000, -- Value of the Chip
265 ["name"] = "$10,000", -- Name of the chip
266 ["label"] = "$10k", -- Label used for converting machine
267 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
268 ["height"] = 0.35,
269 ["custom"] =
270 {
271 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
272 ["diffuse"] = "http://i.imgur.com/kp8fFK0.jpg", -- diffuse image
273 ["type"] = 5, -- 5 is a 'chip'
274 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
275 },
276 ["params"] =
277 {
278 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
279 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
280 },
281 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
282 },
283 {
284 ["value"] = 5000, -- Value of the Chip
285 ["name"] = "$5,000", -- Name of the chip
286 ["label"] = "$5k", -- Label used for converting machine
287 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
288 ["height"] = 0.35,
289 ["custom"] =
290 {
291 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
292 ["diffuse"] = "http://i.imgur.com/QQhHmVP.jpg", -- diffuse image
293 ["type"] = 5, -- 5 is a 'chip'
294 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
295 },
296 ["params"] =
297 {
298 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
299 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
300 },
301 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
302
303 },
304 {
305 ["value"] = 1000, -- Value of the Chip
306 ["name"] = "$1000", -- Name of the chip
307 ["label"] = "$1000", -- Label used for converting machine
308 ["standard"] = true, -- Standard tabletop chips true/false
309 ["height"] = 0.15,
310 ["params"] =
311 {
312 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
313 ["scale"] = {1,1,1} -- the scale at which to spawn the object
314 },
315 ["stack"] = "5" -- stack where the chips are put in
316 },
317 {
318 ["value"] = 500, -- Value of the Chip
319 ["name"] = "$500", -- Name of the chip
320 ["label"] = "$500", -- Label used for converting machine
321 ["standard"] = true, -- Standard tabletop chips true/false
322 ["height"] = 0.15,
323 ["params"] =
324 {
325 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
326 ["scale"] = {1,1,1} -- the scale at which to spawn the object
327 },
328 ["stack"] = "4" -- stack where the chips are put in
329 },
330 {
331 ["value"] = 100, -- Value of the Chip
332 ["name"] = "$100", -- Name of the chip
333 ["label"] = "$100", -- Label used for converting machine
334 ["standard"] = true, -- Standard tabletop chips true/false
335 ["height"] = 0.15,
336 ["params"] =
337 {
338 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
339 ["scale"] = {1,1,1} -- the scale at which to spawn the object
340 },
341 ["stack"] = "3" -- stack where the chips are put in
342 },
343 {
344 ["value"] = 50, -- Value of the Chip
345 ["name"] = "$50", -- Name of the chip
346 ["label"] = "$50", -- Label used for converting machine
347 ["standard"] = true, -- Standard tabletop chips true/false
348 ["height"] = 0.15,
349 ["params"] =
350 {
351 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
352 ["scale"] = {1,1,1} -- the scale at which to spawn the object
353 },
354 ["stack"] = "2" -- stack where the chips are put in
355 },
356 {
357 ["value"] = 10, -- Value of the Chip
358 ["name"] = "$10", -- Name of the chip
359 ["label"] = "$10", -- Label used for converting machine
360 ["standard"] = true, -- Standard tabletop chips true/false
361 ["height"] = 0.15,
362 ["params"] =
363 {
364 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
365 ["scale"] = {1,1,1} -- the scale at which to spawn the object
366 },
367 ["stack"] = "1" -- stack where the chips are put in
368 }
369 , -- dummy for unknown chips
370 {
371 ["value"] = -1, -- Value of the Chip
372 ["name"] = "unknown", -- Name of the chip
373 ["standard"] = false, -- Standard tabletop chips true/false
374 ["label"] = "dummy", -- Label used for converting machine
375 ["height"] = 0.3,
376 ["params"] =
377 {
378 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
379 ["scale"] = {1,1,1} -- the scale at which to spawn the object
380 },
381 ["stack"] = "10" -- stack where the chips are put in
382 }
383 },
384
385
386
387 ['default'] =
388 {
389 {
390 ["value"] = 100000, -- Value of the Chip
391 ["name"] = "$100,000", -- Name of the chip
392 ["label"] = "$100k", -- Label used for converting machine
393 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
394 ["height"] = 0.06,
395 ["custom"] =
396 {
397 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
398 ["diffuse"] = " http://i.imgur.com/hJIzRFn.jpg", -- diffuse image
399 ["type"] = 5, -- 5 is a 'chip'
400 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
401 },
402 ["params"] =
403 {
404 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
405 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
406 },
407 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
408 },
409 {
410 ["value"] = 50000, -- Value of the Chip
411 ["name"] = "$50,000", -- Name of the chip
412 ["label"] = "$50k", -- Label used for converting machine
413 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
414 ["height"] = 0.06,
415 ["custom"] =
416 {
417 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
418 ["diffuse"] = "http://i.imgur.com/m4pRnEa.jpg", -- diffuse image
419 ["type"] = 5, -- 5 is a 'chip'
420 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
421 },
422 ["params"] =
423 {
424 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
425 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
426 },
427 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
428 },
429 {
430 ["value"] = 25000, -- Value of the Chip
431 ["name"] = "$25,000", -- Name of the chip
432 ["label"] = "$25k", -- Label used for converting machine
433 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
434 ["height"] = 0.06,
435 ["custom"] =
436 {
437 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
438 ["diffuse"] = "http://i.imgur.com/mIZ9NXm.jpg", -- diffuse image
439 ["type"] = 5, -- 5 is a 'chip'
440 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
441 },
442 ["params"] =
443 {
444 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
445 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
446 },
447 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
448 },
449
450 {
451 ["value"] = 10000, -- Value of the Chip
452 ["name"] = "$10,000", -- Name of the chip
453 ["label"] = "$10k", -- Label used for converting machine
454 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
455 ["height"] = 0.35,
456 ["custom"] =
457 {
458 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
459 ["diffuse"] = "http://i.imgur.com/kp8fFK0.jpg", -- diffuse image
460 ["type"] = 5, -- 5 is a 'chip'
461 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
462 },
463 ["params"] =
464 {
465 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
466 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
467 },
468 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
469 },
470 {
471 ["value"] = 5000, -- Value of the Chip
472 ["name"] = "$5,000", -- Name of the chip
473 ["label"] = "$5k", -- Label used for converting machine
474 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
475 ["height"] = 0.35,
476 ["custom"] =
477 {
478 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
479 ["diffuse"] = "http://i.imgur.com/QQhHmVP.jpg", -- diffuse image
480 ["type"] = 5, -- 5 is a 'chip'
481 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
482 },
483 ["params"] =
484 {
485 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
486 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
487 },
488 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
489
490 },
491 {
492 ["value"] = 1000, -- Value of the Chip
493 ["name"] = "$1000", -- Name of the chip
494 ["label"] = "$1000", -- Label used for converting machine
495 ["standard"] = true, -- Standard tabletop chips true/false
496 ["height"] = 0.15,
497 ["params"] =
498 {
499 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
500 ["scale"] = {1,1,1} -- the scale at which to spawn the object
501 },
502 ["stack"] = "3" -- stack where the chips are put in
503 },
504 {
505 ["value"] = 500, -- Value of the Chip
506 ["name"] = "$500", -- Name of the chip
507 ["label"] = "$500", -- Label used for converting machine
508 ["standard"] = true, -- Standard tabletop chips true/false
509 ["height"] = 0.15,
510 ["params"] =
511 {
512 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
513 ["scale"] = {1,1,1} -- the scale at which to spawn the object
514 },
515 ["stack"] = "2" -- stack where the chips are put in
516 },
517 {
518 ["value"] = 100, -- Value of the Chip
519 ["name"] = "$100", -- Name of the chip
520 ["label"] = "$100", -- Label used for converting machine
521 ["standard"] = true, -- Standard tabletop chips true/false
522 ["height"] = 0.15,
523 ["params"] =
524 {
525 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
526 ["scale"] = {1,1,1} -- the scale at which to spawn the object
527 },
528 ["stack"] = "1" -- stack where the chips are put in
529 }
530 , -- dummy for unknown chips
531 {
532 ["value"] = -1, -- Value of the Chip
533 ["name"] = "unknown", -- Name of the chip
534 ["standard"] = false, -- Standard tabletop chips true/false
535 ["label"] = "dummy", -- Label used for converting machine
536 ["height"] = 0.3,
537 ["params"] =
538 {
539 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
540 ["scale"] = {1,1,1} -- the scale at which to spawn the object
541 },
542 ["stack"] = "10" -- stack where the chips are put in
543 }
544 },
545
546 ['default / WSOP - $10'] =
547 {
548 {
549 ["value"] = 1000000, -- Value of the Chip
550 ["name"] = "$1,000,000", -- Name of the chip
551 ["label"] = "$1m", -- Label used for converting machine
552 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
553 ["height"] = 0.15,
554 ["custom"] =
555 {
556 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
557 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
558 ["type"] = 5, -- 5 is a 'chip'
559 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
560 },
561 ["params"] =
562 {
563 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
564 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
565 },
566 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
567 },
568 {
569 ["value"] = 500000, -- Value of the Chip
570 ["name"] = "$500,000", -- Name of the chip
571 ["label"] = "$500k", -- Label used for converting machine
572 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
573 ["height"] = 0.15,
574 ["custom"] =
575 {
576 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
577 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
578 ["type"] = 5, -- 5 is a 'chip'
579 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
580 },
581 ["params"] =
582 {
583 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
584 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
585 },
586 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
587 },
588 {
589 ["value"] = 250000, -- Value of the Chip
590 ["name"] = "$250,000", -- Name of the chip
591 ["label"] = "$250k", -- Label used for converting machine
592 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
593 ["height"] = 0.15,
594 ["custom"] =
595 {
596 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
597 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
598 ["type"] = 5, -- 5 is a 'chip'
599 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
600 },
601 ["params"] =
602 {
603 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
604 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
605 },
606 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
607 },
608 {
609 ["value"] = 100000, -- Value of the Chip
610 ["name"] = "$100,000", -- Name of the chip
611 ["label"] = "$100k", -- Label used for converting machine
612 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
613 ["height"] = 0.15,
614 ["custom"] =
615 {
616 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
617 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
618 ["type"] = 5, -- 5 is a 'chip'
619 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
620 },
621 ["params"] =
622 {
623 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
624 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
625 },
626 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
627 },
628 {
629 ["value"] = 50000, -- Value of the Chip
630 ["name"] = "$50,000", -- Name of the chip
631 ["label"] = "$50k", -- Label used for converting machine
632 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
633 ["height"] = 0.15,
634 ["custom"] =
635 {
636 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
637 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
638 ["type"] = 5, -- 5 is a 'chip'
639 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
640 },
641 ["params"] =
642 {
643 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
644 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
645 },
646 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
647 }
648 ,
649 {
650 ["value"] = 25000, -- Value of the Chip
651 ["name"] = "$25,000", -- Name of the chip
652 ["label"] = "$25k", -- Label used for converting machine
653 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
654 ["height"] = 0.15,
655 ["custom"] =
656 {
657 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
658 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
659 ["type"] = 5, -- 5 is a 'chip'
660 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
661 },
662 ["params"] =
663 {
664 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
665 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
666 },
667 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
668 },
669 {
670 ["value"] = 10000, -- Value of the Chip
671 ["name"] = "$10,000", -- Name of the chip
672 ["label"] = "$10k", -- Label used for converting machine
673 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
674 ["height"] = 0.15,
675 ["custom"] =
676 {
677 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
678 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
679 ["type"] = 5, -- 5 is a 'chip'
680 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
681 },
682 ["params"] =
683 {
684 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
685 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
686 },
687 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
688 },
689
690 {
691 ["value"] = 5000, -- Value of the Chip
692 ["name"] = "$5,000", -- Name of the chip
693 ["label"] = "$5000", -- Label used for converting machine
694 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
695 ["height"] = 0.15,
696 ["custom"] =
697 {
698 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
699 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
700 ["type"] = 5, -- 5 is a 'chip'
701 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
702 },
703 ["params"] =
704 {
705 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
706 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
707 },
708 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
709 },
710
711 {
712 ["value"] = 2500, -- Value of the Chip
713 ["name"] = "$2,500", -- Name of the chip
714 ["label"] = "$2500", -- Label used for converting machine
715 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
716 ["height"] = 0.15,
717 ["custom"] =
718 {
719 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
720 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
721 ["type"] = 5, -- 5 is a 'chip'
722 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
723 },
724 ["params"] =
725 {
726 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
727 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
728 },
729 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
730 },
731
732
733
734 {
735 ["value"] = 1000, -- Value of the Chip
736 ["name"] = "$1000", -- Name of the chip
737 ["label"] = "$1000", -- Label used for converting machine
738 ["standard"] = true, -- Standard tabletop chips true/false
739 ["height"] = 0.15,
740 ["params"] =
741 {
742 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
743 ["scale"] = {1,1,1} -- the scale at which to spawn the object
744 },
745 ["stack"] = "5" -- stack where the chips are put in
746 },
747 {
748 ["value"] = 500, -- Value of the Chip
749 ["name"] = "$500", -- Name of the chip
750 ["label"] = "$500", -- Label used for converting machine
751 ["standard"] = true, -- Standard tabletop chips true/false
752 ["height"] = 0.15,
753 ["params"] =
754 {
755 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
756 ["scale"] = {1,1,1} -- the scale at which to spawn the object
757 },
758 ["stack"] = "4" -- stack where the chips are put in
759 },
760 {
761 ["value"] = 100, -- Value of the Chip
762 ["name"] = "$100", -- Name of the chip
763 ["label"] = "$100", -- Label used for converting machine
764 ["standard"] = true, -- Standard tabletop chips true/false
765 ["height"] = 0.15,
766 ["params"] =
767 {
768 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
769 ["scale"] = {1,1,1} -- the scale at which to spawn the object
770 },
771 ["stack"] = "3" -- stack where the chips are put in
772 },
773 {
774 ["value"] = 50, -- Value of the Chip
775 ["name"] = "$50", -- Name of the chip
776 ["label"] = "$50", -- Label used for converting machine
777 ["standard"] = true, -- Standard tabletop chips true/false
778 ["height"] = 0.15,
779 ["params"] =
780 {
781 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
782 ["scale"] = {1,1,1} -- the scale at which to spawn the object
783 },
784 ["stack"] = "2" -- stack where the chips are put in
785 },
786 {
787 ["value"] = 10, -- Value of the Chip
788 ["name"] = "$10", -- Name of the chip
789 ["label"] = "$10", -- Label used for converting machine
790 ["standard"] = true, -- Standard tabletop chips true/false
791 ["height"] = 0.15,
792 ["params"] =
793 {
794 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
795 ["scale"] = {1,1,1} -- the scale at which to spawn the object
796 },
797 ["stack"] = "1" -- stack where the chips are put in
798 }
799 , -- dummy for unknown chips
800 {
801 ["value"] = -1, -- Value of the Chip
802 ["name"] = "unknown", -- Name of the chip
803 ["standard"] = false, -- Standard tabletop chips true/false
804 ["label"] = "dummy", -- Label used for converting machine
805 ["height"] = 0.3,
806 ["params"] =
807 {
808 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
809 ["scale"] = {1,1,1} -- the scale at which to spawn the object
810 },
811 ["stack"] = "10" -- stack where the chips are put in
812 }
813 },
814
815
816 ['default / WSOP - $100'] =
817 {
818 {
819 ["value"] = 1000000, -- Value of the Chip
820 ["name"] = "$1,000,000", -- Name of the chip
821 ["label"] = "$1m", -- Label used for converting machine
822 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
823 ["height"] = 0.15,
824 ["custom"] =
825 {
826 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
827 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
828 ["type"] = 5, -- 5 is a 'chip'
829 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
830 },
831 ["params"] =
832 {
833 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
834 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
835 },
836 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
837 },
838 {
839 ["value"] = 500000, -- Value of the Chip
840 ["name"] = "$500,000", -- Name of the chip
841 ["label"] = "$500k", -- Label used for converting machine
842 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
843 ["height"] = 0.15,
844 ["custom"] =
845 {
846 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
847 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
848 ["type"] = 5, -- 5 is a 'chip'
849 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
850 },
851 ["params"] =
852 {
853 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
854 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
855 },
856 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
857 },
858 {
859 ["value"] = 250000, -- Value of the Chip
860 ["name"] = "$250,000", -- Name of the chip
861 ["label"] = "$250k", -- Label used for converting machine
862 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
863 ["height"] = 0.15,
864 ["custom"] =
865 {
866 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
867 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
868 ["type"] = 5, -- 5 is a 'chip'
869 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
870 },
871 ["params"] =
872 {
873 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
874 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
875 },
876 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
877 },
878 {
879 ["value"] = 100000, -- Value of the Chip
880 ["name"] = "$100,000", -- Name of the chip
881 ["label"] = "$100k", -- Label used for converting machine
882 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
883 ["height"] = 0.15,
884 ["custom"] =
885 {
886 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
887 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
888 ["type"] = 5, -- 5 is a 'chip'
889 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
890 },
891 ["params"] =
892 {
893 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
894 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
895 },
896 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
897 },
898 {
899 ["value"] = 50000, -- Value of the Chip
900 ["name"] = "$50,000", -- Name of the chip
901 ["label"] = "$50k", -- Label used for converting machine
902 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
903 ["height"] = 0.15,
904 ["custom"] =
905 {
906 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
907 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
908 ["type"] = 5, -- 5 is a 'chip'
909 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
910 },
911 ["params"] =
912 {
913 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
914 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
915 },
916 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
917 }
918 ,
919 {
920 ["value"] = 25000, -- Value of the Chip
921 ["name"] = "$25,000", -- Name of the chip
922 ["label"] = "$25k", -- Label used for converting machine
923 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
924 ["height"] = 0.15,
925 ["custom"] =
926 {
927 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
928 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
929 ["type"] = 5, -- 5 is a 'chip'
930 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
931 },
932 ["params"] =
933 {
934 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
935 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
936 },
937 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
938 },
939 {
940 ["value"] = 10000, -- Value of the Chip
941 ["name"] = "$10,000", -- Name of the chip
942 ["label"] = "$10k", -- Label used for converting machine
943 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
944 ["height"] = 0.15,
945 ["custom"] =
946 {
947 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
948 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
949 ["type"] = 5, -- 5 is a 'chip'
950 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
951 },
952 ["params"] =
953 {
954 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
955 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
956 },
957 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
958 },
959
960 {
961 ["value"] = 5000, -- Value of the Chip
962 ["name"] = "$5,000", -- Name of the chip
963 ["label"] = "$5000", -- Label used for converting machine
964 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
965 ["height"] = 0.15,
966 ["custom"] =
967 {
968 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
969 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
970 ["type"] = 5, -- 5 is a 'chip'
971 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
972 },
973 ["params"] =
974 {
975 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
976 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
977 },
978 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
979 },
980
981 {
982 ["value"] = 2500, -- Value of the Chip
983 ["name"] = "$2,500", -- Name of the chip
984 ["label"] = "$2500", -- Label used for converting machine
985 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
986 ["height"] = 0.15,
987 ["custom"] =
988 {
989 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
990 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
991 ["type"] = 5, -- 5 is a 'chip'
992 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
993 },
994 ["params"] =
995 {
996 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
997 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
998 },
999 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1000 },
1001
1002
1003
1004 {
1005 ["value"] = 1000, -- Value of the Chip
1006 ["name"] = "$1000", -- Name of the chip
1007 ["label"] = "$1000", -- Label used for converting machine
1008 ["standard"] = true, -- Standard tabletop chips true/false
1009 ["height"] = 0.15,
1010 ["params"] =
1011 {
1012 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1013 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1014 },
1015 ["stack"] = "3" -- stack where the chips are put in
1016 },
1017 {
1018 ["value"] = 500, -- Value of the Chip
1019 ["name"] = "$500", -- Name of the chip
1020 ["label"] = "$500", -- Label used for converting machine
1021 ["standard"] = true, -- Standard tabletop chips true/false
1022 ["height"] = 0.15,
1023 ["params"] =
1024 {
1025 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1026 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1027 },
1028 ["stack"] = "2" -- stack where the chips are put in
1029 },
1030 {
1031 ["value"] = 100, -- Value of the Chip
1032 ["name"] = "$100", -- Name of the chip
1033 ["label"] = "$100", -- Label used for converting machine
1034 ["standard"] = true, -- Standard tabletop chips true/false
1035 ["height"] = 0.15,
1036 ["params"] =
1037 {
1038 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1039 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1040 },
1041 ["stack"] = "1" -- stack where the chips are put in
1042 }
1043 , -- dummy for unknown chips
1044 {
1045 ["value"] = -1, -- Value of the Chip
1046 ["name"] = "unknown", -- Name of the chip
1047 ["standard"] = false, -- Standard tabletop chips true/false
1048 ["label"] = "dummy", -- Label used for converting machine
1049 ["height"] = 0.3,
1050 ["params"] =
1051 {
1052 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1053 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1054 },
1055 ["stack"] = "10" -- stack where the chips are put in
1056 }
1057 },
1058
1059
1060 ['World Series Of Poker - $100'] =
1061 {
1062 {
1063 ["value"] = 1000000, -- Value of the Chip
1064 ["name"] = "$1,000,000", -- Name of the chip
1065 ["label"] = "$1m", -- Label used for converting machine
1066 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1067 ["height"] = 0.15,
1068 ["custom"] =
1069 {
1070 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1071 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
1072 ["type"] = 5, -- 5 is a 'chip'
1073 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1074 },
1075 ["params"] =
1076 {
1077 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1078 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1079 },
1080 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1081 },
1082 {
1083 ["value"] = 500000, -- Value of the Chip
1084 ["name"] = "$500,000", -- Name of the chip
1085 ["label"] = "$500k", -- Label used for converting machine
1086 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1087 ["height"] = 0.15,
1088 ["custom"] =
1089 {
1090 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1091 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
1092 ["type"] = 5, -- 5 is a 'chip'
1093 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1094 },
1095 ["params"] =
1096 {
1097 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1098 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1099 },
1100 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1101 },
1102 {
1103 ["value"] = 250000, -- Value of the Chip
1104 ["name"] = "$250,000", -- Name of the chip
1105 ["label"] = "$250k", -- Label used for converting machine
1106 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1107 ["height"] = 0.15,
1108 ["custom"] =
1109 {
1110 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1111 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
1112 ["type"] = 5, -- 5 is a 'chip'
1113 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1114 },
1115 ["params"] =
1116 {
1117 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1118 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1119 },
1120 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1121 },
1122 {
1123 ["value"] = 100000, -- Value of the Chip
1124 ["name"] = "$100,000", -- Name of the chip
1125 ["label"] = "$100k", -- Label used for converting machine
1126 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1127 ["height"] = 0.15,
1128 ["custom"] =
1129 {
1130 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1131 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
1132 ["type"] = 5, -- 5 is a 'chip'
1133 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1134 },
1135 ["params"] =
1136 {
1137 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1138 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1139 },
1140 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1141 },
1142 {
1143 ["value"] = 50000, -- Value of the Chip
1144 ["name"] = "$50,000", -- Name of the chip
1145 ["label"] = "$50k", -- Label used for converting machine
1146 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1147 ["height"] = 0.15,
1148 ["custom"] =
1149 {
1150 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1151 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
1152 ["type"] = 5, -- 5 is a 'chip'
1153 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1154 },
1155 ["params"] =
1156 {
1157 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1158 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1159 },
1160 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1161 }
1162 ,
1163 {
1164 ["value"] = 25000, -- Value of the Chip
1165 ["name"] = "$25,000", -- Name of the chip
1166 ["label"] = "$25k", -- Label used for converting machine
1167 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1168 ["height"] = 0.15,
1169 ["custom"] =
1170 {
1171 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1172 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
1173 ["type"] = 5, -- 5 is a 'chip'
1174 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1175 },
1176 ["params"] =
1177 {
1178 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1179 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1180 },
1181 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1182 },
1183 {
1184 ["value"] = 10000, -- Value of the Chip
1185 ["name"] = "$10,000", -- Name of the chip
1186 ["label"] = "$10k", -- Label used for converting machine
1187 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1188 ["height"] = 0.15,
1189 ["custom"] =
1190 {
1191 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1192 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
1193 ["type"] = 5, -- 5 is a 'chip'
1194 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1195 },
1196 ["params"] =
1197 {
1198 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1199 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1200 },
1201 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1202 },
1203
1204 {
1205 ["value"] = 5000, -- Value of the Chip
1206 ["name"] = "$5,000", -- Name of the chip
1207 ["label"] = "$5000", -- Label used for converting machine
1208 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1209 ["height"] = 0.15,
1210 ["custom"] =
1211 {
1212 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1213 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
1214 ["type"] = 5, -- 5 is a 'chip'
1215 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1216 },
1217 ["params"] =
1218 {
1219 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1220 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1221 },
1222 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1223 },
1224
1225 {
1226 ["value"] = 2500, -- Value of the Chip
1227 ["name"] = "$2,500", -- Name of the chip
1228 ["label"] = "$2500", -- Label used for converting machine
1229 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1230 ["height"] = 0.15,
1231 ["custom"] =
1232 {
1233 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1234 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
1235 ["type"] = 5, -- 5 is a 'chip'
1236 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1237 },
1238 ["params"] =
1239 {
1240 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1241 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1242 },
1243 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1244 },
1245 {
1246 ["value"] = 1000, -- Value of the Chip
1247 ["name"] = "$1,000", -- Name of the chip
1248 ["label"] = "$1000", -- Label used for converting machine
1249 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1250 ["height"] = 0.15,
1251 ["custom"] =
1252 {
1253 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1254 ["diffuse"] = "http://i.imgur.com/IEAM8Fh.jpg", -- diffuse image
1255 ["type"] = 5, -- 5 is a 'chip'
1256 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1257 },
1258 ["params"] =
1259 {
1260 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1261 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1262 },
1263 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1264 },
1265 {
1266 ["value"] = 500, -- Value of the Chip
1267 ["name"] = "$500", -- Name of the chip
1268 ["label"] = "$500", -- Label used for converting machine
1269 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1270 ["height"] = 0.15,
1271 ["custom"] =
1272 {
1273 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1274 ["diffuse"] = "http://i.imgur.com/nOxPst2.jpg", -- diffuse image
1275 ["type"] = 5, -- 5 is a 'chip'
1276 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1277 },
1278 ["params"] =
1279 {
1280 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1281 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1282 },
1283 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1284 },
1285
1286 {
1287 ["value"] = 100, -- Value of the Chip
1288 ["name"] = "$100", -- Name of the chip
1289 ["label"] = "$100", -- Label used for converting machine
1290 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1291 ["height"] = 0.15,
1292 ["custom"] =
1293 {
1294 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1295 ["diffuse"] = "http://i.imgur.com/RHmy71O.jpg", -- diffuse image
1296 ["type"] = 5, -- 5 is a 'chip'
1297 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1298 },
1299 ["params"] =
1300 {
1301 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1302 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1303 },
1304 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1305 }
1306 , -- dummy for unknown chips
1307 {
1308 ["value"] = -1, -- Value of the Chip
1309 ["name"] = "unknown", -- Name of the chip
1310 ["standard"] = false, -- Standard tabletop chips true/false
1311 ["label"] = "dummy", -- Label used for converting machine
1312 ["height"] = 0.3,
1313 ["params"] =
1314 {
1315 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1316 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1317 },
1318 ["stack"] = "13" -- stack where the chips are put in
1319 }
1320 }
1321 ,
1322
1323 ['World Series Of Poker - $500'] =
1324 {
1325 {
1326 ["value"] = 1000000, -- Value of the Chip
1327 ["name"] = "$1,000,000", -- Name of the chip
1328 ["label"] = "$1m", -- Label used for converting machine
1329 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1330 ["height"] = 0.15,
1331 ["custom"] =
1332 {
1333 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1334 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
1335 ["type"] = 5, -- 5 is a 'chip'
1336 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1337 },
1338 ["params"] =
1339 {
1340 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1341 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1342 },
1343 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1344 },
1345 {
1346 ["value"] = 500000, -- Value of the Chip
1347 ["name"] = "$500,000", -- Name of the chip
1348 ["label"] = "$500k", -- Label used for converting machine
1349 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1350 ["height"] = 0.15,
1351 ["custom"] =
1352 {
1353 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1354 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
1355 ["type"] = 5, -- 5 is a 'chip'
1356 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1357 },
1358 ["params"] =
1359 {
1360 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1361 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1362 },
1363 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1364 },
1365 {
1366 ["value"] = 250000, -- Value of the Chip
1367 ["name"] = "$250,000", -- Name of the chip
1368 ["label"] = "$250k", -- Label used for converting machine
1369 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1370 ["height"] = 0.15,
1371 ["custom"] =
1372 {
1373 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1374 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
1375 ["type"] = 5, -- 5 is a 'chip'
1376 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1377 },
1378 ["params"] =
1379 {
1380 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1381 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1382 },
1383 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1384 },
1385 {
1386 ["value"] = 100000, -- Value of the Chip
1387 ["name"] = "$100,000", -- Name of the chip
1388 ["label"] = "$100k", -- Label used for converting machine
1389 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1390 ["height"] = 0.15,
1391 ["custom"] =
1392 {
1393 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1394 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
1395 ["type"] = 5, -- 5 is a 'chip'
1396 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1397 },
1398 ["params"] =
1399 {
1400 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1401 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1402 },
1403 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1404 },
1405 {
1406 ["value"] = 50000, -- Value of the Chip
1407 ["name"] = "$50,000", -- Name of the chip
1408 ["label"] = "$50k", -- Label used for converting machine
1409 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1410 ["height"] = 0.15,
1411 ["custom"] =
1412 {
1413 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1414 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
1415 ["type"] = 5, -- 5 is a 'chip'
1416 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1417 },
1418 ["params"] =
1419 {
1420 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1421 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1422 },
1423 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1424 }
1425 ,
1426 {
1427 ["value"] = 25000, -- Value of the Chip
1428 ["name"] = "$25,000", -- Name of the chip
1429 ["label"] = "$25k", -- Label used for converting machine
1430 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1431 ["height"] = 0.15,
1432 ["custom"] =
1433 {
1434 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1435 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
1436 ["type"] = 5, -- 5 is a 'chip'
1437 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1438 },
1439 ["params"] =
1440 {
1441 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1442 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1443 },
1444 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1445 },
1446 {
1447 ["value"] = 10000, -- Value of the Chip
1448 ["name"] = "$10,000", -- Name of the chip
1449 ["label"] = "$10k", -- Label used for converting machine
1450 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1451 ["height"] = 0.15,
1452 ["custom"] =
1453 {
1454 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1455 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
1456 ["type"] = 5, -- 5 is a 'chip'
1457 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1458 },
1459 ["params"] =
1460 {
1461 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1462 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1463 },
1464 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1465 },
1466
1467 {
1468 ["value"] = 5000, -- Value of the Chip
1469 ["name"] = "$5,000", -- Name of the chip
1470 ["label"] = "$5000", -- Label used for converting machine
1471 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1472 ["height"] = 0.15,
1473 ["custom"] =
1474 {
1475 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1476 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
1477 ["type"] = 5, -- 5 is a 'chip'
1478 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1479 },
1480 ["params"] =
1481 {
1482 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1483 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1484 },
1485 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1486 },
1487
1488 {
1489 ["value"] = 2500, -- Value of the Chip
1490 ["name"] = "$2,500", -- Name of the chip
1491 ["label"] = "$2500", -- Label used for converting machine
1492 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1493 ["height"] = 0.15,
1494 ["custom"] =
1495 {
1496 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1497 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
1498 ["type"] = 5, -- 5 is a 'chip'
1499 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1500 },
1501 ["params"] =
1502 {
1503 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1504 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1505 },
1506 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1507 },
1508 {
1509 ["value"] = 1000, -- Value of the Chip
1510 ["name"] = "$1,000", -- Name of the chip
1511 ["label"] = "$1000", -- Label used for converting machine
1512 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1513 ["height"] = 0.15,
1514 ["custom"] =
1515 {
1516 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1517 ["diffuse"] = "http://i.imgur.com/IEAM8Fh.jpg", -- diffuse image
1518 ["type"] = 5, -- 5 is a 'chip'
1519 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1520 },
1521 ["params"] =
1522 {
1523 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1524 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1525 },
1526 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1527 },
1528 {
1529 ["value"] = 500, -- Value of the Chip
1530 ["name"] = "$500", -- Name of the chip
1531 ["label"] = "$500", -- Label used for converting machine
1532 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1533 ["height"] = 0.15,
1534 ["custom"] =
1535 {
1536 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1537 ["diffuse"] = "http://i.imgur.com/nOxPst2.jpg", -- diffuse image
1538 ["type"] = 5, -- 5 is a 'chip'
1539 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1540 },
1541 ["params"] =
1542 {
1543 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1544 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1545 },
1546 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1547 },
1548 -- dummy for unknown chips
1549 {
1550 ["value"] = -1, -- Value of the Chip
1551 ["name"] = "unknown", -- Name of the chip
1552 ["standard"] = false, -- Standard tabletop chips true/false
1553 ["label"] = "dummy", -- Label used for converting machine
1554 ["height"] = 0.3,
1555 ["params"] =
1556 {
1557 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1558 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1559 },
1560 ["stack"] = "13" -- stack where the chips are put in
1561 }
1562 }
1563 ,
1564
1565 ['World Series Of Poker - $25'] =
1566 {
1567 {
1568 ["value"] = 1000000, -- Value of the Chip
1569 ["name"] = "$1,000,000", -- Name of the chip
1570 ["label"] = "$1m", -- Label used for converting machine
1571 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1572 ["height"] = 0.15,
1573 ["custom"] =
1574 {
1575 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1576 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/490146591489686950/4B57C7B2ECAAFD679EB03309CC09D77DBA0E20EE/", -- diffuse image
1577 ["type"] = 5, -- 5 is a 'chip'
1578 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1579 },
1580 ["params"] =
1581 {
1582 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1583 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1584 },
1585 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1586 },
1587 {
1588 ["value"] = 500000, -- Value of the Chip
1589 ["name"] = "$500,000", -- Name of the chip
1590 ["label"] = "$500k", -- Label used for converting machine
1591 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1592 ["height"] = 0.15,
1593 ["custom"] =
1594 {
1595 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1596 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/495772992974868179/FEC3193EEFCA1957C03186BA33BDC04CD768E2F2/", -- diffuse image
1597 ["type"] = 5, -- 5 is a 'chip'
1598 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1599 },
1600 ["params"] =
1601 {
1602 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1603 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1604 },
1605 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1606 },
1607 {
1608 ["value"] = 100000, -- Value of the Chip
1609 ["name"] = "$100,000", -- Name of the chip
1610 ["label"] = "$100k", -- Label used for converting machine
1611 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1612 ["height"] = 0.15,
1613 ["custom"] =
1614 {
1615 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1616 ["diffuse"] = "http://i.imgur.com/dDEI1aI.png", -- diffuse image
1617 ["type"] = 5, -- 5 is a 'chip'
1618 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1619 },
1620 ["params"] =
1621 {
1622 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1623 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1624 },
1625
1626 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1627 }
1628 ,
1629 {
1630 ["value"] = 25000, -- Value of the Chip
1631 ["name"] = "$25,000", -- Name of the chip
1632 ["label"] = "$25k", -- Label used for converting machine
1633 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1634 ["height"] = 0.15,
1635 ["custom"] =
1636 {
1637 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1638 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/489018861219164633/B04AD26F5AF7634F4DF55F7D5C2116FD9FE09554/", -- diffuse image
1639 ["type"] = 5, -- 5 is a 'chip'
1640 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1641 },
1642 ["params"] =
1643 {
1644 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1645 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1646 },
1647 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1648 },
1649 {
1650 ["value"] = 10000, -- Value of the Chip
1651 ["name"] = "$10,000", -- Name of the chip
1652 ["label"] = "$10k", -- Label used for converting machine
1653 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1654 ["height"] = 0.15,
1655 ["custom"] =
1656 {
1657 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1658 ["diffuse"] = "http://i.imgur.com/edHMRyi.png", -- diffuse image
1659 ["type"] = 5, -- 5 is a 'chip'
1660 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1661 },
1662 ["params"] =
1663 {
1664 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1665 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1666 },
1667 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1668 },
1669
1670 {
1671 ["value"] = 5000, -- Value of the Chip
1672 ["name"] = "$5,000", -- Name of the chip
1673 ["label"] = "$5000", -- Label used for converting machine
1674 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1675 ["height"] = 0.15,
1676 ["custom"] =
1677 {
1678 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1679 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/937184372483860847/2E755BE1547F2D0ADACABC74819CEBE9FF0DB939/", -- diffuse image
1680 ["type"] = 5, -- 5 is a 'chip'
1681 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1682 },
1683 ["params"] =
1684 {
1685 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1686 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1687 },
1688 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1689 },
1690
1691 {
1692 ["value"] = 2500, -- Value of the Chip
1693 ["name"] = "$2,500", -- Name of the chip
1694 ["label"] = "$2500", -- Label used for converting machine
1695 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1696 ["height"] = 0.15,
1697 ["custom"] =
1698 {
1699 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1700 ["diffuse"] = "http://i.imgur.com/QtXouvL.png", -- diffuse image
1701 ["type"] = 5, -- 5 is a 'chip'
1702 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1703 },
1704 ["params"] =
1705 {
1706 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1707 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1708 },
1709 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1710 },
1711 {
1712 ["value"] = 1000, -- Value of the Chip
1713 ["name"] = "$1,000", -- Name of the chip
1714 ["label"] = "$1000", -- Label used for converting machine
1715 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1716 ["height"] = 0.15,
1717 ["custom"] =
1718 {
1719 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1720 ["diffuse"] = "http://i.imgur.com/lFP5oTj.png", -- diffuse image
1721 ["type"] = 5, -- 5 is a 'chip'
1722 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1723 },
1724 ["params"] =
1725 {
1726 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1727 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1728 },
1729 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1730 },
1731 {
1732 ["value"] = 500, -- Value of the Chip
1733 ["name"] = "$500", -- Name of the chip
1734 ["label"] = "$500", -- Label used for converting machine
1735 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1736 ["height"] = 0.15,
1737 ["custom"] =
1738 {
1739 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1740 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/937184372483923629/8BA954D9EB53F4503F71883724A82E347CB8FF04/", -- diffuse image
1741 ["type"] = 5, -- 5 is a 'chip'
1742 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1743 },
1744 ["params"] =
1745 {
1746 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1747 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1748 },
1749 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1750 },
1751
1752 {
1753 ["value"] = 100, -- Value of the Chip
1754 ["name"] = "$100", -- Name of the chip
1755 ["label"] = "$100", -- Label used for converting machine
1756 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1757 ["height"] = 0.15,
1758 ["custom"] =
1759 {
1760 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1761 ["diffuse"] = "http://i.imgur.com/fmshzpE.png", -- diffuse image
1762 ["type"] = 5, -- 5 is a 'chip'
1763 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1764 },
1765 ["params"] =
1766 {
1767 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1768 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1769 },
1770
1771 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1772 }
1773 ,
1774
1775 {
1776 ["value"] = 25, -- Value of the Chip
1777 ["name"] = "$25", -- Name of the chip
1778 ["label"] = "$25", -- Label used for converting machine
1779 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1780 ["height"] = 0.15,
1781 ["custom"] =
1782 {
1783 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1784 ["diffuse"] = "https://i.imgur.com/1Stb0Y5.png", -- diffuse image
1785 ["type"] = 5, -- 5 is a 'chip'
1786 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1787 },
1788 ["params"] =
1789 {
1790 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1791 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1792 },
1793 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1794 }
1795 , -- dummy for unknown chips
1796 {
1797 ["value"] = -1, -- Value of the Chip
1798 ["name"] = "unknown", -- Name of the chip
1799 ["standard"] = false, -- Standard tabletop chips true/false
1800 ["label"] = "dummy", -- Label used for converting machine
1801 ["height"] = 0.3,
1802 ["params"] =
1803 {
1804 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1805 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1806 },
1807 ["stack"] = "15" -- stack where the chips are put in
1808 }
1809 },
1810
1811 ['Casino Style V2 - $1'] =
1812 {
1813 --10m
1814 {
1815 ["value"] = 10000000, -- Value of the Chip
1816 ["name"] = "$10,000,000", -- Name of the chip
1817 ["label"] = "$10m", -- Label used for converting machine
1818 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1819 ["height"] = 0.15,
1820 ["custom"] =
1821 {
1822 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1823 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
1824 ["type"] = 5, -- 5 is a 'chip'
1825 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1826 },
1827 ["params"] =
1828 {
1829 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1830 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1831 },
1832 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1833 },
1834
1835
1836
1837 --1m
1838 {
1839 ["value"] = 1000000, -- Value of the Chip
1840 ["name"] = "$1,000,000", -- Name of the chip
1841 ["label"] = "$1m", -- Label used for converting machine
1842 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1843 ["height"] = 0.15,
1844 ["custom"] =
1845 {
1846 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1847 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
1848 ["type"] = 5, -- 5 is a 'chip'
1849 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1850 },
1851 ["params"] =
1852 {
1853 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1854 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1855 },
1856 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1857 },
1858
1859 --100k
1860 {
1861 ["value"] = 100000, -- Value of the Chip
1862 ["name"] = "$100,000", -- Name of the chip
1863 ["label"] = "$100k", -- Label used for converting machine
1864 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1865 ["height"] = 0.15,
1866 ["custom"] =
1867 {
1868 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1869 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
1870 ["type"] = 5, -- 5 is a 'chip'
1871 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1872 },
1873 ["params"] =
1874 {
1875 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1876 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1877 },
1878 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1879 },
1880 --50k
1881 {
1882 ["value"] = 50000, -- Value of the Chip
1883 ["name"] = "$50,000", -- Name of the chip
1884 ["label"] = "$50k", -- Label used for converting machine
1885 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1886 ["height"] = 0.15,
1887 ["custom"] =
1888 {
1889 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1890 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
1891 ["type"] = 5, -- 5 is a 'chip'
1892 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1893 },
1894 ["params"] =
1895 {
1896 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1897 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1898 },
1899 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1900 },
1901 --25k
1902 {
1903 ["value"] = 25000, -- Value of the Chip
1904 ["name"] = "$25,000", -- Name of the chip
1905 ["label"] = "$25k", -- Label used for converting machine
1906 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1907 ["height"] = 0.15,
1908 ["custom"] =
1909 {
1910 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1911 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
1912 ["type"] = 5, -- 5 is a 'chip'
1913 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1914 },
1915 ["params"] =
1916 {
1917 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1918 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1919 },
1920 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1921 },
1922 --10k
1923 {
1924 ["value"] = 10000, -- Value of the Chip
1925 ["name"] = "$10,000", -- Name of the chip
1926 ["label"] = "$10k", -- Label used for converting machine
1927 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1928 ["height"] = 0.15,
1929 ["custom"] =
1930 {
1931 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1932 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
1933 ["type"] = 5, -- 5 is a 'chip'
1934 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1935 },
1936 ["params"] =
1937 {
1938 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1939 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1940 },
1941 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1942 },
1943 --5k
1944 {
1945 ["value"] = 5000, -- Value of the Chip
1946 ["name"] = "$5,000", -- Name of the chip
1947 ["label"] = "$5000", -- Label used for converting machine
1948 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1949 ["height"] = 0.15,
1950 ["custom"] =
1951 {
1952 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1953 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
1954 ["type"] = 5, -- 5 is a 'chip'
1955 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1956 },
1957 ["params"] =
1958 {
1959 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1960 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1961 },
1962 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1963 },
1964
1965 --2500
1966 {
1967 ["value"] = 2500, -- Value of the Chip
1968 ["name"] = "$2,500", -- Name of the chip
1969 ["label"] = "$2500", -- Label used for converting machine
1970 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1971 ["height"] = 0.15,
1972 ["custom"] =
1973 {
1974 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1975 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
1976 ["type"] = 5, -- 5 is a 'chip'
1977 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1978 },
1979 ["params"] =
1980 {
1981 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1982 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1983 },
1984
1985 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1986 },
1987 --1000
1988 {
1989 ["value"] = 1000, -- Value of the Chip
1990 ["name"] = "$1,000", -- Name of the chip
1991 ["label"] = "$1000", -- Label used for converting machine
1992 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1993 ["height"] = 0.15,
1994 ["custom"] =
1995 {
1996 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1997 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
1998 ["type"] = 5, -- 5 is a 'chip'
1999 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2000 },
2001 ["params"] =
2002 {
2003 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2004 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2005 },
2006
2007 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2008 },
2009 --500
2010 {
2011 ["value"] = 500, -- Value of the Chip
2012 ["name"] = "$500", -- Name of the chip
2013 ["label"] = "$500", -- Label used for converting machine
2014 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2015 ["height"] = 0.15,
2016 ["custom"] =
2017 {
2018 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2019 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2020 ["type"] = 5, -- 5 is a 'chip'
2021 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2022 },
2023 ["params"] =
2024 {
2025 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2026 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2027 },
2028
2029 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2030 },
2031
2032 --250
2033 {
2034 ["value"] = 250, -- Value of the Chip
2035 ["name"] = "$250", -- Name of the chip
2036 ["label"] = "$250", -- Label used for converting machine
2037 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2038 ["height"] = 0.15,
2039 ["custom"] =
2040 {
2041 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2042 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlc2U1RDeU9mZGc", -- diffuse image
2043 ["type"] = 5, -- 5 is a 'chip'
2044 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2045 },
2046 ["params"] =
2047 {
2048 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2049 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2050 },
2051
2052 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2053 },
2054
2055 --100
2056 {
2057 ["value"] = 100, -- Value of the Chip
2058 ["name"] = "$100", -- Name of the chip
2059 ["label"] = "$100", -- Label used for converting machine
2060 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2061 ["height"] = 0.15,
2062 ["custom"] =
2063 {
2064 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2065 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
2066 ["type"] = 5, -- 5 is a 'chip'
2067 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2068 },
2069 ["params"] =
2070 {
2071 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2072 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2073 },
2074
2075 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2076 },
2077
2078 --50
2079 {
2080 ["value"] = 50, -- Value of the Chip
2081 ["name"] = "$50", -- Name of the chip
2082 ["label"] = "$50", -- Label used for converting machine
2083 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2084 ["height"] = 0.15,
2085 ["custom"] =
2086 {
2087 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2088 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZFpTSV9UYVA4SzA", -- diffuse image
2089 ["type"] = 5, -- 5 is a 'chip'
2090 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2091 },
2092 ["params"] =
2093 {
2094 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2095 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2096 },
2097
2098 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2099 },
2100 --25
2101 {
2102 ["value"] = 25, -- Value of the Chip
2103 ["name"] = "$25", -- Name of the chip
2104 ["label"] = "$25", -- Label used for converting machine
2105 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2106 ["height"] = 0.15,
2107 ["custom"] =
2108 {
2109 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2110 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUE1vakxlV1VWeG8", -- diffuse image
2111 ["type"] = 5, -- 5 is a 'chip'
2112 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2113 },
2114 ["params"] =
2115 {
2116 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2117 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2118 },
2119
2120 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2121 },
2122 --10
2123 {
2124 ["value"] = 10, -- Value of the Chip
2125 ["name"] = "$10", -- Name of the chip
2126 ["label"] = "$10", -- Label used for converting machine
2127 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2128 ["height"] = 0.15,
2129 ["custom"] =
2130 {
2131 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2132 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IejNGRlFiVE5EZ1U", -- diffuse image
2133 ["type"] = 5, -- 5 is a 'chip'
2134 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2135 },
2136 ["params"] =
2137 {
2138 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2139 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2140 },
2141
2142 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2143 },
2144 --5
2145 {
2146 ["value"] = 5, -- Value of the Chip
2147 ["name"] = "$5", -- Name of the chip
2148 ["label"] = "$5", -- Label used for converting machine
2149 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2150 ["height"] = 0.15,
2151 ["custom"] =
2152 {
2153 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2154 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUFlQOVN1ak83VHM", -- diffuse image
2155 ["type"] = 5, -- 5 is a 'chip'
2156 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2157 },
2158 ["params"] =
2159 {
2160 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2161 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2162 },
2163
2164 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2165 },
2166 --1
2167 {
2168 ["value"] = 1, -- Value of the Chip
2169 ["name"] = "$1", -- Name of the chip
2170 ["label"] = "$1", -- Label used for converting machine
2171 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2172 ["height"] = 0.15,
2173 ["custom"] =
2174 {
2175 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2176 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ILWFqZTBoSnZUam8", -- diffuse image
2177 ["type"] = 5, -- 5 is a 'chip'
2178 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2179 },
2180 ["params"] =
2181 {
2182 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2183 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2184 },
2185
2186 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2187 },
2188 -- dummy for unknown chips
2189 {
2190 ["value"] = -1, -- Value of the Chip
2191 ["name"] = "unknown", -- Name of the chip
2192 ["standard"] = false, -- Standard tabletop chips true/false
2193 ["label"] = "dummy", -- Label used for converting machine
2194 ["height"] = 0.3,
2195 ["params"] =
2196 {
2197 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2198 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2199 },
2200 ["stack"] = "16" -- stack where the chips are put in
2201 }
2202 },
2203
2204 ['Casino Style V2 - $10'] =
2205 {
2206
2207 --10m
2208 {
2209 ["value"] = 10000000, -- Value of the Chip
2210 ["name"] = "$10,000,000", -- Name of the chip
2211 ["label"] = "$10m", -- Label used for converting machine
2212 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2213 ["height"] = 0.15,
2214 ["custom"] =
2215 {
2216 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2217 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
2218 ["type"] = 5, -- 5 is a 'chip'
2219 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2220 },
2221 ["params"] =
2222 {
2223 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2224 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2225 },
2226 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2227 },
2228
2229
2230
2231 --1m
2232 {
2233 ["value"] = 1000000, -- Value of the Chip
2234 ["name"] = "$1,000,000", -- Name of the chip
2235 ["label"] = "$1m", -- Label used for converting machine
2236 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2237 ["height"] = 0.15,
2238 ["custom"] =
2239 {
2240 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2241 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2242 ["type"] = 5, -- 5 is a 'chip'
2243 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2244 },
2245 ["params"] =
2246 {
2247 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2248 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2249 },
2250 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2251 },
2252 --100k
2253 {
2254 ["value"] = 100000, -- Value of the Chip
2255 ["name"] = "$100,000", -- Name of the chip
2256 ["label"] = "$100k", -- Label used for converting machine
2257 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2258 ["height"] = 0.15,
2259 ["custom"] =
2260 {
2261 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2262 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2263 ["type"] = 5, -- 5 is a 'chip'
2264 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2265 },
2266 ["params"] =
2267 {
2268 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2269 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2270 },
2271 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2272 },
2273 --50k
2274 {
2275 ["value"] = 50000, -- Value of the Chip
2276 ["name"] = "$50,000", -- Name of the chip
2277 ["label"] = "$50k", -- Label used for converting machine
2278 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2279 ["height"] = 0.15,
2280 ["custom"] =
2281 {
2282 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2283 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2284 ["type"] = 5, -- 5 is a 'chip'
2285 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2286 },
2287 ["params"] =
2288 {
2289 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2290 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2291 },
2292 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2293 },
2294 --25k
2295 {
2296 ["value"] = 25000, -- Value of the Chip
2297 ["name"] = "$25,000", -- Name of the chip
2298 ["label"] = "$25k", -- Label used for converting machine
2299 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2300 ["height"] = 0.15,
2301 ["custom"] =
2302 {
2303 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2304 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2305 ["type"] = 5, -- 5 is a 'chip'
2306 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2307 },
2308 ["params"] =
2309 {
2310 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2311 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2312 },
2313 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2314 },
2315 --10k
2316 {
2317 ["value"] = 10000, -- Value of the Chip
2318 ["name"] = "$10,000", -- Name of the chip
2319 ["label"] = "$10k", -- Label used for converting machine
2320 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2321 ["height"] = 0.15,
2322 ["custom"] =
2323 {
2324 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2325 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
2326 ["type"] = 5, -- 5 is a 'chip'
2327 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2328 },
2329 ["params"] =
2330 {
2331 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2332 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2333 },
2334 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2335 },
2336 --5k
2337 {
2338 ["value"] = 5000, -- Value of the Chip
2339 ["name"] = "$5,000", -- Name of the chip
2340 ["label"] = "$5000", -- Label used for converting machine
2341 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2342 ["height"] = 0.15,
2343 ["custom"] =
2344 {
2345 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2346 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2347 ["type"] = 5, -- 5 is a 'chip'
2348 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2349 },
2350 ["params"] =
2351 {
2352 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2353 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2354 },
2355 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2356 },
2357
2358 --2500
2359 {
2360 ["value"] = 2500, -- Value of the Chip
2361 ["name"] = "$2,500", -- Name of the chip
2362 ["label"] = "$2500", -- Label used for converting machine
2363 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2364 ["height"] = 0.15,
2365 ["custom"] =
2366 {
2367 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2368 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2369 ["type"] = 5, -- 5 is a 'chip'
2370 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2371 },
2372 ["params"] =
2373 {
2374 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2375 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2376 },
2377
2378 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2379 },
2380 --1000
2381 {
2382 ["value"] = 1000, -- Value of the Chip
2383 ["name"] = "$1,000", -- Name of the chip
2384 ["label"] = "$1000", -- Label used for converting machine
2385 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2386 ["height"] = 0.15,
2387 ["custom"] =
2388 {
2389 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2390 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
2391 ["type"] = 5, -- 5 is a 'chip'
2392 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2393 },
2394 ["params"] =
2395 {
2396 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2397 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2398 },
2399
2400 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2401 },
2402 --500
2403 {
2404 ["value"] = 500, -- Value of the Chip
2405 ["name"] = "$500", -- Name of the chip
2406 ["label"] = "$500", -- Label used for converting machine
2407 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2408 ["height"] = 0.15,
2409 ["custom"] =
2410 {
2411 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2412 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2413 ["type"] = 5, -- 5 is a 'chip'
2414 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2415 },
2416 ["params"] =
2417 {
2418 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2419 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2420 },
2421
2422 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2423 },
2424
2425 --250
2426 {
2427 ["value"] = 250, -- Value of the Chip
2428 ["name"] = "$250", -- Name of the chip
2429 ["label"] = "$250", -- Label used for converting machine
2430 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2431 ["height"] = 0.15,
2432 ["custom"] =
2433 {
2434 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2435 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlc2U1RDeU9mZGc", -- diffuse image
2436 ["type"] = 5, -- 5 is a 'chip'
2437 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2438 },
2439 ["params"] =
2440 {
2441 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2442 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2443 },
2444
2445 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2446 },
2447
2448 --100
2449 {
2450 ["value"] = 100, -- Value of the Chip
2451 ["name"] = "$100", -- Name of the chip
2452 ["label"] = "$100", -- Label used for converting machine
2453 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2454 ["height"] = 0.15,
2455 ["custom"] =
2456 {
2457 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2458 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
2459 ["type"] = 5, -- 5 is a 'chip'
2460 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2461 },
2462 ["params"] =
2463 {
2464 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2465 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2466 },
2467
2468 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2469 },
2470
2471 --50
2472 {
2473 ["value"] = 50, -- Value of the Chip
2474 ["name"] = "$50", -- Name of the chip
2475 ["label"] = "$50", -- Label used for converting machine
2476 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2477 ["height"] = 0.15,
2478 ["custom"] =
2479 {
2480 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2481 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZFpTSV9UYVA4SzA", -- diffuse image
2482 ["type"] = 5, -- 5 is a 'chip'
2483 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2484 },
2485 ["params"] =
2486 {
2487 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2488 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2489 },
2490
2491 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2492 },
2493
2494 --10
2495 {
2496 ["value"] = 10, -- Value of the Chip
2497 ["name"] = "$10", -- Name of the chip
2498 ["label"] = "$10", -- Label used for converting machine
2499 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2500 ["height"] = 0.15,
2501 ["custom"] =
2502 {
2503 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2504 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IejNGRlFiVE5EZ1U", -- diffuse image
2505 ["type"] = 5, -- 5 is a 'chip'
2506 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2507 },
2508 ["params"] =
2509 {
2510 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2511 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2512 },
2513
2514 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2515 },
2516 -- dummy for unknown chips
2517 {
2518 ["value"] = -1, -- Value of the Chip
2519 ["name"] = "unknown", -- Name of the chip
2520 ["standard"] = false, -- Standard tabletop chips true/false
2521 ["label"] = "dummy", -- Label used for converting machine
2522 ["height"] = 0.3,
2523 ["params"] =
2524 {
2525 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2526 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2527 },
2528 ["stack"] = "15" -- stack where the chips are put in
2529 }
2530 },
2531
2532 ['Casino Style V2 - $100'] =
2533 {
2534 --10m
2535 {
2536 ["value"] = 10000000, -- Value of the Chip
2537 ["name"] = "$10,000,000", -- Name of the chip
2538 ["label"] = "$10m", -- Label used for converting machine
2539 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2540 ["height"] = 0.15,
2541 ["custom"] =
2542 {
2543 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2544 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
2545 ["type"] = 5, -- 5 is a 'chip'
2546 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2547 },
2548 ["params"] =
2549 {
2550 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2551 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2552 },
2553 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2554 },
2555
2556
2557
2558 --1m
2559 {
2560 ["value"] = 1000000, -- Value of the Chip
2561 ["name"] = "$1,000,000", -- Name of the chip
2562 ["label"] = "$1m", -- Label used for converting machine
2563 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2564 ["height"] = 0.15,
2565 ["custom"] =
2566 {
2567 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2568 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2569 ["type"] = 5, -- 5 is a 'chip'
2570 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2571 },
2572 ["params"] =
2573 {
2574 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2575 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2576 },
2577 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2578 },
2579
2580
2581 --100k
2582 {
2583 ["value"] = 100000, -- Value of the Chip
2584 ["name"] = "$100,000", -- Name of the chip
2585 ["label"] = "$100k", -- Label used for converting machine
2586 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2587 ["height"] = 0.15,
2588 ["custom"] =
2589 {
2590 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2591 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2592 ["type"] = 5, -- 5 is a 'chip'
2593 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2594 },
2595 ["params"] =
2596 {
2597 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2598 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2599 },
2600 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2601 },
2602 --50k
2603 {
2604 ["value"] = 50000, -- Value of the Chip
2605 ["name"] = "$50,000", -- Name of the chip
2606 ["label"] = "$50k", -- Label used for converting machine
2607 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2608 ["height"] = 0.15,
2609 ["custom"] =
2610 {
2611 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2612 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2613 ["type"] = 5, -- 5 is a 'chip'
2614 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2615 },
2616 ["params"] =
2617 {
2618 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2619 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2620 },
2621 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2622 },
2623 --25k
2624 {
2625 ["value"] = 25000, -- Value of the Chip
2626 ["name"] = "$25,000", -- Name of the chip
2627 ["label"] = "$25k", -- Label used for converting machine
2628 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2629 ["height"] = 0.15,
2630 ["custom"] =
2631 {
2632 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2633 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2634 ["type"] = 5, -- 5 is a 'chip'
2635 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2636 },
2637 ["params"] =
2638 {
2639 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2640 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2641 },
2642 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2643 },
2644 --10k
2645 {
2646 ["value"] = 10000, -- Value of the Chip
2647 ["name"] = "$10,000", -- Name of the chip
2648 ["label"] = "$10k", -- Label used for converting machine
2649 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2650 ["height"] = 0.15,
2651 ["custom"] =
2652 {
2653 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2654 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
2655 ["type"] = 5, -- 5 is a 'chip'
2656 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2657 },
2658 ["params"] =
2659 {
2660 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2661 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2662 },
2663 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2664 },
2665 --5k
2666 {
2667 ["value"] = 5000, -- Value of the Chip
2668 ["name"] = "$5,000", -- Name of the chip
2669 ["label"] = "$5000", -- Label used for converting machine
2670 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2671 ["height"] = 0.15,
2672 ["custom"] =
2673 {
2674 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2675 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2676 ["type"] = 5, -- 5 is a 'chip'
2677 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2678 },
2679 ["params"] =
2680 {
2681 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2682 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2683 },
2684 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2685 },
2686
2687 --2500
2688 {
2689 ["value"] = 2500, -- Value of the Chip
2690 ["name"] = "$2,500", -- Name of the chip
2691 ["label"] = "$2500", -- Label used for converting machine
2692 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2693 ["height"] = 0.15,
2694 ["custom"] =
2695 {
2696 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2697 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2698 ["type"] = 5, -- 5 is a 'chip'
2699 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2700 },
2701 ["params"] =
2702 {
2703 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2704 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2705 },
2706
2707 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2708 },
2709 --1000
2710 {
2711 ["value"] = 1000, -- Value of the Chip
2712 ["name"] = "$1,000", -- Name of the chip
2713 ["label"] = "$1000", -- Label used for converting machine
2714 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2715 ["height"] = 0.15,
2716 ["custom"] =
2717 {
2718 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2719 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
2720 ["type"] = 5, -- 5 is a 'chip'
2721 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2722 },
2723 ["params"] =
2724 {
2725 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2726 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2727 },
2728
2729 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2730 },
2731 --500
2732 {
2733 ["value"] = 500, -- Value of the Chip
2734 ["name"] = "$500", -- Name of the chip
2735 ["label"] = "$500", -- Label used for converting machine
2736 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2737 ["height"] = 0.15,
2738 ["custom"] =
2739 {
2740 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2741 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2742 ["type"] = 5, -- 5 is a 'chip'
2743 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2744 },
2745 ["params"] =
2746 {
2747 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2748 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2749 },
2750
2751 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2752 },
2753
2754
2755 --100
2756 {
2757 ["value"] = 100, -- Value of the Chip
2758 ["name"] = "$100", -- Name of the chip
2759 ["label"] = "$100", -- Label used for converting machine
2760 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2761 ["height"] = 0.15,
2762 ["custom"] =
2763 {
2764 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2765 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
2766 ["type"] = 5, -- 5 is a 'chip'
2767 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2768 },
2769 ["params"] =
2770 {
2771 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2772 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2773 },
2774
2775 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2776 },
2777 -- dummy for unknown chips
2778 {
2779 ["value"] = -1, -- Value of the Chip
2780 ["name"] = "unknown", -- Name of the chip
2781 ["standard"] = false, -- Standard tabletop chips true/false
2782 ["label"] = "dummy", -- Label used for converting machine
2783 ["height"] = 0.3,
2784 ["params"] =
2785 {
2786 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2787 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2788 },
2789 ["stack"] = "10" -- stack where the chips are put in
2790 }
2791 },
2792
2793 ['Casino Style V2 - $500'] =
2794 {
2795 --10m
2796 {
2797 ["value"] = 10000000, -- Value of the Chip
2798 ["name"] = "$10,000,000", -- Name of the chip
2799 ["label"] = "$10m", -- Label used for converting machine
2800 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2801 ["height"] = 0.15,
2802 ["custom"] =
2803 {
2804 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2805 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
2806 ["type"] = 5, -- 5 is a 'chip'
2807 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2808 },
2809 ["params"] =
2810 {
2811 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2812 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2813 },
2814 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2815 },
2816
2817
2818
2819 --1m
2820 {
2821 ["value"] = 1000000, -- Value of the Chip
2822 ["name"] = "$1,000,000", -- Name of the chip
2823 ["label"] = "$1m", -- Label used for converting machine
2824 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2825 ["height"] = 0.15,
2826 ["custom"] =
2827 {
2828 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2829 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2830 ["type"] = 5, -- 5 is a 'chip'
2831 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2832 },
2833 ["params"] =
2834 {
2835 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2836 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2837 },
2838 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2839 },
2840
2841
2842 --100k
2843 {
2844 ["value"] = 100000, -- Value of the Chip
2845 ["name"] = "$100,000", -- Name of the chip
2846 ["label"] = "$100k", -- Label used for converting machine
2847 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2848 ["height"] = 0.15,
2849 ["custom"] =
2850 {
2851 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2852 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2853 ["type"] = 5, -- 5 is a 'chip'
2854 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2855 },
2856 ["params"] =
2857 {
2858 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2859 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2860 },
2861 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2862 },
2863 --50k
2864 {
2865 ["value"] = 50000, -- Value of the Chip
2866 ["name"] = "$50,000", -- Name of the chip
2867 ["label"] = "$50k", -- Label used for converting machine
2868 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2869 ["height"] = 0.15,
2870 ["custom"] =
2871 {
2872 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2873 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2874 ["type"] = 5, -- 5 is a 'chip'
2875 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2876 },
2877 ["params"] =
2878 {
2879 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2880 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2881 },
2882 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2883 },
2884 --25k
2885 {
2886 ["value"] = 25000, -- Value of the Chip
2887 ["name"] = "$25,000", -- Name of the chip
2888 ["label"] = "$25k", -- Label used for converting machine
2889 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2890 ["height"] = 0.15,
2891 ["custom"] =
2892 {
2893 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2894 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2895 ["type"] = 5, -- 5 is a 'chip'
2896 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2897 },
2898 ["params"] =
2899 {
2900 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2901 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2902 },
2903 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2904 },
2905 --10k
2906 {
2907 ["value"] = 10000, -- Value of the Chip
2908 ["name"] = "$10,000", -- Name of the chip
2909 ["label"] = "$10k", -- Label used for converting machine
2910 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2911 ["height"] = 0.15,
2912 ["custom"] =
2913 {
2914 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2915 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
2916 ["type"] = 5, -- 5 is a 'chip'
2917 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2918 },
2919 ["params"] =
2920 {
2921 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2922 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2923 },
2924 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2925 },
2926 --5k
2927 {
2928 ["value"] = 5000, -- Value of the Chip
2929 ["name"] = "$5,000", -- Name of the chip
2930 ["label"] = "$5000", -- Label used for converting machine
2931 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2932 ["height"] = 0.15,
2933 ["custom"] =
2934 {
2935 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2936 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2937 ["type"] = 5, -- 5 is a 'chip'
2938 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2939 },
2940 ["params"] =
2941 {
2942 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2943 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2944 },
2945 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2946 },
2947
2948 --2500
2949 {
2950 ["value"] = 2500, -- Value of the Chip
2951 ["name"] = "$2,500", -- Name of the chip
2952 ["label"] = "$2500", -- Label used for converting machine
2953 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2954 ["height"] = 0.15,
2955 ["custom"] =
2956 {
2957 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2958 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2959 ["type"] = 5, -- 5 is a 'chip'
2960 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2961 },
2962 ["params"] =
2963 {
2964 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2965 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2966 },
2967
2968 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2969 },
2970 --1000
2971 {
2972 ["value"] = 1000, -- Value of the Chip
2973 ["name"] = "$1,000", -- Name of the chip
2974 ["label"] = "$1000", -- Label used for converting machine
2975 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2976 ["height"] = 0.15,
2977 ["custom"] =
2978 {
2979 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2980 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
2981 ["type"] = 5, -- 5 is a 'chip'
2982 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2983 },
2984 ["params"] =
2985 {
2986 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2987 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2988 },
2989
2990 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2991 },
2992 --500
2993 {
2994 ["value"] = 500, -- Value of the Chip
2995 ["name"] = "$500", -- Name of the chip
2996 ["label"] = "$500", -- Label used for converting machine
2997 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2998 ["height"] = 0.15,
2999 ["custom"] =
3000 {
3001 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
3002 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
3003 ["type"] = 5, -- 5 is a 'chip'
3004 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3005 },
3006 ["params"] =
3007 {
3008 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3009 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
3010 },
3011
3012 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3013 },
3014
3015
3016 -- dummy for unknown chips
3017 {
3018 ["value"] = -1, -- Value of the Chip
3019 ["name"] = "unknown", -- Name of the chip
3020 ["standard"] = false, -- Standard tabletop chips true/false
3021 ["label"] = "dummy", -- Label used for converting machine
3022 ["height"] = 0.3,
3023 ["params"] =
3024 {
3025 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3026 ["scale"] = {1,1,1} -- the scale at which to spawn the object
3027 },
3028 ["stack"] = "10" -- stack where the chips are put in
3029 }
3030 },
3031
3032
3033 ['Casino Style V3 - $1'] =
3034 {
3035
3036
3037
3038 --1m
3039 {
3040 ["value"] = 1000000, -- Value of the Chip
3041 ["name"] = "$1,000,000", -- Name of the chip
3042 ["label"] = "$1m", -- Label used for converting machine
3043 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3044 ["height"] = 0.15,
3045 ["custom"] =
3046 {
3047 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3048 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
3049 ["type"] = 5, -- 5 is a 'chip'
3050 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3051 },
3052 ["params"] =
3053 {
3054 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3055 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3056 },
3057 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3058 },
3059
3060
3061 --500k
3062 {
3063 ["value"] = 500000, -- Value of the Chip
3064 ["name"] = "$500,000", -- Name of the chip
3065 ["label"] = "$500k", -- Label used for converting machine
3066 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3067 ["height"] = 0.15,
3068 ["custom"] =
3069 {
3070 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3071 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
3072 ["type"] = 5, -- 5 is a 'chip'
3073 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3074 },
3075 ["params"] =
3076 {
3077 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3078 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3079 },
3080 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3081 },
3082
3083 --250k
3084 {
3085 ["value"] = 250000, -- Value of the Chip
3086 ["name"] = "$250,000", -- Name of the chip
3087 ["label"] = "$250k", -- Label used for converting machine
3088 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3089 ["height"] = 0.15,
3090 ["custom"] =
3091 {
3092 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3093 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3094 ["type"] = 5, -- 5 is a 'chip'
3095 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3096 },
3097 ["params"] =
3098 {
3099 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3100 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3101 },
3102 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3103 },
3104
3105 --100k
3106 {
3107 ["value"] = 100000, -- Value of the Chip
3108 ["name"] = "$100,000", -- Name of the chip
3109 ["label"] = "$100k", -- Label used for converting machine
3110 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3111 ["height"] = 0.15,
3112 ["custom"] =
3113 {
3114 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3115 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
3116 ["type"] = 5, -- 5 is a 'chip'
3117 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3118 },
3119 ["params"] =
3120 {
3121 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3122 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3123 },
3124 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3125 },
3126 --50k
3127 {
3128 ["value"] = 50000, -- Value of the Chip
3129 ["name"] = "$50,000", -- Name of the chip
3130 ["label"] = "$50k", -- Label used for converting machine
3131 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3132 ["height"] = 0.15,
3133 ["custom"] =
3134 {
3135 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3136 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
3137 ["type"] = 5, -- 5 is a 'chip'
3138 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3139 },
3140 ["params"] =
3141 {
3142 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3143 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3144 },
3145 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3146 },
3147 --25k
3148 {
3149 ["value"] = 25000, -- Value of the Chip
3150 ["name"] = "$25,000", -- Name of the chip
3151 ["label"] = "$25k", -- Label used for converting machine
3152 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3153 ["height"] = 0.15,
3154 ["custom"] =
3155 {
3156 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3157 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
3158 ["type"] = 5, -- 5 is a 'chip'
3159 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3160 },
3161 ["params"] =
3162 {
3163 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3164 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3165 },
3166 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3167 },
3168 --10k
3169 {
3170 ["value"] = 10000, -- Value of the Chip
3171 ["name"] = "$10,000", -- Name of the chip
3172 ["label"] = "$10k", -- Label used for converting machine
3173 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3174 ["height"] = 0.15,
3175 ["custom"] =
3176 {
3177 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3178 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
3179 ["type"] = 5, -- 5 is a 'chip'
3180 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3181 },
3182 ["params"] =
3183 {
3184 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3185 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3186 },
3187 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3188 },
3189 --5k
3190 {
3191 ["value"] = 5000, -- Value of the Chip
3192 ["name"] = "$5,000", -- Name of the chip
3193 ["label"] = "$5000", -- Label used for converting machine
3194 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3195 ["height"] = 0.15,
3196 ["custom"] =
3197 {
3198 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3199 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
3200 ["type"] = 5, -- 5 is a 'chip'
3201 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3202 },
3203 ["params"] =
3204 {
3205 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3206 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3207 },
3208 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3209 },
3210
3211 --2500
3212 {
3213 ["value"] = 2500, -- Value of the Chip
3214 ["name"] = "$2,500", -- Name of the chip
3215 ["label"] = "$2500", -- Label used for converting machine
3216 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3217 ["height"] = 0.15,
3218 ["custom"] =
3219 {
3220 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3221 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
3222 ["type"] = 5, -- 5 is a 'chip'
3223 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3224 },
3225 ["params"] =
3226 {
3227 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3228 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3229 },
3230
3231 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3232 },
3233 --1000
3234 {
3235 ["value"] = 1000, -- Value of the Chip
3236 ["name"] = "$1,000", -- Name of the chip
3237 ["label"] = "$1000", -- Label used for converting machine
3238 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3239 ["height"] = 0.15,
3240 ["custom"] =
3241 {
3242 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3243 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
3244 ["type"] = 5, -- 5 is a 'chip'
3245 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3246 },
3247 ["params"] =
3248 {
3249 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3250 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3251 },
3252
3253 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3254 },
3255 --500
3256 {
3257 ["value"] = 500, -- Value of the Chip
3258 ["name"] = "$500", -- Name of the chip
3259 ["label"] = "$500", -- Label used for converting machine
3260 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3261 ["height"] = 0.15,
3262 ["custom"] =
3263 {
3264 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3265 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
3266 ["type"] = 5, -- 5 is a 'chip'
3267 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3268 },
3269 ["params"] =
3270 {
3271 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3272 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3273 },
3274
3275 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3276 },
3277
3278 --250
3279 {
3280 ["value"] = 250, -- Value of the Chip
3281 ["name"] = "$250", -- Name of the chip
3282 ["label"] = "$250", -- Label used for converting machine
3283 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3284 ["height"] = 0.15,
3285 ["custom"] =
3286 {
3287 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3288 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256693906/7B5FA4B4CA824F79FC92780A83514D98DA1D1D7C/", -- diffuse image
3289 ["type"] = 5, -- 5 is a 'chip'
3290 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3291 },
3292 ["params"] =
3293 {
3294 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3295 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3296 },
3297
3298 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3299 },
3300
3301 --100
3302 {
3303 ["value"] = 100, -- Value of the Chip
3304 ["name"] = "$100", -- Name of the chip
3305 ["label"] = "$100", -- Label used for converting machine
3306 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3307 ["height"] = 0.15,
3308 ["custom"] =
3309 {
3310 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3311 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
3312 ["type"] = 5, -- 5 is a 'chip'
3313 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3314 },
3315 ["params"] =
3316 {
3317 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3318 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3319 },
3320
3321 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3322 },
3323
3324 --50
3325 {
3326 ["value"] = 50, -- Value of the Chip
3327 ["name"] = "$50", -- Name of the chip
3328 ["label"] = "$50", -- Label used for converting machine
3329 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3330 ["height"] = 0.15,
3331 ["custom"] =
3332 {
3333 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3334 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256657852/0B9B88A59CA01525D3CA15D7270A29BE7C68B6FA/", -- diffuse image
3335 ["type"] = 5, -- 5 is a 'chip'
3336 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3337 },
3338 ["params"] =
3339 {
3340 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3341 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3342 },
3343
3344 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3345 },
3346 --25
3347 {
3348 ["value"] = 25, -- Value of the Chip
3349 ["name"] = "$25", -- Name of the chip
3350 ["label"] = "$25", -- Label used for converting machine
3351 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3352 ["height"] = 0.15,
3353 ["custom"] =
3354 {
3355 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3356 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256656037/A746AE927A67D27BE69353AAB7EC177FFB21D81A/", -- diffuse image
3357 ["type"] = 5, -- 5 is a 'chip'
3358 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3359 },
3360 ["params"] =
3361 {
3362 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3363 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3364 },
3365
3366 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3367 },
3368 --10
3369 {
3370 ["value"] = 10, -- Value of the Chip
3371 ["name"] = "$10", -- Name of the chip
3372 ["label"] = "$10", -- Label used for converting machine
3373 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3374 ["height"] = 0.15,
3375 ["custom"] =
3376 {
3377 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3378 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654950/57AE35F278A888511B2F549D6B494AD2CFB1223E/", -- diffuse image
3379 ["type"] = 5, -- 5 is a 'chip'
3380 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3381 },
3382 ["params"] =
3383 {
3384 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3385 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3386 },
3387
3388 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3389 },
3390 --5
3391 {
3392 ["value"] = 5, -- Value of the Chip
3393 ["name"] = "$5", -- Name of the chip
3394 ["label"] = "$5", -- Label used for converting machine
3395 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3396 ["height"] = 0.15,
3397 ["custom"] =
3398 {
3399 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3400 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654116/29B9C461A2B85E91EB8D0E3BA2DC007D1B9F3B72/", -- diffuse image
3401 ["type"] = 5, -- 5 is a 'chip'
3402 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3403 },
3404 ["params"] =
3405 {
3406 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3407 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3408 },
3409
3410 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3411 },
3412 --1
3413 {
3414 ["value"] = 1, -- Value of the Chip
3415 ["name"] = "$1", -- Name of the chip
3416 ["label"] = "$1", -- Label used for converting machine
3417 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3418 ["height"] = 0.15,
3419 ["custom"] =
3420 {
3421 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3422 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256642151/13DB2084C5B29158715BCE2DD245AE11977F8BBD/", -- diffuse image
3423 ["type"] = 5, -- 5 is a 'chip'
3424 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3425 },
3426 ["params"] =
3427 {
3428 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3429 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3430 },
3431
3432 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3433 },
3434 -- dummy for unknown chips
3435 {
3436 ["value"] = -1, -- Value of the Chip
3437 ["name"] = "unknown", -- Name of the chip
3438 ["standard"] = false, -- Standard tabletop chips true/false
3439 ["label"] = "dummy", -- Label used for converting machine
3440 ["height"] = 0.3,
3441 ["params"] =
3442 {
3443 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3444 ["scale"] = {1,1,1} -- the scale at which to spawn the object
3445 },
3446 ["stack"] = "16" -- stack where the chips are put in
3447 }
3448 },
3449
3450 ['Casino Style V3 - $10'] =
3451 {
3452 --1b
3453 {
3454 ["value"] = 1000000000, -- Value of the Chip
3455 ["name"] = "$1,000,000,000", -- Name of the chip
3456 ["label"] = "$1b", -- Label used for converting machine
3457 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3458 ["height"] = 0.15,
3459 ["custom"] =
3460 {
3461 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3462 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
3463 ["type"] = 5, -- 5 is a 'chip'
3464 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3465 },
3466 ["params"] =
3467 {
3468 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3469 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3470 },
3471 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3472 },
3473
3474
3475 --100m
3476 {
3477 ["value"] = 100000000, -- Value of the Chip
3478 ["name"] = "$100,000,000", -- Name of the chip
3479 ["label"] = "$100m", -- Label used for converting machine
3480 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3481 ["height"] = 0.15,
3482 ["custom"] =
3483 {
3484 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3485 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
3486 ["type"] = 5, -- 5 is a 'chip'
3487 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3488 },
3489 ["params"] =
3490 {
3491 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3492 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3493 },
3494 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3495 },
3496
3497
3498 --10m
3499 {
3500 ["value"] = 10000000, -- Value of the Chip
3501 ["name"] = "$10,000,000", -- Name of the chip
3502 ["label"] = "$10m", -- Label used for converting machine
3503 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3504 ["height"] = 0.15,
3505 ["custom"] =
3506 {
3507 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3508 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
3509 ["type"] = 5, -- 5 is a 'chip'
3510 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3511 },
3512 ["params"] =
3513 {
3514 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3515 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3516 },
3517 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3518 },
3519
3520
3521 --1m
3522 {
3523 ["value"] = 1000000, -- Value of the Chip
3524 ["name"] = "$1,000,000", -- Name of the chip
3525 ["label"] = "$1m", -- Label used for converting machine
3526 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3527 ["height"] = 0.15,
3528 ["custom"] =
3529 {
3530 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3531 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
3532 ["type"] = 5, -- 5 is a 'chip'
3533 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3534 },
3535 ["params"] =
3536 {
3537 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3538 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3539 },
3540 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3541 },
3542
3543
3544 --500k
3545 {
3546 ["value"] = 500000, -- Value of the Chip
3547 ["name"] = "$500,000", -- Name of the chip
3548 ["label"] = "$500k", -- Label used for converting machine
3549 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3550 ["height"] = 0.15,
3551 ["custom"] =
3552 {
3553 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3554 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
3555 ["type"] = 5, -- 5 is a 'chip'
3556 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3557 },
3558 ["params"] =
3559 {
3560 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3561 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3562 },
3563 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3564 },
3565
3566 --250k
3567 {
3568 ["value"] = 250000, -- Value of the Chip
3569 ["name"] = "$250,000", -- Name of the chip
3570 ["label"] = "$250k", -- Label used for converting machine
3571 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3572 ["height"] = 0.15,
3573 ["custom"] =
3574 {
3575 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3576 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3577 ["type"] = 5, -- 5 is a 'chip'
3578 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3579 },
3580 ["params"] =
3581 {
3582 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3583 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3584 },
3585 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3586 },
3587
3588 --100k
3589 {
3590 ["value"] = 100000, -- Value of the Chip
3591 ["name"] = "$100,000", -- Name of the chip
3592 ["label"] = "$100k", -- Label used for converting machine
3593 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3594 ["height"] = 0.15,
3595 ["custom"] =
3596 {
3597 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3598 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
3599 ["type"] = 5, -- 5 is a 'chip'
3600 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3601 },
3602 ["params"] =
3603 {
3604 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3605 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3606 },
3607 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3608 },
3609 --50k
3610 {
3611 ["value"] = 50000, -- Value of the Chip
3612 ["name"] = "$50,000", -- Name of the chip
3613 ["label"] = "$50k", -- Label used for converting machine
3614 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3615 ["height"] = 0.15,
3616 ["custom"] =
3617 {
3618 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3619 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
3620 ["type"] = 5, -- 5 is a 'chip'
3621 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3622 },
3623 ["params"] =
3624 {
3625 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3626 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3627 },
3628 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3629 },
3630 --25k
3631 {
3632 ["value"] = 25000, -- Value of the Chip
3633 ["name"] = "$25,000", -- Name of the chip
3634 ["label"] = "$25k", -- Label used for converting machine
3635 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3636 ["height"] = 0.15,
3637 ["custom"] =
3638 {
3639 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3640 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
3641 ["type"] = 5, -- 5 is a 'chip'
3642 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3643 },
3644 ["params"] =
3645 {
3646 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3647 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3648 },
3649 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3650 },
3651 --10k
3652 {
3653 ["value"] = 10000, -- Value of the Chip
3654 ["name"] = "$10,000", -- Name of the chip
3655 ["label"] = "$10k", -- Label used for converting machine
3656 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3657 ["height"] = 0.15,
3658 ["custom"] =
3659 {
3660 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3661 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
3662 ["type"] = 5, -- 5 is a 'chip'
3663 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3664 },
3665 ["params"] =
3666 {
3667 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3668 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3669 },
3670 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3671 },
3672 --5k
3673 {
3674 ["value"] = 5000, -- Value of the Chip
3675 ["name"] = "$5,000", -- Name of the chip
3676 ["label"] = "$5000", -- Label used for converting machine
3677 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3678 ["height"] = 0.15,
3679 ["custom"] =
3680 {
3681 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3682 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
3683 ["type"] = 5, -- 5 is a 'chip'
3684 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3685 },
3686 ["params"] =
3687 {
3688 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3689 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3690 },
3691 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3692 },
3693
3694 --2500
3695 {
3696 ["value"] = 2500, -- Value of the Chip
3697 ["name"] = "$2,500", -- Name of the chip
3698 ["label"] = "$2500", -- Label used for converting machine
3699 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3700 ["height"] = 0.15,
3701 ["custom"] =
3702 {
3703 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3704 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
3705 ["type"] = 5, -- 5 is a 'chip'
3706 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3707 },
3708 ["params"] =
3709 {
3710 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3711 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3712 },
3713
3714 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3715 },
3716 --1000
3717 {
3718 ["value"] = 1000, -- Value of the Chip
3719 ["name"] = "$1,000", -- Name of the chip
3720 ["label"] = "$1000", -- Label used for converting machine
3721 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3722 ["height"] = 0.15,
3723 ["custom"] =
3724 {
3725 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3726 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
3727 ["type"] = 5, -- 5 is a 'chip'
3728 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3729 },
3730 ["params"] =
3731 {
3732 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3733 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3734 },
3735
3736 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3737 },
3738 --500
3739 {
3740 ["value"] = 500, -- Value of the Chip
3741 ["name"] = "$500", -- Name of the chip
3742 ["label"] = "$500", -- Label used for converting machine
3743 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3744 ["height"] = 0.15,
3745 ["custom"] =
3746 {
3747 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3748 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
3749 ["type"] = 5, -- 5 is a 'chip'
3750 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3751 },
3752 ["params"] =
3753 {
3754 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3755 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3756 },
3757
3758 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3759 },
3760
3761 --250
3762 {
3763 ["value"] = 250, -- Value of the Chip
3764 ["name"] = "$250", -- Name of the chip
3765 ["label"] = "$250", -- Label used for converting machine
3766 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3767 ["height"] = 0.15,
3768 ["custom"] =
3769 {
3770 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3771 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256693906/7B5FA4B4CA824F79FC92780A83514D98DA1D1D7C/", -- diffuse image
3772 ["type"] = 5, -- 5 is a 'chip'
3773 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3774 },
3775 ["params"] =
3776 {
3777 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3778 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3779 },
3780
3781 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3782 },
3783
3784 --100
3785 {
3786 ["value"] = 100, -- Value of the Chip
3787 ["name"] = "$100", -- Name of the chip
3788 ["label"] = "$100", -- Label used for converting machine
3789 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3790 ["height"] = 0.15,
3791 ["custom"] =
3792 {
3793 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3794 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
3795 ["type"] = 5, -- 5 is a 'chip'
3796 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3797 },
3798 ["params"] =
3799 {
3800 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3801 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3802 },
3803
3804 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3805 },
3806
3807 --50
3808 {
3809 ["value"] = 50, -- Value of the Chip
3810 ["name"] = "$50", -- Name of the chip
3811 ["label"] = "$50", -- Label used for converting machine
3812 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3813 ["height"] = 0.15,
3814 ["custom"] =
3815 {
3816 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3817 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256657852/0B9B88A59CA01525D3CA15D7270A29BE7C68B6FA/", -- diffuse image
3818 ["type"] = 5, -- 5 is a 'chip'
3819 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3820 },
3821 ["params"] =
3822 {
3823 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3824 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3825 },
3826
3827 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3828 },
3829
3830 --10
3831 {
3832 ["value"] = 10, -- Value of the Chip
3833 ["name"] = "$10", -- Name of the chip
3834 ["label"] = "$10", -- Label used for converting machine
3835 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3836 ["height"] = 0.15,
3837 ["custom"] =
3838 {
3839 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3840 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654950/57AE35F278A888511B2F549D6B494AD2CFB1223E/", -- diffuse image
3841 ["type"] = 5, -- 5 is a 'chip'
3842 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3843 },
3844 ["params"] =
3845 {
3846 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3847 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3848 },
3849
3850 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3851 },
3852 -- dummy for unknown chips
3853 {
3854 ["value"] = -1, -- Value of the Chip
3855 ["name"] = "unknown", -- Name of the chip
3856 ["standard"] = false, -- Standard tabletop chips true/false
3857 ["label"] = "dummy", -- Label used for converting machine
3858 ["height"] = 0.3,
3859 ["params"] =
3860 {
3861 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3862 ["scale"] = {1,1,1} -- the scale at which to spawn the object
3863 },
3864 ["stack"] = "15" -- stack where the chips are put in
3865 }
3866 },
3867
3868 ['Casino Style V3 - $100'] =
3869 {
3870
3871 --1b
3872 {
3873 ["value"] = 1000000000, -- Value of the Chip
3874 ["name"] = "$1,000,000,000", -- Name of the chip
3875 ["label"] = "$1b", -- Label used for converting machine
3876 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3877 ["height"] = 0.15,
3878 ["custom"] =
3879 {
3880 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3881 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
3882 ["type"] = 5, -- 5 is a 'chip'
3883 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3884 },
3885 ["params"] =
3886 {
3887 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3888 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3889 },
3890 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3891 },
3892
3893
3894 --100m
3895 {
3896 ["value"] = 100000000, -- Value of the Chip
3897 ["name"] = "$100,000,000", -- Name of the chip
3898 ["label"] = "$100m", -- Label used for converting machine
3899 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3900 ["height"] = 0.15,
3901 ["custom"] =
3902 {
3903 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3904 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
3905 ["type"] = 5, -- 5 is a 'chip'
3906 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3907 },
3908 ["params"] =
3909 {
3910 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3911 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3912 },
3913 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3914 },
3915
3916
3917 --10m
3918 {
3919 ["value"] = 10000000, -- Value of the Chip
3920 ["name"] = "$10,000,000", -- Name of the chip
3921 ["label"] = "$10m", -- Label used for converting machine
3922 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3923 ["height"] = 0.15,
3924 ["custom"] =
3925 {
3926 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3927 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
3928 ["type"] = 5, -- 5 is a 'chip'
3929 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3930 },
3931 ["params"] =
3932 {
3933 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3934 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3935 },
3936 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3937 },
3938
3939
3940 --1m
3941 {
3942 ["value"] = 1000000, -- Value of the Chip
3943 ["name"] = "$1,000,000", -- Name of the chip
3944 ["label"] = "$1m", -- Label used for converting machine
3945 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3946 ["height"] = 0.15,
3947 ["custom"] =
3948 {
3949 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3950 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
3951 ["type"] = 5, -- 5 is a 'chip'
3952 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3953 },
3954 ["params"] =
3955 {
3956 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3957 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3958 },
3959 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3960 },
3961
3962
3963 --500k
3964 {
3965 ["value"] = 500000, -- Value of the Chip
3966 ["name"] = "$500,000", -- Name of the chip
3967 ["label"] = "$500k", -- Label used for converting machine
3968 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3969 ["height"] = 0.15,
3970 ["custom"] =
3971 {
3972 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3973 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
3974 ["type"] = 5, -- 5 is a 'chip'
3975 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3976 },
3977 ["params"] =
3978 {
3979 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3980 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3981 },
3982 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3983 },
3984
3985 --250k
3986 {
3987 ["value"] = 250000, -- Value of the Chip
3988 ["name"] = "$250,000", -- Name of the chip
3989 ["label"] = "$250k", -- Label used for converting machine
3990 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3991 ["height"] = 0.15,
3992 ["custom"] =
3993 {
3994 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3995 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3996 ["type"] = 5, -- 5 is a 'chip'
3997 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3998 },
3999 ["params"] =
4000 {
4001 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4002 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4003 },
4004 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4005 },
4006
4007
4008 --100k
4009 {
4010 ["value"] = 100000, -- Value of the Chip
4011 ["name"] = "$100,000", -- Name of the chip
4012 ["label"] = "$100k", -- Label used for converting machine
4013 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4014 ["height"] = 0.15,
4015 ["custom"] =
4016 {
4017 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4018 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
4019 ["type"] = 5, -- 5 is a 'chip'
4020 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4021 },
4022 ["params"] =
4023 {
4024 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4025 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4026 },
4027 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4028 },
4029 --50k
4030 {
4031 ["value"] = 50000, -- Value of the Chip
4032 ["name"] = "$50,000", -- Name of the chip
4033 ["label"] = "$50k", -- Label used for converting machine
4034 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4035 ["height"] = 0.15,
4036 ["custom"] =
4037 {
4038 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4039 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
4040 ["type"] = 5, -- 5 is a 'chip'
4041 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4042 },
4043 ["params"] =
4044 {
4045 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4046 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4047 },
4048 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4049 },
4050 --25k
4051 {
4052 ["value"] = 25000, -- Value of the Chip
4053 ["name"] = "$25,000", -- Name of the chip
4054 ["label"] = "$25k", -- Label used for converting machine
4055 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4056 ["height"] = 0.15,
4057 ["custom"] =
4058 {
4059 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4060 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
4061 ["type"] = 5, -- 5 is a 'chip'
4062 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4063 },
4064 ["params"] =
4065 {
4066 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4067 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4068 },
4069 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4070 },
4071 --10k
4072 {
4073 ["value"] = 10000, -- Value of the Chip
4074 ["name"] = "$10,000", -- Name of the chip
4075 ["label"] = "$10k", -- Label used for converting machine
4076 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4077 ["height"] = 0.15,
4078 ["custom"] =
4079 {
4080 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4081 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
4082 ["type"] = 5, -- 5 is a 'chip'
4083 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4084 },
4085 ["params"] =
4086 {
4087 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4088 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4089 },
4090 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4091 },
4092 --5k
4093 {
4094 ["value"] = 5000, -- Value of the Chip
4095 ["name"] = "$5,000", -- Name of the chip
4096 ["label"] = "$5000", -- Label used for converting machine
4097 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4098 ["height"] = 0.15,
4099 ["custom"] =
4100 {
4101 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4102 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
4103 ["type"] = 5, -- 5 is a 'chip'
4104 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4105 },
4106 ["params"] =
4107 {
4108 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4109 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4110 },
4111 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4112 },
4113
4114 --2500
4115 {
4116 ["value"] = 2500, -- Value of the Chip
4117 ["name"] = "$2,500", -- Name of the chip
4118 ["label"] = "$2500", -- Label used for converting machine
4119 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4120 ["height"] = 0.15,
4121 ["custom"] =
4122 {
4123 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4124 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
4125 ["type"] = 5, -- 5 is a 'chip'
4126 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4127 },
4128 ["params"] =
4129 {
4130 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4131 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4132 },
4133
4134 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4135 },
4136 --1000
4137 {
4138 ["value"] = 1000, -- Value of the Chip
4139 ["name"] = "$1,000", -- Name of the chip
4140 ["label"] = "$1000", -- Label used for converting machine
4141 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4142 ["height"] = 0.15,
4143 ["custom"] =
4144 {
4145 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4146 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
4147 ["type"] = 5, -- 5 is a 'chip'
4148 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4149 },
4150 ["params"] =
4151 {
4152 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4153 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4154 },
4155
4156 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4157 },
4158 --500
4159 {
4160 ["value"] = 500, -- Value of the Chip
4161 ["name"] = "$500", -- Name of the chip
4162 ["label"] = "$500", -- Label used for converting machine
4163 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4164 ["height"] = 0.15,
4165 ["custom"] =
4166 {
4167 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4168 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
4169 ["type"] = 5, -- 5 is a 'chip'
4170 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4171 },
4172 ["params"] =
4173 {
4174 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4175 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4176 },
4177
4178 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4179 },
4180
4181
4182 --100
4183 {
4184 ["value"] = 100, -- Value of the Chip
4185 ["name"] = "$100", -- Name of the chip
4186 ["label"] = "$100", -- Label used for converting machine
4187 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4188 ["height"] = 0.15,
4189 ["custom"] =
4190 {
4191 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4192 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
4193 ["type"] = 5, -- 5 is a 'chip'
4194 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4195 },
4196 ["params"] =
4197 {
4198 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4199 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4200 },
4201
4202 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4203 },
4204 -- dummy for unknown chips
4205 {
4206 ["value"] = -1, -- Value of the Chip
4207 ["name"] = "unknown", -- Name of the chip
4208 ["standard"] = false, -- Standard tabletop chips true/false
4209 ["label"] = "dummy", -- Label used for converting machine
4210 ["height"] = 0.3,
4211 ["params"] =
4212 {
4213 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4214 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4215 },
4216 ["stack"] = "10" -- stack where the chips are put in
4217 }
4218 },
4219
4220 ['Casino Style V3 - $500'] =
4221 {
4222
4223 --1b
4224 {
4225 ["value"] = 1000000000, -- Value of the Chip
4226 ["name"] = "$1,000,000,000", -- Name of the chip
4227 ["label"] = "$1b", -- Label used for converting machine
4228 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4229 ["height"] = 0.15,
4230 ["custom"] =
4231 {
4232 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4233 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
4234 ["type"] = 5, -- 5 is a 'chip'
4235 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4236 },
4237 ["params"] =
4238 {
4239 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4240 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4241 },
4242 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4243 },
4244
4245
4246 --100m
4247 {
4248 ["value"] = 100000000, -- Value of the Chip
4249 ["name"] = "$100,000,000", -- Name of the chip
4250 ["label"] = "$100m", -- Label used for converting machine
4251 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4252 ["height"] = 0.15,
4253 ["custom"] =
4254 {
4255 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4256 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
4257 ["type"] = 5, -- 5 is a 'chip'
4258 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4259 },
4260 ["params"] =
4261 {
4262 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4263 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4264 },
4265 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4266 },
4267
4268
4269 --10m
4270 {
4271 ["value"] = 10000000, -- Value of the Chip
4272 ["name"] = "$10,000,000", -- Name of the chip
4273 ["label"] = "$10m", -- Label used for converting machine
4274 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4275 ["height"] = 0.15,
4276 ["custom"] =
4277 {
4278 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4279 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
4280 ["type"] = 5, -- 5 is a 'chip'
4281 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4282 },
4283 ["params"] =
4284 {
4285 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4286 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4287 },
4288 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4289 },
4290
4291
4292 --1m
4293 {
4294 ["value"] = 1000000, -- Value of the Chip
4295 ["name"] = "$1,000,000", -- Name of the chip
4296 ["label"] = "$1m", -- Label used for converting machine
4297 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4298 ["height"] = 0.15,
4299 ["custom"] =
4300 {
4301 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4302 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
4303 ["type"] = 5, -- 5 is a 'chip'
4304 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4305 },
4306 ["params"] =
4307 {
4308 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4309 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4310 },
4311 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4312 },
4313
4314
4315 --500k
4316 {
4317 ["value"] = 500000, -- Value of the Chip
4318 ["name"] = "$500,000", -- Name of the chip
4319 ["label"] = "$500k", -- Label used for converting machine
4320 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4321 ["height"] = 0.15,
4322 ["custom"] =
4323 {
4324 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4325 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
4326 ["type"] = 5, -- 5 is a 'chip'
4327 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4328 },
4329 ["params"] =
4330 {
4331 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4332 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4333 },
4334 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4335 },
4336
4337 --250k
4338 {
4339 ["value"] = 250000, -- Value of the Chip
4340 ["name"] = "$250,000", -- Name of the chip
4341 ["label"] = "$250k", -- Label used for converting machine
4342 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4343 ["height"] = 0.15,
4344 ["custom"] =
4345 {
4346 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4347 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
4348 ["type"] = 5, -- 5 is a 'chip'
4349 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4350 },
4351 ["params"] =
4352 {
4353 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4354 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4355 },
4356 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4357 },
4358
4359
4360 --100k
4361 {
4362 ["value"] = 100000, -- Value of the Chip
4363 ["name"] = "$100,000", -- Name of the chip
4364 ["label"] = "$100k", -- Label used for converting machine
4365 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4366 ["height"] = 0.15,
4367 ["custom"] =
4368 {
4369 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4370 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
4371 ["type"] = 5, -- 5 is a 'chip'
4372 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4373 },
4374 ["params"] =
4375 {
4376 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4377 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4378 },
4379 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4380 },
4381 --50k
4382 {
4383 ["value"] = 50000, -- Value of the Chip
4384 ["name"] = "$50,000", -- Name of the chip
4385 ["label"] = "$50k", -- Label used for converting machine
4386 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4387 ["height"] = 0.15,
4388 ["custom"] =
4389 {
4390 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4391 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
4392 ["type"] = 5, -- 5 is a 'chip'
4393 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4394 },
4395 ["params"] =
4396 {
4397 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4398 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4399 },
4400 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4401 },
4402 --25k
4403 {
4404 ["value"] = 25000, -- Value of the Chip
4405 ["name"] = "$25,000", -- Name of the chip
4406 ["label"] = "$25k", -- Label used for converting machine
4407 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4408 ["height"] = 0.15,
4409 ["custom"] =
4410 {
4411 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4412 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
4413 ["type"] = 5, -- 5 is a 'chip'
4414 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4415 },
4416 ["params"] =
4417 {
4418 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4419 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4420 },
4421 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4422 },
4423 --10k
4424 {
4425 ["value"] = 10000, -- Value of the Chip
4426 ["name"] = "$10,000", -- Name of the chip
4427 ["label"] = "$10k", -- Label used for converting machine
4428 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4429 ["height"] = 0.15,
4430 ["custom"] =
4431 {
4432 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4433 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
4434 ["type"] = 5, -- 5 is a 'chip'
4435 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4436 },
4437 ["params"] =
4438 {
4439 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4440 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4441 },
4442 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4443 },
4444 --5k
4445 {
4446 ["value"] = 5000, -- Value of the Chip
4447 ["name"] = "$5,000", -- Name of the chip
4448 ["label"] = "$5000", -- Label used for converting machine
4449 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4450 ["height"] = 0.15,
4451 ["custom"] =
4452 {
4453 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4454 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
4455 ["type"] = 5, -- 5 is a 'chip'
4456 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4457 },
4458 ["params"] =
4459 {
4460 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4461 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4462 },
4463 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4464 },
4465
4466 --2500
4467 {
4468 ["value"] = 2500, -- Value of the Chip
4469 ["name"] = "$2,500", -- Name of the chip
4470 ["label"] = "$2500", -- Label used for converting machine
4471 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4472 ["height"] = 0.15,
4473 ["custom"] =
4474 {
4475 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4476 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
4477 ["type"] = 5, -- 5 is a 'chip'
4478 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4479 },
4480 ["params"] =
4481 {
4482 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4483 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4484 },
4485
4486 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4487 },
4488 --1000
4489 {
4490 ["value"] = 1000, -- Value of the Chip
4491 ["name"] = "$1,000", -- Name of the chip
4492 ["label"] = "$1000", -- Label used for converting machine
4493 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4494 ["height"] = 0.15,
4495 ["custom"] =
4496 {
4497 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4498 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
4499 ["type"] = 5, -- 5 is a 'chip'
4500 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4501 },
4502 ["params"] =
4503 {
4504 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4505 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4506 },
4507
4508 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4509 },
4510 --500
4511 {
4512 ["value"] = 500, -- Value of the Chip
4513 ["name"] = "$500", -- Name of the chip
4514 ["label"] = "$500", -- Label used for converting machine
4515 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4516 ["height"] = 0.15,
4517 ["custom"] =
4518 {
4519 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4520 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
4521 ["type"] = 5, -- 5 is a 'chip'
4522 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4523 },
4524 ["params"] =
4525 {
4526 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4527 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4528 },
4529
4530 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4531 },
4532
4533
4534 -- dummy for unknown chips
4535 {
4536 ["value"] = -1, -- Value of the Chip
4537 ["name"] = "unknown", -- Name of the chip
4538 ["standard"] = false, -- Standard tabletop chips true/false
4539 ["label"] = "dummy", -- Label used for converting machine
4540 ["height"] = 0.3,
4541 ["params"] =
4542 {
4543 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4544 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4545 },
4546 ["stack"] = "10" -- stack where the chips are put in
4547 }
4548 },
4549
4550 ['Cash - $1'] =
4551 {
4552
4553 {
4554 ["value"] = 10000, -- Value of the Chip
4555 ["name"] = "$10,000", -- Name of the chip
4556 ["label"] = "$10000", -- Label used for converting machine
4557 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4558 ["height"] = 0.4,
4559 ["custom"] =
4560 {
4561 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4562 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417341397/E932F1E20A11C80E6B33F69AB85383E580A1AEE1/", -- diffuse image
4563 ["type"] = 5, -- 5 is a 'chip'
4564 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4565 },
4566 ["params"] =
4567 {
4568 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4569 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4570 },
4571 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4572 },
4573
4574
4575 {
4576 ["value"] = 5000, -- Value of the Chip
4577 ["name"] = "$5,000", -- Name of the chip
4578 ["label"] = "$5000", -- Label used for converting machine
4579 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4580 ["height"] = 0.4,
4581 ["custom"] =
4582 {
4583 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4584 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417339720/079F4260469E904457AA41516DAE37457047580C/", -- diffuse image
4585 ["type"] = 5, -- 5 is a 'chip'
4586 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4587 },
4588 ["params"] =
4589 {
4590 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4591 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4592 },
4593 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4594 },
4595
4596
4597
4598
4599 {
4600 ["value"] = 2000, -- Value of the Chip
4601 ["name"] = "$2000", -- Name of the chip
4602 ["label"] = "$2000", -- Label used for converting machine
4603 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4604 ["height"] = 0.4,
4605 ["custom"] =
4606 {
4607 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4608 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417338815/61B7CEB12A5B173F904416BA4E03A2D0EB7A59EA/", -- diffuse image
4609 ["type"] = 5, -- 5 is a 'chip'
4610 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4611 },
4612 ["params"] =
4613 {
4614 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4615 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4616 },
4617 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4618 },
4619
4620
4621 {
4622 ["value"] = 1000, -- Value of the Chip
4623 ["name"] = "$1000", -- Name of the chip
4624 ["label"] = "$1000", -- Label used for converting machine
4625 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4626 ["height"] = 0.4,
4627 ["custom"] =
4628 {
4629 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4630 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417337749/ED7860190DD733ECCEA537B4AB7C9E9E2F0F226B/", -- diffuse image
4631 ["type"] = 5, -- 5 is a 'chip'
4632 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4633 },
4634 ["params"] =
4635 {
4636 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4637 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4638 },
4639 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4640 },
4641
4642
4643 {
4644 ["value"] = 500, -- Value of the Chip
4645 ["name"] = "$500", -- Name of the chip
4646 ["label"] = "$500", -- Label used for converting machine
4647 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4648 ["height"] = 0.4,
4649 ["custom"] =
4650 {
4651 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4652 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417336830/68BB8AD5BEF0EC077A743757300A3D6670CC033A/", -- diffuse image
4653 ["type"] = 5, -- 5 is a 'chip'
4654 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4655 },
4656 ["params"] =
4657 {
4658 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4659 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4660 },
4661 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4662 },
4663
4664
4665
4666 --100
4667 {
4668 ["value"] = 100, -- Value of the Chip
4669 ["name"] = "$100", -- Name of the chip
4670 ["label"] = "$100", -- Label used for converting machine
4671 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4672 ["height"] = 0.15,
4673 ["custom"] =
4674 {
4675 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4676 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417333031/DD607DED38237E992FFB93167E92D55384C4B3A8/", -- diffuse image
4677 ["type"] = 5, -- 5 is a 'chip'
4678 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4679 },
4680 ["params"] =
4681 {
4682 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4683 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4684 },
4685
4686 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4687 },
4688
4689
4690 --50
4691 {
4692 ["value"] = 50, -- Value of the Chip
4693 ["name"] = "$50", -- Name of the chip
4694 ["label"] = "$20", -- Label used for converting machine
4695 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4696 ["height"] = 0.15,
4697 ["custom"] =
4698 {
4699 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4700 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417330782/1DDADE5AFCD0DAAD2D20CA000CA5835A773A791E/", -- diffuse image
4701 ["type"] = 5, -- 5 is a 'chip'
4702 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4703 },
4704 ["params"] =
4705 {
4706 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4707 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4708 },
4709
4710 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4711 },
4712
4713
4714
4715 --20
4716 {
4717 ["value"] = 20, -- Value of the Chip
4718 ["name"] = "$20", -- Name of the chip
4719 ["label"] = "$20", -- Label used for converting machine
4720 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4721 ["height"] = 0.15,
4722 ["custom"] =
4723 {
4724 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4725 ["diffuse"] = "http://i.imgur.com/wVf9FY3.jpg", -- diffuse image
4726 ["type"] = 5, -- 5 is a 'chip'
4727 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4728 },
4729 ["params"] =
4730 {
4731 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4732 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4733 },
4734
4735 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4736 },
4737
4738
4739
4740 --10
4741 {
4742 ["value"] = 10, -- Value of the Chip
4743 ["name"] = "$10", -- Name of the chip
4744 ["label"] = "$10", -- Label used for converting machine
4745 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4746 ["height"] = 0.15,
4747 ["custom"] =
4748 {
4749 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4750 ["diffuse"] = "http://i.imgur.com/SCIOcR6.jpg", -- diffuse image
4751 ["type"] = 5, -- 5 is a 'chip'
4752 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4753 },
4754 ["params"] =
4755 {
4756 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4757 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4758 },
4759
4760 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4761 },
4762
4763 --5
4764 {
4765 ["value"] = 5, -- Value of the Chip
4766 ["name"] = "$5", -- Name of the chip
4767 ["label"] = "$5", -- Label used for converting machine
4768 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4769 ["height"] = 0.15,
4770 ["custom"] =
4771 {
4772 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4773 ["diffuse"] = "http://i.imgur.com/roBLL5Y.jpg", -- diffuse image
4774 ["type"] = 5, -- 5 is a 'chip'
4775 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4776 },
4777 ["params"] =
4778 {
4779 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4780 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4781 },
4782
4783 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4784 },
4785
4786
4787 --1
4788 {
4789 ["value"] = 1, -- Value of the Chip
4790 ["name"] = "$1", -- Name of the chip
4791 ["label"] = "$1", -- Label used for converting machine
4792 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4793 ["height"] = 0.15,
4794 ["custom"] =
4795 {
4796 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4797 ["diffuse"] = "http://i.imgur.com/mwUsz1f.jpg", -- diffuse image
4798 ["type"] = 5, -- 5 is a 'chip'
4799 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4800 },
4801 ["params"] =
4802 {
4803 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4804 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4805 },
4806
4807 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4808 },
4809
4810 -- dummy for unknown chips
4811 {
4812 ["value"] = -1, -- Value of the Chip
4813 ["name"] = "unknown", -- Name of the chip
4814 ["standard"] = false, -- Standard tabletop chips true/false
4815 ["label"] = "dummy", -- Label used for converting machine
4816 ["height"] = 0.3,
4817 ["params"] =
4818 {
4819 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4820 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4821 },
4822 ["stack"] = "10" -- stack where the chips are put in
4823 }
4824 },
4825
4826
4827 ['Cash - $10'] =
4828 {
4829
4830 {
4831 ["value"] = 10000, -- Value of the Chip
4832 ["name"] = "$10,000", -- Name of the chip
4833 ["label"] = "$10000", -- Label used for converting machine
4834 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4835 ["height"] = 0.4,
4836 ["custom"] =
4837 {
4838 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4839 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417341397/E932F1E20A11C80E6B33F69AB85383E580A1AEE1/", -- diffuse image
4840 ["type"] = 5, -- 5 is a 'chip'
4841 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4842 },
4843 ["params"] =
4844 {
4845 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4846 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4847 },
4848 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4849 },
4850
4851
4852 {
4853 ["value"] = 5000, -- Value of the Chip
4854 ["name"] = "$5,000", -- Name of the chip
4855 ["label"] = "$5000", -- Label used for converting machine
4856 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4857 ["height"] = 0.4,
4858 ["custom"] =
4859 {
4860 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4861 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417339720/079F4260469E904457AA41516DAE37457047580C/", -- diffuse image
4862 ["type"] = 5, -- 5 is a 'chip'
4863 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4864 },
4865 ["params"] =
4866 {
4867 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4868 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4869 },
4870 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4871 },
4872
4873
4874
4875
4876 {
4877 ["value"] = 2000, -- Value of the Chip
4878 ["name"] = "$2000", -- Name of the chip
4879 ["label"] = "$2000", -- Label used for converting machine
4880 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4881 ["height"] = 0.4,
4882 ["custom"] =
4883 {
4884 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4885 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417338815/61B7CEB12A5B173F904416BA4E03A2D0EB7A59EA/", -- diffuse image
4886 ["type"] = 5, -- 5 is a 'chip'
4887 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4888 },
4889 ["params"] =
4890 {
4891 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4892 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4893 },
4894 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4895 },
4896
4897
4898 {
4899 ["value"] = 1000, -- Value of the Chip
4900 ["name"] = "$1000", -- Name of the chip
4901 ["label"] = "$1000", -- Label used for converting machine
4902 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4903 ["height"] = 0.4,
4904 ["custom"] =
4905 {
4906 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4907 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417337749/ED7860190DD733ECCEA537B4AB7C9E9E2F0F226B/", -- diffuse image
4908 ["type"] = 5, -- 5 is a 'chip'
4909 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4910 },
4911 ["params"] =
4912 {
4913 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4914 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4915 },
4916 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4917 },
4918
4919
4920 {
4921 ["value"] = 500, -- Value of the Chip
4922 ["name"] = "$500", -- Name of the chip
4923 ["label"] = "$500", -- Label used for converting machine
4924 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4925 ["height"] = 0.4,
4926 ["custom"] =
4927 {
4928 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4929 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417336830/68BB8AD5BEF0EC077A743757300A3D6670CC033A/", -- diffuse image
4930 ["type"] = 5, -- 5 is a 'chip'
4931 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4932 },
4933 ["params"] =
4934 {
4935 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4936 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4937 },
4938 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4939 },
4940
4941
4942
4943 --100
4944 {
4945 ["value"] = 100, -- Value of the Chip
4946 ["name"] = "$100", -- Name of the chip
4947 ["label"] = "$100", -- Label used for converting machine
4948 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4949 ["height"] = 0.15,
4950 ["custom"] =
4951 {
4952 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4953 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417333031/DD607DED38237E992FFB93167E92D55384C4B3A8/", -- diffuse image
4954 ["type"] = 5, -- 5 is a 'chip'
4955 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4956 },
4957 ["params"] =
4958 {
4959 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4960 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4961 },
4962
4963 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4964 },
4965
4966
4967 --50
4968 {
4969 ["value"] = 50, -- Value of the Chip
4970 ["name"] = "$50", -- Name of the chip
4971 ["label"] = "$20", -- Label used for converting machine
4972 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4973 ["height"] = 0.15,
4974 ["custom"] =
4975 {
4976 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4977 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417330782/1DDADE5AFCD0DAAD2D20CA000CA5835A773A791E/", -- diffuse image
4978 ["type"] = 5, -- 5 is a 'chip'
4979 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4980 },
4981 ["params"] =
4982 {
4983 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4984 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4985 },
4986
4987 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4988 },
4989
4990
4991
4992 --20
4993 {
4994 ["value"] = 20, -- Value of the Chip
4995 ["name"] = "$20", -- Name of the chip
4996 ["label"] = "$20", -- Label used for converting machine
4997 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4998 ["height"] = 0.15,
4999 ["custom"] =
5000 {
5001 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
5002 ["diffuse"] = "http://i.imgur.com/wVf9FY3.jpg", -- diffuse image
5003 ["type"] = 5, -- 5 is a 'chip'
5004 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5005 },
5006 ["params"] =
5007 {
5008 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5009 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
5010 },
5011
5012 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5013 },
5014
5015
5016
5017 --10
5018 {
5019 ["value"] = 10, -- Value of the Chip
5020 ["name"] = "$10", -- Name of the chip
5021 ["label"] = "$10", -- Label used for converting machine
5022 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5023 ["height"] = 0.15,
5024 ["custom"] =
5025 {
5026 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
5027 ["diffuse"] = "http://i.imgur.com/SCIOcR6.jpg", -- diffuse image
5028 ["type"] = 5, -- 5 is a 'chip'
5029 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5030 },
5031 ["params"] =
5032 {
5033 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5034 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
5035 },
5036
5037 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5038 },
5039
5040
5041 -- dummy for unknown chips
5042 {
5043 ["value"] = -1, -- Value of the Chip
5044 ["name"] = "unknown", -- Name of the chip
5045 ["standard"] = false, -- Standard tabletop chips true/false
5046 ["label"] = "dummy", -- Label used for converting machine
5047 ["height"] = 0.3,
5048 ["params"] =
5049 {
5050 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5051 ["scale"] = {1,1,1} -- the scale at which to spawn the object
5052 },
5053 ["stack"] = "10" -- stack where the chips are put in
5054 }
5055 },
5056
5057 ['MGM Grand Hotel/Casino - $1'] =
5058 {
5059
5060 {
5061 ["value"] = 100000, -- Value of the Chip
5062 ["name"] = "$100,000", -- Name of the chip
5063 ["label"] = "$100k", -- Label used for converting machine
5064 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5065 ["height"] = 0.15,
5066 ["custom"] =
5067 {
5068 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5069 ["diffuse"] = "https://i.imgur.com/9uPmS8S.jpg", -- diffuse image
5070 ["type"] = 5, -- 5 is a 'chip'
5071 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5072 },
5073 ["params"] =
5074 {
5075 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5076 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5077 },
5078 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5079 },
5080
5081 {
5082 ["value"] = 25000, -- Value of the Chip
5083 ["name"] = "$25,000", -- Name of the chip
5084 ["label"] = "$25k", -- Label used for converting machine
5085 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5086 ["height"] = 0.15,
5087 ["custom"] =
5088 {
5089 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5090 ["diffuse"] = "https://i.imgur.com/HvGnhD0.jpg", -- diffuse image
5091 ["type"] = 5, -- 5 is a 'chip'
5092 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5093 },
5094 ["params"] =
5095 {
5096 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5097 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5098 },
5099 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5100 },
5101
5102 {
5103 ["value"] = 5000, -- Value of the Chip
5104 ["name"] = "$5,000", -- Name of the chip
5105 ["label"] = "$5000", -- Label used for converting machine
5106 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5107 ["height"] = 0.15,
5108 ["custom"] =
5109 {
5110 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5111 ["diffuse"] = "https://i.imgur.com/oYRbRp1.jpg", -- diffuse image
5112 ["type"] = 5, -- 5 is a 'chip'
5113 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5114 },
5115 ["params"] =
5116 {
5117 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5118 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5119 },
5120 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5121 },
5122
5123 {
5124 ["value"] = 1000, -- Value of the Chip
5125 ["name"] = "$1,000", -- Name of the chip
5126 ["label"] = "$1000", -- Label used for converting machine
5127 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5128 ["height"] = 0.15,
5129 ["custom"] =
5130 {
5131 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5132 ["diffuse"] = "https://i.imgur.com/3613rtq.jpg", -- diffuse image
5133 ["type"] = 5, -- 5 is a 'chip'
5134 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5135 },
5136 ["params"] =
5137 {
5138 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5139 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5140 },
5141 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5142 },
5143 {
5144 ["value"] = 500, -- Value of the Chip
5145 ["name"] = "$500", -- Name of the chip
5146 ["label"] = "$500", -- Label used for converting machine
5147 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5148 ["height"] = 0.15,
5149 ["custom"] =
5150 {
5151 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5152 ["diffuse"] = "https://i.imgur.com/MWcqHq8.jpg", -- diffuse image
5153 ["type"] = 5, -- 5 is a 'chip'
5154 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5155 },
5156 ["params"] =
5157 {
5158 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5159 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5160 },
5161 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5162 },
5163
5164 {
5165 ["value"] = 100, -- Value of the Chip
5166 ["name"] = "$100", -- Name of the chip
5167 ["label"] = "$100", -- Label used for converting machine
5168 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5169 ["height"] = 0.15,
5170 ["custom"] =
5171 {
5172 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5173 ["diffuse"] = "https://i.imgur.com/5mrQknY.jpg", -- diffuse image
5174 ["type"] = 5, -- 5 is a 'chip'
5175 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5176 },
5177 ["params"] =
5178 {
5179 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5180 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5181 },
5182 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5183 },
5184
5185
5186
5187 {
5188 ["value"] = 25, -- Value of the Chip
5189 ["name"] = "$25", -- Name of the chip
5190 ["label"] = "$25", -- Label used for converting machine
5191 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5192 ["height"] = 0.15,
5193 ["custom"] =
5194 {
5195 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5196 ["diffuse"] = "https://i.imgur.com/hQcCUsP.jpg", -- diffuse image
5197 ["type"] = 5, -- 5 is a 'chip'
5198 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5199 },
5200 ["params"] =
5201 {
5202 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5203 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5204 },
5205 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5206 },
5207
5208
5209
5210 {
5211 ["value"] = 5, -- Value of the Chip
5212 ["name"] = "$5", -- Name of the chip
5213 ["label"] = "$5", -- Label used for converting machine
5214 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5215 ["height"] = 0.15,
5216 ["custom"] =
5217 {
5218 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5219 ["diffuse"] = "https://i.imgur.com/fe5F1ql.jpg", -- diffuse image
5220 ["type"] = 5, -- 5 is a 'chip'
5221 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5222 },
5223 ["params"] =
5224 {
5225 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5226 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5227 },
5228 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5229 },
5230
5231
5232
5233 {
5234 ["value"] = 1, -- Value of the Chip
5235 ["name"] = "$1", -- Name of the chip
5236 ["label"] = "$1", -- Label used for converting machine
5237 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5238 ["height"] = 0.15,
5239 ["custom"] =
5240 {
5241 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5242 ["diffuse"] = "https://i.imgur.com/YdWMB2y.jpgw", -- diffuse image
5243 ["type"] = 5, -- 5 is a 'chip'
5244 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5245 },
5246 ["params"] =
5247 {
5248 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5249 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5250 },
5251 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5252 }
5253
5254
5255
5256
5257 , -- dummy for unknown chips
5258 {
5259 ["value"] = -1, -- Value of the Chip
5260 ["name"] = "unknown", -- Name of the chip
5261 ["standard"] = false, -- Standard tabletop chips true/false
5262 ["label"] = "dummy", -- Label used for converting machine
5263 ["height"] = 0.3,
5264 ["params"] =
5265 {
5266 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5267 ["scale"] = {1,1,1} -- the scale at which to spawn the object
5268 },
5269 ["stack"] = "15" -- stack where the chips are put in
5270 }
5271 },
5272
5273 ['MGM Grand Hotel/Casino - $100'] =
5274 {
5275
5276 {
5277 ["value"] = 100000, -- Value of the Chip
5278 ["name"] = "$100,000", -- Name of the chip
5279 ["label"] = "$100k", -- Label used for converting machine
5280 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5281 ["height"] = 0.15,
5282 ["custom"] =
5283 {
5284 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5285 ["diffuse"] = "https://i.imgur.com/9uPmS8S.jpg", -- diffuse image
5286 ["type"] = 5, -- 5 is a 'chip'
5287 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5288 },
5289 ["params"] =
5290 {
5291 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5292 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5293 },
5294 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5295 },
5296
5297 {
5298 ["value"] = 25000, -- Value of the Chip
5299 ["name"] = "$25,000", -- Name of the chip
5300 ["label"] = "$25k", -- Label used for converting machine
5301 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5302 ["height"] = 0.15,
5303 ["custom"] =
5304 {
5305 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5306 ["diffuse"] = "https://i.imgur.com/HvGnhD0.jpg", -- diffuse image
5307 ["type"] = 5, -- 5 is a 'chip'
5308 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5309 },
5310 ["params"] =
5311 {
5312 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5313 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5314 },
5315 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5316 },
5317
5318 {
5319 ["value"] = 5000, -- Value of the Chip
5320 ["name"] = "$5,000", -- Name of the chip
5321 ["label"] = "$5000", -- Label used for converting machine
5322 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5323 ["height"] = 0.15,
5324 ["custom"] =
5325 {
5326 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5327 ["diffuse"] = "https://i.imgur.com/oYRbRp1.jpg", -- diffuse image
5328 ["type"] = 5, -- 5 is a 'chip'
5329 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5330 },
5331 ["params"] =
5332 {
5333 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5334 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5335 },
5336 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5337 },
5338
5339 {
5340 ["value"] = 1000, -- Value of the Chip
5341 ["name"] = "$1,000", -- Name of the chip
5342 ["label"] = "$1000", -- Label used for converting machine
5343 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5344 ["height"] = 0.15,
5345 ["custom"] =
5346 {
5347 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5348 ["diffuse"] = "https://i.imgur.com/3613rtq.jpg", -- diffuse image
5349 ["type"] = 5, -- 5 is a 'chip'
5350 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5351 },
5352 ["params"] =
5353 {
5354 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5355 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5356 },
5357 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5358 },
5359 {
5360 ["value"] = 500, -- Value of the Chip
5361 ["name"] = "$500", -- Name of the chip
5362 ["label"] = "$500", -- Label used for converting machine
5363 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5364 ["height"] = 0.15,
5365 ["custom"] =
5366 {
5367 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5368 ["diffuse"] = "https://i.imgur.com/MWcqHq8.jpg", -- diffuse image
5369 ["type"] = 5, -- 5 is a 'chip'
5370 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5371 },
5372 ["params"] =
5373 {
5374 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5375 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5376 },
5377 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5378 },
5379
5380 {
5381 ["value"] = 100, -- Value of the Chip
5382 ["name"] = "$100", -- Name of the chip
5383 ["label"] = "$100", -- Label used for converting machine
5384 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5385 ["height"] = 0.15,
5386 ["custom"] =
5387 {
5388 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5389 ["diffuse"] = "https://i.imgur.com/5mrQknY.jpg", -- diffuse image
5390 ["type"] = 5, -- 5 is a 'chip'
5391 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5392 },
5393 ["params"] =
5394 {
5395 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5396 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5397 },
5398 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5399 }
5400
5401
5402
5403 , -- dummy for unknown chips
5404 {
5405 ["value"] = -1, -- Value of the Chip
5406 ["name"] = "unknown", -- Name of the chip
5407 ["standard"] = false, -- Standard tabletop chips true/false
5408 ["label"] = "dummy", -- Label used for converting machine
5409 ["height"] = 0.3,
5410 ["params"] =
5411 {
5412 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5413 ["scale"] = {1,1,1} -- the scale at which to spawn the object
5414 },
5415 ["stack"] = "15" -- stack where the chips are put in
5416 }
5417 },
5418}
5419
5420
5421
5422
5423stacklayout =
5424{
5425 ['default'] =
5426 {
5427 ["1"] =
5428 {
5429 ["xoffset"] = 3.75,
5430 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5431 ["zoffset"] = 0,
5432 ["height"] = 0, -- height of current stack
5433 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5434 ["y"] = 0,
5435 ["z"] = 0
5436 },
5437 ["2"] =
5438 {
5439 ["xoffset"] = 2,
5440 ["yoffset"] = 0.0825,
5441 ["zoffset"] = 0,
5442 ["height"] = 0,
5443 ["x"] = 0,
5444 ["y"] = 0,
5445 ["z"] = 0
5446 },
5447 ["3"] =
5448 {
5449 ["xoffset"] = 0.25,
5450 ["yoffset"] = 0.0825,
5451 ["zoffset"] = 0,
5452 ["height"] = 0,
5453 ["x"] = 0,
5454 ["y"] = 0,
5455 ["z"] = 0
5456 },
5457 ["misc"] =
5458 {
5459 ["xoffset"] = -2.75,
5460 ["yoffset"] = 0.2,
5461 ["zoffset"] = 0,
5462 ["height"] = 0,
5463 ["x"] = 0,
5464 ["y"] = 0,
5465 ["z"] = 0
5466 }
5467 },
5468
5469 ['5'] =
5470 {
5471 ["1"] =
5472 {
5473 ["xoffset"] = 4,
5474 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5475 ["zoffset"] = 0,
5476 ["height"] = 0, -- height of current stack
5477 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5478 ["y"] = 0,
5479 ["z"] = 0
5480 },
5481 ["2"] =
5482 {
5483 ["xoffset"] = 2,
5484 ["yoffset"] = 0.0825,
5485 ["zoffset"] = 0,
5486 ["height"] = 0,
5487 ["x"] = 0,
5488 ["y"] = 0,
5489 ["z"] = 0
5490 },
5491 ["3"] =
5492 {
5493 ["xoffset"] = 0.0,
5494 ["yoffset"] = 0.0825,
5495 ["zoffset"] = 0,
5496 ["height"] = 0,
5497 ["x"] = 0,
5498 ["y"] = 0,
5499 ["z"] = 0
5500 },
5501 ["4"] =
5502 {
5503 ["xoffset"] = -2,
5504 ["yoffset"] = 0.0825,
5505 ["zoffset"] = 0,
5506 ["height"] = 0,
5507 ["x"] = 0,
5508 ["y"] = 0,
5509 ["z"] = 0
5510 },
5511
5512 ["misc"] =
5513 {
5514 ["xoffset"] = -4,
5515 ["yoffset"] = 0.2,
5516 ["zoffset"] = 0,
5517 ["height"] = 0,
5518 ["x"] = 0,
5519 ["y"] = 0,
5520 ["z"] = 0
5521 }
5522 },
5523
5524
5525 ['5-5'] =
5526 {
5527 ["1"] =
5528 {
5529 ["xoffset"] = 3.75,
5530 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5531 ["zoffset"] = -2,
5532 ["height"] = 0, -- height of current stack
5533 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5534 ["y"] = 0,
5535 ["z"] = 0
5536 },
5537 ["2"] =
5538 {
5539 ["xoffset"] = 2,
5540 ["yoffset"] = 0.0825,
5541 ["zoffset"] = -2,
5542 ["height"] = 0,
5543 ["x"] = 0,
5544 ["y"] = 0,
5545 ["z"] = 0
5546 },
5547 ["3"] =
5548 {
5549 ["xoffset"] = 0.25,
5550 ["yoffset"] = 0.0825,
5551 ["zoffset"] = -2,
5552 ["height"] = 0,
5553 ["x"] = 0,
5554 ["y"] = 0,
5555 ["z"] = 0
5556 },
5557 ["4"] =
5558 {
5559 ["xoffset"] = -1.5,
5560 ["yoffset"] = 0.2,
5561 ["zoffset"] = -2,
5562 ["height"] = 0,
5563 ["x"] = 0,
5564 ["y"] = 0,
5565 ["z"] = 0
5566 },
5567 ["5"] =
5568 {
5569 ["xoffset"] = -3.25,
5570 ["yoffset"] = 0.2,
5571 ["zoffset"] = -2,
5572 ["height"] = 0,
5573 ["x"] = 0,
5574 ["y"] = 0,
5575 ["z"] = 0
5576 }
5577 ,
5578 ["6"] =
5579 {
5580 ["xoffset"] = 3.75,
5581 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5582 ["zoffset"] = 0,
5583 ["height"] = 0, -- height of current stack
5584 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5585 ["y"] = 0,
5586 ["z"] = 0
5587 },
5588 ["7"] =
5589 {
5590 ["xoffset"] = 2,
5591 ["yoffset"] = 0.0825,
5592 ["zoffset"] = 0,
5593 ["height"] = 0,
5594 ["x"] = 0,
5595 ["y"] = 0,
5596 ["z"] = 0
5597 },
5598 ["8"] =
5599 {
5600 ["xoffset"] = 0.25,
5601 ["yoffset"] = 0.0825,
5602 ["zoffset"] = 0,
5603 ["height"] = 0,
5604 ["x"] = 0,
5605 ["y"] = 0,
5606 ["z"] = 0
5607 },
5608 ["9"] =
5609 {
5610 ["xoffset"] = -1.5,
5611 ["yoffset"] = 0.2,
5612 ["zoffset"] = 0,
5613 ["height"] = 0,
5614 ["x"] = 0,
5615 ["y"] = 0,
5616 ["z"] = 0
5617 },
5618 ["misc"] =
5619 {
5620 ["xoffset"] = -3.25,
5621 ["yoffset"] = 0.2,
5622 ["zoffset"] = 0,
5623 ["height"] = 0,
5624 ["x"] = 0,
5625 ["y"] = 0,
5626 ["z"] = 0
5627 }
5628 },
5629
5630 ['5-5-5'] =
5631 {
5632 ["1"] =
5633 {
5634 ["xoffset"] = 3.75,
5635 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5636 ["zoffset"] = -2,
5637 ["height"] = 0, -- height of current stack
5638 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5639 ["y"] = 0,
5640 ["z"] = 0
5641 },
5642 ["2"] =
5643 {
5644 ["xoffset"] = 2,
5645 ["yoffset"] = 0.0825,
5646 ["zoffset"] = -2,
5647 ["height"] = 0,
5648 ["x"] = 0,
5649 ["y"] = 0,
5650 ["z"] = 0
5651 },
5652 ["3"] =
5653 {
5654 ["xoffset"] = 0.25,
5655 ["yoffset"] = 0.0825,
5656 ["zoffset"] = -2,
5657 ["height"] = 0,
5658 ["x"] = 0,
5659 ["y"] = 0,
5660 ["z"] = 0
5661 },
5662 ["4"] =
5663 {
5664 ["xoffset"] = -1.5,
5665 ["yoffset"] = 0.2,
5666 ["zoffset"] = -2,
5667 ["height"] = 0,
5668 ["x"] = 0,
5669 ["y"] = 0,
5670 ["z"] = 0
5671 },
5672 ["5"] =
5673 {
5674 ["xoffset"] = -3.25,
5675 ["yoffset"] = 0.2,
5676 ["zoffset"] = -2,
5677 ["height"] = 0,
5678 ["x"] = 0,
5679 ["y"] = 0,
5680 ["z"] = 0
5681 }
5682 ,
5683 ["6"] =
5684 {
5685 ["xoffset"] = 3.75,
5686 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5687 ["zoffset"] = 0,
5688 ["height"] = 0, -- height of current stack
5689 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5690 ["y"] = 0,
5691 ["z"] = 0
5692 },
5693 ["7"] =
5694 {
5695 ["xoffset"] = 2,
5696 ["yoffset"] = 0.0825,
5697 ["zoffset"] = 0,
5698 ["height"] = 0,
5699 ["x"] = 0,
5700 ["y"] = 0,
5701 ["z"] = 0
5702 },
5703 ["8"] =
5704 {
5705 ["xoffset"] = 0.25,
5706 ["yoffset"] = 0.0825,
5707 ["zoffset"] = 0,
5708 ["height"] = 0,
5709 ["x"] = 0,
5710 ["y"] = 0,
5711 ["z"] = 0
5712 },
5713 ["9"] =
5714 {
5715 ["xoffset"] = -1.5,
5716 ["yoffset"] = 0.2,
5717 ["zoffset"] = 0,
5718 ["height"] = 0,
5719 ["x"] = 0,
5720 ["y"] = 0,
5721 ["z"] = 0
5722 },
5723 ["10"] =
5724 {
5725 ["xoffset"] = -3.25,
5726 ["yoffset"] = 0.2,
5727 ["zoffset"] = 0,
5728 ["height"] = 0,
5729 ["x"] = 0,
5730 ["y"] = 0,
5731 ["z"] = 0
5732 },
5733
5734 ["11"] =
5735 {
5736 ["xoffset"] = 3.75,
5737 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5738 ["zoffset"] = 2,
5739 ["height"] = 0, -- height of current stack
5740 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5741 ["y"] = 0,
5742 ["z"] = 0
5743 },
5744 ["12"] =
5745 {
5746 ["xoffset"] = 2,
5747 ["yoffset"] = 0.0825,
5748 ["zoffset"] = 2,
5749 ["height"] = 0,
5750 ["x"] = 0,
5751 ["y"] = 0,
5752 ["z"] = 0
5753 },
5754 ["13"] =
5755 {
5756 ["xoffset"] = 0.25,
5757 ["yoffset"] = 0.0825,
5758 ["zoffset"] = 2,
5759 ["height"] = 0,
5760 ["x"] = 0,
5761 ["y"] = 0,
5762 ["z"] = 0
5763 },
5764 ["14"] =
5765 {
5766 ["xoffset"] = -1.5,
5767 ["yoffset"] = 0.2,
5768 ["zoffset"] = 2,
5769 ["height"] = 0,
5770 ["x"] = 0,
5771 ["y"] = 0,
5772 ["z"] = 0
5773 },
5774 ["misc"] =
5775 {
5776 ["xoffset"] = -3.25,
5777 ["yoffset"] = 0.2,
5778 ["zoffset"] = 2,
5779 ["height"] = 0,
5780 ["x"] = 0,
5781 ["y"] = 0,
5782 ["z"] = 0
5783 },
5784
5785 },
5786
5787
5788 ['5-2-3'] =
5789 {
5790 ["1"] =
5791 {
5792 ["xoffset"] = 3.75,
5793 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5794 ["zoffset"] = -2,
5795 ["height"] = 0, -- height of current stack
5796 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5797 ["y"] = 0,
5798 ["z"] = 0
5799 },
5800 ["2"] =
5801 {
5802 ["xoffset"] = 2,
5803 ["yoffset"] = 0.0825,
5804 ["zoffset"] = -2,
5805 ["height"] = 0,
5806 ["x"] = 0,
5807 ["y"] = 0,
5808 ["z"] = 0
5809 },
5810 ["3"] =
5811 {
5812 ["xoffset"] = 0.25,
5813 ["yoffset"] = 0.0825,
5814 ["zoffset"] = -2,
5815 ["height"] = 0,
5816 ["x"] = 0,
5817 ["y"] = 0,
5818 ["z"] = 0
5819 },
5820 ["4"] =
5821 {
5822 ["xoffset"] = -1.5,
5823 ["yoffset"] = 0.2,
5824 ["zoffset"] = -2,
5825 ["height"] = 0,
5826 ["x"] = 0,
5827 ["y"] = 0,
5828 ["z"] = 0
5829 },
5830 ["5"] =
5831 {
5832 ["xoffset"] = -3.25,
5833 ["yoffset"] = 0.2,
5834 ["zoffset"] = -2,
5835 ["height"] = 0,
5836 ["x"] = 0,
5837 ["y"] = 0,
5838 ["z"] = 0
5839 }
5840 ,
5841 ["6"] =
5842 {
5843 ["xoffset"] = 2,
5844 ["yoffset"] = 0.2,
5845 ["zoffset"] = 0,
5846 ["height"] = 0,
5847 ["x"] = 0,
5848 ["y"] = 0,
5849 ["z"] = 0
5850 }
5851 ,
5852 ["7"] =
5853 {
5854 ["xoffset"] = -2.5,
5855 ["yoffset"] = 0.2,
5856 ["zoffset"] = 0,
5857 ["height"] = 0,
5858 ["x"] = 0,
5859 ["y"] = 0,
5860 ["z"] = 0
5861 }
5862 ,
5863
5864 ["8"] =
5865 {
5866 ["xoffset"] = 3,
5867 ["yoffset"] = 0.2,
5868 ["zoffset"] = 2,
5869 ["height"] = 0,
5870 ["x"] = 0,
5871 ["y"] = 0,
5872 ["z"] = 0
5873 }
5874 ,
5875 ["misc"] =
5876 {
5877 ["xoffset"] = -3 ,
5878 ["yoffset"] = 0.2,
5879 ["zoffset"] = 2,
5880 ["height"] = 0,
5881 ["x"] = 0,
5882 ["y"] = 0,
5883 ["z"] = 0
5884 }
5885 ,
5886
5887 },
5888
5889 -- for Poker Style Chips
5890 ['triangle'] =
5891 {
5892 ["1"] =
5893 {
5894 ["xoffset"] = 3.5,
5895 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5896 ["zoffset"] = -2,
5897 ["height"] = 0, -- height of current stack
5898 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5899 ["y"] = 0,
5900 ["z"] = 0
5901 },
5902
5903 ["2"] =
5904 {
5905 ["xoffset"] = 0,
5906 ["yoffset"] = 0.2,
5907 ["zoffset"] = -2,
5908 ["height"] = 0,
5909 ["x"] = 0,
5910 ["y"] = 0,
5911 ["z"] = 0
5912 }
5913 ,
5914
5915 ["3"] =
5916 {
5917 ["xoffset"] = -3.5,
5918 ["yoffset"] = 0.2,
5919 ["zoffset"] = -2,
5920 ["height"] = 0,
5921 ["x"] = 0,
5922 ["y"] = 0,
5923 ["z"] = 0
5924 }
5925 ,
5926
5927 ["4"] =
5928 {
5929 ["xoffset"] = 1.75,
5930 ["yoffset"] = 0.0825,
5931 ["zoffset"] = 0,
5932 ["height"] = 0,
5933 ["x"] = 0,
5934 ["y"] = 0,
5935 ["z"] = 0
5936 },
5937 ["5"] =
5938 {
5939 ["xoffset"] = -1.75,
5940 ["yoffset"] = 0.2,
5941 ["zoffset"] = 0,
5942 ["height"] = 0,
5943 ["x"] = 0,
5944 ["y"] = 0,
5945 ["z"] = 0
5946 },
5947 ["misc"] =
5948 {
5949 ["xoffset"] = 0,
5950 ["yoffset"] = 0.0825,
5951 ["zoffset"] = 2,
5952 ["height"] = 0,
5953 ["x"] = 0,
5954 ["y"] = 0,
5955 ["z"] = 0
5956 },
5957
5958
5959
5960
5961
5962 },
5963
5964
5965 -- for default chips 100, skipping Stack 4 and 5
5966 ['Triangle'] =
5967 {
5968 ["1"] =
5969 {
5970 ["xoffset"] = 3.5,
5971 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5972 ["zoffset"] = -2,
5973 ["height"] = 0, -- height of current stack
5974 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5975 ["y"] = 0,
5976 ["z"] = 0
5977 },
5978 ["2"] =
5979 {
5980 ["xoffset"] = 1.75,
5981 ["yoffset"] = 0.0825,
5982 ["zoffset"] = 0,
5983 ["height"] = 0,
5984 ["x"] = 0,
5985 ["y"] = 0,
5986 ["z"] = 0
5987 },
5988 ["3"] =
5989 {
5990 ["xoffset"] = 0,
5991 ["yoffset"] = 0.0825,
5992 ["zoffset"] = 2,
5993 ["height"] = 0,
5994 ["x"] = 0,
5995 ["y"] = 0,
5996 ["z"] = 0
5997 },
5998 ["6"] =
5999 {
6000 ["xoffset"] = -1.75,
6001 ["yoffset"] = 0.2,
6002 ["zoffset"] = 0,
6003 ["height"] = 0,
6004 ["x"] = 0,
6005 ["y"] = 0,
6006 ["z"] = 0
6007 },
6008 ["7"] =
6009 {
6010 ["xoffset"] = -3.5,
6011 ["yoffset"] = 0.2,
6012 ["zoffset"] = -2,
6013 ["height"] = 0,
6014 ["x"] = 0,
6015 ["y"] = 0,
6016 ["z"] = 0
6017 }
6018 ,
6019 ["misc"] =
6020 {
6021 ["xoffset"] = 0,
6022 ["yoffset"] = 0.2,
6023 ["zoffset"] = -2,
6024 ["height"] = 0,
6025 ["x"] = 0,
6026 ["y"] = 0,
6027 ["z"] = 0
6028 }
6029 ,
6030
6031
6032 },
6033
6034
6035 -- for Poker Style Chips
6036 ['triangle 2'] =
6037 {
6038
6039 ["1"] =
6040 {
6041 ["xoffset"] = 0,
6042 ["yoffset"] = 0.0825,
6043 ["zoffset"] = -2,
6044 ["height"] = 0,
6045 ["x"] = 0,
6046 ["y"] = 0,
6047 ["z"] = 0
6048 },
6049
6050 ["2"] =
6051 {
6052 ["xoffset"] = -1.75,
6053 ["yoffset"] = 0.2,
6054 ["zoffset"] = 0,
6055 ["height"] = 0,
6056 ["x"] = 0,
6057 ["y"] = 0,
6058 ["z"] = 0
6059 },
6060
6061 ["3"] =
6062 {
6063 ["xoffset"] = 1.75,
6064 ["yoffset"] = 0.0825,
6065 ["zoffset"] = 0,
6066 ["height"] = 0,
6067 ["x"] = 0,
6068 ["y"] = 0,
6069 ["z"] = 0
6070 },
6071
6072 ["4"] =
6073 {
6074 ["xoffset"] = -3.5,
6075 ["yoffset"] = 0.2,
6076 ["zoffset"] = 2,
6077 ["height"] = 0,
6078 ["x"] = 0,
6079 ["y"] = 0,
6080 ["z"] = 0
6081 }
6082 ,
6083
6084 ["5"] =
6085 {
6086 ["xoffset"] = 3.5,
6087 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6088 ["zoffset"] = 2,
6089 ["height"] = 0, -- height of current stack
6090 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6091 ["y"] = 0,
6092 ["z"] = 0
6093 },
6094
6095 ["misc"] =
6096 {
6097 ["xoffset"] = 0,
6098 ["yoffset"] = 0.2,
6099 ["zoffset"] = 2,
6100 ["height"] = 0,
6101 ["x"] = 0,
6102 ["y"] = 0,
6103 ["z"] = 0
6104 }
6105 ,
6106
6107
6108 },
6109
6110
6111 -- for default chips 100, skipping Stack 4 and 5
6112 ['Triangle 2'] =
6113 {
6114
6115 ["1"] =
6116 {
6117 ["xoffset"] = 0,
6118 ["yoffset"] = 0.0825,
6119 ["zoffset"] = -2,
6120 ["height"] = 0,
6121 ["x"] = 0,
6122 ["y"] = 0,
6123 ["z"] = 0
6124 },
6125
6126 ["2"] =
6127 {
6128 ["xoffset"] = -1.75,
6129 ["yoffset"] = 0.2,
6130 ["zoffset"] = 0,
6131 ["height"] = 0,
6132 ["x"] = 0,
6133 ["y"] = 0,
6134 ["z"] = 0
6135 },
6136
6137 ["3"] =
6138 {
6139 ["xoffset"] = 1.75,
6140 ["yoffset"] = 0.0825,
6141 ["zoffset"] = 0,
6142 ["height"] = 0,
6143 ["x"] = 0,
6144 ["y"] = 0,
6145 ["z"] = 0
6146 },
6147
6148 ["6"] =
6149 {
6150 ["xoffset"] = -3.5,
6151 ["yoffset"] = 0.2,
6152 ["zoffset"] = 2,
6153 ["height"] = 0,
6154 ["x"] = 0,
6155 ["y"] = 0,
6156 ["z"] = 0
6157 }
6158 ,
6159
6160 ["7"] =
6161 {
6162 ["xoffset"] = 3.5,
6163 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6164 ["zoffset"] = 2,
6165 ["height"] = 0, -- height of current stack
6166 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6167 ["y"] = 0,
6168 ["z"] = 0
6169 },
6170
6171 ["misc"] =
6172 {
6173 ["xoffset"] = 0,
6174 ["yoffset"] = 0.2,
6175 ["zoffset"] = 2,
6176 ["height"] = 0,
6177 ["x"] = 0,
6178 ["y"] = 0,
6179 ["z"] = 0
6180 }
6181 ,
6182
6183
6184 },
6185
6186
6187 ['Honeycomb'] =
6188 {
6189 ["1"] =
6190 {
6191 ["xoffset"] = 0.9,
6192 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6193 ["zoffset"] = -1.5,
6194 ["height"] = 0, -- height of current stack
6195 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6196 ["y"] = 0,
6197 ["z"] = 0
6198 },
6199 ["2"] =
6200 {
6201 ["xoffset"] = -0.9,
6202 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6203 ["zoffset"] = -1.5,
6204 ["height"] = 0, -- height of current stack
6205 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6206 ["y"] = 0,
6207 ["z"] = 0
6208 },
6209 ["3"] =
6210 {
6211 ["xoffset"] = 1.75,
6212 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6213 ["zoffset"] = 0,
6214 ["height"] = 0, -- height of current stack
6215 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6216 ["y"] = 0,
6217 ["z"] = 0
6218 },
6219 ["4"] =
6220 {
6221 ["xoffset"] = 0,
6222 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6223 ["zoffset"] = 0,
6224 ["height"] = 0, -- height of current stack
6225 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6226 ["y"] = 0,
6227 ["z"] = 0
6228 },
6229 ["5"] =
6230 {
6231 ["xoffset"] = -1.75,
6232 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6233 ["zoffset"] = 0,
6234 ["height"] = 0, -- height of current stack
6235 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6236 ["y"] = 0,
6237 ["z"] = 0
6238 },
6239 ["6"] =
6240 {
6241 ["xoffset"] = 0.9,
6242 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6243 ["zoffset"] = 1.5,
6244 ["height"] = 0, -- height of current stack
6245 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6246 ["y"] = 0,
6247 ["z"] = 0
6248 },
6249 ["misc"] =
6250 {
6251 ["xoffset"] = -0.9,
6252 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6253 ["zoffset"] = 1.5,
6254 ["height"] = 0, -- height of current stack
6255 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6256 ["y"] = 0,
6257 ["z"] = 0
6258 },
6259
6260 },
6261
6262 ['Half Circle'] =
6263 {
6264 ["1"] =
6265 {
6266 ["xoffset"] = 4,
6267 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6268 ["zoffset"] = -2,
6269 ["height"] = 0, -- height of current stack
6270 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6271 ["y"] = 0,
6272 ["z"] = 0
6273 },
6274 ["2"] =
6275 {
6276 ["xoffset"] = 3.58,
6277 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6278 ["zoffset"] = -0.34,
6279 ["height"] = 0, -- height of current stack
6280 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6281 ["y"] = 0,
6282 ["z"] = 0
6283 },
6284 ["3"] =
6285 {
6286 ["xoffset"] = 2.45,
6287 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6288 ["zoffset"] = 1.15,
6289 ["height"] = 0, -- height of current stack
6290 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6291 ["y"] = 0,
6292 ["z"] = 0
6293 },
6294 ["4"] =
6295 {
6296 ["xoffset"] = 0.81,
6297 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6298 ["zoffset"] = 1.89,
6299 ["height"] = 0, -- height of current stack
6300 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6301 ["y"] = 0,
6302 ["z"] = 0
6303 },
6304 ["5"] =
6305 {
6306 ["xoffset"] = -0.81,
6307 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6308 ["zoffset"] = 1.89,
6309 ["height"] = 0, -- height of current stack
6310 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6311 ["y"] = 0,
6312 ["z"] = 0
6313 },
6314 ["6"] =
6315 {
6316 ["xoffset"] = -2.45,
6317 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6318 ["zoffset"] = 1.15,
6319 ["height"] = 0, -- height of current stack
6320 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6321 ["y"] = 0,
6322 ["z"] = 0
6323 },
6324 ["7"] =
6325 {
6326 ["xoffset"] = -3.58,
6327 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6328 ["zoffset"] = -0.34,
6329 ["height"] = 0, -- height of current stack
6330 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6331 ["y"] = 0,
6332 ["z"] = 0
6333 },
6334 ["misc"] =
6335 {
6336 ["xoffset"] = -4,
6337 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6338 ["zoffset"] = -2,
6339 ["height"] = 0, -- height of current stack
6340 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6341 ["y"] = 0,
6342 ["z"] = 0
6343 },
6344 },
6345
6346 -- For Cash Stacks
6347 ['2-2-2'] =
6348 {
6349 ["1"] =
6350 {
6351 ["xoffset"] = 2,
6352 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6353 ["zoffset"] = -2,
6354 ["height"] = 0, -- height of current stack
6355 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6356 ["y"] = 0,
6357 ["z"] = 0
6358 },
6359 ["2"] =
6360 {
6361 ["xoffset"] = -2.5,
6362 ["yoffset"] = 0.0825,
6363 ["zoffset"] = -2,
6364 ["height"] = 0,
6365 ["x"] = 0,
6366 ["y"] = 0,
6367 ["z"] = 0
6368 },
6369 ["3"] =
6370 {
6371 ["xoffset"] = 2,
6372 ["yoffset"] = 0.2,
6373 ["zoffset"] = 0,
6374 ["height"] = 0,
6375 ["x"] = 0,
6376 ["y"] = 0,
6377 ["z"] = 0
6378 }
6379 ,
6380 ["4"] =
6381 {
6382 ["xoffset"] = -2.5,
6383 ["yoffset"] = 0.2,
6384 ["zoffset"] = 0,
6385 ["height"] = 0,
6386 ["x"] = 0,
6387 ["y"] = 0,
6388 ["z"] = 0
6389 }
6390 ,
6391 ["5"] =
6392 {
6393 ["xoffset"] = 2,
6394 ["yoffset"] = 0.2,
6395 ["zoffset"] = 2,
6396 ["height"] = 0,
6397 ["x"] = 0,
6398 ["y"] = 0,
6399 ["z"] = 0
6400 }
6401 ,
6402
6403 ["misc"] =
6404 {
6405 ["xoffset"] = -2.5 ,
6406 ["yoffset"] = 0.2,
6407 ["zoffset"] = 2,
6408 ["height"] = 0,
6409 ["x"] = 0,
6410 ["y"] = 0,
6411 ["z"] = 0
6412 }
6413 ,
6414
6415 },
6416
6417}
6418
6419currenciesSelectionStacklayout =
6420{
6421 ["default"] = { "5-2-3", "default", "Triangle", "Triangle 2", "2-2-2" },
6422 ["default - $10"] = { "5-2-3", "default", "triangle", "triangle 2" },
6423 ["default / WSOP - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6424 ["default / WSOP - $10"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6425 ["World Series Of Poker - $500"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6426 ["World Series Of Poker - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6427 ["World Series Of Poker - $25"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6428 ["Casino Style V2 - $1"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6429 ["Casino Style V2 - $10"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6430 ["Casino Style V2 - $100"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6431 ["Casino Style V3 - $1"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6432 ["Casino Style V3 - $10"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6433 ["Casino Style V3 - $100"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6434 ["Casino Style V3 - $500"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6435 ["Cash - $1"] = { "2-2-2" },
6436 ["Cash - $10"] = { "2-2-2" },
6437 ["MGM Grand Hotel/Casino - $1"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6438 ["MGM Grand Hotel/Casino - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6439
6440}
6441
6442currencies = {}
6443
6444--[[ Overlay images --]]
6445themes =
6446{
6447 { -- themeindex 1
6448 ["label"] = 'Anime',
6449 { -- subthemeindex 1
6450 ["label"] = 'Normieshit1',
6451 { -- 1
6452 ["label"] = 'Cowboy Bebop',
6453 ["diffuse"] = 'http://i.imgur.com/VyfS447.jpg'
6454 },
6455 { -- 2
6456 ["label"] = 'Cowboy Bebop cards',
6457 ["diffuse"] = 'http://i.imgur.com/lOQOdky.jpg'
6458 },
6459 { -- 3
6460 ["label"] = 'Cowboy Bebop bang hand',
6461 ["diffuse"] = 'http://i.imgur.com/S8IiygG.jpg'
6462 }
6463 },
6464 { -- subthemeindex 2
6465 ["label"] = 'Hidamari Sketch',
6466 { -- 1
6467 ["label"] = 'Swimsuits',
6468 ["diffuse"] = 'http://i.imgur.com/pL1qEHD.jpg'
6469 },
6470 { -- 2
6471 ["label"] = 'Yunocchi',
6472 ["diffuse"] = 'http://i.imgur.com/c0y8yiu.jpg'
6473 },
6474 { -- 3
6475 ["label"] = 'Yuno (wide)',
6476 ["diffuse"] = 'http://i.imgur.com/okv9OWS.jpg'
6477 }
6478 },
6479 { -- subthemeindex 3
6480 ["label"] = 'GochiUsa 1',
6481 { -- 1
6482 ["label"] = 'Group 1',
6483 ["diffuse"] = 'http://i.imgur.com/dUPOwBT.jpg'
6484 },
6485 { -- 2
6486 ["label"] = 'Group 2',
6487 ["diffuse"] = 'http://i.imgur.com/dlqVrVH.jpg'
6488 },
6489 { -- 3
6490 ["label"] = 'Group Casino',
6491 ["diffuse"] = 'http://i.imgur.com/yvrQqJs.jpg'
6492 },
6493 { -- 4
6494 ["label"] = 'Group Underwater',
6495 ["diffuse"] = 'http://i.imgur.com/bLcKafe.jpg'
6496 },
6497 { -- 5
6498 ["label"] = 'Group Christmas',
6499 ["diffuse"] = 'http://i.imgur.com/OaU0e9w.jpg'
6500 },
6501 { -- 6
6502 ["label"] = 'ChiMaMe',
6503 ["diffuse"] = 'http://i.imgur.com/HZPKtIC.jpg'
6504 },
6505 { -- 7
6506 ["label"] = 'Chino Rize Syaro Idols',
6507 ["diffuse"] = 'http://i.imgur.com/t3isOTZ.jpg'
6508 },
6509 { -- 8
6510 ["label"] = 'Cocoa Chino Rize',
6511 ["diffuse"] = 'http://i.imgur.com/o5XmWaK.jpg'
6512 },
6513 { -- 9
6514 ["label"] = 'Cocoa Chino',
6515 ["diffuse"] = 'http://i.imgur.com/kTYlDbp.jpg'
6516 },
6517 { -- 10
6518 ["label"] = 'Chino Chiya',
6519 ["diffuse"] = 'http://i.imgur.com/YwaTHgK.jpg'
6520 }
6521 },
6522 { -- subthemeindex 4
6523 ["label"] = 'GochiUsa 2',
6524 { -- 1
6525 ["label"] = 'Chino Cards',
6526 ["diffuse"] = 'http://i.imgur.com/rkarO8n.jpg'
6527 },
6528 { -- 2
6529 ["label"] = 'Chino in Wonderland',
6530 ["diffuse"] = 'http://i.imgur.com/K0P0wVC.jpg'
6531 },
6532 { -- 3
6533 ["label"] = 'Chino Smile',
6534 ["diffuse"] = 'http://i.imgur.com/rQm3RCZ.jpg'
6535 },
6536 { -- 4
6537 ["label"] = 'Chino in Bed',
6538 ["diffuse"] = 'http://i.imgur.com/qLSSbEn.jpg'
6539 }
6540 },
6541 { -- subthemeindex 5
6542 ["label"] = 'Madoka Magica 1',
6543 { -- 1
6544 ["label"] = 'Group',
6545 ["diffuse"] = 'http://i.imgur.com/mxSr46k.jpg'
6546 },
6547 { -- 2
6548 ["label"] = 'Group on grass',
6549 ["diffuse"] = 'http://i.imgur.com/vQN3GGv.jpg'
6550 },
6551 { -- 3
6552 ["label"] = 'Mexican standoff',
6553 ["diffuse"] = 'http://i.imgur.com/WcYTwzo.jpg'
6554 },
6555 { -- 4
6556 ["label"] = 'Group stained glass',
6557 ["diffuse"] = 'http://i.imgur.com/BT0JHRa.jpg'
6558 },
6559 { -- 5
6560 ["label"] = 'Madoka gangsta',
6561 ["diffuse"] = 'http://i.imgur.com/ScepCXj.jpg'
6562 },
6563 { -- 6
6564 ["label"] = 'Madoka in water',
6565 ["diffuse"] = 'http://i.imgur.com/MQtkTUy.jpg'
6566 },
6567 { -- 7
6568 ["label"] = 'Ultimate Madoka',
6569 ["diffuse"] = 'http://i.imgur.com/DfqMJRt.jpg'
6570 },
6571 { -- 8
6572 ["label"] = 'Ultimate Madoka 2',
6573 ["diffuse"] = 'http://i.imgur.com/yoqS5Zy.jpg'
6574 },
6575 { -- 9
6576 ["label"] = 'Sayaka',
6577 ["diffuse"] = 'http://i.imgur.com/KvVb3Gt.jpg'
6578 },
6579 { -- 10
6580 ["label"] = 'Sayaka on bed (pantsu)',
6581 ["diffuse"] = 'http://i.imgur.com/ZJUCoFw.jpg'
6582 }
6583 },
6584 { -- subthemeindex 6
6585 ["label"] = 'Madoka Magica 2',
6586 { -- 1
6587 ["label"] = 'Homura',
6588 ["diffuse"] = 'http://i.imgur.com/9HE2oYu.jpg'
6589 },
6590 { -- 2
6591 ["label"] = 'Mami fishing Charlotte',
6592 ["diffuse"] = 'http://i.imgur.com/F1JKHfc.jpg'
6593 },
6594 { -- 3
6595 ["label"] = 'Mami vs witches',
6596 ["diffuse"] = 'http://i.imgur.com/Oen3IgK.jpg'
6597 },
6598 { -- 4
6599 ["label"] = 'Kyouko',
6600 ["diffuse"] = 'http://i.imgur.com/B082C3C.jpg'
6601 },
6602 { -- 5
6603 ["label"] = 'Kyouko2 (pantsu)',
6604 ["diffuse"] = 'http://i.imgur.com/cFZKGMA.jpg'
6605 },
6606 { -- 6
6607 ["label"] = 'KyouSaya',
6608 ["diffuse"] = 'http://i.imgur.com/9LB82tZ.jpg'
6609 },
6610 { -- 7
6611 ["label"] = 'QB gonna get raped',
6612 ["diffuse"] = 'http://i.imgur.com/mtsP5cp.jpg'
6613 }
6614 },
6615 { -- subthemeindex 7
6616 ["label"] = 'Yuru Yuri 1',
6617 { -- 1
6618 ["label"] = 'Akari Collage',
6619 ["diffuse"] = 'http://i.imgur.com/DS4pCpQ.jpg'
6620 },
6621 { -- 2
6622 ["label"] = 'Akaris 1',
6623 ["diffuse"] = 'http://i.imgur.com/xA8YRLg.jpg'
6624 },
6625 { -- 3
6626 ["label"] = 'Akaris 2',
6627 ["diffuse"] = 'http://i.imgur.com/YqNCXSG.jpg'
6628 },
6629 { -- 4
6630 ["label"] = '??????',
6631 ["diffuse"] = 'http://i.imgur.com/o003PFP.jpg'
6632 },
6633 { -- 5
6634 ["label"] = 'Kyouko Collage',
6635 ["diffuse"] = 'http://i.imgur.com/lauT9ym.jpg'
6636 },
6637 { -- 6
6638 ["label"] = 'Kyoukos 1',
6639 ["diffuse"] = 'http://i.imgur.com/CtMp0K4.jpg'
6640 },
6641 { -- 7
6642 ["label"] = 'Kyoukos 2',
6643 ["diffuse"] = 'http://i.imgur.com/81KhU3Z.jpg'
6644 },
6645 { -- 8
6646 ["label"] = 'Yui Collage',
6647 ["diffuse"] = 'http://i.imgur.com/cwLhHDr.jpg'
6648 },
6649 { -- 9
6650 ["label"] = 'Yuis',
6651 ["diffuse"] = 'http://i.imgur.com/F1P0fP5.jpg'
6652 }
6653 },
6654 { -- subthemeindex 8
6655 ["label"] = 'Yuru Yuri 2',
6656 { -- 1
6657 ["label"] = 'Chinatsu Collage',
6658 ["diffuse"] = 'http://i.imgur.com/h4yJ539.jpg'
6659 },
6660 { -- 2
6661 ["label"] = 'Chinatsus',
6662 ["diffuse"] = 'http://i.imgur.com/PCyMWCQ.jpg'
6663 },
6664 { -- 3
6665 ["label"] = 'Rise',
6666 ["diffuse"] = 'http://i.imgur.com/riSmzZl.jpg'
6667 },
6668 { -- 4
6669 ["label"] = 'Pajama Party 1',
6670 ["diffuse"] = 'http://i.imgur.com/MQp58p5.jpg'
6671 },
6672 { -- 5
6673 ["label"] = 'Pajama Party 2',
6674 ["diffuse"] = 'http://i.imgur.com/chHWsfG.jpg'
6675 },
6676 { -- 6
6677 ["label"] = 'Gorakubu 1',
6678 ["diffuse"] = 'http://i.imgur.com/3Hhw09L.jpg'
6679 },
6680 { -- 7
6681 ["label"] = 'Gorakubu 2',
6682 ["diffuse"] = 'http://i.imgur.com/cgQz7pf.jpg'
6683 },
6684 { -- 8
6685 ["label"] = 'Gorakubu 3',
6686 ["diffuse"] = 'http://i.imgur.com/ZG2iorU.jpg'
6687 },
6688 { -- 9
6689 ["label"] = 'Gorakubu Idols',
6690 ["diffuse"] = 'http://i.imgur.com/EX8t7ke.jpg'
6691 },
6692 { -- 10
6693 ["label"] = 'Gorakubu Swimming',
6694 ["diffuse"] = 'http://i.imgur.com/XzItDAk.jpg'
6695 }
6696 },
6697 { -- subthemeindex 9
6698 ["label"] = 'Yuru Yuri 3',
6699 { -- 1
6700 ["label"] = 'Gorakubu Picnic',
6701 ["diffuse"] = 'http://i.imgur.com/4Z5PpXX.jpg'
6702 },
6703 { -- 2
6704 ["label"] = 'Gorakubu Halloween',
6705 ["diffuse"] = 'http://i.imgur.com/xs6D7cm.jpg'
6706 },
6707 { -- 3
6708 ["label"] = 'Seitokai',
6709 ["diffuse"] = 'http://i.imgur.com/9FhXJdz.jpg'
6710 },
6711 { -- 4
6712 ["label"] = 'First Years',
6713 ["diffuse"] = 'http://i.imgur.com/aLyyGqd.jpg'
6714 },
6715 { -- 5
6716 ["label"] = 'Second Years',
6717 ["diffuse"] = 'http://i.imgur.com/8YYChdB.jpg'
6718 },
6719 { -- 6
6720 ["label"] = 'SakuHima 1',
6721 ["diffuse"] = 'http://i.imgur.com/IvpYMVF.jpg'
6722 },
6723 { -- 7
6724 ["label"] = 'SakuHima Bunnies',
6725 ["diffuse"] = 'http://i.imgur.com/Uxige1K.jpg'
6726 },
6727 { -- 8
6728 ["label"] = 'SakuHima Christmas',
6729 ["diffuse"] = 'http://i.imgur.com/kJugXPJ.jpg'
6730 },
6731 { -- 9
6732 ["label"] = 'Chinatsu x Kyouko',
6733 ["diffuse"] = 'http://i.imgur.com/0QfKfUq.jpg'
6734 },
6735 { -- 10
6736 ["label"] = 'Kyouko x Ayano',
6737 ["diffuse"] = 'http://i.imgur.com/OXkcHV6.jpg'
6738 }
6739 },
6740 { --subthemeindex 10
6741 ["label"] = 'Misc/Crossover',
6742 { -- 1
6743 ["label"] = 'They see your short stack',
6744 ["diffuse"] = 'http://i.imgur.com/64Eorc2.jpg'
6745 },
6746 { -- 2
6747 ["label"] = 'Loli space parade',
6748 ["diffuse"] = 'http://i.imgur.com/tOzcNeE.jpg'
6749 },
6750 { -- 3
6751 ["label"] = 'GochiUsa x KinMoza',
6752 ["diffuse"] = 'http://i.imgur.com/LsqaE1C.jpg'
6753 }
6754 }
6755 },
6756 { -- themeindex 2
6757 ["label"] = 'Games',
6758 { -- subthemeindex 1
6759 ["label"] = 'Portal',
6760 { -- 1
6761 ["label"] = 'Aperture Labs',
6762 ["diffuse"] = 'http://i.imgur.com/EBM4HqE.jpg'
6763 },
6764 { -- 2
6765 ["label"] = 'Falling into portal',
6766 ["diffuse"] = 'http://i.imgur.com/V07Jfam.jpg'
6767 }
6768 }
6769 },
6770 { -- themeindex 3
6771 ["label"] = 'Other',
6772 { -- subthemeindex 1
6773 ["label"] = 'Music',
6774 {
6775 ["label"] = 'Sheet Music',
6776 ["diffuse"] = 'http://i.imgur.com/WsiBbTY.jpg'
6777 },
6778 {
6779 ["label"] = 'Violin',
6780 ["diffuse"] = 'http://i.imgur.com/NTkgsv5.jpg'
6781 }
6782 },
6783 { -- subthemeindex 2
6784 ["label"] = 'Nature',
6785 {
6786 ["label"] = 'Milky Way Sky',
6787 ["diffuse"] = 'http://i.imgur.com/j8ZofIk.jpg'
6788 },
6789 {
6790 ["label"] = 'Andromeda Galaxy',
6791 ["diffuse"] = 'http://i.imgur.com/DiOrDTl.jpg'
6792 },
6793 {
6794 ["label"] = 'Ocean Water',
6795 ["diffuse"] = 'http://i.imgur.com/mqQhZDb.jpg'
6796 },
6797 {
6798 ["label"] = 'Coral Reef',
6799 ["diffuse"] = 'http://i.imgur.com/6uWY2PN.jpg'
6800 }
6801 },
6802 { -- subthemeindex 3
6803 ["label"] = 'Poker',
6804 {
6805 ["label"] = 'Plain Felt',
6806 ["diffuse"] = 'http://i.imgur.com/jPnTE9e.png'
6807 },
6808 {
6809 ["label"] = 'Suits Pattern',
6810 ["diffuse"] = 'http://i.imgur.com/tzJiYRn.png'
6811 },
6812 {
6813 ["label"] = 'Poker felt 1',
6814 ["diffuse"] = 'http://cloud-3.steamusercontent.com/ugc/500281030604192663/28B081DD69371E14D7271612C1995BEAC99A22FA/'
6815 },
6816 {
6817 ["label"] = 'MGM Grant',
6818 ["diffuse"] = 'http://i.imgur.com/phQrMs9.jpg'
6819 }
6820
6821 }
6822 }
6823}
6824
6825--[[ onLoad function --]]
6826
6827function onload(save_state)
6828 local saveddata = JSON.decode(save_state)
6829
6830 --[[ Get object references --]]
6831 boardzone = getObjectFromGUID(boardzoneGUID)
6832 newdeckbutton = getObjectFromGUID(newdeckbuttonGUID)
6833 newsavebagbutton = getObjectFromGUID(newsavebagbuttonGUID)
6834 dealbutton = getObjectFromGUID(dealbuttonGUID)
6835 resetbutton = getObjectFromGUID(resetbuttonGUID)
6836 sidepotbutton = getObjectFromGUID(sidepotbuttonGUID)
6837 muckzone = getObjectFromGUID(muckzoneGUID)
6838 collectbutton = getObjectFromGUID(collectbuttonGUID)
6839
6840 for i, v in ipairs (colors) do
6841 local playerhand = getPlayerHandPositionAndRotation(v)
6842
6843 betzones[v] = getObjectFromGUID(betzoneGUIDs[i])
6844 tablezones[v] = getObjectFromGUID(tablezoneGUIDs[i])
6845 backtablezones[v] = getObjectFromGUID(backtablezoneGUIDs[i])
6846 bettext[v] = getObjectFromGUID(bettextGUIDs[i])
6847 end
6848 potzones[1] = getObjectFromGUID(mainpotzoneGUID)
6849 for i, v in ipairs (sidepotzoneGUIDs) do
6850 potzones[#potzones+1] = getObjectFromGUID(v)
6851 end
6852 actionbutton = getObjectFromGUID(actionbuttonGUID)
6853 optionsbutton = getObjectFromGUID(optionsbuttonGUID)
6854 sidepotbutton = getObjectFromGUID(sidepotbuttonGUID)
6855 if saveddata == nil then
6856 --[[ Initialize texts --]]
6857 hideActionText()
6858 pottext.setPosition ({0, 1.33, 0})
6859 pottext.setRotation ({90, 180, 0})
6860 currentbettext.setPosition ({0, 1.33, 1})
6861 currentbettext.setRotation({90, 180, 0})
6862 mainpotchips = initializePot()
6863 else
6864 if saveddata.options ~= nil then options = saveddata.options end
6865
6866 if saveddata.holedealt ~= nil then holedealt = saveddata.holedealt end
6867 if saveddata.dealing ~= nil then dealing = saveddata.dealing end
6868 if saveddata.players ~= nil then players = saveddata.players end
6869 if saveddata.actionon ~= nil then actionon = saveddata.actionon end
6870 if saveddata.playerbets ~= nil then playerbets = saveddata.playerbets end
6871 if saveddata.currentbet ~= nil then currentbet = saveddata.currentbet end
6872 if saveddata.mainpotchips ~= nil then mainpotchips = saveddata.mainpotchips end
6873 if saveddata.pot ~= nil then pot = saveddata.pot end
6874 if saveddata.collecting ~= nil then collecting = saveddata.collecting end
6875 if saveddata.collectmethod ~= nil then collectmethod = saveddata.collectmethod end
6876 if saveddata.convertstackheight ~= nil then convertstackheight = saveddata.convertstackheight end
6877 if saveddata.hybridthreshold ~= nil then hybridthreshold = saveddata.hybridthreshold end
6878 if saveddata.handinprogress ~= nil then handinprogress = saveddata.handinprogress end
6879
6880 if saveddata.savebagGUID ~= nil then savebagGUID = saveddata.savebagGUID end
6881 if saveddata.deckGUID ~= nil then deckGUID = saveddata.deckGUID end
6882 if saveddata.muckGUID ~= nil then muckGUID = saveddata.muckGUID end
6883 if saveddata.potobjectGUID ~= nil then potobjectGUID = saveddata.potobjectGUID end
6884 if saveddata.boardobjectGUID ~= nil then boardobjectGUID = saveddata.boardobjectGUID end
6885 if saveddata.overlayGUID ~= nil then overlayGUID = saveddata.overlayGUID end
6886 if saveddata.pottextGUID ~= nil then pottextGUID = saveddata.pottextGUID end
6887 if saveddata.currentbettextGUID ~= nil then currentbettextGUID = saveddata.currentbettextGUID end
6888 if saveddata.actiontextGUID ~= nil then actiontextGUID = saveddata.actiontextGUID end
6889 if saveddata.revealedcards ~= nil then revealedcards = saveddata.revealedcards end
6890 if saveddata.holecards ~= nil then holecards = saveddata.holecards end
6891 if saveddata.handsshown ~= nil then handsshown = saveddata.handsshown end
6892
6893 if saveddata.bettext ~= nil then
6894 bettext = JSON.decode(saveddata.bettext)
6895 if saveddata.bettext ~= nil then
6896 for i, v in ipairs(colors) do
6897 bettext[v] = getObjectFromGUID(bettext[v])
6898 end
6899 end
6900 end
6901 if saveddata.sidepottext ~= nil then
6902 sidepottext = JSON.decode(saveddata.sidepottext)
6903 for i, v in ipairs(colors) do
6904 sidepottext[v] = getObjectFromGUID(sidepottext[v])
6905 end
6906 end
6907 if saveddata.tablezonetext ~= nil then
6908 tablezonetext = JSON.decode(saveddata.tablezonetext)
6909 for i, v in ipairs(colors) do
6910 tablezonetext[v] = getObjectFromGUID(tablezonetext[v])
6911 end
6912 end
6913
6914 end
6915
6916 deck = getObjectFromGUID(deckGUID)
6917 muck = getObjectFromGUID(muckGUID)
6918 boardobject = getObjectFromGUID(boardobjectGUID)
6919 potobject = getObjectFromGUID(potobjectGUID)
6920 pottext = getObjectFromGUID(pottextGUID)
6921 currentbettext = getObjectFromGUID(currentbettextGUID)
6922 actiontext = getObjectFromGUID(actiontextGUID)
6923 savebag = getObjectFromGUID(savebagGUID)
6924 if options.displayplayerbet == nil then
6925 options.displayplayerbet = true
6926 end
6927 if options.displayplayermoney == nil then
6928 options.displayplayermoney = true
6929 end
6930 if options.playerbuttons == nil then
6931 options["playerbuttons"] =
6932 {
6933 ["sortchips"] = true,
6934 ["convert"] = true,
6935 ["allin"] = true,
6936 ["afk"] = true,
6937 ["loadsavebag"] = false,
6938 ["PlCall"] = true
6939 }
6940 end
6941 if options.playerbuttons == nil then
6942 options.playerbuttons = {}
6943 end
6944 if options.playerbuttons.sortchips == nil then
6945 options.playerbuttons.sortchips = true
6946 end
6947 if options.playerbuttons.convert == nil then
6948 options.playerbuttons.convert = true
6949 end
6950 if options.playerbuttons.allin == nil then
6951 options.playerbuttons.allin = true
6952 end
6953 if options.playerbuttons.afk == nil then
6954 options.playerbuttons.afk = true
6955 end
6956 if options.playerbuttons.loadsavebag == nil then
6957 options.playerbuttons.loadsavebag = false
6958 end
6959
6960 if options.playerbuttons.loadsavebag == nil then
6961 options.playerbuttons.PlCall = true
6962 end
6963
6964 if options.autoclocktime == nil then
6965 options.autoclocktime = 5
6966 options.autoclock = false
6967 options.autofold = false
6968 options.clockpausebutton = true
6969 end
6970 if options.convertstackheight == nil then
6971 options.convertstackheight = 0
6972 end
6973 if options.currencies == nil or options.stacklayout == nil then
6974 options.currencies = "default"
6975 options.stacklayout = "default"
6976 currencies = currenciesSelection[options.currencies]
6977 else
6978 currencies = currenciesSelection[options.currencies]
6979
6980 if currencies == nil then
6981 options.currencies = "default"
6982 options.stacklayout = "default"
6983 currencies = currenciesSelection[options.currencies]
6984 end
6985 end
6986
6987
6988
6989 --[[ Create buttons --]]
6990 local button = {}
6991
6992 --[[ use this button to assign a new deck --]]
6993 button.label = 'New\nDeck'
6994 button.click_function = "newDeck"
6995 button.function_owner = nil
6996 button.position = {0, 0.08, 0}
6997 button.rotation = {0,180,0}
6998 button.width = 525
6999 button.height = 525
7000 button.font_size = 150
7001 newdeckbutton.createButton(button)
7002
7003 --[[ This button deals cards for each stage of the hand --]]
7004 button.label = 'Deal'
7005 button.click_function = "deal"
7006 button.font_size = 150
7007 dealbutton.createButton(button)
7008
7009
7010 --[[ Resets deck and variables --]]
7011 button.label = 'Reset'
7012 button.click_function = "resetGame"
7013 button.rotation = {0, 0, 0}
7014 resetbutton.createButton(button)
7015
7016 --[[ Move bets to pot --]]
7017 button.label = 'Collect\nBets'
7018 button.click_function = "collectBets"
7019 button.font_size = 150
7020 collectbutton.createButton(button)
7021
7022 --[[ Move action text --]]
7023 button.label = 'Done'
7024 button.font_size = 150
7025 button.click_function = "action"
7026 actionbutton.createButton(button)
7027
7028 --[[ Open options menu --]]
7029 button.label = 'Options'
7030 button.font_size = 150
7031 button.click_function = "spawnOptionsPanel"
7032 optionsbutton.createButton(button)
7033
7034 --[[ Create Side Pots --]]
7035 button.label= 'Create\nSidepot'
7036 button.font_size = 150
7037 button.click_function = "createSidepot"
7038 sidepotbutton.createButton(button)
7039
7040
7041 --[[ assign new savebag --]]
7042 button.label= 'New\nSavebag'
7043 button.font_size = 150
7044 button.click_function = "newSavebag"
7045 newsavebagbutton.createButton(button)
7046
7047 createPlayerButtons()
7048
7049
7050 for i, v in ipairs(getAllObjects()) do
7051 if v.getName() == 'Pot Splitter' then
7052 button.rotation = {0,0,0}
7053 button.width = 45
7054 button.height = 45
7055 button.font_size = 42
7056 potsplitter[#potsplitter + 1] = v
7057 p = v.getPosition()
7058 button.position = {-0.40, 0.3, -0.95}
7059 i = 2
7060 while i < 11 do
7061 button.click_function = "splitPot" .. i
7062 button.label = tostring(i)
7063 button.position[1] = button.position[1] + 0.08
7064 v.createButton(button)
7065 i = i + 1
7066 end
7067 end
7068
7069 if v.getName() == 'Back Table' and options.changemachine then
7070 local offsetx = 2/#currencies
7071 local button = {}
7072 v.clearButtons()
7073 local offsetx = 2/#currencies
7074 local button = {}
7075
7076 if #currencies <= 10 then
7077 offsetx = 1.65/(#currencies-2)
7078 else
7079 offsetx = 1.65/8
7080 end
7081 local offsety = 2/#currencies
7082 button.font_size = 150
7083 button.width = 450
7084 button.height = 250
7085 button.scale = {1/5, 1/5, 1/7.5}
7086 button.position = {0.83, -0.1, -0.9}
7087 button.rotation = {180, 0, 0}
7088
7089 for j, w in ipairs(currencies) do
7090 if w.value ~= -1 then
7091 button.label = w.label
7092 button.click_function = 'changeMachineButton' .. j
7093 v.createButton(button)
7094 button.position[1] = button.position[1] - offsetx
7095 end
7096 if j == 9 then
7097 if #currencies - 11 > 0 then
7098 offsetx = 1.65/(#currencies-11)
7099 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
7100 else
7101 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
7102 end
7103 end
7104 end
7105 end
7106 end
7107 --[[ Make non-interactable parts to non-interactable --]]
7108 local custom = {}
7109
7110
7111
7112 for i, v in ipairs (getAllObjects()) do
7113 if v.getName() == 'Bet Square' or v.getName() == 'Front Table' or v.getName() == 'Back Table' or v.getName() == 'Dealer Table' or v.getName() == 'Change Box' then
7114 v.interactable = false
7115 elseif v.getName() == 'Table Overlay' then
7116 overlay = v
7117 v.interactable = false
7118 end
7119 end
7120
7121 muck.setColorTint(pottext.TextTool.getFontColor())
7122 boardobject.setColorTint(pottext.TextTool.getFontColor())
7123
7124 --[[ Copy scripts from objects. These are used when objects are respawned with 'Reset Objects' button on the options menu --]]
7125 scripts[1] = muck.getLuaScript()
7126 scripts[2] = boardobject.getLuaScript()
7127 scripts[3] = potobject.getLuaScript()
7128 scripts[4] = actiontext.getLuaScript()
7129
7130
7131end
7132
7133function onSave()
7134 --print ('saved')
7135 local savebettext = {}
7136 local savesidepottext = {}
7137 local savetablezonetext = {}
7138 for i,v in pairs (colors) do
7139 savebettext[v] = bettext[v].getGUID()
7140 savesidepottext[v] = sidepottext[v].getGUID()
7141 savetablezonetext[v] = tablezonetext[v].getGUID()
7142 end
7143
7144 if savebag ~= nil then
7145 savebagGUID = savebag.getGUID()
7146 end
7147
7148 local tosave = {
7149 options = options,
7150
7151 holedealt = holedealt,
7152 dealing = false,
7153 players = players,
7154 actionon = actionon,
7155 playerbets = playerbets,
7156 currentbet = currentbet,
7157 mainpotchips = mainpotchips,
7158 pot = pot,
7159 collecting = false,
7160 handinprogress = handinprogress,
7161
7162 deckGUID = deck.getGUID(),
7163 muckGUID = muck.getGUID(),
7164 potobjectGUID = potobject.getGUID(),
7165 boardobjectGUID = boardobject.getGUID(),
7166 overlayGUID = overlay.getGUID(),
7167 pottextGUID = pottext.getGUID(),
7168 currentbettextGUID = currentbettext.getGUID(),
7169 actiontextGUID = actiontext.getGUID(),
7170 holecards = holecards,
7171 revealedcards = revealedcards,
7172 handsshown = handsshown,
7173 savebagGUID = savebagGUID,
7174 bettext = JSON.encode(savebettext),
7175 sidepottext = JSON.encode(savesidepottext),
7176 tablezonetext = JSON.encode(savetablezonetext)
7177
7178 }
7179 return JSON.encode(tosave)
7180
7181end
7182
7183function createPlayerButtons()
7184 --[[ Create sort Chips onPlayers --]]
7185
7186 button = {}
7187
7188 button.rotation = {0,180,180}
7189 button.width = 250
7190 button.height = 15
7191 button.font_size = 50
7192 button.color = {255,255,255}
7193 button.font_color = {0,0,255}
7194
7195 for i, v in ipairs(getAllObjects()) do
7196
7197 posy = 0.75
7198 if v.getName() == 'Front Table' then
7199 v.clearButtons()
7200
7201 if options.playerbuttons.sortchips then
7202 posy= posy-0.3
7203 button.font_size = 50
7204 button.height=25
7205 p = v.getPosition()
7206 button.label= 'SortChips'
7207 button.color= {255,255,255}
7208 button.font_color = {0,0,255}
7209 button.position = {0.75, -0.1, posy}
7210 button.click_function = 'sortPlayerChips'
7211 v.createButton(button)
7212 end
7213
7214 if options.playerbuttons.convert then
7215 posy= posy-0.3
7216 p = v.getPosition()
7217 button.label= 'Convert'
7218 button.position = {0.75, -0.1, posy}
7219 button.font_size = 50
7220 button.height=25
7221 button.click_function='quickConvertPlayerChips10_5'
7222 v.createButton(button)
7223 end
7224
7225
7226 if options.playerbuttons.allin then
7227 posy= posy-0.3
7228 p = v.getPosition()
7229 button.height = 15
7230 button.font_size = 50
7231 button.label= 'All In'
7232 button.position = {0.75, -0.1, posy}
7233 button.click_function = 'goAllIn'
7234 v.createButton(button)
7235 end
7236
7237
7238
7239 if options.playerbuttons.afk then
7240 posy= posy-0.3
7241 button.height = 15
7242 button.font_size = 50
7243 button.label= 'AFK'
7244 button.position = {0.75, -0.1, posy}
7245 button.click_function = 'goAFK'
7246
7247 v.createButton(button)
7248 end
7249
7250 if options.playerbuttons.loadsavebag then
7251 posy= posy-0.3
7252 button.height = 15
7253 button.font_size = 50
7254 button.label= 'load save'
7255 button.position = {0.75, -0.1, posy}
7256 button.click_function = 'loadSaveBag'
7257 v.createButton(button)
7258 end
7259
7260 if options.playerbuttons.PlCall then
7261 p = v.getPosition()
7262 button.height = 15
7263 button.font_size = 50
7264 button.label= 'Call'
7265 button.position = {0.75, -0.1, -0.5}
7266 button.click_function = 'PlCall'
7267 button.color = {255,0,0}
7268 button.font_color = {255,255,255}
7269 v.createButton(button)
7270 end
7271
7272 end
7273 end
7274end
7275--[[ deal function: determines whether to deal players' hands, flop, turn, or river --]]
7276
7277function deal(ob, pl)
7278 if not Player[pl].admin then
7279 return 1
7280 end
7281
7282 sidepotcalculated = false;
7283
7284 if deck == nil or deck == null then
7285 for i, v in ipairs (getSeatedPlayers()) do
7286 if Player[v].admin then
7287 broadcastToColor('No deck assigned. Please assign a deck with the \'New Deck\' button.', v, {1, 0.3, 0.3})
7288 end
7289 end
7290 return 1
7291 end
7292
7293 if boardobject == nil or boardobject == null then
7294 print ('The board object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7295 --return 1
7296 checkAndRespawnObjects()
7297 end
7298
7299 if muck == nil or muck == null then
7300 print ('The muck object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7301 --return 1
7302 checkAndRespawnObjects()
7303 end
7304
7305 if pottext == nil or pottext == null then
7306 print ('The pot text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7307 --return 1
7308 checkAndRespawnObjects()
7309 end
7310
7311 if currentbettext == nil or currentbettext == null then
7312 print ('The current bet text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7313 --return 1
7314 checkAndRespawnObjects()
7315 end
7316
7317 if actiontext == nil or actiontext == null then
7318 print ('The action text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7319 --return 1
7320 checkAndRespawnObjects()
7321 end
7322
7323 for i, v in ipairs(colors) do
7324 if bettext[v] == nil or bettext[v] == null then
7325 print ('bettext of color ' .. v .. ' has been deleted')
7326 checkAndRespawnObjects()
7327 end
7328 if sidepottext[v] == nil or sidepottext[v] == null then
7329 print ('sidepottext of color ' .. v .. ' has been deleted')
7330 checkAndRespawnObjects()
7331 end
7332 if tablezonetext[v] == nil or tablezonetext[v] == null then
7333 print ('tablezonetext of color ' .. v .. ' has been deleted')
7334 checkAndRespawnObjects()
7335 end
7336
7337
7338
7339
7340 end
7341
7342 if not dealing then
7343 if not holedealt then
7344 hole(pl)
7345 else
7346 local cards = boardzone.getObjects()
7347 local x = 0
7348 for i, v in ipairs (cards) do
7349 if v.tag == "Card" then
7350 x = x+1
7351 end
7352 end
7353
7354 if x == 0 then
7355 flop ()
7356 elseif x == 3 then
7357 turn ()
7358 elseif x == 4 then
7359 river ()
7360 elseif x == 5 then
7361 broadcastToAll('Showtime!', {1, 1, 1})
7362 else
7363 broadcastToColor("[ff0000]Error:[ffffff] Invalid board", pl, {1, 1, 1})
7364 end
7365 end
7366 end
7367
7368end
7369
7370--[[ This function returns an ordered list of seated players who do not have an afk button or busted token.
7371 The first entry will be the player to the dealers left, and the dealer will be the last entry.
7372 If the dealer button is not found, returns nil. --]]
7373
7374function getOrderedListOfPlayers(pl)
7375
7376 local dealer = nil
7377 local afk = {} -- list of afk players
7378 local busted = {} -- list of busted players determined by busted tokens in their bet zones (when a player busts out, I usually make them sit out for a few hands before giving them more money)
7379 local objects = {} -- list of objects found in the dealerzones
7380 local dealerafk = false
7381 local bustedbombs = {}
7382
7383 -- First, look for the dealer button. Also, make list of afk players.
7384 for i, v in ipairs (colors) do
7385 objects = betzones[v].getObjects()
7386 for j, w in ipairs (objects) do
7387 if w.getName() == "Dealer" then
7388 dealer = v
7389 elseif w.getName() == "suffering" or w.getName() == "Busted" then
7390 if not objectExistsInList (busted, v) then
7391 busted[#busted+1] = v
7392 bustedbombs[#bustedbombs+1] = w
7393 end
7394 elseif w.getName() == 'AFK' then
7395 afk[#afk+1] = v
7396 end
7397 end
7398 end
7399
7400 -- return nil if dealer button not found
7401 if not dealer then
7402 broadcastToColor ('[ff0000]Error: [ffffff]Dealer button not found.', pl, {1, 1, 1})
7403 return nil
7404 end
7405
7406 for i, v in ipairs(bustedbombs) do
7407 v.destruct()
7408 end
7409
7410 local seatedplayers = getSeatedPlayers() -- list of seated players, in some random order
7411
7412 -- make sure dealer button is in front of a seated player
7413 for i, v in ipairs (seatedplayers) do
7414 if v == dealer then
7415 --print ('Dealer: '..dealer)
7416 break
7417 end
7418
7419 if i == #seatedplayers then
7420 broadcastToColor('[ff0000]Error:[ffffff] Dealer button not in front of a seated player.', pl, {1, 1, 1})
7421 return nil
7422 end
7423 end
7424
7425
7426 local playersx = {}
7427
7428 --sort the seatedplayers into playersx list
7429 for i, v in ipairs (colors) do
7430 for j, w in ipairs (seatedplayers) do
7431 if v == w then
7432 playersx[#playersx + 1] = w
7433 break
7434 end
7435 end
7436 end
7437
7438
7439 --rotate the list so the dealer is the last entry
7440 while playersx[#playersx] != dealer do
7441 playersx[#playersx+1] = playersx[1] -- copy first entry to end of table
7442 table.remove(playersx, 1) -- then remove first entry
7443 end
7444
7445 -- remove busted players from the table
7446 for i, v in ipairs (busted) do
7447 for j, w in ipairs (playersx) do
7448 if w == v then
7449 table.remove(playersx, j)
7450 end
7451 end
7452 end
7453
7454 -- lastly, remove afk players from the table
7455
7456 local actionoffset = 0
7457
7458 for i, v in ipairs(afk) do
7459 for j, w in ipairs (playersx) do
7460 if w == v then
7461 if actionoffset == 0 and j <= 2 then
7462 actionoffset = actionoffset + 1
7463 elseif actionoffset == 1 and j == 1 then
7464 actionoffset = actionoffset + 1
7465 end
7466 --print ('Removing afk player: '..playersx[j])
7467 table.remove(playersx, j)
7468 if w == dealer then
7469 dealerafk = true
7470 end
7471 break
7472 end
7473 end
7474 end
7475
7476 for i, v in ipairs (playersx) do
7477 playerbets[i] = 0
7478 end
7479
7480 if options.blindsskipafk then
7481 actionoffset = 0
7482 end
7483
7484 if actionoffset < 2 then
7485 actionon = playersx[2-actionoffset]
7486 else
7487 actionon = playersx[#playersx]
7488 end
7489
7490 -- set action on the dealer in a heads-up match
7491 if #playersx == 2 and not dealerafk then
7492 actionon = playersx[1]
7493 end
7494
7495 --return the final table
7496 return playersx
7497
7498end
7499
7500
7501--[[ deal hole --]]
7502
7503function hole (pl)
7504
7505 players = getOrderedListOfPlayers(pl)
7506
7507 if not players then
7508 return 1 -- abort if dealer button is not in front of a seat
7509 else
7510 dealing = true
7511 handinprogress = true
7512 hideActionText()
7513 calculatePots()
7514 startLuaCoroutine(nil, 'holeCoroutine')
7515 end
7516
7517end
7518
7519function holeCoroutine()
7520
7521 local deckpos = deck.getPosition()
7522 local cards = 0
7523
7524 if options.gamemode == 'fivestud' or onecard then
7525 cards = 1
7526 elseif options.gamemode == 'texas' or options.gamemode == 'sevenstud' then
7527 cards = 2
7528 elseif options.gamemode == 'pineapple' then
7529 cards = 3
7530 elseif options.gamemode == 'omaha' then
7531 cards = 4
7532 elseif options.gamemode == 'fivedraw' then
7533 cards = 5
7534 end
7535
7536 deck.setPosition({-0.05, 1.4,-1.97}) -- set the deck to the center of the table so dealt cards don't get intercepted by unintended hands
7537 for i = 1, cards do
7538 for i, v in ipairs (players) do
7539 local t = os.clock()
7540 deck.dealToColor(1, players[i])
7541 while os.clock() < (t + options.dealdelay1) do
7542 coroutine.yield(0)
7543 end
7544 end
7545 end
7546
7547 deck.setPosition(deckpos)
7548
7549 if onecard then
7550 onecard = false
7551 dealing = false
7552 if not handinprogress then
7553 players = {}
7554 end
7555 return 1
7556 end
7557
7558--[[ This loop exists to delay the call of the function action()
7559 I was having problems with a player (the dealer) being folded due to the cards not reaching the hand
7560 before the function was called. --]]
7561 t = os.clock()
7562 while os.clock() < (t + 1) do
7563 coroutine.yield(0)
7564 end
7565
7566 holedealt = true
7567 dealing = false
7568
7569 action()
7570
7571 for i, v in ipairs (players) do
7572 local cards = Player[v].getHandObjects()
7573 for j, w in ipairs (cards) do
7574 if w.tag == 'Card' then
7575 w.setColorTint({1, 1, cardtint})
7576 cardtint = cardtint - 0.01
7577 end
7578 end
7579 end
7580 getPlayersHoleCards()
7581
7582 return 1
7583
7584end
7585
7586
7587--[[ deal flop --]]
7588
7589function flop ()
7590
7591 dealing = true
7592 actionon = nil
7593 resetBets()
7594 hideActionText()
7595
7596 if options.chatoptions.stage then
7597 broadcastToAll('Flop', {0, 1, 1})
7598 end
7599
7600 startLuaCoroutine(nil, 'flopCoroutine')
7601
7602end
7603
7604function flopCoroutine ()
7605
7606 local muckpos = muck.getPosition()
7607 local muckrot = muck.getRotation()
7608
7609 muckpos.y = muckpos.y + 0.5
7610 muckrot.x = muckrot.x + 180
7611
7612 local params = {}
7613
7614 params.position = muckpos
7615 params.rotation = muckrot
7616 deck.takeObject(params)
7617
7618 for i = 1, 3 do
7619 local t = os.clock()
7620 while os.clock () < t + options.dealdelay2 do
7621 coroutine.yield(0)
7622 end
7623 params.position = getCardPosition(i)
7624 params.rotation = boardobject.getRotation()
7625 local card = deck.takeObject(params)
7626 card.setColorTint({1, 1, cardtint})
7627 cardtint = cardtint - 0.01
7628 end
7629
7630 t = os.clock()
7631 while os.clock() < (t + 1) do
7632 coroutine.yield(0)
7633 end
7634
7635 dealing = false
7636
7637 action()
7638
7639 return (1)
7640
7641end
7642
7643--[[ deal turn --]]
7644
7645function turn ()
7646
7647 dealing = true
7648 actionon = nil
7649 resetBets()
7650 calculatePots()
7651 hideActionText()
7652
7653 if options.chatoptions.stage then
7654 broadcastToAll('Turn', {0, 1, 1})
7655 end
7656
7657 startLuaCoroutine(nil, 'turnCoroutine')
7658
7659end
7660
7661function turnCoroutine ()
7662
7663 local muckpos = muck.getPosition()
7664 local muckrot = muck.getRotation()
7665
7666 muckpos.y = muckpos.y + 0.5
7667 muckrot.x = muckrot.x + 180
7668
7669 local params = {}
7670
7671 params.position = muckpos
7672 params.rotation = muckrot
7673 deck.takeObject(params)
7674
7675 local t = os.clock()
7676 while os.clock() < (t + options.dealdelay2) do
7677 coroutine.yield(0)
7678 end
7679
7680 params.position = getCardPosition(4)
7681 params.rotation = boardobject.getRotation()
7682 local card = deck.takeObject(params)
7683 card.setColorTint({1, 1, cardtint})
7684 cardtint = cardtint - 0.01
7685
7686 t = os.clock()
7687 while os.clock() < (t + 1) do
7688 coroutine.yield(0)
7689 end
7690
7691 dealing = false
7692
7693 action()
7694
7695 return (1)
7696
7697end
7698
7699--[[ deal river --]]
7700
7701function river ()
7702
7703 dealing = true
7704 actionon = nil
7705 resetBets()
7706 calculatePots()
7707 hideActionText()
7708
7709 if options.chatoptions.stage then
7710 broadcastToAll('River', {0, 1, 1})
7711 end
7712
7713 startLuaCoroutine(nil, 'riverCoroutine')
7714
7715end
7716
7717function riverCoroutine ()
7718
7719 local muckpos = muck.getPosition()
7720 local muckrot = muck.getRotation()
7721
7722 muckpos.y = muckpos.y + 0.5
7723 muckrot.x = muckrot.x + 180
7724
7725 local params = {}
7726
7727 params.position = muckpos
7728 params.rotation = muckrot
7729 deck.takeObject(params)
7730
7731 local t = os.clock()
7732 while os.clock() < (t + options.dealdelay2) do
7733 coroutine.yield(0)
7734 end
7735
7736 params.position = getCardPosition(5)
7737 params.rotation = boardobject.getRotation()
7738 local card = deck.takeObject(params)
7739 card.setColorTint({1, 1, cardtint})
7740 cardtint = cardtint - 0.01
7741
7742 t = os.clock()
7743 while os.clock() < (t + 1) do
7744 coroutine.yield(0)
7745 end
7746
7747 dealing = false
7748
7749 action()
7750
7751 return (1)
7752
7753end
7754
7755--[[ returns the card position based on the position and rotation of the boardobject model--]]
7756
7757function getCardPosition(n)
7758 local p = boardobject.getPosition()
7759 local r = boardobject.getRotation()
7760 local s = boardobject.getScale()
7761 n = 3 - n
7762
7763 p.x = p.x - ((math.cos(math.rad(r.y))*2.75) * n) * s.x
7764 p.z = p.z + ((math.sin(math.rad(r.y))*2.75) * n) * s.z
7765 p.y = p.y + 0.5
7766
7767 return p
7768end
7769--[[ looks for a deck of 52 cards in the specified scripting zone (I used the white player's bet zone) and makes it the new deck object --]]
7770function newDeck (ob, pl)
7771
7772 if not Player[pl].admin then
7773 return 1
7774 end
7775
7776 obj = betzones.White.getObjects()
7777 for i, v in ipairs (obj) do
7778 if v.tag == "Deck" then
7779 if v.getQuantity() <= 52 then
7780 deck = {}
7781 deck = getObjectFromGUID(v.getGUID())
7782 print ("New deck assigned.")
7783 return 1
7784 end
7785 end
7786 end
7787
7788 broadcastToColor ("Valid deck not found. Please place a 52-card poker deck inside the white player's bet square try again.", pl, {1, 0.3, 0.3}) -- it only gets to this line if a deck isn't found in the above loop
7789
7790
7791end
7792
7793
7794function newSavebag (ob, pl)
7795
7796 if not Player[pl].admin then
7797 return 1
7798 end
7799
7800 obj = betzones.White.getObjects()
7801 for i, v in ipairs (obj) do
7802 if v.tag == "Bag" then
7803 savebag = {}
7804 savebag = getObjectFromGUID(v.getGUID())
7805 print ("New savebag assigned.")
7806 return 1
7807 end
7808 end
7809
7810 broadcastToColor ("No savebag found. Please put a bag inside the white player's bet square try again.", pl, {1, 0.3, 0.3}) -- it only gets to this line if a deck isn't found in the above loop
7811
7812
7813end
7814
7815--[[ reset the deck and variables --]]
7816
7817function resetGame (ob, pl)
7818
7819 if not Player[pl].admin then
7820 return 1
7821 end
7822
7823 sidepotcalculated = false
7824
7825 if deck == nil or deck == null then
7826 broadcastToColor('No deck is currently assigned. Please assign a new deck and try again.', pl, {1, 0.3, 0.3})
7827 return 0
7828 end
7829 if pottext == nil or pottext == null then
7830 checkAndRespawnObjects()
7831 end
7832
7833 if currentbettext == nil or currentbettext == null then
7834 checkAndRespawnObjects()
7835 end
7836
7837 if actiontext == nil or actiontext == null then
7838 checkAndRespawnObjects()
7839 end
7840
7841 mainpotchips = initializePot()
7842 afk = {}
7843 dealing = true
7844 for i, v in ipairs (colors) do
7845 for j, w in ipairs (Player[v].getHandObjects()) do
7846 w.setRotation({180, 0, 0})
7847 w.setColorTint({1, 1, 1})
7848 end
7849 bettext[v].setValue(" ")
7850 sidepottext[v].setValue(" ")
7851 if options.displayplayermoney then
7852 local chips = {}
7853 money = getChipValues(tablezones[v],chips)
7854 tablezonetext[v].setValue("$" .. money)
7855 end
7856 end
7857
7858
7859 cardtint = 1
7860 holedealt = false
7861 handinprogress = false
7862 players = {}
7863 actionon = nil
7864 currentbet = 0
7865 pot = 0
7866 pottext.setValue('Pot: $'.. tostring(pot))
7867 currentbettext.setValue('Current bet: $'..tostring(currentbet))
7868 handsshown = {}
7869 playerbets = {}
7870 hideActionText()
7871 holecards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}}
7872 revealedcards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}}
7873 if clock ~= nil and clock ~= null then
7874 clock.destruct()
7875 end
7876
7877 -- destroy Sidepotmarke
7878 for i, v in ipairs(getAllObjects()) do
7879 if v.getName() == "Sidepotmarker" then
7880 v.destruct()
7881 end
7882 end
7883 startLuaCoroutine(nil, 'resetGameCoroutine')
7884
7885end
7886
7887function resetMuck(zone)
7888
7889 if not deck then
7890 return 1
7891 end
7892
7893 local obj = zone.getObjects()
7894 local deck_pos = deck.getPosition()
7895 local deck_rot = deck.getRotation()
7896
7897 deck_pos.y = deck_pos.y + 0.5
7898
7899 for i, v in ipairs (obj) do
7900 if v.tag == "Card" or v.tag == "Deck" then
7901 if v ~= deck then
7902 v.setColorTint({1, 1, 1})
7903 v.setPositionSmooth(deck_pos)
7904 v.setRotation(deck_rot)
7905 deck_pos.y = deck_pos.y + 0.1
7906 end
7907 end
7908 end
7909
7910 for i, v in ipairs(colors) do
7911 for j, w in ipairs (Player[v].getHandObjects()) do
7912 if w.tag == 'Card' then
7913 deck.putObject(w)
7914 end
7915 end
7916 end
7917 zone.destruct()
7918end
7919
7920function resetGameCoroutine()
7921
7922 local params = {}
7923 params.position = {0, 1, 0}
7924 params.rotation = {0, 0, 0}
7925 params.scale = {70, 1, 27}
7926 params.type = "ScriptingTrigger"
7927 params.callback = "resetMuck"
7928 params.params = {zone}
7929
7930 local zone = spawnObject(params)
7931
7932 local t = os.clock()
7933
7934
7935 --[[ Print an error and unassign deck if it doesn't have 52 cards after 3 seconds --]]
7936 while deck.getQuantity() < 52 do
7937 if os.clock() > (t + 3) then
7938 for i, v in ipairs (getSeatedPlayers()) do
7939 if Player[v].admin then
7940 broadcastToColor('Error: Deck missing cards. Unassigned current deck. Please assign new deck', v, {1, 0.3, 0.3})
7941 end
7942 end
7943 deck = nil
7944 dealing = false
7945 return 1
7946 end
7947 coroutine.yield(0)
7948 end
7949
7950 --[[ Print an error and unassign deck if it has more than 52 cards --]]
7951 if deck.getQuantity() > 52 then
7952 for i, v in ipairs (getSeatedPlayers()) do
7953 if Player[v].admin then
7954 broadcastToColor('Error: Too many cards in deck. Unassigned current deck. Please assign new deck.', v, {1, 0.3, 0.3})
7955 end
7956 end
7957
7958 deck = nil
7959 dealing = false
7960 return 1
7961 end
7962
7963 deck.shuffle()
7964
7965 t = os.clock()
7966 while os.clock() < (t + 1) do
7967 coroutine.yield(0)
7968 end
7969
7970 dealing = false
7971
7972 return (1)
7973
7974end
7975
7976--[[ move all chips in bet zones into the main pot --]]
7977
7978function collectBets(ob, pl)
7979
7980 --[[ Only host and promoted players can click this button --]]
7981 if not Player[pl].admin then
7982 return 1
7983 end
7984
7985 sidepotcalculated = false
7986 --[[ Make sure the potobject exists before running function --]]
7987 if potobject == nil or potobject == null then
7988 --print ('The pot object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7989 checkAndRespawnObjects()
7990 --return 1
7991 end
7992
7993 printstring = printstring..'collect'
7994
7995 if clock ~= nil and clock ~= null then
7996 clock.destruct()
7997 end
7998
7999 -- prevents button spamming
8000 if (os.time() - lastCollectTime) < 2 then
8001 printToColor("You cant collect bets multiple times within 2 seconds", pl, {1,1,0} )
8002 return 1
8003 else
8004 lastCollectTime = os.time()
8005 end
8006
8007 if options.collectmethod == 'move' then
8008 startLuaCoroutine(nil, 'moveBetsToPot')
8009 elseif options.collectmethod == 'convert' then
8010 startLuaCoroutine(nil, 'convertBetsToPot')
8011 elseif options.collectmethod == 'hybrid' then
8012 if pot <= options.hybridthreshold then
8013 startLuaCoroutine(nil, 'moveBetsToPot')
8014 else
8015 startLuaCoroutine(nil, 'convertBetsToPot')
8016 end
8017 end
8018end
8019
8020function moveBetsToPot()
8021
8022 local objects = {} -- table of all objects
8023 local stacks = {}
8024 local chips = {}
8025 local h = {}
8026 bets = getChipValues(potzones[1], chips)
8027 for i, v in pairs (betzones) do
8028 bets = bets + getChipValues(v, chips)
8029 end
8030
8031 for i, v in ipairs (chips) do
8032 v.setColorTint({1,1,1})
8033 end
8034
8035 moveChips(chips, potobject.getPosition(), potobject.getRotation())
8036 for i = 1, 5 do
8037 coroutine.yield(0)
8038 end
8039 calculatePots()
8040 return 1
8041end
8042
8043
8044function convertBetsToPot()
8045
8046 if convertfailcount > convertfailcountlimit then
8047 convertfailcount = 0
8048 startLuaCoroutine (nil, 'moveBetsToPot')
8049 return 1
8050 end
8051
8052 --[[ Get chip values in bet zones --]]
8053
8054 local objects = {}
8055 local chips1 = {}
8056 local positions1 = {}
8057 local rotations1 = {}
8058
8059 objects = {}
8060 objects = potzones[1].getObjects()
8061 for j, w in ipairs (objects) do
8062 if w.tag == 'Chip' then
8063 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
8064 chips1[#chips1 + 1] = w
8065 end
8066 end
8067 end
8068
8069
8070 for i, v in pairs (betzones) do
8071 objects = {}
8072 objects = v.getObjects()
8073 for j, w in ipairs (objects) do
8074 if w.tag == 'Chip' then
8075 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
8076 chips1[#chips1 + 1] = w
8077 end
8078 end
8079 end
8080 end
8081
8082 for i, v in ipairs (chips1) do
8083 positions1[#positions1 + 1] = v.getPosition()
8084 rotations1[#rotations1 + 1] = v.getRotation()
8085 end
8086
8087 for i = 1, 2 do
8088 coroutine.yield(0)
8089 end
8090
8091 objects = {}
8092 local chips2 = {}
8093 local positions2 = {}
8094 local rotations2 = {}
8095
8096 objects = {}
8097 objects = potzones[1].getObjects()
8098 for j, w in ipairs (objects) do
8099 if w.tag == 'Chip' then
8100 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
8101 chips2[#chips2 + 1] = w
8102 end
8103 end
8104 end
8105
8106
8107 for i, v in pairs (betzones) do
8108 objects = {}
8109 objects = v.getObjects()
8110 for j, w in ipairs (objects) do
8111 if w.tag == 'Chip' then
8112 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
8113 chips2[#chips2 + 1] = w
8114 end
8115 end
8116 end
8117 end
8118
8119 if #chips2 ~= #chips1 then
8120 convertfailcount = convertfailcount + 1
8121 startLuaCoroutine(nil, 'convertBetsToPot')
8122 return 1
8123 end
8124
8125 for i, v in ipairs (chips2) do
8126 positions2[#positions2 + 1] = v.getPosition()
8127 rotations2[#rotations2 + 1] = v.getRotation()
8128 end
8129
8130 --[[ Check chip positions --]]
8131 for i, v in ipairs(positions1) do
8132 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
8133 convertfailcount = convertfailcount + 1
8134 startLuaCoroutine(nil, 'convertBetsToPot')
8135 return 1
8136 end
8137 end
8138
8139 --[[ Check chip rotations --]]
8140 for i, v in pairs(rotations1) do
8141 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
8142 convertfailcount = convertfailcount + 1
8143 startLuaCoroutine(nil, 'convertBetsToPot')
8144 return 1
8145 end
8146 end
8147
8148 local chips = {}
8149 local bets = 0
8150
8151 for i, v in pairs (betzones) do
8152 bets = bets + getChipValues(v, chips)
8153 end
8154
8155 bets = bets + getChipValues(potzones[1], chips)
8156
8157 --[[ Spawn new chips in pot --]]
8158
8159
8160 --[[ Destroy old chips --]]
8161 for i, v in ipairs (chips) do
8162 v.destruct()
8163 end
8164
8165 --[[ Wait five frames to allow chips to spawn destruct themself --]]
8166 for i = 1, 10 do
8167 coroutine.yield(0)
8168 end
8169
8170
8171 spawnChips(bets, potobject.getPosition(), potobject.getRotation(), options.convertstackheight)
8172
8173
8174 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
8175 for i = 1, 5 do
8176 coroutine.yield(0)
8177 end
8178
8179 calculatePots()
8180
8181 convertfailcount = 0
8182
8183 return 1
8184end
8185
8186function objectExistsInList(list, object)
8187 if list != nil then
8188 for i, v in ipairs(list) do
8189 if v == object then
8190 return true
8191 end
8192 end
8193 return false
8194 end
8195 return false
8196end
8197
8198function action (ob, pl)
8199
8200 if pl then
8201 if not Player[pl].admin and pl ~= actionon then
8202 return 1
8203 end
8204 end
8205
8206 if sidepotcalculated then
8207 return 1
8208 end
8209
8210 if actiontext == nil or actiontext == null then
8211 checkAndRespawnObjects()
8212 --print ('The action text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
8213 --return 0
8214 end
8215
8216 calculatePots()
8217
8218 -- abort function if action toggled off
8219 if not options.actiontoggle then
8220 return 1
8221 end
8222
8223 --[[ Check action player's bet to make sure it's greater than or equal to current bet --]]
8224 if actionon and actionon == pl then
8225 if getChipValues(betzones[actionon], {}) < currentbet and getChipValues(tablezones[actionon], {}) > 0 and Player[actionon].getHandObjects()[1] then
8226 broadcastToColor('You must match or raise the current bet of $'..currentbet, actionon, {1, 1, 1})
8227 if not Player[pl].admin then
8228 return 1
8229 end
8230 end
8231 end
8232
8233 --[[ Destroy the clock if it exists --]]
8234
8235 if clock ~= nil and clock ~= null then
8236 clock.destruct()
8237 clock = null
8238 end
8239
8240 --[[ abort function and hide text if no players --]]
8241
8242 if #players == 0 then
8243 hideActionText()
8244 return 1
8245 end
8246
8247 local cb = currentbet
8248
8249 --[[ Remove player from list if they don't have cards --]]
8250
8251 if actionon then
8252 if not Player[actionon].getHandObjects()[1] then
8253 for i, v in ipairs (players) do
8254 if v == actionon then
8255 table.remove(players, i)
8256 if i > 1 then
8257 actionon = players[i-1]
8258 else
8259 actionon = players[#players]
8260 end
8261 break
8262 end
8263 end
8264 end
8265
8266 --[[ or if they have no money (all in) --]]
8267 if actionon then
8268 if getChipValues(tablezones[actionon], {}) == 0 then
8269 printstring = printstring..'allin'..actionon
8270 if getChipValues(betzones[actionon], {}) > cb then
8271 cb = getChipValues(betzones[actionon], {})
8272 end
8273 for i, v in ipairs (players) do
8274 if v == actionon then
8275 table.remove(players, i)
8276 if i > 1 then
8277 actionon = players[i-1]
8278 else
8279 actionon = players[#players]
8280 end
8281 break
8282 end
8283 end
8284 end
8285 if not actionon then
8286 hideActionText()
8287 return 1
8288 end
8289 end
8290 if #players == 0 then
8291 return 1
8292 end
8293 end
8294
8295 -- set actionon to next player
8296 if not actionon then
8297 actionon = players[1]
8298 else
8299 for i, v in ipairs (players) do
8300 if actionon == v then
8301 if players[i+1] then
8302 actionon = players[i+1]
8303 else
8304 actionon = players[1]
8305 end
8306 break
8307 end
8308 end
8309 end
8310
8311 -- check new player's hand for cards. remove from list if none and run function again.
8312
8313 if actionon then
8314 if not Player[actionon].getHandObjects()[1] then
8315 for i, v in ipairs (players) do
8316 if v == actionon then
8317 table.remove(players, i)
8318 if i > 1 then
8319 actionon = players[i-1]
8320 else
8321 actionon = players[#players]
8322 end
8323 action()
8324 return 1
8325 end
8326 end
8327 end
8328 end
8329
8330 --[[ Hide text and abort if there is one player and no bet to call --]]
8331
8332 if #players == 1 and getChipValues(betzones[actionon], {}) >= cb then
8333 hideActionText()
8334 return 1
8335 end
8336
8337 printstring = printstring..'action'
8338
8339 -- move actiontext to front of player
8340
8341 local playerhand = getPlayerHandPositionAndRotation(actionon)
8342 actiontext.setValue('Action') -- set action text to say "Action" in case it gets changed (sometimes it changes to "Type here" for some reason)
8343 actiontext.TextTool.setFontColor(fontcolors[actionon]) -- change color of "Action" to player's color
8344
8345 actiontext.setPosition({playerhand['pos_x'] + playerhand['trigger_forward_x'] * 10, 1.33, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 10})
8346 actiontext.setRotation({90, playerhand['rot_y'], 0})
8347
8348 -- move action button to player if playerclickaction is toggled
8349 if options.playerclickaction then
8350 actionbutton.setPosition({playerhand['pos_x'] + playerhand['trigger_forward_x'] * 12, 1.55, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 12})
8351 actionbutton.setRotation({0, playerhand['rot_y'] + 180, 0})
8352 end
8353
8354 -- spawn clock if autoclock
8355 if options.autoclock then
8356 spawnClock()
8357 end
8358end
8359
8360function actionToggle(ob, pl)
8361 if not Player[pl].admin then
8362 return 1
8363 end
8364
8365 if options.actiontoggle then
8366 options.actiontoggle = false
8367 hideActionText()
8368 print ('Action text toggled off. The button can still be used to update pot and current bet values.')
8369 else
8370 options.actiontoggle = true
8371 print ('Action text toggled on. It will reappear next time action is passed.')
8372 end
8373
8374 optionsHost()
8375end
8376
8377function hideActionText()
8378 actiontext.setPosition({0, -2, 0})
8379end
8380
8381function calculatePots()
8382 if pottext == nil or pottext == null then
8383 checkAndRespawnObjects()
8384 return 0
8385 end
8386 if sidepotcalculated then
8387 return 0
8388 end
8389 if currentbettext == nil or currentbettext == null then
8390 checkAndRespawnObjects()
8391 return 0
8392 end
8393 startLuaCoroutine(nil, 'calculatePotsCoroutine')
8394end
8395
8396function calculatePotsCoroutine ()
8397
8398 local p = potobject.getPosition()
8399 local r = potobject.getRotation()
8400
8401 p.y = p.y + 10
8402
8403 potzones[1].setPosition (p)
8404 potzones[1].setRotation (r)
8405 potzones[1].setScale({9.5, 20, 6})
8406
8407 for i = 1, 3 do
8408 coroutine.yield(0)
8409 end
8410
8411 local bets = 0
8412 local mainpot = 0
8413 local prevpot = pot
8414 local prevbet = currentbet
8415 currentbet = 0
8416 local chips = {}
8417 local better = ''
8418 for i, v in ipairs (colors) do
8419 playerbets[i] = getChipValues(betzones[v], chips)
8420
8421 if playerbets[i] > currentbet then
8422 currentbet = playerbets[i]
8423 better = v
8424 end
8425 if options.displayplayerbet then
8426 if playerbets[i] > 0 then
8427 bettext[v].setValue('$' .. tostring(playerbets[i]))
8428 else
8429 bettext[v].setValue(' ')
8430 end
8431 else
8432 bettext[v].setValue(' ')
8433 end
8434 sidepottext[v].setValue(" ")
8435 if options.displayplayermoney then
8436 money = getChipValues(tablezones[v],chips)
8437 tablezonetext[v].setValue("$" .. money)
8438 bets = bets + playerbets[i]
8439 end
8440 end
8441
8442 for i, v in ipairs (potzones) do
8443 mainpot = mainpot + getChipValues(v, chips)
8444 end
8445 --mainpot = getChipValues(potzones[1], chips)
8446
8447 pot = bets + mainpot
8448
8449 -- print the pot value in chat
8450 if pot > prevpot then
8451 printstring = printstring..'pot'
8452 end
8453
8454 -- print the current bet in chat
8455 if currentbet > prevbet then
8456
8457 if prevbet == 0 then
8458 printstring = printstring..'bet'..better
8459 else
8460 printstring = printstring..'raise'..better
8461 end
8462
8463 end
8464
8465 -- display pot value on 3dtexts
8466
8467 pottext.setValue('Pot: $'..tostring(pot))
8468 currentbettext.setValue('Current bet: $'..tostring(currentbet))
8469
8470 printMessages()
8471
8472 return 1
8473
8474end
8475
8476function getChipValues(zone, chips)
8477
8478 local objects = zone.getObjects()
8479 local x = 0
8480
8481 for j, w in ipairs (objects) do
8482 if w.tag == 'Chip' and not objectExistsInList(chips, w) then
8483 if w.getQuantity() < 0 then
8484 if w.getValue() then
8485 x = x + w.getValue()
8486 chips[#chips+1] = w
8487 elseif currencycurrencyToNumber(w.getName()) then
8488 x = x + currencycurrencyToNumber(w.getName())
8489 chips[#chips+1] = w
8490 end
8491 else
8492 if w.getValue() then
8493 x = x + (w.getValue() * w.getQuantity())
8494 chips[#chips+1] = w
8495 elseif currencycurrencyToNumber(w.getName()) then
8496 x = x + (currencycurrencyToNumber(w.getName()) * w.getQuantity())
8497 chips[#chips+1] = w
8498 end
8499 end
8500 end
8501 end
8502
8503 return x
8504
8505end
8506
8507function resetBets()
8508 playerbets = {}
8509 for i, v in ipairs (players) do
8510 playerbets[i] = 0
8511 end
8512 currentbet = 0
8513end
8514
8515--[[ Spawn panel with host options buttons --]]
8516function spawnOptionsPanel(ob, pl)
8517
8518 if not Player[pl].admin then
8519 return 1
8520 end
8521
8522 if optionspanel then
8523 destroyOptionsPanel()
8524 return 1
8525 end
8526
8527 local params = {}
8528 params.type = 'Custom_Model'
8529 params.callback = 'optionsMain'
8530 params.position = {-4.5, 4.45, -25}
8531 params.scale = {2, 1, 2}
8532 params.rotation = {0, 180, 0}
8533
8534 optionspanel = spawnObject(params)
8535
8536 local custom = {}
8537 custom.mesh = 'http://pastebin.com/raw/avCFwn0Y'
8538 custom.collider = 'http://pastebin.com/raw/avCFwn0Y'
8539 custom.specular_intensity = 0
8540 custom.type = 4
8541
8542 optionspanel.setCustomObject(custom)
8543
8544 optionspanel.lock()
8545 optionspanel.interactable = false
8546 optionspanel.setColorTint({0, 0, 0})
8547
8548 startLuaCoroutine(nil, 'addSelfDestruct')
8549
8550end
8551
8552--[[ Add buttons to panel --]]
8553
8554function optionsMain(ob, pl)
8555
8556 if pl then
8557 if not Player[pl].admin then
8558 return 1
8559 end
8560 end
8561
8562 optionspanel.clearButtons()
8563
8564 if colorball ~= nil and colorball ~= null then
8565 colorball.destruct()
8566 end
8567
8568 local button = {}
8569
8570 button.width = 150
8571 button.height = 150
8572 button.label = '☒'
8573 button.font_size = 125
8574 button.click_function = 'destroyOptionsPanel'
8575 button.position = {1.75, 0.05, -1.8}
8576 optionspanel.createButton(button)
8577
8578 button.width = 1000
8579 button.height = 200
8580 button.label = 'Host Settings'
8581 button.click_function = 'optionsHost'
8582 button.font_size = 150
8583 button.position = {0, 0.05, -1.5}
8584
8585 optionspanel.createButton(button)
8586
8587 button.width = 1000
8588 button.height = 200
8589 button.label = 'Chat Settings'
8590 button.click_function = 'optionsChat'
8591 button.font_size = 150
8592 button.position = {0, 0.05, -1}
8593 optionspanel.createButton(button)
8594
8595 button.width = 1000
8596 button.height = 200
8597 button.label = 'Themes'
8598 button.click_function = 'optionsThemes'
8599 button.font_size = 150
8600 button.position = {0, 0.05, -0.5}
8601 optionspanel.createButton(button)
8602
8603 button.width = 1000
8604 button.height = 200
8605 button.label = 'Currencies'
8606 button.click_function = 'optionsCurrencies'
8607 button.font_size = 150
8608 button.position = {0, 0.05, 0}
8609 optionspanel.createButton(button)
8610
8611
8612
8613 button.label = 'Deal one card'
8614 button.width = 800
8615 button.font_size = 100
8616 button.position = {-1, 0.05, 0.5}
8617 button.click_function = 'dealOneCard'
8618 optionspanel.createButton(button)
8619
8620 button.label = 'Clock'
8621 button.width = 800
8622 button.font_size = 150
8623 button.position = {1, 0.05, 0.5}
8624 button.click_function = 'spawnClock'
8625 optionspanel.createButton(button)
8626
8627 button.label = '«'
8628 button.width = 100
8629 button.height = 100
8630 button.font_size = 100
8631 button.click_function = 'decreaseClockTime5'
8632 button.position = {0.4, 0.05, 0.85}
8633 optionspanel.createButton(button)
8634
8635 button.label = '‹'
8636 button.click_function = 'decreaseClockTime1'
8637 button.position = {0.6, 0.05, 0.85}
8638 optionspanel.createButton(button)
8639
8640 button.label = tostring(options.clocktime)
8641 button.width = 300
8642 button.click_function = 'doNothing'
8643 button.position = {1, 0.05, 0.85}
8644 optionspanel.createButton(button)
8645
8646 button.label = '›'
8647 button.width = 100
8648 button.click_function = 'increaseClockTime1'
8649 button.position = {1.4, 0.05, 0.85}
8650 optionspanel.createButton(button)
8651
8652 button.label = '»'
8653 button.click_function = 'increaseClockTime5'
8654 button.position = {1.6, 0.05, 0.85}
8655 optionspanel.createButton(button)
8656
8657 button.label = 'Fold Player'
8658 button.width = 800
8659 button.height = 200
8660 button.font_size = 150
8661 button.position = {1, 0.05, 1.5}
8662 button.click_function = 'foldPlayer'
8663 optionspanel.createButton(button)
8664
8665 button.label = 'Set player Afk'
8666 button.width = 800
8667 button.font_size = 100
8668 button.position = {-1, 0.05, 1}
8669 button.click_function = 'setPlayerAfk'
8670 optionspanel.createButton(button)
8671
8672 button.label = 'Reset Objects'
8673 button.font_size = 100
8674 button.click_function = 'checkAndRespawnObjects'
8675 button.position = {-1.0, 0.05, 1.5}
8676 optionspanel.createButton(button)
8677
8678
8679
8680
8681
8682end
8683
8684function dealOneCard(ob, pl)
8685 if pl then
8686 if not Player[pl].admin and pl ~= actionon then
8687 return 1
8688 end
8689 end
8690
8691 if deck == nil or deck == null then
8692 for i, v in ipairs (getSeatedPlayers()) do
8693 if Player[v].admin then
8694 broadcastToColor('No deck assigned. Please assign a deck with the \'New Deck\' button.', v, {1, 0.3, 0.3})
8695 end
8696 end
8697 return 1
8698 end
8699
8700 if not dealing then
8701 if not handinprogress then
8702 players = getOrderedListOfPlayers()
8703 end
8704
8705 if not players then
8706 return 1
8707 end
8708
8709 onecard = true
8710 dealing = true
8711 startLuaCoroutine(nil, 'holeCoroutine')
8712 end
8713end
8714
8715--[[ If the rewind button is used while the options menu is open, the black square will remain and be non-interactable. This script is added to it so it self-destructs in that event. --]]
8716function addSelfDestruct()
8717 for i = 1, 5 do
8718 coroutine.yield(0)
8719 end
8720 if optionspanel ~= nil and optionspanel ~= null then
8721 optionspanel.setLuaScript('function onload() self.destruct() end')
8722 end
8723 return 1
8724end
8725
8726function optionsHost(ob, pl)
8727 if pl then
8728 if not Player[pl].admin then
8729 return 1
8730 end
8731 end
8732
8733 optionspanel.clearButtons()
8734
8735 local button = {}
8736 local s = ''
8737
8738 button.width = 150
8739 button.height = 150
8740 button.label = '☒'
8741 button.font_size = 125
8742 button.click_function = 'destroyOptionsPanel'
8743 button.position = {1.75, 0.05, -1.8}
8744 optionspanel.createButton(button)
8745
8746 button.width = 150
8747 button.height = 150
8748 button.label = '◄'
8749 button.font_size = 125
8750 button.click_function = 'optionsMain'
8751 button.position = {-1.75, 0.05, -1.8}
8752 optionspanel.createButton(button)
8753
8754 if options.actiontoggle then
8755 button.label = '☑ Action'
8756 else
8757 button.label = '□ Action'
8758 end
8759 button.font_size = 75
8760 button.width = 350
8761 button.height = 100
8762 button.click_function = 'actionToggle'
8763 button.position = {-1.5, 0.05, -1.5}
8764 optionspanel.createButton(button)
8765
8766 if options.actiontoggle then
8767 if options.playerclickaction then
8768 button.label = '+Players'
8769 else
8770 button.label = '+Host'
8771 end
8772 button.width = 350
8773 button.font_size = 75
8774 button.click_function = 'togglePlayerClickAction'
8775 button.position = {-1.5, 0.05, -1.25}
8776 optionspanel.createButton(button)
8777
8778 if options.autoclock then
8779 button.label = '☑ Autoclock'
8780 else
8781 button.label = '□ Autoclock'
8782 end
8783 button.position = {-1.35, 0.05, -1.0}
8784 button.width = 500
8785 button.click_function = 'toggleAutoclock'
8786 optionspanel.createButton(button)
8787
8788 if options.autoclock then
8789 button.label = '‹'
8790 button.width = 100
8791 button.click_function = 'decreaseAutoclockTime'
8792 button.position = {-1.7, 0.05, -0.75}
8793 optionspanel.createButton(button)
8794
8795 button.label = tostring(options.autoclocktime)
8796 button.width = 200
8797 button.position = {-1.35, 0.05, -0.75}
8798 button.click_function = 'doNothing'
8799 optionspanel.createButton(button)
8800
8801 button.label = '›'
8802 button.width = 100
8803 button.click_function = 'increaseAutoclockTime'
8804 button.position = {-1.0, 0.05, -0.75}
8805 optionspanel.createButton(button)
8806
8807 if options.clockpausebutton then
8808 button.label = '☑ Pause button'
8809 else
8810 button.label = '□ Pause button'
8811 end
8812 button.width = 600
8813 button.position = {-1.35, 0.05, -0.5}
8814 button.click_function = 'toggleAutoclockPauseButton'
8815 optionspanel.createButton(button)
8816 end
8817
8818 if options.autofold then
8819 button.label = '☑ Autofold'
8820 else
8821 button.label = '□ Autofold'
8822 end
8823 button.width = 500
8824 button.position = {-0.35, 0.05, -1.0}
8825 button.click_function = 'toggleAutofold'
8826 optionspanel.createButton(button)
8827 end
8828
8829 if options.collectmethod == 'move' then
8830 button.label = 'Collect method: Move'
8831 button.width = 800
8832 elseif options.collectmethod == 'convert' then
8833 button.label = 'Collect method: Convert'
8834 button.width = 850
8835 elseif options.collectmethod == 'hybrid' then
8836 button.label = 'Collect method: Hybrid:'
8837 button.width = 850
8838 else
8839 button.label = options.collectmethod
8840 button.width = 800
8841 end
8842 button.click_function = 'changeCollectMethod'
8843 button.position = {-1, 0.05, 0}
8844 optionspanel.createButton(button)
8845
8846 if options.collectmethod == 'hybrid' then
8847 button.label = '«'
8848 button.width = 100
8849 button.click_function = 'decreaseHybridThreshold1000'
8850 button.position = {0.0, 0.05, 0}
8851 optionspanel.createButton(button)
8852
8853 button.label = '‹'
8854 button.click_function = 'decreaseHybridThreshold100'
8855 button.position = {0.2, 0.05, 0}
8856 optionspanel.createButton(button)
8857
8858 button.label = '$'..tostring(options.hybridthreshold)
8859 button.width = 350
8860 button.click_function = 'doNothing'
8861 button.position = {0.65, 0.05, 0}
8862 optionspanel.createButton(button)
8863
8864 button.label = '›'
8865 button.width = 100
8866 button.click_function = 'increaseHybridThreshold100'
8867 button.position = {1.1, 0.05, 0}
8868 optionspanel.createButton(button)
8869
8870 button.label = '»'
8871 button.click_function = 'increaseHybridThreshold1000'
8872 button.position = {1.3, 0.05, 0}
8873 optionspanel.createButton(button)
8874 end
8875
8876 if options.collectmethod == 'convert' or options.collectmethod=='hybrid' then
8877
8878 button.label = 'Minimum Stack Height:'
8879 button.width = 850
8880 button.click_function = 'doNothing'
8881 button.position = {-1, 0.05, 0.25}
8882 optionspanel.createButton(button)
8883
8884 button.width = 100
8885 button.label = '‹'
8886 button.click_function = 'decreaseConvertStackHeight1'
8887 button.position = {0.2, 0.05, 0.25}
8888 optionspanel.createButton(button)
8889
8890 button.label = tostring(options.convertstackheight)
8891 button.width = 350
8892 button.click_function = 'doNothing'
8893 button.position = {0.65, 0.05, 0.25}
8894 optionspanel.createButton(button)
8895
8896 button.label = '›'
8897 button.width = 100
8898 button.click_function = 'increaseConvertStackHeight1'
8899 button.position = {1.1, 0.05, 0.25}
8900 optionspanel.createButton(button)
8901 end
8902
8903
8904 if options.blindsskipafk then
8905 button.label = '☑ Blinds Skip AFK'
8906 else
8907 button.label = '□ Blinds Skip AFK'
8908 end
8909 button.width = 650
8910 button.click_function = 'toggleBlindsSkipAFK'
8911 button.position = {-0.375, 0.05, -1.5}
8912 optionspanel.createButton(button)
8913
8914 if options.gamemode == 'omaha' then
8915 s = '►'
8916 else
8917 s = ''
8918 end
8919 button.label = s..'Omaha Hold\'em'
8920 button.width = 650
8921 button.click_function = 'setGameModeOmaha'
8922 button.position = {1.0, 0.05, -1.0}
8923 optionspanel.createButton(button)
8924
8925 if options.gamemode == 'pineapple' then
8926 s = '►'
8927 else
8928 s = ''
8929 end
8930 button.label = s..'Pineapple'
8931 button.width = 700
8932 button.click_function = 'setGameModePineapple'
8933 button.position = {1.0, 0.05, -1.25}
8934 optionspanel.createButton(button)
8935
8936 if options.gamemode == 'texas' then
8937 s = '►'
8938 else
8939 s = ''
8940 end
8941 button.label = s..'Texas Hold\'em'
8942 button.width = 600
8943 button.click_function = 'setGameModeTexas'
8944 button.position = {1.0, 0.05, -1.5}
8945 optionspanel.createButton(button)
8946
8947 if options.displayplayerbet then
8948 button.label = '☑ Display Player Bets'
8949 else
8950 button.label = '□ Display Player Bet'
8951 end
8952 button.width = 1000
8953 button.click_function = 'toggleDisplayPlayerBet'
8954 button.position = {-1, 0.05, 0.6}
8955 optionspanel.createButton(button)
8956
8957 if options.displayplayermoney then
8958 button.label = '☑ Display Player Money'
8959 else
8960 button.label = '□ Display Player Money'
8961 end
8962 button.width = 1000
8963 button.click_function = 'toggleDisplayPlayerMoney'
8964 button.position = {-1, 0.05, 0.8}
8965 optionspanel.createButton(button)
8966
8967 if options.changemachine then
8968 button.label = '☑ change Machine'
8969 else
8970 button.label = '□ change Machine'
8971 end
8972 button.width = 1000
8973 button.click_function = 'togglechangeMachine'
8974 button.position = {-1, 0.05, 1}
8975 optionspanel.createButton(button)
8976
8977
8978 if options.playerbuttons.sortchips then
8979 button.label = '☑ Display Sort Chips Button'
8980 else
8981 button.label = '□ Display Sort Chips Button'
8982 end
8983 button.width = 1000
8984 button.click_function = 'toggleDisplaySortChips'
8985 button.position = {1, 0.05, 0.6}
8986 optionspanel.createButton(button)
8987
8988
8989 if options.playerbuttons.convert then
8990 button.label = '☑ Display Convert Button'
8991 else
8992 button.label = '□ Display Convert Button'
8993 end
8994 button.width = 1000
8995 button.click_function = 'toggleDisplayConvert'
8996 button.position = {1, 0.05, 0.8}
8997 optionspanel.createButton(button)
8998
8999 if options.playerbuttons.allin then
9000 button.label = '☑ Display AllIn Button'
9001 else
9002 button.label = '□ Display AllIn Button'
9003 end
9004 button.width = 1000
9005 button.click_function = 'toggleDisplayAllIn'
9006 button.position = {1, 0.05, 1}
9007 optionspanel.createButton(button)
9008
9009 if options.playerbuttons.call then
9010 button.label = '☑ Display Call Button'
9011 else
9012 button.label = '□ Display Call Button'
9013 end
9014 button.width = 1000
9015 button.click_function = 'toggleDisplayPlCall'
9016 button.position = {1, 0.05, 1.2}
9017 optionspanel.createButton(button)
9018
9019 if options.playerbuttons.afk then
9020 button.label = '☑ Display AFK Button'
9021 else
9022 button.label = '□ Display AFK Button'
9023 end
9024 button.width = 1000
9025 button.click_function = 'toggleDisplayAFK'
9026 button.position = {1, 0.05, 1.4}
9027 optionspanel.createButton(button)
9028
9029
9030 if options.playerbuttons.loadsavebag then
9031 button.label = '☑ Display Load Save Button'
9032 else
9033 button.label = '□ Display Load Save Button'
9034 end
9035 button.width = 1000
9036 button.click_function = 'toggleLoadSaves'
9037 button.position = {1, 0.05, 1.6}
9038 optionspanel.createButton(button)
9039
9040end
9041
9042
9043
9044function optionsChat(ob, pl)
9045
9046 if pl then
9047 if not Player[pl].admin then
9048 return 1
9049 end
9050 end
9051
9052 optionspanel.clearButtons()
9053
9054 local button = {}
9055
9056 button.width = 150
9057 button.height = 150
9058 button.label = '☒'
9059 button.font_size = 125
9060 button.click_function = 'destroyOptionsPanel'
9061 button.position = {1.75, 0.05, -1.8}
9062 optionspanel.createButton(button)
9063
9064 button.width = 150
9065 button.height = 150
9066 button.label = '◄'
9067 button.font_size = 125
9068 button.click_function = 'optionsMain'
9069 button.position = {-1.75, 0.05, -1.8}
9070 optionspanel.createButton(button)
9071
9072 button.width = 650
9073 button.height = 150
9074 button.font_size = 75
9075 if options.chatoptions.actionmessage then
9076 button.label = '☑ Action message'
9077 else
9078 button.label = '□ Action message'
9079 end
9080 button.click_function = 'toggleActionMessage'
9081 button.position = {-1.0, 0.05, -1.5}
9082 optionspanel.createButton(button)
9083
9084 button.width = 700
9085 button.height = 150
9086 button.font_size = 75
9087 if options.chatoptions.actionbroadcast then
9088 button.label = '☑ Action broadcast'
9089 else
9090 button.label = '□ Action broadcast'
9091 end
9092 button.click_function = 'toggleActionBroadcast'
9093 button.position = {-1.0, 0.05, -1.25}
9094 optionspanel.createButton(button)
9095
9096 button.width = 600
9097 button.height = 150
9098 button.font_size = 75
9099 if options.chatoptions.currentbetmessage then
9100 button.label = '☑ Current bet'
9101 else
9102 button.label = '□ Current bet'
9103 end
9104 button.click_function = 'toggleCurrentBetMessage'
9105 button.position = {1.0, 0.05, -1.5}
9106 optionspanel.createButton(button)
9107
9108 button.width = 600
9109 button.height = 150
9110 button.font_size = 75
9111 if options.chatoptions.better then
9112 button.label = '☑ └Better/raiser'
9113 else
9114 button.label = '□ └Better/raiser'
9115 end
9116 button.click_function = 'toggleBetter'
9117 button.position = {1.0, 0.05, -1.25}
9118 if options.chatoptions.currentbetmessage then
9119 optionspanel.createButton(button)
9120 end
9121
9122 button.width = 700
9123 button.height = 150
9124 button.font_size = 75
9125 if options.chatoptions.allinbroadcast then
9126 button.label = '☑ All-in broadcast'
9127 else
9128 button.label = '□ All-in broadcast'
9129 end
9130 button.click_function = 'toggleAllinBroadcast'
9131 button.position = {1.0, 0.05, -1.0}
9132 optionspanel.createButton(button)
9133
9134 button.height = 150
9135 button.font_size = 75
9136 if options.chatoptions.potmessage == 0 then
9137 button.width = 700
9138 button.label = 'Pot message: Off'
9139 elseif options.chatoptions.potmessage == 1 then
9140 button.width = 1000
9141 button.label = 'Pot message: On collect only'
9142 elseif options.chatoptions.potmessage == 2 then
9143 button.width = 900
9144 button.label = 'Pot message: On change'
9145 end
9146 button.click_function = 'togglePotMessage'
9147 button.position = {1.0, 0.05, -0.75}
9148 optionspanel.createButton(button)
9149
9150 button.width = 850
9151 button.height = 150
9152 button.font_size = 75
9153 if options.chatoptions.stage then
9154 button.label = '☑ Game stage broadcast'
9155 else
9156 button.label = '□ Game stage broadcast'
9157 end
9158 button.click_function = 'toggleStageBroadcast'
9159 button.position = {-1.0, 0.05, -1.0}
9160 optionspanel.createButton(button)
9161
9162end
9163
9164function optionsThemes(ob, pl)
9165 if pl then
9166 if not Player[pl].admin then
9167 return 1
9168 end
9169 end
9170 optionspanel.clearButtons()
9171
9172 local button = {}
9173
9174 button.width = 150
9175 button.height = 150
9176 button.label = '☒'
9177 button.font_size = 125
9178 button.click_function = 'destroyOptionsPanel'
9179 button.position = {1.75, 0.05, -1.8}
9180 optionspanel.createButton(button)
9181
9182 button.width = 150
9183 button.height = 150
9184 button.label = '◄'
9185 button.font_size = 125
9186 button.click_function = 'optionsMain'
9187 button.position = {-1.75, 0.05, -1.8}
9188 optionspanel.createButton(button)
9189
9190 button.label = 'Set Font Color'
9191 button.width = 600
9192 button.font_size = 75
9193 button.click_function = 'changeFontColor'
9194 button.position = {-0.75, 0.05, -1.75}
9195 optionspanel.createButton(button)
9196
9197 button.label = 'Set Overlay Color'
9198 button.width = 600
9199 button.click_function = 'changeTableColor'
9200 button.position = {0.75, 0.05, -1.75}
9201 optionspanel.createButton(button)
9202
9203 button.label = 'Darken Overlay'
9204 button.width = 600
9205 button.click_function = 'darkenOverlay'
9206 button.position = {-0.75, 0.05, -1.5}
9207 optionspanel.createButton(button)
9208
9209 button.label = 'Lighten Overlay'
9210 button.width = 600
9211 button.click_function = 'lightenOverlay'
9212 button.position = {0.75, 0.05, -1.5}
9213 optionspanel.createButton(button)
9214
9215
9216
9217 --[[ spawn theme buttons --]]
9218 for i, v in ipairs (themes) do
9219 local s = ''
9220 if i == themeindex then
9221 s = '►'
9222 end
9223 button.width = (((string.len(themes[i].label) + string.len(s)) * 40) + 0 )
9224 button.height = 100
9225 button.font_size = 65
9226 button.label = themes[i].label..s
9227 button.click_function = 'setTheme'..tostring(i)
9228 button.position = {-1.75, 0.05, (-1 + ((i-1) * 0.25))}
9229 optionspanel.createButton(button)
9230 end
9231
9232 --[[ spawn subtheme buttons --]]
9233 for i, v in ipairs (themes[themeindex]) do
9234 local s = ''
9235 if i == subthemeindex then
9236 s = '►'
9237 end
9238 button.width = (((string.len(themes[themeindex][i].label) + string.len(s)) * 40) + 0)
9239 button.height = 100
9240 button.label = themes[themeindex][i].label..s
9241 button.click_function = 'setSubtheme'..tostring(i)
9242 button.position = {-0.75, 0.05, (-1 + ((i-1) * 0.25))}
9243 optionspanel.createButton(button)
9244 end
9245
9246 --[[ spawn diffuse buttons --]]
9247 for i, v in ipairs (themes[themeindex][subthemeindex]) do
9248 button.width = ((string.len(themes[themeindex][subthemeindex][i].label) * 35) + 0)
9249 button.height = 100
9250 button.label = themes[themeindex][subthemeindex][i].label
9251 button.click_function = 'overlay'..tostring(i)
9252 button.position = {1, 0.05, (-1 + ((i-1) * 0.25))}
9253 optionspanel.createButton(button)
9254 end
9255
9256 if colorball == nil or colorball == null then
9257 local params = {}
9258 local p = optionspanel.getPosition()
9259 params.position = {p.x, p.y, p.z + 3.5}
9260 params.type = 'go_game_piece_white'
9261 params.scale = {0.5, 0.5, 0.5}
9262
9263 colorball = spawnObject(params)
9264 local color = pottext.TextTool.getFontColor()
9265 colorball.lock()
9266 colorball.setColorTint(color)
9267 colorball.setDescription('Change my color tint, then click \'Font Color\' button to change color of text fonts.')
9268 end
9269
9270end
9271
9272function toggleDisplayConvert(ob,pl)
9273 if pl then
9274 if not Player[pl].admin then
9275 return 1
9276 end
9277 end
9278 options.playerbuttons.convert = not options.playerbuttons.convert
9279 createPlayerButtons()
9280 optionsHost()
9281end
9282
9283function toggleDisplaySortChips(ob,pl)
9284 if pl then
9285 if not Player[pl].admin then
9286 return 1
9287 end
9288 end
9289 options.playerbuttons.sortchips = not options.playerbuttons.sortchips
9290 createPlayerButtons()
9291 optionsHost()
9292end
9293
9294function toggleDisplayAllIn(ob,pl)
9295 if pl then
9296 if not Player[pl].admin then
9297 return 1
9298 end
9299 end
9300 options.playerbuttons.allin = not options.playerbuttons.allin
9301 createPlayerButtons()
9302 optionsHost()
9303end
9304
9305function toggleDisplayPlCall(ob,pl)
9306 if pl then
9307 if not Player[pl].admin then
9308 return 1
9309 end
9310 end
9311 options.playerbuttons.PlCall = not options.playerbuttons.PlCall
9312 createPlayerButtons()
9313 optionsHost()
9314end
9315
9316function toggleDisplayAFK(ob,pl)
9317 if pl then
9318 if not Player[pl].admin then
9319 return 1
9320 end
9321 end
9322 options.playerbuttons.afk = not options.playerbuttons.afk
9323 createPlayerButtons()
9324 optionsHost()
9325end
9326
9327function toggleDisplayPlayerBet(ob, pl)
9328 if pl then
9329 if not Player[pl].admin then
9330 return 1
9331 end
9332 end
9333 options.displayplayerbet = not options.displayplayerbet
9334 calculatePots()
9335 optionsHost()
9336end
9337
9338function toggleLoadSaves(ob, pl)
9339 if pl then
9340 if not Player[pl].admin then
9341 return 1
9342 end
9343 end
9344 options.playerbuttons.loadsavebag = not options.playerbuttons.loadsavebag
9345 createPlayerButtons()
9346 optionsHost()
9347end
9348
9349function togglechangeMachine(ob, pl)
9350 if pl then
9351 if not Player[pl].admin then
9352 return 1
9353 end
9354 end
9355 options.changemachine = not options.changemachine
9356
9357 for i, v in ipairs(getAllObjects()) do
9358 if v.getName() == 'Back Table' then
9359 v.clearButtons()
9360 if options.changemachine then
9361 local offsetx = 2/#currencies
9362 local button = {}
9363
9364 if #currencies <= 10 then
9365 offsetx = 1.65/(#currencies-2)
9366 else
9367 offsetx = 1.65/8
9368 end
9369 local offsety = 2/#currencies
9370 button.font_size = 150
9371 button.width = 450
9372 button.height = 250
9373 button.scale = {1/5, 1/5, 1/7.5}
9374 button.position = {0.83, -0.1, -0.9}
9375 button.rotation = {180, 0, 0}
9376
9377 for j, w in ipairs(currencies) do
9378 if w.value ~= -1 then
9379 button.label = w.label
9380 button.click_function = 'changeMachineButton' .. j
9381 v.createButton(button)
9382 button.position[1] = button.position[1] - offsetx
9383 end
9384 if j == 9 then
9385 if #currencies - 11 > 0 then
9386 offsetx = 1.65/(#currencies-11)
9387 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
9388 else
9389 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
9390 end
9391 end
9392 end
9393 end
9394 end
9395 end
9396
9397
9398 optionsHost()
9399end
9400
9401function toggleDisplayPlayerMoney(ob, pl)
9402 if pl then
9403 if not Player[pl].admin then
9404 return 1
9405 end
9406 end
9407 options.displayplayermoney = not options.displayplayermoney
9408
9409 if options.displayplayermoney then
9410 for i, v in ipairs (colors) do
9411 money = getChipValues(tablezones[v],chips)
9412 tablezonetext[v].setValue("$" .. money)
9413
9414 end
9415 else
9416 for i, v in ipairs (colors) do
9417 tablezonetext[v].setValue(" ")
9418 end
9419 end
9420 optionsHost()
9421end
9422
9423
9424
9425function optionsCurrencies(ob, pl)
9426 if pl then
9427 if not Player[pl].admin then
9428 return 1
9429 end
9430 end
9431 optionspanel.clearButtons()
9432
9433 local button = {}
9434
9435 button.width = 150
9436 button.height = 150
9437 button.label = '☒'
9438 button.font_size = 125
9439 button.click_function = 'destroyOptionsPanel'
9440 button.position = {1.75, 0.05, -1.8}
9441 optionspanel.createButton(button)
9442
9443 button.width = 150
9444 button.height = 150
9445 button.label = '◄'
9446 button.font_size = 125
9447 button.click_function = 'optionsMain'
9448 button.position = {-1.75, 0.05, -1.8}
9449 optionspanel.createButton(button)
9450
9451 --[[ spawn currencies buttons --]]
9452
9453 button.width = 500
9454 button.height = 100
9455 button.font_size = 100
9456 button.label = "Currency"
9457 button.click_function = 'doNothing'
9458 button.position = {-1.25, 0.05, -1.55 }
9459 optionspanel.createButton(button)
9460
9461 button.width = 500
9462 button.height = 100
9463 button.font_size = 100
9464 button.label = "Layout"
9465 button.click_function = 'doNothing'
9466 button.position = {1, 0.05, -1.55 }
9467 optionspanel.createButton(button)
9468
9469
9470 button.position = {-1.25, 0.05, -1.25 }
9471 local c = 0
9472 for i, v in pairs (currenciesSelectionStacklayout ) do
9473 c=c+1
9474 local s = ''
9475 if i == options.currencies then
9476 s = '►'
9477 end
9478 button.width = (((string.len(i) + string.len(s)) * 30) + 40 )
9479 button.height = 100
9480 button.font_size = 65
9481 button.label = i..s
9482 button.click_function = 'changeCurrencies' .. c
9483 button.position[3] = button.position[3]+0.25
9484 optionspanel.createButton(button)
9485 if i == options.currencies then
9486 for j, w in ipairs (v) do
9487 local s = ''
9488 if w == options.stacklayout then
9489 s = '►'
9490 end
9491 local button2 = {}
9492 button2.width = (((string.len(w) + string.len(s)) * 30) + 40)
9493 button2.font_size = 65
9494 button2.height = 100
9495 button2.label = w..s
9496 button2.click_function = 'setStacklayout' .. j
9497 button2.position = {1, 0.05, (-1 + ((j-1) * 0.25))}
9498 optionspanel.createButton(button2)
9499 end
9500 end
9501 end
9502end
9503
9504
9505
9506function setStacklayout1(ob, pl)
9507 if pl then
9508 if not Player[pl].admin then
9509 return 1
9510 end
9511 end
9512 options.stacklayout = currenciesSelectionStacklayout[options.currencies][1]
9513 optionsCurrencies()
9514end
9515
9516function setStacklayout2(ob, pl)
9517 if pl then
9518 if not Player[pl].admin then
9519 return 1
9520 end
9521 end
9522 options.stacklayout = currenciesSelectionStacklayout[options.currencies][2]
9523 optionsCurrencies()
9524end
9525
9526function setStacklayout3(ob, pl)
9527 if pl then
9528 if not Player[pl].admin then
9529 return 1
9530 end
9531 end
9532 options.stacklayout = currenciesSelectionStacklayout[options.currencies][3]
9533 optionsCurrencies()
9534end
9535
9536function setStacklayout4(ob, pl)
9537 if pl then
9538 if not Player[pl].admin then
9539 return 1
9540 end
9541 end
9542 options.stacklayout = currenciesSelectionStacklayout[options.currencies][4]
9543 optionsCurrencies()
9544end
9545function setStacklayout5(ob, pl)
9546 if pl then
9547 if not Player[pl].admin then
9548 return 1
9549 end
9550 end
9551 options.stacklayout = currenciesSelectionStacklayout[options.currencies][5]
9552 optionsCurrencies()
9553end
9554function setStacklayout6(ob, pl)
9555 if pl then
9556 if not Player[pl].admin then
9557 return 1
9558 end
9559 end
9560 options.stacklayout = currenciesSelectionStacklayout[options.currencies][6]
9561 optionsCurrencies()
9562end
9563function setStacklayout7(ob, pl)
9564 if pl then
9565 if not Player[pl].admin then
9566 return 1
9567 end
9568 end
9569 options.stacklayout = currenciesSelectionStacklayout[options.currencies][7]
9570 optionsCurrencies()
9571end
9572function setStacklayout8(ob, pl)
9573 if pl then
9574 if not Player[pl].admin then
9575 return 1
9576 end
9577 end
9578 options.stacklayout = currenciesSelectionStacklayout[options.currencies][8]
9579 optionsCurrencies()
9580end
9581
9582function setStacklayout9(ob, pl)
9583 if pl then
9584 if not Player[pl].admin then
9585 return 1
9586 end
9587 end
9588 options.stacklayout = currenciesSelectionStacklayout[options.currencies][9]
9589 optionsCurrencies()
9590end
9591
9592function setStacklayout10(ob, pl)
9593 if pl then
9594 if not Player[pl].admin then
9595 return 1
9596 end
9597 end
9598 options.stacklayout = currenciesSelectionStacklayout[options.currencies][10]
9599 optionsCurrencies()
9600end
9601
9602
9603function changeCurrencies1(ob, pl)
9604 if pl then
9605 if not Player[pl].admin then
9606 return 1
9607 end
9608 end
9609 changeCurrenciesCo(1)
9610end
9611
9612function changeCurrencies2(ob, pl)
9613 if pl then
9614 if not Player[pl].admin then
9615 return 1
9616 end
9617 end
9618
9619 changeCurrenciesCo(2)
9620end
9621
9622
9623function changeCurrencies3(ob, pl)
9624 if pl then
9625 if not Player[pl].admin then
9626 return 1
9627 end
9628 end
9629
9630 changeCurrenciesCo(3)
9631end
9632
9633function changeCurrencies4(ob, pl)
9634 if pl then
9635 if not Player[pl].admin then
9636 return 1
9637 end
9638 end
9639
9640 changeCurrenciesCo(4)
9641end
9642
9643function changeCurrencies5(ob, pl)
9644 if pl then
9645 if not Player[pl].admin then
9646 return 1
9647 end
9648 end
9649
9650 changeCurrenciesCo(5)
9651end
9652
9653function changeCurrencies6(ob, pl)
9654 if pl then
9655 if not Player[pl].admin then
9656 return 1
9657 end
9658 end
9659
9660 changeCurrenciesCo(6)
9661end
9662
9663function changeCurrencies7(ob, pl)
9664 if pl then
9665 if not Player[pl].admin then
9666 return 1
9667 end
9668 end
9669
9670 changeCurrenciesCo(7)
9671end
9672
9673function changeCurrencies8(ob, pl)
9674 if pl then
9675 if not Player[pl].admin then
9676 return 1
9677 end
9678 end
9679
9680 changeCurrenciesCo(8)
9681end
9682
9683function changeCurrencies9(ob, pl)
9684 if pl then
9685 if not Player[pl].admin then
9686 return 1
9687 end
9688 end
9689
9690 changeCurrenciesCo(9)
9691end
9692
9693
9694
9695function changeCurrencies10(ob, pl)
9696 if pl then
9697 if not Player[pl].admin then
9698 return 1
9699 end
9700 end
9701
9702 changeCurrenciesCo(10)
9703end
9704
9705function changeCurrencies11(ob, pl)
9706 if pl then
9707 if not Player[pl].admin then
9708 return 1
9709 end
9710 end
9711
9712 changeCurrenciesCo(11)
9713end
9714
9715function changeCurrencies12(ob, pl)
9716 if pl then
9717 if not Player[pl].admin then
9718 return 1
9719 end
9720 end
9721
9722 changeCurrenciesCo(12)
9723end
9724
9725function changeCurrencies13(ob, pl)
9726 if pl then
9727 if not Player[pl].admin then
9728 return 1
9729 end
9730 end
9731
9732 changeCurrenciesCo(13)
9733end
9734
9735function changeCurrencies14(ob, pl)
9736 if pl then
9737 if not Player[pl].admin then
9738 return 1
9739 end
9740 end
9741
9742 changeCurrenciesCo(14)
9743end
9744
9745function changeCurrencies15(ob, pl)
9746 if pl then
9747 if not Player[pl].admin then
9748 return 1
9749 end
9750 end
9751
9752 changeCurrenciesCo(15)
9753end
9754
9755function changeCurrencies16(ob, pl)
9756 if pl then
9757 if not Player[pl].admin then
9758 return 1
9759 end
9760 end
9761
9762 changeCurrenciesCo(16)
9763end
9764
9765
9766function changeCurrencies16(ob, pl)
9767 if pl then
9768 if not Player[pl].admin then
9769 return 1
9770 end
9771 end
9772
9773 changeCurrenciesCo(16)
9774end
9775
9776
9777function changeCurrencies17(ob, pl)
9778 if pl then
9779 if not Player[pl].admin then
9780 return 1
9781 end
9782 end
9783
9784 changeCurrenciesCo(17)
9785end
9786
9787
9788function changeCurrencies18(ob, pl)
9789 if pl then
9790 if not Player[pl].admin then
9791 return 1
9792 end
9793 end
9794
9795 changeCurrenciesCo(18)
9796end
9797
9798
9799function changeCurrencies19(ob, pl)
9800 if pl then
9801 if not Player[pl].admin then
9802 return 1
9803 end
9804 end
9805
9806 changeCurrenciesCo(19)
9807end
9808
9809function changeCurrenciesCo(number)
9810 c=0
9811 for i, v in pairs (currenciesSelectionStacklayout ) do
9812 c=c+1
9813 if(c == number) then
9814 options.currencies = i
9815 options.stacklayout = v[1]
9816 currencies = currenciesSelection[i]
9817 end
9818 end
9819
9820 for i, v in ipairs(getAllObjects()) do
9821 -- Update Buttons
9822 if v.getName() == 'Back Table' then
9823 v.clearButtons()
9824 if options.changemachine then
9825 local offsetx = 2/#currencies
9826 local button = {}
9827
9828 if #currencies <= 10 then
9829 offsetx = 1.65/(#currencies-2)
9830 else
9831 offsetx = 1.65/8
9832 end
9833 local offsety = 2/#currencies
9834 button.font_size = 150
9835 button.width = 450
9836 button.height = 250
9837 button.scale = {1/5, 1/5, 1/7.5}
9838 button.position = {0.83, -0.1, -0.9}
9839 button.rotation = {180, 0, 0}
9840
9841 for j, w in ipairs(currencies) do
9842 if w.value ~= -1 then
9843 button.label = w.label
9844 button.click_function = 'changeMachineButton' .. j
9845 v.createButton(button)
9846 button.position[1] = button.position[1] - offsetx
9847 end
9848 if j == 9 then
9849 if #currencies - 11 > 0 then
9850 offsetx = 1.65/(#currencies-11)
9851 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
9852 else
9853 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
9854 end
9855 end
9856 end
9857 end
9858
9859 end
9860 -- Delete Old Infinite Money Bags
9861 if v.getDescription() == 'Infinite Money Bag' then
9862 v.destruct()
9863 end
9864 end
9865
9866
9867 -- spawn infinite Bags
9868 local params = {}
9869 local posx = 2
9870 local posy = 2.2
9871 local posz = -23
9872
9873 local offsetx = 4
9874 local offsetz = -1.7
9875
9876
9877 for i, v in ipairs (currencies) do
9878 if v.value == -1 then
9879 break -- no dummy chips spawn
9880 end
9881 if not v.standard then
9882 params.position = {}
9883 params.position.x = posx + offsetx * ((i-1) % 2)
9884 params.position.y = posy
9885 params.position.z = posz + offsetz * math.floor((i-1)/2)
9886 --rPrint(params.position,100,i .. ": ")
9887 params.position[1] = params.position.x
9888 params.position[2] = params.position.y
9889 params.position[3] = params.position.z
9890
9891
9892 params.rotation = v.params.rotation
9893 params.rotation[2] = (params.rotation[2] + 180) % 360
9894 params.scale = v.params.scale
9895 params.params = {v.name}
9896 params.type = 'Custom_Model'
9897 params.callback = ''
9898 params.callback_owner = Global
9899 custom = {}
9900 custom.mesh = v.custom.mesh
9901 custom.diffuse = v.custom.diffuse
9902 custom.type = 7 -- infinite
9903 custom.material = 1
9904
9905 obj = spawnObject(params)
9906 obj.setCustomObject(custom)
9907 obj.setName(v.name)
9908 obj.setDescription("Infinite Money Bag")
9909
9910
9911 -- let chip fall into bag
9912 params.position.y = posy + 3
9913 params.position[2] = posy + 3
9914 custom.type = 5 -- chip
9915 obj = spawnObject(params)
9916 obj.setCustomObject(custom)
9917 obj.setName(v.name)
9918 end
9919 end
9920
9921
9922
9923
9924
9925 optionsCurrencies()
9926end
9927
9928
9929function spawnClock(ob, pl)
9930 if pl then
9931 if not Player[pl].admin then
9932 return 1
9933 end
9934 end
9935
9936 if clock ~= nil and clock ~= null then
9937 if pl then
9938 clock.Clock.setValue(options.clocktime + 1)
9939 clock.Clock.pauseStart()
9940 clock.clearButtons()
9941 end
9942 return 1
9943 end
9944
9945 local params = {}
9946 if actionon then
9947 local playerhand = getPlayerHandPositionAndRotation(actionon)
9948
9949 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 8, 0.5, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 8}
9950 params.rotation = {90, playerhand['rot_y'], 0}
9951 else
9952 params.position = {0, 0.5, -4}
9953 params.rotation = {90, 180, 0}
9954 end
9955
9956 params.type = 'Digital_Clock'
9957 params.callback = 'setClockTimer'
9958 if pl then
9959 params.params = {pl}
9960 else
9961 params.params = nil
9962 end
9963
9964 clock = spawnObject(params)
9965
9966end
9967
9968function setClockTimer(ob, pl)
9969 clock.lock()
9970
9971 if pl then
9972 clock.Clock.setValue(options.clocktime + 1)
9973 else
9974 clock.Clock.setValue(options.autoclocktime + 1)
9975 end
9976
9977 clock.Clock.pauseStart()
9978
9979 if options.autoclock and options.clockpausebutton and not pl then
9980 local button = {}
9981 button.rotation = {90, 180, 0}
9982 button.position = {-0.3, 0.5, -0.15}
9983 button.font_size = 60
9984 button.width = 200
9985 button.height = 50
9986 button.label = 'Pause'
9987 button.click_function = 'pauseClock'
9988 clock.createButton(button)
9989 end
9990 startLuaCoroutine(nil, 'setClockTimerCoroutine')
9991end
9992
9993function setClockTimerCoroutine()
9994
9995 local clockGUID = clock.getGUID()
9996
9997 while clock ~= nil and clock ~= null and clock.Clock.getValue() > 0 do
9998 coroutine.yield(0)
9999 end
10000
10001 local t = os.clock()
10002
10003 while os.clock() < t+1 do
10004 coroutine.yield(0)
10005 end
10006
10007 if clock ~= nil and clock ~= null then
10008 if clockGUID ~= clock.getGUID() then
10009 return 1
10010 end
10011 else
10012 return 1
10013 end
10014
10015 if options.autofold then
10016 foldPlayer()
10017 end
10018
10019 clock.destruct()
10020
10021 return 1
10022end
10023
10024function toggleAutoclock(ob, pl)
10025 if not Player[pl].admin then
10026 return 1
10027 end
10028
10029 options.autoclock = not options.autoclock
10030 optionsHost()
10031end
10032
10033function toggleAutofold(ob, pl)
10034 if not Player[pl].admin then
10035 return 1
10036 end
10037
10038 options.autofold = not options.autofold
10039 optionsHost()
10040end
10041
10042function decreaseAutoclockTime(ob, pl)
10043 if not Player[pl].admin then
10044 return 1
10045 end
10046
10047 if options.autoclocktime > 1 then
10048 options.autoclocktime = options.autoclocktime - 1
10049 end
10050 optionsHost()
10051end
10052
10053function increaseAutoclockTime(ob, pl)
10054 if not Player[pl].admin then
10055 return 1
10056 end
10057
10058 options.autoclocktime = options.autoclocktime + 1
10059 optionsHost()
10060end
10061
10062function toggleAutoclockPauseButton(ob, pl)
10063 if not Player[pl].admin then
10064 return 1
10065 end
10066
10067 options.clockpausebutton = not options.clockpausebutton
10068 optionsHost()
10069end
10070
10071function pauseClock(ob, pl)
10072 if not Player[pl].admin and pl ~= actionon then
10073 return 1
10074 end
10075
10076 clock.Clock.pauseStart()
10077end
10078
10079function decreaseClockTime5(ob, pl)
10080 if not Player[pl].admin then
10081 return 1
10082 end
10083
10084 if options.clocktime > 5 then
10085 options.clocktime = options.clocktime - 5
10086 else
10087 return 1
10088 end
10089
10090 optionsMain()
10091end
10092function decreaseClockTime1(ob, pl)
10093 if not Player[pl].admin then
10094 return 1
10095 end
10096
10097 if options.clocktime > 1 then
10098 options.clocktime = options.clocktime - 1
10099 else
10100 return 1
10101 end
10102
10103 optionsMain()
10104end
10105function increaseClockTime1(ob, pl)
10106 if not Player[pl].admin then
10107 return 1
10108 end
10109
10110 options.clocktime = options.clocktime + 1
10111
10112 optionsMain()
10113end
10114function increaseClockTime5(ob, pl)
10115 if not Player[pl].admin then
10116 return 1
10117 end
10118
10119 options.clocktime = options.clocktime + 5
10120
10121 optionsMain()
10122end
10123
10124function foldPlayer(ob, pl)
10125
10126 if pl then
10127 if not Player[pl].admin then
10128 return 1
10129 end
10130 end
10131
10132 if muck == nil or muck == null then
10133 checkAndRespawnObjects()
10134 --print ('The muck object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
10135 --return 1
10136 end
10137
10138 if actionon then
10139 local cards = Player[actionon].getHandObjects()
10140 local p = muck.getPosition()
10141 local r = muck.getRotation()
10142 p.y = p.y + 0.25
10143 r.x = 180
10144 r.z = 0
10145
10146 for i, v in ipairs (cards) do
10147 v.setRotation(r)
10148 v.setPosition(p)
10149 v.translate({0, 0.1, 0})
10150 p.y = p.y + 0.01
10151 end
10152 end
10153
10154 startLuaCoroutine(nil, 'delayedAction')
10155end
10156
10157function delayedAction()
10158 for i = 1, 2 do
10159 coroutine.yield(0)
10160 end
10161
10162 action()
10163 return 1
10164end
10165
10166function decreaseHybridThreshold1000(ob, pl)
10167 if not Player[pl].admin then
10168 return 1
10169 end
10170
10171 if options.hybridthreshold > 1000 then
10172 options.hybridthreshold = options.hybridthreshold - 1000
10173 end
10174
10175 optionsHost()
10176end
10177
10178function decreaseHybridThreshold100(ob, pl)
10179 if not Player[pl].admin then
10180 return 1
10181 end
10182
10183 if options.hybridthreshold > 100 then
10184 options.hybridthreshold = options.hybridthreshold - 100
10185 end
10186
10187 optionsHost()
10188end
10189
10190function increaseHybridThreshold100(ob, pl)
10191 if not Player[pl].admin then
10192 return 1
10193 end
10194
10195 options.hybridthreshold = options.hybridthreshold + 100
10196
10197 optionsHost()
10198end
10199
10200function increaseHybridThreshold1000(ob, pl)
10201 if not Player[pl].admin then
10202 return 1
10203 end
10204
10205 options.hybridthreshold = options.hybridthreshold + 1000
10206
10207 optionsHost()
10208end
10209
10210
10211function decreaseConvertStackHeight1(ob, pl)
10212 if not Player[pl].admin then
10213 return 1
10214 end
10215
10216 if options.convertstackheight > 1 then
10217 options.convertstackheight = options.convertstackheight - 1
10218 else
10219 options.convertstackheight = 0
10220 end
10221
10222 optionsHost()
10223end
10224
10225function increaseConvertStackHeight1(ob, pl)
10226 if not Player[pl].admin then
10227 return 1
10228 end
10229 options.convertstackheight = options.convertstackheight + 1
10230
10231 if options.convertstackheight >= 10 then
10232 options.convertstackheight = 10
10233 end
10234 optionsHost()
10235end
10236
10237
10238
10239
10240
10241
10242
10243function doNothing()
10244end
10245
10246function changeFontColor(ob, pl)
10247
10248 if not Player[pl].admin then
10249 return 1
10250 end
10251
10252 local color = colorball.getColorTint()
10253 pottext.TextTool.setFontColor(color)
10254 currentbettext.TextTool.setFontColor(color)
10255 muck.setColorTint(color)
10256 boardobject.setColorTint(color)
10257end
10258
10259function changeTableColor(ob, pl)
10260
10261 if not Player[pl].admin then
10262 return 1
10263 end
10264
10265 local color = colorball.getColorTint()
10266 overlay.setColorTint(color)
10267end
10268
10269function setGameModeTexas(ob, pl)
10270
10271 if not Player[pl].admin or options.gamemode == 'texas' then
10272 return 1
10273 end
10274
10275 options.gamemode = 'texas'
10276 printToAll('Game mode set to Texas Hold\'em. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10277
10278 optionsHost()
10279end
10280function setGameModeOmaha(ob, pl)
10281
10282 if not Player[pl].admin or options.gamemode == 'omaha' then
10283 return 1
10284 end
10285
10286 options.gamemode = 'omaha'
10287 printToAll('Game mode set to Omaha Hold\'em. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10288
10289 optionsHost()
10290end
10291function setGameModePineapple(ob, pl)
10292
10293 if not Player[pl].admin or options.gamemode == 'pineapple' then
10294 return 1
10295 end
10296
10297 options.gamemode = 'pineapple'
10298 printToAll('Game mode set to Pineapple. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10299
10300 optionsHost()
10301end
10302function setGameModeFiveCard(ob, pl)
10303
10304 if not Player[pl].admin or options.gamemode == 'fivecard' then
10305 return 1
10306 end
10307
10308 options.gamemode = 'fivedraw'
10309 printToAll('Game mode set to Five Card Draw. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10310
10311 optionsHost()
10312end
10313
10314function getParams(obj)
10315 local params = {}
10316 params.position = obj.getPosition()
10317 params.scale = obj.getScale()
10318 params.rotation = obj.getRotation()
10319
10320 return params
10321end
10322
10323function setTheme1(ob, pl)
10324
10325 if not Player[pl].admin then
10326 return 1
10327 end
10328
10329 themeindex = 1
10330 subthemeindex = 1
10331 optionsThemes()
10332end
10333
10334function setTheme2(ob, pl)
10335
10336 if not Player[pl].admin then
10337 return 1
10338 end
10339
10340 themeindex = 2
10341 subthemeindex = 1
10342 optionsThemes()
10343end
10344
10345function setTheme3(ob, pl)
10346
10347 if not Player[pl].admin then
10348 return 1
10349 end
10350
10351 themeindex = 3
10352 subthemeindex = 1
10353 optionsThemes()
10354end
10355
10356function setTheme4(ob, pl)
10357
10358 if not Player[pl].admin then
10359 return 1
10360 end
10361
10362 themeindex = 4
10363 subthemeindex = 1
10364 optionsThemes()
10365end
10366
10367function setTheme5(ob, pl)
10368
10369 if not Player[pl].admin then
10370 return 1
10371 end
10372
10373 themeindex = 5
10374 subthemeindex = 1
10375 optionsThemes()
10376end
10377
10378function setTheme6(ob, pl)
10379
10380 if not Player[pl].admin then
10381 return 1
10382 end
10383
10384 themeindex = 6
10385 subthemeindex = 1
10386 optionsThemes()
10387end
10388
10389function setTheme7(ob, pl)
10390
10391 if not Player[pl].admin then
10392 return 1
10393 end
10394
10395 themeindex = 7
10396 subthemeindex = 1
10397 optionsThemes()
10398end
10399
10400function setTheme8(ob, pl)
10401
10402 if not Player[pl].admin then
10403 return 1
10404 end
10405
10406 themeindex = 8
10407 subthemeindex = 1
10408 optionsThemes()
10409end
10410
10411function setTheme9(ob, pl)
10412
10413 if not Player[pl].admin then
10414 return 1
10415 end
10416
10417 themeindex = 9
10418 subthemeindex = 1
10419 optionsThemes()
10420end
10421
10422function setTheme10(ob, pl)
10423
10424 if not Player[pl].admin then
10425 return 1
10426 end
10427
10428 themeindex = 10
10429 subthemeindex = 1
10430 optionsThemes()
10431end
10432
10433function setTheme11(ob, pl)
10434
10435 if not Player[pl].admin then
10436 return 1
10437 end
10438
10439 themeindex = 11
10440 subthemeindex = 1
10441 optionsThemes()
10442end
10443
10444function setTheme12(ob, pl)
10445
10446 if not Player[pl].admin then
10447 return 1
10448 end
10449
10450 themeindex = 12
10451 subthemeindex = 1
10452 optionsThemes()
10453end
10454
10455function setSubtheme1(ob, pl)
10456
10457 if not Player[pl].admin then
10458 return 1
10459 end
10460
10461 subthemeindex = 1
10462 optionsThemes()
10463end
10464function setSubtheme2(ob, pl)
10465
10466 if not Player[pl].admin then
10467 return 1
10468 end
10469
10470 subthemeindex = 2
10471 optionsThemes()
10472end
10473function setSubtheme3(ob, pl)
10474
10475 if not Player[pl].admin then
10476 return 1
10477 end
10478
10479 subthemeindex = 3
10480 optionsThemes()
10481end
10482function setSubtheme4(ob, pl)
10483
10484 if not Player[pl].admin then
10485 return 1
10486 end
10487
10488 subthemeindex = 4
10489 optionsThemes()
10490end
10491function setSubtheme5(ob, pl)
10492
10493 if not Player[pl].admin then
10494 return 1
10495 end
10496
10497 subthemeindex = 5
10498 optionsThemes()
10499end
10500function setSubtheme6(ob, pl)
10501
10502 if not Player[pl].admin then
10503 return 1
10504 end
10505
10506 subthemeindex = 6
10507 optionsThemes()
10508end
10509function setSubtheme7(ob, pl)
10510
10511 if not Player[pl].admin then
10512 return 1
10513 end
10514
10515 subthemeindex = 7
10516 optionsThemes()
10517end
10518function setSubtheme8(ob, pl)
10519
10520 if not Player[pl].admin then
10521 return 1
10522 end
10523
10524 subthemeindex = 8
10525 optionsThemes()
10526end
10527function setSubtheme9(ob, pl)
10528
10529 if not Player[pl].admin then
10530 return 1
10531 end
10532
10533 subthemeindex = 9
10534 optionsThemes()
10535end
10536function setSubtheme10(ob, pl)
10537
10538 if not Player[pl].admin then
10539 return 1
10540 end
10541
10542 subthemeindex = 10
10543 optionsThemes()
10544end
10545function setSubtheme11(ob, pl)
10546
10547 if not Player[pl].admin then
10548 return 1
10549 end
10550
10551 subthemeindex = 11
10552 optionsThemes()
10553end
10554function setSubtheme12(ob, pl)
10555
10556 if not Player[pl].admin then
10557 return 1
10558 end
10559
10560 subthemeindex = 12
10561 optionsThemes()
10562end
10563
10564function overlay1 (ob, pl)
10565
10566 if not Player[pl].admin then
10567 return 1
10568 end
10569
10570 changeOverlay(themes[themeindex][subthemeindex][1].diffuse)
10571
10572end
10573function overlay2 (ob, pl)
10574
10575 if not Player[pl].admin then
10576 return 1
10577 end
10578
10579 changeOverlay(themes[themeindex][subthemeindex][2].diffuse)
10580
10581end
10582function overlay3 (ob, pl)
10583
10584 if not Player[pl].admin then
10585 return 1
10586 end
10587
10588 changeOverlay(themes[themeindex][subthemeindex][3].diffuse)
10589
10590end
10591function overlay4 (ob, pl)
10592
10593 if not Player[pl].admin then
10594 return 1
10595 end
10596
10597 changeOverlay(themes[themeindex][subthemeindex][4].diffuse)
10598
10599end
10600function overlay5 (ob, pl)
10601
10602 if not Player[pl].admin then
10603 return 1
10604 end
10605
10606 changeOverlay(themes[themeindex][subthemeindex][5].diffuse)
10607
10608end
10609function overlay6 (ob, pl)
10610
10611 if not Player[pl].admin then
10612 return 1
10613 end
10614
10615 changeOverlay(themes[themeindex][subthemeindex][6].diffuse)
10616
10617end
10618function overlay7 (ob, pl)
10619
10620 if not Player[pl].admin then
10621 return 1
10622 end
10623
10624 changeOverlay(themes[themeindex][subthemeindex][7].diffuse)
10625
10626end
10627function overlay8 (ob, pl)
10628
10629 if not Player[pl].admin then
10630 return 1
10631 end
10632
10633 changeOverlay(themes[themeindex][subthemeindex][8].diffuse)
10634
10635end
10636function overlay9 (ob, pl)
10637
10638 if not Player[pl].admin then
10639 return 1
10640 end
10641
10642 changeOverlay(themes[themeindex][subthemeindex][9].diffuse)
10643
10644end
10645function overlay10 (ob, pl)
10646
10647 if not Player[pl].admin then
10648 return 1
10649 end
10650
10651 changeOverlay(themes[themeindex][subthemeindex][10].diffuse)
10652
10653end
10654function overlay11 (ob, pl)
10655
10656 if not Player[pl].admin then
10657 return 1
10658 end
10659
10660 changeOverlay(themes[themeindex][subthemeindex][11].diffuse)
10661
10662end
10663function overlay12 (ob, pl)
10664
10665 if not Player[pl].admin then
10666 return 1
10667 end
10668
10669 changeOverlay(themes[themeindex][subthemeindex][12].diffuse)
10670
10671end
10672
10673function changeOverlay(diffuse)
10674
10675 local custom = overlay.getCustomObject()
10676 custom.diffuse = diffuse
10677
10678 overlay.setCustomObject(custom)
10679 overlay = overlay.reload()
10680 overlay.interactable = false
10681 overlay.setColorTint({1, 1, 1})
10682
10683end
10684
10685--[[ Destroy options panel --]]
10686function destroyOptionsPanel(ob, pl)
10687
10688 if pl and not Player[pl].admin then
10689 return 1
10690 end
10691
10692 optionspanel.clearButtons()
10693 optionspanel.destruct()
10694 optionspanel = nil
10695 if colorball ~= nil and colorball ~= null then
10696 colorball.destruct()
10697 end
10698end
10699
10700function toggleBlindsSkipAFK(ob, pl)
10701
10702 if not Player[pl].admin then
10703 return 1
10704 end
10705
10706 options.blindsskipafk = not options.blindsskipafk
10707
10708 optionsHost()
10709end
10710
10711function darkenOverlay(ob, pl)
10712
10713 if not Player[pl].admin then
10714 return 1
10715 end
10716
10717 local color = overlay.getColorTint()
10718 for i, v in pairs (color) do
10719 if v >= 0.05 then
10720 color[i] = v - 0.05
10721 else
10722 color[i] = 0
10723 end
10724 end
10725
10726 overlay.setColorTint(color)
10727end
10728
10729function lightenOverlay(ob, pl)
10730
10731 if not Player[pl].admin then
10732 return 1
10733 end
10734
10735 local color = overlay.getColorTint()
10736 for i, v in pairs (color) do
10737 if v <= 1.95 then
10738 color[i] = v + 0.05
10739 else
10740 color[i] = 2
10741 end
10742 end
10743
10744 overlay.setColorTint(color)
10745end
10746
10747function changeCollectMethod(ob, pl)
10748 if not Player[pl].admin then
10749 return 1
10750 end
10751
10752 if options.collectmethod == 'move' then
10753 options.collectmethod = 'convert'
10754 print('Collect method set to: Convert. Bets will now be converted up when collected. Bets will be convert with at least a height of ' .. options.convertstackheight)
10755 elseif options.collectmethod == 'convert' then
10756 options.collectmethod = 'hybrid'
10757 print('Collect method set to: Hybrid. Bets will be converted up once the pot is over $'..options.hybridthreshold..'.')
10758 elseif options.collectmethod == 'hybrid' then
10759 options.collectmethod = 'move'
10760 print('Collect method set to: Move. Bets will be moved into the pot.')
10761 else
10762 options.collectmethod = 'move'
10763 print('Unknown collect method found: Collect method set to: Move. Bets will be moved into the pot.')
10764 end
10765
10766 optionsHost()
10767end
10768
10769function checkAndRespawnObjects(ob, pl)
10770 if pl then
10771 if not Player[pl].admin then
10772 return 1
10773 end
10774 end
10775
10776 sidepotcalculated = false
10777
10778
10779 local meshes = {'http://pastebin.com/raw/133e1Z0L', 'http://pastebin.com/raw/U9rtcyua', 'http://pastebin.com/raw/uvvaV5Np', 'https://raw.githubusercontent.com/johnpenny/tts-poker-table-coverings/master/poker-table-boards.obj'}
10780 local diffuses = {'http://i.imgur.com/QinS8Hc.png', 'http://i.imgur.com/hIKi7Mq.png', 'http://i.imgur.com/novIseH.png', 'http://i.imgur.com/jPnTE9e.png'}
10781 local allobjects = getAllObjects()
10782 local objects = {'muck', 'boardobject', 'potobject', 'overlay'}
10783 local objectnames = {'Muck', 'Board', 'Pot', 'Overlay'}
10784 local objectexists = {false, false, false, false} -- muck, board, pot, overlay
10785 local positions = {{-9.175, 1.35, -1.9}, {0, 1.35, -2}, {0, 1.35, -7.5}, {0, 0.7, 0}}
10786 local custom = {}
10787 local params = {}
10788 local textparams = {}
10789 textparams.type = '3DText'
10790
10791 -- mark unlost objects as existing
10792 for i, v in ipairs (objects) do
10793 if Global.getVar(v) ~= nil and Global.getVar(v) ~= null then
10794 objectexists[i] = true
10795 --print (objectnames[i]..' exists.')
10796 end
10797 end
10798
10799 -- search for objects and reassign any that are found
10800 for i, v in ipairs (allobjects) do
10801 custom = v.getCustomObject()
10802 for j, w in ipairs (meshes) do
10803 if custom.mesh == w then
10804 if not objectexists[j] then
10805 Global.setVar(objects[j] , v)
10806 objectexists[j] = true
10807 print(objectnames[j]..' reassigned.')
10808 end
10809 end
10810 end
10811 end
10812
10813 -- respawn nonexistent objects
10814 for i, v in ipairs (objectexists) do
10815 if not v then
10816 params.type = 'Custom_Model'
10817 params.position = positions[i]
10818 params.rotation = {0, 0, 0}
10819
10820 custom.mesh = meshes[i]
10821 custom.diffuse = diffuses[i]
10822 custom.type = 4
10823
10824 local o = spawnObject(params)
10825 o.setCustomObject(custom)
10826
10827 if i ~= 4 then
10828 o.setLuaScript(scripts[i])
10829 else
10830 o.lock()
10831 o.interactable = false
10832 o.setName('Table Overlay')
10833 end
10834
10835 Global.setVar(objects[i], o)
10836
10837 print (objectnames[i]..' respawned.')
10838 end
10839 end
10840 local actionscript = "blubb"
10841
10842 --[[ Check and respawn texts --]]
10843 if actiontext == nil or actiontext == null then
10844 textparams.position = {0, 0, 0}
10845 textparams.rotation = {0, 0, 0}
10846 actiontext = spawnObject(textparams)
10847 actiontext.TextTool.setValue('Action')
10848 actiontext.TextTool.setFontSize(68)
10849 actiontext.setLuaScript(scripts[4])
10850 end
10851 if pottext == nil or pottext == null then
10852 textparams.position = {0, 1.33, 0}
10853 textparams.callback = 'spawnTextCallback'
10854 pottext = spawnObject(textparams)
10855 pottext.TextTool.setFontSize(64)
10856 end
10857 if currentbettext == nil or currentbettext == null then
10858 textparams.position = {0, 1.33, 1}
10859 textparams.callback = 'spawnTextCallback'
10860 currentbettext = spawnObject(textparams)
10861 currentbettext.TextTool.setFontSize(64)
10862 end
10863 for i, v in ipairs(colors) do
10864 if bettext[v] == nil or bettext[v] == null then
10865 local playerhand = Player[v].getHandTransform(1)
10866 textparams.position = {playerhand.position.x + playerhand.forward.x * 10 + playerhand.right.x * 4, 1.4, playerhand.position.z + playerhand.forward.z * 10 + playerhand.right.z * 4}
10867 textparams.callback = 'spawnTextCallback'
10868 bettext[v] = spawnObject(textparams)
10869 bettext[v].TextTool.setFontSize(64)
10870 bettext[v].TextTool.setFontColor(fontcolors[v])
10871 end
10872 if sidepottext[v] == nil or sidepottext[v] == null then
10873
10874 local playerhand = Player[v].getHandTransform(1)
10875 textparams.position = {playerhand.position.x + playerhand.forward.x * 10.8, 1.33, playerhand.position.z + playerhand.forward.z * 10.8}
10876 textparams.callback = 'spawnTextCallback'
10877 sidepottext[v] = spawnObject(textparams)
10878 sidepottext[v].TextTool.setFontSize(64)
10879 sidepottext[v].TextTool.setFontColor(fontcolors[v])
10880 sidepottext[v].setValue("spawned")
10881 end
10882 if tablezonetext[v] == nil or tablezonetext[v] == null then
10883 local chips = {}
10884 local playerhand = Player[v].getHandTransform(1)
10885 textparams.position = {playerhand.position.x + playerhand.forward.x * -2.5 + playerhand.right.x * 4, 1.4, playerhand.position.z + playerhand.forward.z * -2.5 + playerhand.right.z * 4}
10886 textparams.callback = 'spawnTextCallback'
10887 tablezonetext[v] = spawnObject(textparams)
10888 tablezonetext[v].TextTool.setFontSize(64)
10889 tablezonetext[v].TextTool.setFontColor({1,1,1}) -- Black
10890
10891 if options.displayplayermoney then
10892 money = getChipValues(tablezones[v],chips)
10893 tablezonetext[v].setValue("$" .. money)
10894 else
10895 tablezonetext[v].setValue(" ")
10896 end
10897
10898 end
10899
10900 end
10901
10902end
10903
10904function spawnTextCallback()
10905 check = true
10906 if not (pottext == nil or pottext == null) then
10907 pottext.setRotation({90, 180, 0})
10908 else
10909 check = false
10910 end
10911 if not (currentbettext == nil or currentbettext == null) then
10912 currentbettext.setRotation({90, 180, 0})
10913 else
10914 check = false
10915 end
10916 for i, v in ipairs(colors) do
10917 local playerhand = getPlayerHandPositionAndRotation(v)
10918 if not (bettext[v] == nil or bettext[v] == null) then
10919 bettext[v].setRotation({90, playerhand['rot_y'], 0})
10920 else
10921 check = false
10922 end
10923 if not (sidepottext[v] == nil or sidepottext[v] == null or type(sidepottext[v]) == "string") then
10924 sidepottext[v].setRotation({90, playerhand['rot_y'], 0})
10925 else
10926 check = false
10927 end
10928 if not (tablezonetext[v] == nil or tablezonetext[v] == null) then
10929 tablezonetext[v].setRotation({90, playerhand['rot_y'], 0})
10930 else
10931 check = false
10932 end
10933 end
10934 if check then
10935 calculatePots()
10936 end
10937end
10938
10939function togglePlayerClickAction(ob, pl)
10940 if not Player[pl].admin then
10941 return 1
10942 end
10943
10944 if options.playerclickaction then
10945 options.playerclickaction = false
10946 print ('The Action button will now remain in a static position for the host to click.')
10947
10948 local buttons = actionbutton.getButtons()
10949
10950 buttons[1].label = 'Action'
10951
10952 actionbutton.editButton(buttons[1])
10953 else
10954 options.playerclickaction = true
10955 print ('The action button will now be moved in front of the player whose turn it is to act.')
10956
10957 local buttons = actionbutton.getButtons()
10958
10959 buttons[1].label = 'Done'
10960
10961 actionbutton.editButton(buttons[1])
10962 end
10963
10964 optionsHost()
10965end
10966
10967function toggleEnforcePotLimit(ob, pl)
10968 if not Player[pl].admin then
10969 return 1
10970 end
10971
10972 options.enforcepotlimit = not options.enforcepotlimit
10973
10974 optionsHost()
10975end
10976
10977function toggleEnforceFoldInTurn(ob, pl)
10978 if not Player[pl].admin then
10979 return 1
10980 end
10981
10982 options.enforcefoldinturn = not options.enforcefoldinturn
10983
10984 optionsHost()
10985end
10986
10987function toggleEnforceDoubleRaise(ob, pl)
10988 if not Player[pl].admin then
10989 return 1
10990 end
10991
10992 options.enforcedoubleraise = not options.enforcedoubleraise
10993
10994 optionsHost()
10995end
10996
10997function toggleActionMessage(ob, pl)
10998 if not Player[pl].admin then
10999 return 1
11000 end
11001
11002 options.chatoptions.actionmessage = not options.chatoptions.actionmessage
11003
11004 optionsChat()
11005end
11006
11007function toggleActionBroadcast(ob, pl)
11008 if not Player[pl].admin then
11009 return 1
11010 end
11011
11012 options.chatoptions.actionbroadcast = not options.chatoptions.actionbroadcast
11013
11014 optionsChat()
11015end
11016
11017function toggleStageBroadcast(ob, pl)
11018 if not Player[pl].admin then
11019 return 1
11020 end
11021
11022 options.chatoptions.stage = not options.chatoptions.stage
11023
11024 optionsChat()
11025end
11026
11027function toggleCurrentBetMessage(ob, pl)
11028 if not Player[pl].admin then
11029 return 1
11030 end
11031
11032 options.chatoptions.currentbetmessage = not options.chatoptions.currentbetmessage
11033
11034 optionsChat()
11035end
11036
11037function toggleBetter(ob, pl)
11038 if not Player[pl].admin then
11039 return 1
11040 end
11041
11042 options.chatoptions.better = not options.chatoptions.better
11043
11044 optionsChat()
11045end
11046
11047function toggleAllinBroadcast(ob, pl)
11048 if not Player[pl].admin then
11049 return 1
11050 end
11051
11052 options.chatoptions.allinbroadcast = not options.chatoptions.allinbroadcast
11053
11054 optionsChat()
11055end
11056
11057function togglePotMessage(ob, pl)
11058 if not Player[pl].admin then
11059 return 1
11060 end
11061
11062 if options.chatoptions.potmessage >= 2 then
11063 options.chatoptions.potmessage = 0
11064 else
11065 options.chatoptions.potmessage = options.chatoptions.potmessage + 1
11066 end
11067
11068 optionsChat()
11069end
11070
11071function printMessages()
11072
11073 local p = ''
11074
11075 for i, v in ipairs(colors) do
11076 if string.find(printstring, v) then
11077 p = v
11078 break
11079 end
11080 end
11081
11082 if string.find(printstring, 'bet') or string.find(printstring, 'raise') then
11083 if options.chatoptions.currentbetmessage then
11084 local s = 'Current bet: $'..currentbet
11085 if options.chatoptions.better then
11086 if string.find(printstring, 'bet') then
11087 if Player[p].steam_name then
11088 s = s..', made by '..fontcolors[p].bbcode..Player[p].steam_name..'[ffffff].'
11089 else
11090 s = s..', made by '..fontcolors[p].bbcode..p..'[ffffff].'
11091 end
11092 else
11093 if Player[p].steam_name then
11094 s = s..', raised by '..fontcolors[p].bbcode..Player[p].steam_name..'[ffffff].'
11095 else
11096 s = s..', raised by '..fontcolors[p].bbcode..p..'[ffffff].'
11097 end
11098 end
11099 else
11100 s = s..'.'
11101 end
11102
11103 printToAll(s, {1, 1, 1})
11104 end
11105 end
11106
11107
11108 if options.chatoptions.allinbroadcast and string.find(printstring, 'allin') then
11109 if string.find(printstring, p) then
11110 if Player[p].steam_name then
11111 broadcastToAll (fontcolors[p].bbcode..Player[p].steam_name..'[ffffff] is all in!', {1, 1, 1})
11112 else
11113 broadcastToAll (fontcolors[p].bbcode..p..'[ffffff] is all in!.', {1, 1, 1})
11114 end
11115 end
11116 end
11117
11118 if string.find(printstring, 'action') and actionon then
11119
11120 if options.chatoptions.actionmessage then
11121 if Player[actionon].steam_name then
11122 printToAll ("Action on "..fontcolors[actionon].bbcode..Player[actionon].steam_name..'[ffffff].', {1, 1, 1})
11123 else
11124 printToAll ("Action on "..fontcolors[actionon].bbcode..actionon..'[ffffff].', {1, 1, 1})
11125 end
11126 end
11127
11128 if options.chatoptions.actionbroadcast and Player[actionon].seated then
11129 broadcastToColor("Action on you!", actionon, {1, 0, 0})
11130 end
11131 end
11132
11133 if options.chatoptions.potmessage > 0 then
11134 if (options.chatoptions.potmessage >= 1 and string.find(printstring, 'collect')) or (options.chatoptions.potmessage > 1 and string.find(printstring, 'pot')) then
11135 printToAll('Pot: $'..pot..'.', {1, 1, 1})
11136 end
11137 end
11138
11139 printstring = ''
11140end
11141
11142function onObjectDropped(player, object)
11143 if handinprogress and object.tag == 'Card' then
11144
11145 if handsshown[player] then return 0 end -- if the player already revealed their hand, then abort function. this is to prevent players from spamming chat by repeatedly picking up and dropping their cards
11146 for i, v in ipairs (colors) do
11147 for j, w in ipairs (Player[v].getHandObjects()) do
11148 if w == object then return 0 end -- they dropped it into their hand, so abort function
11149 end
11150 end
11151 local r = object.getRotation()
11152 if (r.x < 80 or r.x > 280) and (r.z < 80 or r.z > 280) then -- it's face-up
11153 for i, v in ipairs (holecards[player]) do
11154 if v == object.getGUID() then
11155 table.insert(revealedcards[player], table.remove(holecards[player], i))
11156 break
11157 end
11158 end
11159 if #holecards[player] == 0 then
11160 handsshown[player] = true
11161 evaluateHand(player)
11162 end
11163 end
11164 end
11165
11166 if isCurrency(object) then
11167 for i, v in ipairs (colors) do
11168 local chips = {}
11169 local value = "$" .. getChipValues(tablezones[v],chips)
11170
11171
11172 if options.displayplayermoney then
11173 tablezonetext[v].setValue(value)
11174 end
11175 for j, w in ipairs (chips) do
11176 if w == object then
11177 object.setColorTint(chiptints[v])
11178 return 1
11179 end
11180 end
11181 for j, w in ipairs (backtablezones[v].getObjects()) do
11182 if w == object then
11183 object.setColorTint(chiptints[v])
11184 return 1
11185 end
11186 end
11187 for j, w in ipairs (betzones[v].getObjects()) do
11188 if w == object then
11189 object.setColorTint(chiptints[v])
11190 return 1
11191 end
11192 end
11193 end
11194 object.setColorTint({1, 1, 1})
11195 end
11196end
11197
11198function onObjectSpawn(object)
11199 if isCurrency(object) then
11200 for i, v in ipairs (colors) do
11201 for j, w in ipairs (tablezones[v].getObjects()) do
11202 if w == object then
11203 object.setColorTint(chiptints[v])
11204 return 1
11205 end
11206 end
11207 for j, w in ipairs (backtablezones[v].getObjects()) do
11208 if w == object then
11209 object.setColorTint(chiptints[v])
11210 return 1
11211 end
11212 end
11213 for j, w in ipairs (betzones[v].getObjects()) do
11214 if w == object then
11215 object.setColorTint(chiptints[v])
11216 return 1
11217 end
11218 end
11219 end
11220 object.setColorTint({1, 1, 1})
11221 end
11222end
11223
11224function isCurrency(object)
11225 if object.tag == 'Chip' then
11226 if object.getValue() then
11227 return true
11228 elseif currencycurrencyToNumber(object.getName()) ~= nil then
11229 if currencycurrencyToNumber(object.getName()) > 0 then
11230 return true
11231 end
11232 else
11233 return false
11234 end
11235 end
11236end
11237function getPlayersHoleCards()
11238 for i, v in ipairs (players) do
11239 for j, w in ipairs (Player[v].getHandObjects()) do
11240 table.insert(holecards[v], w.getGUID())
11241 end
11242 end
11243end
11244
11245function evaluateHand(player)
11246
11247 if options.gamemode == 'omaha' then return 0 end -- doesn't work for omaha since it doesn't consider which cards are in the player's hand and which are on the board.
11248
11249 local sevencards = getSevenCards(player)
11250
11251 if not sevencards then return 0 end
11252
11253 local cards = {['Spades'] = {}, ['Hearts'] = {}, ['Clubs'] = {}, ['Diamonds'] = {}}
11254 local suits = {'Spades', 'Hearts', 'Clubs', 'Diamonds'}
11255 local ranks = {'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King','Ace'}
11256 local handranks = {'Royal Flush', 'Straight Flush', 'Four of a Kind', 'Full House', 'Flush', 'Straight', 'Three of a Kind', 'Two Pairs', 'One Pair', 'High Card'}
11257
11258 -- Populate cards table
11259 for i, v in ipairs (sevencards) do
11260 for j, w in ipairs (ranks) do
11261 if getConvertedName(v.getName()) == w then
11262 table.insert(cards[v.getDescription()], nameToValue(w))
11263 break
11264 end
11265 end
11266 end
11267
11268 -- Sort tables
11269 for i, v in ipairs (suits) do
11270 table.sort(cards[v])
11271 end
11272
11273 -- Check for each type of hand until a hand is found
11274
11275 -- Royal flush
11276
11277 local flushexists = false
11278 local flushsuit = ''
11279
11280 for i, v in ipairs (suits) do
11281 if #cards[v] >= 5 then -- a flush exists at least
11282 flushexists = true
11283 flushsuit = v
11284 local value = 0
11285 for j = 1, 5 do
11286 value = value + cards[v][#cards[v] - (j-1)]
11287 end
11288 if value == 60 then -- it's a royal flush!
11289 broadcastToAll(player..' shows a '..flushsuit..' Royal Flush!', {0, 1, 0})
11290 return 0
11291 end
11292 end
11293 end
11294
11295 -- Straight Flush
11296
11297 if flushexists then
11298 local consecutives = 0
11299 local highcard = 0
11300 local lowconsecutives = false
11301 local ace = false
11302 for i, v in ipairs (cards[flushsuit]) do
11303 if i == 1 then
11304 consecutives = 1
11305 else
11306 if v == (cards[flushsuit][i - 1] + 1) then
11307 consecutives = consecutives + 1
11308 if consecutives >= 5 then
11309 highcard = v
11310 elseif consecutives == 4 and v == 5 then
11311 lowconsecutives = true
11312 end
11313 else
11314 consecutives = 1
11315 end
11316 if v == 14 then
11317 ace = true
11318 end
11319 end
11320 end
11321
11322 -- check for straight flush to the 5
11323 if highcard == 0 and ace and lowconsecutives then highcard = 5 end
11324
11325 if highcard > 0 then
11326 broadcastToAll (fontcolors[player].bbcode..player..' shows a '..flushsuit..' Straight Flush to the '..valueToName(highcard), {1, 1, 1})
11327 return 0
11328 end
11329 end
11330
11331 -- Create list of all cards based on rank to use in finding pairs, etc.
11332
11333 local cards2 = {}
11334
11335 for i, v in ipairs (suits) do
11336 for j, w in ipairs (cards[v]) do
11337 table.insert(cards2, w)
11338 end
11339 end
11340
11341 table.sort(cards2)
11342
11343 local quantities = {}
11344
11345 for i, v in ipairs (cards2) do
11346 if not quantities[valueToName(v)] then
11347 quantities[valueToName(v)] = 1
11348 else
11349 quantities[valueToName(v)] = quantities[valueToName(v)] + 1
11350 end
11351 end
11352
11353 local quads = {}
11354 local trips = {}
11355 local pairs = {}
11356 local singles = {}
11357 for i, v in ipairs (ranks) do
11358 if quantities[v] == 4 then table.insert(quads, v) end
11359 if quantities[v] == 3 then table.insert(trips, v) end
11360 if quantities[v] == 2 then table.insert(pairs, v) end
11361 if quantities[v] == 1 then table.insert(singles, v) end
11362 end
11363
11364 -- Check for quads
11365 if #quads > 0 then
11366 broadcastToAll(fontcolors[player].bbcode..player..' shows Four of a Kind: '..quads[#quads]..'s!', {1, 1, 1})
11367 return 0
11368 end
11369
11370 -- Check for full house
11371 if #trips > 0 and #trips + #pairs >= 2 then
11372 if #pairs > 0 then
11373 printToAll (fontcolors[player].bbcode..player..' shows a Full House: '..trips[#trips]..'s full of '..pairs[#pairs]..'s!', {1, 1, 1})
11374 else
11375 printToAll (fontcolors[player].bbcode..player..' shows a Full House: '..trips[#trips]..'s full of '..trips[#trips-1]..'s!', {1, 1, 1})
11376 end
11377 return 0
11378 end
11379
11380 -- Flush
11381 if flushexists then
11382 printToAll (fontcolors[player].bbcode..player..' shows a '..flushsuit..' Flush, '..valueToName(cards[flushsuit][#cards[flushsuit]])..' high!', {1, 1, 1})
11383 return 0
11384 end
11385
11386 -- Check for Straight
11387 local consecutives = 0
11388 local highcard = 0
11389 local lowconsecutives = false
11390 local ace = false
11391 for i, v in ipairs (cards2) do
11392 if i == 1 then
11393 consecutives = 1
11394 else
11395 if v == (cards2[i-1] + 1) then
11396 consecutives = consecutives + 1
11397 if consecutives >= 5 then
11398 highcard = v
11399 elseif consecutives == 4 and v == 5 then
11400 lowconsecutives = true
11401 end
11402 elseif v ~= cards2[i-1] then
11403 consecutives = 1
11404 end
11405 if v == 14 then
11406 ace = true
11407 end
11408 end
11409 end
11410
11411 -- check for straight flush to the 5
11412 if highcard == 0 and ace and lowconsecutives then highcard = 5 end
11413
11414 if highcard > 0 then
11415 printToAll (fontcolors[player].bbcode..player..' shows a Straight to the '..valueToName(highcard)..'!', {1, 1, 1})
11416 return 0
11417 end
11418
11419 -- Check for trips
11420 if #trips > 0 then
11421 printToAll (fontcolors[player].bbcode..player..' shows Three of a Kind: '..trips[#trips]..'s.', {1, 1, 1})
11422 return 0
11423 end
11424
11425 -- Check for two pair
11426 if #pairs >= 2 then
11427 printToAll (fontcolors[player].bbcode..player..' shows Two Pair: '..pairs[#pairs]..'s and '..pairs[#pairs-1]..'s.', {1, 1, 1})
11428 return 0
11429 end
11430
11431 -- Check for one pair
11432 if #pairs == 1 then
11433 printToAll (fontcolors[player].bbcode..player..' shows One Pair: '..pairs[#pairs]..'s.', {1, 1, 1})
11434 return 0
11435 end
11436
11437 -- High card
11438 printToAll (fontcolors[player].bbcode..player..' shows '..singles[#singles]..' High.', {1, 1, 1})
11439
11440end
11441
11442function getSevenCards(player)
11443 local sevencards = {}
11444
11445 for i, v in ipairs (boardzone.getObjects()) do
11446 if v.tag == 'Card' then
11447 if v.getName() == '' or v.getDescription() == '' then return nil end
11448 sevencards[#sevencards + 1] = v
11449 end
11450 end
11451 for i, v in ipairs (revealedcards[player]) do
11452 local card = getObjectFromGUID(v)
11453 if card.tag == 'Card' then
11454 if card.getName() == '' or card.getDescription() == '' then return nil end
11455 sevencards[#sevencards + 1] = card
11456 end
11457 end
11458
11459 return sevencards
11460end
11461
11462function getConvertedName(name)
11463 if name == '2' then return 'Two' end
11464 if name == '3' then return 'Three' end
11465 if name == '4' then return 'Four' end
11466 if name == '5' then return 'Five' end
11467 if name == '6' then return 'Six' end
11468 if name == '7' then return 'Seven' end
11469 if name == '8' then return 'Eight' end
11470 if name == '9' then return 'Nine' end
11471 if name == '10' then return 'Ten' end
11472 return name
11473end
11474
11475function nameToValue(name)
11476 if name == 'Two' then return 2 end
11477 if name == 'Three' then return 3 end
11478 if name == 'Four' then return 4 end
11479 if name == 'Five' then return 5 end
11480 if name == 'Six' then return 6 end
11481 if name == 'Seven' then return 7 end
11482 if name == 'Eight' then return 8 end
11483 if name == 'Nine' then return 9 end
11484 if name == 'Ten' then return 10 end
11485 if name == 'Jack' then return 11 end
11486 if name == 'Queen' then return 12 end
11487 if name == 'King' then return 13 end
11488 if name == 'Ace' then return 14 end
11489end
11490
11491function valueToName(value)
11492 if value == 2 then return 'Two' end
11493 if value == 3 then return 'Three' end
11494 if value == 4 then return 'Four' end
11495 if value == 5 then return 'Five' end
11496 if value == 6 then return 'Six' end
11497 if value == 7 then return 'Seven' end
11498 if value == 8 then return 'Eight' end
11499 if value == 9 then return 'Nine' end
11500 if value == 10 then return 'Ten' end
11501 if value == 11 then return 'Jack' end
11502 if value == 12 then return 'Queen' end
11503 if value == 13 then return 'King' end
11504 if value == 14 then return 'Ace' end
11505end
11506
11507function onObjectPickedUp(player, object)
11508
11509 if Player[player].admin then return 0 end
11510
11511 local r = object.getPosition()
11512 local description = ''
11513
11514 if object.getName() ~= '' then
11515 description = object.getName()
11516 elseif object.getValue() then
11517 description = object.getValue()
11518 else
11519 description = object.tag
11520 end
11521
11522 --[[ Check if the object is inside the dealer's area --]]
11523 if r.x < 8.5 and r.x > -8.5 and r.z < -16.5 and r.z > -52 then
11524 object.translate({0, 1, 0})
11525 print (player..' has attempted to pick up an object ('..description..') in the dealer\'s area.')
11526 return 0
11527 end
11528
11529 --[[ Check if the object is on another player's table or bet zone, and not in player's own table or betzone --]]
11530
11531 if not objectExistsInList(tablezones[player].getObjects(), object) and not objectExistsInList(betzones[player].getObjects(), object) then
11532 for i, v in ipairs (colors) do
11533 if v ~= player then
11534 if objectExistsInList(tablezones[v].getObjects(), object) or objectExistsInList(betzones[v].getObjects(), object) or objectExistsInList(backtablezones[v].getObjects(), object) then
11535 object.translate({0, 1, 0})
11536 print (player..' has attempted to pick up an object ('..description..') on player '..v..'\'s table or bet square.')
11537 return 0
11538 end
11539 end
11540 end
11541 end
11542
11543 --[[ If the object is a card and not in the player's own hand, then drop it. Only works with named cards. --]]
11544
11545 local ranks = {['Ace'] = true, ['Two'] = true, ['Three'] = true, ['Four'] = true, ['Five'] = true, ['Six'] = true, ['Seven'] = true, ['Eight'] = true, ['Nine'] = true, ['Ten'] = true, ['Jack'] = true, ['Queen'] = true, ['King'] = true}
11546 if object.tag == 'Card' and ranks[getConvertedName(object.getName())] then
11547 for i, v in ipairs (Player[player].getHandObjects()) do
11548 if object == v then return 0 end
11549 end
11550 for i, v in ipairs (holecards[player]) do
11551 if object.getGUID() == v then return 0 end
11552 end
11553 for i, v in ipairs (revealedcards[player]) do
11554 if object.getGUID() == v then return 0 end
11555 end
11556 object.translate({0, 1, 0})
11557 print (player..' has attempted to pick up a card that does not belong to them.')
11558 end
11559end
11560
11561function initializePot()
11562 local p = {}
11563 p = stacklayout[options.stacklayout]
11564
11565 -- reset height
11566 for i, v in pairs (p) do
11567 v.height = 0
11568 v.x = 0
11569 v.y = 0
11570 v.z = 0
11571 end
11572 return p
11573end
11574
11575function createSidepot(ob, pl)
11576 createSidepotPl = pl
11577 createSidepotOb = ob
11578 startLuaCoroutine(nil, "coCreateSidepot")
11579end
11580
11581function coCreateSidepot()
11582
11583 pl = createSidepotPl
11584 ob = createSidepotOb
11585
11586 if sidepotfailcount > sidepotfailcountlimit then
11587 convertfailcount = 0
11588 print("Error in Sidepotcreations, chips were moved");
11589 return 1
11590 end
11591
11592 if pl then
11593 if not Player[pl].admin then
11594 return 1
11595 end
11596 end
11597 -- cant build sidepots twice
11598 if sidepotcalculated then
11599 return 1
11600 end
11601
11602 local chips1 = {}
11603 local positions1 = {}
11604 local rotations1 = {}
11605 for i, v in pairs (betzones) do
11606 objects = {}
11607 objects = v.getObjects()
11608 for j, w in ipairs (objects) do
11609 if w.tag == 'Chip' then
11610 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
11611 chips1[#chips1 + 1] = w
11612 end
11613 end
11614 end
11615 end
11616 for i, v in ipairs (chips1) do
11617 positions1[#positions1 + 1] = v.getPosition()
11618 rotations1[#rotations1 + 1] = v.getRotation()
11619 end
11620 for i = 1, 2 do
11621 coroutine.yield(0)
11622 end
11623 local chips2 = {}
11624 local playerbets = {}
11625 local positions2 = {}
11626 local rotations2 = {}
11627 for i, v in ipairs (colors) do
11628 playerbets[i] = { getChipValues(betzones[v], chips2), betzones[v], v, 0}
11629 end
11630 for i, v in ipairs (chips2) do
11631 positions2[#positions2 + 1] = v.getPosition()
11632 rotations2[#rotations2 + 1] = v.getRotation()
11633 end
11634 --[[ Check chip positions --]]
11635 for i, v in ipairs(positions1) do
11636 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
11637 sidepotfailcount = sidepotfailcount + 1
11638 --startLuaCoroutine(nil, 'convertBetsToPot')
11639 print("error in convert")
11640
11641 return 1
11642 end
11643 end
11644 table.sort(playerbets,compare)
11645 for i, v in ipairs (playerbets) do
11646 if i == #playerbets then
11647 v[4] = v[1] * i
11648 else
11649 v[4] = ( v[1]-playerbets[i+1][1]) * i
11650 end
11651 end
11652 for i, v in ipairs (chips2) do
11653 v.destruct()
11654 end
11655
11656 if clock ~= nil then
11657 clock.destruct()
11658 end
11659
11660 local spawnedcolors = {}
11661 local params = {}
11662 params.type = "backgammon_piece_white"
11663 params.position = {5, 2, 1}
11664 params.rotation = {0, 180, 0}
11665 params.scale = {0.4, 0.2, 0.4}
11666
11667 for i, v in ipairs (playerbets) do
11668 if v[1] > 0 then
11669 bettext[v[3]].setValue("Bet: $" .. tostring(v[1]))
11670 sidepottext[v[3]].setValue("Sidepot: $" .. tostring(v[4]))
11671 local p = {}
11672 local r = {}
11673 p = v[2].getPosition()
11674 r = v[2].getRotation()
11675 r.y = (r.y + 180) % 360
11676 spawnChips(v[4], p, r)
11677 local zoffset = -3
11678 local xoffset = -3
11679 p.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11680 p.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11681 local zoffset = 0
11682 local xoffset = 0.5
11683 spawnedcolors[#spawnedcolors + 1] = v[3]
11684 for k, w in ipairs(spawnedcolors) do
11685
11686 p.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11687 p.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11688 params.position = p
11689 ob = spawnObject(params)
11690 ob.setColorTint(fontcolors[w])
11691 ob.setName("Sidepotmarker")
11692 end
11693
11694 end
11695 end
11696
11697
11698
11699
11700
11701
11702 for j, v in ipairs (playerbets) do
11703
11704
11705 end
11706 sidepotcalculated = true
11707 return 1
11708end
11709
11710
11711-- chips should correspond to the chipstable, position, rotation is where the chips should move to
11712function moveChips(chips, p, r)
11713 local chipstack = initializePot()
11714 local h = {}
11715 local chips2 = {}
11716 for i, v in pairs (chipstack) do
11717 chips2[i] = {}
11718 h[i] = {}
11719 end
11720 for i, v in pairs(chipstack) do
11721 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
11722 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
11723 v.y = p.y + v.yoffset + v.height
11724 end
11725
11726 -- move also chips within the potzone
11727 for j, w in ipairs (chips) do
11728 if w.tag == "Chip" and not w.held_by_color then
11729 local hit = false
11730 for k, x in pairs (currencies) do
11731 local stack
11732 if h[x.stack] == nil then
11733 stack = "misc"
11734 else
11735 stack = x.stack
11736 end
11737 if w.getValue() == x.value or w.getName() == x.name then
11738 hit = true
11739 chips2[stack][#chips2[stack] + 1] = w
11740 if w.getQuantity() > 0 then
11741 h[stack][#h[stack] + 1] = w.getQuantity() * x.height
11742 else
11743 h[stack][#h[stack] + 1] = x.height
11744 end
11745 break -- next object
11746 end
11747 end
11748 -- unknown chips
11749 if not hit then
11750
11751 local x = currencies[#currencies] -- should be dummy value
11752 local stack = "misc"
11753 chips2[stack][#chips2[stack] + 1] = w
11754 if w.getQuantity() > 0 then
11755 h[stack][#h[stack] + 1] = w.getQuantity() * x.height
11756 else
11757 h[stack][#h[stack] + 1] = x.height
11758 end
11759 end
11760 end
11761 end
11762
11763 for i, v in pairs (chips2) do
11764 for j, w in ipairs (v) do
11765
11766 local rot = {0,0,0}
11767 for k, x in pairs (currencies) do
11768 if (w.getValue() == x.value) or (w.getName() == x.name) then
11769 rot.x = (r.x + x.params.rotation[1]) % 360
11770 rot.y = (r.y + x.params.rotation[2]) % 360
11771 rot.z = (r.z + x.params.rotation[3]) % 360
11772 rot[1] = rot.x
11773 rot[2] = rot.y
11774 rot[3] = rot.z
11775 end
11776 end
11777 w.setRotation(rot)
11778 w.setPosition(chipstack[i])
11779 w.translate({0, 0.1, 0})
11780 chipstack[i].y = chipstack[i].y + h[i][j]
11781 chipstack[i].height = chipstack[i].height + h[i][j]
11782 end
11783 end
11784
11785
11786 return 1
11787end
11788
11789-- spawnChips(money, position, rotation)
11790function spawnChips(money, p, r, minheight)
11791 if minheight == nil or minheight==null then
11792 minheight = 0
11793 end
11794 money = money + 0.001 -- prevents rounding error
11795 money = comma_value(money) + 0
11796
11797 local chipstack = {}
11798
11799 local params = {}
11800 local custom = {}
11801
11802 -- prevent spawning to much Chips
11803 if money > currencies[1].value * 50 then
11804
11805
11806 money = math.floor(money)
11807 params.position = p
11808 params.rotation = r
11809 params.scale = {1.12,1.12,1.12}
11810 params.params = {"$" .. string.format("%.0f", money) }
11811 params.type = 'Custom_Model'
11812 params.callback = 'apllyName'
11813 custom.mesh = "http://cloud-3.steamusercontent.com/ugc/841461304086373873/9925B4E8ECFC5BBB13AB9FD1BB93E768C2DD3151/"
11814 custom.diffuse = "http://cloud-3.steamusercontent.com/ugc/841461304094020976/22277301EF8ACDDD4649BD6F382CF950967A8D50/"
11815
11816 custom.type = 5
11817 custom.material = 1
11818
11819 local obj = spawnObject(params)
11820 obj.setCustomObject(custom)
11821 obj.setName("$" .. comma_value(money) )
11822 printToAll('Conversion Limit reached, alternate Bar with the money value spawned', {1, 1, 0})
11823 return
11824 end
11825
11826
11827
11828 chipstack = initializePot()
11829
11830
11831 for i, v in pairs(chipstack) do
11832 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
11833 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
11834 v.y = p.y + v.yoffset + v.height
11835 end
11836
11837 params.rotation = r
11838-- params.callback = 'applyName'
11839 params.callback_owner = Global
11840
11841 local i = #currencies
11842 while i>0 do
11843
11844
11845 v = currencies[i]
11846 if not (v.value == -1) then
11847 params.rotation = v.params.rotation
11848 params.scale = v.params.scale
11849 params.params = {v.name}
11850 local rot = {}
11851 rot.x = (r.x + v.params.rotation[1]) % 360
11852 rot.y = (r.y + v.params.rotation[2]) % 360
11853 rot.z = (r.z + v.params.rotation[3]) % 360
11854 rot[1] = rot.x
11855 rot[2] = rot.y
11856 rot[3] = rot.z
11857 params.rotation = rot
11858 local stack
11859 if chipstack[v.stack] == nil then
11860 stack = "misc"
11861 else
11862 stack = v.stack
11863 end
11864 if not v.standard then
11865
11866 params.type = 'Custom_Model'
11867 --params.callback = 'applyName'
11868 params.callback_owner = Global
11869 custom.mesh = v.custom.mesh
11870 custom.diffuse = v.custom.diffuse
11871 custom.type = 5
11872 custom.material = 1
11873
11874
11875 local j=0
11876 while (j<minheight) and (money >= v.value) do
11877 params.position = {}
11878 params.position.x = chipstack[stack].x
11879 params.position.y = chipstack[stack].y + chipstack[stack].height
11880 params.position.z = chipstack[stack].z
11881 local obj = spawnObject(params)
11882 obj.setCustomObject(custom)
11883 obj.setName(v.name)
11884 money = money - v.value
11885 chipstack[stack].height = chipstack[stack].height + v.height
11886 j=j+1
11887 end
11888 else
11889 params.type = 'Chip_'.. v.value
11890 params.callback = nil
11891 params.callback_owner = Global
11892 params.params = nil
11893 local j=0
11894 while (j<minheight) and (money >= v.value) do
11895 params.position = {}
11896 params.position.x = chipstack[stack].x
11897 params.position.y = chipstack[stack].y + chipstack[stack].height
11898 params.position.z = chipstack[stack].z
11899 spawnObject(params)
11900 money = money - v.value
11901 chipstack[stack].height = chipstack[stack].height + v.height
11902 j=j+1
11903 end
11904 end
11905 end
11906 i = i - 1
11907 end
11908
11909
11910 for i, v in ipairs (currencies) do
11911
11912 if v.value == -1 then
11913 break -- no dummy chips spawn
11914 end
11915 params.rotation = v.params.rotation
11916 params.scale = v.params.scale
11917 params.params = {v.name}
11918 if chipstack[v.stack] == nil then
11919 stack = "misc"
11920 else
11921 stack = v.stack
11922 end
11923
11924 if not v.standard then
11925 params.type = 'Custom_Model'
11926 --params.callback = 'applyName'
11927 params.callback_owner = Global
11928 custom.mesh = v.custom.mesh
11929 custom.diffuse = v.custom.diffuse
11930 custom.type = 5
11931 custom.material = 1
11932 local rot = {}
11933 rot.x = (r.x + v.params.rotation[1]) % 360
11934 rot.y = (r.y + v.params.rotation[2]) % 360
11935 rot.z = (r.z + v.params.rotation[3]) % 360
11936 rot[1] = rot.x
11937 rot[2] = rot.y
11938 rot[3] = rot.z
11939 params.rotation = rot
11940 while money >= currencycurrencyToNumber(v.value) do
11941 params.position = {}
11942 params.position.x = chipstack[stack].x
11943 params.position.y = chipstack[stack].y + chipstack[stack].height
11944 params.position.z = chipstack[stack].z
11945 local obj = spawnObject(params)
11946 obj.setCustomObject(custom)
11947 obj.setName(v.name)
11948 money = money - v.value
11949 chipstack[stack].height = chipstack[stack].height + v.height
11950 end
11951 else
11952 params.type = 'Chip_'.. v.value
11953 params.callback = nil
11954 params.callback_owner = Global
11955 params.params = nil
11956 while money >= v.value do
11957 params.position = {}
11958 params.position.x = chipstack[stack].x
11959 params.position.y = chipstack[stack].y + chipstack[stack].height
11960 params.position.z = chipstack[stack].z
11961 spawnObject(params)
11962 money = money - v.value
11963 chipstack[stack].height = chipstack[stack].height + v.height
11964 end
11965 end
11966 end
11967 return money -- returns the leftover money
11968end
11969
11970function sortPlayerChips(ob, pl)
11971 if Player[pl].admin then
11972 pl = ob.getDescription()
11973 elseif ob.getDescription() ~= pl then
11974 return 1
11975 end
11976
11977 local chips = {}
11978 local value
11979 value = "$" .. getChipValues(tablezones[pl],chips)
11980 if options.displayplayermoney then
11981 tablezonetext[pl].setValue(value)
11982 end
11983
11984 p = tablezones[pl].getPosition()
11985 r = tablezones[pl].getRotation()
11986
11987 xoffset = -1.15
11988 zoffset = 1
11989 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11990 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11991 y = p.y - 10
11992
11993 pos = {x, y, z}
11994 pos.x = x
11995 pos.y = y
11996 pos.z = z
11997
11998 r.y = (r.y + 180) % 360
11999 moveChips(chips,pos,r)
12000
12001
12002end
12003
12004function quickConvertPlayerChips10(ob, pl)
12005 if Player[pl].admin then
12006 pl = ob.getDescription()
12007 elseif ob.getDescription() ~= pl then
12008 return 1
12009 end
12010
12011
12012 if quickConvertPlayerChips == true then
12013 -- if 15 seconds are over after the last convertion then start another one (function broke before)
12014 if (os.time() - quickConvertPlayerTime) < 15 then
12015 return
12016 else
12017 quickConvertPlayerTime = os.time()
12018 end
12019 else
12020 quickConvertPlayerChips = true
12021 quickConvertPlayerTime = os.time()
12022 end
12023
12024
12025
12026
12027 quickConvertPlayersPlayer = pl
12028 quickConvertPlayersObject = ob
12029
12030 startLuaCoroutine(nil, 'quickConvertPlayerChips10Co')
12031
12032end
12033
12034function quickConvertPlayerChips10Co()
12035
12036
12037 local pl = quickConvertPlayersPlayer
12038 local ob = quickConvertPlayersObject
12039
12040
12041
12042
12043 local objects = {}
12044 local chips1 = {}
12045 local positions1 = {}
12046 local rotations1 = {}
12047
12048 v = tablezones[pl]
12049 objects = {}
12050 objects = v.getObjects()
12051 for j, w in ipairs (objects) do
12052 if w.tag == 'Chip' then
12053 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
12054 chips1[#chips1 + 1] = w
12055 end
12056 end
12057 end
12058
12059
12060 for i, v in ipairs (chips1) do
12061 positions1[#positions1 + 1] = v.getPosition()
12062 rotations1[#rotations1 + 1] = v.getRotation()
12063 end
12064
12065 for i=0,2 do
12066 coroutine.yield(0)
12067 end
12068
12069
12070 objects = {}
12071 local chips2 = {}
12072 local positions2 = {}
12073 local rotations2 = {}
12074
12075 v = tablezones[pl]
12076 objects = {}
12077 objects = v.getObjects()
12078 for j, w in ipairs (objects) do
12079 if w.tag == 'Chip' then
12080 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
12081 chips2[#chips2 + 1] = w
12082 end
12083 end
12084 end
12085
12086
12087 if #chips2 ~= #chips1 then
12088 quickConvertPlayerChips = false
12089 return 1
12090 end
12091
12092 for i=0,2 do
12093 coroutine.yield(0)
12094 end
12095
12096
12097 for i, v in ipairs (chips2) do
12098 positions2[#positions2 + 1] = v.getPosition()
12099 rotations2[#rotations2 + 1] = v.getRotation()
12100 end
12101
12102 --[[ Check chip positions --]]
12103 for i, v in ipairs(positions1) do
12104 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
12105 quickConvertPlayerChips = false
12106 return 1
12107 end
12108 end
12109
12110 --[[ Check chip rotations --]]
12111 for i, v in pairs(rotations1) do
12112 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
12113 quickConvertPlayerChips = false
12114 return 1
12115 end
12116 end
12117
12118 local chips = {}
12119 local money = 0
12120
12121
12122 money = getChipValues(tablezones[pl], chips)
12123 --[[ Destroy old chips --]]
12124 for i, v in ipairs (chips) do
12125 v.destruct()
12126 end
12127
12128 for i=0,10 do
12129 coroutine.yield(0)
12130 end
12131
12132 local p = tablezones[pl].getPosition()
12133 local r = tablezones[pl].getRotation()
12134
12135 xoffset = -1.15
12136 zoffset = 1
12137 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12138 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12139 y = p.y - 10
12140
12141 pos = {x, y, z}
12142 pos.x = x
12143 pos.y = y
12144 pos.z = z
12145
12146 r.y = (r.y + 180) % 360
12147
12148 spawnChips(money, pos,r, 10)
12149
12150
12151 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
12152
12153 quickConvertPlayerChips = false
12154 return 1
12155end
12156
12157function quickConvertPlayerChips10_5(ob, pl)
12158 if Player[pl].admin then
12159 pl = ob.getDescription()
12160 elseif ob.getDescription() ~= pl then
12161 return 1
12162 end
12163
12164 if quickConvertPlayerChips == true then
12165 -- if 30 seconds are over after the last convertion then start another one (function broke before)
12166 if (os.time() - quickConvertPlayerTime) < 30 then
12167 return
12168 else
12169 quickConvertPlayerTime = os.time()
12170 end
12171 else
12172 quickConvertPlayerChips = true
12173 quickConvertPlayerTime = os.time()
12174 end
12175
12176 quickConvertPlayersPlayer = pl
12177 quickConvertPlayersObject = ob
12178
12179 startLuaCoroutine(nil, 'quickConvertPlayerChips10_5Co')
12180
12181end
12182
12183
12184
12185
12186function quickConvertPlayerChips10_5Co()
12187 local pl = quickConvertPlayersPlayer
12188 local ob = quickConvertPlayersObject
12189
12190
12191
12192
12193 local objects = {}
12194 local chips1 = {}
12195 local positions1 = {}
12196 local rotations1 = {}
12197
12198 v = tablezones[pl]
12199 objects = {}
12200 objects = v.getObjects()
12201 for j, w in ipairs (objects) do
12202 if w.tag == 'Chip' then
12203 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
12204 chips1[#chips1 + 1] = w
12205 end
12206 end
12207 end
12208
12209
12210 for i, v in ipairs (chips1) do
12211 positions1[#positions1 + 1] = v.getPosition()
12212 rotations1[#rotations1 + 1] = v.getRotation()
12213 end
12214
12215 for i=0,2 do
12216 coroutine.yield(0)
12217 end
12218
12219
12220 objects = {}
12221 local chips2 = {}
12222 local positions2 = {}
12223 local rotations2 = {}
12224
12225 v = tablezones[pl]
12226 objects = {}
12227 objects = v.getObjects()
12228 for j, w in ipairs (objects) do
12229 if w.tag == 'Chip' then
12230 if w.getValue() or currencycurrencyToNumber(w.getName()) != nil then
12231 chips2[#chips2 + 1] = w
12232 end
12233 end
12234 end
12235
12236
12237 if #chips2 ~= #chips1 then
12238 quickConvertPlayerChips = false
12239 return 1
12240 end
12241
12242 for i=0,2 do
12243 coroutine.yield(0)
12244 end
12245
12246
12247 for i, v in ipairs (chips2) do
12248 positions2[#positions2 + 1] = v.getPosition()
12249 rotations2[#rotations2 + 1] = v.getRotation()
12250 end
12251
12252 --[[ Check chip positions --]]
12253 for i, v in ipairs(positions1) do
12254 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
12255 quickConvertPlayerChips = false
12256 return 1
12257 end
12258 end
12259
12260 --[[ Check chip rotations --]]
12261 for i, v in pairs(rotations1) do
12262 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
12263 quickConvertPlayerChips = false
12264 return 1
12265 end
12266 end
12267
12268 local chips = {}
12269 local money = 0
12270
12271
12272 money = getChipValues(tablezones[pl], chips)
12273 --[[ Destroy old chips --]]
12274 for i, v in ipairs (chips) do
12275 v.destruct()
12276 end
12277
12278 for i=0,10 do
12279 coroutine.yield(0)
12280 end
12281
12282 local p = tablezones[pl].getPosition()
12283 local r = tablezones[pl].getRotation()
12284
12285 xoffset = -1.15
12286 zoffset = 1
12287 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12288 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12289 y = p.y - 10
12290
12291 pos = {x, y, z}
12292 pos.x = x
12293 pos.y = y
12294 pos.z = z
12295
12296 r.y = (r.y + 180) % 360
12297
12298 local lowStackValue = 0
12299 lowStackValue = currencies[#currencies-1].value * 5 + currencies[#currencies-2].value * 5
12300 if money <= lowStackValue then
12301 spawnChips(money, pos,r, 10)
12302 else
12303
12304 money = money-lowStackValue
12305 spawnChips(money,pos,r,5)
12306 pos["y"] = pos["y"] + 5
12307 spawnChips(lowStackValue,pos,r,5)
12308
12309
12310 end
12311
12312
12313 for i=0,10 do
12314 coroutine.yield(0)
12315 end
12316 -- update money display
12317 if options.displayplayermoney then
12318 local chips = {}
12319 tablezonetext[pl].setValue("$" .. getChipValues(tablezones[pl],chips))
12320 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
12321 quickConvertPlayerChips = false
12322 end
12323 return 1
12324end
12325
12326
12327
12328function splitPot2(ob, pl)
12329 if pl then
12330 if not Player[pl].admin then
12331 return 1
12332 end
12333 end
12334
12335 splitPotObject = ob;
12336 splitPotPlayers = 2;
12337
12338 local p = ob.getPosition()
12339 local r = ob.getRotation()
12340 local s = ob.getScale()
12341 params = {}
12342 params.type = 'ScriptingTrigger'
12343 params.callback = 'splitPot'
12344 params.scale = {s.x, 20, s.z*1.9}
12345 params.position = {p.x, p.y + 10, p.z}
12346 params.rotation = r
12347
12348 splitPotZone = spawnObject(params)
12349end
12350
12351function splitPot3(ob, pl)
12352 if pl then
12353 if not Player[pl].admin then
12354 return 1
12355 end
12356 end
12357
12358 splitPotObject = ob;
12359 splitPotPlayers = 3;
12360
12361 local p = ob.getPosition()
12362 local r = ob.getRotation()
12363 local s = ob.getScale()
12364 params = {}
12365 params.type = 'ScriptingTrigger'
12366 params.callback = 'splitPot'
12367 params.scale = {s.x, 20, s.z*1.9}
12368 params.position = {p.x, p.y + 10, p.z}
12369 params.rotation = r
12370
12371 splitPotZone = spawnObject(params)
12372end
12373
12374function splitPot4(ob, pl)
12375 if pl then
12376 if not Player[pl].admin then
12377 return 1
12378 end
12379 end
12380
12381 splitPotObject = ob;
12382 splitPotPlayers =4 ;
12383
12384 local p = ob.getPosition()
12385 local r = ob.getRotation()
12386 local s = ob.getScale()
12387 params = {}
12388 params.type = 'ScriptingTrigger'
12389 params.callback = 'splitPot'
12390 params.scale = {s.x, 20, s.z*1.9}
12391 params.position = {p.x, p.y + 10, p.z}
12392 params.rotation = r
12393
12394 splitPotZone = spawnObject(params)
12395end
12396
12397function splitPot5(ob, pl)
12398 if pl then
12399 if not Player[pl].admin then
12400 return 1
12401 end
12402 end
12403
12404 splitPotObject = ob;
12405 splitPotPlayers = 5;
12406
12407 local p = ob.getPosition()
12408 local r = ob.getRotation()
12409 local s = ob.getScale()
12410 params = {}
12411 params.type = 'ScriptingTrigger'
12412 params.callback = 'splitPot'
12413 params.scale = {s.x, 20, s.z*1.9}
12414 params.position = {p.x, p.y + 10, p.z}
12415 params.rotation = r
12416
12417 splitPotZone = spawnObject(params)
12418end
12419
12420function splitPot6(ob, pl)
12421 if pl then
12422 if not Player[pl].admin then
12423 return 1
12424 end
12425 end
12426
12427 splitPotObject = ob;
12428 splitPotPlayers = 6;
12429
12430 local p = ob.getPosition()
12431 local r = ob.getRotation()
12432 local s = ob.getScale()
12433 params = {}
12434 params.type = 'ScriptingTrigger'
12435 params.callback = 'splitPot'
12436 params.scale = {s.x, 20, s.z*1.9}
12437 params.position = {p.x, p.y + 10, p.z}
12438 params.rotation = r
12439
12440 splitPotZone = spawnObject(params)
12441end
12442
12443function splitPot7(ob, pl)
12444 if pl then
12445 if not Player[pl].admin then
12446 return 1
12447 end
12448 end
12449
12450 splitPotObject = ob;
12451 splitPotPlayers = 7;
12452
12453 local p = ob.getPosition()
12454 local r = ob.getRotation()
12455 local s = ob.getScale()
12456 params = {}
12457 params.type = 'ScriptingTrigger'
12458 params.callback = 'splitPot'
12459 params.scale = {s.x, 20, s.z*1.9}
12460 params.position = {p.x, p.y + 10, p.z}
12461 params.rotation = r
12462
12463 splitPotZone = spawnObject(params)
12464end
12465
12466function splitPot8(ob, pl)
12467 if pl then
12468 if not Player[pl].admin then
12469 return 1
12470 end
12471 end
12472
12473 splitPotObject = ob;
12474 splitPotPlayers = 8;
12475
12476 local p = ob.getPosition()
12477 local r = ob.getRotation()
12478 local s = ob.getScale()
12479 params = {}
12480 params.type = 'ScriptingTrigger'
12481 params.callback = 'splitPot'
12482 params.scale = {s.x, 20, s.z*1.9}
12483 params.position = {p.x, p.y + 10, p.z}
12484 params.rotation = r
12485
12486 splitPotZone = spawnObject(params)
12487end
12488
12489function splitPot9(ob, pl)
12490 if pl then
12491 if not Player[pl].admin then
12492 return 1
12493 end
12494 end
12495
12496 splitPotObject = ob;
12497 splitPotPlayers = 9;
12498
12499 local p = ob.getPosition()
12500 local r = ob.getRotation()
12501 local s = ob.getScale()
12502 params = {}
12503 params.type = 'ScriptingTrigger'
12504 params.callback = 'splitPot'
12505 params.scale = {s.x, 20, s.z*1.9}
12506 params.position = {p.x, p.y + 10, p.z}
12507 params.rotation = r
12508
12509 splitPotZone = spawnObject(params)
12510end
12511
12512
12513function splitPot10(ob, pl)
12514 if pl then
12515 if not Player[pl].admin then
12516 return 1
12517 end
12518 end
12519
12520 splitPotObject = ob;
12521 splitPotPlayers = 10;
12522
12523 local p = ob.getPosition()
12524 local r = ob.getRotation()
12525 local s = ob.getScale()
12526 params = {}
12527 params.type = 'ScriptingTrigger'
12528 params.callback = 'splitPot'
12529 params.scale = {s.x, 20, s.z*1.9}
12530 params.position = {p.x, p.y + 10, p.z}
12531 params.rotation = r
12532
12533 splitPotZone = spawnObject(params)
12534end
12535
12536
12537function splitPot()
12538 local chips = {}
12539 local value = 0;
12540
12541 value = getChipValues(splitPotZone,chips)
12542 leftover = 0;
12543 local spawnvalue = value / splitPotPlayers
12544
12545 for i, v in ipairs (chips) do
12546 v.destruct()
12547 end
12548
12549 local p = splitPotObject.getPosition()
12550 local r = splitPotObject.getRotation()
12551
12552
12553
12554
12555
12556
12557 local xoffset = 5.5
12558 local zoffset = -9.8
12559 local pos = {}
12560 pos.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12561 pos.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12562 pos.y = p.y + 0.2
12563 r[2] = r.y
12564
12565 local i = 0
12566
12567 xoffset = 12
12568 zoffset = 6.5
12569 while i < splitPotPlayers do
12570 leftover = leftover + spawnChips(spawnvalue, pos, r)
12571 pos.x = pos.x + (math.sin(math.rad(r.y)) * zoffset)
12572 pos.z = pos.z + (math.cos(math.rad(r.y)) * zoffset)
12573
12574 if i == 4 then
12575 pos.x = pos.x - (math.cos(math.rad(r.y)) * xoffset + (math.sin(math.rad(r.y)) * zoffset) * 5)
12576 pos.z = pos.z + (math.sin(math.rad(r.y)) * xoffset - (math.cos(math.rad(r.y)) * zoffset) * 5 )
12577 end
12578
12579
12580 i = i + 1
12581 end
12582
12583
12584 r = splitPotObject.getRotation()
12585 leftover = leftover + 0.1 -- avoid rounding errors for double number
12586 xoffset = -6.5
12587 zoffset = -14.8
12588 pos = {}
12589 pos.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12590 pos.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12591 pos.y = p.y + 0.2
12592 spawnChips(leftover, pos, r)
12593
12594
12595 splitPotZone.destruct()
12596end
12597
12598
12599function goAllIn(ob, pl)
12600 if ob.getDescription() ~= pl then
12601 return 1
12602 end
12603
12604 if pl ~= actionon then
12605 return 0
12606 end
12607
12608 local chips = {}
12609 getChipValues(betzones[pl],chips)
12610 getChipValues(tablezones[pl],chips)
12611 p = betzones[pl].getPosition()
12612 r = betzones[pl].getRotation()
12613 p.y = p.y - 10
12614
12615 moveChips(chips,p,r)
12616
12617
12618end
12619
12620
12621
12622function PlCall(ob, pl)
12623 if ob.getDescription() ~= pl then
12624 return 1
12625 end
12626
12627 if pl ~= actionon then
12628 return 0
12629 end
12630 plCallPl = pl
12631 plCallOb = ob
12632
12633 startLuaCoroutine(nil, 'plCallCo')
12634end
12635
12636function plCallCo()
12637 pl = plCallPl
12638 ob = plCallOb
12639 local chips = {}
12640 local playerbet = getChipValues(betzones[pl],chips)
12641 local playermoney = getChipValues(tablezones[pl],chips)
12642 local totalplayermoney = playerbet + playermoney
12643 local leftoverplayer = totalplayermoney - currentbet
12644
12645 local newbet = 0
12646
12647
12648 for i, v in ipairs (chips) do
12649 v.destruct()
12650 end
12651
12652 for i=0,10 do
12653 coroutine.yield(0)
12654 end
12655
12656
12657 p = betzones[pl].getPosition()
12658 r = betzones[pl].getRotation()
12659 p.y = p.y - 10
12660 if totalplayermoney > currentbet then
12661 spawnChips(currentbet,p,r)
12662 else
12663 spawnChips(totalplayermoney,p,r)
12664 end
12665
12666 local p = tablezones[pl].getPosition()
12667 local r = tablezones[pl].getRotation()
12668 xoffset = -1.15
12669 zoffset = 1
12670 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12671 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12672 y = p.y - 10
12673
12674 pos = {x, y, z}
12675 pos.x = x
12676 pos.y = y
12677 pos.z = z
12678
12679 r.y = (r.y + 180) % 360
12680
12681 local lowStackValue = 0
12682 lowStackValue = currencies[#currencies-1].value * 5 + currencies[#currencies-2].value * 5
12683 if leftoverplayer <= lowStackValue then
12684 spawnChips (leftoverplayer, pos,r, 10)
12685
12686 else
12687
12688 leftoverplayer = leftoverplayer-lowStackValue
12689 spawnChips(leftoverplayer,pos,r,5)
12690 pos["y"] = pos["y"] + 5
12691 spawnChips(lowStackValue,pos,r,5)
12692
12693
12694 end
12695
12696 for i=0,10 do
12697 coroutine.yield(0)
12698 end
12699 if totalplayermoney > currentbet then
12700 bettext[pl].setValue('$' .. tostring(currentbet))
12701 else
12702 bettext[pl].setValue('$' .. tostring(totalplayermoney))
12703 end
12704 print(pl .. " is AllIn")
12705
12706
12707
12708 for i=0,10 do
12709 coroutine.yield(0)
12710 end
12711 chips2 = {}
12712 money = getChipValues(tablezones[pl],chips)
12713 tablezonetext[pl].setValue("$" .. money)
12714 action(ob, pl)
12715 return 1
12716end
12717
12718
12719
12720
12721function compare(a,b)
12722 return a[1] > b[1]
12723end
12724
12725function goAFK(ob, pl)
12726 if Player[pl].admin then
12727 pl = ob.getDescription()
12728 elseif ob.getDescription() ~= pl then
12729 return 1
12730 end
12731
12732 local objects = betzones[pl].getObjects()
12733 local x = 0
12734 local found = false
12735
12736 for i, v in ipairs(objects) do
12737 if v.getName() == "AFK" then
12738 found = true
12739 v.destruct()
12740 end
12741 end
12742 if afkClock[pl] ~= nil then
12743 found = true
12744 afkClock[pl].destruct()
12745 afkClock[pl] = nil
12746 end
12747
12748 if not found then
12749 local params = {}
12750 params.type = 'Custom_Model'
12751 params.position = betzones[pl].getPosition()
12752 params.scale = {1, 1, 1}
12753 params.rotation = betzones[pl].getPosition()
12754
12755 local playerhand = getPlayerHandPositionAndRotation(pl)
12756 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 5, 1.4, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 5}
12757 params.rotation = {180, playerhand['rot_y'], 180}
12758 params.callback = 'setAfkButton'
12759 afkButton = spawnObject(params)
12760
12761 local custom = {}
12762 custom.mesh = 'http://pastebin.com/raw.php?i=00YWZ28Y'
12763 custom.diffuse = 'http://s9.postimg.org/defmupuvz/AFK.jpg'
12764 custom.type = 0
12765
12766 afkButton.setCustomObject(custom)
12767 afkButton.setName('AFK')
12768
12769 params = {}
12770 params.type = 'Digital_Clock'
12771
12772 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 8, 0.5, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 8}
12773 params.rotation = {90, playerhand['rot_y'], 0}
12774
12775 params.callback = 'setAfkClockTimer'
12776 afkClock[pl] = spawnObject(params)
12777
12778 end
12779
12780end
12781
12782function setAfkButton(ob, pl)
12783 ob.lock()
12784end
12785
12786function setPlayerAfk(ob, pl)
12787 if pl then
12788 if not Player[pl].admin then
12789 return 1
12790 end
12791 end
12792 if actionon ~= nil then
12793 goAFK(ob,actionon)
12794 end
12795end
12796
12797
12798function setAfkClockTimer(ob, pl)
12799 ob.lock()
12800 ob.Clock.startStopwatch()
12801 ob.setColorTint({0.1, 0.1, 0.1})
12802 ob.setName("AFK")
12803 --afkClock[pl].lock()
12804 --afkClock[pl].Clock.startStopwatch()
12805end
12806
12807function changeMachineButton1(ob, pl)
12808 if not converting then
12809 clicker = player
12810 convertingPlayer = true
12811 conversionPlayerValue = 1
12812 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12813 end
12814end
12815
12816function changeMachineButton2(ob, pl)
12817 if not converting then
12818 clicker = player
12819 convertingPlayer = true
12820 conversionPlayerValue = 2
12821 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12822 end
12823end
12824
12825function changeMachineButton3(ob, pl)
12826 if not converting then
12827 clicker = player
12828 convertingPlayer = true
12829 conversionPlayerValue = 3
12830 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12831 end
12832end
12833
12834function changeMachineButton4(ob, pl)
12835 if not converting then
12836 clicker = player
12837 convertingPlayer = true
12838 conversionPlayerValue = 4
12839 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12840 end
12841end
12842
12843function changeMachineButton5(ob, pl)
12844 if not converting then
12845 clicker = player
12846 convertingPlayer = true
12847 conversionPlayerValue = 5
12848 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12849 end
12850end
12851
12852
12853function changeMachineButton6(ob, pl)
12854 if not converting then
12855 clicker = player
12856 convertingPlayer = true
12857 conversionPlayerValue = 6
12858 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12859 end
12860end
12861
12862function changeMachineButton7(ob, pl)
12863 if not convertingPlayer then
12864 convertingPlayerColor = pl
12865 convertingPlayer = true
12866 conversionPlayerValue = 7
12867 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12868
12869 end
12870end
12871
12872function changeMachineButton8(ob, pl)
12873 if not convertingPlayer then
12874 convertingPlayerColor = pl
12875 convertingPlayer = true
12876 conversionPlayerValue = 8
12877 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12878
12879 end
12880end
12881
12882function changeMachineButton9(ob, pl)
12883 if not convertingPlayer then
12884 convertingPlayerColor = pl
12885 convertingPlayer = true
12886 conversionPlayerValue = 9
12887 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12888
12889 end
12890end
12891
12892function changeMachineButton10(ob, pl)
12893 if not convertingPlayer then
12894 convertingPlayerColor = pl
12895 convertingPlayer = true
12896 conversionPlayerValue = 10
12897 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12898 end
12899end
12900
12901
12902function changeMachineButton11(ob, pl)
12903 if not converting then
12904 clicker = player
12905 convertingPlayer = true
12906 conversionPlayerValue = 11
12907 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12908 end
12909end
12910
12911function changeMachineButton12(ob, pl)
12912 if not converting then
12913 clicker = player
12914 convertingPlayer = true
12915 conversionPlayerValue = 12
12916 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12917 end
12918end
12919
12920function changeMachineButton13(ob, pl)
12921 if not converting then
12922 clicker = player
12923 convertingPlayer = true
12924 conversionPlayerValue = 13
12925 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12926 end
12927end
12928
12929function changeMachineButton14(ob, pl)
12930 if not converting then
12931 clicker = player
12932 convertingPlayer = true
12933 conversionPlayerValue = 14
12934 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12935 end
12936end
12937
12938function changeMachineButton15(ob, pl)
12939 if not converting then
12940 clicker = player
12941 convertingPlayer = true
12942 conversionPlayerValue = 15
12943 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12944 end
12945end
12946
12947
12948function changeMachineButton16(ob, pl)
12949 if not converting then
12950 clicker = player
12951 convertingPlayer = true
12952 conversionPlayerValue = 16
12953 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12954 end
12955end
12956
12957function changeMachineButton17(ob, pl)
12958 if not convertingPlayer then
12959 convertingPlayerColor = pl
12960 convertingPlayer = true
12961 conversionPlayerValue = 17
12962 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12963
12964 end
12965end
12966
12967function changeMachineButton18(ob, pl)
12968 if not convertingPlayer then
12969 convertingPlayerColor = pl
12970 convertingPlayer = true
12971 conversionPlayerValue = 18
12972 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12973
12974 end
12975end
12976
12977function changeMachineButton19(ob, pl)
12978 if not convertingPlayer then
12979 convertingPlayerColor = pl
12980 convertingPlayer = true
12981 conversionPlayerValue = 19
12982 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12983
12984 end
12985end
12986
12987function changeMachineButton20(ob, pl)
12988 if not convertingPlayer then
12989 convertingPlayerColor = pl
12990 convertingPlayer = true
12991 conversionPlayerValue = 20
12992 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12993 end
12994end
12995
12996
12997
12998
12999
13000
13001function spawnChangeMachineZone(ob, pl)
13002 --[[spawn scripting zone on in surface--]]
13003 local p = ob.getPosition()
13004 local r = ob.getRotation()
13005 local s = ob.getScale()
13006
13007 params = {}
13008
13009 params.type = 'ScriptingTrigger'
13010 params.callback = 'checkChangeMachineZone'
13011 params.scale = {s.x * 2, 20, s.z}
13012 params.position = {p.x - ((s.z/2) * math.sin(math.rad(r.y))), p.y + 9, p.z - ((s.z/2) * math.cos(math.rad(r.y)))}
13013 params.rotation = ob.getRotation()
13014
13015 changeMachineZone = spawnObject(params)
13016end
13017
13018function checkChangeMachineZone()
13019 startLuaCoroutine(nil,'checkChangeMachineZoneCoroutine')
13020end
13021
13022function checkChangeMachineZoneCoroutine()
13023 local objects1 = changeMachineZone.getObjects()
13024 local positions1 = {}
13025 local rotations1 = {}
13026
13027 for i, v in ipairs(objects1) do
13028 positions1[#positions1 + 1] = v.getPosition()
13029 rotations1[#rotations1 + 1] = v.getRotation()
13030 end
13031
13032 for i=1, 2 do
13033 coroutine.yield(0)
13034 end
13035
13036 local objects2 = changeMachineZone.getObjects()
13037 local positions2 = {}
13038 local rotations2 = {}
13039
13040 --[[ Abort if the amount of chips/stacks changed --]]
13041 if #objects1 ~= #objects2 then
13042 broadcastToColor('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
13043 changeMachineZone.destruct()
13044 converting = false
13045 return 1
13046 end
13047
13048 for i, v in ipairs(objects1) do
13049 positions2[#positions2 + 1] = v.getPosition()
13050 rotations2[#rotations2 + 1] = v.getRotation()
13051 end
13052
13053 --[[ Abort if any chips/stacks are moving --]]
13054 for i, v in ipairs (positions1) do
13055 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
13056 broadcastToColor ('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
13057 changeMachineZone.destruct()
13058 convertingPlayer = false
13059 return 1
13060 end
13061
13062 if rotations1[i].x ~= rotations2[i].x or rotations1[i].y ~= rotations2[i].y or rotations1[i].z ~= rotations2[i].z then
13063 broadcastToColor ('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
13064 changeMachineZone.destruct()
13065 convertingPlayer = false
13066 return 1
13067 end
13068 end
13069
13070 local pos = changeMachineZone.getPosition()
13071 pos["y"] = 2
13072 local rot = changeMachineZone.getRotation()
13073 rot["y"] = (rot["y"] + 180) % 360
13074 local chips = {}
13075 money = getChipValues(changeMachineZone, chips)
13076
13077 for i, v in ipairs(chips) do
13078 v.destruct()
13079 end
13080 convertchangeMachine(money, pos, rot , 25)
13081
13082 changeMachineZone.destruct()
13083 convertingPlayer = false
13084 --calculateAndConvert()
13085 return 1
13086end
13087
13088
13089
13090function convertchangeMachine(money, p, r, height)
13091
13092
13093 local chipstack = {}
13094 chipstack = initializePot()
13095 for i, v in pairs(chipstack) do
13096 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
13097 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
13098 v.y = p.y + v.yoffset + v.height
13099 end
13100 local v = {}
13101 v = currencies[conversionPlayerValue]
13102 local custom = {}
13103 if v.value > 0 then
13104 params.rotation = v.params.rotation
13105 params.scale = v.params.scale
13106 params.params = {v.name}
13107 local rot = {}
13108 rot.x = (r.x + v.params.rotation[1]) % 360
13109 rot.y = (r.y + v.params.rotation[2]) % 360
13110 rot.z = (r.z + v.params.rotation[3]) % 360
13111 rot[1] = rot.x
13112 rot[2] = rot.y
13113 rot[3] = rot.z
13114 params.rotation = rot
13115 if chipstack[v.stack] == nil then
13116 stack = "misc"
13117 else
13118 stack = v.stack
13119 end
13120 if not v.standard then
13121 params.type = 'Custom_Model'
13122 --params.callback = 'applyName'
13123 params.callback_owner = Global
13124 custom.mesh = v.custom.mesh
13125 custom.diffuse = v.custom.diffuse
13126 custom.type = 5
13127 custom.material = 1
13128 local i=0
13129 while money >= currencycurrencyToNumber(v.value) and i<height do
13130 params.position = {}
13131 params.position.x = chipstack[stack].x
13132 params.position.y = chipstack[stack].y + chipstack[stack].height
13133 params.position.z = chipstack[stack].z
13134 local obj = spawnObject(params)
13135 obj.setCustomObject(custom)
13136 obj.setName(v.name)
13137 money = money - v.value
13138 chipstack[stack].height = chipstack[stack].height + v.height
13139 i=i+1
13140 if i >= height then
13141 broadcastToColor("Conversion limit reached. The difference is spawned with the least amount of chips as possible", convertingPlayerColor, {1,1,0})
13142 end
13143 end
13144 else
13145 params.type = 'Chip_'.. v.value
13146 params.callback = nil
13147 params.callback_owner = Global
13148 params.params = nil
13149 local i=0
13150 while money >= v.value and i<height do
13151 params.position = {}
13152 params.position.x = chipstack[stack].x
13153 params.position.y = chipstack[stack].y + chipstack[stack].height
13154 params.position.z = chipstack[stack].z
13155 spawnObject(params)
13156 money = money - v.value
13157 chipstack[stack].height = chipstack[stack].height + v.height
13158 i = i + 1
13159 if i >= height then
13160 broadcastToColor("Conversion limit reached. The difference is spawned with the least amount of chips as possible", convertingPlayerColor, {1,1,0})
13161 end
13162 end
13163 end
13164 end
13165
13166
13167 p["y"] = 10
13168 spawnChips(money, p, r)
13169 convertingPlayer = false
13170end
13171
13172
13173function loadSaveBag(ob, pl)
13174 for i, v in ipairs(savebag.getObjects()) do
13175
13176 if v.name == Player[pl].steam_name then
13177 local params = {}
13178 --params.position = Vector –Optional. Defaults to the container’s position + 2 in the x direction.
13179 --params.rotation = Vector –Optional. Defaults to the container’s rotation.
13180 params.position = tablezones[pl].getPosition()
13181 params.position.y = params.position.y - 8
13182 params.rotation = tablezones[pl].getRotation()
13183 params.callback_owner = Global
13184 --params.guid = v.guid
13185 params.index = v.index
13186 saves[pl] = savebag.takeObject(params)
13187 if saves[pl].getDescription() == "" then
13188 for i, v in ipairs (getSeatedPlayers()) do
13189 if Player[v].admin then
13190 broadcastToColor('Warning: Steamid not found on savebag for player ' .. Player[pl].steam_name, v, {1, 1, 0})
13191 end
13192 end
13193 elseif saves[pl].getDescription() != Player[pl].steam_id then
13194 for i, v in ipairs (getSeatedPlayers()) do
13195 if Player[v].admin then
13196 broadcastToColor('Warning: Steamid on savebag dont match the current player ' .. Player[pl].steam_name, v, {1, 1, 0})
13197 end
13198 end
13199 end
13200 return 1
13201 end
13202 end
13203 for i, v in ipairs (getSeatedPlayers()) do
13204 if Player[v].admin or v == pl then
13205 broadcastToColor('Warning: no save found for player ' .. Player[pl].steam_name .. '.' , v, {1, 1, 0})
13206 end
13207 end
13208end
13209
13210
13211
13212--[[ rPrint(struct, [limit], [indent]) Recursively print arbitrary data.
13213 Set limit (default 100) to stanch infinite loops.
13214 Indents tables as [KEY] VALUE, nested tables as [KEY] [KEY]...[KEY] VALUE
13215 Set indent ("") to prefix each line: Mytable [KEY] [KEY]...[KEY] VALUE
13216--]]
13217function rPrint(s, l, i) -- recursive Print (structure, limit, indent)
13218 l = (l) or 100; i = i or ""; -- default item limit, indent string
13219 if (l<1) then print "ERROR: Item limit reached."; return l-1 end;
13220 local ts = type(s);
13221 if (ts ~= "table") then print (i,ts,s); return l-1 end
13222 print (i,ts); -- print "table"
13223 for k,v in pairs(s) do -- print "[ KEY ] VALUE"
13224 l = rPrint(v, l, i.."\t[ "..tostring(k).." ] ");
13225 if (l < 0) then break end
13226 end
13227 return l
13228end
13229
13230function comma_value(n) -- credit http://richard.warburton.it
13231 local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
13232 return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
13233end
13234
13235--[[ a crude conversion function to convert a currency to a number. DOES NOT ACCOUNT FOR NEGATIVE NUMBERS. accounts for decimals (for example, $2.50), but will return nil if multiple dots are found, as a valid number would only have one (using american formatting anyway). does not account for other characters, however, so a random string of mixed up numbers and letters will return a value. --]]
13236function currencycurrencycurrencyToNumber(s)
13237 local value = 0 -- the value is updated as numbers are found in the string
13238 local dec = 1 -- the decimal places (is that the right term?), multiplied by 10 each time a number is found
13239 local decimalfound = false -- the first time a decimal point is found, used to check for invalid number strings if it finds multiple decimal points (like an ip address)
13240 local r = string.reverse(s) -- reverse the original string to simplify analysis
13241 for i = 1, string.len(r) do
13242 if currencycurrencyToNumber(string.sub(r, i, i)) then -- if the character is a number, add its value times the decimal places to the 'value' variable
13243 value = value + (currencycurrencyToNumber(string.sub(r, i, i)) * dec)
13244 dec = dec * 10
13245 elseif string.sub(r, i, i) == '.' then -- if the character is a decimal point, divide the value by the decimal places and reset the 'dec' variable to 1
13246 if decimalfound then return nil end
13247 value = value / dec
13248 dec = 1
13249 decimalfound = true
13250 end
13251 end
13252 if value ~= 0 then return value else return nil end -- return the value if it's not still 0, otherwise return nil
13253end