· 6 years ago · Jul 07, 2019, 11:24 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 },
59 ["changemachine"] = true,
60}
61--[[starteramount = 10000
62autosaveandload = true
63chips = {} --]]
64--[[ other variables and tables --]]
65onecard = false -- used when dealing one card from options menu (for determining starting dealer, etc)
66handsshown = {} -- table of hands that have been shown and evaluated by the script this round
67handinprogress = false -- used to prevent change of gamemode during a hand
68convertfailcount = 0
69holedealt = false -- whether or not players have been dealt their hole cards
70holecards = {['White'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Blue'] = {}, ['Pink'] = {}} -- table of players' hole cards, used for hand evaluations
71revealedcards = {['White'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Blue'] = {}, ['Pink'] = {}} -- table of players' hole cards which have been revealed
72dealing = false -- set to true while cards are being dealt to prevent double-clicking
73players = {} -- table of seated players used for dealing cards and actions
74actionon = nil -- Player whose turn it is to act
75playerbets = {} -- Table of players' bets
76currentbet = 0 -- highest bet from the playerbets table
77mainpotchips = {} -- table containing information regarding stacks of chips in the main pot(initialized in initializePot() function)
78printstring = '' -- string referenced by printMessages function to know which messages to print.
79pot = 0 -- total amount in pot (including current players' bets)
80cardtint = 1 -- used anti-grouping measure
81sidepotcalculatet = false -- contains information if sidepot was calculated, stops all actions except dealing
82themeindex = 1
83subthemeindex = 1
84chiptints = {['White'] = {1, 1, 0.99}, ['Red'] = {1, 0.99, 0.99}, ['Orange'] = {0.99, 1, 1}, ['Yellow'] = {0.99, 1, 0.99}, ['Green'] = {0.99, 0.99, 1}, ['Blue'] = {1, 1, 0.98}, ['Pink'] = {1, 0.98, 0.99}}
85betzonechiptints = {['White'] = {1, 0.98, 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}, ['Blue'] = {1, 0.97, 0.98}, ['Pink'] = {0.97, 1, 1}}
86
87
88--[[ Object references and GUIDs --]]
89afkClock = {}
90potsplitter = {}
91actionbutton = {}
92actionbuttonGUID = 'b34d88'
93backtablezones = {}
94backtablezoneGUIDs = {'1904be', 'ee0d04', 'b131a2', 'bb2a9a', 'b9938f', 'b0eda0', 'b04a49'}
95betzones = {} -- scripting zones for the betting areas for each player. Order must correspond to colors table
96betzoneGUIDs = {'420cfb', '7d419f', '332aa4', '0377d5', '8a2729', 'b93bb7', '3a8997'}
97boardobject = {} -- 3d model used for the board
98boardobjectGUID = '48721b'
99boardzone = {} -- scripting zone on the board where community cards are dealt
100boardzoneGUID = '5a1d5c'
101collectbutton = {} -- button to collect bets
102collectbuttonGUID = 'e801e4'
103clock = null
104dealbutton = {} -- button to deal cards
105dealbuttonGUID = '1745d7'
106deck = {} -- deck
107deckGUID = '1b1565' -- the deck's GUID which is saved on the table
108muck = {} -- the muck object that is used to determine where burn cards are dealt
109muckGUID = 'be42ca'
110newdeckbutton = {} -- button to spawn a new deck
111newdeckbuttonGUID = 'ea1c95'
112potobject = {}
113potobjectGUID = '6a79c6'
114resetbutton = {} -- button to reset the game
115resetbuttonGUID = 'c3b0f3'
116sidepotbutton = {}
117sidepotbuttonGUID = 'f1421a'
118checkafkbutton = {}
119checkafkbuttonGUID = '47c98e'
120tablezones = {}
121tablezoneGUIDs = {'fe7624', 'f33c02', 'a96804', '08e7a3', 'e2ff95', 'd03a42', '71d958'}
122
123infiniteMoneyBag = {}
124
125
126
127colors = {"White", "Red", "Orange", "Yellow", "Green", "Blue", "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.Red.r = 0.856
140 fontcolors.Red.g = 0.1
141 fontcolors.Red.b = 0.094
142 fontcolors.Red.bbcode = '[da1918]'
143
144 fontcolors.Orange.r = 0.956
145 fontcolors.Orange.g = 0.392
146 fontcolors.Orange.b = 0.113
147 fontcolors.Orange.bbcode = '[f4641d]'
148
149 fontcolors.Yellow.r = 0.905
150 fontcolors.Yellow.g = 0.898
151 fontcolors.Yellow.b = 0.172
152 fontcolors.Yellow.bbcode = '[e7e52c]'
153
154 fontcolors.Green.r = 0.192
155 fontcolors.Green.g = 0.701
156 fontcolors.Green.b = 0.168
157 fontcolors.Green.bbcode = '[31b32b]'
158
159 fontcolors.Blue.r = 0.118
160 fontcolors.Blue.g = 0.53
161 fontcolors.Blue.b = 1
162 fontcolors.Blue.bbcode = '[1f87ff]'
163
164 fontcolors.Pink.r = 0.96
165 fontcolors.Pink.g = 0.439
166 fontcolors.Pink.b = 0.807
167 fontcolors.Pink.bbcode = '[f570ce]'
168
169potzones = {}
170mainpotzoneGUID = 'a20d35'
171sidepotzoneGUIDs = {'a93f95', '6cf2bc', 'c9aaae'}
172pottext = {}
173pottextGUID = 'a5130f'
174mainpottext = {}
175mainpottextGUID = '476499'
176bettext = {} -- textes for current player bets
177bettextGUIDs = {'8133a5', 'b57079', '86e377', '9d612a', 'da0c91', '121b10', 'f7f532'}
178tablezonetext = {}
179
180sidepottext = {} -- textes for current player bets
181sidepottextGUIDs = {}
182currenbettext = {}
183currentbettextGUID = 'ed7b0b'
184colorball = null
185overlay = {}
186overlayGUID = '290051'
187actiontext = {}
188actiontextGUID = '20e11d'
189optionspanel = nil
190optionsbutton = {}
191optionsbuttonGUID = '6e1caf'
192scripts = {} -- Scripts copied from objects in onload, used when 'Reset Objects' is clicked.
193activeplayers = {['White'] = nil, ['Red'] = nil, ['Orange'] = nil, ['Yellow'] = nil, ['Green'] = nil, ['Blue'] = nil, ['Pink'] = nil}
194savebag = {}
195savebagGUID = '6215eb'
196newsavebagbutton = {}
197newsavebagbuttonGUID = '36f621'
198
199saves = {['White'] = nil, ['Brown'] = nil, ['Red'] = nil, ['Orange'] = nil, ['Yellow'] = nil, ['Green'] = nil, ['Teal'] = nil, ['Blue'] = nil, ['Purple'] = nil, ['Pink'] = nil}
200
201-- Currencies
202currenciesSelection = -- Includes all different type of chips, last entry will be used as dummy entry for unknown chips
203{
204 ['default - $10'] =
205 {
206 {
207 ["value"] = 100000, -- Value of the Chip
208 ["name"] = "$100,000", -- Name of the chip
209 ["label"] = "$100k", -- Label used for converting machine
210 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
211 ["height"] = 0.05,
212 ["custom"] =
213 {
214 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
215 ["diffuse"] = " http://i.imgur.com/hJIzRFn.jpg", -- diffuse image
216 ["type"] = 5, -- 5 is a 'chip'
217 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
218 },
219 ["params"] =
220 {
221 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
222 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
223 },
224 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
225 },
226 {
227 ["value"] = 50000, -- Value of the Chip
228 ["name"] = "$50,000", -- Name of the chip
229 ["label"] = "$50k", -- Label used for converting machine
230 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
231 ["height"] = 0.05,
232 ["custom"] =
233 {
234 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
235 ["diffuse"] = "http://i.imgur.com/m4pRnEa.jpg", -- diffuse image
236 ["type"] = 5, -- 5 is a 'chip'
237 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
238 },
239 ["params"] =
240 {
241 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
242 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
243 },
244 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
245 },
246 {
247 ["value"] = 10000, -- Value of the Chip
248 ["name"] = "$10,000", -- Name of the chip
249 ["label"] = "$10k", -- Label used for converting machine
250 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
251 ["height"] = 0.35,
252 ["custom"] =
253 {
254 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
255 ["diffuse"] = "http://i.imgur.com/kp8fFK0.jpg", -- diffuse image
256 ["type"] = 5, -- 5 is a 'chip'
257 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
258 },
259 ["params"] =
260 {
261 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
262 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
263 },
264 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
265 },
266 {
267 ["value"] = 5000, -- Value of the Chip
268 ["name"] = "$5,000", -- Name of the chip
269 ["label"] = "$5k", -- Label used for converting machine
270 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
271 ["height"] = 0.35,
272 ["custom"] =
273 {
274 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
275 ["diffuse"] = "http://i.imgur.com/QQhHmVP.jpg", -- diffuse image
276 ["type"] = 5, -- 5 is a 'chip'
277 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
278 },
279 ["params"] =
280 {
281 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
282 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
283 },
284 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
285
286 },
287 {
288 ["value"] = 1000, -- Value of the Chip
289 ["name"] = "$1000", -- Name of the chip
290 ["label"] = "$1000", -- Label used for converting machine
291 ["standard"] = true, -- Standard tabletop chips true/false
292 ["height"] = 0.15,
293 ["params"] =
294 {
295 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
296 ["scale"] = {1,1,1} -- the scale at which to spawn the object
297 },
298 ["stack"] = "5" -- stack where the chips are put in
299 },
300 {
301 ["value"] = 500, -- Value of the Chip
302 ["name"] = "$500", -- Name of the chip
303 ["label"] = "$500", -- Label used for converting machine
304 ["standard"] = true, -- Standard tabletop chips true/false
305 ["height"] = 0.15,
306 ["params"] =
307 {
308 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
309 ["scale"] = {1,1,1} -- the scale at which to spawn the object
310 },
311 ["stack"] = "4" -- stack where the chips are put in
312 },
313 {
314 ["value"] = 100, -- Value of the Chip
315 ["name"] = "$100", -- Name of the chip
316 ["label"] = "$100", -- Label used for converting machine
317 ["standard"] = true, -- Standard tabletop chips true/false
318 ["height"] = 0.15,
319 ["params"] =
320 {
321 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
322 ["scale"] = {1,1,1} -- the scale at which to spawn the object
323 },
324 ["stack"] = "3" -- stack where the chips are put in
325 },
326 {
327 ["value"] = 50, -- Value of the Chip
328 ["name"] = "$50", -- Name of the chip
329 ["label"] = "$50", -- Label used for converting machine
330 ["standard"] = true, -- Standard tabletop chips true/false
331 ["height"] = 0.15,
332 ["params"] =
333 {
334 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
335 ["scale"] = {1,1,1} -- the scale at which to spawn the object
336 },
337 ["stack"] = "2" -- stack where the chips are put in
338 },
339 {
340 ["value"] = 10, -- Value of the Chip
341 ["name"] = "$10", -- Name of the chip
342 ["label"] = "$10", -- Label used for converting machine
343 ["standard"] = true, -- Standard tabletop chips true/false
344 ["height"] = 0.15,
345 ["params"] =
346 {
347 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
348 ["scale"] = {1,1,1} -- the scale at which to spawn the object
349 },
350 ["stack"] = "1" -- stack where the chips are put in
351 }
352 , -- dummy for unknown chips
353 {
354 ["value"] = -1, -- Value of the Chip
355 ["name"] = "unknown", -- Name of the chip
356 ["standard"] = false, -- Standard tabletop chips true/false
357 ["label"] = "dummy", -- Label used for converting machine
358 ["height"] = 0.3,
359 ["params"] =
360 {
361 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
362 ["scale"] = {1,1,1} -- the scale at which to spawn the object
363 },
364 ["stack"] = "10" -- stack where the chips are put in
365 }
366 },
367
368
369
370 ['default'] =
371 {
372 {
373 ["value"] = 100000, -- Value of the Chip
374 ["name"] = "$100,000", -- Name of the chip
375 ["label"] = "$100k", -- Label used for converting machine
376 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
377 ["height"] = 0.06,
378 ["custom"] =
379 {
380 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
381 ["diffuse"] = " http://i.imgur.com/hJIzRFn.jpg", -- diffuse image
382 ["type"] = 5, -- 5 is a 'chip'
383 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
384 },
385 ["params"] =
386 {
387 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
388 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
389 },
390 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
391 },
392 {
393 ["value"] = 50000, -- Value of the Chip
394 ["name"] = "$50,000", -- Name of the chip
395 ["label"] = "$50k", -- Label used for converting machine
396 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
397 ["height"] = 0.06,
398 ["custom"] =
399 {
400 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
401 ["diffuse"] = "http://i.imgur.com/m4pRnEa.jpg", -- diffuse image
402 ["type"] = 5, -- 5 is a 'chip'
403 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
404 },
405 ["params"] =
406 {
407 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
408 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
409 },
410 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
411 },
412 {
413 ["value"] = 25000, -- Value of the Chip
414 ["name"] = "$25,000", -- Name of the chip
415 ["label"] = "$25k", -- Label used for converting machine
416 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
417 ["height"] = 0.06,
418 ["custom"] =
419 {
420 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
421 ["diffuse"] = "http://i.imgur.com/mIZ9NXm.jpg", -- diffuse image
422 ["type"] = 5, -- 5 is a 'chip'
423 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
424 },
425 ["params"] =
426 {
427 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
428 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
429 },
430 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
431 },
432
433 {
434 ["value"] = 10000, -- Value of the Chip
435 ["name"] = "$10,000", -- Name of the chip
436 ["label"] = "$10k", -- Label used for converting machine
437 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
438 ["height"] = 0.35,
439 ["custom"] =
440 {
441 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
442 ["diffuse"] = "http://i.imgur.com/kp8fFK0.jpg", -- diffuse image
443 ["type"] = 5, -- 5 is a 'chip'
444 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
445 },
446 ["params"] =
447 {
448 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
449 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
450 },
451 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
452 },
453 {
454 ["value"] = 5000, -- Value of the Chip
455 ["name"] = "$5,000", -- Name of the chip
456 ["label"] = "$5k", -- Label used for converting machine
457 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
458 ["height"] = 0.35,
459 ["custom"] =
460 {
461 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
462 ["diffuse"] = "http://i.imgur.com/QQhHmVP.jpg", -- diffuse image
463 ["type"] = 5, -- 5 is a 'chip'
464 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
465 },
466 ["params"] =
467 {
468 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
469 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
470 },
471 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
472
473 },
474 {
475 ["value"] = 1000, -- Value of the Chip
476 ["name"] = "$1000", -- Name of the chip
477 ["label"] = "$1000", -- Label used for converting machine
478 ["standard"] = true, -- Standard tabletop chips true/false
479 ["height"] = 0.15,
480 ["params"] =
481 {
482 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
483 ["scale"] = {1,1,1} -- the scale at which to spawn the object
484 },
485 ["stack"] = "3" -- stack where the chips are put in
486 },
487 {
488 ["value"] = 500, -- Value of the Chip
489 ["name"] = "$500", -- Name of the chip
490 ["label"] = "$500", -- Label used for converting machine
491 ["standard"] = true, -- Standard tabletop chips true/false
492 ["height"] = 0.15,
493 ["params"] =
494 {
495 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
496 ["scale"] = {1,1,1} -- the scale at which to spawn the object
497 },
498 ["stack"] = "2" -- stack where the chips are put in
499 },
500 {
501 ["value"] = 100, -- Value of the Chip
502 ["name"] = "$100", -- Name of the chip
503 ["label"] = "$100", -- Label used for converting machine
504 ["standard"] = true, -- Standard tabletop chips true/false
505 ["height"] = 0.15,
506 ["params"] =
507 {
508 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
509 ["scale"] = {1,1,1} -- the scale at which to spawn the object
510 },
511 ["stack"] = "1" -- stack where the chips are put in
512 }
513 , -- dummy for unknown chips
514 {
515 ["value"] = -1, -- Value of the Chip
516 ["name"] = "unknown", -- Name of the chip
517 ["standard"] = false, -- Standard tabletop chips true/false
518 ["label"] = "dummy", -- Label used for converting machine
519 ["height"] = 0.3,
520 ["params"] =
521 {
522 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
523 ["scale"] = {1,1,1} -- the scale at which to spawn the object
524 },
525 ["stack"] = "10" -- stack where the chips are put in
526 }
527 },
528
529 ['default / WSOP - $10'] =
530 {
531 {
532 ["value"] = 1000000, -- Value of the Chip
533 ["name"] = "$1,000,000", -- Name of the chip
534 ["label"] = "$1m", -- Label used for converting machine
535 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
536 ["height"] = 0.15,
537 ["custom"] =
538 {
539 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
540 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
541 ["type"] = 5, -- 5 is a 'chip'
542 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
543 },
544 ["params"] =
545 {
546 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
547 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
548 },
549 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
550 },
551 {
552 ["value"] = 500000, -- Value of the Chip
553 ["name"] = "$500,000", -- Name of the chip
554 ["label"] = "$500k", -- Label used for converting machine
555 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
556 ["height"] = 0.15,
557 ["custom"] =
558 {
559 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
560 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
561 ["type"] = 5, -- 5 is a 'chip'
562 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
563 },
564 ["params"] =
565 {
566 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
567 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
568 },
569 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
570 },
571 {
572 ["value"] = 250000, -- Value of the Chip
573 ["name"] = "$250,000", -- Name of the chip
574 ["label"] = "$250k", -- Label used for converting machine
575 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
576 ["height"] = 0.15,
577 ["custom"] =
578 {
579 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
580 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
581 ["type"] = 5, -- 5 is a 'chip'
582 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
583 },
584 ["params"] =
585 {
586 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
587 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
588 },
589 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
590 },
591 {
592 ["value"] = 100000, -- Value of the Chip
593 ["name"] = "$100,000", -- Name of the chip
594 ["label"] = "$100k", -- Label used for converting machine
595 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
596 ["height"] = 0.15,
597 ["custom"] =
598 {
599 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
600 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
601 ["type"] = 5, -- 5 is a 'chip'
602 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
603 },
604 ["params"] =
605 {
606 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
607 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
608 },
609 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
610 },
611 {
612 ["value"] = 50000, -- Value of the Chip
613 ["name"] = "$50,000", -- Name of the chip
614 ["label"] = "$50k", -- Label used for converting machine
615 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
616 ["height"] = 0.15,
617 ["custom"] =
618 {
619 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
620 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
621 ["type"] = 5, -- 5 is a 'chip'
622 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
623 },
624 ["params"] =
625 {
626 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
627 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
628 },
629 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
630 }
631 ,
632 {
633 ["value"] = 25000, -- Value of the Chip
634 ["name"] = "$25,000", -- Name of the chip
635 ["label"] = "$25k", -- Label used for converting machine
636 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
637 ["height"] = 0.15,
638 ["custom"] =
639 {
640 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
641 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
642 ["type"] = 5, -- 5 is a 'chip'
643 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
644 },
645 ["params"] =
646 {
647 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
648 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
649 },
650 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
651 },
652 {
653 ["value"] = 10000, -- Value of the Chip
654 ["name"] = "$10,000", -- Name of the chip
655 ["label"] = "$10k", -- Label used for converting machine
656 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
657 ["height"] = 0.15,
658 ["custom"] =
659 {
660 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
661 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
662 ["type"] = 5, -- 5 is a 'chip'
663 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
664 },
665 ["params"] =
666 {
667 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
668 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
669 },
670 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
671 },
672
673 {
674 ["value"] = 5000, -- Value of the Chip
675 ["name"] = "$5,000", -- Name of the chip
676 ["label"] = "$5000", -- Label used for converting machine
677 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
678 ["height"] = 0.15,
679 ["custom"] =
680 {
681 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
682 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
683 ["type"] = 5, -- 5 is a 'chip'
684 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
685 },
686 ["params"] =
687 {
688 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
689 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
690 },
691 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
692 },
693
694 {
695 ["value"] = 2500, -- Value of the Chip
696 ["name"] = "$2,500", -- Name of the chip
697 ["label"] = "$2500", -- Label used for converting machine
698 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
699 ["height"] = 0.15,
700 ["custom"] =
701 {
702 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
703 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
704 ["type"] = 5, -- 5 is a 'chip'
705 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
706 },
707 ["params"] =
708 {
709 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
710 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
711 },
712 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
713 },
714
715
716
717 {
718 ["value"] = 1000, -- Value of the Chip
719 ["name"] = "$1000", -- Name of the chip
720 ["label"] = "$1000", -- Label used for converting machine
721 ["standard"] = true, -- Standard tabletop chips true/false
722 ["height"] = 0.15,
723 ["params"] =
724 {
725 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
726 ["scale"] = {1,1,1} -- the scale at which to spawn the object
727 },
728 ["stack"] = "5" -- stack where the chips are put in
729 },
730 {
731 ["value"] = 500, -- Value of the Chip
732 ["name"] = "$500", -- Name of the chip
733 ["label"] = "$500", -- Label used for converting machine
734 ["standard"] = true, -- Standard tabletop chips true/false
735 ["height"] = 0.15,
736 ["params"] =
737 {
738 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
739 ["scale"] = {1,1,1} -- the scale at which to spawn the object
740 },
741 ["stack"] = "4" -- stack where the chips are put in
742 },
743 {
744 ["value"] = 100, -- Value of the Chip
745 ["name"] = "$100", -- Name of the chip
746 ["label"] = "$100", -- Label used for converting machine
747 ["standard"] = true, -- Standard tabletop chips true/false
748 ["height"] = 0.15,
749 ["params"] =
750 {
751 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
752 ["scale"] = {1,1,1} -- the scale at which to spawn the object
753 },
754 ["stack"] = "3" -- stack where the chips are put in
755 },
756 {
757 ["value"] = 50, -- Value of the Chip
758 ["name"] = "$50", -- Name of the chip
759 ["label"] = "$50", -- Label used for converting machine
760 ["standard"] = true, -- Standard tabletop chips true/false
761 ["height"] = 0.15,
762 ["params"] =
763 {
764 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
765 ["scale"] = {1,1,1} -- the scale at which to spawn the object
766 },
767 ["stack"] = "2" -- stack where the chips are put in
768 },
769 {
770 ["value"] = 10, -- Value of the Chip
771 ["name"] = "$10", -- Name of the chip
772 ["label"] = "$10", -- Label used for converting machine
773 ["standard"] = true, -- Standard tabletop chips true/false
774 ["height"] = 0.15,
775 ["params"] =
776 {
777 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
778 ["scale"] = {1,1,1} -- the scale at which to spawn the object
779 },
780 ["stack"] = "1" -- stack where the chips are put in
781 }
782 , -- dummy for unknown chips
783 {
784 ["value"] = -1, -- Value of the Chip
785 ["name"] = "unknown", -- Name of the chip
786 ["standard"] = false, -- Standard tabletop chips true/false
787 ["label"] = "dummy", -- Label used for converting machine
788 ["height"] = 0.3,
789 ["params"] =
790 {
791 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
792 ["scale"] = {1,1,1} -- the scale at which to spawn the object
793 },
794 ["stack"] = "10" -- stack where the chips are put in
795 }
796 },
797
798
799 ['default / WSOP - $100'] =
800 {
801 {
802 ["value"] = 1000000, -- Value of the Chip
803 ["name"] = "$1,000,000", -- Name of the chip
804 ["label"] = "$1m", -- Label used for converting machine
805 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
806 ["height"] = 0.15,
807 ["custom"] =
808 {
809 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
810 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
811 ["type"] = 5, -- 5 is a 'chip'
812 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
813 },
814 ["params"] =
815 {
816 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
817 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
818 },
819 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
820 },
821 {
822 ["value"] = 500000, -- Value of the Chip
823 ["name"] = "$500,000", -- Name of the chip
824 ["label"] = "$500k", -- Label used for converting machine
825 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
826 ["height"] = 0.15,
827 ["custom"] =
828 {
829 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
830 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
831 ["type"] = 5, -- 5 is a 'chip'
832 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
833 },
834 ["params"] =
835 {
836 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
837 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
838 },
839 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
840 },
841 {
842 ["value"] = 250000, -- Value of the Chip
843 ["name"] = "$250,000", -- Name of the chip
844 ["label"] = "$250k", -- Label used for converting machine
845 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
846 ["height"] = 0.15,
847 ["custom"] =
848 {
849 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
850 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
851 ["type"] = 5, -- 5 is a 'chip'
852 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
853 },
854 ["params"] =
855 {
856 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
857 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
858 },
859 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
860 },
861 {
862 ["value"] = 100000, -- Value of the Chip
863 ["name"] = "$100,000", -- Name of the chip
864 ["label"] = "$100k", -- Label used for converting machine
865 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
866 ["height"] = 0.15,
867 ["custom"] =
868 {
869 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
870 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
871 ["type"] = 5, -- 5 is a 'chip'
872 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
873 },
874 ["params"] =
875 {
876 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
877 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
878 },
879 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
880 },
881 {
882 ["value"] = 50000, -- Value of the Chip
883 ["name"] = "$50,000", -- Name of the chip
884 ["label"] = "$50k", -- Label used for converting machine
885 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
886 ["height"] = 0.15,
887 ["custom"] =
888 {
889 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
890 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
891 ["type"] = 5, -- 5 is a 'chip'
892 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
893 },
894 ["params"] =
895 {
896 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
897 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
898 },
899 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
900 }
901 ,
902 {
903 ["value"] = 25000, -- Value of the Chip
904 ["name"] = "$25,000", -- Name of the chip
905 ["label"] = "$25k", -- Label used for converting machine
906 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
907 ["height"] = 0.15,
908 ["custom"] =
909 {
910 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
911 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
912 ["type"] = 5, -- 5 is a 'chip'
913 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
914 },
915 ["params"] =
916 {
917 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
918 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
919 },
920 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
921 },
922 {
923 ["value"] = 10000, -- Value of the Chip
924 ["name"] = "$10,000", -- Name of the chip
925 ["label"] = "$10k", -- Label used for converting machine
926 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
927 ["height"] = 0.15,
928 ["custom"] =
929 {
930 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
931 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
932 ["type"] = 5, -- 5 is a 'chip'
933 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
934 },
935 ["params"] =
936 {
937 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
938 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
939 },
940 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
941 },
942
943 {
944 ["value"] = 5000, -- Value of the Chip
945 ["name"] = "$5,000", -- Name of the chip
946 ["label"] = "$5000", -- Label used for converting machine
947 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
948 ["height"] = 0.15,
949 ["custom"] =
950 {
951 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
952 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
953 ["type"] = 5, -- 5 is a 'chip'
954 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
955 },
956 ["params"] =
957 {
958 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
959 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
960 },
961 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
962 },
963
964 {
965 ["value"] = 2500, -- Value of the Chip
966 ["name"] = "$2,500", -- Name of the chip
967 ["label"] = "$2500", -- Label used for converting machine
968 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
969 ["height"] = 0.15,
970 ["custom"] =
971 {
972 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
973 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
974 ["type"] = 5, -- 5 is a 'chip'
975 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
976 },
977 ["params"] =
978 {
979 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
980 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
981 },
982 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
983 },
984
985
986
987 {
988 ["value"] = 1000, -- Value of the Chip
989 ["name"] = "$1000", -- Name of the chip
990 ["label"] = "$1000", -- Label used for converting machine
991 ["standard"] = true, -- Standard tabletop chips true/false
992 ["height"] = 0.15,
993 ["params"] =
994 {
995 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
996 ["scale"] = {1,1,1} -- the scale at which to spawn the object
997 },
998 ["stack"] = "3" -- stack where the chips are put in
999 },
1000 {
1001 ["value"] = 500, -- Value of the Chip
1002 ["name"] = "$500", -- Name of the chip
1003 ["label"] = "$500", -- Label used for converting machine
1004 ["standard"] = true, -- Standard tabletop chips true/false
1005 ["height"] = 0.15,
1006 ["params"] =
1007 {
1008 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1009 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1010 },
1011 ["stack"] = "2" -- stack where the chips are put in
1012 },
1013 {
1014 ["value"] = 100, -- Value of the Chip
1015 ["name"] = "$100", -- Name of the chip
1016 ["label"] = "$100", -- Label used for converting machine
1017 ["standard"] = true, -- Standard tabletop chips true/false
1018 ["height"] = 0.15,
1019 ["params"] =
1020 {
1021 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1022 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1023 },
1024 ["stack"] = "1" -- stack where the chips are put in
1025 }
1026 , -- dummy for unknown chips
1027 {
1028 ["value"] = -1, -- Value of the Chip
1029 ["name"] = "unknown", -- Name of the chip
1030 ["standard"] = false, -- Standard tabletop chips true/false
1031 ["label"] = "dummy", -- Label used for converting machine
1032 ["height"] = 0.3,
1033 ["params"] =
1034 {
1035 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1036 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1037 },
1038 ["stack"] = "10" -- stack where the chips are put in
1039 }
1040 },
1041
1042
1043 ['World Series Of Poker - $100'] =
1044 {
1045 {
1046 ["value"] = 1000000, -- Value of the Chip
1047 ["name"] = "$1,000,000", -- Name of the chip
1048 ["label"] = "$1m", -- Label used for converting machine
1049 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1050 ["height"] = 0.15,
1051 ["custom"] =
1052 {
1053 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1054 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
1055 ["type"] = 5, -- 5 is a 'chip'
1056 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1057 },
1058 ["params"] =
1059 {
1060 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1061 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1062 },
1063 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1064 },
1065 {
1066 ["value"] = 500000, -- Value of the Chip
1067 ["name"] = "$500,000", -- Name of the chip
1068 ["label"] = "$500k", -- Label used for converting machine
1069 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1070 ["height"] = 0.15,
1071 ["custom"] =
1072 {
1073 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1074 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
1075 ["type"] = 5, -- 5 is a 'chip'
1076 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1077 },
1078 ["params"] =
1079 {
1080 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1081 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1082 },
1083 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1084 },
1085 {
1086 ["value"] = 250000, -- Value of the Chip
1087 ["name"] = "$250,000", -- Name of the chip
1088 ["label"] = "$250k", -- Label used for converting machine
1089 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1090 ["height"] = 0.15,
1091 ["custom"] =
1092 {
1093 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1094 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
1095 ["type"] = 5, -- 5 is a 'chip'
1096 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1097 },
1098 ["params"] =
1099 {
1100 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1101 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1102 },
1103 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1104 },
1105 {
1106 ["value"] = 100000, -- Value of the Chip
1107 ["name"] = "$100,000", -- Name of the chip
1108 ["label"] = "$100k", -- Label used for converting machine
1109 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1110 ["height"] = 0.15,
1111 ["custom"] =
1112 {
1113 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1114 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
1115 ["type"] = 5, -- 5 is a 'chip'
1116 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1117 },
1118 ["params"] =
1119 {
1120 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1121 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1122 },
1123 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1124 },
1125 {
1126 ["value"] = 50000, -- Value of the Chip
1127 ["name"] = "$50,000", -- Name of the chip
1128 ["label"] = "$50k", -- Label used for converting machine
1129 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1130 ["height"] = 0.15,
1131 ["custom"] =
1132 {
1133 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1134 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
1135 ["type"] = 5, -- 5 is a 'chip'
1136 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1137 },
1138 ["params"] =
1139 {
1140 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1141 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1142 },
1143 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1144 }
1145 ,
1146 {
1147 ["value"] = 25000, -- Value of the Chip
1148 ["name"] = "$25,000", -- Name of the chip
1149 ["label"] = "$25k", -- Label used for converting machine
1150 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1151 ["height"] = 0.15,
1152 ["custom"] =
1153 {
1154 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1155 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
1156 ["type"] = 5, -- 5 is a 'chip'
1157 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1158 },
1159 ["params"] =
1160 {
1161 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1162 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1163 },
1164 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1165 },
1166 {
1167 ["value"] = 10000, -- Value of the Chip
1168 ["name"] = "$10,000", -- Name of the chip
1169 ["label"] = "$10k", -- Label used for converting machine
1170 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1171 ["height"] = 0.15,
1172 ["custom"] =
1173 {
1174 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1175 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
1176 ["type"] = 5, -- 5 is a 'chip'
1177 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1178 },
1179 ["params"] =
1180 {
1181 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1182 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1183 },
1184 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1185 },
1186
1187 {
1188 ["value"] = 5000, -- Value of the Chip
1189 ["name"] = "$5,000", -- Name of the chip
1190 ["label"] = "$5000", -- Label used for converting machine
1191 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1192 ["height"] = 0.15,
1193 ["custom"] =
1194 {
1195 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1196 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
1197 ["type"] = 5, -- 5 is a 'chip'
1198 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1199 },
1200 ["params"] =
1201 {
1202 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1203 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1204 },
1205 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1206 },
1207
1208 {
1209 ["value"] = 2500, -- Value of the Chip
1210 ["name"] = "$2,500", -- Name of the chip
1211 ["label"] = "$2500", -- Label used for converting machine
1212 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1213 ["height"] = 0.15,
1214 ["custom"] =
1215 {
1216 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1217 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
1218 ["type"] = 5, -- 5 is a 'chip'
1219 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1220 },
1221 ["params"] =
1222 {
1223 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1224 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1225 },
1226 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1227 },
1228 {
1229 ["value"] = 1000, -- Value of the Chip
1230 ["name"] = "$1,000", -- Name of the chip
1231 ["label"] = "$1000", -- Label used for converting machine
1232 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1233 ["height"] = 0.15,
1234 ["custom"] =
1235 {
1236 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1237 ["diffuse"] = "http://i.imgur.com/IEAM8Fh.jpg", -- diffuse image
1238 ["type"] = 5, -- 5 is a 'chip'
1239 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1240 },
1241 ["params"] =
1242 {
1243 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1244 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1245 },
1246 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1247 },
1248 {
1249 ["value"] = 500, -- Value of the Chip
1250 ["name"] = "$500", -- Name of the chip
1251 ["label"] = "$500", -- Label used for converting machine
1252 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1253 ["height"] = 0.15,
1254 ["custom"] =
1255 {
1256 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1257 ["diffuse"] = "http://i.imgur.com/nOxPst2.jpg", -- diffuse image
1258 ["type"] = 5, -- 5 is a 'chip'
1259 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1260 },
1261 ["params"] =
1262 {
1263 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1264 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1265 },
1266 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1267 },
1268
1269 {
1270 ["value"] = 100, -- Value of the Chip
1271 ["name"] = "$100", -- Name of the chip
1272 ["label"] = "$100", -- Label used for converting machine
1273 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1274 ["height"] = 0.15,
1275 ["custom"] =
1276 {
1277 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1278 ["diffuse"] = "http://i.imgur.com/RHmy71O.jpg", -- diffuse image
1279 ["type"] = 5, -- 5 is a 'chip'
1280 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1281 },
1282 ["params"] =
1283 {
1284 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1285 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1286 },
1287 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1288 }
1289 , -- dummy for unknown chips
1290 {
1291 ["value"] = -1, -- Value of the Chip
1292 ["name"] = "unknown", -- Name of the chip
1293 ["standard"] = false, -- Standard tabletop chips true/false
1294 ["label"] = "dummy", -- Label used for converting machine
1295 ["height"] = 0.3,
1296 ["params"] =
1297 {
1298 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1299 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1300 },
1301 ["stack"] = "13" -- stack where the chips are put in
1302 }
1303 }
1304 ,
1305
1306 ['World Series Of Poker - $500'] =
1307 {
1308 {
1309 ["value"] = 1000000, -- Value of the Chip
1310 ["name"] = "$1,000,000", -- Name of the chip
1311 ["label"] = "$1m", -- Label used for converting machine
1312 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1313 ["height"] = 0.15,
1314 ["custom"] =
1315 {
1316 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1317 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
1318 ["type"] = 5, -- 5 is a 'chip'
1319 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1320 },
1321 ["params"] =
1322 {
1323 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1324 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1325 },
1326 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1327 },
1328 {
1329 ["value"] = 500000, -- Value of the Chip
1330 ["name"] = "$500,000", -- Name of the chip
1331 ["label"] = "$500k", -- Label used for converting machine
1332 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1333 ["height"] = 0.15,
1334 ["custom"] =
1335 {
1336 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1337 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
1338 ["type"] = 5, -- 5 is a 'chip'
1339 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1340 },
1341 ["params"] =
1342 {
1343 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1344 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1345 },
1346 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1347 },
1348 {
1349 ["value"] = 250000, -- Value of the Chip
1350 ["name"] = "$250,000", -- Name of the chip
1351 ["label"] = "$250k", -- Label used for converting machine
1352 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1353 ["height"] = 0.15,
1354 ["custom"] =
1355 {
1356 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1357 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
1358 ["type"] = 5, -- 5 is a 'chip'
1359 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1360 },
1361 ["params"] =
1362 {
1363 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1364 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1365 },
1366 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1367 },
1368 {
1369 ["value"] = 100000, -- Value of the Chip
1370 ["name"] = "$100,000", -- Name of the chip
1371 ["label"] = "$100k", -- Label used for converting machine
1372 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1373 ["height"] = 0.15,
1374 ["custom"] =
1375 {
1376 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1377 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
1378 ["type"] = 5, -- 5 is a 'chip'
1379 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1380 },
1381 ["params"] =
1382 {
1383 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1384 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1385 },
1386 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1387 },
1388 {
1389 ["value"] = 50000, -- Value of the Chip
1390 ["name"] = "$50,000", -- Name of the chip
1391 ["label"] = "$50k", -- Label used for converting machine
1392 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1393 ["height"] = 0.15,
1394 ["custom"] =
1395 {
1396 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1397 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
1398 ["type"] = 5, -- 5 is a 'chip'
1399 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1400 },
1401 ["params"] =
1402 {
1403 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1404 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1405 },
1406 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1407 }
1408 ,
1409 {
1410 ["value"] = 25000, -- Value of the Chip
1411 ["name"] = "$25,000", -- Name of the chip
1412 ["label"] = "$25k", -- Label used for converting machine
1413 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1414 ["height"] = 0.15,
1415 ["custom"] =
1416 {
1417 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1418 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
1419 ["type"] = 5, -- 5 is a 'chip'
1420 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1421 },
1422 ["params"] =
1423 {
1424 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1425 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1426 },
1427 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1428 },
1429 {
1430 ["value"] = 10000, -- Value of the Chip
1431 ["name"] = "$10,000", -- Name of the chip
1432 ["label"] = "$10k", -- Label used for converting machine
1433 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1434 ["height"] = 0.15,
1435 ["custom"] =
1436 {
1437 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1438 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
1439 ["type"] = 5, -- 5 is a 'chip'
1440 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1441 },
1442 ["params"] =
1443 {
1444 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1445 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1446 },
1447 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1448 },
1449
1450 {
1451 ["value"] = 5000, -- Value of the Chip
1452 ["name"] = "$5,000", -- Name of the chip
1453 ["label"] = "$5000", -- Label used for converting machine
1454 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1455 ["height"] = 0.15,
1456 ["custom"] =
1457 {
1458 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1459 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
1460 ["type"] = 5, -- 5 is a 'chip'
1461 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1462 },
1463 ["params"] =
1464 {
1465 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1466 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1467 },
1468 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1469 },
1470
1471 {
1472 ["value"] = 2500, -- Value of the Chip
1473 ["name"] = "$2,500", -- Name of the chip
1474 ["label"] = "$2500", -- Label used for converting machine
1475 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1476 ["height"] = 0.15,
1477 ["custom"] =
1478 {
1479 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1480 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
1481 ["type"] = 5, -- 5 is a 'chip'
1482 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1483 },
1484 ["params"] =
1485 {
1486 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1487 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1488 },
1489 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1490 },
1491 {
1492 ["value"] = 1000, -- Value of the Chip
1493 ["name"] = "$1,000", -- Name of the chip
1494 ["label"] = "$1000", -- Label used for converting machine
1495 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1496 ["height"] = 0.15,
1497 ["custom"] =
1498 {
1499 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1500 ["diffuse"] = "http://i.imgur.com/IEAM8Fh.jpg", -- diffuse image
1501 ["type"] = 5, -- 5 is a 'chip'
1502 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1503 },
1504 ["params"] =
1505 {
1506 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1507 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1508 },
1509 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1510 },
1511 {
1512 ["value"] = 500, -- Value of the Chip
1513 ["name"] = "$500", -- Name of the chip
1514 ["label"] = "$500", -- Label used for converting machine
1515 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1516 ["height"] = 0.15,
1517 ["custom"] =
1518 {
1519 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1520 ["diffuse"] = "http://i.imgur.com/nOxPst2.jpg", -- diffuse image
1521 ["type"] = 5, -- 5 is a 'chip'
1522 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1523 },
1524 ["params"] =
1525 {
1526 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1527 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1528 },
1529 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1530 },
1531 -- dummy for unknown chips
1532 {
1533 ["value"] = -1, -- Value of the Chip
1534 ["name"] = "unknown", -- Name of the chip
1535 ["standard"] = false, -- Standard tabletop chips true/false
1536 ["label"] = "dummy", -- Label used for converting machine
1537 ["height"] = 0.3,
1538 ["params"] =
1539 {
1540 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1541 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1542 },
1543 ["stack"] = "13" -- stack where the chips are put in
1544 }
1545 }
1546 ,
1547
1548 ['World Series Of Poker - $25'] =
1549 {
1550 {
1551 ["value"] = 1000000, -- Value of the Chip
1552 ["name"] = "$1,000,000", -- Name of the chip
1553 ["label"] = "$1m", -- Label used for converting machine
1554 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1555 ["height"] = 0.15,
1556 ["custom"] =
1557 {
1558 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1559 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
1560 ["type"] = 5, -- 5 is a 'chip'
1561 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1562 },
1563 ["params"] =
1564 {
1565 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1566 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1567 },
1568 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1569 },
1570 {
1571 ["value"] = 500000, -- Value of the Chip
1572 ["name"] = "$500,000", -- Name of the chip
1573 ["label"] = "$500k", -- Label used for converting machine
1574 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1575 ["height"] = 0.15,
1576 ["custom"] =
1577 {
1578 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1579 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
1580 ["type"] = 5, -- 5 is a 'chip'
1581 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1582 },
1583 ["params"] =
1584 {
1585 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1586 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1587 },
1588 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1589 },
1590 {
1591 ["value"] = 250000, -- Value of the Chip
1592 ["name"] = "$250,000", -- Name of the chip
1593 ["label"] = "$250k", -- Label used for converting machine
1594 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1595 ["height"] = 0.15,
1596 ["custom"] =
1597 {
1598 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1599 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
1600 ["type"] = 5, -- 5 is a 'chip'
1601 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1602 },
1603 ["params"] =
1604 {
1605 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1606 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1607 },
1608 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1609 },
1610 {
1611 ["value"] = 100000, -- Value of the Chip
1612 ["name"] = "$100,000", -- Name of the chip
1613 ["label"] = "$100k", -- Label used for converting machine
1614 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1615 ["height"] = 0.15,
1616 ["custom"] =
1617 {
1618 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1619 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
1620 ["type"] = 5, -- 5 is a 'chip'
1621 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1622 },
1623 ["params"] =
1624 {
1625 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1626 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1627 },
1628 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1629 },
1630 {
1631 ["value"] = 50000, -- Value of the Chip
1632 ["name"] = "$50,000", -- Name of the chip
1633 ["label"] = "$50k", -- Label used for converting machine
1634 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1635 ["height"] = 0.15,
1636 ["custom"] =
1637 {
1638 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1639 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
1640 ["type"] = 5, -- 5 is a 'chip'
1641 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1642 },
1643 ["params"] =
1644 {
1645 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1646 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1647 },
1648 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1649 }
1650 ,
1651 {
1652 ["value"] = 25000, -- Value of the Chip
1653 ["name"] = "$25,000", -- Name of the chip
1654 ["label"] = "$25k", -- Label used for converting machine
1655 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1656 ["height"] = 0.15,
1657 ["custom"] =
1658 {
1659 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1660 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
1661 ["type"] = 5, -- 5 is a 'chip'
1662 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1663 },
1664 ["params"] =
1665 {
1666 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1667 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1668 },
1669 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1670 },
1671 {
1672 ["value"] = 10000, -- Value of the Chip
1673 ["name"] = "$10,000", -- Name of the chip
1674 ["label"] = "$10k", -- Label used for converting machine
1675 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1676 ["height"] = 0.15,
1677 ["custom"] =
1678 {
1679 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1680 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
1681 ["type"] = 5, -- 5 is a 'chip'
1682 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1683 },
1684 ["params"] =
1685 {
1686 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1687 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1688 },
1689 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1690 },
1691
1692 {
1693 ["value"] = 5000, -- Value of the Chip
1694 ["name"] = "$5,000", -- Name of the chip
1695 ["label"] = "$5000", -- Label used for converting machine
1696 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1697 ["height"] = 0.15,
1698 ["custom"] =
1699 {
1700 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1701 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
1702 ["type"] = 5, -- 5 is a 'chip'
1703 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1704 },
1705 ["params"] =
1706 {
1707 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1708 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1709 },
1710 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1711 },
1712
1713 {
1714 ["value"] = 2500, -- Value of the Chip
1715 ["name"] = "$2,500", -- Name of the chip
1716 ["label"] = "$2500", -- Label used for converting machine
1717 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1718 ["height"] = 0.15,
1719 ["custom"] =
1720 {
1721 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1722 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
1723 ["type"] = 5, -- 5 is a 'chip'
1724 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1725 },
1726 ["params"] =
1727 {
1728 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1729 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1730 },
1731 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1732 },
1733 {
1734 ["value"] = 1000, -- Value of the Chip
1735 ["name"] = "$1,000", -- Name of the chip
1736 ["label"] = "$1000", -- Label used for converting machine
1737 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1738 ["height"] = 0.15,
1739 ["custom"] =
1740 {
1741 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1742 ["diffuse"] = "http://i.imgur.com/IEAM8Fh.jpg", -- diffuse image
1743 ["type"] = 5, -- 5 is a 'chip'
1744 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1745 },
1746 ["params"] =
1747 {
1748 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1749 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1750 },
1751 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1752 },
1753 {
1754 ["value"] = 500, -- Value of the Chip
1755 ["name"] = "$500", -- Name of the chip
1756 ["label"] = "$500", -- Label used for converting machine
1757 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1758 ["height"] = 0.15,
1759 ["custom"] =
1760 {
1761 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1762 ["diffuse"] = "http://i.imgur.com/nOxPst2.jpg", -- diffuse image
1763 ["type"] = 5, -- 5 is a 'chip'
1764 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1765 },
1766 ["params"] =
1767 {
1768 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1769 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1770 },
1771 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1772 },
1773
1774 {
1775 ["value"] = 100, -- Value of the Chip
1776 ["name"] = "$100", -- Name of the chip
1777 ["label"] = "$100", -- Label used for converting machine
1778 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1779 ["height"] = 0.15,
1780 ["custom"] =
1781 {
1782 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1783 ["diffuse"] = "http://i.imgur.com/RHmy71O.jpg", -- diffuse image
1784 ["type"] = 5, -- 5 is a 'chip'
1785 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1786 },
1787 ["params"] =
1788 {
1789 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1790 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1791 },
1792 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1793 },
1794
1795 {
1796 ["value"] = 50, -- Value of the Chip
1797 ["name"] = "$50", -- Name of the chip
1798 ["label"] = "$50", -- Label used for converting machine
1799 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1800 ["height"] = 0.15,
1801 ["custom"] =
1802 {
1803 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1804 ["diffuse"] = "http://i.imgur.com/6SgDPma.png", -- diffuse image
1805 ["type"] = 5, -- 5 is a 'chip'
1806 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1807 },
1808 ["params"] =
1809 {
1810 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1811 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1812 },
1813 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1814 }
1815 ,
1816
1817 {
1818 ["value"] = 25, -- Value of the Chip
1819 ["name"] = "$25", -- Name of the chip
1820 ["label"] = "$25", -- Label used for converting machine
1821 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1822 ["height"] = 0.15,
1823 ["custom"] =
1824 {
1825 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1826 ["diffuse"] = "http://i.imgur.com/BFGnKIK.jpg", -- diffuse image
1827 ["type"] = 5, -- 5 is a 'chip'
1828 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1829 },
1830 ["params"] =
1831 {
1832 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1833 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1834 },
1835 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1836 }
1837 , -- dummy for unknown chips
1838 {
1839 ["value"] = -1, -- Value of the Chip
1840 ["name"] = "unknown", -- Name of the chip
1841 ["standard"] = false, -- Standard tabletop chips true/false
1842 ["label"] = "dummy", -- Label used for converting machine
1843 ["height"] = 0.3,
1844 ["params"] =
1845 {
1846 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1847 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1848 },
1849 ["stack"] = "15" -- stack where the chips are put in
1850 }
1851 },
1852
1853 ['Casino Style V2 - $1'] =
1854 {
1855
1856 --1000
1857 {
1858 ["value"] = 1000, -- Value of the Chip
1859 ["name"] = "$1,000", -- Name of the chip
1860 ["label"] = "$1000", -- Label used for converting machine
1861 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1862 ["height"] = 0.15,
1863 ["custom"] =
1864 {
1865 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1866 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
1867 ["type"] = 5, -- 5 is a 'chip'
1868 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1869 },
1870 ["params"] =
1871 {
1872 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1873 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1874 },
1875
1876 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1877 },
1878 --500
1879 {
1880 ["value"] = 500, -- Value of the Chip
1881 ["name"] = "$500", -- Name of the chip
1882 ["label"] = "$500", -- Label used for converting machine
1883 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1884 ["height"] = 0.15,
1885 ["custom"] =
1886 {
1887 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1888 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
1889 ["type"] = 5, -- 5 is a 'chip'
1890 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1891 },
1892 ["params"] =
1893 {
1894 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1895 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1896 },
1897
1898 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1899 },
1900
1901 --250
1902 {
1903 ["value"] = 250, -- Value of the Chip
1904 ["name"] = "$250", -- Name of the chip
1905 ["label"] = "$250", -- 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_GxRg4IZlc2U1RDeU9mZGc", -- 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
1921 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1922 },
1923
1924 --100
1925 {
1926 ["value"] = 100, -- Value of the Chip
1927 ["name"] = "$100", -- Name of the chip
1928 ["label"] = "$100", -- Label used for converting machine
1929 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1930 ["height"] = 0.15,
1931 ["custom"] =
1932 {
1933 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1934 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
1935 ["type"] = 5, -- 5 is a 'chip'
1936 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1937 },
1938 ["params"] =
1939 {
1940 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1941 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1942 },
1943
1944 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1945 },
1946
1947 --50
1948 {
1949 ["value"] = 50, -- Value of the Chip
1950 ["name"] = "$50", -- Name of the chip
1951 ["label"] = "$50", -- Label used for converting machine
1952 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1953 ["height"] = 0.15,
1954 ["custom"] =
1955 {
1956 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1957 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZFpTSV9UYVA4SzA", -- diffuse image
1958 ["type"] = 5, -- 5 is a 'chip'
1959 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1960 },
1961 ["params"] =
1962 {
1963 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1964 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1965 },
1966
1967 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1968 },
1969 --25
1970 {
1971 ["value"] = 25, -- Value of the Chip
1972 ["name"] = "$25", -- Name of the chip
1973 ["label"] = "$25", -- Label used for converting machine
1974 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1975 ["height"] = 0.15,
1976 ["custom"] =
1977 {
1978 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1979 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUE1vakxlV1VWeG8", -- diffuse image
1980 ["type"] = 5, -- 5 is a 'chip'
1981 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1982 },
1983 ["params"] =
1984 {
1985 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1986 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1987 },
1988
1989 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1990 },
1991 --10
1992 {
1993 ["value"] = 10, -- Value of the Chip
1994 ["name"] = "$10", -- Name of the chip
1995 ["label"] = "$10", -- Label used for converting machine
1996 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1997 ["height"] = 0.15,
1998 ["custom"] =
1999 {
2000 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2001 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IejNGRlFiVE5EZ1U", -- diffuse image
2002 ["type"] = 5, -- 5 is a 'chip'
2003 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2004 },
2005 ["params"] =
2006 {
2007 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2008 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2009 },
2010
2011 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2012 },
2013 --5
2014 {
2015 ["value"] = 5, -- Value of the Chip
2016 ["name"] = "$5", -- Name of the chip
2017 ["label"] = "$5", -- Label used for converting machine
2018 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2019 ["height"] = 0.15,
2020 ["custom"] =
2021 {
2022 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2023 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUFlQOVN1ak83VHM", -- diffuse image
2024 ["type"] = 5, -- 5 is a 'chip'
2025 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2026 },
2027 ["params"] =
2028 {
2029 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2030 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2031 },
2032
2033 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2034 },
2035 --1
2036 {
2037 ["value"] = 1, -- Value of the Chip
2038 ["name"] = "$1", -- Name of the chip
2039 ["label"] = "$1", -- Label used for converting machine
2040 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2041 ["height"] = 0.15,
2042 ["custom"] =
2043 {
2044 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2045 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ILWFqZTBoSnZUam8", -- diffuse image
2046 ["type"] = 5, -- 5 is a 'chip'
2047 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2048 },
2049 ["params"] =
2050 {
2051 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2052 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2053 },
2054
2055 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2056 },
2057 -- 50c
2058 {
2059 ["value"] = 0.50, -- Value of the Chip
2060 ["name"] = "$0.50", -- Name of the chip
2061 ["standard"] = false, -- Standard tabletop chips true/false
2062 ["label"] = "$0.50", -- Label used for converting machine
2063 ["height"] = 0.15,
2064 ["custom"] =
2065 {
2066 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2067 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ILWFqZTBoSnZUam8", -- diffuse image
2068 ["type"] = 5, -- 5 is a 'chip'
2069 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2070 },
2071 ["params"] =
2072 {
2073 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2074 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2075 },
2076
2077 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2078 },
2079 -- 25c
2080 {
2081 ["value"] = 0.25, -- Value of the Chip
2082 ["name"] = "$0.25", -- Name of the chip
2083 ["standard"] = false, -- Standard tabletop chips true/false
2084 ["label"] = "$0.25", -- Label used for converting machine
2085 ["height"] = 0.15,
2086 ["custom"] =
2087 {
2088 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2089 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ILWFqZTBoSnZUam8", -- diffuse image
2090 ["type"] = 5, -- 5 is a 'chip'
2091 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2092 },
2093 ["params"] =
2094 {
2095 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2096 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2097 },
2098
2099 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2100 },
2101 -- dummy for unknown chips
2102 {
2103 ["value"] = -1, -- Value of the Chip
2104 ["name"] = "unknown", -- Name of the chip
2105 ["standard"] = false, -- Standard tabletop chips true/false
2106 ["label"] = "dummy", -- Label used for converting machine
2107 ["height"] = 0.3,
2108 ["params"] =
2109 {
2110 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2111 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2112 },
2113 ["stack"] = "15" -- stack where the chips are put in
2114 },
2115
2116 },
2117
2118 ['Casino Style V2 - $10'] =
2119 {
2120
2121 --10m
2122 {
2123 ["value"] = 10000000, -- Value of the Chip
2124 ["name"] = "$10,000,000", -- Name of the chip
2125 ["label"] = "$10m", -- Label used for converting machine
2126 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2127 ["height"] = 0.15,
2128 ["custom"] =
2129 {
2130 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2131 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
2132 ["type"] = 5, -- 5 is a 'chip'
2133 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2134 },
2135 ["params"] =
2136 {
2137 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2138 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2139 },
2140 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2141 },
2142
2143
2144
2145 --1m
2146 {
2147 ["value"] = 1000000, -- Value of the Chip
2148 ["name"] = "$1,000,000", -- Name of the chip
2149 ["label"] = "$1m", -- Label used for converting machine
2150 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2151 ["height"] = 0.15,
2152 ["custom"] =
2153 {
2154 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2155 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2156 ["type"] = 5, -- 5 is a 'chip'
2157 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2158 },
2159 ["params"] =
2160 {
2161 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2162 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2163 },
2164 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2165 },
2166 --100k
2167 {
2168 ["value"] = 100000, -- Value of the Chip
2169 ["name"] = "$100,000", -- Name of the chip
2170 ["label"] = "$100k", -- 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_GxRg4IZlVBazl5ZjVlWWc", -- 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 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2186 },
2187 --50k
2188 {
2189 ["value"] = 50000, -- Value of the Chip
2190 ["name"] = "$50,000", -- Name of the chip
2191 ["label"] = "$50k", -- Label used for converting machine
2192 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2193 ["height"] = 0.15,
2194 ["custom"] =
2195 {
2196 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2197 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2198 ["type"] = 5, -- 5 is a 'chip'
2199 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2200 },
2201 ["params"] =
2202 {
2203 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2204 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2205 },
2206 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2207 },
2208 --25k
2209 {
2210 ["value"] = 25000, -- Value of the Chip
2211 ["name"] = "$25,000", -- Name of the chip
2212 ["label"] = "$25k", -- Label used for converting machine
2213 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2214 ["height"] = 0.15,
2215 ["custom"] =
2216 {
2217 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2218 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2219 ["type"] = 5, -- 5 is a 'chip'
2220 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2221 },
2222 ["params"] =
2223 {
2224 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2225 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2226 },
2227 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2228 },
2229 --10k
2230 {
2231 ["value"] = 10000, -- Value of the Chip
2232 ["name"] = "$10,000", -- Name of the chip
2233 ["label"] = "$10k", -- Label used for converting machine
2234 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2235 ["height"] = 0.15,
2236 ["custom"] =
2237 {
2238 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2239 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
2240 ["type"] = 5, -- 5 is a 'chip'
2241 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2242 },
2243 ["params"] =
2244 {
2245 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2246 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2247 },
2248 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2249 },
2250 --5k
2251 {
2252 ["value"] = 5000, -- Value of the Chip
2253 ["name"] = "$5,000", -- Name of the chip
2254 ["label"] = "$5000", -- Label used for converting machine
2255 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2256 ["height"] = 0.15,
2257 ["custom"] =
2258 {
2259 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2260 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2261 ["type"] = 5, -- 5 is a 'chip'
2262 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2263 },
2264 ["params"] =
2265 {
2266 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2267 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2268 },
2269 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2270 },
2271
2272 --2500
2273 {
2274 ["value"] = 2500, -- Value of the Chip
2275 ["name"] = "$2,500", -- Name of the chip
2276 ["label"] = "$2500", -- Label used for converting machine
2277 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2278 ["height"] = 0.15,
2279 ["custom"] =
2280 {
2281 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2282 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2283 ["type"] = 5, -- 5 is a 'chip'
2284 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2285 },
2286 ["params"] =
2287 {
2288 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2289 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2290 },
2291
2292 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2293 },
2294 --1000
2295 {
2296 ["value"] = 1000, -- Value of the Chip
2297 ["name"] = "$1,000", -- Name of the chip
2298 ["label"] = "$1000", -- 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_GxRg4IUHZ5ZndoR2tzMGM", -- 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
2314 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2315 },
2316 --500
2317 {
2318 ["value"] = 500, -- Value of the Chip
2319 ["name"] = "$500", -- Name of the chip
2320 ["label"] = "$500", -- Label used for converting machine
2321 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2322 ["height"] = 0.15,
2323 ["custom"] =
2324 {
2325 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2326 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2327 ["type"] = 5, -- 5 is a 'chip'
2328 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2329 },
2330 ["params"] =
2331 {
2332 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2333 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2334 },
2335
2336 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2337 },
2338
2339 --250
2340 {
2341 ["value"] = 250, -- Value of the Chip
2342 ["name"] = "$250", -- Name of the chip
2343 ["label"] = "$250", -- Label used for converting machine
2344 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2345 ["height"] = 0.15,
2346 ["custom"] =
2347 {
2348 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2349 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlc2U1RDeU9mZGc", -- diffuse image
2350 ["type"] = 5, -- 5 is a 'chip'
2351 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2352 },
2353 ["params"] =
2354 {
2355 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2356 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2357 },
2358
2359 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2360 },
2361
2362 --100
2363 {
2364 ["value"] = 100, -- Value of the Chip
2365 ["name"] = "$100", -- Name of the chip
2366 ["label"] = "$100", -- Label used for converting machine
2367 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2368 ["height"] = 0.15,
2369 ["custom"] =
2370 {
2371 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2372 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
2373 ["type"] = 5, -- 5 is a 'chip'
2374 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2375 },
2376 ["params"] =
2377 {
2378 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2379 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2380 },
2381
2382 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2383 },
2384
2385 --50
2386 {
2387 ["value"] = 50, -- Value of the Chip
2388 ["name"] = "$50", -- Name of the chip
2389 ["label"] = "$50", -- Label used for converting machine
2390 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2391 ["height"] = 0.15,
2392 ["custom"] =
2393 {
2394 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2395 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZFpTSV9UYVA4SzA", -- diffuse image
2396 ["type"] = 5, -- 5 is a 'chip'
2397 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2398 },
2399 ["params"] =
2400 {
2401 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2402 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2403 },
2404
2405 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2406 },
2407
2408 --10
2409 {
2410 ["value"] = 10, -- Value of the Chip
2411 ["name"] = "$10", -- Name of the chip
2412 ["label"] = "$10", -- Label used for converting machine
2413 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2414 ["height"] = 0.15,
2415 ["custom"] =
2416 {
2417 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2418 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IejNGRlFiVE5EZ1U", -- diffuse image
2419 ["type"] = 5, -- 5 is a 'chip'
2420 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2421 },
2422 ["params"] =
2423 {
2424 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2425 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2426 },
2427
2428 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2429 },
2430 -- dummy for unknown chips
2431 {
2432 ["value"] = -1, -- Value of the Chip
2433 ["name"] = "unknown", -- Name of the chip
2434 ["standard"] = false, -- Standard tabletop chips true/false
2435 ["label"] = "dummy", -- Label used for converting machine
2436 ["height"] = 0.3,
2437 ["params"] =
2438 {
2439 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2440 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2441 },
2442 ["stack"] = "15" -- stack where the chips are put in
2443 }
2444 },
2445
2446 ['Casino Style V2 - $100'] =
2447 {
2448 --10m
2449 {
2450 ["value"] = 10000000, -- Value of the Chip
2451 ["name"] = "$10,000,000", -- Name of the chip
2452 ["label"] = "$10m", -- 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"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- 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 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2468 },
2469
2470
2471
2472 --1m
2473 {
2474 ["value"] = 1000000, -- Value of the Chip
2475 ["name"] = "$1,000,000", -- Name of the chip
2476 ["label"] = "$1m", -- Label used for converting machine
2477 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2478 ["height"] = 0.15,
2479 ["custom"] =
2480 {
2481 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2482 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2483 ["type"] = 5, -- 5 is a 'chip'
2484 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2485 },
2486 ["params"] =
2487 {
2488 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2489 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2490 },
2491 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2492 },
2493
2494
2495 --100k
2496 {
2497 ["value"] = 100000, -- Value of the Chip
2498 ["name"] = "$100,000", -- Name of the chip
2499 ["label"] = "$100k", -- Label used for converting machine
2500 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2501 ["height"] = 0.15,
2502 ["custom"] =
2503 {
2504 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2505 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2506 ["type"] = 5, -- 5 is a 'chip'
2507 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2508 },
2509 ["params"] =
2510 {
2511 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2512 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2513 },
2514 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2515 },
2516 --50k
2517 {
2518 ["value"] = 50000, -- Value of the Chip
2519 ["name"] = "$50,000", -- Name of the chip
2520 ["label"] = "$50k", -- Label used for converting machine
2521 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2522 ["height"] = 0.15,
2523 ["custom"] =
2524 {
2525 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2526 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2527 ["type"] = 5, -- 5 is a 'chip'
2528 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2529 },
2530 ["params"] =
2531 {
2532 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2533 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2534 },
2535 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2536 },
2537 --25k
2538 {
2539 ["value"] = 25000, -- Value of the Chip
2540 ["name"] = "$25,000", -- Name of the chip
2541 ["label"] = "$25k", -- Label used for converting machine
2542 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2543 ["height"] = 0.15,
2544 ["custom"] =
2545 {
2546 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2547 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2548 ["type"] = 5, -- 5 is a 'chip'
2549 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2550 },
2551 ["params"] =
2552 {
2553 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2554 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2555 },
2556 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2557 },
2558 --10k
2559 {
2560 ["value"] = 10000, -- Value of the Chip
2561 ["name"] = "$10,000", -- Name of the chip
2562 ["label"] = "$10k", -- 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"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- 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"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2578 },
2579 --5k
2580 {
2581 ["value"] = 5000, -- Value of the Chip
2582 ["name"] = "$5,000", -- Name of the chip
2583 ["label"] = "$5000", -- Label used for converting machine
2584 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2585 ["height"] = 0.15,
2586 ["custom"] =
2587 {
2588 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2589 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2590 ["type"] = 5, -- 5 is a 'chip'
2591 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2592 },
2593 ["params"] =
2594 {
2595 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2596 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2597 },
2598 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2599 },
2600
2601 --2500
2602 {
2603 ["value"] = 2500, -- Value of the Chip
2604 ["name"] = "$2,500", -- Name of the chip
2605 ["label"] = "$2500", -- Label used for converting machine
2606 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2607 ["height"] = 0.15,
2608 ["custom"] =
2609 {
2610 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2611 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2612 ["type"] = 5, -- 5 is a 'chip'
2613 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2614 },
2615 ["params"] =
2616 {
2617 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2618 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2619 },
2620
2621 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2622 },
2623 --1000
2624 {
2625 ["value"] = 1000, -- Value of the Chip
2626 ["name"] = "$1,000", -- Name of the chip
2627 ["label"] = "$1000", -- 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_GxRg4IUHZ5ZndoR2tzMGM", -- 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
2643 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2644 },
2645 --500
2646 {
2647 ["value"] = 500, -- Value of the Chip
2648 ["name"] = "$500", -- Name of the chip
2649 ["label"] = "$500", -- Label used for converting machine
2650 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2651 ["height"] = 0.15,
2652 ["custom"] =
2653 {
2654 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2655 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2656 ["type"] = 5, -- 5 is a 'chip'
2657 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2658 },
2659 ["params"] =
2660 {
2661 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2662 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2663 },
2664
2665 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2666 },
2667
2668
2669 --100
2670 {
2671 ["value"] = 100, -- Value of the Chip
2672 ["name"] = "$100", -- Name of the chip
2673 ["label"] = "$100", -- Label used for converting machine
2674 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2675 ["height"] = 0.15,
2676 ["custom"] =
2677 {
2678 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2679 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
2680 ["type"] = 5, -- 5 is a 'chip'
2681 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2682 },
2683 ["params"] =
2684 {
2685 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2686 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2687 },
2688
2689 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2690 },
2691 -- dummy for unknown chips
2692 {
2693 ["value"] = -1, -- Value of the Chip
2694 ["name"] = "unknown", -- Name of the chip
2695 ["standard"] = false, -- Standard tabletop chips true/false
2696 ["label"] = "dummy", -- Label used for converting machine
2697 ["height"] = 0.3,
2698 ["params"] =
2699 {
2700 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2701 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2702 },
2703 ["stack"] = "10" -- stack where the chips are put in
2704 }
2705 },
2706
2707 ['Casino Style V2 - $500'] =
2708 {
2709 --10m
2710 {
2711 ["value"] = 10000000, -- Value of the Chip
2712 ["name"] = "$10,000,000", -- Name of the chip
2713 ["label"] = "$10m", -- 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"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- 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 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2729 },
2730
2731
2732
2733 --1m
2734 {
2735 ["value"] = 1000000, -- Value of the Chip
2736 ["name"] = "$1,000,000", -- Name of the chip
2737 ["label"] = "$1m", -- Label used for converting machine
2738 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2739 ["height"] = 0.15,
2740 ["custom"] =
2741 {
2742 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2743 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2744 ["type"] = 5, -- 5 is a 'chip'
2745 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2746 },
2747 ["params"] =
2748 {
2749 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2750 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2751 },
2752 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2753 },
2754
2755
2756 --100k
2757 {
2758 ["value"] = 100000, -- Value of the Chip
2759 ["name"] = "$100,000", -- Name of the chip
2760 ["label"] = "$100k", -- Label used for converting machine
2761 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2762 ["height"] = 0.15,
2763 ["custom"] =
2764 {
2765 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2766 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2767 ["type"] = 5, -- 5 is a 'chip'
2768 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2769 },
2770 ["params"] =
2771 {
2772 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2773 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2774 },
2775 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2776 },
2777 --50k
2778 {
2779 ["value"] = 50000, -- Value of the Chip
2780 ["name"] = "$50,000", -- Name of the chip
2781 ["label"] = "$50k", -- Label used for converting machine
2782 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2783 ["height"] = 0.15,
2784 ["custom"] =
2785 {
2786 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2787 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2788 ["type"] = 5, -- 5 is a 'chip'
2789 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2790 },
2791 ["params"] =
2792 {
2793 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2794 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2795 },
2796 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2797 },
2798 --25k
2799 {
2800 ["value"] = 25000, -- Value of the Chip
2801 ["name"] = "$25,000", -- Name of the chip
2802 ["label"] = "$25k", -- Label used for converting machine
2803 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2804 ["height"] = 0.15,
2805 ["custom"] =
2806 {
2807 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2808 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2809 ["type"] = 5, -- 5 is a 'chip'
2810 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2811 },
2812 ["params"] =
2813 {
2814 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2815 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2816 },
2817 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2818 },
2819 --10k
2820 {
2821 ["value"] = 10000, -- Value of the Chip
2822 ["name"] = "$10,000", -- Name of the chip
2823 ["label"] = "$10k", -- 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"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- 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"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2839 },
2840 --5k
2841 {
2842 ["value"] = 5000, -- Value of the Chip
2843 ["name"] = "$5,000", -- Name of the chip
2844 ["label"] = "$5000", -- Label used for converting machine
2845 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2846 ["height"] = 0.15,
2847 ["custom"] =
2848 {
2849 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2850 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2851 ["type"] = 5, -- 5 is a 'chip'
2852 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2853 },
2854 ["params"] =
2855 {
2856 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2857 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2858 },
2859 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2860 },
2861
2862 --2500
2863 {
2864 ["value"] = 2500, -- Value of the Chip
2865 ["name"] = "$2,500", -- Name of the chip
2866 ["label"] = "$2500", -- Label used for converting machine
2867 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2868 ["height"] = 0.15,
2869 ["custom"] =
2870 {
2871 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2872 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2873 ["type"] = 5, -- 5 is a 'chip'
2874 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2875 },
2876 ["params"] =
2877 {
2878 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2879 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2880 },
2881
2882 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2883 },
2884 --1000
2885 {
2886 ["value"] = 1000, -- Value of the Chip
2887 ["name"] = "$1,000", -- Name of the chip
2888 ["label"] = "$1000", -- 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_GxRg4IUHZ5ZndoR2tzMGM", -- 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
2904 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2905 },
2906 --500
2907 {
2908 ["value"] = 500, -- Value of the Chip
2909 ["name"] = "$500", -- Name of the chip
2910 ["label"] = "$500", -- Label used for converting machine
2911 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2912 ["height"] = 0.15,
2913 ["custom"] =
2914 {
2915 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2916 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2917 ["type"] = 5, -- 5 is a 'chip'
2918 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2919 },
2920 ["params"] =
2921 {
2922 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2923 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2924 },
2925
2926 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2927 },
2928
2929
2930 -- dummy for unknown chips
2931 {
2932 ["value"] = -1, -- Value of the Chip
2933 ["name"] = "unknown", -- Name of the chip
2934 ["standard"] = false, -- Standard tabletop chips true/false
2935 ["label"] = "dummy", -- Label used for converting machine
2936 ["height"] = 0.3,
2937 ["params"] =
2938 {
2939 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2940 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2941 },
2942 ["stack"] = "10" -- stack where the chips are put in
2943 }
2944 },
2945
2946
2947 ['Casino Style V3 - $1'] =
2948 {
2949
2950
2951
2952 --1m
2953 {
2954 ["value"] = 1000000, -- Value of the Chip
2955 ["name"] = "$1,000,000", -- Name of the chip
2956 ["label"] = "$1m", -- Label used for converting machine
2957 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2958 ["height"] = 0.15,
2959 ["custom"] =
2960 {
2961 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2962 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
2963 ["type"] = 5, -- 5 is a 'chip'
2964 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2965 },
2966 ["params"] =
2967 {
2968 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2969 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2970 },
2971 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2972 },
2973
2974
2975 --500k
2976 {
2977 ["value"] = 500000, -- Value of the Chip
2978 ["name"] = "$500,000", -- Name of the chip
2979 ["label"] = "$500k", -- Label used for converting machine
2980 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2981 ["height"] = 0.15,
2982 ["custom"] =
2983 {
2984 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2985 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
2986 ["type"] = 5, -- 5 is a 'chip'
2987 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2988 },
2989 ["params"] =
2990 {
2991 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2992 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2993 },
2994 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2995 },
2996
2997 --250k
2998 {
2999 ["value"] = 250000, -- Value of the Chip
3000 ["name"] = "$250,000", -- Name of the chip
3001 ["label"] = "$250k", -- Label used for converting machine
3002 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3003 ["height"] = 0.15,
3004 ["custom"] =
3005 {
3006 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3007 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3008 ["type"] = 5, -- 5 is a 'chip'
3009 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3010 },
3011 ["params"] =
3012 {
3013 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3014 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3015 },
3016 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3017 },
3018
3019 --100k
3020 {
3021 ["value"] = 100000, -- Value of the Chip
3022 ["name"] = "$100,000", -- Name of the chip
3023 ["label"] = "$100k", -- Label used for converting machine
3024 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3025 ["height"] = 0.15,
3026 ["custom"] =
3027 {
3028 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3029 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
3030 ["type"] = 5, -- 5 is a 'chip'
3031 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3032 },
3033 ["params"] =
3034 {
3035 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3036 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3037 },
3038 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3039 },
3040 --50k
3041 {
3042 ["value"] = 50000, -- Value of the Chip
3043 ["name"] = "$50,000", -- Name of the chip
3044 ["label"] = "$50k", -- Label used for converting machine
3045 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3046 ["height"] = 0.15,
3047 ["custom"] =
3048 {
3049 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3050 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
3051 ["type"] = 5, -- 5 is a 'chip'
3052 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3053 },
3054 ["params"] =
3055 {
3056 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3057 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3058 },
3059 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3060 },
3061 --25k
3062 {
3063 ["value"] = 25000, -- Value of the Chip
3064 ["name"] = "$25,000", -- Name of the chip
3065 ["label"] = "$25k", -- 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/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- 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"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3081 },
3082 --10k
3083 {
3084 ["value"] = 10000, -- Value of the Chip
3085 ["name"] = "$10,000", -- Name of the chip
3086 ["label"] = "$10k", -- Label used for converting machine
3087 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3088 ["height"] = 0.15,
3089 ["custom"] =
3090 {
3091 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3092 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
3093 ["type"] = 5, -- 5 is a 'chip'
3094 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3095 },
3096 ["params"] =
3097 {
3098 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3099 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3100 },
3101 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3102 },
3103 --5k
3104 {
3105 ["value"] = 5000, -- Value of the Chip
3106 ["name"] = "$5,000", -- Name of the chip
3107 ["label"] = "$5000", -- Label used for converting machine
3108 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3109 ["height"] = 0.15,
3110 ["custom"] =
3111 {
3112 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3113 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
3114 ["type"] = 5, -- 5 is a 'chip'
3115 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3116 },
3117 ["params"] =
3118 {
3119 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3120 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3121 },
3122 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3123 },
3124
3125 --2500
3126 {
3127 ["value"] = 2500, -- Value of the Chip
3128 ["name"] = "$2,500", -- Name of the chip
3129 ["label"] = "$2500", -- Label used for converting machine
3130 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3131 ["height"] = 0.15,
3132 ["custom"] =
3133 {
3134 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3135 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
3136 ["type"] = 5, -- 5 is a 'chip'
3137 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3138 },
3139 ["params"] =
3140 {
3141 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3142 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3143 },
3144
3145 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3146 },
3147 --1000
3148 {
3149 ["value"] = 1000, -- Value of the Chip
3150 ["name"] = "$1,000", -- Name of the chip
3151 ["label"] = "$1000", -- 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/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- 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
3167 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3168 },
3169 --500
3170 {
3171 ["value"] = 500, -- Value of the Chip
3172 ["name"] = "$500", -- Name of the chip
3173 ["label"] = "$500", -- Label used for converting machine
3174 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3175 ["height"] = 0.15,
3176 ["custom"] =
3177 {
3178 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3179 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
3180 ["type"] = 5, -- 5 is a 'chip'
3181 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3182 },
3183 ["params"] =
3184 {
3185 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3186 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3187 },
3188
3189 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3190 },
3191
3192 --250
3193 {
3194 ["value"] = 250, -- Value of the Chip
3195 ["name"] = "$250", -- Name of the chip
3196 ["label"] = "$250", -- Label used for converting machine
3197 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3198 ["height"] = 0.15,
3199 ["custom"] =
3200 {
3201 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3202 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256693906/7B5FA4B4CA824F79FC92780A83514D98DA1D1D7C/", -- diffuse image
3203 ["type"] = 5, -- 5 is a 'chip'
3204 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3205 },
3206 ["params"] =
3207 {
3208 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3209 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3210 },
3211
3212 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3213 },
3214
3215 --100
3216 {
3217 ["value"] = 100, -- Value of the Chip
3218 ["name"] = "$100", -- Name of the chip
3219 ["label"] = "$100", -- Label used for converting machine
3220 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3221 ["height"] = 0.15,
3222 ["custom"] =
3223 {
3224 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3225 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
3226 ["type"] = 5, -- 5 is a 'chip'
3227 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3228 },
3229 ["params"] =
3230 {
3231 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3232 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3233 },
3234
3235 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3236 },
3237
3238 --50
3239 {
3240 ["value"] = 50, -- Value of the Chip
3241 ["name"] = "$50", -- Name of the chip
3242 ["label"] = "$50", -- Label used for converting machine
3243 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3244 ["height"] = 0.15,
3245 ["custom"] =
3246 {
3247 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3248 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256657852/0B9B88A59CA01525D3CA15D7270A29BE7C68B6FA/", -- diffuse image
3249 ["type"] = 5, -- 5 is a 'chip'
3250 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3251 },
3252 ["params"] =
3253 {
3254 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3255 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3256 },
3257
3258 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3259 },
3260 --25
3261 {
3262 ["value"] = 25, -- Value of the Chip
3263 ["name"] = "$25", -- Name of the chip
3264 ["label"] = "$25", -- Label used for converting machine
3265 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3266 ["height"] = 0.15,
3267 ["custom"] =
3268 {
3269 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3270 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256656037/A746AE927A67D27BE69353AAB7EC177FFB21D81A/", -- diffuse image
3271 ["type"] = 5, -- 5 is a 'chip'
3272 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3273 },
3274 ["params"] =
3275 {
3276 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3277 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3278 },
3279
3280 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3281 },
3282 --10
3283 {
3284 ["value"] = 10, -- Value of the Chip
3285 ["name"] = "$10", -- Name of the chip
3286 ["label"] = "$10", -- Label used for converting machine
3287 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3288 ["height"] = 0.15,
3289 ["custom"] =
3290 {
3291 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3292 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654950/57AE35F278A888511B2F549D6B494AD2CFB1223E/", -- diffuse image
3293 ["type"] = 5, -- 5 is a 'chip'
3294 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3295 },
3296 ["params"] =
3297 {
3298 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3299 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3300 },
3301
3302 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3303 },
3304 --5
3305 {
3306 ["value"] = 5, -- Value of the Chip
3307 ["name"] = "$5", -- Name of the chip
3308 ["label"] = "$5", -- Label used for converting machine
3309 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3310 ["height"] = 0.15,
3311 ["custom"] =
3312 {
3313 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3314 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654116/29B9C461A2B85E91EB8D0E3BA2DC007D1B9F3B72/", -- diffuse image
3315 ["type"] = 5, -- 5 is a 'chip'
3316 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3317 },
3318 ["params"] =
3319 {
3320 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3321 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3322 },
3323
3324 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3325 },
3326 --1
3327 {
3328 ["value"] = 1, -- Value of the Chip
3329 ["name"] = "$1", -- Name of the chip
3330 ["label"] = "$1", -- Label used for converting machine
3331 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3332 ["height"] = 0.15,
3333 ["custom"] =
3334 {
3335 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3336 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256642151/13DB2084C5B29158715BCE2DD245AE11977F8BBD/", -- diffuse image
3337 ["type"] = 5, -- 5 is a 'chip'
3338 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3339 },
3340 ["params"] =
3341 {
3342 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3343 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3344 },
3345
3346 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3347 },
3348 -- dummy for unknown chips
3349 {
3350 ["value"] = -1, -- Value of the Chip
3351 ["name"] = "unknown", -- Name of the chip
3352 ["standard"] = false, -- Standard tabletop chips true/false
3353 ["label"] = "dummy", -- Label used for converting machine
3354 ["height"] = 0.3,
3355 ["params"] =
3356 {
3357 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3358 ["scale"] = {1,1,1} -- the scale at which to spawn the object
3359 },
3360 ["stack"] = "16" -- stack where the chips are put in
3361 }
3362 },
3363
3364 ['Casino Style V3 - $10'] =
3365 {
3366 --1b
3367 {
3368 ["value"] = 1000000000, -- Value of the Chip
3369 ["name"] = "$1,000,000,000", -- Name of the chip
3370 ["label"] = "$1b", -- Label used for converting machine
3371 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3372 ["height"] = 0.15,
3373 ["custom"] =
3374 {
3375 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3376 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
3377 ["type"] = 5, -- 5 is a 'chip'
3378 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3379 },
3380 ["params"] =
3381 {
3382 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3383 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3384 },
3385 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3386 },
3387
3388
3389 --100m
3390 {
3391 ["value"] = 100000000, -- Value of the Chip
3392 ["name"] = "$100,000,000", -- Name of the chip
3393 ["label"] = "$100m", -- Label used for converting machine
3394 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3395 ["height"] = 0.15,
3396 ["custom"] =
3397 {
3398 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3399 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
3400 ["type"] = 5, -- 5 is a 'chip'
3401 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3402 },
3403 ["params"] =
3404 {
3405 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3406 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3407 },
3408 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3409 },
3410
3411
3412 --10m
3413 {
3414 ["value"] = 10000000, -- Value of the Chip
3415 ["name"] = "$10,000,000", -- Name of the chip
3416 ["label"] = "$10m", -- 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/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- 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 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3432 },
3433
3434
3435 --1m
3436 {
3437 ["value"] = 1000000, -- Value of the Chip
3438 ["name"] = "$1,000,000", -- Name of the chip
3439 ["label"] = "$1m", -- Label used for converting machine
3440 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3441 ["height"] = 0.15,
3442 ["custom"] =
3443 {
3444 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3445 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
3446 ["type"] = 5, -- 5 is a 'chip'
3447 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3448 },
3449 ["params"] =
3450 {
3451 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3452 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3453 },
3454 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3455 },
3456
3457
3458 --500k
3459 {
3460 ["value"] = 500000, -- Value of the Chip
3461 ["name"] = "$500,000", -- Name of the chip
3462 ["label"] = "$500k", -- Label used for converting machine
3463 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3464 ["height"] = 0.15,
3465 ["custom"] =
3466 {
3467 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3468 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
3469 ["type"] = 5, -- 5 is a 'chip'
3470 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3471 },
3472 ["params"] =
3473 {
3474 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3475 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3476 },
3477 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3478 },
3479
3480 --250k
3481 {
3482 ["value"] = 250000, -- Value of the Chip
3483 ["name"] = "$250,000", -- Name of the chip
3484 ["label"] = "$250k", -- Label used for converting machine
3485 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3486 ["height"] = 0.15,
3487 ["custom"] =
3488 {
3489 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3490 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3491 ["type"] = 5, -- 5 is a 'chip'
3492 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3493 },
3494 ["params"] =
3495 {
3496 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3497 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3498 },
3499 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3500 },
3501
3502 --100k
3503 {
3504 ["value"] = 100000, -- Value of the Chip
3505 ["name"] = "$100,000", -- Name of the chip
3506 ["label"] = "$100k", -- Label used for converting machine
3507 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3508 ["height"] = 0.15,
3509 ["custom"] =
3510 {
3511 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3512 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
3513 ["type"] = 5, -- 5 is a 'chip'
3514 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3515 },
3516 ["params"] =
3517 {
3518 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3519 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3520 },
3521 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3522 },
3523 --50k
3524 {
3525 ["value"] = 50000, -- Value of the Chip
3526 ["name"] = "$50,000", -- Name of the chip
3527 ["label"] = "$50k", -- Label used for converting machine
3528 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3529 ["height"] = 0.15,
3530 ["custom"] =
3531 {
3532 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3533 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
3534 ["type"] = 5, -- 5 is a 'chip'
3535 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3536 },
3537 ["params"] =
3538 {
3539 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3540 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3541 },
3542 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3543 },
3544 --25k
3545 {
3546 ["value"] = 25000, -- Value of the Chip
3547 ["name"] = "$25,000", -- Name of the chip
3548 ["label"] = "$25k", -- 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/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- 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"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3564 },
3565 --10k
3566 {
3567 ["value"] = 10000, -- Value of the Chip
3568 ["name"] = "$10,000", -- Name of the chip
3569 ["label"] = "$10k", -- Label used for converting machine
3570 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3571 ["height"] = 0.15,
3572 ["custom"] =
3573 {
3574 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3575 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
3576 ["type"] = 5, -- 5 is a 'chip'
3577 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3578 },
3579 ["params"] =
3580 {
3581 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3582 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3583 },
3584 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3585 },
3586 --5k
3587 {
3588 ["value"] = 5000, -- Value of the Chip
3589 ["name"] = "$5,000", -- Name of the chip
3590 ["label"] = "$5000", -- Label used for converting machine
3591 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3592 ["height"] = 0.15,
3593 ["custom"] =
3594 {
3595 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3596 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
3597 ["type"] = 5, -- 5 is a 'chip'
3598 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3599 },
3600 ["params"] =
3601 {
3602 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3603 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3604 },
3605 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3606 },
3607
3608 --2500
3609 {
3610 ["value"] = 2500, -- Value of the Chip
3611 ["name"] = "$2,500", -- Name of the chip
3612 ["label"] = "$2500", -- Label used for converting machine
3613 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3614 ["height"] = 0.15,
3615 ["custom"] =
3616 {
3617 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3618 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
3619 ["type"] = 5, -- 5 is a 'chip'
3620 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3621 },
3622 ["params"] =
3623 {
3624 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3625 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3626 },
3627
3628 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3629 },
3630 --1000
3631 {
3632 ["value"] = 1000, -- Value of the Chip
3633 ["name"] = "$1,000", -- Name of the chip
3634 ["label"] = "$1000", -- 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/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- 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
3650 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3651 },
3652 --500
3653 {
3654 ["value"] = 500, -- Value of the Chip
3655 ["name"] = "$500", -- Name of the chip
3656 ["label"] = "$500", -- Label used for converting machine
3657 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3658 ["height"] = 0.15,
3659 ["custom"] =
3660 {
3661 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3662 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
3663 ["type"] = 5, -- 5 is a 'chip'
3664 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3665 },
3666 ["params"] =
3667 {
3668 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3669 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3670 },
3671
3672 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3673 },
3674
3675 --250
3676 {
3677 ["value"] = 250, -- Value of the Chip
3678 ["name"] = "$250", -- Name of the chip
3679 ["label"] = "$250", -- Label used for converting machine
3680 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3681 ["height"] = 0.15,
3682 ["custom"] =
3683 {
3684 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3685 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256693906/7B5FA4B4CA824F79FC92780A83514D98DA1D1D7C/", -- diffuse image
3686 ["type"] = 5, -- 5 is a 'chip'
3687 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3688 },
3689 ["params"] =
3690 {
3691 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3692 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3693 },
3694
3695 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3696 },
3697
3698 --100
3699 {
3700 ["value"] = 100, -- Value of the Chip
3701 ["name"] = "$100", -- Name of the chip
3702 ["label"] = "$100", -- Label used for converting machine
3703 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3704 ["height"] = 0.15,
3705 ["custom"] =
3706 {
3707 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3708 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
3709 ["type"] = 5, -- 5 is a 'chip'
3710 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3711 },
3712 ["params"] =
3713 {
3714 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3715 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3716 },
3717
3718 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3719 },
3720
3721 --50
3722 {
3723 ["value"] = 50, -- Value of the Chip
3724 ["name"] = "$50", -- Name of the chip
3725 ["label"] = "$50", -- Label used for converting machine
3726 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3727 ["height"] = 0.15,
3728 ["custom"] =
3729 {
3730 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3731 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256657852/0B9B88A59CA01525D3CA15D7270A29BE7C68B6FA/", -- diffuse image
3732 ["type"] = 5, -- 5 is a 'chip'
3733 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3734 },
3735 ["params"] =
3736 {
3737 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3738 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3739 },
3740
3741 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3742 },
3743
3744 --10
3745 {
3746 ["value"] = 10, -- Value of the Chip
3747 ["name"] = "$10", -- Name of the chip
3748 ["label"] = "$10", -- Label used for converting machine
3749 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3750 ["height"] = 0.15,
3751 ["custom"] =
3752 {
3753 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3754 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654950/57AE35F278A888511B2F549D6B494AD2CFB1223E/", -- diffuse image
3755 ["type"] = 5, -- 5 is a 'chip'
3756 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3757 },
3758 ["params"] =
3759 {
3760 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3761 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3762 },
3763
3764 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3765 },
3766 -- dummy for unknown chips
3767 {
3768 ["value"] = -1, -- Value of the Chip
3769 ["name"] = "unknown", -- Name of the chip
3770 ["standard"] = false, -- Standard tabletop chips true/false
3771 ["label"] = "dummy", -- Label used for converting machine
3772 ["height"] = 0.3,
3773 ["params"] =
3774 {
3775 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3776 ["scale"] = {1,1,1} -- the scale at which to spawn the object
3777 },
3778 ["stack"] = "15" -- stack where the chips are put in
3779 }
3780 },
3781
3782 ['Casino Style V3 - $100'] =
3783 {
3784
3785 --1b
3786 {
3787 ["value"] = 1000000000, -- Value of the Chip
3788 ["name"] = "$1,000,000,000", -- Name of the chip
3789 ["label"] = "$1b", -- Label used for converting machine
3790 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3791 ["height"] = 0.15,
3792 ["custom"] =
3793 {
3794 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3795 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
3796 ["type"] = 5, -- 5 is a 'chip'
3797 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3798 },
3799 ["params"] =
3800 {
3801 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3802 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3803 },
3804 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3805 },
3806
3807
3808 --100m
3809 {
3810 ["value"] = 100000000, -- Value of the Chip
3811 ["name"] = "$100,000,000", -- Name of the chip
3812 ["label"] = "$100m", -- Label used for converting machine
3813 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3814 ["height"] = 0.15,
3815 ["custom"] =
3816 {
3817 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3818 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
3819 ["type"] = 5, -- 5 is a 'chip'
3820 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3821 },
3822 ["params"] =
3823 {
3824 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3825 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3826 },
3827 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3828 },
3829
3830
3831 --10m
3832 {
3833 ["value"] = 10000000, -- Value of the Chip
3834 ["name"] = "$10,000,000", -- Name of the chip
3835 ["label"] = "$10m", -- Label used for converting machine
3836 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3837 ["height"] = 0.15,
3838 ["custom"] =
3839 {
3840 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3841 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
3842 ["type"] = 5, -- 5 is a 'chip'
3843 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3844 },
3845 ["params"] =
3846 {
3847 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3848 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3849 },
3850 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3851 },
3852
3853
3854 --1m
3855 {
3856 ["value"] = 1000000, -- Value of the Chip
3857 ["name"] = "$1,000,000", -- Name of the chip
3858 ["label"] = "$1m", -- Label used for converting machine
3859 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3860 ["height"] = 0.15,
3861 ["custom"] =
3862 {
3863 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3864 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
3865 ["type"] = 5, -- 5 is a 'chip'
3866 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3867 },
3868 ["params"] =
3869 {
3870 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3871 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3872 },
3873 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3874 },
3875
3876
3877 --500k
3878 {
3879 ["value"] = 500000, -- Value of the Chip
3880 ["name"] = "$500,000", -- Name of the chip
3881 ["label"] = "$500k", -- Label used for converting machine
3882 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3883 ["height"] = 0.15,
3884 ["custom"] =
3885 {
3886 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3887 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
3888 ["type"] = 5, -- 5 is a 'chip'
3889 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3890 },
3891 ["params"] =
3892 {
3893 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3894 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3895 },
3896 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3897 },
3898
3899 --250k
3900 {
3901 ["value"] = 250000, -- Value of the Chip
3902 ["name"] = "$250,000", -- Name of the chip
3903 ["label"] = "$250k", -- Label used for converting machine
3904 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3905 ["height"] = 0.15,
3906 ["custom"] =
3907 {
3908 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3909 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3910 ["type"] = 5, -- 5 is a 'chip'
3911 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3912 },
3913 ["params"] =
3914 {
3915 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3916 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3917 },
3918 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3919 },
3920
3921
3922 --100k
3923 {
3924 ["value"] = 100000, -- Value of the Chip
3925 ["name"] = "$100,000", -- Name of the chip
3926 ["label"] = "$100k", -- Label used for converting machine
3927 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3928 ["height"] = 0.15,
3929 ["custom"] =
3930 {
3931 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3932 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
3933 ["type"] = 5, -- 5 is a 'chip'
3934 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3935 },
3936 ["params"] =
3937 {
3938 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3939 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3940 },
3941 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3942 },
3943 --50k
3944 {
3945 ["value"] = 50000, -- Value of the Chip
3946 ["name"] = "$50,000", -- Name of the chip
3947 ["label"] = "$50k", -- Label used for converting machine
3948 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3949 ["height"] = 0.15,
3950 ["custom"] =
3951 {
3952 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3953 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
3954 ["type"] = 5, -- 5 is a 'chip'
3955 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3956 },
3957 ["params"] =
3958 {
3959 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3960 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3961 },
3962 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3963 },
3964 --25k
3965 {
3966 ["value"] = 25000, -- Value of the Chip
3967 ["name"] = "$25,000", -- Name of the chip
3968 ["label"] = "$25k", -- Label used for converting machine
3969 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3970 ["height"] = 0.15,
3971 ["custom"] =
3972 {
3973 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3974 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
3975 ["type"] = 5, -- 5 is a 'chip'
3976 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3977 },
3978 ["params"] =
3979 {
3980 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3981 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3982 },
3983 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3984 },
3985 --10k
3986 {
3987 ["value"] = 10000, -- Value of the Chip
3988 ["name"] = "$10,000", -- Name of the chip
3989 ["label"] = "$10k", -- 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/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- 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"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4005 },
4006 --5k
4007 {
4008 ["value"] = 5000, -- Value of the Chip
4009 ["name"] = "$5,000", -- Name of the chip
4010 ["label"] = "$5000", -- Label used for converting machine
4011 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4012 ["height"] = 0.15,
4013 ["custom"] =
4014 {
4015 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4016 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
4017 ["type"] = 5, -- 5 is a 'chip'
4018 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4019 },
4020 ["params"] =
4021 {
4022 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4023 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4024 },
4025 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4026 },
4027
4028 --2500
4029 {
4030 ["value"] = 2500, -- Value of the Chip
4031 ["name"] = "$2,500", -- Name of the chip
4032 ["label"] = "$2500", -- Label used for converting machine
4033 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4034 ["height"] = 0.15,
4035 ["custom"] =
4036 {
4037 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4038 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
4039 ["type"] = 5, -- 5 is a 'chip'
4040 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4041 },
4042 ["params"] =
4043 {
4044 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4045 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4046 },
4047
4048 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4049 },
4050 --1000
4051 {
4052 ["value"] = 1000, -- Value of the Chip
4053 ["name"] = "$1,000", -- Name of the chip
4054 ["label"] = "$1000", -- 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/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- 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
4070 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4071 },
4072 --500
4073 {
4074 ["value"] = 500, -- Value of the Chip
4075 ["name"] = "$500", -- Name of the chip
4076 ["label"] = "$500", -- Label used for converting machine
4077 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4078 ["height"] = 0.15,
4079 ["custom"] =
4080 {
4081 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4082 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
4083 ["type"] = 5, -- 5 is a 'chip'
4084 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4085 },
4086 ["params"] =
4087 {
4088 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4089 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4090 },
4091
4092 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4093 },
4094
4095
4096 --100
4097 {
4098 ["value"] = 100, -- Value of the Chip
4099 ["name"] = "$100", -- Name of the chip
4100 ["label"] = "$100", -- Label used for converting machine
4101 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4102 ["height"] = 0.15,
4103 ["custom"] =
4104 {
4105 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4106 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
4107 ["type"] = 5, -- 5 is a 'chip'
4108 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4109 },
4110 ["params"] =
4111 {
4112 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4113 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4114 },
4115
4116 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4117 },
4118 -- dummy for unknown chips
4119 {
4120 ["value"] = -1, -- Value of the Chip
4121 ["name"] = "unknown", -- Name of the chip
4122 ["standard"] = false, -- Standard tabletop chips true/false
4123 ["label"] = "dummy", -- Label used for converting machine
4124 ["height"] = 0.3,
4125 ["params"] =
4126 {
4127 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4128 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4129 },
4130 ["stack"] = "10" -- stack where the chips are put in
4131 }
4132 },
4133
4134 ['Casino Style V3 - $500'] =
4135 {
4136
4137 --1b
4138 {
4139 ["value"] = 1000000000, -- Value of the Chip
4140 ["name"] = "$1,000,000,000", -- Name of the chip
4141 ["label"] = "$1b", -- Label used for converting machine
4142 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4143 ["height"] = 0.15,
4144 ["custom"] =
4145 {
4146 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4147 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
4148 ["type"] = 5, -- 5 is a 'chip'
4149 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4150 },
4151 ["params"] =
4152 {
4153 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4154 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4155 },
4156 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4157 },
4158
4159
4160 --100m
4161 {
4162 ["value"] = 100000000, -- Value of the Chip
4163 ["name"] = "$100,000,000", -- Name of the chip
4164 ["label"] = "$100m", -- Label used for converting machine
4165 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4166 ["height"] = 0.15,
4167 ["custom"] =
4168 {
4169 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4170 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
4171 ["type"] = 5, -- 5 is a 'chip'
4172 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4173 },
4174 ["params"] =
4175 {
4176 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4177 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4178 },
4179 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4180 },
4181
4182
4183 --10m
4184 {
4185 ["value"] = 10000000, -- Value of the Chip
4186 ["name"] = "$10,000,000", -- Name of the chip
4187 ["label"] = "$10m", -- Label used for converting machine
4188 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4189 ["height"] = 0.15,
4190 ["custom"] =
4191 {
4192 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4193 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
4194 ["type"] = 5, -- 5 is a 'chip'
4195 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4196 },
4197 ["params"] =
4198 {
4199 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4200 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4201 },
4202 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4203 },
4204
4205
4206 --1m
4207 {
4208 ["value"] = 1000000, -- Value of the Chip
4209 ["name"] = "$1,000,000", -- Name of the chip
4210 ["label"] = "$1m", -- Label used for converting machine
4211 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4212 ["height"] = 0.15,
4213 ["custom"] =
4214 {
4215 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4216 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
4217 ["type"] = 5, -- 5 is a 'chip'
4218 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4219 },
4220 ["params"] =
4221 {
4222 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4223 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4224 },
4225 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4226 },
4227
4228
4229 --500k
4230 {
4231 ["value"] = 500000, -- Value of the Chip
4232 ["name"] = "$500,000", -- Name of the chip
4233 ["label"] = "$500k", -- Label used for converting machine
4234 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4235 ["height"] = 0.15,
4236 ["custom"] =
4237 {
4238 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4239 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
4240 ["type"] = 5, -- 5 is a 'chip'
4241 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4242 },
4243 ["params"] =
4244 {
4245 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4246 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4247 },
4248 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4249 },
4250
4251 --250k
4252 {
4253 ["value"] = 250000, -- Value of the Chip
4254 ["name"] = "$250,000", -- Name of the chip
4255 ["label"] = "$250k", -- Label used for converting machine
4256 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4257 ["height"] = 0.15,
4258 ["custom"] =
4259 {
4260 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4261 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
4262 ["type"] = 5, -- 5 is a 'chip'
4263 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4264 },
4265 ["params"] =
4266 {
4267 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4268 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4269 },
4270 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4271 },
4272
4273
4274 --100k
4275 {
4276 ["value"] = 100000, -- Value of the Chip
4277 ["name"] = "$100,000", -- Name of the chip
4278 ["label"] = "$100k", -- Label used for converting machine
4279 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4280 ["height"] = 0.15,
4281 ["custom"] =
4282 {
4283 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4284 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
4285 ["type"] = 5, -- 5 is a 'chip'
4286 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4287 },
4288 ["params"] =
4289 {
4290 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4291 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4292 },
4293 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4294 },
4295 --50k
4296 {
4297 ["value"] = 50000, -- Value of the Chip
4298 ["name"] = "$50,000", -- Name of the chip
4299 ["label"] = "$50k", -- Label used for converting machine
4300 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4301 ["height"] = 0.15,
4302 ["custom"] =
4303 {
4304 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4305 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
4306 ["type"] = 5, -- 5 is a 'chip'
4307 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4308 },
4309 ["params"] =
4310 {
4311 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4312 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4313 },
4314 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4315 },
4316 --25k
4317 {
4318 ["value"] = 25000, -- Value of the Chip
4319 ["name"] = "$25,000", -- Name of the chip
4320 ["label"] = "$25k", -- Label used for converting machine
4321 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4322 ["height"] = 0.15,
4323 ["custom"] =
4324 {
4325 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4326 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
4327 ["type"] = 5, -- 5 is a 'chip'
4328 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4329 },
4330 ["params"] =
4331 {
4332 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4333 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4334 },
4335 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4336 },
4337 --10k
4338 {
4339 ["value"] = 10000, -- Value of the Chip
4340 ["name"] = "$10,000", -- Name of the chip
4341 ["label"] = "$10k", -- 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/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- 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"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4357 },
4358 --5k
4359 {
4360 ["value"] = 5000, -- Value of the Chip
4361 ["name"] = "$5,000", -- Name of the chip
4362 ["label"] = "$5000", -- Label used for converting machine
4363 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4364 ["height"] = 0.15,
4365 ["custom"] =
4366 {
4367 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4368 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
4369 ["type"] = 5, -- 5 is a 'chip'
4370 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4371 },
4372 ["params"] =
4373 {
4374 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4375 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4376 },
4377 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4378 },
4379
4380 --2500
4381 {
4382 ["value"] = 2500, -- Value of the Chip
4383 ["name"] = "$2,500", -- Name of the chip
4384 ["label"] = "$2500", -- Label used for converting machine
4385 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4386 ["height"] = 0.15,
4387 ["custom"] =
4388 {
4389 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4390 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
4391 ["type"] = 5, -- 5 is a 'chip'
4392 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4393 },
4394 ["params"] =
4395 {
4396 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4397 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4398 },
4399
4400 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4401 },
4402 --1000
4403 {
4404 ["value"] = 1000, -- Value of the Chip
4405 ["name"] = "$1,000", -- Name of the chip
4406 ["label"] = "$1000", -- 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/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- 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
4422 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4423 },
4424 --500
4425 {
4426 ["value"] = 500, -- Value of the Chip
4427 ["name"] = "$500", -- Name of the chip
4428 ["label"] = "$500", -- Label used for converting machine
4429 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4430 ["height"] = 0.15,
4431 ["custom"] =
4432 {
4433 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4434 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
4435 ["type"] = 5, -- 5 is a 'chip'
4436 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4437 },
4438 ["params"] =
4439 {
4440 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4441 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4442 },
4443
4444 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4445 },
4446
4447
4448 -- dummy for unknown chips
4449 {
4450 ["value"] = -1, -- Value of the Chip
4451 ["name"] = "unknown", -- Name of the chip
4452 ["standard"] = false, -- Standard tabletop chips true/false
4453 ["label"] = "dummy", -- Label used for converting machine
4454 ["height"] = 0.3,
4455 ["params"] =
4456 {
4457 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4458 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4459 },
4460 ["stack"] = "10" -- stack where the chips are put in
4461 }
4462 },
4463
4464 ['Cash - $1'] =
4465 {
4466
4467 {
4468 ["value"] = 10000, -- Value of the Chip
4469 ["name"] = "$10,000", -- Name of the chip
4470 ["label"] = "$10000", -- Label used for converting machine
4471 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4472 ["height"] = 0.4,
4473 ["custom"] =
4474 {
4475 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4476 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417341397/E932F1E20A11C80E6B33F69AB85383E580A1AEE1/", -- 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.75, 0.75, 0.75} -- the scale at which to spawn the object
4484 },
4485 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4486 },
4487
4488
4489 {
4490 ["value"] = 5000, -- Value of the Chip
4491 ["name"] = "$5,000", -- Name of the chip
4492 ["label"] = "$5000", -- Label used for converting machine
4493 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4494 ["height"] = 0.4,
4495 ["custom"] =
4496 {
4497 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4498 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417339720/079F4260469E904457AA41516DAE37457047580C/", -- 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.75, 0.75, 0.75} -- the scale at which to spawn the object
4506 },
4507 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4508 },
4509
4510
4511
4512
4513 {
4514 ["value"] = 2000, -- Value of the Chip
4515 ["name"] = "$2000", -- Name of the chip
4516 ["label"] = "$2000", -- Label used for converting machine
4517 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4518 ["height"] = 0.4,
4519 ["custom"] =
4520 {
4521 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4522 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417338815/61B7CEB12A5B173F904416BA4E03A2D0EB7A59EA/", -- diffuse image
4523 ["type"] = 5, -- 5 is a 'chip'
4524 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4525 },
4526 ["params"] =
4527 {
4528 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4529 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4530 },
4531 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4532 },
4533
4534
4535 {
4536 ["value"] = 1000, -- Value of the Chip
4537 ["name"] = "$1000", -- Name of the chip
4538 ["label"] = "$1000", -- Label used for converting machine
4539 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4540 ["height"] = 0.4,
4541 ["custom"] =
4542 {
4543 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4544 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417337749/ED7860190DD733ECCEA537B4AB7C9E9E2F0F226B/", -- diffuse image
4545 ["type"] = 5, -- 5 is a 'chip'
4546 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4547 },
4548 ["params"] =
4549 {
4550 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4551 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4552 },
4553 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4554 },
4555
4556
4557 {
4558 ["value"] = 500, -- Value of the Chip
4559 ["name"] = "$500", -- Name of the chip
4560 ["label"] = "$500", -- Label used for converting machine
4561 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4562 ["height"] = 0.4,
4563 ["custom"] =
4564 {
4565 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4566 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417336830/68BB8AD5BEF0EC077A743757300A3D6670CC033A/", -- diffuse image
4567 ["type"] = 5, -- 5 is a 'chip'
4568 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4569 },
4570 ["params"] =
4571 {
4572 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4573 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4574 },
4575 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4576 },
4577
4578
4579
4580 --100
4581 {
4582 ["value"] = 100, -- Value of the Chip
4583 ["name"] = "$100", -- Name of the chip
4584 ["label"] = "$100", -- Label used for converting machine
4585 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4586 ["height"] = 0.15,
4587 ["custom"] =
4588 {
4589 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4590 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417333031/DD607DED38237E992FFB93167E92D55384C4B3A8/", -- diffuse image
4591 ["type"] = 5, -- 5 is a 'chip'
4592 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4593 },
4594 ["params"] =
4595 {
4596 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4597 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4598 },
4599
4600 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4601 },
4602
4603
4604 --50
4605 {
4606 ["value"] = 50, -- Value of the Chip
4607 ["name"] = "$50", -- Name of the chip
4608 ["label"] = "$20", -- Label used for converting machine
4609 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4610 ["height"] = 0.15,
4611 ["custom"] =
4612 {
4613 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4614 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417330782/1DDADE5AFCD0DAAD2D20CA000CA5835A773A791E/", -- diffuse image
4615 ["type"] = 5, -- 5 is a 'chip'
4616 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4617 },
4618 ["params"] =
4619 {
4620 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4621 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4622 },
4623
4624 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4625 },
4626
4627
4628
4629 --20
4630 {
4631 ["value"] = 20, -- Value of the Chip
4632 ["name"] = "$20", -- Name of the chip
4633 ["label"] = "$20", -- Label used for converting machine
4634 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4635 ["height"] = 0.15,
4636 ["custom"] =
4637 {
4638 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4639 ["diffuse"] = "http://i.imgur.com/wVf9FY3.jpg", -- diffuse image
4640 ["type"] = 5, -- 5 is a 'chip'
4641 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4642 },
4643 ["params"] =
4644 {
4645 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4646 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4647 },
4648
4649 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4650 },
4651
4652
4653
4654 --10
4655 {
4656 ["value"] = 10, -- Value of the Chip
4657 ["name"] = "$10", -- Name of the chip
4658 ["label"] = "$10", -- Label used for converting machine
4659 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4660 ["height"] = 0.15,
4661 ["custom"] =
4662 {
4663 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4664 ["diffuse"] = "http://i.imgur.com/SCIOcR6.jpg", -- diffuse image
4665 ["type"] = 5, -- 5 is a 'chip'
4666 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4667 },
4668 ["params"] =
4669 {
4670 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4671 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4672 },
4673
4674 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4675 },
4676
4677 --5
4678 {
4679 ["value"] = 5, -- Value of the Chip
4680 ["name"] = "$5", -- Name of the chip
4681 ["label"] = "$5", -- Label used for converting machine
4682 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4683 ["height"] = 0.15,
4684 ["custom"] =
4685 {
4686 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4687 ["diffuse"] = "http://i.imgur.com/roBLL5Y.jpg", -- diffuse image
4688 ["type"] = 5, -- 5 is a 'chip'
4689 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4690 },
4691 ["params"] =
4692 {
4693 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4694 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4695 },
4696
4697 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4698 },
4699
4700
4701 --1
4702 {
4703 ["value"] = 1, -- Value of the Chip
4704 ["name"] = "$1", -- Name of the chip
4705 ["label"] = "$1", -- Label used for converting machine
4706 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4707 ["height"] = 0.15,
4708 ["custom"] =
4709 {
4710 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4711 ["diffuse"] = "http://i.imgur.com/mwUsz1f.jpg", -- diffuse image
4712 ["type"] = 5, -- 5 is a 'chip'
4713 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4714 },
4715 ["params"] =
4716 {
4717 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4718 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4719 },
4720
4721 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4722 },
4723
4724 -- dummy for unknown chips
4725 {
4726 ["value"] = -1, -- Value of the Chip
4727 ["name"] = "unknown", -- Name of the chip
4728 ["standard"] = false, -- Standard tabletop chips true/false
4729 ["label"] = "dummy", -- Label used for converting machine
4730 ["height"] = 0.3,
4731 ["params"] =
4732 {
4733 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4734 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4735 },
4736 ["stack"] = "10" -- stack where the chips are put in
4737 }
4738 },
4739
4740
4741 ['Cash - $10'] =
4742 {
4743
4744 {
4745 ["value"] = 10000, -- Value of the Chip
4746 ["name"] = "$10,000", -- Name of the chip
4747 ["label"] = "$10000", -- Label used for converting machine
4748 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4749 ["height"] = 0.4,
4750 ["custom"] =
4751 {
4752 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4753 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417341397/E932F1E20A11C80E6B33F69AB85383E580A1AEE1/", -- diffuse image
4754 ["type"] = 5, -- 5 is a 'chip'
4755 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4756 },
4757 ["params"] =
4758 {
4759 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4760 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4761 },
4762 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4763 },
4764
4765
4766 {
4767 ["value"] = 5000, -- Value of the Chip
4768 ["name"] = "$5,000", -- Name of the chip
4769 ["label"] = "$5000", -- Label used for converting machine
4770 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4771 ["height"] = 0.4,
4772 ["custom"] =
4773 {
4774 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4775 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417339720/079F4260469E904457AA41516DAE37457047580C/", -- diffuse image
4776 ["type"] = 5, -- 5 is a 'chip'
4777 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4778 },
4779 ["params"] =
4780 {
4781 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4782 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4783 },
4784 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4785 },
4786
4787
4788
4789
4790 {
4791 ["value"] = 2000, -- Value of the Chip
4792 ["name"] = "$2000", -- Name of the chip
4793 ["label"] = "$2000", -- Label used for converting machine
4794 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4795 ["height"] = 0.4,
4796 ["custom"] =
4797 {
4798 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4799 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417338815/61B7CEB12A5B173F904416BA4E03A2D0EB7A59EA/", -- diffuse image
4800 ["type"] = 5, -- 5 is a 'chip'
4801 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4802 },
4803 ["params"] =
4804 {
4805 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4806 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4807 },
4808 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4809 },
4810
4811
4812 {
4813 ["value"] = 1000, -- Value of the Chip
4814 ["name"] = "$1000", -- Name of the chip
4815 ["label"] = "$1000", -- Label used for converting machine
4816 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4817 ["height"] = 0.4,
4818 ["custom"] =
4819 {
4820 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4821 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417337749/ED7860190DD733ECCEA537B4AB7C9E9E2F0F226B/", -- diffuse image
4822 ["type"] = 5, -- 5 is a 'chip'
4823 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4824 },
4825 ["params"] =
4826 {
4827 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4828 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4829 },
4830 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4831 },
4832
4833
4834 {
4835 ["value"] = 500, -- Value of the Chip
4836 ["name"] = "$500", -- Name of the chip
4837 ["label"] = "$500", -- Label used for converting machine
4838 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4839 ["height"] = 0.4,
4840 ["custom"] =
4841 {
4842 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4843 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417336830/68BB8AD5BEF0EC077A743757300A3D6670CC033A/", -- diffuse image
4844 ["type"] = 5, -- 5 is a 'chip'
4845 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4846 },
4847 ["params"] =
4848 {
4849 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4850 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4851 },
4852 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4853 },
4854
4855
4856
4857 --100
4858 {
4859 ["value"] = 100, -- Value of the Chip
4860 ["name"] = "$100", -- Name of the chip
4861 ["label"] = "$100", -- Label used for converting machine
4862 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4863 ["height"] = 0.15,
4864 ["custom"] =
4865 {
4866 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4867 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417333031/DD607DED38237E992FFB93167E92D55384C4B3A8/", -- diffuse image
4868 ["type"] = 5, -- 5 is a 'chip'
4869 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4870 },
4871 ["params"] =
4872 {
4873 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4874 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4875 },
4876
4877 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4878 },
4879
4880
4881 --50
4882 {
4883 ["value"] = 50, -- Value of the Chip
4884 ["name"] = "$50", -- Name of the chip
4885 ["label"] = "$20", -- Label used for converting machine
4886 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4887 ["height"] = 0.15,
4888 ["custom"] =
4889 {
4890 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4891 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417330782/1DDADE5AFCD0DAAD2D20CA000CA5835A773A791E/", -- diffuse image
4892 ["type"] = 5, -- 5 is a 'chip'
4893 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4894 },
4895 ["params"] =
4896 {
4897 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4898 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4899 },
4900
4901 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4902 },
4903
4904
4905
4906 --20
4907 {
4908 ["value"] = 20, -- Value of the Chip
4909 ["name"] = "$20", -- Name of the chip
4910 ["label"] = "$20", -- Label used for converting machine
4911 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4912 ["height"] = 0.15,
4913 ["custom"] =
4914 {
4915 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4916 ["diffuse"] = "http://i.imgur.com/wVf9FY3.jpg", -- diffuse image
4917 ["type"] = 5, -- 5 is a 'chip'
4918 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4919 },
4920 ["params"] =
4921 {
4922 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4923 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4924 },
4925
4926 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4927 },
4928
4929
4930
4931 --10
4932 {
4933 ["value"] = 10, -- Value of the Chip
4934 ["name"] = "$10", -- Name of the chip
4935 ["label"] = "$10", -- Label used for converting machine
4936 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4937 ["height"] = 0.15,
4938 ["custom"] =
4939 {
4940 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4941 ["diffuse"] = "http://i.imgur.com/SCIOcR6.jpg", -- diffuse image
4942 ["type"] = 5, -- 5 is a 'chip'
4943 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4944 },
4945 ["params"] =
4946 {
4947 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4948 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4949 },
4950
4951 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4952 },
4953
4954
4955 -- dummy for unknown chips
4956 {
4957 ["value"] = -1, -- Value of the Chip
4958 ["name"] = "unknown", -- Name of the chip
4959 ["standard"] = false, -- Standard tabletop chips true/false
4960 ["label"] = "dummy", -- Label used for converting machine
4961 ["height"] = 0.3,
4962 ["params"] =
4963 {
4964 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4965 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4966 },
4967 ["stack"] = "10" -- stack where the chips are put in
4968 }
4969 },
4970
4971 ['MGM Grand Hotel/Casino - $1'] =
4972 {
4973
4974 {
4975 ["value"] = 100000, -- Value of the Chip
4976 ["name"] = "$100,000", -- Name of the chip
4977 ["label"] = "$100k", -- Label used for converting machine
4978 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4979 ["height"] = 0.15,
4980 ["custom"] =
4981 {
4982 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4983 ["diffuse"] = "https://i.imgur.com/9uPmS8S.jpg", -- diffuse image
4984 ["type"] = 5, -- 5 is a 'chip'
4985 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4986 },
4987 ["params"] =
4988 {
4989 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4990 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4991 },
4992 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4993 },
4994
4995 {
4996 ["value"] = 25000, -- Value of the Chip
4997 ["name"] = "$25,000", -- Name of the chip
4998 ["label"] = "$25k", -- Label used for converting machine
4999 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5000 ["height"] = 0.15,
5001 ["custom"] =
5002 {
5003 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5004 ["diffuse"] = "https://i.imgur.com/HvGnhD0.jpg", -- diffuse image
5005 ["type"] = 5, -- 5 is a 'chip'
5006 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5007 },
5008 ["params"] =
5009 {
5010 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5011 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5012 },
5013 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5014 },
5015
5016 {
5017 ["value"] = 5000, -- Value of the Chip
5018 ["name"] = "$5,000", -- Name of the chip
5019 ["label"] = "$5000", -- Label used for converting machine
5020 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5021 ["height"] = 0.15,
5022 ["custom"] =
5023 {
5024 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5025 ["diffuse"] = "https://i.imgur.com/oYRbRp1.jpg", -- diffuse image
5026 ["type"] = 5, -- 5 is a 'chip'
5027 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5028 },
5029 ["params"] =
5030 {
5031 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5032 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5033 },
5034 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5035 },
5036
5037 {
5038 ["value"] = 1000, -- Value of the Chip
5039 ["name"] = "$1,000", -- Name of the chip
5040 ["label"] = "$1000", -- Label used for converting machine
5041 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5042 ["height"] = 0.15,
5043 ["custom"] =
5044 {
5045 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5046 ["diffuse"] = "https://i.imgur.com/3613rtq.jpg", -- diffuse image
5047 ["type"] = 5, -- 5 is a 'chip'
5048 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5049 },
5050 ["params"] =
5051 {
5052 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5053 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5054 },
5055 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5056 },
5057 {
5058 ["value"] = 500, -- Value of the Chip
5059 ["name"] = "$500", -- Name of the chip
5060 ["label"] = "$500", -- Label used for converting machine
5061 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5062 ["height"] = 0.15,
5063 ["custom"] =
5064 {
5065 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5066 ["diffuse"] = "https://i.imgur.com/MWcqHq8.jpg", -- diffuse image
5067 ["type"] = 5, -- 5 is a 'chip'
5068 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5069 },
5070 ["params"] =
5071 {
5072 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5073 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5074 },
5075 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5076 },
5077
5078 {
5079 ["value"] = 100, -- Value of the Chip
5080 ["name"] = "$100", -- Name of the chip
5081 ["label"] = "$100", -- Label used for converting machine
5082 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5083 ["height"] = 0.15,
5084 ["custom"] =
5085 {
5086 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5087 ["diffuse"] = "https://i.imgur.com/5mrQknY.jpg", -- diffuse image
5088 ["type"] = 5, -- 5 is a 'chip'
5089 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5090 },
5091 ["params"] =
5092 {
5093 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5094 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5095 },
5096 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5097 },
5098
5099
5100
5101 {
5102 ["value"] = 25, -- Value of the Chip
5103 ["name"] = "$25", -- Name of the chip
5104 ["label"] = "$25", -- Label used for converting machine
5105 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5106 ["height"] = 0.15,
5107 ["custom"] =
5108 {
5109 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5110 ["diffuse"] = "https://i.imgur.com/hQcCUsP.jpg", -- diffuse image
5111 ["type"] = 5, -- 5 is a 'chip'
5112 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5113 },
5114 ["params"] =
5115 {
5116 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5117 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5118 },
5119 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5120 },
5121
5122
5123
5124 {
5125 ["value"] = 5, -- Value of the Chip
5126 ["name"] = "$5", -- Name of the chip
5127 ["label"] = "$5", -- Label used for converting machine
5128 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5129 ["height"] = 0.15,
5130 ["custom"] =
5131 {
5132 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5133 ["diffuse"] = "https://i.imgur.com/fe5F1ql.jpg", -- diffuse image
5134 ["type"] = 5, -- 5 is a 'chip'
5135 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5136 },
5137 ["params"] =
5138 {
5139 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5140 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5141 },
5142 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5143 },
5144
5145
5146
5147 {
5148 ["value"] = 1, -- Value of the Chip
5149 ["name"] = "$1", -- Name of the chip
5150 ["label"] = "$1", -- Label used for converting machine
5151 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5152 ["height"] = 0.15,
5153 ["custom"] =
5154 {
5155 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5156 ["diffuse"] = "https://i.imgur.com/YdWMB2y.jpgw", -- diffuse image
5157 ["type"] = 5, -- 5 is a 'chip'
5158 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5159 },
5160 ["params"] =
5161 {
5162 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5163 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5164 },
5165 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5166 }
5167
5168
5169
5170
5171 , -- dummy for unknown chips
5172 {
5173 ["value"] = -1, -- Value of the Chip
5174 ["name"] = "unknown", -- Name of the chip
5175 ["standard"] = false, -- Standard tabletop chips true/false
5176 ["label"] = "dummy", -- Label used for converting machine
5177 ["height"] = 0.3,
5178 ["params"] =
5179 {
5180 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5181 ["scale"] = {1,1,1} -- the scale at which to spawn the object
5182 },
5183 ["stack"] = "15" -- stack where the chips are put in
5184 }
5185 },
5186
5187 ['MGM Grand Hotel/Casino - $100'] =
5188 {
5189
5190 {
5191 ["value"] = 100000, -- Value of the Chip
5192 ["name"] = "$100,000", -- Name of the chip
5193 ["label"] = "$100k", -- Label used for converting machine
5194 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5195 ["height"] = 0.15,
5196 ["custom"] =
5197 {
5198 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5199 ["diffuse"] = "https://i.imgur.com/9uPmS8S.jpg", -- diffuse image
5200 ["type"] = 5, -- 5 is a 'chip'
5201 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5202 },
5203 ["params"] =
5204 {
5205 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5206 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5207 },
5208 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5209 },
5210
5211 {
5212 ["value"] = 25000, -- Value of the Chip
5213 ["name"] = "$25,000", -- Name of the chip
5214 ["label"] = "$25k", -- Label used for converting machine
5215 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5216 ["height"] = 0.15,
5217 ["custom"] =
5218 {
5219 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5220 ["diffuse"] = "https://i.imgur.com/HvGnhD0.jpg", -- diffuse image
5221 ["type"] = 5, -- 5 is a 'chip'
5222 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5223 },
5224 ["params"] =
5225 {
5226 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5227 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5228 },
5229 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5230 },
5231
5232 {
5233 ["value"] = 5000, -- Value of the Chip
5234 ["name"] = "$5,000", -- Name of the chip
5235 ["label"] = "$5000", -- Label used for converting machine
5236 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5237 ["height"] = 0.15,
5238 ["custom"] =
5239 {
5240 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5241 ["diffuse"] = "https://i.imgur.com/oYRbRp1.jpg", -- diffuse image
5242 ["type"] = 5, -- 5 is a 'chip'
5243 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5244 },
5245 ["params"] =
5246 {
5247 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5248 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5249 },
5250 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5251 },
5252
5253 {
5254 ["value"] = 1000, -- Value of the Chip
5255 ["name"] = "$1,000", -- Name of the chip
5256 ["label"] = "$1000", -- Label used for converting machine
5257 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5258 ["height"] = 0.15,
5259 ["custom"] =
5260 {
5261 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5262 ["diffuse"] = "https://i.imgur.com/3613rtq.jpg", -- diffuse image
5263 ["type"] = 5, -- 5 is a 'chip'
5264 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5265 },
5266 ["params"] =
5267 {
5268 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5269 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5270 },
5271 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5272 },
5273 {
5274 ["value"] = 500, -- Value of the Chip
5275 ["name"] = "$500", -- Name of the chip
5276 ["label"] = "$500", -- Label used for converting machine
5277 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5278 ["height"] = 0.15,
5279 ["custom"] =
5280 {
5281 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5282 ["diffuse"] = "https://i.imgur.com/MWcqHq8.jpg", -- diffuse image
5283 ["type"] = 5, -- 5 is a 'chip'
5284 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5285 },
5286 ["params"] =
5287 {
5288 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5289 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5290 },
5291 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5292 },
5293
5294 {
5295 ["value"] = 100, -- Value of the Chip
5296 ["name"] = "$100", -- Name of the chip
5297 ["label"] = "$100", -- Label used for converting machine
5298 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5299 ["height"] = 0.15,
5300 ["custom"] =
5301 {
5302 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5303 ["diffuse"] = "https://i.imgur.com/5mrQknY.jpg", -- diffuse image
5304 ["type"] = 5, -- 5 is a 'chip'
5305 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5306 },
5307 ["params"] =
5308 {
5309 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5310 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5311 },
5312 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5313 }
5314
5315
5316
5317 , -- dummy for unknown chips
5318 {
5319 ["value"] = -1, -- Value of the Chip
5320 ["name"] = "unknown", -- Name of the chip
5321 ["standard"] = false, -- Standard tabletop chips true/false
5322 ["label"] = "dummy", -- Label used for converting machine
5323 ["height"] = 0.3,
5324 ["params"] =
5325 {
5326 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5327 ["scale"] = {1,1,1} -- the scale at which to spawn the object
5328 },
5329 ["stack"] = "15" -- stack where the chips are put in
5330 }
5331 },
5332}
5333
5334
5335
5336
5337stacklayout =
5338{
5339 ['default'] =
5340 {
5341 ["1"] =
5342 {
5343 ["xoffset"] = 3.75,
5344 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5345 ["zoffset"] = 0,
5346 ["height"] = 0, -- height of current stack
5347 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5348 ["y"] = 0,
5349 ["z"] = 0
5350 },
5351 ["2"] =
5352 {
5353 ["xoffset"] = 2,
5354 ["yoffset"] = 0.0825,
5355 ["zoffset"] = 0,
5356 ["height"] = 0,
5357 ["x"] = 0,
5358 ["y"] = 0,
5359 ["z"] = 0
5360 },
5361 ["3"] =
5362 {
5363 ["xoffset"] = 0.25,
5364 ["yoffset"] = 0.0825,
5365 ["zoffset"] = 0,
5366 ["height"] = 0,
5367 ["x"] = 0,
5368 ["y"] = 0,
5369 ["z"] = 0
5370 },
5371 ["misc"] =
5372 {
5373 ["xoffset"] = -2.75,
5374 ["yoffset"] = 0.2,
5375 ["zoffset"] = 0,
5376 ["height"] = 0,
5377 ["x"] = 0,
5378 ["y"] = 0,
5379 ["z"] = 0
5380 }
5381 },
5382
5383 ['5'] =
5384 {
5385 ["1"] =
5386 {
5387 ["xoffset"] = 4,
5388 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5389 ["zoffset"] = 0,
5390 ["height"] = 0, -- height of current stack
5391 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5392 ["y"] = 0,
5393 ["z"] = 0
5394 },
5395 ["2"] =
5396 {
5397 ["xoffset"] = 2,
5398 ["yoffset"] = 0.0825,
5399 ["zoffset"] = 0,
5400 ["height"] = 0,
5401 ["x"] = 0,
5402 ["y"] = 0,
5403 ["z"] = 0
5404 },
5405 ["3"] =
5406 {
5407 ["xoffset"] = 0.0,
5408 ["yoffset"] = 0.0825,
5409 ["zoffset"] = 0,
5410 ["height"] = 0,
5411 ["x"] = 0,
5412 ["y"] = 0,
5413 ["z"] = 0
5414 },
5415 ["4"] =
5416 {
5417 ["xoffset"] = -2,
5418 ["yoffset"] = 0.0825,
5419 ["zoffset"] = 0,
5420 ["height"] = 0,
5421 ["x"] = 0,
5422 ["y"] = 0,
5423 ["z"] = 0
5424 },
5425
5426 ["misc"] =
5427 {
5428 ["xoffset"] = -4,
5429 ["yoffset"] = 0.2,
5430 ["zoffset"] = 0,
5431 ["height"] = 0,
5432 ["x"] = 0,
5433 ["y"] = 0,
5434 ["z"] = 0
5435 }
5436 },
5437
5438
5439 ['5-5'] =
5440 {
5441 ["1"] =
5442 {
5443 ["xoffset"] = 3.75,
5444 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5445 ["zoffset"] = -2,
5446 ["height"] = 0, -- height of current stack
5447 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5448 ["y"] = 0,
5449 ["z"] = 0
5450 },
5451 ["2"] =
5452 {
5453 ["xoffset"] = 2,
5454 ["yoffset"] = 0.0825,
5455 ["zoffset"] = -2,
5456 ["height"] = 0,
5457 ["x"] = 0,
5458 ["y"] = 0,
5459 ["z"] = 0
5460 },
5461 ["3"] =
5462 {
5463 ["xoffset"] = 0.25,
5464 ["yoffset"] = 0.0825,
5465 ["zoffset"] = -2,
5466 ["height"] = 0,
5467 ["x"] = 0,
5468 ["y"] = 0,
5469 ["z"] = 0
5470 },
5471 ["4"] =
5472 {
5473 ["xoffset"] = -1.5,
5474 ["yoffset"] = 0.2,
5475 ["zoffset"] = -2,
5476 ["height"] = 0,
5477 ["x"] = 0,
5478 ["y"] = 0,
5479 ["z"] = 0
5480 },
5481 ["5"] =
5482 {
5483 ["xoffset"] = -3.25,
5484 ["yoffset"] = 0.2,
5485 ["zoffset"] = -2,
5486 ["height"] = 0,
5487 ["x"] = 0,
5488 ["y"] = 0,
5489 ["z"] = 0
5490 }
5491 ,
5492 ["6"] =
5493 {
5494 ["xoffset"] = 3.75,
5495 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5496 ["zoffset"] = 0,
5497 ["height"] = 0, -- height of current stack
5498 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5499 ["y"] = 0,
5500 ["z"] = 0
5501 },
5502 ["7"] =
5503 {
5504 ["xoffset"] = 2,
5505 ["yoffset"] = 0.0825,
5506 ["zoffset"] = 0,
5507 ["height"] = 0,
5508 ["x"] = 0,
5509 ["y"] = 0,
5510 ["z"] = 0
5511 },
5512 ["8"] =
5513 {
5514 ["xoffset"] = 0.25,
5515 ["yoffset"] = 0.0825,
5516 ["zoffset"] = 0,
5517 ["height"] = 0,
5518 ["x"] = 0,
5519 ["y"] = 0,
5520 ["z"] = 0
5521 },
5522 ["9"] =
5523 {
5524 ["xoffset"] = -1.5,
5525 ["yoffset"] = 0.2,
5526 ["zoffset"] = 0,
5527 ["height"] = 0,
5528 ["x"] = 0,
5529 ["y"] = 0,
5530 ["z"] = 0
5531 },
5532 ["misc"] =
5533 {
5534 ["xoffset"] = -3.25,
5535 ["yoffset"] = 0.2,
5536 ["zoffset"] = 0,
5537 ["height"] = 0,
5538 ["x"] = 0,
5539 ["y"] = 0,
5540 ["z"] = 0
5541 }
5542 },
5543
5544 ['5-5-5'] =
5545 {
5546 ["1"] =
5547 {
5548 ["xoffset"] = 3.75,
5549 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5550 ["zoffset"] = -2,
5551 ["height"] = 0, -- height of current stack
5552 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5553 ["y"] = 0,
5554 ["z"] = 0
5555 },
5556 ["2"] =
5557 {
5558 ["xoffset"] = 2,
5559 ["yoffset"] = 0.0825,
5560 ["zoffset"] = -2,
5561 ["height"] = 0,
5562 ["x"] = 0,
5563 ["y"] = 0,
5564 ["z"] = 0
5565 },
5566 ["3"] =
5567 {
5568 ["xoffset"] = 0.25,
5569 ["yoffset"] = 0.0825,
5570 ["zoffset"] = -2,
5571 ["height"] = 0,
5572 ["x"] = 0,
5573 ["y"] = 0,
5574 ["z"] = 0
5575 },
5576 ["4"] =
5577 {
5578 ["xoffset"] = -1.5,
5579 ["yoffset"] = 0.2,
5580 ["zoffset"] = -2,
5581 ["height"] = 0,
5582 ["x"] = 0,
5583 ["y"] = 0,
5584 ["z"] = 0
5585 },
5586 ["5"] =
5587 {
5588 ["xoffset"] = -3.25,
5589 ["yoffset"] = 0.2,
5590 ["zoffset"] = -2,
5591 ["height"] = 0,
5592 ["x"] = 0,
5593 ["y"] = 0,
5594 ["z"] = 0
5595 }
5596 ,
5597 ["6"] =
5598 {
5599 ["xoffset"] = 3.75,
5600 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5601 ["zoffset"] = 0,
5602 ["height"] = 0, -- height of current stack
5603 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5604 ["y"] = 0,
5605 ["z"] = 0
5606 },
5607 ["7"] =
5608 {
5609 ["xoffset"] = 2,
5610 ["yoffset"] = 0.0825,
5611 ["zoffset"] = 0,
5612 ["height"] = 0,
5613 ["x"] = 0,
5614 ["y"] = 0,
5615 ["z"] = 0
5616 },
5617 ["8"] =
5618 {
5619 ["xoffset"] = 0.25,
5620 ["yoffset"] = 0.0825,
5621 ["zoffset"] = 0,
5622 ["height"] = 0,
5623 ["x"] = 0,
5624 ["y"] = 0,
5625 ["z"] = 0
5626 },
5627 ["9"] =
5628 {
5629 ["xoffset"] = -1.5,
5630 ["yoffset"] = 0.2,
5631 ["zoffset"] = 0,
5632 ["height"] = 0,
5633 ["x"] = 0,
5634 ["y"] = 0,
5635 ["z"] = 0
5636 },
5637 ["10"] =
5638 {
5639 ["xoffset"] = -3.25,
5640 ["yoffset"] = 0.2,
5641 ["zoffset"] = 0,
5642 ["height"] = 0,
5643 ["x"] = 0,
5644 ["y"] = 0,
5645 ["z"] = 0
5646 },
5647
5648 ["11"] =
5649 {
5650 ["xoffset"] = 3.75,
5651 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5652 ["zoffset"] = 2,
5653 ["height"] = 0, -- height of current stack
5654 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5655 ["y"] = 0,
5656 ["z"] = 0
5657 },
5658 ["12"] =
5659 {
5660 ["xoffset"] = 2,
5661 ["yoffset"] = 0.0825,
5662 ["zoffset"] = 2,
5663 ["height"] = 0,
5664 ["x"] = 0,
5665 ["y"] = 0,
5666 ["z"] = 0
5667 },
5668 ["13"] =
5669 {
5670 ["xoffset"] = 0.25,
5671 ["yoffset"] = 0.0825,
5672 ["zoffset"] = 2,
5673 ["height"] = 0,
5674 ["x"] = 0,
5675 ["y"] = 0,
5676 ["z"] = 0
5677 },
5678 ["14"] =
5679 {
5680 ["xoffset"] = -1.5,
5681 ["yoffset"] = 0.2,
5682 ["zoffset"] = 2,
5683 ["height"] = 0,
5684 ["x"] = 0,
5685 ["y"] = 0,
5686 ["z"] = 0
5687 },
5688 ["misc"] =
5689 {
5690 ["xoffset"] = -3.25,
5691 ["yoffset"] = 0.2,
5692 ["zoffset"] = 2,
5693 ["height"] = 0,
5694 ["x"] = 0,
5695 ["y"] = 0,
5696 ["z"] = 0
5697 },
5698
5699 },
5700
5701
5702 ['5-2-3'] =
5703 {
5704 ["1"] =
5705 {
5706 ["xoffset"] = 3.75,
5707 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5708 ["zoffset"] = -2,
5709 ["height"] = 0, -- height of current stack
5710 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5711 ["y"] = 0,
5712 ["z"] = 0
5713 },
5714 ["2"] =
5715 {
5716 ["xoffset"] = 2,
5717 ["yoffset"] = 0.0825,
5718 ["zoffset"] = -2,
5719 ["height"] = 0,
5720 ["x"] = 0,
5721 ["y"] = 0,
5722 ["z"] = 0
5723 },
5724 ["3"] =
5725 {
5726 ["xoffset"] = 0.25,
5727 ["yoffset"] = 0.0825,
5728 ["zoffset"] = -2,
5729 ["height"] = 0,
5730 ["x"] = 0,
5731 ["y"] = 0,
5732 ["z"] = 0
5733 },
5734 ["4"] =
5735 {
5736 ["xoffset"] = -1.5,
5737 ["yoffset"] = 0.2,
5738 ["zoffset"] = -2,
5739 ["height"] = 0,
5740 ["x"] = 0,
5741 ["y"] = 0,
5742 ["z"] = 0
5743 },
5744 ["5"] =
5745 {
5746 ["xoffset"] = -3.25,
5747 ["yoffset"] = 0.2,
5748 ["zoffset"] = -2,
5749 ["height"] = 0,
5750 ["x"] = 0,
5751 ["y"] = 0,
5752 ["z"] = 0
5753 }
5754 ,
5755 ["6"] =
5756 {
5757 ["xoffset"] = 2,
5758 ["yoffset"] = 0.2,
5759 ["zoffset"] = 0,
5760 ["height"] = 0,
5761 ["x"] = 0,
5762 ["y"] = 0,
5763 ["z"] = 0
5764 }
5765 ,
5766 ["7"] =
5767 {
5768 ["xoffset"] = -2.5,
5769 ["yoffset"] = 0.2,
5770 ["zoffset"] = 0,
5771 ["height"] = 0,
5772 ["x"] = 0,
5773 ["y"] = 0,
5774 ["z"] = 0
5775 }
5776 ,
5777
5778 ["8"] =
5779 {
5780 ["xoffset"] = 3,
5781 ["yoffset"] = 0.2,
5782 ["zoffset"] = 2,
5783 ["height"] = 0,
5784 ["x"] = 0,
5785 ["y"] = 0,
5786 ["z"] = 0
5787 }
5788 ,
5789 ["misc"] =
5790 {
5791 ["xoffset"] = -3 ,
5792 ["yoffset"] = 0.2,
5793 ["zoffset"] = 2,
5794 ["height"] = 0,
5795 ["x"] = 0,
5796 ["y"] = 0,
5797 ["z"] = 0
5798 }
5799 ,
5800
5801 },
5802
5803 -- for Poker Style Chips
5804 ['triangle'] =
5805 {
5806 ["1"] =
5807 {
5808 ["xoffset"] = 3.5,
5809 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5810 ["zoffset"] = -2,
5811 ["height"] = 0, -- height of current stack
5812 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5813 ["y"] = 0,
5814 ["z"] = 0
5815 },
5816
5817 ["2"] =
5818 {
5819 ["xoffset"] = 0,
5820 ["yoffset"] = 0.2,
5821 ["zoffset"] = -2,
5822 ["height"] = 0,
5823 ["x"] = 0,
5824 ["y"] = 0,
5825 ["z"] = 0
5826 }
5827 ,
5828
5829 ["3"] =
5830 {
5831 ["xoffset"] = -3.5,
5832 ["yoffset"] = 0.2,
5833 ["zoffset"] = -2,
5834 ["height"] = 0,
5835 ["x"] = 0,
5836 ["y"] = 0,
5837 ["z"] = 0
5838 }
5839 ,
5840
5841 ["4"] =
5842 {
5843 ["xoffset"] = 1.75,
5844 ["yoffset"] = 0.0825,
5845 ["zoffset"] = 0,
5846 ["height"] = 0,
5847 ["x"] = 0,
5848 ["y"] = 0,
5849 ["z"] = 0
5850 },
5851 ["5"] =
5852 {
5853 ["xoffset"] = -1.75,
5854 ["yoffset"] = 0.2,
5855 ["zoffset"] = 0,
5856 ["height"] = 0,
5857 ["x"] = 0,
5858 ["y"] = 0,
5859 ["z"] = 0
5860 },
5861 ["misc"] =
5862 {
5863 ["xoffset"] = 0,
5864 ["yoffset"] = 0.0825,
5865 ["zoffset"] = 2,
5866 ["height"] = 0,
5867 ["x"] = 0,
5868 ["y"] = 0,
5869 ["z"] = 0
5870 },
5871
5872
5873
5874
5875
5876 },
5877
5878
5879 -- for default chips 100, skipping Stack 4 and 5
5880 ['Triangle'] =
5881 {
5882 ["1"] =
5883 {
5884 ["xoffset"] = 3.5,
5885 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5886 ["zoffset"] = -2,
5887 ["height"] = 0, -- height of current stack
5888 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5889 ["y"] = 0,
5890 ["z"] = 0
5891 },
5892 ["2"] =
5893 {
5894 ["xoffset"] = 1.75,
5895 ["yoffset"] = 0.0825,
5896 ["zoffset"] = 0,
5897 ["height"] = 0,
5898 ["x"] = 0,
5899 ["y"] = 0,
5900 ["z"] = 0
5901 },
5902 ["3"] =
5903 {
5904 ["xoffset"] = 0,
5905 ["yoffset"] = 0.0825,
5906 ["zoffset"] = 2,
5907 ["height"] = 0,
5908 ["x"] = 0,
5909 ["y"] = 0,
5910 ["z"] = 0
5911 },
5912 ["6"] =
5913 {
5914 ["xoffset"] = -1.75,
5915 ["yoffset"] = 0.2,
5916 ["zoffset"] = 0,
5917 ["height"] = 0,
5918 ["x"] = 0,
5919 ["y"] = 0,
5920 ["z"] = 0
5921 },
5922 ["7"] =
5923 {
5924 ["xoffset"] = -3.5,
5925 ["yoffset"] = 0.2,
5926 ["zoffset"] = -2,
5927 ["height"] = 0,
5928 ["x"] = 0,
5929 ["y"] = 0,
5930 ["z"] = 0
5931 }
5932 ,
5933 ["misc"] =
5934 {
5935 ["xoffset"] = 0,
5936 ["yoffset"] = 0.2,
5937 ["zoffset"] = -2,
5938 ["height"] = 0,
5939 ["x"] = 0,
5940 ["y"] = 0,
5941 ["z"] = 0
5942 }
5943 ,
5944
5945
5946 },
5947
5948
5949 -- for Poker Style Chips
5950 ['triangle 2'] =
5951 {
5952
5953 ["1"] =
5954 {
5955 ["xoffset"] = 0,
5956 ["yoffset"] = 0.0825,
5957 ["zoffset"] = -2,
5958 ["height"] = 0,
5959 ["x"] = 0,
5960 ["y"] = 0,
5961 ["z"] = 0
5962 },
5963
5964 ["2"] =
5965 {
5966 ["xoffset"] = -1.75,
5967 ["yoffset"] = 0.2,
5968 ["zoffset"] = 0,
5969 ["height"] = 0,
5970 ["x"] = 0,
5971 ["y"] = 0,
5972 ["z"] = 0
5973 },
5974
5975 ["3"] =
5976 {
5977 ["xoffset"] = 1.75,
5978 ["yoffset"] = 0.0825,
5979 ["zoffset"] = 0,
5980 ["height"] = 0,
5981 ["x"] = 0,
5982 ["y"] = 0,
5983 ["z"] = 0
5984 },
5985
5986 ["4"] =
5987 {
5988 ["xoffset"] = -3.5,
5989 ["yoffset"] = 0.2,
5990 ["zoffset"] = 2,
5991 ["height"] = 0,
5992 ["x"] = 0,
5993 ["y"] = 0,
5994 ["z"] = 0
5995 }
5996 ,
5997
5998 ["5"] =
5999 {
6000 ["xoffset"] = 3.5,
6001 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6002 ["zoffset"] = 2,
6003 ["height"] = 0, -- height of current stack
6004 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6005 ["y"] = 0,
6006 ["z"] = 0
6007 },
6008
6009 ["misc"] =
6010 {
6011 ["xoffset"] = 0,
6012 ["yoffset"] = 0.2,
6013 ["zoffset"] = 2,
6014 ["height"] = 0,
6015 ["x"] = 0,
6016 ["y"] = 0,
6017 ["z"] = 0
6018 }
6019 ,
6020
6021
6022 },
6023
6024
6025 -- for default chips 100, skipping Stack 4 and 5
6026 ['Triangle 2'] =
6027 {
6028
6029 ["1"] =
6030 {
6031 ["xoffset"] = 0,
6032 ["yoffset"] = 0.0825,
6033 ["zoffset"] = -2,
6034 ["height"] = 0,
6035 ["x"] = 0,
6036 ["y"] = 0,
6037 ["z"] = 0
6038 },
6039
6040 ["2"] =
6041 {
6042 ["xoffset"] = -1.75,
6043 ["yoffset"] = 0.2,
6044 ["zoffset"] = 0,
6045 ["height"] = 0,
6046 ["x"] = 0,
6047 ["y"] = 0,
6048 ["z"] = 0
6049 },
6050
6051 ["3"] =
6052 {
6053 ["xoffset"] = 1.75,
6054 ["yoffset"] = 0.0825,
6055 ["zoffset"] = 0,
6056 ["height"] = 0,
6057 ["x"] = 0,
6058 ["y"] = 0,
6059 ["z"] = 0
6060 },
6061
6062 ["6"] =
6063 {
6064 ["xoffset"] = -3.5,
6065 ["yoffset"] = 0.2,
6066 ["zoffset"] = 2,
6067 ["height"] = 0,
6068 ["x"] = 0,
6069 ["y"] = 0,
6070 ["z"] = 0
6071 }
6072 ,
6073
6074 ["7"] =
6075 {
6076 ["xoffset"] = 3.5,
6077 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6078 ["zoffset"] = 2,
6079 ["height"] = 0, -- height of current stack
6080 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6081 ["y"] = 0,
6082 ["z"] = 0
6083 },
6084
6085 ["misc"] =
6086 {
6087 ["xoffset"] = 0,
6088 ["yoffset"] = 0.2,
6089 ["zoffset"] = 2,
6090 ["height"] = 0,
6091 ["x"] = 0,
6092 ["y"] = 0,
6093 ["z"] = 0
6094 }
6095 ,
6096
6097
6098 },
6099
6100
6101 ['Honeycomb'] =
6102 {
6103 ["1"] =
6104 {
6105 ["xoffset"] = 0.9,
6106 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6107 ["zoffset"] = -1.5,
6108 ["height"] = 0, -- height of current stack
6109 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6110 ["y"] = 0,
6111 ["z"] = 0
6112 },
6113 ["2"] =
6114 {
6115 ["xoffset"] = -0.9,
6116 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6117 ["zoffset"] = -1.5,
6118 ["height"] = 0, -- height of current stack
6119 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6120 ["y"] = 0,
6121 ["z"] = 0
6122 },
6123 ["3"] =
6124 {
6125 ["xoffset"] = 1.75,
6126 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6127 ["zoffset"] = 0,
6128 ["height"] = 0, -- height of current stack
6129 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6130 ["y"] = 0,
6131 ["z"] = 0
6132 },
6133 ["4"] =
6134 {
6135 ["xoffset"] = 0,
6136 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6137 ["zoffset"] = 0,
6138 ["height"] = 0, -- height of current stack
6139 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6140 ["y"] = 0,
6141 ["z"] = 0
6142 },
6143 ["5"] =
6144 {
6145 ["xoffset"] = -1.75,
6146 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6147 ["zoffset"] = 0,
6148 ["height"] = 0, -- height of current stack
6149 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6150 ["y"] = 0,
6151 ["z"] = 0
6152 },
6153 ["6"] =
6154 {
6155 ["xoffset"] = 0.9,
6156 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6157 ["zoffset"] = 1.5,
6158 ["height"] = 0, -- height of current stack
6159 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6160 ["y"] = 0,
6161 ["z"] = 0
6162 },
6163 ["misc"] =
6164 {
6165 ["xoffset"] = -0.9,
6166 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6167 ["zoffset"] = 1.5,
6168 ["height"] = 0, -- height of current stack
6169 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6170 ["y"] = 0,
6171 ["z"] = 0
6172 },
6173
6174 },
6175
6176 ['Half Circle'] =
6177 {
6178 ["1"] =
6179 {
6180 ["xoffset"] = 4,
6181 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6182 ["zoffset"] = -2,
6183 ["height"] = 0, -- height of current stack
6184 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6185 ["y"] = 0,
6186 ["z"] = 0
6187 },
6188 ["2"] =
6189 {
6190 ["xoffset"] = 3.58,
6191 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6192 ["zoffset"] = -0.34,
6193 ["height"] = 0, -- height of current stack
6194 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6195 ["y"] = 0,
6196 ["z"] = 0
6197 },
6198 ["3"] =
6199 {
6200 ["xoffset"] = 2.45,
6201 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6202 ["zoffset"] = 1.15,
6203 ["height"] = 0, -- height of current stack
6204 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6205 ["y"] = 0,
6206 ["z"] = 0
6207 },
6208 ["4"] =
6209 {
6210 ["xoffset"] = 0.81,
6211 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6212 ["zoffset"] = 1.89,
6213 ["height"] = 0, -- height of current stack
6214 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6215 ["y"] = 0,
6216 ["z"] = 0
6217 },
6218 ["5"] =
6219 {
6220 ["xoffset"] = -0.81,
6221 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6222 ["zoffset"] = 1.89,
6223 ["height"] = 0, -- height of current stack
6224 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6225 ["y"] = 0,
6226 ["z"] = 0
6227 },
6228 ["6"] =
6229 {
6230 ["xoffset"] = -2.45,
6231 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6232 ["zoffset"] = 1.15,
6233 ["height"] = 0, -- height of current stack
6234 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6235 ["y"] = 0,
6236 ["z"] = 0
6237 },
6238 ["7"] =
6239 {
6240 ["xoffset"] = -3.58,
6241 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6242 ["zoffset"] = -0.34,
6243 ["height"] = 0, -- height of current stack
6244 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6245 ["y"] = 0,
6246 ["z"] = 0
6247 },
6248 ["misc"] =
6249 {
6250 ["xoffset"] = -4,
6251 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6252 ["zoffset"] = -2,
6253 ["height"] = 0, -- height of current stack
6254 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6255 ["y"] = 0,
6256 ["z"] = 0
6257 },
6258 },
6259
6260 -- For Cash Stacks
6261 ['2-2-2'] =
6262 {
6263 ["1"] =
6264 {
6265 ["xoffset"] = 2,
6266 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6267 ["zoffset"] = -2,
6268 ["height"] = 0, -- height of current stack
6269 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6270 ["y"] = 0,
6271 ["z"] = 0
6272 },
6273 ["2"] =
6274 {
6275 ["xoffset"] = -2.5,
6276 ["yoffset"] = 0.0825,
6277 ["zoffset"] = -2,
6278 ["height"] = 0,
6279 ["x"] = 0,
6280 ["y"] = 0,
6281 ["z"] = 0
6282 },
6283 ["3"] =
6284 {
6285 ["xoffset"] = 2,
6286 ["yoffset"] = 0.2,
6287 ["zoffset"] = 0,
6288 ["height"] = 0,
6289 ["x"] = 0,
6290 ["y"] = 0,
6291 ["z"] = 0
6292 }
6293 ,
6294 ["4"] =
6295 {
6296 ["xoffset"] = -2.5,
6297 ["yoffset"] = 0.2,
6298 ["zoffset"] = 0,
6299 ["height"] = 0,
6300 ["x"] = 0,
6301 ["y"] = 0,
6302 ["z"] = 0
6303 }
6304 ,
6305 ["5"] =
6306 {
6307 ["xoffset"] = 2,
6308 ["yoffset"] = 0.2,
6309 ["zoffset"] = 2,
6310 ["height"] = 0,
6311 ["x"] = 0,
6312 ["y"] = 0,
6313 ["z"] = 0
6314 }
6315 ,
6316
6317 ["misc"] =
6318 {
6319 ["xoffset"] = -2.5 ,
6320 ["yoffset"] = 0.2,
6321 ["zoffset"] = 2,
6322 ["height"] = 0,
6323 ["x"] = 0,
6324 ["y"] = 0,
6325 ["z"] = 0
6326 }
6327 ,
6328
6329 },
6330
6331}
6332
6333currenciesSelectionStacklayout =
6334{
6335 ["default"] = { "5-2-3", "default", "Triangle", "Triangle 2", "2-2-2" },
6336 ["default - $10"] = { "5-2-3", "default", "triangle", "triangle 2" },
6337 ["default / WSOP - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6338 ["default / WSOP - $10"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6339 ["World Series Of Poker - $500"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6340 ["World Series Of Poker - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6341 ["World Series Of Poker - $25"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6342 ["Casino Style V2 - $1"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6343 ["Casino Style V2 - $10"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6344 ["Casino Style V2 - $100"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6345 ["Casino Style V3 - $1"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6346 ["Casino Style V3 - $10"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6347 ["Casino Style V3 - $100"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6348 ["Casino Style V3 - $500"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6349 ["Cash - $1"] = { "2-2-2" },
6350 ["Cash - $10"] = { "2-2-2" },
6351 ["MGM Grand Hotel/Casino - $1"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6352 ["MGM Grand Hotel/Casino - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6353
6354}
6355
6356currencies = {}
6357
6358--[[ Overlay images --]]
6359themes =
6360{
6361 { -- themeindex 1
6362 ["label"] = 'Anime',
6363 { -- subthemeindex 1
6364 ["label"] = 'Normieshit1',
6365 { -- 1
6366 ["label"] = 'Cowboy Bebop',
6367 ["diffuse"] = 'http://i.imgur.com/VyfS447.jpg'
6368 },
6369 { -- 2
6370 ["label"] = 'Cowboy Bebop cards',
6371 ["diffuse"] = 'http://i.imgur.com/lOQOdky.jpg'
6372 },
6373 { -- 3
6374 ["label"] = 'Cowboy Bebop bang hand',
6375 ["diffuse"] = 'http://i.imgur.com/S8IiygG.jpg'
6376 }
6377 },
6378 { -- subthemeindex 2
6379 ["label"] = 'Hidamari Sketch',
6380 { -- 1
6381 ["label"] = 'Swimsuits',
6382 ["diffuse"] = 'http://i.imgur.com/pL1qEHD.jpg'
6383 },
6384 { -- 2
6385 ["label"] = 'Yunocchi',
6386 ["diffuse"] = 'http://i.imgur.com/c0y8yiu.jpg'
6387 },
6388 { -- 3
6389 ["label"] = 'Yuno (wide)',
6390 ["diffuse"] = 'http://i.imgur.com/okv9OWS.jpg'
6391 }
6392 },
6393 { -- subthemeindex 3
6394 ["label"] = 'GochiUsa 1',
6395 { -- 1
6396 ["label"] = 'Group 1',
6397 ["diffuse"] = 'http://i.imgur.com/dUPOwBT.jpg'
6398 },
6399 { -- 2
6400 ["label"] = 'Group 2',
6401 ["diffuse"] = 'http://i.imgur.com/dlqVrVH.jpg'
6402 },
6403 { -- 3
6404 ["label"] = 'Group Casino',
6405 ["diffuse"] = 'http://i.imgur.com/yvrQqJs.jpg'
6406 },
6407 { -- 4
6408 ["label"] = 'Group Underwater',
6409 ["diffuse"] = 'http://i.imgur.com/bLcKafe.jpg'
6410 },
6411 { -- 5
6412 ["label"] = 'Group Christmas',
6413 ["diffuse"] = 'http://i.imgur.com/OaU0e9w.jpg'
6414 },
6415 { -- 6
6416 ["label"] = 'ChiMaMe',
6417 ["diffuse"] = 'http://i.imgur.com/HZPKtIC.jpg'
6418 },
6419 { -- 7
6420 ["label"] = 'Chino Rize Syaro Idols',
6421 ["diffuse"] = 'http://i.imgur.com/t3isOTZ.jpg'
6422 },
6423 { -- 8
6424 ["label"] = 'Cocoa Chino Rize',
6425 ["diffuse"] = 'http://i.imgur.com/o5XmWaK.jpg'
6426 },
6427 { -- 9
6428 ["label"] = 'Cocoa Chino',
6429 ["diffuse"] = 'http://i.imgur.com/kTYlDbp.jpg'
6430 },
6431 { -- 10
6432 ["label"] = 'Chino Chiya',
6433 ["diffuse"] = 'http://i.imgur.com/YwaTHgK.jpg'
6434 }
6435 },
6436 { -- subthemeindex 4
6437 ["label"] = 'GochiUsa 2',
6438 { -- 1
6439 ["label"] = 'Chino Cards',
6440 ["diffuse"] = 'http://i.imgur.com/rkarO8n.jpg'
6441 },
6442 { -- 2
6443 ["label"] = 'Chino in Wonderland',
6444 ["diffuse"] = 'http://i.imgur.com/K0P0wVC.jpg'
6445 },
6446 { -- 3
6447 ["label"] = 'Chino Smile',
6448 ["diffuse"] = 'http://i.imgur.com/rQm3RCZ.jpg'
6449 },
6450 { -- 4
6451 ["label"] = 'Chino in Bed',
6452 ["diffuse"] = 'http://i.imgur.com/qLSSbEn.jpg'
6453 }
6454 },
6455 { -- subthemeindex 5
6456 ["label"] = 'Madoka Magica 1',
6457 { -- 1
6458 ["label"] = 'Group',
6459 ["diffuse"] = 'http://i.imgur.com/mxSr46k.jpg'
6460 },
6461 { -- 2
6462 ["label"] = 'Group on grass',
6463 ["diffuse"] = 'http://i.imgur.com/vQN3GGv.jpg'
6464 },
6465 { -- 3
6466 ["label"] = 'Mexican standoff',
6467 ["diffuse"] = 'http://i.imgur.com/WcYTwzo.jpg'
6468 },
6469 { -- 4
6470 ["label"] = 'Group stained glass',
6471 ["diffuse"] = 'http://i.imgur.com/BT0JHRa.jpg'
6472 },
6473 { -- 5
6474 ["label"] = 'Madoka gangsta',
6475 ["diffuse"] = 'http://i.imgur.com/ScepCXj.jpg'
6476 },
6477 { -- 6
6478 ["label"] = 'Madoka in water',
6479 ["diffuse"] = 'http://i.imgur.com/MQtkTUy.jpg'
6480 },
6481 { -- 7
6482 ["label"] = 'Ultimate Madoka',
6483 ["diffuse"] = 'http://i.imgur.com/DfqMJRt.jpg'
6484 },
6485 { -- 8
6486 ["label"] = 'Ultimate Madoka 2',
6487 ["diffuse"] = 'http://i.imgur.com/yoqS5Zy.jpg'
6488 },
6489 { -- 9
6490 ["label"] = 'Sayaka',
6491 ["diffuse"] = 'http://i.imgur.com/KvVb3Gt.jpg'
6492 },
6493 { -- 10
6494 ["label"] = 'Sayaka on bed (pantsu)',
6495 ["diffuse"] = 'http://i.imgur.com/ZJUCoFw.jpg'
6496 }
6497 },
6498 { -- subthemeindex 6
6499 ["label"] = 'Madoka Magica 2',
6500 { -- 1
6501 ["label"] = 'Homura',
6502 ["diffuse"] = 'http://i.imgur.com/9HE2oYu.jpg'
6503 },
6504 { -- 2
6505 ["label"] = 'Mami fishing Charlotte',
6506 ["diffuse"] = 'http://i.imgur.com/F1JKHfc.jpg'
6507 },
6508 { -- 3
6509 ["label"] = 'Mami vs witches',
6510 ["diffuse"] = 'http://i.imgur.com/Oen3IgK.jpg'
6511 },
6512 { -- 4
6513 ["label"] = 'Kyouko',
6514 ["diffuse"] = 'http://i.imgur.com/B082C3C.jpg'
6515 },
6516 { -- 5
6517 ["label"] = 'Kyouko2 (pantsu)',
6518 ["diffuse"] = 'http://i.imgur.com/cFZKGMA.jpg'
6519 },
6520 { -- 6
6521 ["label"] = 'KyouSaya',
6522 ["diffuse"] = 'http://i.imgur.com/9LB82tZ.jpg'
6523 },
6524 { -- 7
6525 ["label"] = 'QB gonna get raped',
6526 ["diffuse"] = 'http://i.imgur.com/mtsP5cp.jpg'
6527 }
6528 },
6529 { -- subthemeindex 7
6530 ["label"] = 'Yuru Yuri 1',
6531 { -- 1
6532 ["label"] = 'Akari Collage',
6533 ["diffuse"] = 'http://i.imgur.com/DS4pCpQ.jpg'
6534 },
6535 { -- 2
6536 ["label"] = 'Akaris 1',
6537 ["diffuse"] = 'http://i.imgur.com/xA8YRLg.jpg'
6538 },
6539 { -- 3
6540 ["label"] = 'Akaris 2',
6541 ["diffuse"] = 'http://i.imgur.com/YqNCXSG.jpg'
6542 },
6543 { -- 4
6544 ["label"] = '??????',
6545 ["diffuse"] = 'http://i.imgur.com/o003PFP.jpg'
6546 },
6547 { -- 5
6548 ["label"] = 'Kyouko Collage',
6549 ["diffuse"] = 'http://i.imgur.com/lauT9ym.jpg'
6550 },
6551 { -- 6
6552 ["label"] = 'Kyoukos 1',
6553 ["diffuse"] = 'http://i.imgur.com/CtMp0K4.jpg'
6554 },
6555 { -- 7
6556 ["label"] = 'Kyoukos 2',
6557 ["diffuse"] = 'http://i.imgur.com/81KhU3Z.jpg'
6558 },
6559 { -- 8
6560 ["label"] = 'Yui Collage',
6561 ["diffuse"] = 'http://i.imgur.com/cwLhHDr.jpg'
6562 },
6563 { -- 9
6564 ["label"] = 'Yuis',
6565 ["diffuse"] = 'http://i.imgur.com/F1P0fP5.jpg'
6566 }
6567 },
6568 { -- subthemeindex 8
6569 ["label"] = 'Yuru Yuri 2',
6570 { -- 1
6571 ["label"] = 'Chinatsu Collage',
6572 ["diffuse"] = 'http://i.imgur.com/h4yJ539.jpg'
6573 },
6574 { -- 2
6575 ["label"] = 'Chinatsus',
6576 ["diffuse"] = 'http://i.imgur.com/PCyMWCQ.jpg'
6577 },
6578 { -- 3
6579 ["label"] = 'Rise',
6580 ["diffuse"] = 'http://i.imgur.com/riSmzZl.jpg'
6581 },
6582 { -- 4
6583 ["label"] = 'Pajama Party 1',
6584 ["diffuse"] = 'http://i.imgur.com/MQp58p5.jpg'
6585 },
6586 { -- 5
6587 ["label"] = 'Pajama Party 2',
6588 ["diffuse"] = 'http://i.imgur.com/chHWsfG.jpg'
6589 },
6590 { -- 6
6591 ["label"] = 'Gorakubu 1',
6592 ["diffuse"] = 'http://i.imgur.com/3Hhw09L.jpg'
6593 },
6594 { -- 7
6595 ["label"] = 'Gorakubu 2',
6596 ["diffuse"] = 'http://i.imgur.com/cgQz7pf.jpg'
6597 },
6598 { -- 8
6599 ["label"] = 'Gorakubu 3',
6600 ["diffuse"] = 'http://i.imgur.com/ZG2iorU.jpg'
6601 },
6602 { -- 9
6603 ["label"] = 'Gorakubu Idols',
6604 ["diffuse"] = 'http://i.imgur.com/EX8t7ke.jpg'
6605 },
6606 { -- 10
6607 ["label"] = 'Gorakubu Swimming',
6608 ["diffuse"] = 'http://i.imgur.com/XzItDAk.jpg'
6609 }
6610 },
6611 { -- subthemeindex 9
6612 ["label"] = 'Yuru Yuri 3',
6613 { -- 1
6614 ["label"] = 'Gorakubu Picnic',
6615 ["diffuse"] = 'http://i.imgur.com/4Z5PpXX.jpg'
6616 },
6617 { -- 2
6618 ["label"] = 'Gorakubu Halloween',
6619 ["diffuse"] = 'http://i.imgur.com/xs6D7cm.jpg'
6620 },
6621 { -- 3
6622 ["label"] = 'Seitokai',
6623 ["diffuse"] = 'http://i.imgur.com/9FhXJdz.jpg'
6624 },
6625 { -- 4
6626 ["label"] = 'First Years',
6627 ["diffuse"] = 'http://i.imgur.com/aLyyGqd.jpg'
6628 },
6629 { -- 5
6630 ["label"] = 'Second Years',
6631 ["diffuse"] = 'http://i.imgur.com/8YYChdB.jpg'
6632 },
6633 { -- 6
6634 ["label"] = 'SakuHima 1',
6635 ["diffuse"] = 'http://i.imgur.com/IvpYMVF.jpg'
6636 },
6637 { -- 7
6638 ["label"] = 'SakuHima Bunnies',
6639 ["diffuse"] = 'http://i.imgur.com/Uxige1K.jpg'
6640 },
6641 { -- 8
6642 ["label"] = 'SakuHima Christmas',
6643 ["diffuse"] = 'http://i.imgur.com/kJugXPJ.jpg'
6644 },
6645 { -- 9
6646 ["label"] = 'Chinatsu x Kyouko',
6647 ["diffuse"] = 'http://i.imgur.com/0QfKfUq.jpg'
6648 },
6649 { -- 10
6650 ["label"] = 'Kyouko x Ayano',
6651 ["diffuse"] = 'http://i.imgur.com/OXkcHV6.jpg'
6652 }
6653 },
6654 { --subthemeindex 10
6655 ["label"] = 'Misc/Crossover',
6656 { -- 1
6657 ["label"] = 'They see your short stack',
6658 ["diffuse"] = 'http://i.imgur.com/64Eorc2.jpg'
6659 },
6660 { -- 2
6661 ["label"] = 'Loli space parade',
6662 ["diffuse"] = 'http://i.imgur.com/tOzcNeE.jpg'
6663 },
6664 { -- 3
6665 ["label"] = 'GochiUsa x KinMoza',
6666 ["diffuse"] = 'http://i.imgur.com/LsqaE1C.jpg'
6667 }
6668 }
6669 },
6670 { -- themeindex 2
6671 ["label"] = 'Games',
6672 { -- subthemeindex 1
6673 ["label"] = 'Portal',
6674 { -- 1
6675 ["label"] = 'Aperture Labs',
6676 ["diffuse"] = 'http://i.imgur.com/EBM4HqE.jpg'
6677 },
6678 { -- 2
6679 ["label"] = 'Falling into portal',
6680 ["diffuse"] = 'http://i.imgur.com/V07Jfam.jpg'
6681 }
6682 }
6683 },
6684 { -- themeindex 3
6685 ["label"] = 'Other',
6686 { -- subthemeindex 1
6687 ["label"] = 'Music',
6688 {
6689 ["label"] = 'Sheet Music',
6690 ["diffuse"] = 'http://i.imgur.com/WsiBbTY.jpg'
6691 },
6692 {
6693 ["label"] = 'Violin',
6694 ["diffuse"] = 'http://i.imgur.com/NTkgsv5.jpg'
6695 }
6696 },
6697 { -- subthemeindex 2
6698 ["label"] = 'Nature',
6699 {
6700 ["label"] = 'Milky Way Sky',
6701 ["diffuse"] = 'http://i.imgur.com/j8ZofIk.jpg'
6702 },
6703 {
6704 ["label"] = 'Andromeda Galaxy',
6705 ["diffuse"] = 'http://i.imgur.com/DiOrDTl.jpg'
6706 },
6707 {
6708 ["label"] = 'Ocean Water',
6709 ["diffuse"] = 'http://i.imgur.com/mqQhZDb.jpg'
6710 },
6711 {
6712 ["label"] = 'Coral Reef',
6713 ["diffuse"] = 'http://i.imgur.com/6uWY2PN.jpg'
6714 }
6715 },
6716 { -- subthemeindex 3
6717 ["label"] = 'Poker',
6718 {
6719 ["label"] = 'Plain Felt',
6720 ["diffuse"] = 'http://i.imgur.com/jPnTE9e.png'
6721 },
6722 {
6723 ["label"] = 'Suits Pattern',
6724 ["diffuse"] = 'http://i.imgur.com/tzJiYRn.png'
6725 },
6726 {
6727 ["label"] = 'Poker felt 1',
6728 ["diffuse"] = 'http://www.nationwidegaming.com/images/lh1.jpg'
6729 },
6730 {
6731 ["label"] = 'MGM Grant',
6732 ["diffuse"] = 'http://i.imgur.com/phQrMs9.jpg'
6733 }
6734
6735 }
6736 }
6737}
6738
6739--[[ onLoad function --]]
6740
6741function onload(save_state)
6742 local saveddata = JSON.decode(save_state)
6743
6744 --[[ Get object references --]]
6745 boardzone = getObjectFromGUID(boardzoneGUID)
6746 newdeckbutton = getObjectFromGUID(newdeckbuttonGUID)
6747 newsavebagbutton = getObjectFromGUID(newsavebagbuttonGUID)
6748 dealbutton = getObjectFromGUID(dealbuttonGUID)
6749 resetbutton = getObjectFromGUID(resetbuttonGUID)
6750 sidepotbutton = getObjectFromGUID(sidepotbuttonGUID)
6751 muckzone = getObjectFromGUID(muckzoneGUID)
6752 collectbutton = getObjectFromGUID(collectbuttonGUID)
6753
6754 for i, v in ipairs (colors) do
6755 local playerhand = getPlayerHandPositionAndRotation(v)
6756
6757 betzones[v] = getObjectFromGUID(betzoneGUIDs[i])
6758 tablezones[v] = getObjectFromGUID(tablezoneGUIDs[i])
6759 backtablezones[v] = getObjectFromGUID(backtablezoneGUIDs[i])
6760 bettext[v] = getObjectFromGUID(bettextGUIDs[i])
6761 end
6762 potzones[1] = getObjectFromGUID(mainpotzoneGUID)
6763 for i, v in ipairs (sidepotzoneGUIDs) do
6764 potzones[#potzones+1] = getObjectFromGUID(v)
6765 end
6766 actionbutton = getObjectFromGUID(actionbuttonGUID)
6767 optionsbutton = getObjectFromGUID(optionsbuttonGUID)
6768 sidepotbutton = getObjectFromGUID(sidepotbuttonGUID)
6769 if saveddata == nil then
6770 --[[ Initialize texts --]]
6771 hideActionText()
6772 pottext.setPosition ({0, 1.33, 0})
6773 pottext.setRotation ({90, 180, 0})
6774 currentbettext.setPosition ({0, 1.33, 1})
6775 currentbettext.setRotation({90, 180, 0})
6776 mainpotchips = initializePot()
6777 else
6778 if saveddata.options ~= nil then options = saveddata.options end
6779
6780 if saveddata.holedealt ~= nil then holedealt = saveddata.holedealt end
6781 if saveddata.dealing ~= nil then dealing = saveddata.dealing end
6782 if saveddata.players ~= nil then players = saveddata.players end
6783 if saveddata.actionon ~= nil then actionon = saveddata.actionon end
6784 if saveddata.playerbets ~= nil then playerbets = saveddata.playerbets end
6785 if saveddata.currentbet ~= nil then currentbet = saveddata.currentbet end
6786 if saveddata.mainpotchips ~= nil then mainpotchips = saveddata.mainpotchips end
6787 if saveddata.pot ~= nil then pot = saveddata.pot end
6788 if saveddata.collecting ~= nil then collecting = saveddata.collecting end
6789 if saveddata.collectmethod ~= nil then collectmethod = saveddata.collectmethod end
6790 if saveddata.convertstackheight ~= nil then convertstackheight = saveddata.convertstackheight end
6791 if saveddata.hybridthreshold ~= nil then hybridthreshold = saveddata.hybridthreshold end
6792 if saveddata.handinprogress ~= nil then handinprogress = saveddata.handinprogress end
6793
6794 if saveddata.savebagGUID ~= nil then savebagGUID = saveddata.savebagGUID end
6795 if saveddata.deckGUID ~= nil then deckGUID = saveddata.deckGUID end
6796 if saveddata.muckGUID ~= nil then muckGUID = saveddata.muckGUID end
6797 if saveddata.potobjectGUID ~= nil then potobjectGUID = saveddata.potobjectGUID end
6798 if saveddata.boardobjectGUID ~= nil then boardobjectGUID = saveddata.boardobjectGUID end
6799 if saveddata.overlayGUID ~= nil then overlayGUID = saveddata.overlayGUID end
6800 if saveddata.pottextGUID ~= nil then pottextGUID = saveddata.pottextGUID end
6801 if saveddata.currentbettextGUID ~= nil then currentbettextGUID = saveddata.currentbettextGUID end
6802 if saveddata.actiontextGUID ~= nil then actiontextGUID = saveddata.actiontextGUID end
6803 if saveddata.revealedcards ~= nil then revealedcards = saveddata.revealedcards end
6804 if saveddata.holecards ~= nil then holecards = saveddata.holecards end
6805 if saveddata.handsshown ~= nil then handsshown = saveddata.handsshown end
6806
6807 if saveddata.bettext ~= nil then
6808 bettext = JSON.decode(saveddata.bettext)
6809 if saveddata.bettext ~= nil then
6810 for i, v in ipairs(colors) do
6811 bettext[v] = getObjectFromGUID(bettext[v])
6812 end
6813 end
6814 end
6815 if saveddata.sidepottext ~= nil then
6816 sidepottext = JSON.decode(saveddata.sidepottext)
6817 for i, v in ipairs(colors) do
6818 sidepottext[v] = getObjectFromGUID(sidepottext[v])
6819 end
6820 end
6821 if saveddata.tablezonetext ~= nil then
6822 tablezonetext = JSON.decode(saveddata.tablezonetext)
6823 for i, v in ipairs(colors) do
6824 tablezonetext[v] = getObjectFromGUID(tablezonetext[v])
6825 end
6826 end
6827
6828 end
6829
6830 deck = getObjectFromGUID(deckGUID)
6831 muck = getObjectFromGUID(muckGUID)
6832 boardobject = getObjectFromGUID(boardobjectGUID)
6833 potobject = getObjectFromGUID(potobjectGUID)
6834 pottext = getObjectFromGUID(pottextGUID)
6835 currentbettext = getObjectFromGUID(currentbettextGUID)
6836 actiontext = getObjectFromGUID(actiontextGUID)
6837 savebag = getObjectFromGUID(savebagGUID)
6838 if options.displayplayerbet == nil then
6839 options.displayplayerbet = true
6840 end
6841 if options.displayplayermoney == nil then
6842 options.displayplayermoney = true
6843 end
6844 if options.playerbuttons == nil then
6845 options["playerbuttons"] =
6846 {
6847 ["sortchips"] = true,
6848 ["convert"] = true,
6849 ["allin"] = true,
6850 ["afk"] = true,
6851 ["loadsavebag"] = false
6852 }
6853 end
6854 if options.playerbuttons == nil then
6855 options.playerbuttons = {}
6856 end
6857 if options.playerbuttons.sortchips == nil then
6858 options.playerbuttons.sortchips = true
6859 end
6860 if options.playerbuttons.convert == nil then
6861 options.playerbuttons.convert = true
6862 end
6863 if options.playerbuttons.allin == nil then
6864 options.playerbuttons.allin = true
6865 end
6866 if options.playerbuttons.afk == nil then
6867 options.playerbuttons.afk = true
6868 end
6869 if options.playerbuttons.loadsavebag == nil then
6870 options.playerbuttons.loadsavebag = false
6871 end
6872
6873 if options.autoclocktime == nil then
6874 options.autoclocktime = 5
6875 options.autoclock = false
6876 options.autofold = false
6877 options.clockpausebutton = true
6878 end
6879 if options.convertstackheight == nil then
6880 options.convertstackheight = 0
6881 end
6882 if options.currencies == nil or options.stacklayout == nil then
6883 options.currencies = "default"
6884 options.stacklayout = "default"
6885 currencies = currenciesSelection[options.currencies]
6886 else
6887 currencies = currenciesSelection[options.currencies]
6888
6889 if currencies == nil then
6890 options.currencies = "default"
6891 options.stacklayout = "default"
6892 currencies = currenciesSelection[options.currencies]
6893 end
6894 end
6895
6896
6897
6898 --[[ Create buttons --]]
6899 local button = {}
6900
6901 --[[ use this button to assign a new deck --]]
6902 button.label = 'New\nDeck'
6903 button.click_function = "newDeck"
6904 button.function_owner = nil
6905 button.position = {0, 0.08, 0}
6906 button.rotation = {0,180,0}
6907 button.width = 525
6908 button.height = 525
6909 button.font_size = 150
6910 newdeckbutton.createButton(button)
6911
6912 --[[ This button deals cards for each stage of the hand --]]
6913 button.label = 'Deal'
6914 button.click_function = "deal"
6915 button.font_size = 150
6916 dealbutton.createButton(button)
6917
6918
6919 --[[ Resets deck and variables --]]
6920 button.label = 'Reset'
6921 button.click_function = "resetGame"
6922 button.rotation = {0, 0, 0}
6923 resetbutton.createButton(button)
6924
6925 --[[ Move bets to pot --]]
6926 button.label = 'Collect\nBets'
6927 button.click_function = "collectBets"
6928 button.font_size = 150
6929 collectbutton.createButton(button)
6930
6931 --[[ Move action text --]]
6932 button.label = 'Done'
6933 button.font_size = 150
6934 button.click_function = "action"
6935 actionbutton.createButton(button)
6936
6937 --[[ Open options menu --]]
6938 button.label = 'Options'
6939 button.font_size = 150
6940 button.click_function = "spawnOptionsPanel"
6941 optionsbutton.createButton(button)
6942
6943 --[[ Create Side Pots --]]
6944 button.label= 'Create\nSidepot'
6945 button.font_size = 150
6946 button.click_function = "createSidepot"
6947 sidepotbutton.createButton(button)
6948
6949
6950 --[[ assign new savebag --]]
6951 button.label= 'New\nSavebag'
6952 button.font_size = 150
6953 button.click_function = "newSavebag"
6954 newsavebagbutton.createButton(button)
6955
6956 createPlayerButtons()
6957
6958
6959 for i, v in ipairs(getAllObjects()) do
6960 if v.getName() == 'Pot Splitter' then
6961 button.rotation = {0,0,0}
6962 button.width = 45
6963 button.height = 45
6964 button.font_size = 42
6965 potsplitter[#potsplitter + 1] = v
6966 p = v.getPosition()
6967 button.position = {-0.40, 0.3, -0.95}
6968 i = 2
6969 while i < 11 do
6970 button.click_function = "splitPot" .. i
6971 button.label = tostring(i)
6972 button.position[1] = button.position[1] + 0.08
6973 v.createButton(button)
6974 i = i + 1
6975 end
6976 end
6977
6978 if v.getName() == 'Back Table' and options.changemachine then
6979 local offsetx = 2/#currencies
6980 local button = {}
6981 v.clearButtons()
6982 local offsetx = 2/#currencies
6983 local button = {}
6984
6985 if #currencies <= 10 then
6986 offsetx = 1.65/(#currencies-2)
6987 else
6988 offsetx = 1.65/8
6989 end
6990 local offsety = 2/#currencies
6991 button.font_size = 150
6992 button.width = 450
6993 button.height = 250
6994 button.scale = {1/5, 1/5, 1/7.5}
6995 button.position = {0.83, -0.1, -0.9}
6996 button.rotation = {180, 0, 0}
6997
6998 for j, w in ipairs(currencies) do
6999 if w.value ~= -1 then
7000 button.label = w.label
7001 button.click_function = 'changeMachineButton' .. j
7002 v.createButton(button)
7003 button.position[1] = button.position[1] - offsetx
7004 end
7005 if j == 9 then
7006 if #currencies - 11 > 0 then
7007 offsetx = 1.65/(#currencies-11)
7008 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
7009 else
7010 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
7011 end
7012 end
7013 end
7014 end
7015 end
7016 --[[ Make non-interactable parts to non-interactable --]]
7017 local custom = {}
7018
7019
7020
7021 for i, v in ipairs (getAllObjects()) do
7022 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
7023 v.interactable = false
7024 elseif v.getName() == 'Table Overlay' then
7025 overlay = v
7026 v.interactable = false
7027 end
7028 end
7029
7030 muck.setColorTint(pottext.TextTool.getFontColor())
7031 boardobject.setColorTint(pottext.TextTool.getFontColor())
7032
7033 --[[ Copy scripts from objects. These are used when objects are respawned with 'Reset Objects' button on the options menu --]]
7034 scripts[1] = muck.getLuaScript()
7035 scripts[2] = boardobject.getLuaScript()
7036 scripts[3] = potobject.getLuaScript()
7037 scripts[4] = actiontext.getLuaScript()
7038
7039
7040end
7041
7042function onSave()
7043 --print ('saved')
7044 local savebettext = {}
7045 local savesidepottext = {}
7046 local savetablezonetext = {}
7047 for i,v in pairs (colors) do
7048 savebettext[v] = bettext[v].getGUID()
7049 savesidepottext[v] = sidepottext[v].getGUID()
7050 savetablezonetext[v] = tablezonetext[v].getGUID()
7051 end
7052
7053 if savebag ~= nil then
7054 savebagGUID = savebag.getGUID()
7055 end
7056
7057 local tosave = {
7058 options = options,
7059
7060 holedealt = holedealt,
7061 dealing = false,
7062 players = players,
7063 actionon = actionon,
7064 playerbets = playerbets,
7065 currentbet = currentbet,
7066 mainpotchips = mainpotchips,
7067 pot = pot,
7068 collecting = false,
7069 handinprogress = handinprogress,
7070
7071 deckGUID = deck.getGUID(),
7072 muckGUID = muck.getGUID(),
7073 potobjectGUID = potobject.getGUID(),
7074 boardobjectGUID = boardobject.getGUID(),
7075 overlayGUID = overlay.getGUID(),
7076 pottextGUID = pottext.getGUID(),
7077 currentbettextGUID = currentbettext.getGUID(),
7078 actiontextGUID = actiontext.getGUID(),
7079 holecards = holecards,
7080 revealedcards = revealedcards,
7081 handsshown = handsshown,
7082 savebagGUID = savebagGUID,
7083 bettext = JSON.encode(savebettext),
7084 sidepottext = JSON.encode(savesidepottext),
7085 tablezonetext = JSON.encode(savetablezonetext)
7086
7087 }
7088 return JSON.encode(tosave)
7089
7090end
7091
7092function createPlayerButtons()
7093 --[[ Create sort Chips onPlayers --]]
7094
7095 button = {}
7096
7097 button.rotation = {0,180,180}
7098 button.width = 250
7099 button.height = 15
7100 button.font_size = 50
7101
7102 for i, v in ipairs(getAllObjects()) do
7103
7104 posy = 0.75
7105 if v.getName() == 'Front Table' then
7106 v.clearButtons()
7107
7108 if options.playerbuttons.sortchips then
7109 posy= posy-0.3
7110 button.font_size = 50
7111 button.height=25
7112 p = v.getPosition()
7113 button.label= 'SortChips'
7114 button.position = {0.75, -0.1, posy}
7115 button.click_function = 'sortPlayerChips'
7116 v.createButton(button)
7117 end
7118
7119 if options.playerbuttons.convert then
7120 posy= posy-0.3
7121 p = v.getPosition()
7122 button.label= 'Convert'
7123 button.position = {0.75, -0.1, posy}
7124 button.font_size = 50
7125 button.height=25
7126 button.click_function='quickConvertPlayerChips10_5'
7127 v.createButton(button)
7128 end
7129
7130
7131 if options.playerbuttons.allin then
7132 posy= posy-0.3
7133 p = v.getPosition()
7134 button.height = 15
7135 button.font_size = 50
7136 button.label= 'All In'
7137 button.position = {0.75, -0.1, posy}
7138 button.click_function = 'goAllIn'
7139 v.createButton(button)
7140 end
7141
7142 if options.playerbuttons.afk then
7143 posy= posy-0.3
7144 button.height = 15
7145 button.font_size = 50
7146 button.label= 'AFK'
7147 button.position = {0.75, -0.1, posy}
7148 button.click_function = 'goAFK'
7149 v.createButton(button)
7150 end
7151
7152 if options.playerbuttons.loadsavebag then
7153 posy= posy-0.3
7154 button.height = 15
7155 button.font_size = 50
7156 button.label= 'load save'
7157 button.position = {0.75, -0.1, posy}
7158 button.click_function = 'loadSaveBag'
7159 v.createButton(button)
7160 end
7161 end
7162 end
7163end
7164--[[ deal function: determines whether to deal players' hands, flop, turn, or river --]]
7165
7166function deal(ob, pl)
7167 if not Player[pl].admin then
7168 return 1
7169 end
7170
7171 sidepotcalculated = false;
7172
7173 if deck == nil or deck == null then
7174 for i, v in ipairs (getSeatedPlayers()) do
7175 if Player[v].admin then
7176 broadcastToColor('No deck assigned. Please assign a deck with the \'New Deck\' button.', v, {1, 0.3, 0.3})
7177 end
7178 end
7179 return 1
7180 end
7181
7182 if boardobject == nil or boardobject == null then
7183 print ('The board object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7184 --return 1
7185 checkAndRespawnObjects()
7186 end
7187
7188 if muck == nil or muck == null then
7189 print ('The muck object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7190 --return 1
7191 checkAndRespawnObjects()
7192 end
7193
7194 if pottext == nil or pottext == null then
7195 print ('The pot text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7196 --return 1
7197 checkAndRespawnObjects()
7198 end
7199
7200 if currentbettext == nil or currentbettext == null then
7201 print ('The current bet text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7202 --return 1
7203 checkAndRespawnObjects()
7204 end
7205
7206 if actiontext == nil or actiontext == null then
7207 print ('The action text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7208 --return 1
7209 checkAndRespawnObjects()
7210 end
7211
7212 for i, v in ipairs(colors) do
7213 if bettext[v] == nil or bettext[v] == null then
7214 print ('bettext of color ' .. v .. ' has been deleted')
7215 checkAndRespawnObjects()
7216 end
7217 if sidepottext[v] == nil or sidepottext[v] == null then
7218 print ('sidepottext of color ' .. v .. ' has been deleted')
7219 checkAndRespawnObjects()
7220 end
7221 if tablezonetext[v] == nil or tablezonetext[v] == null then
7222 print ('tablezonetext of color ' .. v .. ' has been deleted')
7223 checkAndRespawnObjects()
7224 end
7225
7226
7227
7228
7229 end
7230
7231 if not dealing then
7232 if not holedealt then
7233 hole(pl)
7234 else
7235 local cards = boardzone.getObjects()
7236 local x = 0
7237 for i, v in ipairs (cards) do
7238 if v.tag == "Card" then
7239 x = x+1
7240 end
7241 end
7242
7243 if x == 0 then
7244 flop ()
7245 elseif x == 3 then
7246 turn ()
7247 elseif x == 4 then
7248 river ()
7249 elseif x == 5 then
7250 broadcastToAll('Showtime!', {1, 1, 1})
7251 else
7252 broadcastToColor("[ff0000]Error:[ffffff] Invalid board", pl, {1, 1, 1})
7253 end
7254 end
7255 end
7256
7257end
7258
7259--[[ This function returns an ordered list of seated players who do not have an afk button or busted token.
7260 The first entry will be the player to the dealers left, and the dealer will be the last entry.
7261 If the dealer button is not found, returns nil. --]]
7262
7263function getOrderedListOfPlayers(pl)
7264
7265 local dealer = nil
7266 local afk = {} -- list of afk players
7267 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)
7268 local objects = {} -- list of objects found in the dealerzones
7269 local dealerafk = false
7270 local bustedbombs = {}
7271
7272 -- First, look for the dealer button. Also, make list of afk players.
7273 for i, v in ipairs (colors) do
7274 objects = betzones[v].getObjects()
7275 for j, w in ipairs (objects) do
7276 if w.getName() == "Dealer" then
7277 dealer = v
7278 elseif w.getName() == "suffering" or w.getName() == "Busted" then
7279 if not objectExistsInList (busted, v) then
7280 busted[#busted+1] = v
7281 bustedbombs[#bustedbombs+1] = w
7282 end
7283 elseif w.getName() == 'AFK' then
7284 afk[#afk+1] = v
7285 end
7286 end
7287 end
7288
7289 -- return nil if dealer button not found
7290 if not dealer then
7291 broadcastToColor ('[ff0000]Error: [ffffff]Dealer button not found.', pl, {1, 1, 1})
7292 return nil
7293 end
7294
7295 for i, v in ipairs(bustedbombs) do
7296 v.destruct()
7297 end
7298
7299 local seatedplayers = getSeatedPlayers() -- list of seated players, in some random order
7300
7301 -- make sure dealer button is in front of a seated player
7302 for i, v in ipairs (seatedplayers) do
7303 if v == dealer then
7304 --print ('Dealer: '..dealer)
7305 break
7306 end
7307
7308 if i == #seatedplayers then
7309 broadcastToColor('[ff0000]Error:[ffffff] Dealer button not in front of a seated player.', pl, {1, 1, 1})
7310 return nil
7311 end
7312 end
7313
7314
7315 local playersx = {}
7316
7317 --sort the seatedplayers into playersx list
7318 for i, v in ipairs (colors) do
7319 for j, w in ipairs (seatedplayers) do
7320 if v == w then
7321 playersx[#playersx + 1] = w
7322 break
7323 end
7324 end
7325 end
7326
7327
7328 --rotate the list so the dealer is the last entry
7329 while playersx[#playersx] != dealer do
7330 playersx[#playersx+1] = playersx[1] -- copy first entry to end of table
7331 table.remove(playersx, 1) -- then remove first entry
7332 end
7333
7334 -- remove busted players from the table
7335 for i, v in ipairs (busted) do
7336 for j, w in ipairs (playersx) do
7337 if w == v then
7338 table.remove(playersx, j)
7339 end
7340 end
7341 end
7342
7343 -- lastly, remove afk players from the table
7344
7345 local actionoffset = 0
7346
7347 for i, v in ipairs(afk) do
7348 for j, w in ipairs (playersx) do
7349 if w == v then
7350 if actionoffset == 0 and j <= 2 then
7351 actionoffset = actionoffset + 1
7352 elseif actionoffset == 1 and j == 1 then
7353 actionoffset = actionoffset + 1
7354 end
7355 --print ('Removing afk player: '..playersx[j])
7356 table.remove(playersx, j)
7357 if w == dealer then
7358 dealerafk = true
7359 end
7360 break
7361 end
7362 end
7363 end
7364
7365 for i, v in ipairs (playersx) do
7366 playerbets[i] = 0
7367 end
7368
7369 if options.blindsskipafk then
7370 actionoffset = 0
7371 end
7372
7373 if actionoffset < 2 then
7374 actionon = playersx[2-actionoffset]
7375 else
7376 actionon = playersx[#playersx]
7377 end
7378
7379 -- set action on the dealer in a heads-up match
7380 if #playersx == 2 and not dealerafk then
7381 actionon = playersx[1]
7382 end
7383
7384 --return the final table
7385 return playersx
7386
7387end
7388
7389
7390--[[ deal hole --]]
7391
7392function hole (pl)
7393
7394 players = getOrderedListOfPlayers(pl)
7395
7396 if not players then
7397 return 1 -- abort if dealer button is not in front of a seat
7398 else
7399 dealing = true
7400 handinprogress = true
7401 hideActionText()
7402 calculatePots()
7403 startLuaCoroutine(nil, 'holeCoroutine')
7404 end
7405
7406end
7407
7408function holeCoroutine()
7409
7410 local deckpos = deck.getPosition()
7411 local cards = 0
7412
7413 if options.gamemode == 'fivestud' or onecard then
7414 cards = 1
7415 elseif options.gamemode == 'texas' or options.gamemode == 'sevenstud' then
7416 cards = 2
7417 elseif options.gamemode == 'pineapple' then
7418 cards = 3
7419 elseif options.gamemode == 'omaha' then
7420 cards = 4
7421 elseif options.gamemode == 'fivedraw' then
7422 cards = 5
7423 end
7424
7425 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
7426 for i = 1, cards do
7427 for i, v in ipairs (players) do
7428 local t = os.clock()
7429 deck.dealToColor(1, players[i])
7430 while os.clock() < (t + options.dealdelay1) do
7431 coroutine.yield(0)
7432 end
7433 end
7434 end
7435
7436 deck.setPosition(deckpos)
7437
7438 if onecard then
7439 onecard = false
7440 dealing = false
7441 if not handinprogress then
7442 players = {}
7443 end
7444 return 1
7445 end
7446
7447--[[ This loop exists to delay the call of the function action()
7448 I was having problems with a player (the dealer) being folded due to the cards not reaching the hand
7449 before the function was called. --]]
7450 t = os.clock()
7451 while os.clock() < (t + 1) do
7452 coroutine.yield(0)
7453 end
7454
7455 holedealt = true
7456 dealing = false
7457
7458 action()
7459
7460 for i, v in ipairs (players) do
7461 local cards = Player[v].getHandObjects()
7462 for j, w in ipairs (cards) do
7463 if w.tag == 'Card' then
7464 w.setColorTint({1, 1, cardtint})
7465 cardtint = cardtint - 0.01
7466 end
7467 end
7468 end
7469 getPlayersHoleCards()
7470
7471 return 1
7472
7473end
7474
7475
7476--[[ deal flop --]]
7477
7478function flop ()
7479
7480 dealing = true
7481 actionon = nil
7482 resetBets()
7483 hideActionText()
7484
7485 if options.chatoptions.stage then
7486 broadcastToAll('Flop', {0, 1, 1})
7487 end
7488
7489 startLuaCoroutine(nil, 'flopCoroutine')
7490
7491end
7492
7493function flopCoroutine ()
7494
7495 local muckpos = muck.getPosition()
7496 local muckrot = muck.getRotation()
7497
7498 muckpos.y = muckpos.y + 0.5
7499 muckrot.x = muckrot.x + 180
7500
7501 local params = {}
7502
7503 params.position = muckpos
7504 params.rotation = muckrot
7505 deck.takeObject(params)
7506
7507 for i = 1, 3 do
7508 local t = os.clock()
7509 while os.clock () < t + options.dealdelay2 do
7510 coroutine.yield(0)
7511 end
7512 params.position = getCardPosition(i)
7513 params.rotation = boardobject.getRotation()
7514 local card = deck.takeObject(params)
7515 card.setColorTint({1, 1, cardtint})
7516 cardtint = cardtint - 0.01
7517 end
7518
7519 t = os.clock()
7520 while os.clock() < (t + 1) do
7521 coroutine.yield(0)
7522 end
7523
7524 dealing = false
7525
7526 action()
7527
7528 return (1)
7529
7530end
7531
7532--[[ deal turn --]]
7533
7534function turn ()
7535
7536 dealing = true
7537 actionon = nil
7538 resetBets()
7539 calculatePots()
7540 hideActionText()
7541
7542 if options.chatoptions.stage then
7543 broadcastToAll('Turn', {0, 1, 1})
7544 end
7545
7546 startLuaCoroutine(nil, 'turnCoroutine')
7547
7548end
7549
7550function turnCoroutine ()
7551
7552 local muckpos = muck.getPosition()
7553 local muckrot = muck.getRotation()
7554
7555 muckpos.y = muckpos.y + 0.5
7556 muckrot.x = muckrot.x + 180
7557
7558 local params = {}
7559
7560 params.position = muckpos
7561 params.rotation = muckrot
7562 deck.takeObject(params)
7563
7564 local t = os.clock()
7565 while os.clock() < (t + options.dealdelay2) do
7566 coroutine.yield(0)
7567 end
7568
7569 params.position = getCardPosition(4)
7570 params.rotation = boardobject.getRotation()
7571 local card = deck.takeObject(params)
7572 card.setColorTint({1, 1, cardtint})
7573 cardtint = cardtint - 0.01
7574
7575 t = os.clock()
7576 while os.clock() < (t + 1) do
7577 coroutine.yield(0)
7578 end
7579
7580 dealing = false
7581
7582 action()
7583
7584 return (1)
7585
7586end
7587
7588--[[ deal river --]]
7589
7590function river ()
7591
7592 dealing = true
7593 actionon = nil
7594 resetBets()
7595 calculatePots()
7596 hideActionText()
7597
7598 if options.chatoptions.stage then
7599 broadcastToAll('River', {0, 1, 1})
7600 end
7601
7602 startLuaCoroutine(nil, 'riverCoroutine')
7603
7604end
7605
7606function riverCoroutine ()
7607
7608 local muckpos = muck.getPosition()
7609 local muckrot = muck.getRotation()
7610
7611 muckpos.y = muckpos.y + 0.5
7612 muckrot.x = muckrot.x + 180
7613
7614 local params = {}
7615
7616 params.position = muckpos
7617 params.rotation = muckrot
7618 deck.takeObject(params)
7619
7620 local t = os.clock()
7621 while os.clock() < (t + options.dealdelay2) do
7622 coroutine.yield(0)
7623 end
7624
7625 params.position = getCardPosition(5)
7626 params.rotation = boardobject.getRotation()
7627 local card = deck.takeObject(params)
7628 card.setColorTint({1, 1, cardtint})
7629 cardtint = cardtint - 0.01
7630
7631 t = os.clock()
7632 while os.clock() < (t + 1) do
7633 coroutine.yield(0)
7634 end
7635
7636 dealing = false
7637
7638 action()
7639
7640 return (1)
7641
7642end
7643
7644--[[ returns the card position based on the position and rotation of the boardobject model--]]
7645
7646function getCardPosition(n)
7647 local p = boardobject.getPosition()
7648 local r = boardobject.getRotation()
7649 local s = boardobject.getScale()
7650 n = 3 - n
7651
7652 p.x = p.x - ((math.cos(math.rad(r.y))*2.75) * n) * s.x
7653 p.z = p.z + ((math.sin(math.rad(r.y))*2.75) * n) * s.z
7654 p.y = p.y + 0.5
7655
7656 return p
7657end
7658--[[ 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 --]]
7659function newDeck (ob, pl)
7660
7661 if not Player[pl].admin then
7662 return 1
7663 end
7664
7665 obj = betzones.White.getObjects()
7666 for i, v in ipairs (obj) do
7667 if v.tag == "Deck" then
7668 if v.getQuantity() <= 52 then
7669 deck = {}
7670 deck = getObjectFromGUID(v.getGUID())
7671 print ("New deck assigned.")
7672 return 1
7673 end
7674 end
7675 end
7676
7677 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
7678
7679
7680end
7681
7682
7683function newSavebag (ob, pl)
7684
7685 if not Player[pl].admin then
7686 return 1
7687 end
7688
7689 obj = betzones.White.getObjects()
7690 for i, v in ipairs (obj) do
7691 if v.tag == "Bag" then
7692 savebag = {}
7693 savebag = getObjectFromGUID(v.getGUID())
7694 print ("New savebag assigned.")
7695 return 1
7696 end
7697 end
7698
7699 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
7700
7701
7702end
7703
7704--[[ reset the deck and variables --]]
7705
7706function resetGame (ob, pl)
7707
7708 if not Player[pl].admin then
7709 return 1
7710 end
7711
7712 sidepotcalculated = false
7713
7714 if deck == nil or deck == null then
7715 broadcastToColor('No deck is currently assigned. Please assign a new deck and try again.', pl, {1, 0.3, 0.3})
7716 return 0
7717 end
7718 if pottext == nil or pottext == null then
7719 checkAndRespawnObjects()
7720 end
7721
7722 if currentbettext == nil or currentbettext == null then
7723 checkAndRespawnObjects()
7724 end
7725
7726 if actiontext == nil or actiontext == null then
7727 checkAndRespawnObjects()
7728 end
7729
7730 mainpotchips = initializePot()
7731 afk = {}
7732 dealing = true
7733 for i, v in ipairs (colors) do
7734 for j, w in ipairs (Player[v].getHandObjects()) do
7735 w.setRotation({180, 0, 0})
7736 w.setColorTint({1, 1, 1})
7737 end
7738 bettext[v].setValue(" ")
7739 sidepottext[v].setValue(" ")
7740 if options.displayplayermoney then
7741 local chips = {}
7742 money = getChipValues(tablezones[v],chips)
7743 tablezonetext[v].setValue("$" .. money)
7744 end
7745 end
7746
7747
7748 cardtint = 1
7749 holedealt = false
7750 handinprogress = false
7751 players = {}
7752 actionon = nil
7753 currentbet = 0
7754 pot = 0
7755 pottext.setValue('Pot: $'.. tostring(pot))
7756 currentbettext.setValue('Current bet: $'..tostring(currentbet))
7757 handsshown = {}
7758 playerbets = {}
7759 hideActionText()
7760 holecards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}}
7761 revealedcards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}}
7762 if clock ~= nil and clock ~= null then
7763 clock.destruct()
7764 end
7765
7766 -- destroy Sidepotmarke
7767 for i, v in ipairs(getAllObjects()) do
7768 if v.getName() == "Sidepotmarker" then
7769 v.destruct()
7770 end
7771 end
7772 startLuaCoroutine(nil, 'resetGameCoroutine')
7773
7774end
7775
7776function resetMuck(zone)
7777
7778 if not deck then
7779 return 1
7780 end
7781
7782 local obj = zone.getObjects()
7783 local deck_pos = deck.getPosition()
7784 local deck_rot = deck.getRotation()
7785
7786 deck_pos.y = deck_pos.y + 0.5
7787
7788 for i, v in ipairs (obj) do
7789 if v.tag == "Card" or v.tag == "Deck" then
7790 if v ~= deck then
7791 v.setColorTint({1, 1, 1})
7792 v.setPositionSmooth(deck_pos)
7793 v.setRotation(deck_rot)
7794 deck_pos.y = deck_pos.y + 0.1
7795 end
7796 end
7797 end
7798
7799 for i, v in ipairs(colors) do
7800 for j, w in ipairs (Player[v].getHandObjects()) do
7801 if w.tag == 'Card' then
7802 deck.putObject(w)
7803 end
7804 end
7805 end
7806 zone.destruct()
7807end
7808
7809function resetGameCoroutine()
7810
7811 local params = {}
7812 params.position = {0, 1, 0}
7813 params.rotation = {0, 0, 0}
7814 params.scale = {70, 1, 27}
7815 params.type = "ScriptingTrigger"
7816 params.callback = "resetMuck"
7817 params.params = {zone}
7818
7819 local zone = spawnObject(params)
7820
7821 local t = os.clock()
7822
7823
7824 --[[ Print an error and unassign deck if it doesn't have 52 cards after 3 seconds --]]
7825 while deck.getQuantity() < 52 do
7826 if os.clock() > (t + 3) then
7827 for i, v in ipairs (getSeatedPlayers()) do
7828 if Player[v].admin then
7829 broadcastToColor('Error: Deck missing cards. Unassigned current deck. Please assign new deck', v, {1, 0.3, 0.3})
7830 end
7831 end
7832 deck = nil
7833 dealing = false
7834 return 1
7835 end
7836 coroutine.yield(0)
7837 end
7838
7839 --[[ Print an error and unassign deck if it has more than 52 cards --]]
7840 if deck.getQuantity() > 52 then
7841 for i, v in ipairs (getSeatedPlayers()) do
7842 if Player[v].admin then
7843 broadcastToColor('Error: Too many cards in deck. Unassigned current deck. Please assign new deck.', v, {1, 0.3, 0.3})
7844 end
7845 end
7846
7847 deck = nil
7848 dealing = false
7849 return 1
7850 end
7851
7852 deck.shuffle()
7853
7854 t = os.clock()
7855 while os.clock() < (t + 1) do
7856 coroutine.yield(0)
7857 end
7858
7859 dealing = false
7860
7861 return (1)
7862
7863end
7864
7865--[[ move all chips in bet zones into the main pot --]]
7866
7867function collectBets(ob, pl)
7868
7869 --[[ Only host and promoted players can click this button --]]
7870 if not Player[pl].admin then
7871 return 1
7872 end
7873
7874 sidepotcalculated = false
7875 --[[ Make sure the potobject exists before running function --]]
7876 if potobject == nil or potobject == null then
7877 --print ('The pot object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7878 checkAndRespawnObjects()
7879 --return 1
7880 end
7881
7882 printstring = printstring..'collect'
7883
7884 if clock ~= nil and clock ~= null then
7885 clock.destruct()
7886 end
7887
7888 -- prevents button spamming
7889 if (os.time() - lastCollectTime) < 2 then
7890 printToColor("You cant collect bets multiple times within 2 seconds", pl, {1,1,0} )
7891 return 1
7892 else
7893 lastCollectTime = os.time()
7894 end
7895
7896 if options.collectmethod == 'move' then
7897 startLuaCoroutine(nil, 'moveBetsToPot')
7898 elseif options.collectmethod == 'convert' then
7899 startLuaCoroutine(nil, 'convertBetsToPot')
7900 elseif options.collectmethod == 'hybrid' then
7901 if pot <= options.hybridthreshold then
7902 startLuaCoroutine(nil, 'moveBetsToPot')
7903 else
7904 startLuaCoroutine(nil, 'convertBetsToPot')
7905 end
7906 end
7907end
7908
7909function moveBetsToPot()
7910
7911 local objects = {} -- table of all objects
7912 local stacks = {}
7913 local chips = {}
7914 local h = {}
7915 bets = getChipValues(potzones[1], chips)
7916 for i, v in pairs (betzones) do
7917 bets = bets + getChipValues(v, chips)
7918 end
7919
7920 for i, v in ipairs (chips) do
7921 v.setColorTint({1,1,1})
7922 end
7923
7924 moveChips(chips, potobject.getPosition(), potobject.getRotation())
7925 for i = 1, 5 do
7926 coroutine.yield(0)
7927 end
7928 calculatePots()
7929 return 1
7930end
7931
7932
7933function convertBetsToPot()
7934
7935 if convertfailcount > convertfailcountlimit then
7936 convertfailcount = 0
7937 startLuaCoroutine (nil, 'moveBetsToPot')
7938 return 1
7939 end
7940
7941 --[[ Get chip values in bet zones --]]
7942
7943 local objects = {}
7944 local chips1 = {}
7945 local positions1 = {}
7946 local rotations1 = {}
7947
7948 objects = {}
7949 objects = potzones[1].getObjects()
7950 for j, w in ipairs (objects) do
7951 if w.tag == 'Chip' then
7952 if w.getValue() or currencyToNumber(w.getName()) != nil then
7953 chips1[#chips1 + 1] = w
7954 end
7955 end
7956 end
7957
7958
7959 for i, v in pairs (betzones) do
7960 objects = {}
7961 objects = v.getObjects()
7962 for j, w in ipairs (objects) do
7963 if w.tag == 'Chip' then
7964 if w.getValue() or currencyToNumber(w.getName()) != nil then
7965 chips1[#chips1 + 1] = w
7966 end
7967 end
7968 end
7969 end
7970
7971 for i, v in ipairs (chips1) do
7972 positions1[#positions1 + 1] = v.getPosition()
7973 rotations1[#rotations1 + 1] = v.getRotation()
7974 end
7975
7976 for i = 1, 2 do
7977 coroutine.yield(0)
7978 end
7979
7980 objects = {}
7981 local chips2 = {}
7982 local positions2 = {}
7983 local rotations2 = {}
7984
7985 objects = {}
7986 objects = potzones[1].getObjects()
7987 for j, w in ipairs (objects) do
7988 if w.tag == 'Chip' then
7989 if w.getValue() or currencyToNumber(w.getName()) != nil then
7990 chips2[#chips2 + 1] = w
7991 end
7992 end
7993 end
7994
7995
7996 for i, v in pairs (betzones) do
7997 objects = {}
7998 objects = v.getObjects()
7999 for j, w in ipairs (objects) do
8000 if w.tag == 'Chip' then
8001 if w.getValue() or currencyToNumber(w.getName()) != nil then
8002 chips2[#chips2 + 1] = w
8003 end
8004 end
8005 end
8006 end
8007
8008 if #chips2 ~= #chips1 then
8009 convertfailcount = convertfailcount + 1
8010 startLuaCoroutine(nil, 'convertBetsToPot')
8011 return 1
8012 end
8013
8014 for i, v in ipairs (chips2) do
8015 positions2[#positions2 + 1] = v.getPosition()
8016 rotations2[#rotations2 + 1] = v.getRotation()
8017 end
8018
8019 --[[ Check chip positions --]]
8020 for i, v in ipairs(positions1) do
8021 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
8022 convertfailcount = convertfailcount + 1
8023 startLuaCoroutine(nil, 'convertBetsToPot')
8024 return 1
8025 end
8026 end
8027
8028 --[[ Check chip rotations --]]
8029 for i, v in pairs(rotations1) do
8030 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
8031 convertfailcount = convertfailcount + 1
8032 startLuaCoroutine(nil, 'convertBetsToPot')
8033 return 1
8034 end
8035 end
8036
8037 local chips = {}
8038 local bets = 0
8039
8040 for i, v in pairs (betzones) do
8041 bets = bets + getChipValues(v, chips)
8042 end
8043
8044 bets = bets + getChipValues(potzones[1], chips)
8045
8046 --[[ Spawn new chips in pot --]]
8047
8048
8049 --[[ Destroy old chips --]]
8050 for i, v in ipairs (chips) do
8051 v.destruct()
8052 end
8053
8054 --[[ Wait five frames to allow chips to spawn destruct themself --]]
8055 for i = 1, 10 do
8056 coroutine.yield(0)
8057 end
8058
8059
8060 spawnChips(bets, potobject.getPosition(), potobject.getRotation(), options.convertstackheight)
8061
8062
8063 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
8064 for i = 1, 5 do
8065 coroutine.yield(0)
8066 end
8067
8068 calculatePots()
8069
8070 convertfailcount = 0
8071
8072 return 1
8073end
8074
8075function objectExistsInList(list, object)
8076 if list != nil then
8077 for i, v in ipairs(list) do
8078 if v == object then
8079 return true
8080 end
8081 end
8082 return false
8083 end
8084 return false
8085end
8086
8087function action (ob, pl)
8088
8089 if pl then
8090 if not Player[pl].admin and pl ~= actionon then
8091 return 1
8092 end
8093 end
8094
8095 if sidepotcalculated then
8096 return 1
8097 end
8098
8099 if actiontext == nil or actiontext == null then
8100 checkAndRespawnObjects()
8101 --print ('The action text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
8102 --return 0
8103 end
8104
8105 calculatePots()
8106
8107 -- abort function if action toggled off
8108 if not options.actiontoggle then
8109 return 1
8110 end
8111
8112 --[[ Check action player's bet to make sure it's greater than or equal to current bet --]]
8113 if actionon and actionon == pl then
8114 if getChipValues(betzones[actionon], {}) < currentbet and getChipValues(tablezones[actionon], {}) > 0 and Player[actionon].getHandObjects()[1] then
8115 broadcastToColor('You must match or raise the current bet of $'..currentbet, actionon, {1, 1, 1})
8116 if not Player[pl].admin then
8117 return 1
8118 end
8119 end
8120 end
8121
8122 --[[ Destroy the clock if it exists --]]
8123
8124 if clock ~= nil and clock ~= null then
8125 clock.destruct()
8126 clock = null
8127 end
8128
8129 --[[ abort function and hide text if no players --]]
8130
8131 if #players == 0 then
8132 hideActionText()
8133 return 1
8134 end
8135
8136 local cb = currentbet
8137
8138 --[[ Remove player from list if they don't have cards --]]
8139
8140 if actionon then
8141 if not Player[actionon].getHandObjects()[1] then
8142 for i, v in ipairs (players) do
8143 if v == actionon then
8144 table.remove(players, i)
8145 if i > 1 then
8146 actionon = players[i-1]
8147 else
8148 actionon = players[#players]
8149 end
8150 break
8151 end
8152 end
8153 end
8154
8155 --[[ or if they have no money (all in) --]]
8156 if actionon then
8157 if getChipValues(tablezones[actionon], {}) == 0 then
8158 printstring = printstring..'allin'..actionon
8159 if getChipValues(betzones[actionon], {}) > cb then
8160 cb = getChipValues(betzones[actionon], {})
8161 end
8162 for i, v in ipairs (players) do
8163 if v == actionon then
8164 table.remove(players, i)
8165 if i > 1 then
8166 actionon = players[i-1]
8167 else
8168 actionon = players[#players]
8169 end
8170 break
8171 end
8172 end
8173 end
8174 if not actionon then
8175 hideActionText()
8176 return 1
8177 end
8178 end
8179 if #players == 0 then
8180 return 1
8181 end
8182 end
8183
8184 -- set actionon to next player
8185 if not actionon then
8186 actionon = players[1]
8187 else
8188 for i, v in ipairs (players) do
8189 if actionon == v then
8190 if players[i+1] then
8191 actionon = players[i+1]
8192 else
8193 actionon = players[1]
8194 end
8195 break
8196 end
8197 end
8198 end
8199
8200 -- check new player's hand for cards. remove from list if none and run function again.
8201
8202 if actionon then
8203 if not Player[actionon].getHandObjects()[1] then
8204 for i, v in ipairs (players) do
8205 if v == actionon then
8206 table.remove(players, i)
8207 if i > 1 then
8208 actionon = players[i-1]
8209 else
8210 actionon = players[#players]
8211 end
8212 action()
8213 return 1
8214 end
8215 end
8216 end
8217 end
8218
8219 --[[ Hide text and abort if there is one player and no bet to call --]]
8220
8221 if #players == 1 and getChipValues(betzones[actionon], {}) >= cb then
8222 hideActionText()
8223 return 1
8224 end
8225
8226 printstring = printstring..'action'
8227
8228 -- move actiontext to front of player
8229
8230 local playerhand = getPlayerHandPositionAndRotation(actionon)
8231 actiontext.setValue('Action') -- set action text to say "Action" in case it gets changed (sometimes it changes to "Type here" for some reason)
8232 actiontext.TextTool.setFontColor(fontcolors[actionon]) -- change color of "Action" to player's color
8233
8234 actiontext.setPosition({playerhand['pos_x'] + playerhand['trigger_forward_x'] * 10, 1.33, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 10})
8235 actiontext.setRotation({90, playerhand['rot_y'], 0})
8236
8237 -- move action button to player if playerclickaction is toggled
8238 if options.playerclickaction then
8239 actionbutton.setPosition({playerhand['pos_x'] + playerhand['trigger_forward_x'] * 12, 1.55, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 12})
8240 actionbutton.setRotation({0, playerhand['rot_y'] + 180, 0})
8241 end
8242
8243 -- spawn clock if autoclock
8244 if options.autoclock then
8245 spawnClock()
8246 end
8247end
8248
8249function actionToggle(ob, pl)
8250 if not Player[pl].admin then
8251 return 1
8252 end
8253
8254 if options.actiontoggle then
8255 options.actiontoggle = false
8256 hideActionText()
8257 print ('Action text toggled off. The button can still be used to update pot and current bet values.')
8258 else
8259 options.actiontoggle = true
8260 print ('Action text toggled on. It will reappear next time action is passed.')
8261 end
8262
8263 optionsHost()
8264end
8265
8266function hideActionText()
8267 actiontext.setPosition({0, -2, 0})
8268end
8269
8270function calculatePots()
8271 if pottext == nil or pottext == null then
8272 checkAndRespawnObjects()
8273 return 0
8274 end
8275 if sidepotcalculated then
8276 return 0
8277 end
8278 if currentbettext == nil or currentbettext == null then
8279 checkAndRespawnObjects()
8280 return 0
8281 end
8282 startLuaCoroutine(nil, 'calculatePotsCoroutine')
8283end
8284
8285function calculatePotsCoroutine ()
8286
8287 local p = potobject.getPosition()
8288 local r = potobject.getRotation()
8289
8290 p.y = p.y + 10
8291
8292 potzones[1].setPosition (p)
8293 potzones[1].setRotation (r)
8294 potzones[1].setScale({9.5, 20, 6})
8295
8296 for i = 1, 3 do
8297 coroutine.yield(0)
8298 end
8299
8300 local bets = 0
8301 local mainpot = 0
8302 local prevpot = pot
8303 local prevbet = currentbet
8304 currentbet = 0
8305 local chips = {}
8306 local better = ''
8307 for i, v in ipairs (colors) do
8308 playerbets[i] = getChipValues(betzones[v], chips)
8309
8310 if playerbets[i] > currentbet then
8311 currentbet = playerbets[i]
8312 better = v
8313 end
8314 if options.displayplayerbet then
8315 if playerbets[i] > 0 then
8316 bettext[v].setValue('$' .. tostring(playerbets[i]))
8317 else
8318 bettext[v].setValue(' ')
8319 end
8320 else
8321 bettext[v].setValue(' ')
8322 end
8323 sidepottext[v].setValue(" ")
8324 if options.displayplayermoney then
8325 money = getChipValues(tablezones[v],chips)
8326 tablezonetext[v].setValue("$" .. money)
8327 bets = bets + playerbets[i]
8328 end
8329 end
8330
8331 for i, v in ipairs (potzones) do
8332 mainpot = mainpot + getChipValues(v, chips)
8333 end
8334 --mainpot = getChipValues(potzones[1], chips)
8335
8336 pot = bets + mainpot
8337
8338 -- print the pot value in chat
8339 if pot > prevpot then
8340 printstring = printstring..'pot'
8341 end
8342
8343 -- print the current bet in chat
8344 if currentbet > prevbet then
8345
8346 if prevbet == 0 then
8347 printstring = printstring..'bet'..better
8348 else
8349 printstring = printstring..'raise'..better
8350 end
8351
8352 end
8353
8354 -- display pot value on 3dtexts
8355
8356 pottext.setValue('Pot: $'..tostring(pot))
8357 currentbettext.setValue('Current bet: $'..tostring(currentbet))
8358
8359 printMessages()
8360
8361 return 1
8362
8363end
8364
8365function getChipValues(zone, chips)
8366
8367 local objects = zone.getObjects()
8368 local x = 0
8369
8370 for j, w in ipairs (objects) do
8371 if w.tag == 'Chip' and not objectExistsInList(chips, w) then
8372 if w.getQuantity() < 0 then
8373 if w.getValue() then
8374 x = x + w.getValue()
8375 chips[#chips+1] = w
8376 elseif currencyToNumber(w.getName()) then
8377 x = x + currencyToNumber(w.getName())
8378 chips[#chips+1] = w
8379 end
8380 else
8381 if w.getValue() then
8382 x = x + (w.getValue() * w.getQuantity())
8383 chips[#chips+1] = w
8384 elseif currencyToNumber(w.getName()) then
8385 x = x + (currencyToNumber(w.getName()) * w.getQuantity())
8386 chips[#chips+1] = w
8387 end
8388 end
8389 end
8390 end
8391
8392 return x
8393
8394end
8395
8396function resetBets()
8397 playerbets = {}
8398 for i, v in ipairs (players) do
8399 playerbets[i] = 0
8400 end
8401 currentbet = 0
8402end
8403
8404--[[ Spawn panel with host options buttons --]]
8405function spawnOptionsPanel(ob, pl)
8406
8407 if not Player[pl].admin then
8408 return 1
8409 end
8410
8411 if optionspanel then
8412 destroyOptionsPanel()
8413 return 1
8414 end
8415
8416 local params = {}
8417 params.type = 'Custom_Model'
8418 params.callback = 'optionsMain'
8419 params.position = {-4.5, 4.45, -25}
8420 params.scale = {2, 1, 2}
8421 params.rotation = {0, 180, 0}
8422
8423 optionspanel = spawnObject(params)
8424
8425 local custom = {}
8426 custom.mesh = 'http://pastebin.com/raw/avCFwn0Y'
8427 custom.collider = 'http://pastebin.com/raw/avCFwn0Y'
8428 custom.specular_intensity = 0
8429 custom.type = 4
8430
8431 optionspanel.setCustomObject(custom)
8432
8433 optionspanel.lock()
8434 optionspanel.interactable = false
8435 optionspanel.setColorTint({0, 0, 0})
8436
8437 startLuaCoroutine(nil, 'addSelfDestruct')
8438
8439end
8440
8441--[[ Add buttons to panel --]]
8442
8443function optionsMain(ob, pl)
8444
8445 if pl then
8446 if not Player[pl].admin then
8447 return 1
8448 end
8449 end
8450
8451 optionspanel.clearButtons()
8452
8453 if colorball ~= nil and colorball ~= null then
8454 colorball.destruct()
8455 end
8456
8457 local button = {}
8458
8459 button.width = 150
8460 button.height = 150
8461 button.label = '☒'
8462 button.font_size = 125
8463 button.click_function = 'destroyOptionsPanel'
8464 button.position = {1.75, 0.05, -1.8}
8465 optionspanel.createButton(button)
8466
8467 button.width = 1000
8468 button.height = 200
8469 button.label = 'Host Settings'
8470 button.click_function = 'optionsHost'
8471 button.font_size = 150
8472 button.position = {0, 0.05, -1.5}
8473
8474 optionspanel.createButton(button)
8475
8476 button.width = 1000
8477 button.height = 200
8478 button.label = 'Chat Settings'
8479 button.click_function = 'optionsChat'
8480 button.font_size = 150
8481 button.position = {0, 0.05, -1}
8482 optionspanel.createButton(button)
8483
8484 button.width = 1000
8485 button.height = 200
8486 button.label = 'Themes'
8487 button.click_function = 'optionsThemes'
8488 button.font_size = 150
8489 button.position = {0, 0.05, -0.5}
8490 optionspanel.createButton(button)
8491
8492 button.width = 1000
8493 button.height = 200
8494 button.label = 'Currencies'
8495 button.click_function = 'optionsCurrencies'
8496 button.font_size = 150
8497 button.position = {0, 0.05, 0}
8498 optionspanel.createButton(button)
8499
8500
8501
8502 button.label = 'Deal one card'
8503 button.width = 800
8504 button.font_size = 100
8505 button.position = {-1, 0.05, 0.5}
8506 button.click_function = 'dealOneCard'
8507 optionspanel.createButton(button)
8508
8509 button.label = 'Clock'
8510 button.width = 800
8511 button.font_size = 150
8512 button.position = {1, 0.05, 0.5}
8513 button.click_function = 'spawnClock'
8514 optionspanel.createButton(button)
8515
8516 button.label = '«'
8517 button.width = 100
8518 button.height = 100
8519 button.font_size = 100
8520 button.click_function = 'decreaseClockTime5'
8521 button.position = {0.4, 0.05, 0.85}
8522 optionspanel.createButton(button)
8523
8524 button.label = '‹'
8525 button.click_function = 'decreaseClockTime1'
8526 button.position = {0.6, 0.05, 0.85}
8527 optionspanel.createButton(button)
8528
8529 button.label = tostring(options.clocktime)
8530 button.width = 300
8531 button.click_function = 'doNothing'
8532 button.position = {1, 0.05, 0.85}
8533 optionspanel.createButton(button)
8534
8535 button.label = '›'
8536 button.width = 100
8537 button.click_function = 'increaseClockTime1'
8538 button.position = {1.4, 0.05, 0.85}
8539 optionspanel.createButton(button)
8540
8541 button.label = '»'
8542 button.click_function = 'increaseClockTime5'
8543 button.position = {1.6, 0.05, 0.85}
8544 optionspanel.createButton(button)
8545
8546 button.label = 'Fold Player'
8547 button.width = 800
8548 button.height = 200
8549 button.font_size = 150
8550 button.position = {1, 0.05, 1.5}
8551 button.click_function = 'foldPlayer'
8552 optionspanel.createButton(button)
8553
8554 button.label = 'Set player Afk'
8555 button.width = 800
8556 button.font_size = 100
8557 button.position = {-1, 0.05, 1}
8558 button.click_function = 'setPlayerAfk'
8559 optionspanel.createButton(button)
8560
8561 button.label = 'Reset Objects'
8562 button.font_size = 100
8563 button.click_function = 'checkAndRespawnObjects'
8564 button.position = {-1.0, 0.05, 1.5}
8565 optionspanel.createButton(button)
8566
8567
8568
8569
8570
8571end
8572
8573function dealOneCard(ob, pl)
8574 if pl then
8575 if not Player[pl].admin and pl ~= actionon then
8576 return 1
8577 end
8578 end
8579
8580 if deck == nil or deck == null then
8581 for i, v in ipairs (getSeatedPlayers()) do
8582 if Player[v].admin then
8583 broadcastToColor('No deck assigned. Please assign a deck with the \'New Deck\' button.', v, {1, 0.3, 0.3})
8584 end
8585 end
8586 return 1
8587 end
8588
8589 if not dealing then
8590 if not handinprogress then
8591 players = getOrderedListOfPlayers()
8592 end
8593
8594 if not players then
8595 return 1
8596 end
8597
8598 onecard = true
8599 dealing = true
8600 startLuaCoroutine(nil, 'holeCoroutine')
8601 end
8602end
8603
8604--[[ 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. --]]
8605function addSelfDestruct()
8606 for i = 1, 5 do
8607 coroutine.yield(0)
8608 end
8609 if optionspanel ~= nil and optionspanel ~= null then
8610 optionspanel.setLuaScript('function onload() self.destruct() end')
8611 end
8612 return 1
8613end
8614
8615function optionsHost(ob, pl)
8616 if pl then
8617 if not Player[pl].admin then
8618 return 1
8619 end
8620 end
8621
8622 optionspanel.clearButtons()
8623
8624 local button = {}
8625 local s = ''
8626
8627 button.width = 150
8628 button.height = 150
8629 button.label = '☒'
8630 button.font_size = 125
8631 button.click_function = 'destroyOptionsPanel'
8632 button.position = {1.75, 0.05, -1.8}
8633 optionspanel.createButton(button)
8634
8635 button.width = 150
8636 button.height = 150
8637 button.label = '◄'
8638 button.font_size = 125
8639 button.click_function = 'optionsMain'
8640 button.position = {-1.75, 0.05, -1.8}
8641 optionspanel.createButton(button)
8642
8643 if options.actiontoggle then
8644 button.label = '☑ Action'
8645 else
8646 button.label = '□ Action'
8647 end
8648 button.font_size = 75
8649 button.width = 350
8650 button.height = 100
8651 button.click_function = 'actionToggle'
8652 button.position = {-1.5, 0.05, -1.5}
8653 optionspanel.createButton(button)
8654
8655 if options.actiontoggle then
8656 if options.playerclickaction then
8657 button.label = '+Players'
8658 else
8659 button.label = '+Host'
8660 end
8661 button.width = 350
8662 button.font_size = 75
8663 button.click_function = 'togglePlayerClickAction'
8664 button.position = {-1.5, 0.05, -1.25}
8665 optionspanel.createButton(button)
8666
8667 if options.autoclock then
8668 button.label = '☑ Autoclock'
8669 else
8670 button.label = '□ Autoclock'
8671 end
8672 button.position = {-1.35, 0.05, -1.0}
8673 button.width = 500
8674 button.click_function = 'toggleAutoclock'
8675 optionspanel.createButton(button)
8676
8677 if options.autoclock then
8678 button.label = '‹'
8679 button.width = 100
8680 button.click_function = 'decreaseAutoclockTime'
8681 button.position = {-1.7, 0.05, -0.75}
8682 optionspanel.createButton(button)
8683
8684 button.label = tostring(options.autoclocktime)
8685 button.width = 200
8686 button.position = {-1.35, 0.05, -0.75}
8687 button.click_function = 'doNothing'
8688 optionspanel.createButton(button)
8689
8690 button.label = '›'
8691 button.width = 100
8692 button.click_function = 'increaseAutoclockTime'
8693 button.position = {-1.0, 0.05, -0.75}
8694 optionspanel.createButton(button)
8695
8696 if options.clockpausebutton then
8697 button.label = '☑ Pause button'
8698 else
8699 button.label = '□ Pause button'
8700 end
8701 button.width = 600
8702 button.position = {-1.35, 0.05, -0.5}
8703 button.click_function = 'toggleAutoclockPauseButton'
8704 optionspanel.createButton(button)
8705 end
8706
8707 if options.autofold then
8708 button.label = '☑ Autofold'
8709 else
8710 button.label = '□ Autofold'
8711 end
8712 button.width = 500
8713 button.position = {-0.35, 0.05, -1.0}
8714 button.click_function = 'toggleAutofold'
8715 optionspanel.createButton(button)
8716 end
8717
8718 if options.collectmethod == 'move' then
8719 button.label = 'Collect method: Move'
8720 button.width = 800
8721 elseif options.collectmethod == 'convert' then
8722 button.label = 'Collect method: Convert'
8723 button.width = 850
8724 elseif options.collectmethod == 'hybrid' then
8725 button.label = 'Collect method: Hybrid:'
8726 button.width = 850
8727 else
8728 button.label = options.collectmethod
8729 button.width = 800
8730 end
8731 button.click_function = 'changeCollectMethod'
8732 button.position = {-1, 0.05, 0}
8733 optionspanel.createButton(button)
8734
8735 if options.collectmethod == 'hybrid' then
8736 button.label = '«'
8737 button.width = 100
8738 button.click_function = 'decreaseHybridThreshold1000'
8739 button.position = {0.0, 0.05, 0}
8740 optionspanel.createButton(button)
8741
8742 button.label = '‹'
8743 button.click_function = 'decreaseHybridThreshold100'
8744 button.position = {0.2, 0.05, 0}
8745 optionspanel.createButton(button)
8746
8747 button.label = '$'..tostring(options.hybridthreshold)
8748 button.width = 350
8749 button.click_function = 'doNothing'
8750 button.position = {0.65, 0.05, 0}
8751 optionspanel.createButton(button)
8752
8753 button.label = '›'
8754 button.width = 100
8755 button.click_function = 'increaseHybridThreshold100'
8756 button.position = {1.1, 0.05, 0}
8757 optionspanel.createButton(button)
8758
8759 button.label = '»'
8760 button.click_function = 'increaseHybridThreshold1000'
8761 button.position = {1.3, 0.05, 0}
8762 optionspanel.createButton(button)
8763 end
8764
8765 if options.collectmethod == 'convert' or options.collectmethod=='hybrid' then
8766
8767 button.label = 'Minimum Stack Height:'
8768 button.width = 850
8769 button.click_function = 'doNothing'
8770 button.position = {-1, 0.05, 0.25}
8771 optionspanel.createButton(button)
8772
8773 button.width = 100
8774 button.label = '‹'
8775 button.click_function = 'decreaseConvertStackHeight1'
8776 button.position = {0.2, 0.05, 0.25}
8777 optionspanel.createButton(button)
8778
8779 button.label = tostring(options.convertstackheight)
8780 button.width = 350
8781 button.click_function = 'doNothing'
8782 button.position = {0.65, 0.05, 0.25}
8783 optionspanel.createButton(button)
8784
8785 button.label = '›'
8786 button.width = 100
8787 button.click_function = 'increaseConvertStackHeight1'
8788 button.position = {1.1, 0.05, 0.25}
8789 optionspanel.createButton(button)
8790 end
8791
8792
8793 if options.blindsskipafk then
8794 button.label = '☑ Blinds Skip AFK'
8795 else
8796 button.label = '□ Blinds Skip AFK'
8797 end
8798 button.width = 650
8799 button.click_function = 'toggleBlindsSkipAFK'
8800 button.position = {-0.375, 0.05, -1.5}
8801 optionspanel.createButton(button)
8802
8803 if options.gamemode == 'omaha' then
8804 s = '►'
8805 else
8806 s = ''
8807 end
8808 button.label = s..'Omaha Hold\'em'
8809 button.width = 650
8810 button.click_function = 'setGameModeOmaha'
8811 button.position = {1.0, 0.05, -1.0}
8812 optionspanel.createButton(button)
8813
8814 if options.gamemode == 'pineapple' then
8815 s = '►'
8816 else
8817 s = ''
8818 end
8819 button.label = s..'Pineapple'
8820 button.width = 700
8821 button.click_function = 'setGameModePineapple'
8822 button.position = {1.0, 0.05, -1.25}
8823 optionspanel.createButton(button)
8824
8825 if options.gamemode == 'texas' then
8826 s = '►'
8827 else
8828 s = ''
8829 end
8830 button.label = s..'Texas Hold\'em'
8831 button.width = 600
8832 button.click_function = 'setGameModeTexas'
8833 button.position = {1.0, 0.05, -1.5}
8834 optionspanel.createButton(button)
8835
8836 if options.displayplayerbet then
8837 button.label = '☑ Display Player Bets'
8838 else
8839 button.label = '□ Display Player Bet'
8840 end
8841 button.width = 1000
8842 button.click_function = 'toggleDisplayPlayerBet'
8843 button.position = {-1, 0.05, 0.6}
8844 optionspanel.createButton(button)
8845
8846 if options.displayplayermoney then
8847 button.label = '☑ Display Player Money'
8848 else
8849 button.label = '□ Display Player Money'
8850 end
8851 button.width = 1000
8852 button.click_function = 'toggleDisplayPlayerMoney'
8853 button.position = {-1, 0.05, 0.8}
8854 optionspanel.createButton(button)
8855
8856 if options.changemachine then
8857 button.label = '☑ change Machine'
8858 else
8859 button.label = '□ change Machine'
8860 end
8861 button.width = 1000
8862 button.click_function = 'togglechangeMachine'
8863 button.position = {-1, 0.05, 1}
8864 optionspanel.createButton(button)
8865
8866
8867 if options.playerbuttons.sortchips then
8868 button.label = '☑ Display Sort Chips Button'
8869 else
8870 button.label = '□ Display Sort Chips Button'
8871 end
8872 button.width = 1000
8873 button.click_function = 'toggleDisplaySortChips'
8874 button.position = {1, 0.05, 0.6}
8875 optionspanel.createButton(button)
8876
8877
8878 if options.playerbuttons.convert then
8879 button.label = '☑ Display Convert Button'
8880 else
8881 button.label = '□ Display Convert Button'
8882 end
8883 button.width = 1000
8884 button.click_function = 'toggleDisplayConvert'
8885 button.position = {1, 0.05, 0.8}
8886 optionspanel.createButton(button)
8887
8888 if options.playerbuttons.allin then
8889 button.label = '☑ Display AllIn Button'
8890 else
8891 button.label = '□ Display AllIn Button'
8892 end
8893 button.width = 1000
8894 button.click_function = 'toggleDisplayAllIn'
8895 button.position = {1, 0.05, 1}
8896 optionspanel.createButton(button)
8897
8898 if options.playerbuttons.afk then
8899 button.label = '☑ Display AFK Button'
8900 else
8901 button.label = '□ Display AFK Button'
8902 end
8903 button.width = 1000
8904 button.click_function = 'toggleDisplayAFK'
8905 button.position = {1, 0.05, 1.2}
8906 optionspanel.createButton(button)
8907
8908
8909 if options.playerbuttons.loadsavebag then
8910 button.label = '☑ Display Load Save Button'
8911 else
8912 button.label = '□ Display Load Save Button'
8913 end
8914 button.width = 1000
8915 button.click_function = 'toggleLoadSaves'
8916 button.position = {1, 0.05, 1.4}
8917 optionspanel.createButton(button)
8918
8919end
8920
8921
8922
8923function optionsChat(ob, pl)
8924
8925 if pl then
8926 if not Player[pl].admin then
8927 return 1
8928 end
8929 end
8930
8931 optionspanel.clearButtons()
8932
8933 local button = {}
8934
8935 button.width = 150
8936 button.height = 150
8937 button.label = '☒'
8938 button.font_size = 125
8939 button.click_function = 'destroyOptionsPanel'
8940 button.position = {1.75, 0.05, -1.8}
8941 optionspanel.createButton(button)
8942
8943 button.width = 150
8944 button.height = 150
8945 button.label = '◄'
8946 button.font_size = 125
8947 button.click_function = 'optionsMain'
8948 button.position = {-1.75, 0.05, -1.8}
8949 optionspanel.createButton(button)
8950
8951 button.width = 650
8952 button.height = 150
8953 button.font_size = 75
8954 if options.chatoptions.actionmessage then
8955 button.label = '☑ Action message'
8956 else
8957 button.label = '□ Action message'
8958 end
8959 button.click_function = 'toggleActionMessage'
8960 button.position = {-1.0, 0.05, -1.5}
8961 optionspanel.createButton(button)
8962
8963 button.width = 700
8964 button.height = 150
8965 button.font_size = 75
8966 if options.chatoptions.actionbroadcast then
8967 button.label = '☑ Action broadcast'
8968 else
8969 button.label = '□ Action broadcast'
8970 end
8971 button.click_function = 'toggleActionBroadcast'
8972 button.position = {-1.0, 0.05, -1.25}
8973 optionspanel.createButton(button)
8974
8975 button.width = 600
8976 button.height = 150
8977 button.font_size = 75
8978 if options.chatoptions.currentbetmessage then
8979 button.label = '☑ Current bet'
8980 else
8981 button.label = '□ Current bet'
8982 end
8983 button.click_function = 'toggleCurrentBetMessage'
8984 button.position = {1.0, 0.05, -1.5}
8985 optionspanel.createButton(button)
8986
8987 button.width = 600
8988 button.height = 150
8989 button.font_size = 75
8990 if options.chatoptions.better then
8991 button.label = '☑ └Better/raiser'
8992 else
8993 button.label = '□ └Better/raiser'
8994 end
8995 button.click_function = 'toggleBetter'
8996 button.position = {1.0, 0.05, -1.25}
8997 if options.chatoptions.currentbetmessage then
8998 optionspanel.createButton(button)
8999 end
9000
9001 button.width = 700
9002 button.height = 150
9003 button.font_size = 75
9004 if options.chatoptions.allinbroadcast then
9005 button.label = '☑ All-in broadcast'
9006 else
9007 button.label = '□ All-in broadcast'
9008 end
9009 button.click_function = 'toggleAllinBroadcast'
9010 button.position = {1.0, 0.05, -1.0}
9011 optionspanel.createButton(button)
9012
9013 button.height = 150
9014 button.font_size = 75
9015 if options.chatoptions.potmessage == 0 then
9016 button.width = 700
9017 button.label = 'Pot message: Off'
9018 elseif options.chatoptions.potmessage == 1 then
9019 button.width = 1000
9020 button.label = 'Pot message: On collect only'
9021 elseif options.chatoptions.potmessage == 2 then
9022 button.width = 900
9023 button.label = 'Pot message: On change'
9024 end
9025 button.click_function = 'togglePotMessage'
9026 button.position = {1.0, 0.05, -0.75}
9027 optionspanel.createButton(button)
9028
9029 button.width = 850
9030 button.height = 150
9031 button.font_size = 75
9032 if options.chatoptions.stage then
9033 button.label = '☑ Game stage broadcast'
9034 else
9035 button.label = '□ Game stage broadcast'
9036 end
9037 button.click_function = 'toggleStageBroadcast'
9038 button.position = {-1.0, 0.05, -1.0}
9039 optionspanel.createButton(button)
9040
9041end
9042
9043function optionsThemes(ob, pl)
9044 if pl then
9045 if not Player[pl].admin then
9046 return 1
9047 end
9048 end
9049 optionspanel.clearButtons()
9050
9051 local button = {}
9052
9053 button.width = 150
9054 button.height = 150
9055 button.label = '☒'
9056 button.font_size = 125
9057 button.click_function = 'destroyOptionsPanel'
9058 button.position = {1.75, 0.05, -1.8}
9059 optionspanel.createButton(button)
9060
9061 button.width = 150
9062 button.height = 150
9063 button.label = '◄'
9064 button.font_size = 125
9065 button.click_function = 'optionsMain'
9066 button.position = {-1.75, 0.05, -1.8}
9067 optionspanel.createButton(button)
9068
9069 button.label = 'Set Font Color'
9070 button.width = 600
9071 button.font_size = 75
9072 button.click_function = 'changeFontColor'
9073 button.position = {-0.75, 0.05, -1.75}
9074 optionspanel.createButton(button)
9075
9076 button.label = 'Set Overlay Color'
9077 button.width = 600
9078 button.click_function = 'changeTableColor'
9079 button.position = {0.75, 0.05, -1.75}
9080 optionspanel.createButton(button)
9081
9082 button.label = 'Darken Overlay'
9083 button.width = 600
9084 button.click_function = 'darkenOverlay'
9085 button.position = {-0.75, 0.05, -1.5}
9086 optionspanel.createButton(button)
9087
9088 button.label = 'Lighten Overlay'
9089 button.width = 600
9090 button.click_function = 'lightenOverlay'
9091 button.position = {0.75, 0.05, -1.5}
9092 optionspanel.createButton(button)
9093
9094
9095
9096 --[[ spawn theme buttons --]]
9097 for i, v in ipairs (themes) do
9098 local s = ''
9099 if i == themeindex then
9100 s = '►'
9101 end
9102 button.width = (((string.len(themes[i].label) + string.len(s)) * 40) + 0 )
9103 button.height = 100
9104 button.font_size = 65
9105 button.label = themes[i].label..s
9106 button.click_function = 'setTheme'..tostring(i)
9107 button.position = {-1.75, 0.05, (-1 + ((i-1) * 0.25))}
9108 optionspanel.createButton(button)
9109 end
9110
9111 --[[ spawn subtheme buttons --]]
9112 for i, v in ipairs (themes[themeindex]) do
9113 local s = ''
9114 if i == subthemeindex then
9115 s = '►'
9116 end
9117 button.width = (((string.len(themes[themeindex][i].label) + string.len(s)) * 40) + 0)
9118 button.height = 100
9119 button.label = themes[themeindex][i].label..s
9120 button.click_function = 'setSubtheme'..tostring(i)
9121 button.position = {-0.75, 0.05, (-1 + ((i-1) * 0.25))}
9122 optionspanel.createButton(button)
9123 end
9124
9125 --[[ spawn diffuse buttons --]]
9126 for i, v in ipairs (themes[themeindex][subthemeindex]) do
9127 button.width = ((string.len(themes[themeindex][subthemeindex][i].label) * 35) + 0)
9128 button.height = 100
9129 button.label = themes[themeindex][subthemeindex][i].label
9130 button.click_function = 'overlay'..tostring(i)
9131 button.position = {1, 0.05, (-1 + ((i-1) * 0.25))}
9132 optionspanel.createButton(button)
9133 end
9134
9135 if colorball == nil or colorball == null then
9136 local params = {}
9137 local p = optionspanel.getPosition()
9138 params.position = {p.x, p.y, p.z + 3.5}
9139 params.type = 'go_game_piece_white'
9140 params.scale = {0.5, 0.5, 0.5}
9141
9142 colorball = spawnObject(params)
9143 local color = pottext.TextTool.getFontColor()
9144 colorball.lock()
9145 colorball.setColorTint(color)
9146 colorball.setDescription('Change my color tint, then click \'Font Color\' button to change color of text fonts.')
9147 end
9148
9149end
9150
9151function toggleDisplayConvert(ob,pl)
9152 if pl then
9153 if not Player[pl].admin then
9154 return 1
9155 end
9156 end
9157 options.playerbuttons.convert = not options.playerbuttons.convert
9158 createPlayerButtons()
9159 optionsHost()
9160end
9161
9162function toggleDisplaySortChips(ob,pl)
9163 if pl then
9164 if not Player[pl].admin then
9165 return 1
9166 end
9167 end
9168 options.playerbuttons.sortchips = not options.playerbuttons.sortchips
9169 createPlayerButtons()
9170 optionsHost()
9171end
9172
9173function toggleDisplayAllIn(ob,pl)
9174 if pl then
9175 if not Player[pl].admin then
9176 return 1
9177 end
9178 end
9179 options.playerbuttons.allin = not options.playerbuttons.allin
9180 createPlayerButtons()
9181 optionsHost()
9182end
9183
9184function toggleDisplayAFK(ob,pl)
9185 if pl then
9186 if not Player[pl].admin then
9187 return 1
9188 end
9189 end
9190 options.playerbuttons.afk = not options.playerbuttons.afk
9191 createPlayerButtons()
9192 optionsHost()
9193end
9194
9195function toggleDisplayPlayerBet(ob, pl)
9196 if pl then
9197 if not Player[pl].admin then
9198 return 1
9199 end
9200 end
9201 options.displayplayerbet = not options.displayplayerbet
9202 calculatePots()
9203 optionsHost()
9204end
9205
9206function toggleLoadSaves(ob, pl)
9207 if pl then
9208 if not Player[pl].admin then
9209 return 1
9210 end
9211 end
9212 options.playerbuttons.loadsavebag = not options.playerbuttons.loadsavebag
9213 createPlayerButtons()
9214 optionsHost()
9215end
9216
9217function togglechangeMachine(ob, pl)
9218 if pl then
9219 if not Player[pl].admin then
9220 return 1
9221 end
9222 end
9223 options.changemachine = not options.changemachine
9224
9225 for i, v in ipairs(getAllObjects()) do
9226 if v.getName() == 'Back Table' then
9227 v.clearButtons()
9228 if options.changemachine then
9229 local offsetx = 2/#currencies
9230 local button = {}
9231
9232 if #currencies <= 10 then
9233 offsetx = 1.65/(#currencies-2)
9234 else
9235 offsetx = 1.65/8
9236 end
9237 local offsety = 2/#currencies
9238 button.font_size = 150
9239 button.width = 450
9240 button.height = 250
9241 button.scale = {1/5, 1/5, 1/7.5}
9242 button.position = {0.83, -0.1, -0.9}
9243 button.rotation = {180, 0, 0}
9244
9245 for j, w in ipairs(currencies) do
9246 if w.value ~= -1 then
9247 button.label = w.label
9248 button.click_function = 'changeMachineButton' .. j
9249 v.createButton(button)
9250 button.position[1] = button.position[1] - offsetx
9251 end
9252 if j == 9 then
9253 if #currencies - 11 > 0 then
9254 offsetx = 1.65/(#currencies-11)
9255 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
9256 else
9257 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
9258 end
9259 end
9260 end
9261 end
9262 end
9263 end
9264
9265
9266 optionsHost()
9267end
9268
9269function toggleDisplayPlayerMoney(ob, pl)
9270 if pl then
9271 if not Player[pl].admin then
9272 return 1
9273 end
9274 end
9275 options.displayplayermoney = not options.displayplayermoney
9276
9277 if options.displayplayermoney then
9278 for i, v in ipairs (colors) do
9279 money = getChipValues(tablezones[v],chips)
9280 tablezonetext[v].setValue("$" .. money)
9281
9282 end
9283 else
9284 for i, v in ipairs (colors) do
9285 tablezonetext[v].setValue(" ")
9286 end
9287 end
9288 optionsHost()
9289end
9290
9291
9292
9293function optionsCurrencies(ob, pl)
9294 if pl then
9295 if not Player[pl].admin then
9296 return 1
9297 end
9298 end
9299 optionspanel.clearButtons()
9300
9301 local button = {}
9302
9303 button.width = 150
9304 button.height = 150
9305 button.label = '☒'
9306 button.font_size = 125
9307 button.click_function = 'destroyOptionsPanel'
9308 button.position = {1.75, 0.05, -1.8}
9309 optionspanel.createButton(button)
9310
9311 button.width = 150
9312 button.height = 150
9313 button.label = '◄'
9314 button.font_size = 125
9315 button.click_function = 'optionsMain'
9316 button.position = {-1.75, 0.05, -1.8}
9317 optionspanel.createButton(button)
9318
9319 --[[ spawn currencies buttons --]]
9320
9321 button.width = 500
9322 button.height = 100
9323 button.font_size = 100
9324 button.label = "Currency"
9325 button.click_function = 'doNothing'
9326 button.position = {-1.25, 0.05, -1.55 }
9327 optionspanel.createButton(button)
9328
9329 button.width = 500
9330 button.height = 100
9331 button.font_size = 100
9332 button.label = "Layout"
9333 button.click_function = 'doNothing'
9334 button.position = {1, 0.05, -1.55 }
9335 optionspanel.createButton(button)
9336
9337
9338 button.position = {-1.25, 0.05, -1.25 }
9339 local c = 0
9340 for i, v in pairs (currenciesSelectionStacklayout ) do
9341 c=c+1
9342 local s = ''
9343 if i == options.currencies then
9344 s = '►'
9345 end
9346 button.width = (((string.len(i) + string.len(s)) * 30) + 40 )
9347 button.height = 100
9348 button.font_size = 65
9349 button.label = i..s
9350 button.click_function = 'changeCurrencies' .. c
9351 button.position[3] = button.position[3]+0.25
9352 optionspanel.createButton(button)
9353 if i == options.currencies then
9354 for j, w in ipairs (v) do
9355 local s = ''
9356 if w == options.stacklayout then
9357 s = '►'
9358 end
9359 local button2 = {}
9360 button2.width = (((string.len(w) + string.len(s)) * 30) + 40)
9361 button2.font_size = 65
9362 button2.height = 100
9363 button2.label = w..s
9364 button2.click_function = 'setStacklayout' .. j
9365 button2.position = {1, 0.05, (-1 + ((j-1) * 0.25))}
9366 optionspanel.createButton(button2)
9367 end
9368 end
9369 end
9370end
9371
9372
9373
9374function setStacklayout1(ob, pl)
9375 if pl then
9376 if not Player[pl].admin then
9377 return 1
9378 end
9379 end
9380 options.stacklayout = currenciesSelectionStacklayout[options.currencies][1]
9381 optionsCurrencies()
9382end
9383
9384function setStacklayout2(ob, pl)
9385 if pl then
9386 if not Player[pl].admin then
9387 return 1
9388 end
9389 end
9390 options.stacklayout = currenciesSelectionStacklayout[options.currencies][2]
9391 optionsCurrencies()
9392end
9393
9394function setStacklayout3(ob, pl)
9395 if pl then
9396 if not Player[pl].admin then
9397 return 1
9398 end
9399 end
9400 options.stacklayout = currenciesSelectionStacklayout[options.currencies][3]
9401 optionsCurrencies()
9402end
9403
9404function setStacklayout4(ob, pl)
9405 if pl then
9406 if not Player[pl].admin then
9407 return 1
9408 end
9409 end
9410 options.stacklayout = currenciesSelectionStacklayout[options.currencies][4]
9411 optionsCurrencies()
9412end
9413function setStacklayout5(ob, pl)
9414 if pl then
9415 if not Player[pl].admin then
9416 return 1
9417 end
9418 end
9419 options.stacklayout = currenciesSelectionStacklayout[options.currencies][5]
9420 optionsCurrencies()
9421end
9422function setStacklayout6(ob, pl)
9423 if pl then
9424 if not Player[pl].admin then
9425 return 1
9426 end
9427 end
9428 options.stacklayout = currenciesSelectionStacklayout[options.currencies][6]
9429 optionsCurrencies()
9430end
9431function setStacklayout7(ob, pl)
9432 if pl then
9433 if not Player[pl].admin then
9434 return 1
9435 end
9436 end
9437 options.stacklayout = currenciesSelectionStacklayout[options.currencies][7]
9438 optionsCurrencies()
9439end
9440function setStacklayout8(ob, pl)
9441 if pl then
9442 if not Player[pl].admin then
9443 return 1
9444 end
9445 end
9446 options.stacklayout = currenciesSelectionStacklayout[options.currencies][8]
9447 optionsCurrencies()
9448end
9449
9450function setStacklayout9(ob, pl)
9451 if pl then
9452 if not Player[pl].admin then
9453 return 1
9454 end
9455 end
9456 options.stacklayout = currenciesSelectionStacklayout[options.currencies][9]
9457 optionsCurrencies()
9458end
9459
9460function setStacklayout10(ob, pl)
9461 if pl then
9462 if not Player[pl].admin then
9463 return 1
9464 end
9465 end
9466 options.stacklayout = currenciesSelectionStacklayout[options.currencies][10]
9467 optionsCurrencies()
9468end
9469
9470
9471function changeCurrencies1(ob, pl)
9472 if pl then
9473 if not Player[pl].admin then
9474 return 1
9475 end
9476 end
9477 changeCurrenciesCo(1)
9478end
9479
9480function changeCurrencies2(ob, pl)
9481 if pl then
9482 if not Player[pl].admin then
9483 return 1
9484 end
9485 end
9486
9487 changeCurrenciesCo(2)
9488end
9489
9490
9491function changeCurrencies3(ob, pl)
9492 if pl then
9493 if not Player[pl].admin then
9494 return 1
9495 end
9496 end
9497
9498 changeCurrenciesCo(3)
9499end
9500
9501function changeCurrencies4(ob, pl)
9502 if pl then
9503 if not Player[pl].admin then
9504 return 1
9505 end
9506 end
9507
9508 changeCurrenciesCo(4)
9509end
9510
9511function changeCurrencies5(ob, pl)
9512 if pl then
9513 if not Player[pl].admin then
9514 return 1
9515 end
9516 end
9517
9518 changeCurrenciesCo(5)
9519end
9520
9521function changeCurrencies6(ob, pl)
9522 if pl then
9523 if not Player[pl].admin then
9524 return 1
9525 end
9526 end
9527
9528 changeCurrenciesCo(6)
9529end
9530
9531function changeCurrencies7(ob, pl)
9532 if pl then
9533 if not Player[pl].admin then
9534 return 1
9535 end
9536 end
9537
9538 changeCurrenciesCo(7)
9539end
9540
9541function changeCurrencies8(ob, pl)
9542 if pl then
9543 if not Player[pl].admin then
9544 return 1
9545 end
9546 end
9547
9548 changeCurrenciesCo(8)
9549end
9550
9551function changeCurrencies9(ob, pl)
9552 if pl then
9553 if not Player[pl].admin then
9554 return 1
9555 end
9556 end
9557
9558 changeCurrenciesCo(9)
9559end
9560
9561
9562
9563function changeCurrencies10(ob, pl)
9564 if pl then
9565 if not Player[pl].admin then
9566 return 1
9567 end
9568 end
9569
9570 changeCurrenciesCo(10)
9571end
9572
9573function changeCurrencies11(ob, pl)
9574 if pl then
9575 if not Player[pl].admin then
9576 return 1
9577 end
9578 end
9579
9580 changeCurrenciesCo(11)
9581end
9582
9583function changeCurrencies12(ob, pl)
9584 if pl then
9585 if not Player[pl].admin then
9586 return 1
9587 end
9588 end
9589
9590 changeCurrenciesCo(12)
9591end
9592
9593function changeCurrencies13(ob, pl)
9594 if pl then
9595 if not Player[pl].admin then
9596 return 1
9597 end
9598 end
9599
9600 changeCurrenciesCo(13)
9601end
9602
9603function changeCurrencies14(ob, pl)
9604 if pl then
9605 if not Player[pl].admin then
9606 return 1
9607 end
9608 end
9609
9610 changeCurrenciesCo(14)
9611end
9612
9613function changeCurrencies15(ob, pl)
9614 if pl then
9615 if not Player[pl].admin then
9616 return 1
9617 end
9618 end
9619
9620 changeCurrenciesCo(15)
9621end
9622
9623function changeCurrencies16(ob, pl)
9624 if pl then
9625 if not Player[pl].admin then
9626 return 1
9627 end
9628 end
9629
9630 changeCurrenciesCo(16)
9631end
9632
9633
9634function changeCurrencies16(ob, pl)
9635 if pl then
9636 if not Player[pl].admin then
9637 return 1
9638 end
9639 end
9640
9641 changeCurrenciesCo(16)
9642end
9643
9644
9645function changeCurrencies17(ob, pl)
9646 if pl then
9647 if not Player[pl].admin then
9648 return 1
9649 end
9650 end
9651
9652 changeCurrenciesCo(17)
9653end
9654
9655
9656function changeCurrencies18(ob, pl)
9657 if pl then
9658 if not Player[pl].admin then
9659 return 1
9660 end
9661 end
9662
9663 changeCurrenciesCo(18)
9664end
9665
9666
9667function changeCurrencies19(ob, pl)
9668 if pl then
9669 if not Player[pl].admin then
9670 return 1
9671 end
9672 end
9673
9674 changeCurrenciesCo(19)
9675end
9676
9677function changeCurrenciesCo(number)
9678 c=0
9679 for i, v in pairs (currenciesSelectionStacklayout ) do
9680 c=c+1
9681 if(c == number) then
9682 options.currencies = i
9683 options.stacklayout = v[1]
9684 currencies = currenciesSelection[i]
9685 end
9686 end
9687
9688 for i, v in ipairs(getAllObjects()) do
9689 -- Update Buttons
9690 if v.getName() == 'Back Table' then
9691 v.clearButtons()
9692 if options.changemachine then
9693 local offsetx = 2/#currencies
9694 local button = {}
9695
9696 if #currencies <= 10 then
9697 offsetx = 1.65/(#currencies-2)
9698 else
9699 offsetx = 1.65/8
9700 end
9701 local offsety = 2/#currencies
9702 button.font_size = 150
9703 button.width = 450
9704 button.height = 250
9705 button.scale = {1/5, 1/5, 1/7.5}
9706 button.position = {0.83, -0.1, -0.9}
9707 button.rotation = {180, 0, 0}
9708
9709 for j, w in ipairs(currencies) do
9710 if w.value ~= -1 then
9711 button.label = w.label
9712 button.click_function = 'changeMachineButton' .. j
9713 v.createButton(button)
9714 button.position[1] = button.position[1] - offsetx
9715 end
9716 if j == 9 then
9717 if #currencies - 11 > 0 then
9718 offsetx = 1.65/(#currencies-11)
9719 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
9720 else
9721 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
9722 end
9723 end
9724 end
9725 end
9726
9727 end
9728 -- Delete Old Infinite Money Bags
9729 if v.getDescription() == 'Infinite Money Bag' then
9730 v.destruct()
9731 end
9732 end
9733
9734
9735 -- spawn infinite Bags
9736 local params = {}
9737 local posx = 2
9738 local posy = 2.2
9739 local posz = -23
9740
9741 local offsetx = 4
9742 local offsetz = -1.7
9743
9744
9745 for i, v in ipairs (currencies) do
9746 if v.value == -1 then
9747 break -- no dummy chips spawn
9748 end
9749 if not v.standard then
9750 params.position = {}
9751 params.position.x = posx + offsetx * ((i-1) % 2)
9752 params.position.y = posy
9753 params.position.z = posz + offsetz * math.floor((i-1)/2)
9754 --rPrint(params.position,100,i .. ": ")
9755 params.position[1] = params.position.x
9756 params.position[2] = params.position.y
9757 params.position[3] = params.position.z
9758
9759
9760 params.rotation = v.params.rotation
9761 params.rotation[2] = (params.rotation[2] + 180) % 360
9762 params.scale = v.params.scale
9763 params.params = {v.name}
9764 params.type = 'Custom_Model'
9765 params.callback = ''
9766 params.callback_owner = Global
9767 custom = {}
9768 custom.mesh = v.custom.mesh
9769 custom.diffuse = v.custom.diffuse
9770 custom.type = 7 -- infinite
9771 custom.material = 1
9772
9773 obj = spawnObject(params)
9774 obj.setCustomObject(custom)
9775 obj.setName(v.name)
9776 obj.setDescription("Infinite Money Bag")
9777
9778
9779 -- let chip fall into bag
9780 params.position.y = posy + 3
9781 params.position[2] = posy + 3
9782 custom.type = 5 -- chip
9783 obj = spawnObject(params)
9784 obj.setCustomObject(custom)
9785 obj.setName(v.name)
9786 end
9787 end
9788
9789
9790
9791
9792
9793 optionsCurrencies()
9794end
9795
9796
9797function spawnClock(ob, pl)
9798 if pl then
9799 if not Player[pl].admin then
9800 return 1
9801 end
9802 end
9803
9804 if clock ~= nil and clock ~= null then
9805 if pl then
9806 clock.Clock.setValue(options.clocktime + 1)
9807 clock.Clock.pauseStart()
9808 clock.clearButtons()
9809 end
9810 return 1
9811 end
9812
9813 local params = {}
9814 if actionon then
9815 local playerhand = getPlayerHandPositionAndRotation(actionon)
9816
9817 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 8, 0.5, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 8}
9818 params.rotation = {90, playerhand['rot_y'], 0}
9819 else
9820 params.position = {0, 0.5, -4}
9821 params.rotation = {90, 180, 0}
9822 end
9823
9824 params.type = 'Digital_Clock'
9825 params.callback = 'setClockTimer'
9826 if pl then
9827 params.params = {pl}
9828 else
9829 params.params = nil
9830 end
9831
9832 clock = spawnObject(params)
9833
9834end
9835
9836function setClockTimer(ob, pl)
9837 clock.lock()
9838
9839 if pl then
9840 clock.Clock.setValue(options.clocktime + 1)
9841 else
9842 clock.Clock.setValue(options.autoclocktime + 1)
9843 end
9844
9845 clock.Clock.pauseStart()
9846
9847 if options.autoclock and options.clockpausebutton and not pl then
9848 local button = {}
9849 button.rotation = {90, 180, 0}
9850 button.position = {-0.3, 0.5, -0.15}
9851 button.font_size = 60
9852 button.width = 200
9853 button.height = 50
9854 button.label = 'Pause'
9855 button.click_function = 'pauseClock'
9856 clock.createButton(button)
9857 end
9858 startLuaCoroutine(nil, 'setClockTimerCoroutine')
9859end
9860
9861function setClockTimerCoroutine()
9862
9863 local clockGUID = clock.getGUID()
9864
9865 while clock ~= nil and clock ~= null and clock.Clock.getValue() > 0 do
9866 coroutine.yield(0)
9867 end
9868
9869 local t = os.clock()
9870
9871 while os.clock() < t+1 do
9872 coroutine.yield(0)
9873 end
9874
9875 if clock ~= nil and clock ~= null then
9876 if clockGUID ~= clock.getGUID() then
9877 return 1
9878 end
9879 else
9880 return 1
9881 end
9882
9883 if options.autofold then
9884 foldPlayer()
9885 end
9886
9887 clock.destruct()
9888
9889 return 1
9890end
9891
9892function toggleAutoclock(ob, pl)
9893 if not Player[pl].admin then
9894 return 1
9895 end
9896
9897 options.autoclock = not options.autoclock
9898 optionsHost()
9899end
9900
9901function toggleAutofold(ob, pl)
9902 if not Player[pl].admin then
9903 return 1
9904 end
9905
9906 options.autofold = not options.autofold
9907 optionsHost()
9908end
9909
9910function decreaseAutoclockTime(ob, pl)
9911 if not Player[pl].admin then
9912 return 1
9913 end
9914
9915 if options.autoclocktime > 1 then
9916 options.autoclocktime = options.autoclocktime - 1
9917 end
9918 optionsHost()
9919end
9920
9921function increaseAutoclockTime(ob, pl)
9922 if not Player[pl].admin then
9923 return 1
9924 end
9925
9926 options.autoclocktime = options.autoclocktime + 1
9927 optionsHost()
9928end
9929
9930function toggleAutoclockPauseButton(ob, pl)
9931 if not Player[pl].admin then
9932 return 1
9933 end
9934
9935 options.clockpausebutton = not options.clockpausebutton
9936 optionsHost()
9937end
9938
9939function pauseClock(ob, pl)
9940 if not Player[pl].admin and pl ~= actionon then
9941 return 1
9942 end
9943
9944 clock.Clock.pauseStart()
9945end
9946
9947function decreaseClockTime5(ob, pl)
9948 if not Player[pl].admin then
9949 return 1
9950 end
9951
9952 if options.clocktime > 5 then
9953 options.clocktime = options.clocktime - 5
9954 else
9955 return 1
9956 end
9957
9958 optionsMain()
9959end
9960function decreaseClockTime1(ob, pl)
9961 if not Player[pl].admin then
9962 return 1
9963 end
9964
9965 if options.clocktime > 1 then
9966 options.clocktime = options.clocktime - 1
9967 else
9968 return 1
9969 end
9970
9971 optionsMain()
9972end
9973function increaseClockTime1(ob, pl)
9974 if not Player[pl].admin then
9975 return 1
9976 end
9977
9978 options.clocktime = options.clocktime + 1
9979
9980 optionsMain()
9981end
9982function increaseClockTime5(ob, pl)
9983 if not Player[pl].admin then
9984 return 1
9985 end
9986
9987 options.clocktime = options.clocktime + 5
9988
9989 optionsMain()
9990end
9991
9992function foldPlayer(ob, pl)
9993
9994 if pl then
9995 if not Player[pl].admin then
9996 return 1
9997 end
9998 end
9999
10000 if muck == nil or muck == null then
10001 checkAndRespawnObjects()
10002 --print ('The muck object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
10003 --return 1
10004 end
10005
10006 if actionon then
10007 local cards = Player[actionon].getHandObjects()
10008 local p = muck.getPosition()
10009 local r = muck.getRotation()
10010 p.y = p.y + 0.25
10011 r.x = 180
10012 r.z = 0
10013
10014 for i, v in ipairs (cards) do
10015 v.setRotation(r)
10016 v.setPosition(p)
10017 v.translate({0, 0.1, 0})
10018 p.y = p.y + 0.01
10019 end
10020 end
10021
10022 startLuaCoroutine(nil, 'delayedAction')
10023end
10024
10025function delayedAction()
10026 for i = 1, 2 do
10027 coroutine.yield(0)
10028 end
10029
10030 action()
10031 return 1
10032end
10033
10034function decreaseHybridThreshold1000(ob, pl)
10035 if not Player[pl].admin then
10036 return 1
10037 end
10038
10039 if options.hybridthreshold > 1000 then
10040 options.hybridthreshold = options.hybridthreshold - 1000
10041 end
10042
10043 optionsHost()
10044end
10045
10046function decreaseHybridThreshold100(ob, pl)
10047 if not Player[pl].admin then
10048 return 1
10049 end
10050
10051 if options.hybridthreshold > 100 then
10052 options.hybridthreshold = options.hybridthreshold - 100
10053 end
10054
10055 optionsHost()
10056end
10057
10058function increaseHybridThreshold100(ob, pl)
10059 if not Player[pl].admin then
10060 return 1
10061 end
10062
10063 options.hybridthreshold = options.hybridthreshold + 100
10064
10065 optionsHost()
10066end
10067
10068function increaseHybridThreshold1000(ob, pl)
10069 if not Player[pl].admin then
10070 return 1
10071 end
10072
10073 options.hybridthreshold = options.hybridthreshold + 1000
10074
10075 optionsHost()
10076end
10077
10078
10079function decreaseConvertStackHeight1(ob, pl)
10080 if not Player[pl].admin then
10081 return 1
10082 end
10083
10084 if options.convertstackheight > 1 then
10085 options.convertstackheight = options.convertstackheight - 1
10086 else
10087 options.convertstackheight = 0
10088 end
10089
10090 optionsHost()
10091end
10092
10093function increaseConvertStackHeight1(ob, pl)
10094 if not Player[pl].admin then
10095 return 1
10096 end
10097 options.convertstackheight = options.convertstackheight + 1
10098
10099 if options.convertstackheight >= 10 then
10100 options.convertstackheight = 10
10101 end
10102 optionsHost()
10103end
10104
10105
10106
10107
10108
10109
10110
10111function doNothing()
10112end
10113
10114function changeFontColor(ob, pl)
10115
10116 if not Player[pl].admin then
10117 return 1
10118 end
10119
10120 local color = colorball.getColorTint()
10121 pottext.TextTool.setFontColor(color)
10122 currentbettext.TextTool.setFontColor(color)
10123 muck.setColorTint(color)
10124 boardobject.setColorTint(color)
10125end
10126
10127function changeTableColor(ob, pl)
10128
10129 if not Player[pl].admin then
10130 return 1
10131 end
10132
10133 local color = colorball.getColorTint()
10134 overlay.setColorTint(color)
10135end
10136
10137function setGameModeTexas(ob, pl)
10138
10139 if not Player[pl].admin or options.gamemode == 'texas' then
10140 return 1
10141 end
10142
10143 options.gamemode = 'texas'
10144 printToAll('Game mode set to Texas Hold\'em. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10145
10146 optionsHost()
10147end
10148function setGameModeOmaha(ob, pl)
10149
10150 if not Player[pl].admin or options.gamemode == 'omaha' then
10151 return 1
10152 end
10153
10154 options.gamemode = 'omaha'
10155 printToAll('Game mode set to Omaha Hold\'em. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10156
10157 optionsHost()
10158end
10159function setGameModePineapple(ob, pl)
10160
10161 if not Player[pl].admin or options.gamemode == 'pineapple' then
10162 return 1
10163 end
10164
10165 options.gamemode = 'pineapple'
10166 printToAll('Game mode set to Pineapple. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10167
10168 optionsHost()
10169end
10170function setGameModeFiveCard(ob, pl)
10171
10172 if not Player[pl].admin or options.gamemode == 'fivecard' then
10173 return 1
10174 end
10175
10176 options.gamemode = 'fivedraw'
10177 printToAll('Game mode set to Five Card Draw. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10178
10179 optionsHost()
10180end
10181
10182function getParams(obj)
10183 local params = {}
10184 params.position = obj.getPosition()
10185 params.scale = obj.getScale()
10186 params.rotation = obj.getRotation()
10187
10188 return params
10189end
10190
10191function setTheme1(ob, pl)
10192
10193 if not Player[pl].admin then
10194 return 1
10195 end
10196
10197 themeindex = 1
10198 subthemeindex = 1
10199 optionsThemes()
10200end
10201
10202function setTheme2(ob, pl)
10203
10204 if not Player[pl].admin then
10205 return 1
10206 end
10207
10208 themeindex = 2
10209 subthemeindex = 1
10210 optionsThemes()
10211end
10212
10213function setTheme3(ob, pl)
10214
10215 if not Player[pl].admin then
10216 return 1
10217 end
10218
10219 themeindex = 3
10220 subthemeindex = 1
10221 optionsThemes()
10222end
10223
10224function setTheme4(ob, pl)
10225
10226 if not Player[pl].admin then
10227 return 1
10228 end
10229
10230 themeindex = 4
10231 subthemeindex = 1
10232 optionsThemes()
10233end
10234
10235function setTheme5(ob, pl)
10236
10237 if not Player[pl].admin then
10238 return 1
10239 end
10240
10241 themeindex = 5
10242 subthemeindex = 1
10243 optionsThemes()
10244end
10245
10246function setTheme6(ob, pl)
10247
10248 if not Player[pl].admin then
10249 return 1
10250 end
10251
10252 themeindex = 6
10253 subthemeindex = 1
10254 optionsThemes()
10255end
10256
10257function setTheme7(ob, pl)
10258
10259 if not Player[pl].admin then
10260 return 1
10261 end
10262
10263 themeindex = 7
10264 subthemeindex = 1
10265 optionsThemes()
10266end
10267
10268function setTheme8(ob, pl)
10269
10270 if not Player[pl].admin then
10271 return 1
10272 end
10273
10274 themeindex = 8
10275 subthemeindex = 1
10276 optionsThemes()
10277end
10278
10279function setTheme9(ob, pl)
10280
10281 if not Player[pl].admin then
10282 return 1
10283 end
10284
10285 themeindex = 9
10286 subthemeindex = 1
10287 optionsThemes()
10288end
10289
10290function setTheme10(ob, pl)
10291
10292 if not Player[pl].admin then
10293 return 1
10294 end
10295
10296 themeindex = 10
10297 subthemeindex = 1
10298 optionsThemes()
10299end
10300
10301function setTheme11(ob, pl)
10302
10303 if not Player[pl].admin then
10304 return 1
10305 end
10306
10307 themeindex = 11
10308 subthemeindex = 1
10309 optionsThemes()
10310end
10311
10312function setTheme12(ob, pl)
10313
10314 if not Player[pl].admin then
10315 return 1
10316 end
10317
10318 themeindex = 12
10319 subthemeindex = 1
10320 optionsThemes()
10321end
10322
10323function setSubtheme1(ob, pl)
10324
10325 if not Player[pl].admin then
10326 return 1
10327 end
10328
10329 subthemeindex = 1
10330 optionsThemes()
10331end
10332function setSubtheme2(ob, pl)
10333
10334 if not Player[pl].admin then
10335 return 1
10336 end
10337
10338 subthemeindex = 2
10339 optionsThemes()
10340end
10341function setSubtheme3(ob, pl)
10342
10343 if not Player[pl].admin then
10344 return 1
10345 end
10346
10347 subthemeindex = 3
10348 optionsThemes()
10349end
10350function setSubtheme4(ob, pl)
10351
10352 if not Player[pl].admin then
10353 return 1
10354 end
10355
10356 subthemeindex = 4
10357 optionsThemes()
10358end
10359function setSubtheme5(ob, pl)
10360
10361 if not Player[pl].admin then
10362 return 1
10363 end
10364
10365 subthemeindex = 5
10366 optionsThemes()
10367end
10368function setSubtheme6(ob, pl)
10369
10370 if not Player[pl].admin then
10371 return 1
10372 end
10373
10374 subthemeindex = 6
10375 optionsThemes()
10376end
10377function setSubtheme7(ob, pl)
10378
10379 if not Player[pl].admin then
10380 return 1
10381 end
10382
10383 subthemeindex = 7
10384 optionsThemes()
10385end
10386function setSubtheme8(ob, pl)
10387
10388 if not Player[pl].admin then
10389 return 1
10390 end
10391
10392 subthemeindex = 8
10393 optionsThemes()
10394end
10395function setSubtheme9(ob, pl)
10396
10397 if not Player[pl].admin then
10398 return 1
10399 end
10400
10401 subthemeindex = 9
10402 optionsThemes()
10403end
10404function setSubtheme10(ob, pl)
10405
10406 if not Player[pl].admin then
10407 return 1
10408 end
10409
10410 subthemeindex = 10
10411 optionsThemes()
10412end
10413function setSubtheme11(ob, pl)
10414
10415 if not Player[pl].admin then
10416 return 1
10417 end
10418
10419 subthemeindex = 11
10420 optionsThemes()
10421end
10422function setSubtheme12(ob, pl)
10423
10424 if not Player[pl].admin then
10425 return 1
10426 end
10427
10428 subthemeindex = 12
10429 optionsThemes()
10430end
10431
10432function overlay1 (ob, pl)
10433
10434 if not Player[pl].admin then
10435 return 1
10436 end
10437
10438 changeOverlay(themes[themeindex][subthemeindex][1].diffuse)
10439
10440end
10441function overlay2 (ob, pl)
10442
10443 if not Player[pl].admin then
10444 return 1
10445 end
10446
10447 changeOverlay(themes[themeindex][subthemeindex][2].diffuse)
10448
10449end
10450function overlay3 (ob, pl)
10451
10452 if not Player[pl].admin then
10453 return 1
10454 end
10455
10456 changeOverlay(themes[themeindex][subthemeindex][3].diffuse)
10457
10458end
10459function overlay4 (ob, pl)
10460
10461 if not Player[pl].admin then
10462 return 1
10463 end
10464
10465 changeOverlay(themes[themeindex][subthemeindex][4].diffuse)
10466
10467end
10468function overlay5 (ob, pl)
10469
10470 if not Player[pl].admin then
10471 return 1
10472 end
10473
10474 changeOverlay(themes[themeindex][subthemeindex][5].diffuse)
10475
10476end
10477function overlay6 (ob, pl)
10478
10479 if not Player[pl].admin then
10480 return 1
10481 end
10482
10483 changeOverlay(themes[themeindex][subthemeindex][6].diffuse)
10484
10485end
10486function overlay7 (ob, pl)
10487
10488 if not Player[pl].admin then
10489 return 1
10490 end
10491
10492 changeOverlay(themes[themeindex][subthemeindex][7].diffuse)
10493
10494end
10495function overlay8 (ob, pl)
10496
10497 if not Player[pl].admin then
10498 return 1
10499 end
10500
10501 changeOverlay(themes[themeindex][subthemeindex][8].diffuse)
10502
10503end
10504function overlay9 (ob, pl)
10505
10506 if not Player[pl].admin then
10507 return 1
10508 end
10509
10510 changeOverlay(themes[themeindex][subthemeindex][9].diffuse)
10511
10512end
10513function overlay10 (ob, pl)
10514
10515 if not Player[pl].admin then
10516 return 1
10517 end
10518
10519 changeOverlay(themes[themeindex][subthemeindex][10].diffuse)
10520
10521end
10522function overlay11 (ob, pl)
10523
10524 if not Player[pl].admin then
10525 return 1
10526 end
10527
10528 changeOverlay(themes[themeindex][subthemeindex][11].diffuse)
10529
10530end
10531function overlay12 (ob, pl)
10532
10533 if not Player[pl].admin then
10534 return 1
10535 end
10536
10537 changeOverlay(themes[themeindex][subthemeindex][12].diffuse)
10538
10539end
10540
10541function changeOverlay(diffuse)
10542
10543 local custom = overlay.getCustomObject()
10544 custom.diffuse = diffuse
10545
10546 overlay.setCustomObject(custom)
10547 overlay = overlay.reload()
10548 overlay.interactable = false
10549 overlay.setColorTint({1, 1, 1})
10550
10551end
10552
10553--[[ Destroy options panel --]]
10554function destroyOptionsPanel(ob, pl)
10555
10556 if pl and not Player[pl].admin then
10557 return 1
10558 end
10559
10560 optionspanel.clearButtons()
10561 optionspanel.destruct()
10562 optionspanel = nil
10563 if colorball ~= nil and colorball ~= null then
10564 colorball.destruct()
10565 end
10566end
10567
10568function toggleBlindsSkipAFK(ob, pl)
10569
10570 if not Player[pl].admin then
10571 return 1
10572 end
10573
10574 options.blindsskipafk = not options.blindsskipafk
10575
10576 optionsHost()
10577end
10578
10579function darkenOverlay(ob, pl)
10580
10581 if not Player[pl].admin then
10582 return 1
10583 end
10584
10585 local color = overlay.getColorTint()
10586 for i, v in pairs (color) do
10587 if v >= 0.05 then
10588 color[i] = v - 0.05
10589 else
10590 color[i] = 0
10591 end
10592 end
10593
10594 overlay.setColorTint(color)
10595end
10596
10597function lightenOverlay(ob, pl)
10598
10599 if not Player[pl].admin then
10600 return 1
10601 end
10602
10603 local color = overlay.getColorTint()
10604 for i, v in pairs (color) do
10605 if v <= 1.95 then
10606 color[i] = v + 0.05
10607 else
10608 color[i] = 2
10609 end
10610 end
10611
10612 overlay.setColorTint(color)
10613end
10614
10615function changeCollectMethod(ob, pl)
10616 if not Player[pl].admin then
10617 return 1
10618 end
10619
10620 if options.collectmethod == 'move' then
10621 options.collectmethod = 'convert'
10622 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)
10623 elseif options.collectmethod == 'convert' then
10624 options.collectmethod = 'hybrid'
10625 print('Collect method set to: Hybrid. Bets will be converted up once the pot is over $'..options.hybridthreshold..'.')
10626 elseif options.collectmethod == 'hybrid' then
10627 options.collectmethod = 'move'
10628 print('Collect method set to: Move. Bets will be moved into the pot.')
10629 else
10630 options.collectmethod = 'move'
10631 print('Unknown collect method found: Collect method set to: Move. Bets will be moved into the pot.')
10632 end
10633
10634 optionsHost()
10635end
10636
10637function checkAndRespawnObjects(ob, pl)
10638 if pl then
10639 if not Player[pl].admin then
10640 return 1
10641 end
10642 end
10643
10644 sidepotcalculated = false
10645
10646
10647 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'}
10648 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'}
10649 local allobjects = getAllObjects()
10650 local objects = {'muck', 'boardobject', 'potobject', 'overlay'}
10651 local objectnames = {'Muck', 'Board', 'Pot', 'Overlay'}
10652 local objectexists = {false, false, false, false} -- muck, board, pot, overlay
10653 local positions = {{-9.175, 1.35, -1.9}, {0, 1.35, -2}, {0, 1.35, -7.5}, {0, 0.7, 0}}
10654 local custom = {}
10655 local params = {}
10656 local textparams = {}
10657 textparams.type = '3DText'
10658
10659 -- mark unlost objects as existing
10660 for i, v in ipairs (objects) do
10661 if Global.getVar(v) ~= nil and Global.getVar(v) ~= null then
10662 objectexists[i] = true
10663 --print (objectnames[i]..' exists.')
10664 end
10665 end
10666
10667 -- search for objects and reassign any that are found
10668 for i, v in ipairs (allobjects) do
10669 custom = v.getCustomObject()
10670 for j, w in ipairs (meshes) do
10671 if custom.mesh == w then
10672 if not objectexists[j] then
10673 Global.setVar(objects[j] , v)
10674 objectexists[j] = true
10675 print(objectnames[j]..' reassigned.')
10676 end
10677 end
10678 end
10679 end
10680
10681 -- respawn nonexistent objects
10682 for i, v in ipairs (objectexists) do
10683 if not v then
10684 params.type = 'Custom_Model'
10685 params.position = positions[i]
10686 params.rotation = {0, 0, 0}
10687
10688 custom.mesh = meshes[i]
10689 custom.diffuse = diffuses[i]
10690 custom.type = 4
10691
10692 local o = spawnObject(params)
10693 o.setCustomObject(custom)
10694
10695 if i ~= 4 then
10696 o.setLuaScript(scripts[i])
10697 else
10698 o.lock()
10699 o.interactable = false
10700 o.setName('Table Overlay')
10701 end
10702
10703 Global.setVar(objects[i], o)
10704
10705 print (objectnames[i]..' respawned.')
10706 end
10707 end
10708 local actionscript = "blubb"
10709
10710 --[[ Check and respawn texts --]]
10711 if actiontext == nil or actiontext == null then
10712 textparams.position = {0, 0, 0}
10713 textparams.rotation = {0, 0, 0}
10714 actiontext = spawnObject(textparams)
10715 actiontext.TextTool.setValue('Action')
10716 actiontext.TextTool.setFontSize(68)
10717 actiontext.setLuaScript(scripts[4])
10718 end
10719 if pottext == nil or pottext == null then
10720 textparams.position = {0, 1.33, 0}
10721 textparams.callback = 'spawnTextCallback'
10722 pottext = spawnObject(textparams)
10723 pottext.TextTool.setFontSize(64)
10724 end
10725 if currentbettext == nil or currentbettext == null then
10726 textparams.position = {0, 1.33, 1}
10727 textparams.callback = 'spawnTextCallback'
10728 currentbettext = spawnObject(textparams)
10729 currentbettext.TextTool.setFontSize(64)
10730 end
10731 for i, v in ipairs(colors) do
10732 if bettext[v] == nil or bettext[v] == null then
10733 local playerhand = Player[v].getHandTransform(1)
10734 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}
10735 textparams.callback = 'spawnTextCallback'
10736 bettext[v] = spawnObject(textparams)
10737 bettext[v].TextTool.setFontSize(64)
10738 bettext[v].TextTool.setFontColor(fontcolors[v])
10739 end
10740 if sidepottext[v] == nil or sidepottext[v] == null then
10741
10742 local playerhand = Player[v].getHandTransform(1)
10743 textparams.position = {playerhand.position.x + playerhand.forward.x * 10.8, 1.33, playerhand.position.z + playerhand.forward.z * 10.8}
10744 textparams.callback = 'spawnTextCallback'
10745 sidepottext[v] = spawnObject(textparams)
10746 sidepottext[v].TextTool.setFontSize(64)
10747 sidepottext[v].TextTool.setFontColor(fontcolors[v])
10748 sidepottext[v].setValue("spawned")
10749 end
10750 if tablezonetext[v] == nil or tablezonetext[v] == null then
10751 local chips = {}
10752 local playerhand = Player[v].getHandTransform(1)
10753 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}
10754 textparams.callback = 'spawnTextCallback'
10755 tablezonetext[v] = spawnObject(textparams)
10756 tablezonetext[v].TextTool.setFontSize(64)
10757 tablezonetext[v].TextTool.setFontColor({1,1,1}) -- Black
10758
10759 if options.displayplayermoney then
10760 money = getChipValues(tablezones[v],chips)
10761 tablezonetext[v].setValue("$" .. money)
10762 else
10763 tablezonetext[v].setValue(" ")
10764 end
10765
10766 end
10767
10768 end
10769
10770end
10771
10772function spawnTextCallback()
10773 check = true
10774 if not (pottext == nil or pottext == null) then
10775 pottext.setRotation({90, 180, 0})
10776 else
10777 check = false
10778 end
10779 if not (currentbettext == nil or currentbettext == null) then
10780 currentbettext.setRotation({90, 180, 0})
10781 else
10782 check = false
10783 end
10784 for i, v in ipairs(colors) do
10785 local playerhand = getPlayerHandPositionAndRotation(v)
10786 if not (bettext[v] == nil or bettext[v] == null) then
10787 bettext[v].setRotation({90, playerhand['rot_y'], 0})
10788 else
10789 check = false
10790 end
10791 if not (sidepottext[v] == nil or sidepottext[v] == null or type(sidepottext[v]) == "string") then
10792 sidepottext[v].setRotation({90, playerhand['rot_y'], 0})
10793 else
10794 check = false
10795 end
10796 if not (tablezonetext[v] == nil or tablezonetext[v] == null) then
10797 tablezonetext[v].setRotation({90, playerhand['rot_y'], 0})
10798 else
10799 check = false
10800 end
10801 end
10802 if check then
10803 calculatePots()
10804 end
10805end
10806
10807function togglePlayerClickAction(ob, pl)
10808 if not Player[pl].admin then
10809 return 1
10810 end
10811
10812 if options.playerclickaction then
10813 options.playerclickaction = false
10814 print ('The Action button will now remain in a static position for the host to click.')
10815
10816 local buttons = actionbutton.getButtons()
10817
10818 buttons[1].label = 'Action'
10819
10820 actionbutton.editButton(buttons[1])
10821 else
10822 options.playerclickaction = true
10823 print ('The action button will now be moved in front of the player whose turn it is to act.')
10824
10825 local buttons = actionbutton.getButtons()
10826
10827 buttons[1].label = 'Done'
10828
10829 actionbutton.editButton(buttons[1])
10830 end
10831
10832 optionsHost()
10833end
10834
10835function toggleEnforcePotLimit(ob, pl)
10836 if not Player[pl].admin then
10837 return 1
10838 end
10839
10840 options.enforcepotlimit = not options.enforcepotlimit
10841
10842 optionsHost()
10843end
10844
10845function toggleEnforceFoldInTurn(ob, pl)
10846 if not Player[pl].admin then
10847 return 1
10848 end
10849
10850 options.enforcefoldinturn = not options.enforcefoldinturn
10851
10852 optionsHost()
10853end
10854
10855function toggleEnforceDoubleRaise(ob, pl)
10856 if not Player[pl].admin then
10857 return 1
10858 end
10859
10860 options.enforcedoubleraise = not options.enforcedoubleraise
10861
10862 optionsHost()
10863end
10864
10865function toggleActionMessage(ob, pl)
10866 if not Player[pl].admin then
10867 return 1
10868 end
10869
10870 options.chatoptions.actionmessage = not options.chatoptions.actionmessage
10871
10872 optionsChat()
10873end
10874
10875function toggleActionBroadcast(ob, pl)
10876 if not Player[pl].admin then
10877 return 1
10878 end
10879
10880 options.chatoptions.actionbroadcast = not options.chatoptions.actionbroadcast
10881
10882 optionsChat()
10883end
10884
10885function toggleStageBroadcast(ob, pl)
10886 if not Player[pl].admin then
10887 return 1
10888 end
10889
10890 options.chatoptions.stage = not options.chatoptions.stage
10891
10892 optionsChat()
10893end
10894
10895function toggleCurrentBetMessage(ob, pl)
10896 if not Player[pl].admin then
10897 return 1
10898 end
10899
10900 options.chatoptions.currentbetmessage = not options.chatoptions.currentbetmessage
10901
10902 optionsChat()
10903end
10904
10905function toggleBetter(ob, pl)
10906 if not Player[pl].admin then
10907 return 1
10908 end
10909
10910 options.chatoptions.better = not options.chatoptions.better
10911
10912 optionsChat()
10913end
10914
10915function toggleAllinBroadcast(ob, pl)
10916 if not Player[pl].admin then
10917 return 1
10918 end
10919
10920 options.chatoptions.allinbroadcast = not options.chatoptions.allinbroadcast
10921
10922 optionsChat()
10923end
10924
10925function togglePotMessage(ob, pl)
10926 if not Player[pl].admin then
10927 return 1
10928 end
10929
10930 if options.chatoptions.potmessage >= 2 then
10931 options.chatoptions.potmessage = 0
10932 else
10933 options.chatoptions.potmessage = options.chatoptions.potmessage + 1
10934 end
10935
10936 optionsChat()
10937end
10938
10939function printMessages()
10940
10941 local p = ''
10942
10943 for i, v in ipairs(colors) do
10944 if string.find(printstring, v) then
10945 p = v
10946 break
10947 end
10948 end
10949
10950 if string.find(printstring, 'bet') or string.find(printstring, 'raise') then
10951 if options.chatoptions.currentbetmessage then
10952 local s = 'Current bet: $'..currentbet
10953 if options.chatoptions.better then
10954 if string.find(printstring, 'bet') then
10955 if Player[p].steam_name then
10956 s = s..', made by '..fontcolors[p].bbcode..Player[p].steam_name..'[ffffff].'
10957 else
10958 s = s..', made by '..fontcolors[p].bbcode..p..'[ffffff].'
10959 end
10960 else
10961 if Player[p].steam_name then
10962 s = s..', raised by '..fontcolors[p].bbcode..Player[p].steam_name..'[ffffff].'
10963 else
10964 s = s..', raised by '..fontcolors[p].bbcode..p..'[ffffff].'
10965 end
10966 end
10967 else
10968 s = s..'.'
10969 end
10970
10971 printToAll(s, {1, 1, 1})
10972 end
10973 end
10974
10975
10976 if options.chatoptions.allinbroadcast and string.find(printstring, 'allin') then
10977 if string.find(printstring, p) then
10978 if Player[p].steam_name then
10979 broadcastToAll (fontcolors[p].bbcode..Player[p].steam_name..'[ffffff] is all in!', {1, 1, 1})
10980 else
10981 broadcastToAll (fontcolors[p].bbcode..p..'[ffffff] is all in!.', {1, 1, 1})
10982 end
10983 end
10984 end
10985
10986 if string.find(printstring, 'action') and actionon then
10987
10988 if options.chatoptions.actionmessage then
10989 if Player[actionon].steam_name then
10990 printToAll ("Action on "..fontcolors[actionon].bbcode..Player[actionon].steam_name..'[ffffff].', {1, 1, 1})
10991 else
10992 printToAll ("Action on "..fontcolors[actionon].bbcode..actionon..'[ffffff].', {1, 1, 1})
10993 end
10994 end
10995
10996 if options.chatoptions.actionbroadcast and Player[actionon].seated then
10997 broadcastToColor("Action on you!", actionon, {1, 0, 0})
10998 end
10999 end
11000
11001 if options.chatoptions.potmessage > 0 then
11002 if (options.chatoptions.potmessage >= 1 and string.find(printstring, 'collect')) or (options.chatoptions.potmessage > 1 and string.find(printstring, 'pot')) then
11003 printToAll('Pot: $'..pot..'.', {1, 1, 1})
11004 end
11005 end
11006
11007 printstring = ''
11008end
11009
11010function onObjectDropped(player, object)
11011 if handinprogress and object.tag == 'Card' then
11012
11013 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
11014 for i, v in ipairs (colors) do
11015 for j, w in ipairs (Player[v].getHandObjects()) do
11016 if w == object then return 0 end -- they dropped it into their hand, so abort function
11017 end
11018 end
11019 local r = object.getRotation()
11020 if (r.x < 80 or r.x > 280) and (r.z < 80 or r.z > 280) then -- it's face-up
11021 for i, v in ipairs (holecards[player]) do
11022 if v == object.getGUID() then
11023 table.insert(revealedcards[player], table.remove(holecards[player], i))
11024 break
11025 end
11026 end
11027 if #holecards[player] == 0 then
11028 handsshown[player] = true
11029 evaluateHand(player)
11030 end
11031 end
11032 end
11033
11034 if isCurrency(object) then
11035 for i, v in ipairs (colors) do
11036 local chips = {}
11037 local value = "$" .. getChipValues(tablezones[v],chips)
11038
11039
11040 if options.displayplayermoney then
11041 tablezonetext[v].setValue(value)
11042 end
11043 for j, w in ipairs (chips) do
11044 if w == object then
11045 object.setColorTint(chiptints[v])
11046 return 1
11047 end
11048 end
11049 for j, w in ipairs (backtablezones[v].getObjects()) do
11050 if w == object then
11051 object.setColorTint(chiptints[v])
11052 return 1
11053 end
11054 end
11055 for j, w in ipairs (betzones[v].getObjects()) do
11056 if w == object then
11057 object.setColorTint(chiptints[v])
11058 return 1
11059 end
11060 end
11061 end
11062 object.setColorTint({1, 1, 1})
11063 end
11064end
11065
11066function onObjectSpawn(object)
11067 if isCurrency(object) then
11068 for i, v in ipairs (colors) do
11069 for j, w in ipairs (tablezones[v].getObjects()) do
11070 if w == object then
11071 object.setColorTint(chiptints[v])
11072 return 1
11073 end
11074 end
11075 for j, w in ipairs (backtablezones[v].getObjects()) do
11076 if w == object then
11077 object.setColorTint(chiptints[v])
11078 return 1
11079 end
11080 end
11081 for j, w in ipairs (betzones[v].getObjects()) do
11082 if w == object then
11083 object.setColorTint(chiptints[v])
11084 return 1
11085 end
11086 end
11087 end
11088 object.setColorTint({1, 1, 1})
11089 end
11090end
11091
11092function isCurrency(object)
11093 if object.tag == 'Chip' then
11094 if object.getValue() then
11095 return true
11096 elseif currencyToNumber(object.getName()) ~= nil then
11097 if currencyToNumber(object.getName()) > 0 then
11098 return true
11099 end
11100 else
11101 return false
11102 end
11103 end
11104end
11105function getPlayersHoleCards()
11106 for i, v in ipairs (players) do
11107 for j, w in ipairs (Player[v].getHandObjects()) do
11108 table.insert(holecards[v], w.getGUID())
11109 end
11110 end
11111end
11112
11113function evaluateHand(player)
11114
11115 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.
11116
11117 local sevencards = getSevenCards(player)
11118
11119 if not sevencards then return 0 end
11120
11121 local cards = {['Spades'] = {}, ['Hearts'] = {}, ['Clubs'] = {}, ['Diamonds'] = {}}
11122 local suits = {'Spades', 'Hearts', 'Clubs', 'Diamonds'}
11123 local ranks = {'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King','Ace'}
11124 local handranks = {'Royal Flush', 'Straight Flush', 'Four of a Kind', 'Full House', 'Flush', 'Straight', 'Three of a Kind', 'Two Pairs', 'One Pair', 'High Card'}
11125
11126 -- Populate cards table
11127 for i, v in ipairs (sevencards) do
11128 for j, w in ipairs (ranks) do
11129 if getConvertedName(v.getName()) == w then
11130 table.insert(cards[v.getDescription()], nameToValue(w))
11131 break
11132 end
11133 end
11134 end
11135
11136 -- Sort tables
11137 for i, v in ipairs (suits) do
11138 table.sort(cards[v])
11139 end
11140
11141 -- Check for each type of hand until a hand is found
11142
11143 -- Royal flush
11144
11145 local flushexists = false
11146 local flushsuit = ''
11147
11148 for i, v in ipairs (suits) do
11149 if #cards[v] >= 5 then -- a flush exists at least
11150 flushexists = true
11151 flushsuit = v
11152 local value = 0
11153 for j = 1, 5 do
11154 value = value + cards[v][#cards[v] - (j-1)]
11155 end
11156 if value == 60 then -- it's a royal flush!
11157 broadcastToAll(player..' shows a '..flushsuit..' Royal Flush!', {0, 1, 0})
11158 return 0
11159 end
11160 end
11161 end
11162
11163 -- Straight Flush
11164
11165 if flushexists then
11166 local consecutives = 0
11167 local highcard = 0
11168 local lowconsecutives = false
11169 local ace = false
11170 for i, v in ipairs (cards[flushsuit]) do
11171 if i == 1 then
11172 consecutives = 1
11173 else
11174 if v == (cards[flushsuit][i - 1] + 1) then
11175 consecutives = consecutives + 1
11176 if consecutives >= 5 then
11177 highcard = v
11178 elseif consecutives == 4 and v == 5 then
11179 lowconsecutives = true
11180 end
11181 else
11182 consecutives = 1
11183 end
11184 if v == 14 then
11185 ace = true
11186 end
11187 end
11188 end
11189
11190 -- check for straight flush to the 5
11191 if highcard == 0 and ace and lowconsecutives then highcard = 5 end
11192
11193 if highcard > 0 then
11194 broadcastToAll (fontcolors[player].bbcode..player..' shows a '..flushsuit..' Straight Flush to the '..valueToName(highcard), {1, 1, 1})
11195 return 0
11196 end
11197 end
11198
11199 -- Create list of all cards based on rank to use in finding pairs, etc.
11200
11201 local cards2 = {}
11202
11203 for i, v in ipairs (suits) do
11204 for j, w in ipairs (cards[v]) do
11205 table.insert(cards2, w)
11206 end
11207 end
11208
11209 table.sort(cards2)
11210
11211 local quantities = {}
11212
11213 for i, v in ipairs (cards2) do
11214 if not quantities[valueToName(v)] then
11215 quantities[valueToName(v)] = 1
11216 else
11217 quantities[valueToName(v)] = quantities[valueToName(v)] + 1
11218 end
11219 end
11220
11221 local quads = {}
11222 local trips = {}
11223 local pairs = {}
11224 local singles = {}
11225 for i, v in ipairs (ranks) do
11226 if quantities[v] == 4 then table.insert(quads, v) end
11227 if quantities[v] == 3 then table.insert(trips, v) end
11228 if quantities[v] == 2 then table.insert(pairs, v) end
11229 if quantities[v] == 1 then table.insert(singles, v) end
11230 end
11231
11232 -- Check for quads
11233 if #quads > 0 then
11234 broadcastToAll(fontcolors[player].bbcode..player..' shows Four of a Kind: '..quads[#quads]..'s!', {1, 1, 1})
11235 return 0
11236 end
11237
11238 -- Check for full house
11239 if #trips > 0 and #trips + #pairs >= 2 then
11240 if #pairs > 0 then
11241 printToAll (fontcolors[player].bbcode..player..' shows a Full House: '..trips[#trips]..'s full of '..pairs[#pairs]..'s!', {1, 1, 1})
11242 else
11243 printToAll (fontcolors[player].bbcode..player..' shows a Full House: '..trips[#trips]..'s full of '..trips[#trips-1]..'s!', {1, 1, 1})
11244 end
11245 return 0
11246 end
11247
11248 -- Flush
11249 if flushexists then
11250 printToAll (fontcolors[player].bbcode..player..' shows a '..flushsuit..' Flush, '..valueToName(cards[flushsuit][#cards[flushsuit]])..' high!', {1, 1, 1})
11251 return 0
11252 end
11253
11254 -- Check for Straight
11255 local consecutives = 0
11256 local highcard = 0
11257 local lowconsecutives = false
11258 local ace = false
11259 for i, v in ipairs (cards2) do
11260 if i == 1 then
11261 consecutives = 1
11262 else
11263 if v == (cards2[i-1] + 1) then
11264 consecutives = consecutives + 1
11265 if consecutives >= 5 then
11266 highcard = v
11267 elseif consecutives == 4 and v == 5 then
11268 lowconsecutives = true
11269 end
11270 elseif v ~= cards2[i-1] then
11271 consecutives = 1
11272 end
11273 if v == 14 then
11274 ace = true
11275 end
11276 end
11277 end
11278
11279 -- check for straight flush to the 5
11280 if highcard == 0 and ace and lowconsecutives then highcard = 5 end
11281
11282 if highcard > 0 then
11283 printToAll (fontcolors[player].bbcode..player..' shows a Straight to the '..valueToName(highcard)..'!', {1, 1, 1})
11284 return 0
11285 end
11286
11287 -- Check for trips
11288 if #trips > 0 then
11289 printToAll (fontcolors[player].bbcode..player..' shows Three of a Kind: '..trips[#trips]..'s.', {1, 1, 1})
11290 return 0
11291 end
11292
11293 -- Check for two pair
11294 if #pairs >= 2 then
11295 printToAll (fontcolors[player].bbcode..player..' shows Two Pair: '..pairs[#pairs]..'s and '..pairs[#pairs-1]..'s.', {1, 1, 1})
11296 return 0
11297 end
11298
11299 -- Check for one pair
11300 if #pairs == 1 then
11301 printToAll (fontcolors[player].bbcode..player..' shows One Pair: '..pairs[#pairs]..'s.', {1, 1, 1})
11302 return 0
11303 end
11304
11305 -- High card
11306 printToAll (fontcolors[player].bbcode..player..' shows '..singles[#singles]..' High.', {1, 1, 1})
11307
11308end
11309
11310function getSevenCards(player)
11311 local sevencards = {}
11312
11313 for i, v in ipairs (boardzone.getObjects()) do
11314 if v.tag == 'Card' then
11315 if v.getName() == '' or v.getDescription() == '' then return nil end
11316 sevencards[#sevencards + 1] = v
11317 end
11318 end
11319 for i, v in ipairs (revealedcards[player]) do
11320 local card = getObjectFromGUID(v)
11321 if card.tag == 'Card' then
11322 if card.getName() == '' or card.getDescription() == '' then return nil end
11323 sevencards[#sevencards + 1] = card
11324 end
11325 end
11326
11327 return sevencards
11328end
11329
11330function getConvertedName(name)
11331 if name == '2' then return 'Two' end
11332 if name == '3' then return 'Three' end
11333 if name == '4' then return 'Four' end
11334 if name == '5' then return 'Five' end
11335 if name == '6' then return 'Six' end
11336 if name == '7' then return 'Seven' end
11337 if name == '8' then return 'Eight' end
11338 if name == '9' then return 'Nine' end
11339 if name == '10' then return 'Ten' end
11340 return name
11341end
11342
11343function nameToValue(name)
11344 if name == 'Two' then return 2 end
11345 if name == 'Three' then return 3 end
11346 if name == 'Four' then return 4 end
11347 if name == 'Five' then return 5 end
11348 if name == 'Six' then return 6 end
11349 if name == 'Seven' then return 7 end
11350 if name == 'Eight' then return 8 end
11351 if name == 'Nine' then return 9 end
11352 if name == 'Ten' then return 10 end
11353 if name == 'Jack' then return 11 end
11354 if name == 'Queen' then return 12 end
11355 if name == 'King' then return 13 end
11356 if name == 'Ace' then return 14 end
11357end
11358
11359function valueToName(value)
11360 if value == 2 then return 'Two' end
11361 if value == 3 then return 'Three' end
11362 if value == 4 then return 'Four' end
11363 if value == 5 then return 'Five' end
11364 if value == 6 then return 'Six' end
11365 if value == 7 then return 'Seven' end
11366 if value == 8 then return 'Eight' end
11367 if value == 9 then return 'Nine' end
11368 if value == 10 then return 'Ten' end
11369 if value == 11 then return 'Jack' end
11370 if value == 12 then return 'Queen' end
11371 if value == 13 then return 'King' end
11372 if value == 14 then return 'Ace' end
11373end
11374
11375function onObjectPickedUp(player, object)
11376
11377 if Player[player].admin then return 0 end
11378
11379 local r = object.getPosition()
11380 local description = ''
11381
11382 if object.getName() ~= '' then
11383 description = object.getName()
11384 elseif object.getValue() then
11385 description = object.getValue()
11386 else
11387 description = object.tag
11388 end
11389
11390 --[[ Check if the object is inside the dealer's area --]]
11391 if r.x < 8.5 and r.x > -8.5 and r.z < -16.5 and r.z > -52 then
11392 object.translate({0, 1, 0})
11393 print (player..' has attempted to pick up an object ('..description..') in the dealer\'s area.')
11394 return 0
11395 end
11396
11397 --[[ Check if the object is on another player's table or bet zone, and not in player's own table or betzone --]]
11398
11399 if not objectExistsInList(tablezones[player].getObjects(), object) and not objectExistsInList(betzones[player].getObjects(), object) then
11400 for i, v in ipairs (colors) do
11401 if v ~= player then
11402 if objectExistsInList(tablezones[v].getObjects(), object) or objectExistsInList(betzones[v].getObjects(), object) or objectExistsInList(backtablezones[v].getObjects(), object) then
11403 object.translate({0, 1, 0})
11404 print (player..' has attempted to pick up an object ('..description..') on player '..v..'\'s table or bet square.')
11405 return 0
11406 end
11407 end
11408 end
11409 end
11410
11411 --[[ If the object is a card and not in the player's own hand, then drop it. Only works with named cards. --]]
11412
11413 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}
11414 if object.tag == 'Card' and ranks[getConvertedName(object.getName())] then
11415 for i, v in ipairs (Player[player].getHandObjects()) do
11416 if object == v then return 0 end
11417 end
11418 for i, v in ipairs (holecards[player]) do
11419 if object.getGUID() == v then return 0 end
11420 end
11421 for i, v in ipairs (revealedcards[player]) do
11422 if object.getGUID() == v then return 0 end
11423 end
11424 object.translate({0, 1, 0})
11425 print (player..' has attempted to pick up a card that does not belong to them.')
11426 end
11427end
11428
11429function initializePot()
11430 local p = {}
11431 p = stacklayout[options.stacklayout]
11432
11433 -- reset height
11434 for i, v in pairs (p) do
11435 v.height = 0
11436 v.x = 0
11437 v.y = 0
11438 v.z = 0
11439 end
11440 return p
11441end
11442
11443function createSidepot(ob, pl)
11444 createSidepotPl = pl
11445 createSidepotOb = ob
11446 startLuaCoroutine(nil, "coCreateSidepot")
11447end
11448
11449function coCreateSidepot()
11450
11451 pl = createSidepotPl
11452 ob = createSidepotOb
11453
11454 if sidepotfailcount > sidepotfailcountlimit then
11455 convertfailcount = 0
11456 print("Error in Sidepotcreations, chips were moved");
11457 return 1
11458 end
11459
11460 if pl then
11461 if not Player[pl].admin then
11462 return 1
11463 end
11464 end
11465 -- cant build sidepots twice
11466 if sidepotcalculated then
11467 return 1
11468 end
11469
11470 local chips1 = {}
11471 local positions1 = {}
11472 local rotations1 = {}
11473 for i, v in pairs (betzones) do
11474 objects = {}
11475 objects = v.getObjects()
11476 for j, w in ipairs (objects) do
11477 if w.tag == 'Chip' then
11478 if w.getValue() or currencyToNumber(w.getName()) != nil then
11479 chips1[#chips1 + 1] = w
11480 end
11481 end
11482 end
11483 end
11484 for i, v in ipairs (chips1) do
11485 positions1[#positions1 + 1] = v.getPosition()
11486 rotations1[#rotations1 + 1] = v.getRotation()
11487 end
11488 for i = 1, 2 do
11489 coroutine.yield(0)
11490 end
11491 local chips2 = {}
11492 local playerbets = {}
11493 local positions2 = {}
11494 local rotations2 = {}
11495 for i, v in ipairs (colors) do
11496 playerbets[i] = { getChipValues(betzones[v], chips2), betzones[v], v, 0}
11497 end
11498 for i, v in ipairs (chips2) do
11499 positions2[#positions2 + 1] = v.getPosition()
11500 rotations2[#rotations2 + 1] = v.getRotation()
11501 end
11502 --[[ Check chip positions --]]
11503 for i, v in ipairs(positions1) do
11504 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
11505 sidepotfailcount = sidepotfailcount + 1
11506 --startLuaCoroutine(nil, 'convertBetsToPot')
11507 print("error in convert")
11508
11509 return 1
11510 end
11511 end
11512 table.sort(playerbets,compare)
11513 for i, v in ipairs (playerbets) do
11514 if i == #playerbets then
11515 v[4] = v[1] * i
11516 else
11517 v[4] = ( v[1]-playerbets[i+1][1]) * i
11518 end
11519 end
11520 for i, v in ipairs (chips2) do
11521 v.destruct()
11522 end
11523
11524 if clock ~= nil then
11525 clock.destruct()
11526 end
11527
11528 local spawnedcolors = {}
11529 local params = {}
11530 params.type = "backgammon_piece_white"
11531 params.position = {5, 2, 1}
11532 params.rotation = {0, 180, 0}
11533 params.scale = {0.4, 0.2, 0.4}
11534
11535 for i, v in ipairs (playerbets) do
11536 if v[1] > 0 then
11537 bettext[v[3]].setValue("Bet: $" .. tostring(v[1]))
11538 sidepottext[v[3]].setValue("Sidepot: $" .. tostring(v[4]))
11539 local p = {}
11540 local r = {}
11541 p = v[2].getPosition()
11542 r = v[2].getRotation()
11543 r.y = (r.y + 180) % 360
11544 spawnChips(v[4], p, r)
11545 local zoffset = -3
11546 local xoffset = -3
11547 p.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11548 p.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11549 local zoffset = 0
11550 local xoffset = 0.5
11551 spawnedcolors[#spawnedcolors + 1] = v[3]
11552 for k, w in ipairs(spawnedcolors) do
11553
11554 p.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11555 p.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11556 params.position = p
11557 ob = spawnObject(params)
11558 ob.setColorTint(fontcolors[w])
11559 ob.setName("Sidepotmarker")
11560 end
11561
11562 end
11563 end
11564
11565
11566
11567
11568
11569
11570 for j, v in ipairs (playerbets) do
11571
11572
11573 end
11574 sidepotcalculated = true
11575 return 1
11576end
11577
11578
11579-- chips should correspond to the chipstable, position, rotation is where the chips should move to
11580function moveChips(chips, p, r)
11581 local chipstack = initializePot()
11582 local h = {}
11583 local chips2 = {}
11584 for i, v in pairs (chipstack) do
11585 chips2[i] = {}
11586 h[i] = {}
11587 end
11588 for i, v in pairs(chipstack) do
11589 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
11590 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
11591 v.y = p.y + v.yoffset + v.height
11592 end
11593
11594 -- move also chips within the potzone
11595 for j, w in ipairs (chips) do
11596 if w.tag == "Chip" and not w.held_by_color then
11597 local hit = false
11598 for k, x in pairs (currencies) do
11599 local stack
11600 if h[x.stack] == nil then
11601 stack = "misc"
11602 else
11603 stack = x.stack
11604 end
11605 if w.getValue() == x.value or w.getName() == x.name then
11606 hit = true
11607 chips2[stack][#chips2[stack] + 1] = w
11608 if w.getQuantity() > 0 then
11609 h[stack][#h[stack] + 1] = w.getQuantity() * x.height
11610 else
11611 h[stack][#h[stack] + 1] = x.height
11612 end
11613 break -- next object
11614 end
11615 end
11616 -- unknown chips
11617 if not hit then
11618
11619 local x = currencies[#currencies] -- should be dummy value
11620 local stack = "misc"
11621 chips2[stack][#chips2[stack] + 1] = w
11622 if w.getQuantity() > 0 then
11623 h[stack][#h[stack] + 1] = w.getQuantity() * x.height
11624 else
11625 h[stack][#h[stack] + 1] = x.height
11626 end
11627 end
11628 end
11629 end
11630
11631 for i, v in pairs (chips2) do
11632 for j, w in ipairs (v) do
11633
11634 local rot = {0,0,0}
11635 for k, x in pairs (currencies) do
11636 if (w.getValue() == x.value) or (w.getName() == x.name) then
11637 rot.x = (r.x + x.params.rotation[1]) % 360
11638 rot.y = (r.y + x.params.rotation[2]) % 360
11639 rot.z = (r.z + x.params.rotation[3]) % 360
11640 rot[1] = rot.x
11641 rot[2] = rot.y
11642 rot[3] = rot.z
11643 end
11644 end
11645 w.setRotation(rot)
11646 w.setPosition(chipstack[i])
11647 w.translate({0, 0.1, 0})
11648 chipstack[i].y = chipstack[i].y + h[i][j]
11649 chipstack[i].height = chipstack[i].height + h[i][j]
11650 end
11651 end
11652
11653
11654 return 1
11655end
11656
11657-- spawnChips(money, position, rotation)
11658function spawnChips(money, p, r, minheight)
11659 if minheight == nil or minheight==null then
11660 minheight = 0
11661 end
11662 money = money + 0.001 -- prevents rounding error
11663 money = comma_value(money) + 0
11664
11665 local chipstack = {}
11666
11667 local params = {}
11668 local custom = {}
11669
11670 -- prevent spawning to much Chips
11671 if money > currencies[1].value * 50 then
11672
11673
11674 money = math.floor(money)
11675 params.position = p
11676 params.rotation = r
11677 params.scale = {1.12,1.12,1.12}
11678 params.params = {"$" .. string.format("%.0f", money) }
11679 params.type = 'Custom_Model'
11680 params.callback = nil
11681 custom.mesh = "http://cloud-3.steamusercontent.com/ugc/841461304086373873/9925B4E8ECFC5BBB13AB9FD1BB93E768C2DD3151/"
11682 custom.diffuse = "http://cloud-3.steamusercontent.com/ugc/841461304094020976/22277301EF8ACDDD4649BD6F382CF950967A8D50/"
11683
11684 custom.type = 5
11685 custom.material = 1
11686
11687 local obj = spawnObject(params)
11688 obj.setCustomObject(custom)
11689 obj.setName("$" .. comma_value(money) )
11690 printToAll('Conversion Limit reached, alternate Bar with the money value spawned', {1, 1, 0})
11691 return 1
11692 end
11693
11694
11695
11696 chipstack = initializePot()
11697
11698
11699 for i, v in pairs(chipstack) do
11700 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
11701 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
11702 v.y = p.y + v.yoffset + v.height
11703 end
11704
11705 params.rotation = r
11706 params.callback_owner = Global
11707
11708 local i = #currencies
11709 while i>0 do
11710
11711
11712 v = currencies[i]
11713 if not (v.value == -1) then
11714 params.rotation = v.params.rotation
11715 params.scale = v.params.scale
11716 params.params = {v.name}
11717 local rot = {}
11718 rot.x = (r.x + v.params.rotation[1]) % 360
11719 rot.y = (r.y + v.params.rotation[2]) % 360
11720 rot.z = (r.z + v.params.rotation[3]) % 360
11721 rot[1] = rot.x
11722 rot[2] = rot.y
11723 rot[3] = rot.z
11724 params.rotation = rot
11725 local stack = ''
11726 if chipstack[v.stack] == nil then
11727 stack = "misc"
11728 else
11729 stack = v.stack
11730 end
11731 if not v.standard then
11732
11733 params.type = 'Custom_Model'
11734 params.callback_owner = Global
11735 custom.mesh = v.custom.mesh
11736 custom.diffuse = v.custom.diffuse
11737 custom.type = 5
11738 custom.material = 1
11739
11740
11741 local j=0
11742 while (j<minheight) and (money >= v.value) do
11743 params.position = {}
11744 params.position.x = chipstack[stack].x
11745 params.position.y = chipstack[stack].y + chipstack[stack].height
11746 params.position.z = chipstack[stack].z
11747 local obj = spawnObject(params)
11748 obj.setCustomObject(custom)
11749 obj.setName(v.name)
11750 money = money - v.value
11751 chipstack[stack].height = chipstack[stack].height + v.height
11752 j=j+1
11753 end
11754 else
11755 params.type = 'Chip_'.. v.value
11756 params.callback = nil
11757 params.callback_owner = Global
11758 params.params = nil
11759 local j=0
11760 while (j<minheight) and (money >= v.value) do
11761 params.position = {}
11762 params.position.x = chipstack[stack].x
11763 params.position.y = chipstack[stack].y + chipstack[stack].height
11764 params.position.z = chipstack[stack].z
11765 spawnObject(params)
11766 money = money - v.value
11767 chipstack[stack].height = chipstack[stack].height + v.height
11768 j=j+1
11769 end
11770 end
11771 end
11772 i = i - 1
11773 end
11774
11775
11776 for i, v in ipairs (currencies) do
11777
11778 if v.value == -1 then
11779 break -- no dummy chips spawn
11780 end
11781 params.rotation = v.params.rotation
11782 params.scale = v.params.scale
11783 params.params = {v.name}
11784 if chipstack[v.stack] == nil then
11785 stack = "misc"
11786 else
11787 stack = v.stack
11788 end
11789
11790 if not v.standard then
11791 params.type = 'Custom_Model'
11792 params.callback_owner = Global
11793 custom.mesh = v.custom.mesh
11794 custom.diffuse = v.custom.diffuse
11795 custom.type = 5
11796 custom.material = 1
11797 local rot = {}
11798 rot.x = (r.x + v.params.rotation[1]) % 360
11799 rot.y = (r.y + v.params.rotation[2]) % 360
11800 rot.z = (r.z + v.params.rotation[3]) % 360
11801 rot[1] = rot.x
11802 rot[2] = rot.y
11803 rot[3] = rot.z
11804 params.rotation = rot
11805 while money >= tonumber(v.value) do
11806 params.position = {}
11807 params.position.x = chipstack[stack].x
11808 params.position.y = chipstack[stack].y + chipstack[stack].height
11809 params.position.z = chipstack[stack].z
11810 local obj = spawnObject(params)
11811 obj.setCustomObject(custom)
11812 obj.setName(v.name)
11813 money = money - v.value
11814 chipstack[stack].height = chipstack[stack].height + v.height
11815 end
11816 else
11817 params.type = 'Chip_'.. v.value
11818 params.callback = nil
11819 params.callback_owner = Global
11820 params.params = nil
11821 while money >= v.value do
11822 params.position = {}
11823 params.position.x = chipstack[stack].x
11824 params.position.y = chipstack[stack].y + chipstack[stack].height
11825 params.position.z = chipstack[stack].z
11826 spawnObject(params)
11827 money = money - v.value
11828 chipstack[stack].height = chipstack[stack].height + v.height
11829 end
11830 end
11831 end
11832 return money -- returns the leftover money
11833end
11834
11835function sortPlayerChips(ob, pl)
11836 if Player[pl].admin then
11837 pl = ob.getDescription()
11838 elseif ob.getDescription() ~= pl then
11839 return 1
11840 end
11841
11842 local chips = {}
11843 local value
11844 value = "$" .. getChipValues(tablezones[pl],chips)
11845 if options.displayplayermoney then
11846 tablezonetext[pl].setValue(value)
11847 end
11848
11849 p = tablezones[pl].getPosition()
11850 r = tablezones[pl].getRotation()
11851
11852 xoffset = -1.15
11853 zoffset = 1
11854 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11855 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11856 y = p.y - 10
11857
11858 pos = {x, y, z}
11859 pos.x = x
11860 pos.y = y
11861 pos.z = z
11862
11863 r.y = (r.y + 180) % 360
11864 moveChips(chips,pos,r)
11865
11866
11867end
11868
11869function quickConvertPlayerChips10(ob, pl)
11870 if Player[pl].admin then
11871 pl = ob.getDescription()
11872 elseif ob.getDescription() ~= pl then
11873 return 1
11874 end
11875
11876
11877 if quickConvertPlayerChips == true then
11878 -- if 15 seconds are over after the last convertion then start another one (function broke before)
11879 if (os.time() - quickConvertPlayerTime) < 15 then
11880 return
11881 else
11882 quickConvertPlayerTime = os.time()
11883 end
11884 else
11885 quickConvertPlayerChips = true
11886 quickConvertPlayerTime = os.time()
11887 end
11888
11889
11890
11891
11892 quickConvertPlayersPlayer = pl
11893 quickConvertPlayersObject = ob
11894
11895 startLuaCoroutine(nil, 'quickConvertPlayerChips10Co')
11896
11897end
11898
11899function quickConvertPlayerChips10Co()
11900
11901
11902 local pl = quickConvertPlayersPlayer
11903 local ob = quickConvertPlayersObject
11904
11905
11906
11907
11908 local objects = {}
11909 local chips1 = {}
11910 local positions1 = {}
11911 local rotations1 = {}
11912
11913 v = tablezones[pl]
11914 objects = {}
11915 objects = v.getObjects()
11916 for j, w in ipairs (objects) do
11917 if w.tag == 'Chip' then
11918 if w.getValue() or currencyToNumber(w.getName()) != nil then
11919 chips1[#chips1 + 1] = w
11920 end
11921 end
11922 end
11923
11924
11925 for i, v in ipairs (chips1) do
11926 positions1[#positions1 + 1] = v.getPosition()
11927 rotations1[#rotations1 + 1] = v.getRotation()
11928 end
11929
11930 for i=0,2 do
11931 coroutine.yield(0)
11932 end
11933
11934
11935 objects = {}
11936 local chips2 = {}
11937 local positions2 = {}
11938 local rotations2 = {}
11939
11940 v = tablezones[pl]
11941 objects = {}
11942 objects = v.getObjects()
11943 for j, w in ipairs (objects) do
11944 if w.tag == 'Chip' then
11945 if w.getValue() or currencyToNumber(w.getName()) != nil then
11946 chips2[#chips2 + 1] = w
11947 end
11948 end
11949 end
11950
11951
11952 if #chips2 ~= #chips1 then
11953 quickConvertPlayerChips = false
11954 return 1
11955 end
11956
11957 for i=0,2 do
11958 coroutine.yield(0)
11959 end
11960
11961
11962 for i, v in ipairs (chips2) do
11963 positions2[#positions2 + 1] = v.getPosition()
11964 rotations2[#rotations2 + 1] = v.getRotation()
11965 end
11966
11967 --[[ Check chip positions --]]
11968 for i, v in ipairs(positions1) do
11969 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
11970 quickConvertPlayerChips = false
11971 return 1
11972 end
11973 end
11974
11975 --[[ Check chip rotations --]]
11976 for i, v in pairs(rotations1) do
11977 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
11978 quickConvertPlayerChips = false
11979 return 1
11980 end
11981 end
11982
11983 local chips = {}
11984 local money = 0
11985
11986
11987 money = getChipValues(tablezones[pl], chips)
11988 --[[ Destroy old chips --]]
11989 for i, v in ipairs (chips) do
11990 v.destruct()
11991 end
11992
11993 for i=0,10 do
11994 coroutine.yield(0)
11995 end
11996
11997 local p = tablezones[pl].getPosition()
11998 local r = tablezones[pl].getRotation()
11999
12000 xoffset = -1.15
12001 zoffset = 1
12002 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12003 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12004 y = p.y - 10
12005
12006 pos = {x, y, z}
12007 pos.x = x
12008 pos.y = y
12009 pos.z = z
12010
12011 r.y = (r.y + 180) % 360
12012
12013 spawnChips(money, pos,r, 10)
12014
12015
12016 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
12017
12018 quickConvertPlayerChips = false
12019 return 1
12020end
12021
12022function quickConvertPlayerChips10_5(ob, pl)
12023 if Player[pl].admin then
12024 pl = ob.getDescription()
12025 elseif ob.getDescription() ~= pl then
12026 return 1
12027 end
12028
12029 if quickConvertPlayerChips == true then
12030 -- if 30 seconds are over after the last convertion then start another one (function broke before)
12031 if (os.time() - quickConvertPlayerTime) < 30 then
12032 return
12033 else
12034 quickConvertPlayerTime = os.time()
12035 end
12036 else
12037 quickConvertPlayerChips = true
12038 quickConvertPlayerTime = os.time()
12039 end
12040
12041 quickConvertPlayersPlayer = pl
12042 quickConvertPlayersObject = ob
12043
12044 startLuaCoroutine(nil, 'quickConvertPlayerChips10_5Co')
12045
12046end
12047
12048
12049
12050
12051function quickConvertPlayerChips10_5Co()
12052 local pl = quickConvertPlayersPlayer
12053 local ob = quickConvertPlayersObject
12054
12055
12056
12057
12058 local objects = {}
12059 local chips1 = {}
12060 local positions1 = {}
12061 local rotations1 = {}
12062
12063 v = tablezones[pl]
12064 objects = {}
12065 objects = v.getObjects()
12066 for j, w in ipairs (objects) do
12067 if w.tag == 'Chip' then
12068 if w.getValue() or currencyToNumber(w.getName()) != nil then
12069 chips1[#chips1 + 1] = w
12070 end
12071 end
12072 end
12073
12074
12075 for i, v in ipairs (chips1) do
12076 positions1[#positions1 + 1] = v.getPosition()
12077 rotations1[#rotations1 + 1] = v.getRotation()
12078 end
12079
12080 for i=0,2 do
12081 coroutine.yield(0)
12082 end
12083
12084
12085 objects = {}
12086 local chips2 = {}
12087 local positions2 = {}
12088 local rotations2 = {}
12089
12090 v = tablezones[pl]
12091 objects = {}
12092 objects = v.getObjects()
12093 for j, w in ipairs (objects) do
12094 if w.tag == 'Chip' then
12095 if w.getValue() or currencyToNumber(w.getName()) != nil then
12096 chips2[#chips2 + 1] = w
12097 end
12098 end
12099 end
12100
12101
12102 if #chips2 ~= #chips1 then
12103 quickConvertPlayerChips = false
12104 return 1
12105 end
12106
12107 for i=0,2 do
12108 coroutine.yield(0)
12109 end
12110
12111
12112 for i, v in ipairs (chips2) do
12113 positions2[#positions2 + 1] = v.getPosition()
12114 rotations2[#rotations2 + 1] = v.getRotation()
12115 end
12116
12117 --[[ Check chip positions --]]
12118 for i, v in ipairs(positions1) do
12119 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
12120 quickConvertPlayerChips = false
12121 return 1
12122 end
12123 end
12124
12125 --[[ Check chip rotations --]]
12126 for i, v in pairs(rotations1) do
12127 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
12128 quickConvertPlayerChips = false
12129 return 1
12130 end
12131 end
12132
12133 local chips = {}
12134 local money = 0
12135
12136
12137 money = getChipValues(tablezones[pl], chips)
12138 --[[ Destroy old chips --]]
12139 for i, v in ipairs (chips) do
12140 v.destruct()
12141 end
12142
12143 for i=0,10 do
12144 coroutine.yield(0)
12145 end
12146
12147 local p = tablezones[pl].getPosition()
12148 local r = tablezones[pl].getRotation()
12149
12150 xoffset = -1.15
12151 zoffset = 1
12152 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12153 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12154 y = p.y - 10
12155
12156 pos = {x, y, z}
12157 pos.x = x
12158 pos.y = y
12159 pos.z = z
12160
12161 r.y = (r.y + 180) % 360
12162
12163 local lowStackValue = 0
12164 lowStackValue = currencies[#currencies-1].value * 5 + currencies[#currencies-2].value * 5
12165 if money <= lowStackValue then
12166 spawnChips(money, pos,r, 10)
12167 else
12168
12169 money = money-lowStackValue
12170 spawnChips(money,pos,r,5)
12171 pos["y"] = pos["y"] + 5
12172 spawnChips(lowStackValue,pos,r,5)
12173
12174
12175 end
12176
12177
12178 for i=0,10 do
12179 coroutine.yield(0)
12180 end
12181 -- update money display
12182 if options.displayplayermoney then
12183 local chips = {}
12184 tablezonetext[pl].setValue("$" .. getChipValues(tablezones[pl],chips))
12185 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
12186 quickConvertPlayerChips = false
12187 end
12188 return 1
12189end
12190
12191
12192
12193function splitPot2(ob, pl)
12194 if pl then
12195 if not Player[pl].admin then
12196 return 1
12197 end
12198 end
12199
12200 splitPotObject = ob;
12201 splitPotPlayers = 2;
12202
12203 local p = ob.getPosition()
12204 local r = ob.getRotation()
12205 local s = ob.getScale()
12206 params = {}
12207 params.type = 'ScriptingTrigger'
12208 params.callback = 'splitPot'
12209 params.scale = {s.x, 20, s.z*1.9}
12210 params.position = {p.x, p.y + 10, p.z}
12211 params.rotation = r
12212
12213 splitPotZone = spawnObject(params)
12214end
12215
12216function splitPot3(ob, pl)
12217 if pl then
12218 if not Player[pl].admin then
12219 return 1
12220 end
12221 end
12222
12223 splitPotObject = ob;
12224 splitPotPlayers = 3;
12225
12226 local p = ob.getPosition()
12227 local r = ob.getRotation()
12228 local s = ob.getScale()
12229 params = {}
12230 params.type = 'ScriptingTrigger'
12231 params.callback = 'splitPot'
12232 params.scale = {s.x, 20, s.z*1.9}
12233 params.position = {p.x, p.y + 10, p.z}
12234 params.rotation = r
12235
12236 splitPotZone = spawnObject(params)
12237end
12238
12239function splitPot4(ob, pl)
12240 if pl then
12241 if not Player[pl].admin then
12242 return 1
12243 end
12244 end
12245
12246 splitPotObject = ob;
12247 splitPotPlayers =4 ;
12248
12249 local p = ob.getPosition()
12250 local r = ob.getRotation()
12251 local s = ob.getScale()
12252 params = {}
12253 params.type = 'ScriptingTrigger'
12254 params.callback = 'splitPot'
12255 params.scale = {s.x, 20, s.z*1.9}
12256 params.position = {p.x, p.y + 10, p.z}
12257 params.rotation = r
12258
12259 splitPotZone = spawnObject(params)
12260end
12261
12262function splitPot5(ob, pl)
12263 if pl then
12264 if not Player[pl].admin then
12265 return 1
12266 end
12267 end
12268
12269 splitPotObject = ob;
12270 splitPotPlayers = 5;
12271
12272 local p = ob.getPosition()
12273 local r = ob.getRotation()
12274 local s = ob.getScale()
12275 params = {}
12276 params.type = 'ScriptingTrigger'
12277 params.callback = 'splitPot'
12278 params.scale = {s.x, 20, s.z*1.9}
12279 params.position = {p.x, p.y + 10, p.z}
12280 params.rotation = r
12281
12282 splitPotZone = spawnObject(params)
12283end
12284
12285function splitPot6(ob, pl)
12286 if pl then
12287 if not Player[pl].admin then
12288 return 1
12289 end
12290 end
12291
12292 splitPotObject = ob;
12293 splitPotPlayers = 6;
12294
12295 local p = ob.getPosition()
12296 local r = ob.getRotation()
12297 local s = ob.getScale()
12298 params = {}
12299 params.type = 'ScriptingTrigger'
12300 params.callback = 'splitPot'
12301 params.scale = {s.x, 20, s.z*1.9}
12302 params.position = {p.x, p.y + 10, p.z}
12303 params.rotation = r
12304
12305 splitPotZone = spawnObject(params)
12306end
12307
12308function splitPot7(ob, pl)
12309 if pl then
12310 if not Player[pl].admin then
12311 return 1
12312 end
12313 end
12314
12315 splitPotObject = ob;
12316 splitPotPlayers = 7;
12317
12318 local p = ob.getPosition()
12319 local r = ob.getRotation()
12320 local s = ob.getScale()
12321 params = {}
12322 params.type = 'ScriptingTrigger'
12323 params.callback = 'splitPot'
12324 params.scale = {s.x, 20, s.z*1.9}
12325 params.position = {p.x, p.y + 10, p.z}
12326 params.rotation = r
12327
12328 splitPotZone = spawnObject(params)
12329end
12330
12331function splitPot8(ob, pl)
12332 if pl then
12333 if not Player[pl].admin then
12334 return 1
12335 end
12336 end
12337
12338 splitPotObject = ob;
12339 splitPotPlayers = 8;
12340
12341 local p = ob.getPosition()
12342 local r = ob.getRotation()
12343 local s = ob.getScale()
12344 params = {}
12345 params.type = 'ScriptingTrigger'
12346 params.callback = 'splitPot'
12347 params.scale = {s.x, 20, s.z*1.9}
12348 params.position = {p.x, p.y + 10, p.z}
12349 params.rotation = r
12350
12351 splitPotZone = spawnObject(params)
12352end
12353
12354function splitPot9(ob, pl)
12355 if pl then
12356 if not Player[pl].admin then
12357 return 1
12358 end
12359 end
12360
12361 splitPotObject = ob;
12362 splitPotPlayers = 9;
12363
12364 local p = ob.getPosition()
12365 local r = ob.getRotation()
12366 local s = ob.getScale()
12367 params = {}
12368 params.type = 'ScriptingTrigger'
12369 params.callback = 'splitPot'
12370 params.scale = {s.x, 20, s.z*1.9}
12371 params.position = {p.x, p.y + 10, p.z}
12372 params.rotation = r
12373
12374 splitPotZone = spawnObject(params)
12375end
12376
12377
12378function splitPot10(ob, pl)
12379 if pl then
12380 if not Player[pl].admin then
12381 return 1
12382 end
12383 end
12384
12385 splitPotObject = ob;
12386 splitPotPlayers = 10;
12387
12388 local p = ob.getPosition()
12389 local r = ob.getRotation()
12390 local s = ob.getScale()
12391 params = {}
12392 params.type = 'ScriptingTrigger'
12393 params.callback = 'splitPot'
12394 params.scale = {s.x, 20, s.z*1.9}
12395 params.position = {p.x, p.y + 10, p.z}
12396 params.rotation = r
12397
12398 splitPotZone = spawnObject(params)
12399end
12400
12401
12402function splitPot()
12403 local chips = {}
12404 local value = 0;
12405
12406 value = getChipValues(splitPotZone,chips)
12407 leftover = 0;
12408 local spawnvalue = value / splitPotPlayers
12409
12410 for i, v in ipairs (chips) do
12411 v.destruct()
12412 end
12413
12414 local p = splitPotObject.getPosition()
12415 local r = splitPotObject.getRotation()
12416
12417
12418
12419
12420
12421
12422 local xoffset = 5.5
12423 local zoffset = -9.8
12424 local pos = {}
12425 pos.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12426 pos.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12427 pos.y = p.y + 0.2
12428 r[2] = r.y
12429
12430 local i = 0
12431
12432 xoffset = 12
12433 zoffset = 6.5
12434 while i < splitPotPlayers do
12435 leftover = leftover + spawnChips(spawnvalue, pos, r)
12436 pos.x = pos.x + (math.sin(math.rad(r.y)) * zoffset)
12437 pos.z = pos.z + (math.cos(math.rad(r.y)) * zoffset)
12438
12439 if i == 4 then
12440 pos.x = pos.x - (math.cos(math.rad(r.y)) * xoffset + (math.sin(math.rad(r.y)) * zoffset) * 5)
12441 pos.z = pos.z + (math.sin(math.rad(r.y)) * xoffset - (math.cos(math.rad(r.y)) * zoffset) * 5 )
12442 end
12443
12444
12445 i = i + 1
12446 end
12447
12448
12449 r = splitPotObject.getRotation()
12450 leftover = leftover + 0.1 -- avoid rounding errors for double number
12451 xoffset = -6.5
12452 zoffset = -14.8
12453 pos = {}
12454 pos.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12455 pos.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12456 pos.y = p.y + 0.2
12457 spawnChips(leftover, pos, r)
12458
12459
12460 splitPotZone.destruct()
12461end
12462
12463function goAllIn(ob, pl)
12464 if ob.getDescription() ~= pl then
12465 return 1
12466 end
12467
12468 if pl ~= actionon then
12469 return 0
12470 end
12471
12472 local chips = {}
12473 getChipValues(betzones[pl],chips)
12474 getChipValues(tablezones[pl],chips)
12475 p = betzones[pl].getPosition()
12476 r = betzones[pl].getRotation()
12477 p.y = p.y - 10
12478
12479 moveChips(chips,p,r)
12480
12481
12482end
12483
12484function compare(a,b)
12485 return a[1] > b[1]
12486end
12487
12488function goAFK(ob, pl)
12489 if Player[pl].admin then
12490 pl = ob.getDescription()
12491 elseif ob.getDescription() ~= pl then
12492 return 1
12493 end
12494
12495 local objects = betzones[pl].getObjects()
12496 local x = 0
12497 local found = false
12498
12499 for i, v in ipairs(objects) do
12500 if v.getName() == "AFK" then
12501 found = true
12502 v.destruct()
12503 end
12504 end
12505 if afkClock[pl] ~= nil then
12506 found = true
12507 afkClock[pl].destruct()
12508 afkClock[pl] = nil
12509 end
12510
12511 if not found then
12512 local params = {}
12513 params.type = 'Custom_Model'
12514 params.position = betzones[pl].getPosition()
12515 params.scale = {1, 1, 1}
12516 params.rotation = betzones[pl].getPosition()
12517
12518 local playerhand = getPlayerHandPositionAndRotation(pl)
12519 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 5, 1.4, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 5}
12520 params.rotation = {0, playerhand['rot_y'], 0}
12521 params.callback = 'setAfkButton'
12522 afkButton = spawnObject(params)
12523
12524 local custom = {}
12525 custom.mesh = 'pastebin.com/raw.php?i=qv6mnq65'
12526 custom.diffuse = 'http://cloud-3.steamusercontent.com/ugc/922552872558391998/0518FECF3F4FD1D5BEA34B793FE1C194EEF08483/'
12527 custom.type = 0
12528
12529 afkButton.setCustomObject(custom)
12530 afkButton.setName('AFK')
12531
12532 params = {}
12533 params.type = 'Digital_Clock'
12534
12535 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 8, 0.5, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 8}
12536 params.rotation = {90, playerhand['rot_y'], 0}
12537
12538 params.callback = 'setAfkClockTimer'
12539 afkClock[pl] = spawnObject(params)
12540
12541 end
12542
12543end
12544
12545function setAfkButton(ob, pl)
12546 ob.lock()
12547end
12548
12549function setPlayerAfk(ob, pl)
12550 if pl then
12551 if not Player[pl].admin then
12552 return 1
12553 end
12554 end
12555 if actionon ~= nil then
12556 goAFK(ob,actionon)
12557 end
12558end
12559
12560
12561function setAfkClockTimer(ob, pl)
12562 ob.lock()
12563 ob.Clock.startStopwatch()
12564 ob.setColorTint({0.1, 0.1, 0.1})
12565 ob.setName("AFK")
12566 --afkClock[pl].lock()
12567 --afkClock[pl].Clock.startStopwatch()
12568end
12569
12570function changeMachineButton1(ob, pl)
12571 if not converting then
12572 convertingPlayerColor = pl
12573 convertingPlayer = true
12574 conversionPlayerValue = 1
12575 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12576 end
12577end
12578
12579function changeMachineButton2(ob, pl)
12580 if not converting then
12581 convertingPlayerColor = pl
12582 convertingPlayer = true
12583 conversionPlayerValue = 2
12584 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12585 end
12586end
12587
12588function changeMachineButton3(ob, pl)
12589 if not converting then
12590 convertingPlayerColor = pl
12591 convertingPlayer = true
12592 conversionPlayerValue = 3
12593 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12594 end
12595end
12596
12597function changeMachineButton4(ob, pl)
12598 if not converting then
12599 convertingPlayerColor = pl
12600 convertingPlayer = true
12601 conversionPlayerValue = 4
12602 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12603 end
12604end
12605
12606function changeMachineButton5(ob, pl)
12607 if not converting then
12608 convertingPlayerColor = pl
12609 convertingPlayer = true
12610 conversionPlayerValue = 5
12611 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12612 end
12613end
12614
12615
12616function changeMachineButton6(ob, pl)
12617 if not converting then
12618 convertingPlayerColor = pl
12619 convertingPlayer = true
12620 conversionPlayerValue = 6
12621 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12622 end
12623end
12624
12625function changeMachineButton7(ob, pl)
12626 if not convertingPlayer then
12627 convertingPlayerColor = pl
12628 convertingPlayer = true
12629 conversionPlayerValue = 7
12630 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12631
12632 end
12633end
12634
12635function changeMachineButton8(ob, pl)
12636 if not convertingPlayer then
12637 convertingPlayerColor = pl
12638 convertingPlayer = true
12639 conversionPlayerValue = 8
12640 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12641
12642 end
12643end
12644
12645function changeMachineButton9(ob, pl)
12646 if not convertingPlayer then
12647 convertingPlayerColor = pl
12648 convertingPlayer = true
12649 conversionPlayerValue = 9
12650 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12651
12652 end
12653end
12654
12655function changeMachineButton10(ob, pl)
12656 if not convertingPlayer then
12657 convertingPlayerColor = pl
12658 convertingPlayer = true
12659 conversionPlayerValue = 10
12660 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12661 end
12662end
12663
12664
12665function changeMachineButton11(ob, pl)
12666 if not converting then
12667 clicker = player
12668 convertingPlayer = true
12669 conversionPlayerValue = 11
12670 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12671 end
12672end
12673
12674function changeMachineButton12(ob, pl)
12675 if not converting then
12676 clicker = player
12677 convertingPlayer = true
12678 conversionPlayerValue = 12
12679 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12680 end
12681end
12682
12683function changeMachineButton13(ob, pl)
12684 if not converting then
12685 clicker = player
12686 convertingPlayer = true
12687 conversionPlayerValue = 13
12688 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12689 end
12690end
12691
12692function changeMachineButton14(ob, pl)
12693 if not converting then
12694 clicker = player
12695 convertingPlayer = true
12696 conversionPlayerValue = 14
12697 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12698 end
12699end
12700
12701function changeMachineButton15(ob, pl)
12702 if not converting then
12703 clicker = player
12704 convertingPlayer = true
12705 conversionPlayerValue = 15
12706 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12707 end
12708end
12709
12710
12711function changeMachineButton16(ob, pl)
12712 if not converting then
12713 clicker = player
12714 convertingPlayer = true
12715 conversionPlayerValue = 16
12716 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12717 end
12718end
12719
12720function changeMachineButton17(ob, pl)
12721 if not convertingPlayer then
12722 convertingPlayerColor = pl
12723 convertingPlayer = true
12724 conversionPlayerValue = 17
12725 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12726
12727 end
12728end
12729
12730function changeMachineButton18(ob, pl)
12731 if not convertingPlayer then
12732 convertingPlayerColor = pl
12733 convertingPlayer = true
12734 conversionPlayerValue = 18
12735 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12736
12737 end
12738end
12739
12740function changeMachineButton19(ob, pl)
12741 if not convertingPlayer then
12742 convertingPlayerColor = pl
12743 convertingPlayer = true
12744 conversionPlayerValue = 19
12745 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12746
12747 end
12748end
12749
12750function changeMachineButton20(ob, pl)
12751 if not convertingPlayer then
12752 convertingPlayerColor = pl
12753 convertingPlayer = true
12754 conversionPlayerValue = 20
12755 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12756 end
12757end
12758
12759
12760
12761
12762
12763
12764function spawnChangeMachineZone(ob, pl)
12765 --[[spawn scripting zone on in surface--]]
12766 local p = ob.getPosition()
12767 local r = ob.getRotation()
12768 local s = ob.getScale()
12769
12770 params = {}
12771
12772 params.type = 'ScriptingTrigger'
12773 params.callback = 'checkChangeMachineZone'
12774 params.scale = {s.x * 2, 20, s.z}
12775 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)))}
12776 params.rotation = ob.getRotation()
12777
12778 changeMachineZone = spawnObject(params)
12779end
12780
12781function checkChangeMachineZone()
12782 startLuaCoroutine(nil,'checkChangeMachineZoneCoroutine')
12783end
12784
12785function checkChangeMachineZoneCoroutine()
12786 local objects1 = changeMachineZone.getObjects()
12787 local positions1 = {}
12788 local rotations1 = {}
12789
12790 for i, v in ipairs(objects1) do
12791 positions1[#positions1 + 1] = v.getPosition()
12792 rotations1[#rotations1 + 1] = v.getRotation()
12793 end
12794
12795 for i=1, 2 do
12796 coroutine.yield(0)
12797 end
12798
12799 local objects2 = changeMachineZone.getObjects()
12800 local positions2 = {}
12801 local rotations2 = {}
12802
12803 --[[ Abort if the amount of chips/stacks changed --]]
12804 if #objects1 ~= #objects2 then
12805 broadcastToColor('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
12806 changeMachineZone.destruct()
12807 converting = false
12808 return 1
12809 end
12810
12811 for i, v in ipairs(objects1) do
12812 positions2[#positions2 + 1] = v.getPosition()
12813 rotations2[#rotations2 + 1] = v.getRotation()
12814 end
12815
12816 --[[ Abort if any chips/stacks are moving --]]
12817 for i, v in ipairs (positions1) do
12818 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
12819 broadcastToColor ('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
12820 changeMachineZone.destruct()
12821 convertingPlayer = false
12822 return 1
12823 end
12824
12825 if rotations1[i].x ~= rotations2[i].x or rotations1[i].y ~= rotations2[i].y or rotations1[i].z ~= rotations2[i].z then
12826 broadcastToColor ('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
12827 changeMachineZone.destruct()
12828 convertingPlayer = false
12829 return 1
12830 end
12831 end
12832
12833 local pos = changeMachineZone.getPosition()
12834 pos["y"] = 2
12835 local rot = changeMachineZone.getRotation()
12836 rot["y"] = (rot["y"] + 180) % 360
12837 local chips = {}
12838 money = getChipValues(changeMachineZone, chips)
12839
12840 for i, v in ipairs(chips) do
12841 v.destruct()
12842 end
12843
12844 convertchangeMachine(money, pos, rot , 25)
12845
12846 changeMachineZone.destruct()
12847 convertingPlayer = false
12848 --calculateAndConvert()
12849 return 1
12850end
12851
12852
12853
12854function convertchangeMachine(money, p, r, height)
12855
12856
12857 local chipstack = {}
12858 chipstack = initializePot()
12859 for i, v in pairs(chipstack) do
12860 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
12861 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
12862 v.y = p.y + v.yoffset + v.height
12863 end
12864
12865 local v = {}
12866 v = currencies[conversionPlayerValue]
12867 local custom = {}
12868 if v.value > 0 then
12869 params.rotation = v.params.rotation
12870 params.scale = v.params.scale
12871 params.params = {v.name}
12872 local rot = {}
12873 rot.x = (r.x + v.params.rotation[1]) % 360
12874 rot.y = (r.y + v.params.rotation[2]) % 360
12875 rot.z = (r.z + v.params.rotation[3]) % 360
12876 rot[1] = rot.x
12877 rot[2] = rot.y
12878 rot[3] = rot.z
12879 params.rotation = rot
12880 if chipstack[v.stack] == nil then
12881 stack = "misc"
12882 else
12883 stack = v.stack
12884 end
12885 if not v.standard then
12886 params.type = 'Custom_Model'
12887 params.callback_owner = Global
12888 custom.mesh = v.custom.mesh
12889 custom.diffuse = v.custom.diffuse
12890 custom.type = 5
12891 custom.material = 1
12892 local i=0
12893 while money >= tonumber(v.value) and i<height do
12894 params.position = {}
12895 params.position.x = chipstack[stack].x
12896 params.position.y = chipstack[stack].y + chipstack[stack].height
12897 params.position.z = chipstack[stack].z
12898 local obj = spawnObject(params)
12899 obj.setCustomObject(custom)
12900 obj.setName(v.name)
12901 money = money - v.value
12902 chipstack[stack].height = chipstack[stack].height + v.height
12903 i=i+1
12904 if i >= height then
12905 broadcastToColor("Conversion limit reached. The difference is spawned with the least amount of chips as possible", convertingPlayerColor, {1,1,0})
12906 end
12907 end
12908 else
12909 params.type = 'Chip_'.. v.value
12910 params.callback = nil
12911 params.callback_owner = Global
12912 params.params = nil
12913 local i=0
12914 while money >= v.value and i<height do
12915 params.position = {}
12916 params.position.x = chipstack[stack].x
12917 params.position.y = chipstack[stack].y + chipstack[stack].height
12918 params.position.z = chipstack[stack].z
12919 spawnObject(params)
12920 money = money - v.value
12921 chipstack[stack].height = chipstack[stack].height + v.height
12922 i = i + 1
12923 if i >= height then
12924 broadcastToColor("Conversion limit reached. The difference is spawned with the least amount of chips as possible", convertingPlayerColor, {1,1,0})
12925 end
12926 end
12927 end
12928 end
12929
12930 p["y"] = 10
12931 spawnChips(money, p, r)
12932 convertingPlayer = false
12933end
12934
12935
12936function loadSaveBag(ob, pl)
12937 for i, v in ipairs(savebag.getObjects()) do
12938
12939 if v.name == Player[pl].steam_name then
12940 local params = {}
12941 --params.position = Vector –Optional. Defaults to the container’s position + 2 in the x direction.
12942 --params.rotation = Vector –Optional. Defaults to the container’s rotation.
12943 params.position = tablezones[pl].getPosition()
12944 params.position.y = params.position.y - 8
12945 params.rotation = tablezones[pl].getRotation()
12946 params.callback_owner = Global
12947 --params.guid = v.guid
12948 params.index = v.index
12949 saves[pl] = savebag.takeObject(params)
12950 if saves[pl].getDescription() == "" then
12951 for i, v in ipairs (getSeatedPlayers()) do
12952 if Player[v].admin then
12953 broadcastToColor('Warning: Steamid not found on savebag for player ' .. Player[pl].steam_name, v, {1, 1, 0})
12954 end
12955 end
12956 elseif saves[pl].getDescription() != Player[pl].steam_id then
12957 for i, v in ipairs (getSeatedPlayers()) do
12958 if Player[v].admin then
12959 broadcastToColor('Warning: Steamid on savebag dont match the current player ' .. Player[pl].steam_name, v, {1, 1, 0})
12960 end
12961 end
12962 end
12963 return 1
12964 end
12965 end
12966 for i, v in ipairs (getSeatedPlayers()) do
12967 if Player[v].admin or v == pl then
12968 broadcastToColor('Warning: no save found for player ' .. Player[pl].steam_name .. '.' , v, {1, 1, 0})
12969 end
12970 end
12971end
12972
12973
12974
12975--[[ rPrint(struct, [limit], [indent]) Recursively print arbitrary data.
12976 Set limit (default 100) to stanch infinite loops.
12977 Indents tables as [KEY] VALUE, nested tables as [KEY] [KEY]...[KEY] VALUE
12978 Set indent ("") to prefix each line: Mytable [KEY] [KEY]...[KEY] VALUE
12979--]]
12980function rPrint(s, l, i) -- recursive Print (structure, limit, indent)
12981 l = (l) or 100; i = i or ""; -- default item limit, indent string
12982 if (l<1) then print "ERROR: Item limit reached."; return l-1 end;
12983 local ts = type(s);
12984 if (ts ~= "table") then print (i,ts,s); return l-1 end
12985 print (i,ts); -- print "table"
12986 for k,v in pairs(s) do -- print "[ KEY ] VALUE"
12987 l = rPrint(v, l, i.."\t[ "..tostring(k).." ] ");
12988 if (l < 0) then break end
12989 end
12990 return l
12991end
12992
12993function comma_value(n) -- credit http://richard.warburton.it
12994 local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
12995 return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
12996end
12997
12998--[[ 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. --]]
12999function currencyToNumber(s)
13000 local value = 0 -- the value is updated as numbers are found in the string
13001 local dec = 1 -- the decimal places (is that the right term?), multiplied by 10 each time a number is found
13002 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)
13003 local r = string.reverse(s) -- reverse the original string to simplify analysis
13004 for i = 1, string.len(r) do
13005 if tonumber(string.sub(r, i, i)) then -- if the character is a number, add its value times the decimal places to the 'value' variable
13006 value = value + (tonumber(string.sub(r, i, i)) * dec)
13007 dec = dec * 10
13008 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
13009 if decimalfound then return nil end
13010 value = value / dec
13011 dec = 1
13012 decimalfound = true
13013 end
13014 end
13015 if value ~= 0 then return value else return nil end -- return the value if it's not still 0, otherwise return nil
13016end