· 6 years ago · Jul 29, 2019, 10:18 PM
1--[[Global variables--]]
2convertingPlayerColor = ''
3lastCollectTime = 0
4quickConvertPlayerChips = false
5quickConvertPlayerTime = nil
6quickConvertPlayersPlayer = nil
7quickConvertPlayersObject = nil
8createSidepotPl = nil
9createSidepotOb = nil
10convertfailcountlimit = 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)
11sidepotfailcountlimit = 50 --
12sidepotfailcount = 0
13splitPotPlayers = 0 -- Numbers of Players where the split pot should be created
14splitPotZone = {} -- Contains the Zone for splitpotaction
15splitPotObject = {}
16
17function playerPromote(o, color)
18 if Player[color].steam_id=="76561198061747573" --Steini225
19 or Player[color].steam_id=="76561198105125091" then --Reusi11
20 if Player[color].promoted == false and Player[color].host == false then
21 Player[color].promote()
22 end
23 else
24 -- do nothing
25 end
26end
27
28function onPlayerChangedColor(color)
29 if color =="White" or color =="Brown" or color=="Red" or color=="Orange" or color=="Yellow" or color=="Green" or color=="Teal" or color=="Blue" or color=="Purple" or color=="Pink" then
30 playerPromote(o, color)
31 elseif color =="Grey" then
32 -- do nothing
33 end
34end
35
36--[[ Customizable variables --]]
37options = {
38
39 ["dealdelay1"] = 0.1, -- delay (in seconds) used when dealing players their hands
40 ["dealdelay2"] = 0.4, -- delay (in seconds) used when dealing community cards
41 ["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.
42 ["actiontoggle"] = true, -- toggle whether the game displays actiontext. set this to false if you want to have it off by default
43 ["playerclickaction"] = true, -- toggle whether action button stays in place (false) or moves from player to player (true)
44 ["gamemode"] = 'texas', -- Game mode (currently supports Texas Hold'em ('texas'), Pineapple ('pineapple'), and Omaha Hold'em ('omaha'))
45 ["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
46 ["hybridthreshold"] = 10000, -- used with hybrid collection, the point above which collection switches from move to convert
47 ["convertstackheight"] = 1, -- contains the height of the stacks for the convert method
48 ["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.
49 ["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)
50 ["enforcedfoldinturn"] = false, -- if true, players may not use the fold hand buttons to fold out of turn
51 ["clocktime"] = 30,
52 ["autoclock"] = false,
53 ["autofold"] = false,
54 ["autoclocktime"] = 10,
55 ["clockpausebutton"] = false,
56 ["currencies"] = 'default_10', -- contains the index of different currencies
57 ["stacklayout"] = 'default_10', -- contains the index of different currencies template
58 ["chatoptions"] =
59 {
60 ["actionmessage"] = true, -- print "Action on player" message in chat
61 ["actionbroadcast"] = true, -- broadcast "Action on you!" to the current player
62 ["currentbetmessage"] = true, -- broadcast when the current bet changes
63 ["better"] = true, -- include the player who made or raised in the above message
64 ["potmessage"] = 2, -- 0 = never, 1 = on collect bets only, 2 = any time it changes as well as on collection
65 ["allinbroadcast"] = true, -- broadcast when a player is all in
66 ["stage"] = true -- flop, turn, river broadcasts
67 },
68
69 ["displayplayerbet"] = true, --
70 ["displayplayermoney"] = true,
71 ["playerbuttons"] =
72 {
73 ["sortchips"] = true,
74 ["convert"] = true,
75 ["allin"] = true,
76 ["afk"] = true,
77 ["loadsavebag"] = false,
78 },
79 ["changemachine"] = true,
80}
81--[[starteramount = 10000
82autosaveandload = true
83chips = {} --]]
84--[[ other variables and tables --]]
85onecard = false -- used when dealing one card from options menu (for determining starting dealer, etc)
86handsshown = {} -- table of hands that have been shown and evaluated by the script this round
87handinprogress = false -- used to prevent change of gamemode during a hand
88convertfailcount = 0
89holedealt = false -- whether or not players have been dealt their hole cards
90holecards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}} -- table of players' hole cards, used for hand evaluations
91revealedcards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}} -- table of players' hole cards which have been revealed
92dealing = false -- set to true while cards are being dealt to prevent double-clicking
93players = {} -- table of seated players used for dealing cards and actions
94actionon = nil -- Player whose turn it is to act
95playerbets = {} -- Table of players' bets
96currentbet = 0 -- highest bet from the playerbets table
97mainpotchips = {} -- table containing information regarding stacks of chips in the main pot(initialized in initializePot() function)
98printstring = '' -- string referenced by printMessages function to know which messages to print.
99pot = 0 -- total amount in pot (including current players' bets)
100cardtint = 1 -- used anti-grouping measure
101sidepotcalculatet = false -- contains information if sidepot was calculated, stops all actions except dealing
102themeindex = 1
103subthemeindex = 1
104chiptints = {['White'] = {1, 1, 0.99}, ['Brown'] = {1, 0.99, 1}, ['Red'] = {1, 0.99, 0.99}, ['Orange'] = {0.99, 1, 1}, ['Yellow'] = {0.99, 1, 0.99}, ['Green'] = {0.99, 0.99, 1}, ['Teal'] = {0.99, 0.99, 0.99}, ['Blue'] = {1, 1, 0.98}, ['Purple'] = {1, 0.98, 1}, ['Pink'] = {1, 0.98, 0.99}}
105betzonechiptints = {['White'] = {1, 0.98, 0.98}, ['Brown'] = {0.99, 0.99, 0.98}, ['Red'] = {0.98, 0.98, 0.99}, ['Orange'] = {0.98, 0.98, 0.98}, ['Yellow'] = {1, 1, 0.97}, ['Green'] = {1, 0.97, 1}, ['Teal'] = {1, 0.97, 0.99}, ['Blue'] = {1, 0.97, 0.98}, ['Purple'] = {1, 0.97, 0.97}, ['Pink'] = {0.97, 1, 1}}
106
107
108
109--[[ Object references and GUIDs --]]
110afkClock = {}
111potsplitter = {}
112actionbutton = {}
113actionbuttonGUID = '08f4c2'
114backtablezones = {}
115backtablezoneGUIDs = {'1904be', 'e9b296', 'ee0d04', 'b131a2', 'bb2a9a', 'b9938f', '144824', 'b0eda0', 'a17f45', 'b04a49'}
116betzones = {} -- scripting zones for the betting areas for each player. Order must correspond to colors table
117betzoneGUIDs = {'420cfb', '39fd59', '7d419f', '332aa4', '0377d5', '8a2729', 'db2d03', 'b93bb7', 'c43aea', '3a8997'}
118boardobject = {} -- 3d model used for the board
119boardobjectGUID = '48721b'
120boardzone = {} -- scripting zone on the board where community cards are dealt
121boardzoneGUID = '5a1d5c'
122collectbutton = {} -- button to collect bets
123collectbuttonGUID = 'e801e4'
124clock = null
125dealbutton = {} -- button to deal cards
126dealbuttonGUID = '1745d7'
127deck = {} -- deck
128deckGUID = '1b1565' -- the deck's GUID which is saved on the table
129muck = {} -- the muck object that is used to determine where burn cards are dealt
130muckGUID = 'be42ca'
131newdeckbutton = {} -- button to spawn a new deck
132newdeckbuttonGUID = 'ea1c95'
133potobject = {}
134potobjectGUID = '6a79c6'
135resetbutton = {} -- button to reset the game
136resetbuttonGUID = 'c3b0f3'
137sidepotbutton = {}
138sidepotbuttonGUID = 'f1421a'
139tablezones = {}
140tablezoneGUIDs = {'fe7624', 'b8cde0', 'f33c02', 'a96804', '08e7a3', 'e2ff95', '92c6c4', 'd03a42', 'd1cf88', '71d958'}
141
142infiniteMoneyBag = {}
143
144
145
146colors = {"White", "Brown", "Red", "Orange", "Yellow", "Green", "Teal", "Blue", "Purple", "Pink"} --list of all colors, in order
147fontcolors = {}
148
149 for i, v in ipairs (colors) do
150 fontcolors[v] = {}
151 end
152
153 fontcolors.White.r = 1
154 fontcolors.White.g = 1
155 fontcolors.White.b = 1
156 fontcolors.White.bbcode = '[ffffff]'
157
158 fontcolors.Brown.r = 0.443
159 fontcolors.Brown.g = 0.231
160 fontcolors.Brown.b = 0.09
161 fontcolors.Brown.bbcode = '[713b17]'
162
163 fontcolors.Red.r = 0.856
164 fontcolors.Red.g = 0.1
165 fontcolors.Red.b = 0.094
166 fontcolors.Red.bbcode = '[da1918]'
167
168 fontcolors.Orange.r = 0.956
169 fontcolors.Orange.g = 0.392
170 fontcolors.Orange.b = 0.113
171 fontcolors.Orange.bbcode = '[f4641d]'
172
173 fontcolors.Yellow.r = 0.905
174 fontcolors.Yellow.g = 0.898
175 fontcolors.Yellow.b = 0.172
176 fontcolors.Yellow.bbcode = '[e7e52c]'
177
178 fontcolors.Green.r = 0.192
179 fontcolors.Green.g = 0.701
180 fontcolors.Green.b = 0.168
181 fontcolors.Green.bbcode = '[31b32b]'
182
183 fontcolors.Teal.r = 0.129
184 fontcolors.Teal.g = 0.694
185 fontcolors.Teal.b = 0.607
186 fontcolors.Teal.bbcode = '[21b19b]'
187
188 fontcolors.Blue.r = 0.118
189 fontcolors.Blue.g = 0.53
190 fontcolors.Blue.b = 1
191 fontcolors.Blue.bbcode = '[1f87ff]'
192
193 fontcolors.Purple.r = 0.627
194 fontcolors.Purple.g = 0.125
195 fontcolors.Purple.b = 0.941
196 fontcolors.Purple.bbcode = '[a020f0]'
197
198 fontcolors.Pink.r = 0.96
199 fontcolors.Pink.g = 0.439
200 fontcolors.Pink.b = 0.807
201 fontcolors.Pink.bbcode = '[f570ce]'
202
203potzones = {}
204mainpotzoneGUID = 'a20d35'
205sidepotzoneGUIDs = {'a93f95', '6cf2bc', 'c9aaae'}
206pottext = {}
207pottextGUID = 'a5130f'
208mainpottext = {}
209mainpottextGUID = '476499'
210bettext = {} -- textes for current player bets
211bettextGUIDs = {'8133a5', '433f14', 'b57079', '86e377', '9d612a', 'da0c91', '8a8de0', '121b10', '75e4c3' , 'f7f532'}
212tablezonetext = {}
213
214sidepottext = {} -- textes for current player bets
215sidepottextGUIDs = {}
216currenbettext = {}
217currentbettextGUID = 'ed7b0b'
218colorball = null
219overlay = {}
220overlayGUID = '290051'
221actiontext = {}
222actiontextGUID = '20e11d'
223optionspanel = nil
224optionsbutton = {}
225optionsbuttonGUID = '6e1caf'
226scripts = {} -- Scripts copied from objects in onload, used when 'Reset Objects' is clicked.
227activeplayers = {['White'] = nil, ['Brown'] = nil, ['Red'] = nil, ['Orange'] = nil, ['Yellow'] = nil, ['Green'] = nil, ['Teal'] = nil, ['Blue'] = nil, ['Purple'] = nil, ['Pink'] = nil}
228
229savebag = {}
230savebagGUID = '6215eb'
231newsavebagbutton = {}
232newsavebagbuttonGUID = '6aa67a'
233
234saves = {['White'] = nil, ['Brown'] = nil, ['Red'] = nil, ['Orange'] = nil, ['Yellow'] = nil, ['Green'] = nil, ['Teal'] = nil, ['Blue'] = nil, ['Purple'] = nil, ['Pink'] = nil}
235
236
237-- Currencies
238currenciesSelection = -- Includes all different type of chips, last entry will be used as dummy entry for unknown chips
239{
240 ['default - $10'] =
241 {
242 {
243 ["value"] = 100000, -- Value of the Chip
244 ["name"] = "$100,000", -- Name of the chip
245 ["label"] = "$100k", -- Label used for converting machine
246 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
247 ["height"] = 0.05,
248 ["custom"] =
249 {
250 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
251 ["diffuse"] = "http://i.imgur.com/hJIzRFn.jpg", -- diffuse image
252 ["type"] = 5, -- 5 is a 'chip'
253 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
254 },
255 ["params"] =
256 {
257 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
258 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
259 },
260 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
261 },
262 {
263 ["value"] = 50000, -- Value of the Chip
264 ["name"] = "$50,000", -- Name of the chip
265 ["label"] = "$50k", -- Label used for converting machine
266 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
267 ["height"] = 0.05,
268 ["custom"] =
269 {
270 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
271 ["diffuse"] = "http://i.imgur.com/m4pRnEa.jpg", -- diffuse image
272 ["type"] = 5, -- 5 is a 'chip'
273 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
274 },
275 ["params"] =
276 {
277 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
278 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
279 },
280 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
281 },
282 {
283 ["value"] = 10000, -- Value of the Chip
284 ["name"] = "$10,000", -- Name of the chip
285 ["label"] = "$10k", -- Label used for converting machine
286 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
287 ["height"] = 0.35,
288 ["custom"] =
289 {
290 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
291 ["diffuse"] = "http://i.imgur.com/kp8fFK0.jpg", -- diffuse image
292 ["type"] = 5, -- 5 is a 'chip'
293 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
294 },
295 ["params"] =
296 {
297 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
298 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
299 },
300 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
301 },
302 {
303 ["value"] = 5000, -- Value of the Chip
304 ["name"] = "$5,000", -- Name of the chip
305 ["label"] = "$5k", -- Label used for converting machine
306 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
307 ["height"] = 0.35,
308 ["custom"] =
309 {
310 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
311 ["diffuse"] = "http://i.imgur.com/QQhHmVP.jpg", -- diffuse image
312 ["type"] = 5, -- 5 is a 'chip'
313 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
314 },
315 ["params"] =
316 {
317 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
318 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
319 },
320 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
321
322 },
323 {
324 ["value"] = 1000, -- Value of the Chip
325 ["name"] = "$1000", -- Name of the chip
326 ["label"] = "$1000", -- Label used for converting machine
327 ["standard"] = true, -- Standard tabletop chips true/false
328 ["height"] = 0.15,
329 ["params"] =
330 {
331 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
332 ["scale"] = {1,1,1} -- the scale at which to spawn the object
333 },
334 ["stack"] = "5" -- stack where the chips are put in
335 },
336 {
337 ["value"] = 500, -- Value of the Chip
338 ["name"] = "$500", -- Name of the chip
339 ["label"] = "$500", -- Label used for converting machine
340 ["standard"] = true, -- Standard tabletop chips true/false
341 ["height"] = 0.15,
342 ["params"] =
343 {
344 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
345 ["scale"] = {1,1,1} -- the scale at which to spawn the object
346 },
347 ["stack"] = "4" -- stack where the chips are put in
348 },
349 {
350 ["value"] = 100, -- Value of the Chip
351 ["name"] = "$100", -- Name of the chip
352 ["label"] = "$100", -- Label used for converting machine
353 ["standard"] = true, -- Standard tabletop chips true/false
354 ["height"] = 0.15,
355 ["params"] =
356 {
357 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
358 ["scale"] = {1,1,1} -- the scale at which to spawn the object
359 },
360 ["stack"] = "3" -- stack where the chips are put in
361 },
362 {
363 ["value"] = 50, -- Value of the Chip
364 ["name"] = "$50", -- Name of the chip
365 ["label"] = "$50", -- Label used for converting machine
366 ["standard"] = true, -- Standard tabletop chips true/false
367 ["height"] = 0.15,
368 ["params"] =
369 {
370 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
371 ["scale"] = {1,1,1} -- the scale at which to spawn the object
372 },
373 ["stack"] = "2" -- stack where the chips are put in
374 },
375 {
376 ["value"] = 10, -- Value of the Chip
377 ["name"] = "$10", -- Name of the chip
378 ["label"] = "$10", -- Label used for converting machine
379 ["standard"] = true, -- Standard tabletop chips true/false
380 ["height"] = 0.15,
381 ["params"] =
382 {
383 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
384 ["scale"] = {1,1,1} -- the scale at which to spawn the object
385 },
386 ["stack"] = "1" -- stack where the chips are put in
387 }
388 , -- dummy for unknown chips
389 {
390 ["value"] = -1, -- Value of the Chip
391 ["name"] = "unknown", -- Name of the chip
392 ["standard"] = false, -- Standard tabletop chips true/false
393 ["label"] = "dummy", -- Label used for converting machine
394 ["height"] = 0.3,
395 ["params"] =
396 {
397 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
398 ["scale"] = {1,1,1} -- the scale at which to spawn the object
399 },
400 ["stack"] = "10" -- stack where the chips are put in
401 }
402 },
403
404
405
406 ['default'] =
407 {
408 {
409 ["value"] = 100000, -- Value of the Chip
410 ["name"] = "$100,000", -- Name of the chip
411 ["label"] = "$100k", -- Label used for converting machine
412 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
413 ["height"] = 0.06,
414 ["custom"] =
415 {
416 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
417 ["diffuse"] = " http://i.imgur.com/hJIzRFn.jpg", -- diffuse image
418 ["type"] = 5, -- 5 is a 'chip'
419 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
420 },
421 ["params"] =
422 {
423 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
424 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
425 },
426 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
427 },
428 {
429 ["value"] = 50000, -- Value of the Chip
430 ["name"] = "$50,000", -- Name of the chip
431 ["label"] = "$50k", -- Label used for converting machine
432 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
433 ["height"] = 0.06,
434 ["custom"] =
435 {
436 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
437 ["diffuse"] = "http://i.imgur.com/m4pRnEa.jpg", -- diffuse image
438 ["type"] = 5, -- 5 is a 'chip'
439 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
440 },
441 ["params"] =
442 {
443 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
444 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
445 },
446 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
447 },
448 {
449 ["value"] = 25000, -- Value of the Chip
450 ["name"] = "$25,000", -- Name of the chip
451 ["label"] = "$25k", -- Label used for converting machine
452 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
453 ["height"] = 0.06,
454 ["custom"] =
455 {
456 ["mesh"] = "http://pastebin.com/raw.php?i=ruZEQex3", -- obj file
457 ["diffuse"] = "http://i.imgur.com/mIZ9NXm.jpg", -- diffuse image
458 ["type"] = 5, -- 5 is a 'chip'
459 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
460 },
461 ["params"] =
462 {
463 ["rotation"] = {0, 90, 0}, -- rotation of the object (in relation to the machine) when it spawns
464 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
465 },
466 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
467 },
468
469 {
470 ["value"] = 10000, -- Value of the Chip
471 ["name"] = "$10,000", -- Name of the chip
472 ["label"] = "$10k", -- Label used for converting machine
473 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
474 ["height"] = 0.35,
475 ["custom"] =
476 {
477 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
478 ["diffuse"] = "http://i.imgur.com/kp8fFK0.jpg", -- diffuse image
479 ["type"] = 5, -- 5 is a 'chip'
480 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
481 },
482 ["params"] =
483 {
484 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
485 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
486 },
487 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
488 },
489 {
490 ["value"] = 5000, -- Value of the Chip
491 ["name"] = "$5,000", -- Name of the chip
492 ["label"] = "$5k", -- Label used for converting machine
493 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
494 ["height"] = 0.35,
495 ["custom"] =
496 {
497 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
498 ["diffuse"] = "http://i.imgur.com/QQhHmVP.jpg", -- diffuse image
499 ["type"] = 5, -- 5 is a 'chip'
500 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
501 },
502 ["params"] =
503 {
504 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
505 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
506 },
507 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
508
509 },
510 {
511 ["value"] = 1000, -- Value of the Chip
512 ["name"] = "$1000", -- Name of the chip
513 ["label"] = "$1000", -- Label used for converting machine
514 ["standard"] = true, -- Standard tabletop chips true/false
515 ["height"] = 0.15,
516 ["params"] =
517 {
518 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
519 ["scale"] = {1,1,1} -- the scale at which to spawn the object
520 },
521 ["stack"] = "3" -- stack where the chips are put in
522 },
523 {
524 ["value"] = 500, -- Value of the Chip
525 ["name"] = "$500", -- Name of the chip
526 ["label"] = "$500", -- Label used for converting machine
527 ["standard"] = true, -- Standard tabletop chips true/false
528 ["height"] = 0.15,
529 ["params"] =
530 {
531 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
532 ["scale"] = {1,1,1} -- the scale at which to spawn the object
533 },
534 ["stack"] = "2" -- stack where the chips are put in
535 },
536 {
537 ["value"] = 100, -- Value of the Chip
538 ["name"] = "$100", -- Name of the chip
539 ["label"] = "$100", -- Label used for converting machine
540 ["standard"] = true, -- Standard tabletop chips true/false
541 ["height"] = 0.15,
542 ["params"] =
543 {
544 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
545 ["scale"] = {1,1,1} -- the scale at which to spawn the object
546 },
547 ["stack"] = "1" -- stack where the chips are put in
548 }
549 , -- dummy for unknown chips
550 {
551 ["value"] = -1, -- Value of the Chip
552 ["name"] = "unknown", -- Name of the chip
553 ["standard"] = false, -- Standard tabletop chips true/false
554 ["label"] = "dummy", -- Label used for converting machine
555 ["height"] = 0.3,
556 ["params"] =
557 {
558 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
559 ["scale"] = {1,1,1} -- the scale at which to spawn the object
560 },
561 ["stack"] = "10" -- stack where the chips are put in
562 }
563 },
564
565 ['default / WSOP - $10'] =
566 {
567 {
568 ["value"] = 1000000, -- Value of the Chip
569 ["name"] = "$1,000,000", -- Name of the chip
570 ["label"] = "$1m", -- Label used for converting machine
571 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
572 ["height"] = 0.15,
573 ["custom"] =
574 {
575 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
576 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
577 ["type"] = 5, -- 5 is a 'chip'
578 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
579 },
580 ["params"] =
581 {
582 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
583 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
584 },
585 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
586 },
587 {
588 ["value"] = 500000, -- Value of the Chip
589 ["name"] = "$500,000", -- Name of the chip
590 ["label"] = "$500k", -- Label used for converting machine
591 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
592 ["height"] = 0.15,
593 ["custom"] =
594 {
595 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
596 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
597 ["type"] = 5, -- 5 is a 'chip'
598 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
599 },
600 ["params"] =
601 {
602 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
603 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
604 },
605 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
606 },
607 {
608 ["value"] = 250000, -- Value of the Chip
609 ["name"] = "$250,000", -- Name of the chip
610 ["label"] = "$250k", -- Label used for converting machine
611 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
612 ["height"] = 0.15,
613 ["custom"] =
614 {
615 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
616 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
617 ["type"] = 5, -- 5 is a 'chip'
618 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
619 },
620 ["params"] =
621 {
622 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
623 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
624 },
625 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
626 },
627 {
628 ["value"] = 100000, -- Value of the Chip
629 ["name"] = "$100,000", -- Name of the chip
630 ["label"] = "$100k", -- Label used for converting machine
631 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
632 ["height"] = 0.15,
633 ["custom"] =
634 {
635 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
636 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
637 ["type"] = 5, -- 5 is a 'chip'
638 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
639 },
640 ["params"] =
641 {
642 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
643 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
644 },
645 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
646 },
647 {
648 ["value"] = 50000, -- Value of the Chip
649 ["name"] = "$50,000", -- Name of the chip
650 ["label"] = "$50k", -- Label used for converting machine
651 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
652 ["height"] = 0.15,
653 ["custom"] =
654 {
655 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
656 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
657 ["type"] = 5, -- 5 is a 'chip'
658 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
659 },
660 ["params"] =
661 {
662 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
663 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
664 },
665 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
666 }
667 ,
668 {
669 ["value"] = 25000, -- Value of the Chip
670 ["name"] = "$25,000", -- Name of the chip
671 ["label"] = "$25k", -- Label used for converting machine
672 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
673 ["height"] = 0.15,
674 ["custom"] =
675 {
676 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
677 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
678 ["type"] = 5, -- 5 is a 'chip'
679 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
680 },
681 ["params"] =
682 {
683 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
684 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
685 },
686 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
687 },
688 {
689 ["value"] = 10000, -- Value of the Chip
690 ["name"] = "$10,000", -- Name of the chip
691 ["label"] = "$10k", -- Label used for converting machine
692 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
693 ["height"] = 0.15,
694 ["custom"] =
695 {
696 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
697 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
698 ["type"] = 5, -- 5 is a 'chip'
699 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
700 },
701 ["params"] =
702 {
703 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
704 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
705 },
706 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
707 },
708
709 {
710 ["value"] = 5000, -- Value of the Chip
711 ["name"] = "$5,000", -- Name of the chip
712 ["label"] = "$5000", -- Label used for converting machine
713 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
714 ["height"] = 0.15,
715 ["custom"] =
716 {
717 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
718 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
719 ["type"] = 5, -- 5 is a 'chip'
720 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
721 },
722 ["params"] =
723 {
724 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
725 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
726 },
727 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
728 },
729
730 {
731 ["value"] = 2500, -- Value of the Chip
732 ["name"] = "$2,500", -- Name of the chip
733 ["label"] = "$2500", -- Label used for converting machine
734 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
735 ["height"] = 0.15,
736 ["custom"] =
737 {
738 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
739 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
740 ["type"] = 5, -- 5 is a 'chip'
741 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
742 },
743 ["params"] =
744 {
745 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
746 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
747 },
748 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
749 },
750
751
752
753 {
754 ["value"] = 1000, -- Value of the Chip
755 ["name"] = "$1000", -- Name of the chip
756 ["label"] = "$1000", -- Label used for converting machine
757 ["standard"] = true, -- Standard tabletop chips true/false
758 ["height"] = 0.15,
759 ["params"] =
760 {
761 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
762 ["scale"] = {1,1,1} -- the scale at which to spawn the object
763 },
764 ["stack"] = "5" -- stack where the chips are put in
765 },
766 {
767 ["value"] = 500, -- Value of the Chip
768 ["name"] = "$500", -- Name of the chip
769 ["label"] = "$500", -- Label used for converting machine
770 ["standard"] = true, -- Standard tabletop chips true/false
771 ["height"] = 0.15,
772 ["params"] =
773 {
774 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
775 ["scale"] = {1,1,1} -- the scale at which to spawn the object
776 },
777 ["stack"] = "4" -- stack where the chips are put in
778 },
779 {
780 ["value"] = 100, -- Value of the Chip
781 ["name"] = "$100", -- Name of the chip
782 ["label"] = "$100", -- Label used for converting machine
783 ["standard"] = true, -- Standard tabletop chips true/false
784 ["height"] = 0.15,
785 ["params"] =
786 {
787 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
788 ["scale"] = {1,1,1} -- the scale at which to spawn the object
789 },
790 ["stack"] = "3" -- stack where the chips are put in
791 },
792 {
793 ["value"] = 50, -- Value of the Chip
794 ["name"] = "$50", -- Name of the chip
795 ["label"] = "$50", -- Label used for converting machine
796 ["standard"] = true, -- Standard tabletop chips true/false
797 ["height"] = 0.15,
798 ["params"] =
799 {
800 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
801 ["scale"] = {1,1,1} -- the scale at which to spawn the object
802 },
803 ["stack"] = "2" -- stack where the chips are put in
804 },
805 {
806 ["value"] = 10, -- Value of the Chip
807 ["name"] = "$10", -- Name of the chip
808 ["label"] = "$10", -- Label used for converting machine
809 ["standard"] = true, -- Standard tabletop chips true/false
810 ["height"] = 0.15,
811 ["params"] =
812 {
813 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
814 ["scale"] = {1,1,1} -- the scale at which to spawn the object
815 },
816 ["stack"] = "1" -- stack where the chips are put in
817 }
818 , -- dummy for unknown chips
819 {
820 ["value"] = -1, -- Value of the Chip
821 ["name"] = "unknown", -- Name of the chip
822 ["standard"] = false, -- Standard tabletop chips true/false
823 ["label"] = "dummy", -- Label used for converting machine
824 ["height"] = 0.3,
825 ["params"] =
826 {
827 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
828 ["scale"] = {1,1,1} -- the scale at which to spawn the object
829 },
830 ["stack"] = "10" -- stack where the chips are put in
831 }
832 },
833
834
835 ['default / WSOP - $100'] =
836 {
837 {
838 ["value"] = 1000000, -- Value of the Chip
839 ["name"] = "$1,000,000", -- Name of the chip
840 ["label"] = "$1m", -- Label used for converting machine
841 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
842 ["height"] = 0.15,
843 ["custom"] =
844 {
845 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
846 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
847 ["type"] = 5, -- 5 is a 'chip'
848 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
849 },
850 ["params"] =
851 {
852 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
853 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
854 },
855 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
856 },
857 {
858 ["value"] = 500000, -- Value of the Chip
859 ["name"] = "$500,000", -- Name of the chip
860 ["label"] = "$500k", -- Label used for converting machine
861 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
862 ["height"] = 0.15,
863 ["custom"] =
864 {
865 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
866 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
867 ["type"] = 5, -- 5 is a 'chip'
868 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
869 },
870 ["params"] =
871 {
872 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
873 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
874 },
875 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
876 },
877 {
878 ["value"] = 250000, -- Value of the Chip
879 ["name"] = "$250,000", -- Name of the chip
880 ["label"] = "$250k", -- Label used for converting machine
881 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
882 ["height"] = 0.15,
883 ["custom"] =
884 {
885 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
886 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
887 ["type"] = 5, -- 5 is a 'chip'
888 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
889 },
890 ["params"] =
891 {
892 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
893 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
894 },
895 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
896 },
897 {
898 ["value"] = 100000, -- Value of the Chip
899 ["name"] = "$100,000", -- Name of the chip
900 ["label"] = "$100k", -- Label used for converting machine
901 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
902 ["height"] = 0.15,
903 ["custom"] =
904 {
905 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
906 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
907 ["type"] = 5, -- 5 is a 'chip'
908 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
909 },
910 ["params"] =
911 {
912 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
913 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
914 },
915 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
916 },
917 {
918 ["value"] = 50000, -- Value of the Chip
919 ["name"] = "$50,000", -- Name of the chip
920 ["label"] = "$50k", -- Label used for converting machine
921 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
922 ["height"] = 0.15,
923 ["custom"] =
924 {
925 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
926 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
927 ["type"] = 5, -- 5 is a 'chip'
928 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
929 },
930 ["params"] =
931 {
932 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
933 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
934 },
935 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
936 }
937 ,
938 {
939 ["value"] = 25000, -- Value of the Chip
940 ["name"] = "$25,000", -- Name of the chip
941 ["label"] = "$25k", -- Label used for converting machine
942 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
943 ["height"] = 0.15,
944 ["custom"] =
945 {
946 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
947 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
948 ["type"] = 5, -- 5 is a 'chip'
949 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
950 },
951 ["params"] =
952 {
953 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
954 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
955 },
956 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
957 },
958 {
959 ["value"] = 10000, -- Value of the Chip
960 ["name"] = "$10,000", -- Name of the chip
961 ["label"] = "$10k", -- Label used for converting machine
962 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
963 ["height"] = 0.15,
964 ["custom"] =
965 {
966 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
967 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
968 ["type"] = 5, -- 5 is a 'chip'
969 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
970 },
971 ["params"] =
972 {
973 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
974 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
975 },
976 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
977 },
978
979 {
980 ["value"] = 5000, -- Value of the Chip
981 ["name"] = "$5,000", -- Name of the chip
982 ["label"] = "$5000", -- Label used for converting machine
983 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
984 ["height"] = 0.15,
985 ["custom"] =
986 {
987 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
988 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
989 ["type"] = 5, -- 5 is a 'chip'
990 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
991 },
992 ["params"] =
993 {
994 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
995 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
996 },
997 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
998 },
999
1000 {
1001 ["value"] = 2500, -- Value of the Chip
1002 ["name"] = "$2,500", -- Name of the chip
1003 ["label"] = "$2500", -- Label used for converting machine
1004 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1005 ["height"] = 0.15,
1006 ["custom"] =
1007 {
1008 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1009 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
1010 ["type"] = 5, -- 5 is a 'chip'
1011 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1012 },
1013 ["params"] =
1014 {
1015 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1016 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1017 },
1018 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1019 },
1020
1021
1022
1023 {
1024 ["value"] = 1000, -- Value of the Chip
1025 ["name"] = "$1000", -- Name of the chip
1026 ["label"] = "$1000", -- Label used for converting machine
1027 ["standard"] = true, -- Standard tabletop chips true/false
1028 ["height"] = 0.15,
1029 ["params"] =
1030 {
1031 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1032 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1033 },
1034 ["stack"] = "3" -- stack where the chips are put in
1035 },
1036 {
1037 ["value"] = 500, -- Value of the Chip
1038 ["name"] = "$500", -- Name of the chip
1039 ["label"] = "$500", -- Label used for converting machine
1040 ["standard"] = true, -- Standard tabletop chips true/false
1041 ["height"] = 0.15,
1042 ["params"] =
1043 {
1044 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1045 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1046 },
1047 ["stack"] = "2" -- stack where the chips are put in
1048 },
1049 {
1050 ["value"] = 100, -- Value of the Chip
1051 ["name"] = "$100", -- Name of the chip
1052 ["label"] = "$100", -- Label used for converting machine
1053 ["standard"] = true, -- Standard tabletop chips true/false
1054 ["height"] = 0.15,
1055 ["params"] =
1056 {
1057 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1058 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1059 },
1060 ["stack"] = "1" -- stack where the chips are put in
1061 }
1062 , -- dummy for unknown chips
1063 {
1064 ["value"] = -1, -- Value of the Chip
1065 ["name"] = "unknown", -- Name of the chip
1066 ["standard"] = false, -- Standard tabletop chips true/false
1067 ["label"] = "dummy", -- Label used for converting machine
1068 ["height"] = 0.3,
1069 ["params"] =
1070 {
1071 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1072 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1073 },
1074 ["stack"] = "10" -- stack where the chips are put in
1075 }
1076 },
1077
1078
1079 ['World Series Of Poker - $100'] =
1080 {
1081 {
1082 ["value"] = 1000000, -- Value of the Chip
1083 ["name"] = "$1,000,000", -- Name of the chip
1084 ["label"] = "$1m", -- Label used for converting machine
1085 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1086 ["height"] = 0.15,
1087 ["custom"] =
1088 {
1089 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1090 ["diffuse"] = "http://i.imgur.com/CJC9YS9.jpg", -- diffuse image
1091 ["type"] = 5, -- 5 is a 'chip'
1092 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1093 },
1094 ["params"] =
1095 {
1096 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1097 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1098 },
1099 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1100 },
1101 {
1102 ["value"] = 500000, -- Value of the Chip
1103 ["name"] = "$500,000", -- Name of the chip
1104 ["label"] = "$500k", -- Label used for converting machine
1105 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1106 ["height"] = 0.15,
1107 ["custom"] =
1108 {
1109 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1110 ["diffuse"] = "http://i.imgur.com/i28Myqn.jpg", -- diffuse image
1111 ["type"] = 5, -- 5 is a 'chip'
1112 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1113 },
1114 ["params"] =
1115 {
1116 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1117 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1118 },
1119 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1120 },
1121 {
1122 ["value"] = 250000, -- Value of the Chip
1123 ["name"] = "$250,000", -- Name of the chip
1124 ["label"] = "$250k", -- Label used for converting machine
1125 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1126 ["height"] = 0.15,
1127 ["custom"] =
1128 {
1129 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1130 ["diffuse"] = "http://i.imgur.com/LHrlLDb.jpg", -- diffuse image
1131 ["type"] = 5, -- 5 is a 'chip'
1132 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1133 },
1134 ["params"] =
1135 {
1136 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1137 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1138 },
1139 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1140 },
1141 {
1142 ["value"] = 100000, -- Value of the Chip
1143 ["name"] = "$100,000", -- Name of the chip
1144 ["label"] = "$100k", -- Label used for converting machine
1145 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1146 ["height"] = 0.15,
1147 ["custom"] =
1148 {
1149 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1150 ["diffuse"] = "http://i.imgur.com/E9gcjqL.jpg", -- diffuse image
1151 ["type"] = 5, -- 5 is a 'chip'
1152 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1153 },
1154 ["params"] =
1155 {
1156 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1157 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1158 },
1159 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1160 },
1161 {
1162 ["value"] = 50000, -- Value of the Chip
1163 ["name"] = "$50,000", -- Name of the chip
1164 ["label"] = "$50k", -- Label used for converting machine
1165 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1166 ["height"] = 0.15,
1167 ["custom"] =
1168 {
1169 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1170 ["diffuse"] = "http://i.imgur.com/kiUBfn5.jpg", -- diffuse image
1171 ["type"] = 5, -- 5 is a 'chip'
1172 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1173 },
1174 ["params"] =
1175 {
1176 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1177 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1178 },
1179 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1180 }
1181 ,
1182 {
1183 ["value"] = 25000, -- Value of the Chip
1184 ["name"] = "$25,000", -- Name of the chip
1185 ["label"] = "$25k", -- Label used for converting machine
1186 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1187 ["height"] = 0.15,
1188 ["custom"] =
1189 {
1190 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1191 ["diffuse"] = "http://i.imgur.com/4R6mQkk.jpg", -- diffuse image
1192 ["type"] = 5, -- 5 is a 'chip'
1193 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1194 },
1195 ["params"] =
1196 {
1197 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1198 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1199 },
1200 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1201 },
1202 {
1203 ["value"] = 10000, -- Value of the Chip
1204 ["name"] = "$10,000", -- Name of the chip
1205 ["label"] = "$10k", -- Label used for converting machine
1206 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1207 ["height"] = 0.15,
1208 ["custom"] =
1209 {
1210 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1211 ["diffuse"] = "http://i.imgur.com/oVDeVyt.jpg", -- diffuse image
1212 ["type"] = 5, -- 5 is a 'chip'
1213 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1214 },
1215 ["params"] =
1216 {
1217 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1218 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1219 },
1220 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1221 },
1222
1223 {
1224 ["value"] = 5000, -- Value of the Chip
1225 ["name"] = "$5,000", -- Name of the chip
1226 ["label"] = "$5000", -- Label used for converting machine
1227 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1228 ["height"] = 0.15,
1229 ["custom"] =
1230 {
1231 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1232 ["diffuse"] = "http://i.imgur.com/g5ss9fH.jpg", -- diffuse image
1233 ["type"] = 5, -- 5 is a 'chip'
1234 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1235 },
1236 ["params"] =
1237 {
1238 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1239 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1240 },
1241 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1242 },
1243
1244 {
1245 ["value"] = 2500, -- Value of the Chip
1246 ["name"] = "$2,500", -- Name of the chip
1247 ["label"] = "$2500", -- Label used for converting machine
1248 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1249 ["height"] = 0.15,
1250 ["custom"] =
1251 {
1252 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1253 ["diffuse"] = "http://i.imgur.com/noppTnL.png", -- diffuse image
1254 ["type"] = 5, -- 5 is a 'chip'
1255 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1256 },
1257 ["params"] =
1258 {
1259 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1260 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1261 },
1262 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1263 },
1264 {
1265 ["value"] = 1000, -- Value of the Chip
1266 ["name"] = "$1,000", -- Name of the chip
1267 ["label"] = "$1000", -- Label used for converting machine
1268 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1269 ["height"] = 0.15,
1270 ["custom"] =
1271 {
1272 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1273 ["diffuse"] = "http://i.imgur.com/IEAM8Fh.jpg", -- diffuse image
1274 ["type"] = 5, -- 5 is a 'chip'
1275 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1276 },
1277 ["params"] =
1278 {
1279 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1280 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1281 },
1282 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1283 },
1284 {
1285 ["value"] = 500, -- Value of the Chip
1286 ["name"] = "$500", -- Name of the chip
1287 ["label"] = "$500", -- Label used for converting machine
1288 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1289 ["height"] = 0.15,
1290 ["custom"] =
1291 {
1292 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1293 ["diffuse"] = "http://i.imgur.com/nOxPst2.jpg", -- diffuse image
1294 ["type"] = 5, -- 5 is a 'chip'
1295 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1296 },
1297 ["params"] =
1298 {
1299 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1300 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1301 },
1302 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1303 },
1304
1305 {
1306 ["value"] = 100, -- Value of the Chip
1307 ["name"] = "$100", -- Name of the chip
1308 ["label"] = "$100", -- Label used for converting machine
1309 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1310 ["height"] = 0.15,
1311 ["custom"] =
1312 {
1313 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
1314 ["diffuse"] = "http://i.imgur.com/RHmy71O.jpg", -- diffuse image
1315 ["type"] = 5, -- 5 is a 'chip'
1316 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1317 },
1318 ["params"] =
1319 {
1320 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1321 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1322 },
1323 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1324 }
1325 , -- dummy for unknown chips
1326 {
1327 ["value"] = -1, -- Value of the Chip
1328 ["name"] = "unknown", -- Name of the chip
1329 ["standard"] = false, -- Standard tabletop chips true/false
1330 ["label"] = "dummy", -- Label used for converting machine
1331 ["height"] = 0.3,
1332 ["params"] =
1333 {
1334 ["rotation"] = {0, 270, 0}, -- rotation of the object (in relation to the machine) when it spawns
1335 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1336 },
1337 ["stack"] = "13" -- stack where the chips are put in
1338 }
1339 }
1340 ,
1341
1342 ['World Series Of Poker - $500'] =
1343 {
1344 {
1345 ["value"] = 100000, -- Value of the Chip
1346 ["name"] = "$100,000", -- Name of the chip
1347 ["label"] = "$100k", -- Label used for converting machine
1348 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1349 ["height"] = 0.15,
1350 ["custom"] =
1351 {
1352 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1353 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197361066/BA9D2B216ACA83C87E4305300AE6F97AAA0F6697/", -- diffuse image
1354 ["type"] = 5, -- 5 is a 'chip'
1355 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1356 },
1357 ["params"] =
1358 {
1359 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1360 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1361 },
1362 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1363 },
1364 {
1365 ["value"] = 25000, -- Value of the Chip
1366 ["name"] = "$25,000", -- Name of the chip
1367 ["label"] = "$25k", -- Label used for converting machine
1368 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1369 ["height"] = 0.15,
1370 ["custom"] =
1371 {
1372 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1373 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197360837/CE5C0AF8FB108A8C3B993DA56C5DD663C1F761C9/", -- diffuse image
1374 ["type"] = 5, -- 5 is a 'chip'
1375 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1376 },
1377 ["params"] =
1378 {
1379 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1380 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1381 },
1382 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1383 },
1384 {
1385 ["value"] = 5000, -- Value of the Chip
1386 ["name"] = "$5,000", -- Name of the chip
1387 ["label"] = "$5000", -- Label used for converting machine
1388 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1389 ["height"] = 0.15,
1390 ["custom"] =
1391 {
1392 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1393 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197360643/23B47FACED382B985ABDF2466C012E8334622B72/", -- diffuse image
1394 ["type"] = 5, -- 5 is a 'chip'
1395 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1396 },
1397 ["params"] =
1398 {
1399 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1400 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1401 },
1402 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1403 },
1404 {
1405 ["value"] = 1000, -- Value of the Chip
1406 ["name"] = "$1,000", -- Name of the chip
1407 ["label"] = "$1000", -- Label used for converting machine
1408 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1409 ["height"] = 0.15,
1410 ["custom"] =
1411 {
1412 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1413 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197360430/E4AA09164DDB8F7208917592E67558CFD6DEEB37/", -- diffuse image
1414 ["type"] = 5, -- 5 is a 'chip'
1415 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1416 },
1417 ["params"] =
1418 {
1419 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1420 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1421 },
1422 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1423 },
1424 {
1425 ["value"] = 500, -- Value of the Chip
1426 ["name"] = "$500", -- Name of the chip
1427 ["label"] = "$500", -- Label used for converting machine
1428 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1429 ["height"] = 0.15,
1430 ["custom"] =
1431 {
1432 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1433 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358998/062515C335AB7DD04B3385F1DCC28A3D1B1594D1/", -- diffuse image
1434 ["type"] = 5, -- 5 is a 'chip'
1435 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1436 },
1437 ["params"] =
1438 {
1439 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1440 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1441 },
1442 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1443 },
1444 -- dummy for unknown chips
1445 {
1446 ["value"] = -1, -- Value of the Chip
1447 ["name"] = "unknown", -- Name of the chip
1448 ["standard"] = false, -- Standard tabletop chips true/false
1449 ["label"] = "dummy", -- Label used for converting machine
1450 ["height"] = 0.3,
1451 ["params"] =
1452 {
1453 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1454 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1455 },
1456 ["stack"] = "15" -- stack where the chips are put in
1457 }
1458 },
1459
1460 ['World Series Of Poker - $25'] =
1461 {
1462 {
1463 ["value"] = 100000, -- Value of the Chip
1464 ["name"] = "$100,000", -- Name of the chip
1465 ["label"] = "$100k", -- Label used for converting machine
1466 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1467 ["height"] = 0.15,
1468 ["custom"] =
1469 {
1470 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1471 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197361066/BA9D2B216ACA83C87E4305300AE6F97AAA0F6697/", -- diffuse image
1472 ["type"] = 5, -- 5 is a 'chip'
1473 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1474 },
1475 ["params"] =
1476 {
1477 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1478 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1479 },
1480 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1481 },
1482 {
1483 ["value"] = 25000, -- Value of the Chip
1484 ["name"] = "$25,000", -- Name of the chip
1485 ["label"] = "$25k", -- Label used for converting machine
1486 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1487 ["height"] = 0.15,
1488 ["custom"] =
1489 {
1490 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1491 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197360837/CE5C0AF8FB108A8C3B993DA56C5DD663C1F761C9/", -- diffuse image
1492 ["type"] = 5, -- 5 is a 'chip'
1493 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1494 },
1495 ["params"] =
1496 {
1497 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1498 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1499 },
1500 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1501 },
1502 {
1503 ["value"] = 5000, -- Value of the Chip
1504 ["name"] = "$5,000", -- Name of the chip
1505 ["label"] = "$5000", -- Label used for converting machine
1506 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1507 ["height"] = 0.15,
1508 ["custom"] =
1509 {
1510 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1511 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197360643/23B47FACED382B985ABDF2466C012E8334622B72/", -- diffuse image
1512 ["type"] = 5, -- 5 is a 'chip'
1513 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1514 },
1515 ["params"] =
1516 {
1517 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1518 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1519 },
1520 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1521 },
1522 {
1523 ["value"] = 1000, -- Value of the Chip
1524 ["name"] = "$1,000", -- Name of the chip
1525 ["label"] = "$1000", -- Label used for converting machine
1526 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1527 ["height"] = 0.15,
1528 ["custom"] =
1529 {
1530 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1531 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197360430/E4AA09164DDB8F7208917592E67558CFD6DEEB37/", -- diffuse image
1532 ["type"] = 5, -- 5 is a 'chip'
1533 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1534 },
1535 ["params"] =
1536 {
1537 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1538 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1539 },
1540 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1541 },
1542 {
1543 ["value"] = 500, -- Value of the Chip
1544 ["name"] = "$500", -- Name of the chip
1545 ["label"] = "$500", -- Label used for converting machine
1546 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1547 ["height"] = 0.15,
1548 ["custom"] =
1549 {
1550 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1551 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358998/062515C335AB7DD04B3385F1DCC28A3D1B1594D1/", -- diffuse image
1552 ["type"] = 5, -- 5 is a 'chip'
1553 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1554 },
1555 ["params"] =
1556 {
1557 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1558 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1559 },
1560 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1561 },
1562
1563 {
1564 ["value"] = 100, -- Value of the Chip
1565 ["name"] = "$100", -- Name of the chip
1566 ["label"] = "$100", -- Label used for converting machine
1567 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1568 ["height"] = 0.15,
1569 ["custom"] =
1570 {
1571 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/920291347197358866/D11111EC5FF8BA128BCC6D4C78EBCEC0E4DFB3A4/", -- obj file
1572 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/920291347197360247/60DFA5A19AB5D25B745B266E01787390C6BFDA1C/", -- diffuse image
1573 ["type"] = 5, -- 5 is a 'chip'
1574 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1575 },
1576 ["params"] =
1577 {
1578 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1579 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
1580 },
1581 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1582 }
1583 , -- dummy for unknown chips
1584 {
1585 ["value"] = -1, -- Value of the Chip
1586 ["name"] = "unknown", -- Name of the chip
1587 ["standard"] = false, -- Standard tabletop chips true/false
1588 ["label"] = "dummy", -- Label used for converting machine
1589 ["height"] = 0.3,
1590 ["params"] =
1591 {
1592 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1593 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1594 },
1595 ["stack"] = "15" -- stack where the chips are put in
1596 }
1597 },
1598
1599 ['Casino Style V2 - $1'] =
1600 {
1601 --10m
1602 {
1603 ["value"] = 10000000, -- Value of the Chip
1604 ["name"] = "$10,000,000", -- Name of the chip
1605 ["label"] = "$10m", -- Label used for converting machine
1606 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1607 ["height"] = 0.15,
1608 ["custom"] =
1609 {
1610 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1611 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
1612 ["type"] = 5, -- 5 is a 'chip'
1613 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1614 },
1615 ["params"] =
1616 {
1617 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1618 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1619 },
1620 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1621 },
1622
1623
1624
1625 --1m
1626 {
1627 ["value"] = 1000000, -- Value of the Chip
1628 ["name"] = "$1,000,000", -- Name of the chip
1629 ["label"] = "$1m", -- Label used for converting machine
1630 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1631 ["height"] = 0.15,
1632 ["custom"] =
1633 {
1634 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1635 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
1636 ["type"] = 5, -- 5 is a 'chip'
1637 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1638 },
1639 ["params"] =
1640 {
1641 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1642 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1643 },
1644 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1645 },
1646
1647 --100k
1648 {
1649 ["value"] = 100000, -- Value of the Chip
1650 ["name"] = "$100,000", -- Name of the chip
1651 ["label"] = "$100k", -- Label used for converting machine
1652 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1653 ["height"] = 0.15,
1654 ["custom"] =
1655 {
1656 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1657 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
1658 ["type"] = 5, -- 5 is a 'chip'
1659 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1660 },
1661 ["params"] =
1662 {
1663 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1664 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1665 },
1666 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1667 },
1668 --50k
1669 {
1670 ["value"] = 50000, -- Value of the Chip
1671 ["name"] = "$50,000", -- Name of the chip
1672 ["label"] = "$50k", -- Label used for converting machine
1673 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1674 ["height"] = 0.15,
1675 ["custom"] =
1676 {
1677 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1678 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
1679 ["type"] = 5, -- 5 is a 'chip'
1680 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1681 },
1682 ["params"] =
1683 {
1684 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1685 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1686 },
1687 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1688 },
1689 --25k
1690 {
1691 ["value"] = 25000, -- Value of the Chip
1692 ["name"] = "$25,000", -- Name of the chip
1693 ["label"] = "$25k", -- Label used for converting machine
1694 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1695 ["height"] = 0.15,
1696 ["custom"] =
1697 {
1698 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1699 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
1700 ["type"] = 5, -- 5 is a 'chip'
1701 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1702 },
1703 ["params"] =
1704 {
1705 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1706 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1707 },
1708 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1709 },
1710 --10k
1711 {
1712 ["value"] = 10000, -- Value of the Chip
1713 ["name"] = "$10,000", -- Name of the chip
1714 ["label"] = "$10k", -- Label used for converting machine
1715 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1716 ["height"] = 0.15,
1717 ["custom"] =
1718 {
1719 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1720 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
1721 ["type"] = 5, -- 5 is a 'chip'
1722 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1723 },
1724 ["params"] =
1725 {
1726 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1727 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1728 },
1729 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1730 },
1731 --5k
1732 {
1733 ["value"] = 5000, -- Value of the Chip
1734 ["name"] = "$5,000", -- Name of the chip
1735 ["label"] = "$5000", -- Label used for converting machine
1736 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1737 ["height"] = 0.15,
1738 ["custom"] =
1739 {
1740 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1741 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
1742 ["type"] = 5, -- 5 is a 'chip'
1743 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1744 },
1745 ["params"] =
1746 {
1747 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1748 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1749 },
1750 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1751 },
1752
1753 --2500
1754 {
1755 ["value"] = 2500, -- Value of the Chip
1756 ["name"] = "$2,500", -- Name of the chip
1757 ["label"] = "$2500", -- Label used for converting machine
1758 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1759 ["height"] = 0.15,
1760 ["custom"] =
1761 {
1762 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1763 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
1764 ["type"] = 5, -- 5 is a 'chip'
1765 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1766 },
1767 ["params"] =
1768 {
1769 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1770 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1771 },
1772
1773 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1774 },
1775 --1000
1776 {
1777 ["value"] = 1000, -- Value of the Chip
1778 ["name"] = "$1,000", -- Name of the chip
1779 ["label"] = "$1000", -- Label used for converting machine
1780 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1781 ["height"] = 0.15,
1782 ["custom"] =
1783 {
1784 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1785 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
1786 ["type"] = 5, -- 5 is a 'chip'
1787 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1788 },
1789 ["params"] =
1790 {
1791 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1792 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1793 },
1794
1795 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1796 },
1797 --500
1798 {
1799 ["value"] = 500, -- Value of the Chip
1800 ["name"] = "$500", -- Name of the chip
1801 ["label"] = "$500", -- Label used for converting machine
1802 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1803 ["height"] = 0.15,
1804 ["custom"] =
1805 {
1806 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1807 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
1808 ["type"] = 5, -- 5 is a 'chip'
1809 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1810 },
1811 ["params"] =
1812 {
1813 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1814 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1815 },
1816
1817 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1818 },
1819
1820 --250
1821 {
1822 ["value"] = 250, -- Value of the Chip
1823 ["name"] = "$250", -- Name of the chip
1824 ["label"] = "$250", -- Label used for converting machine
1825 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1826 ["height"] = 0.15,
1827 ["custom"] =
1828 {
1829 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1830 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlc2U1RDeU9mZGc", -- diffuse image
1831 ["type"] = 5, -- 5 is a 'chip'
1832 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1833 },
1834 ["params"] =
1835 {
1836 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1837 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1838 },
1839
1840 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1841 },
1842
1843 --100
1844 {
1845 ["value"] = 100, -- Value of the Chip
1846 ["name"] = "$100", -- Name of the chip
1847 ["label"] = "$100", -- Label used for converting machine
1848 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1849 ["height"] = 0.15,
1850 ["custom"] =
1851 {
1852 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1853 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
1854 ["type"] = 5, -- 5 is a 'chip'
1855 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1856 },
1857 ["params"] =
1858 {
1859 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1860 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1861 },
1862
1863 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1864 },
1865
1866 --50
1867 {
1868 ["value"] = 50, -- Value of the Chip
1869 ["name"] = "$50", -- Name of the chip
1870 ["label"] = "$50", -- Label used for converting machine
1871 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1872 ["height"] = 0.15,
1873 ["custom"] =
1874 {
1875 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1876 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZFpTSV9UYVA4SzA", -- diffuse image
1877 ["type"] = 5, -- 5 is a 'chip'
1878 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1879 },
1880 ["params"] =
1881 {
1882 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1883 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1884 },
1885
1886 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1887 },
1888 --25
1889 {
1890 ["value"] = 25, -- Value of the Chip
1891 ["name"] = "$25", -- Name of the chip
1892 ["label"] = "$25", -- Label used for converting machine
1893 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1894 ["height"] = 0.15,
1895 ["custom"] =
1896 {
1897 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1898 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUE1vakxlV1VWeG8", -- diffuse image
1899 ["type"] = 5, -- 5 is a 'chip'
1900 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1901 },
1902 ["params"] =
1903 {
1904 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1905 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1906 },
1907
1908 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1909 },
1910 --10
1911 {
1912 ["value"] = 10, -- Value of the Chip
1913 ["name"] = "$10", -- Name of the chip
1914 ["label"] = "$10", -- Label used for converting machine
1915 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1916 ["height"] = 0.15,
1917 ["custom"] =
1918 {
1919 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1920 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IejNGRlFiVE5EZ1U", -- diffuse image
1921 ["type"] = 5, -- 5 is a 'chip'
1922 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1923 },
1924 ["params"] =
1925 {
1926 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1927 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1928 },
1929
1930 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1931 },
1932 --5
1933 {
1934 ["value"] = 5, -- Value of the Chip
1935 ["name"] = "$5", -- Name of the chip
1936 ["label"] = "$5", -- Label used for converting machine
1937 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1938 ["height"] = 0.15,
1939 ["custom"] =
1940 {
1941 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1942 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUFlQOVN1ak83VHM", -- diffuse image
1943 ["type"] = 5, -- 5 is a 'chip'
1944 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1945 },
1946 ["params"] =
1947 {
1948 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1949 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1950 },
1951
1952 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1953 },
1954 --1
1955 {
1956 ["value"] = 1, -- Value of the Chip
1957 ["name"] = "$1", -- Name of the chip
1958 ["label"] = "$1", -- Label used for converting machine
1959 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
1960 ["height"] = 0.15,
1961 ["custom"] =
1962 {
1963 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
1964 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ILWFqZTBoSnZUam8", -- diffuse image
1965 ["type"] = 5, -- 5 is a 'chip'
1966 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
1967 },
1968 ["params"] =
1969 {
1970 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1971 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
1972 },
1973
1974 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
1975 },
1976 -- dummy for unknown chips
1977 {
1978 ["value"] = -1, -- Value of the Chip
1979 ["name"] = "unknown", -- Name of the chip
1980 ["standard"] = false, -- Standard tabletop chips true/false
1981 ["label"] = "dummy", -- Label used for converting machine
1982 ["height"] = 0.3,
1983 ["params"] =
1984 {
1985 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
1986 ["scale"] = {1,1,1} -- the scale at which to spawn the object
1987 },
1988 ["stack"] = "16" -- stack where the chips are put in
1989 }
1990 },
1991
1992 ['Casino Style V2 - $10'] =
1993 {
1994
1995 --10m
1996 {
1997 ["value"] = 10000000, -- Value of the Chip
1998 ["name"] = "$10,000,000", -- Name of the chip
1999 ["label"] = "$10m", -- Label used for converting machine
2000 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2001 ["height"] = 0.15,
2002 ["custom"] =
2003 {
2004 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2005 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
2006 ["type"] = 5, -- 5 is a 'chip'
2007 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2008 },
2009 ["params"] =
2010 {
2011 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2012 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2013 },
2014 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2015 },
2016
2017
2018
2019 --1m
2020 {
2021 ["value"] = 1000000, -- Value of the Chip
2022 ["name"] = "$1,000,000", -- Name of the chip
2023 ["label"] = "$1m", -- Label used for converting machine
2024 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2025 ["height"] = 0.15,
2026 ["custom"] =
2027 {
2028 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2029 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2030 ["type"] = 5, -- 5 is a 'chip'
2031 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2032 },
2033 ["params"] =
2034 {
2035 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2036 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2037 },
2038 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2039 },
2040 --100k
2041 {
2042 ["value"] = 100000, -- Value of the Chip
2043 ["name"] = "$100,000", -- Name of the chip
2044 ["label"] = "$100k", -- Label used for converting machine
2045 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2046 ["height"] = 0.15,
2047 ["custom"] =
2048 {
2049 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2050 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2051 ["type"] = 5, -- 5 is a 'chip'
2052 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2053 },
2054 ["params"] =
2055 {
2056 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2057 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2058 },
2059 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2060 },
2061 --50k
2062 {
2063 ["value"] = 50000, -- Value of the Chip
2064 ["name"] = "$50,000", -- Name of the chip
2065 ["label"] = "$50k", -- Label used for converting machine
2066 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2067 ["height"] = 0.15,
2068 ["custom"] =
2069 {
2070 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2071 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2072 ["type"] = 5, -- 5 is a 'chip'
2073 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2074 },
2075 ["params"] =
2076 {
2077 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2078 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2079 },
2080 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2081 },
2082 --25k
2083 {
2084 ["value"] = 25000, -- Value of the Chip
2085 ["name"] = "$25,000", -- Name of the chip
2086 ["label"] = "$25k", -- Label used for converting machine
2087 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2088 ["height"] = 0.15,
2089 ["custom"] =
2090 {
2091 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2092 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2093 ["type"] = 5, -- 5 is a 'chip'
2094 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2095 },
2096 ["params"] =
2097 {
2098 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2099 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2100 },
2101 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2102 },
2103 --10k
2104 {
2105 ["value"] = 10000, -- Value of the Chip
2106 ["name"] = "$10,000", -- Name of the chip
2107 ["label"] = "$10k", -- Label used for converting machine
2108 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2109 ["height"] = 0.15,
2110 ["custom"] =
2111 {
2112 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2113 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
2114 ["type"] = 5, -- 5 is a 'chip'
2115 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2116 },
2117 ["params"] =
2118 {
2119 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2120 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2121 },
2122 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2123 },
2124 --5k
2125 {
2126 ["value"] = 5000, -- Value of the Chip
2127 ["name"] = "$5,000", -- Name of the chip
2128 ["label"] = "$5000", -- Label used for converting machine
2129 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2130 ["height"] = 0.15,
2131 ["custom"] =
2132 {
2133 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2134 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2135 ["type"] = 5, -- 5 is a 'chip'
2136 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2137 },
2138 ["params"] =
2139 {
2140 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2141 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2142 },
2143 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2144 },
2145
2146 --2500
2147 {
2148 ["value"] = 2500, -- Value of the Chip
2149 ["name"] = "$2,500", -- Name of the chip
2150 ["label"] = "$2500", -- Label used for converting machine
2151 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2152 ["height"] = 0.15,
2153 ["custom"] =
2154 {
2155 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2156 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2157 ["type"] = 5, -- 5 is a 'chip'
2158 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2159 },
2160 ["params"] =
2161 {
2162 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2163 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2164 },
2165
2166 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2167 },
2168 --1000
2169 {
2170 ["value"] = 1000, -- Value of the Chip
2171 ["name"] = "$1,000", -- Name of the chip
2172 ["label"] = "$1000", -- Label used for converting machine
2173 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2174 ["height"] = 0.15,
2175 ["custom"] =
2176 {
2177 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2178 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
2179 ["type"] = 5, -- 5 is a 'chip'
2180 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2181 },
2182 ["params"] =
2183 {
2184 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2185 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2186 },
2187
2188 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2189 },
2190 --500
2191 {
2192 ["value"] = 500, -- Value of the Chip
2193 ["name"] = "$500", -- Name of the chip
2194 ["label"] = "$500", -- Label used for converting machine
2195 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2196 ["height"] = 0.15,
2197 ["custom"] =
2198 {
2199 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2200 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2201 ["type"] = 5, -- 5 is a 'chip'
2202 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2203 },
2204 ["params"] =
2205 {
2206 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2207 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2208 },
2209
2210 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2211 },
2212
2213 --250
2214 {
2215 ["value"] = 250, -- Value of the Chip
2216 ["name"] = "$250", -- Name of the chip
2217 ["label"] = "$250", -- Label used for converting machine
2218 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2219 ["height"] = 0.15,
2220 ["custom"] =
2221 {
2222 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2223 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlc2U1RDeU9mZGc", -- diffuse image
2224 ["type"] = 5, -- 5 is a 'chip'
2225 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2226 },
2227 ["params"] =
2228 {
2229 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2230 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2231 },
2232
2233 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2234 },
2235
2236 --100
2237 {
2238 ["value"] = 100, -- Value of the Chip
2239 ["name"] = "$100", -- Name of the chip
2240 ["label"] = "$100", -- Label used for converting machine
2241 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2242 ["height"] = 0.15,
2243 ["custom"] =
2244 {
2245 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2246 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
2247 ["type"] = 5, -- 5 is a 'chip'
2248 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2249 },
2250 ["params"] =
2251 {
2252 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2253 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2254 },
2255
2256 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2257 },
2258
2259 --50
2260 {
2261 ["value"] = 50, -- Value of the Chip
2262 ["name"] = "$50", -- Name of the chip
2263 ["label"] = "$50", -- Label used for converting machine
2264 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2265 ["height"] = 0.15,
2266 ["custom"] =
2267 {
2268 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2269 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZFpTSV9UYVA4SzA", -- diffuse image
2270 ["type"] = 5, -- 5 is a 'chip'
2271 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2272 },
2273 ["params"] =
2274 {
2275 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2276 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2277 },
2278
2279 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2280 },
2281
2282 --10
2283 {
2284 ["value"] = 10, -- Value of the Chip
2285 ["name"] = "$10", -- Name of the chip
2286 ["label"] = "$10", -- Label used for converting machine
2287 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2288 ["height"] = 0.15,
2289 ["custom"] =
2290 {
2291 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2292 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IejNGRlFiVE5EZ1U", -- diffuse image
2293 ["type"] = 5, -- 5 is a 'chip'
2294 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2295 },
2296 ["params"] =
2297 {
2298 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2299 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2300 },
2301
2302 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2303 },
2304 -- dummy for unknown chips
2305 {
2306 ["value"] = -1, -- Value of the Chip
2307 ["name"] = "unknown", -- Name of the chip
2308 ["standard"] = false, -- Standard tabletop chips true/false
2309 ["label"] = "dummy", -- Label used for converting machine
2310 ["height"] = 0.3,
2311 ["params"] =
2312 {
2313 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2314 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2315 },
2316 ["stack"] = "15" -- stack where the chips are put in
2317 }
2318 },
2319
2320 ['Casino Style V2 - $100'] =
2321 {
2322 --10m
2323 {
2324 ["value"] = 10000000, -- Value of the Chip
2325 ["name"] = "$10,000,000", -- Name of the chip
2326 ["label"] = "$10m", -- Label used for converting machine
2327 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2328 ["height"] = 0.15,
2329 ["custom"] =
2330 {
2331 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2332 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
2333 ["type"] = 5, -- 5 is a 'chip'
2334 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2335 },
2336 ["params"] =
2337 {
2338 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2339 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2340 },
2341 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2342 },
2343
2344
2345
2346 --1m
2347 {
2348 ["value"] = 1000000, -- Value of the Chip
2349 ["name"] = "$1,000,000", -- Name of the chip
2350 ["label"] = "$1m", -- Label used for converting machine
2351 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2352 ["height"] = 0.15,
2353 ["custom"] =
2354 {
2355 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2356 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2357 ["type"] = 5, -- 5 is a 'chip'
2358 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2359 },
2360 ["params"] =
2361 {
2362 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2363 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2364 },
2365 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2366 },
2367
2368
2369 --100k
2370 {
2371 ["value"] = 100000, -- Value of the Chip
2372 ["name"] = "$100,000", -- Name of the chip
2373 ["label"] = "$100k", -- Label used for converting machine
2374 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2375 ["height"] = 0.15,
2376 ["custom"] =
2377 {
2378 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2379 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2380 ["type"] = 5, -- 5 is a 'chip'
2381 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2382 },
2383 ["params"] =
2384 {
2385 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2386 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2387 },
2388 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2389 },
2390 --50k
2391 {
2392 ["value"] = 50000, -- Value of the Chip
2393 ["name"] = "$50,000", -- Name of the chip
2394 ["label"] = "$50k", -- Label used for converting machine
2395 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2396 ["height"] = 0.15,
2397 ["custom"] =
2398 {
2399 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2400 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2401 ["type"] = 5, -- 5 is a 'chip'
2402 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2403 },
2404 ["params"] =
2405 {
2406 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2407 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2408 },
2409 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2410 },
2411 --25k
2412 {
2413 ["value"] = 25000, -- Value of the Chip
2414 ["name"] = "$25,000", -- Name of the chip
2415 ["label"] = "$25k", -- Label used for converting machine
2416 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2417 ["height"] = 0.15,
2418 ["custom"] =
2419 {
2420 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2421 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2422 ["type"] = 5, -- 5 is a 'chip'
2423 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2424 },
2425 ["params"] =
2426 {
2427 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2428 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2429 },
2430 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2431 },
2432 --10k
2433 {
2434 ["value"] = 10000, -- Value of the Chip
2435 ["name"] = "$10,000", -- Name of the chip
2436 ["label"] = "$10k", -- Label used for converting machine
2437 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2438 ["height"] = 0.15,
2439 ["custom"] =
2440 {
2441 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2442 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
2443 ["type"] = 5, -- 5 is a 'chip'
2444 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2445 },
2446 ["params"] =
2447 {
2448 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2449 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2450 },
2451 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2452 },
2453 --5k
2454 {
2455 ["value"] = 5000, -- Value of the Chip
2456 ["name"] = "$5,000", -- Name of the chip
2457 ["label"] = "$5000", -- Label used for converting machine
2458 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2459 ["height"] = 0.15,
2460 ["custom"] =
2461 {
2462 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2463 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2464 ["type"] = 5, -- 5 is a 'chip'
2465 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2466 },
2467 ["params"] =
2468 {
2469 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2470 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2471 },
2472 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2473 },
2474
2475 --2500
2476 {
2477 ["value"] = 2500, -- Value of the Chip
2478 ["name"] = "$2,500", -- Name of the chip
2479 ["label"] = "$2500", -- Label used for converting machine
2480 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2481 ["height"] = 0.15,
2482 ["custom"] =
2483 {
2484 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2485 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2486 ["type"] = 5, -- 5 is a 'chip'
2487 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2488 },
2489 ["params"] =
2490 {
2491 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2492 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2493 },
2494
2495 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2496 },
2497 --1000
2498 {
2499 ["value"] = 1000, -- Value of the Chip
2500 ["name"] = "$1,000", -- Name of the chip
2501 ["label"] = "$1000", -- Label used for converting machine
2502 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2503 ["height"] = 0.15,
2504 ["custom"] =
2505 {
2506 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2507 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
2508 ["type"] = 5, -- 5 is a 'chip'
2509 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2510 },
2511 ["params"] =
2512 {
2513 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2514 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2515 },
2516
2517 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2518 },
2519 --500
2520 {
2521 ["value"] = 500, -- Value of the Chip
2522 ["name"] = "$500", -- Name of the chip
2523 ["label"] = "$500", -- Label used for converting machine
2524 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2525 ["height"] = 0.15,
2526 ["custom"] =
2527 {
2528 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2529 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2530 ["type"] = 5, -- 5 is a 'chip'
2531 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2532 },
2533 ["params"] =
2534 {
2535 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2536 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2537 },
2538
2539 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2540 },
2541
2542
2543 --100
2544 {
2545 ["value"] = 100, -- Value of the Chip
2546 ["name"] = "$100", -- Name of the chip
2547 ["label"] = "$100", -- Label used for converting machine
2548 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2549 ["height"] = 0.15,
2550 ["custom"] =
2551 {
2552 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2553 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IY1prN0cwUzhKeEE", -- diffuse image
2554 ["type"] = 5, -- 5 is a 'chip'
2555 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2556 },
2557 ["params"] =
2558 {
2559 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2560 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2561 },
2562
2563 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2564 },
2565 -- dummy for unknown chips
2566 {
2567 ["value"] = -1, -- Value of the Chip
2568 ["name"] = "unknown", -- Name of the chip
2569 ["standard"] = false, -- Standard tabletop chips true/false
2570 ["label"] = "dummy", -- Label used for converting machine
2571 ["height"] = 0.3,
2572 ["params"] =
2573 {
2574 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2575 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2576 },
2577 ["stack"] = "10" -- stack where the chips are put in
2578 }
2579 },
2580
2581 ['Casino Style V2 - $500'] =
2582 {
2583 --10m
2584 {
2585 ["value"] = 10000000, -- Value of the Chip
2586 ["name"] = "$10,000,000", -- Name of the chip
2587 ["label"] = "$10m", -- Label used for converting machine
2588 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2589 ["height"] = 0.15,
2590 ["custom"] =
2591 {
2592 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2593 ["diffuse"] = "http://i.imgur.com/LNc3Seo.jpghttp://i.imgur.com/LNc3Seo.jpg", -- diffuse image
2594 ["type"] = 5, -- 5 is a 'chip'
2595 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2596 },
2597 ["params"] =
2598 {
2599 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2600 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2601 },
2602 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2603 },
2604
2605
2606
2607 --1m
2608 {
2609 ["value"] = 1000000, -- Value of the Chip
2610 ["name"] = "$1,000,000", -- Name of the chip
2611 ["label"] = "$1m", -- Label used for converting machine
2612 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2613 ["height"] = 0.15,
2614 ["custom"] =
2615 {
2616 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2617 ["diffuse"] = "http://i.imgur.com/rZWuKyA.jpghttp://i.imgur.com/rZWuKyA.jpg", -- diffuse image
2618 ["type"] = 5, -- 5 is a 'chip'
2619 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2620 },
2621 ["params"] =
2622 {
2623 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2624 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2625 },
2626 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2627 },
2628
2629
2630 --100k
2631 {
2632 ["value"] = 100000, -- Value of the Chip
2633 ["name"] = "$100,000", -- Name of the chip
2634 ["label"] = "$100k", -- Label used for converting machine
2635 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2636 ["height"] = 0.15,
2637 ["custom"] =
2638 {
2639 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2640 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZlVBazl5ZjVlWWc", -- diffuse image
2641 ["type"] = 5, -- 5 is a 'chip'
2642 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2643 },
2644 ["params"] =
2645 {
2646 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2647 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2648 },
2649 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2650 },
2651 --50k
2652 {
2653 ["value"] = 50000, -- Value of the Chip
2654 ["name"] = "$50,000", -- Name of the chip
2655 ["label"] = "$50k", -- Label used for converting machine
2656 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2657 ["height"] = 0.15,
2658 ["custom"] =
2659 {
2660 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2661 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4ISXNIU1B4QUo1dzQ", -- diffuse image
2662 ["type"] = 5, -- 5 is a 'chip'
2663 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2664 },
2665 ["params"] =
2666 {
2667 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2668 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2669 },
2670 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2671 },
2672 --25k
2673 {
2674 ["value"] = 25000, -- Value of the Chip
2675 ["name"] = "$25,000", -- Name of the chip
2676 ["label"] = "$25k", -- Label used for converting machine
2677 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2678 ["height"] = 0.15,
2679 ["custom"] =
2680 {
2681 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2682 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4Ibkd0TDlTMHEycGs", -- diffuse image
2683 ["type"] = 5, -- 5 is a 'chip'
2684 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2685 },
2686 ["params"] =
2687 {
2688 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2689 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2690 },
2691 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2692 },
2693 --10k
2694 {
2695 ["value"] = 10000, -- Value of the Chip
2696 ["name"] = "$10,000", -- Name of the chip
2697 ["label"] = "$10k", -- Label used for converting machine
2698 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2699 ["height"] = 0.15,
2700 ["custom"] =
2701 {
2702 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2703 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeVhvNlVaeHlLREk", -- diffuse image
2704 ["type"] = 5, -- 5 is a 'chip'
2705 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2706 },
2707 ["params"] =
2708 {
2709 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2710 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2711 },
2712 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2713 },
2714 --5k
2715 {
2716 ["value"] = 5000, -- Value of the Chip
2717 ["name"] = "$5,000", -- Name of the chip
2718 ["label"] = "$5000", -- Label used for converting machine
2719 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2720 ["height"] = 0.15,
2721 ["custom"] =
2722 {
2723 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2724 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IZTRnaElOQVZ0RVE", -- diffuse image
2725 ["type"] = 5, -- 5 is a 'chip'
2726 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2727 },
2728 ["params"] =
2729 {
2730 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2731 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2732 },
2733 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2734 },
2735
2736 --2500
2737 {
2738 ["value"] = 2500, -- Value of the Chip
2739 ["name"] = "$2,500", -- Name of the chip
2740 ["label"] = "$2500", -- Label used for converting machine
2741 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2742 ["height"] = 0.15,
2743 ["custom"] =
2744 {
2745 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2746 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4INzZYQTdmeXhJVVk", -- diffuse image
2747 ["type"] = 5, -- 5 is a 'chip'
2748 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2749 },
2750 ["params"] =
2751 {
2752 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2753 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2754 },
2755
2756 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2757 },
2758 --1000
2759 {
2760 ["value"] = 1000, -- Value of the Chip
2761 ["name"] = "$1,000", -- Name of the chip
2762 ["label"] = "$1000", -- Label used for converting machine
2763 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2764 ["height"] = 0.15,
2765 ["custom"] =
2766 {
2767 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2768 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IUHZ5ZndoR2tzMGM", -- diffuse image
2769 ["type"] = 5, -- 5 is a 'chip'
2770 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2771 },
2772 ["params"] =
2773 {
2774 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2775 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2776 },
2777
2778 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2779 },
2780 --500
2781 {
2782 ["value"] = 500, -- Value of the Chip
2783 ["name"] = "$500", -- Name of the chip
2784 ["label"] = "$500", -- Label used for converting machine
2785 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2786 ["height"] = 0.15,
2787 ["custom"] =
2788 {
2789 ["mesh"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IeTM4ZHU5TFdKc0U", -- obj file
2790 ["diffuse"] = "https://drive.google.com/uc?export=download&id=0B5tpZ_GxRg4IWWlCeThORERDQk0", -- diffuse image
2791 ["type"] = 5, -- 5 is a 'chip'
2792 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2793 },
2794 ["params"] =
2795 {
2796 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2797 ["scale"] = {0.7, 0.7, 0.7} -- the scale at which to spawn the object
2798 },
2799
2800 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2801 },
2802
2803
2804 -- dummy for unknown chips
2805 {
2806 ["value"] = -1, -- Value of the Chip
2807 ["name"] = "unknown", -- Name of the chip
2808 ["standard"] = false, -- Standard tabletop chips true/false
2809 ["label"] = "dummy", -- Label used for converting machine
2810 ["height"] = 0.3,
2811 ["params"] =
2812 {
2813 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2814 ["scale"] = {1,1,1} -- the scale at which to spawn the object
2815 },
2816 ["stack"] = "10" -- stack where the chips are put in
2817 }
2818 },
2819
2820
2821 ['Casino Style V3 - $1'] =
2822 {
2823
2824
2825
2826 --1m
2827 {
2828 ["value"] = 1000000, -- Value of the Chip
2829 ["name"] = "$1,000,000", -- Name of the chip
2830 ["label"] = "$1m", -- Label used for converting machine
2831 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2832 ["height"] = 0.15,
2833 ["custom"] =
2834 {
2835 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2836 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
2837 ["type"] = 5, -- 5 is a 'chip'
2838 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2839 },
2840 ["params"] =
2841 {
2842 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2843 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2844 },
2845 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2846 },
2847
2848
2849 --500k
2850 {
2851 ["value"] = 500000, -- Value of the Chip
2852 ["name"] = "$500,000", -- Name of the chip
2853 ["label"] = "$500k", -- Label used for converting machine
2854 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2855 ["height"] = 0.15,
2856 ["custom"] =
2857 {
2858 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2859 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
2860 ["type"] = 5, -- 5 is a 'chip'
2861 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2862 },
2863 ["params"] =
2864 {
2865 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2866 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2867 },
2868 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2869 },
2870
2871 --250k
2872 {
2873 ["value"] = 250000, -- Value of the Chip
2874 ["name"] = "$250,000", -- Name of the chip
2875 ["label"] = "$250k", -- Label used for converting machine
2876 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2877 ["height"] = 0.15,
2878 ["custom"] =
2879 {
2880 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2881 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
2882 ["type"] = 5, -- 5 is a 'chip'
2883 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2884 },
2885 ["params"] =
2886 {
2887 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2888 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2889 },
2890 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2891 },
2892
2893 --100k
2894 {
2895 ["value"] = 100000, -- Value of the Chip
2896 ["name"] = "$100,000", -- Name of the chip
2897 ["label"] = "$100k", -- Label used for converting machine
2898 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2899 ["height"] = 0.15,
2900 ["custom"] =
2901 {
2902 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2903 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
2904 ["type"] = 5, -- 5 is a 'chip'
2905 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2906 },
2907 ["params"] =
2908 {
2909 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2910 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2911 },
2912 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2913 },
2914 --50k
2915 {
2916 ["value"] = 50000, -- Value of the Chip
2917 ["name"] = "$50,000", -- Name of the chip
2918 ["label"] = "$50k", -- Label used for converting machine
2919 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2920 ["height"] = 0.15,
2921 ["custom"] =
2922 {
2923 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2924 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
2925 ["type"] = 5, -- 5 is a 'chip'
2926 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2927 },
2928 ["params"] =
2929 {
2930 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2931 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2932 },
2933 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2934 },
2935 --25k
2936 {
2937 ["value"] = 25000, -- Value of the Chip
2938 ["name"] = "$25,000", -- Name of the chip
2939 ["label"] = "$25k", -- Label used for converting machine
2940 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2941 ["height"] = 0.15,
2942 ["custom"] =
2943 {
2944 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2945 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
2946 ["type"] = 5, -- 5 is a 'chip'
2947 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2948 },
2949 ["params"] =
2950 {
2951 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2952 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2953 },
2954 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2955 },
2956 --10k
2957 {
2958 ["value"] = 10000, -- Value of the Chip
2959 ["name"] = "$10,000", -- Name of the chip
2960 ["label"] = "$10k", -- Label used for converting machine
2961 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2962 ["height"] = 0.15,
2963 ["custom"] =
2964 {
2965 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2966 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
2967 ["type"] = 5, -- 5 is a 'chip'
2968 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2969 },
2970 ["params"] =
2971 {
2972 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2973 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2974 },
2975 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2976 },
2977 --5k
2978 {
2979 ["value"] = 5000, -- Value of the Chip
2980 ["name"] = "$5,000", -- Name of the chip
2981 ["label"] = "$5000", -- Label used for converting machine
2982 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
2983 ["height"] = 0.15,
2984 ["custom"] =
2985 {
2986 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
2987 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
2988 ["type"] = 5, -- 5 is a 'chip'
2989 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
2990 },
2991 ["params"] =
2992 {
2993 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
2994 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
2995 },
2996 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
2997 },
2998
2999 --2500
3000 {
3001 ["value"] = 2500, -- Value of the Chip
3002 ["name"] = "$2,500", -- Name of the chip
3003 ["label"] = "$2500", -- Label used for converting machine
3004 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3005 ["height"] = 0.15,
3006 ["custom"] =
3007 {
3008 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3009 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
3010 ["type"] = 5, -- 5 is a 'chip'
3011 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3012 },
3013 ["params"] =
3014 {
3015 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3016 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3017 },
3018
3019 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3020 },
3021 --1000
3022 {
3023 ["value"] = 1000, -- Value of the Chip
3024 ["name"] = "$1,000", -- Name of the chip
3025 ["label"] = "$1000", -- Label used for converting machine
3026 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3027 ["height"] = 0.15,
3028 ["custom"] =
3029 {
3030 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3031 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
3032 ["type"] = 5, -- 5 is a 'chip'
3033 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3034 },
3035 ["params"] =
3036 {
3037 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3038 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3039 },
3040
3041 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3042 },
3043 --500
3044 {
3045 ["value"] = 500, -- Value of the Chip
3046 ["name"] = "$500", -- Name of the chip
3047 ["label"] = "$500", -- Label used for converting machine
3048 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3049 ["height"] = 0.15,
3050 ["custom"] =
3051 {
3052 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3053 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
3054 ["type"] = 5, -- 5 is a 'chip'
3055 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3056 },
3057 ["params"] =
3058 {
3059 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3060 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3061 },
3062
3063 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3064 },
3065
3066 --250
3067 {
3068 ["value"] = 250, -- Value of the Chip
3069 ["name"] = "$250", -- Name of the chip
3070 ["label"] = "$250", -- Label used for converting machine
3071 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3072 ["height"] = 0.15,
3073 ["custom"] =
3074 {
3075 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3076 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256693906/7B5FA4B4CA824F79FC92780A83514D98DA1D1D7C/", -- diffuse image
3077 ["type"] = 5, -- 5 is a 'chip'
3078 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3079 },
3080 ["params"] =
3081 {
3082 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3083 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3084 },
3085
3086 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3087 },
3088
3089 --100
3090 {
3091 ["value"] = 100, -- Value of the Chip
3092 ["name"] = "$100", -- Name of the chip
3093 ["label"] = "$100", -- Label used for converting machine
3094 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3095 ["height"] = 0.15,
3096 ["custom"] =
3097 {
3098 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3099 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
3100 ["type"] = 5, -- 5 is a 'chip'
3101 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3102 },
3103 ["params"] =
3104 {
3105 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3106 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3107 },
3108
3109 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3110 },
3111
3112 --50
3113 {
3114 ["value"] = 50, -- Value of the Chip
3115 ["name"] = "$50", -- Name of the chip
3116 ["label"] = "$50", -- Label used for converting machine
3117 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3118 ["height"] = 0.15,
3119 ["custom"] =
3120 {
3121 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3122 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256657852/0B9B88A59CA01525D3CA15D7270A29BE7C68B6FA/", -- diffuse image
3123 ["type"] = 5, -- 5 is a 'chip'
3124 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3125 },
3126 ["params"] =
3127 {
3128 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3129 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3130 },
3131
3132 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3133 },
3134 --25
3135 {
3136 ["value"] = 25, -- Value of the Chip
3137 ["name"] = "$25", -- Name of the chip
3138 ["label"] = "$25", -- Label used for converting machine
3139 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3140 ["height"] = 0.15,
3141 ["custom"] =
3142 {
3143 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3144 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256656037/A746AE927A67D27BE69353AAB7EC177FFB21D81A/", -- diffuse image
3145 ["type"] = 5, -- 5 is a 'chip'
3146 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3147 },
3148 ["params"] =
3149 {
3150 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3151 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3152 },
3153
3154 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3155 },
3156 --10
3157 {
3158 ["value"] = 10, -- Value of the Chip
3159 ["name"] = "$10", -- Name of the chip
3160 ["label"] = "$10", -- Label used for converting machine
3161 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3162 ["height"] = 0.15,
3163 ["custom"] =
3164 {
3165 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3166 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654950/57AE35F278A888511B2F549D6B494AD2CFB1223E/", -- diffuse image
3167 ["type"] = 5, -- 5 is a 'chip'
3168 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3169 },
3170 ["params"] =
3171 {
3172 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3173 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3174 },
3175
3176 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3177 },
3178 --5
3179 {
3180 ["value"] = 5, -- Value of the Chip
3181 ["name"] = "$5", -- Name of the chip
3182 ["label"] = "$5", -- Label used for converting machine
3183 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3184 ["height"] = 0.15,
3185 ["custom"] =
3186 {
3187 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3188 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654116/29B9C461A2B85E91EB8D0E3BA2DC007D1B9F3B72/", -- diffuse image
3189 ["type"] = 5, -- 5 is a 'chip'
3190 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3191 },
3192 ["params"] =
3193 {
3194 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3195 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3196 },
3197
3198 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3199 },
3200 --1
3201 {
3202 ["value"] = 1, -- Value of the Chip
3203 ["name"] = "$1", -- Name of the chip
3204 ["label"] = "$1", -- Label used for converting machine
3205 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3206 ["height"] = 0.15,
3207 ["custom"] =
3208 {
3209 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3210 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256642151/13DB2084C5B29158715BCE2DD245AE11977F8BBD/", -- diffuse image
3211 ["type"] = 5, -- 5 is a 'chip'
3212 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3213 },
3214 ["params"] =
3215 {
3216 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3217 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3218 },
3219
3220 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3221 },
3222 -- dummy for unknown chips
3223 {
3224 ["value"] = -1, -- Value of the Chip
3225 ["name"] = "unknown", -- Name of the chip
3226 ["standard"] = false, -- Standard tabletop chips true/false
3227 ["label"] = "dummy", -- Label used for converting machine
3228 ["height"] = 0.3,
3229 ["params"] =
3230 {
3231 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3232 ["scale"] = {1,1,1} -- the scale at which to spawn the object
3233 },
3234 ["stack"] = "16" -- stack where the chips are put in
3235 }
3236 },
3237
3238 ['Casino Style V3 - $10'] =
3239 {
3240 --1b
3241 {
3242 ["value"] = 1000000000, -- Value of the Chip
3243 ["name"] = "$1,000,000,000", -- Name of the chip
3244 ["label"] = "$1b", -- Label used for converting machine
3245 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3246 ["height"] = 0.15,
3247 ["custom"] =
3248 {
3249 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3250 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
3251 ["type"] = 5, -- 5 is a 'chip'
3252 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3253 },
3254 ["params"] =
3255 {
3256 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3257 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3258 },
3259 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3260 },
3261
3262
3263 --100m
3264 {
3265 ["value"] = 100000000, -- Value of the Chip
3266 ["name"] = "$100,000,000", -- Name of the chip
3267 ["label"] = "$100m", -- Label used for converting machine
3268 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3269 ["height"] = 0.15,
3270 ["custom"] =
3271 {
3272 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3273 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
3274 ["type"] = 5, -- 5 is a 'chip'
3275 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3276 },
3277 ["params"] =
3278 {
3279 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3280 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3281 },
3282 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3283 },
3284
3285
3286 --10m
3287 {
3288 ["value"] = 10000000, -- Value of the Chip
3289 ["name"] = "$10,000,000", -- Name of the chip
3290 ["label"] = "$10m", -- Label used for converting machine
3291 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3292 ["height"] = 0.15,
3293 ["custom"] =
3294 {
3295 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3296 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
3297 ["type"] = 5, -- 5 is a 'chip'
3298 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3299 },
3300 ["params"] =
3301 {
3302 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3303 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3304 },
3305 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3306 },
3307
3308
3309 --1m
3310 {
3311 ["value"] = 1000000, -- Value of the Chip
3312 ["name"] = "$1,000,000", -- Name of the chip
3313 ["label"] = "$1m", -- Label used for converting machine
3314 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3315 ["height"] = 0.15,
3316 ["custom"] =
3317 {
3318 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3319 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
3320 ["type"] = 5, -- 5 is a 'chip'
3321 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3322 },
3323 ["params"] =
3324 {
3325 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3326 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3327 },
3328 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3329 },
3330
3331
3332 --500k
3333 {
3334 ["value"] = 500000, -- Value of the Chip
3335 ["name"] = "$500,000", -- Name of the chip
3336 ["label"] = "$500k", -- Label used for converting machine
3337 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3338 ["height"] = 0.15,
3339 ["custom"] =
3340 {
3341 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3342 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
3343 ["type"] = 5, -- 5 is a 'chip'
3344 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3345 },
3346 ["params"] =
3347 {
3348 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3349 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3350 },
3351 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3352 },
3353
3354 --250k
3355 {
3356 ["value"] = 250000, -- Value of the Chip
3357 ["name"] = "$250,000", -- Name of the chip
3358 ["label"] = "$250k", -- Label used for converting machine
3359 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3360 ["height"] = 0.15,
3361 ["custom"] =
3362 {
3363 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3364 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3365 ["type"] = 5, -- 5 is a 'chip'
3366 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3367 },
3368 ["params"] =
3369 {
3370 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3371 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3372 },
3373 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3374 },
3375
3376 --100k
3377 {
3378 ["value"] = 100000, -- Value of the Chip
3379 ["name"] = "$100,000", -- Name of the chip
3380 ["label"] = "$100k", -- Label used for converting machine
3381 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3382 ["height"] = 0.15,
3383 ["custom"] =
3384 {
3385 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3386 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
3387 ["type"] = 5, -- 5 is a 'chip'
3388 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3389 },
3390 ["params"] =
3391 {
3392 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3393 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3394 },
3395 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3396 },
3397 --50k
3398 {
3399 ["value"] = 50000, -- Value of the Chip
3400 ["name"] = "$50,000", -- Name of the chip
3401 ["label"] = "$50k", -- Label used for converting machine
3402 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3403 ["height"] = 0.15,
3404 ["custom"] =
3405 {
3406 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3407 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
3408 ["type"] = 5, -- 5 is a 'chip'
3409 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3410 },
3411 ["params"] =
3412 {
3413 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3414 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3415 },
3416 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3417 },
3418 --25k
3419 {
3420 ["value"] = 25000, -- Value of the Chip
3421 ["name"] = "$25,000", -- Name of the chip
3422 ["label"] = "$25k", -- Label used for converting machine
3423 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3424 ["height"] = 0.15,
3425 ["custom"] =
3426 {
3427 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3428 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
3429 ["type"] = 5, -- 5 is a 'chip'
3430 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3431 },
3432 ["params"] =
3433 {
3434 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3435 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3436 },
3437 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3438 },
3439 --10k
3440 {
3441 ["value"] = 10000, -- Value of the Chip
3442 ["name"] = "$10,000", -- Name of the chip
3443 ["label"] = "$10k", -- Label used for converting machine
3444 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3445 ["height"] = 0.15,
3446 ["custom"] =
3447 {
3448 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3449 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
3450 ["type"] = 5, -- 5 is a 'chip'
3451 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3452 },
3453 ["params"] =
3454 {
3455 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3456 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3457 },
3458 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3459 },
3460 --5k
3461 {
3462 ["value"] = 5000, -- Value of the Chip
3463 ["name"] = "$5,000", -- Name of the chip
3464 ["label"] = "$5000", -- Label used for converting machine
3465 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3466 ["height"] = 0.15,
3467 ["custom"] =
3468 {
3469 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3470 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
3471 ["type"] = 5, -- 5 is a 'chip'
3472 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3473 },
3474 ["params"] =
3475 {
3476 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3477 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3478 },
3479 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3480 },
3481
3482 --2500
3483 {
3484 ["value"] = 2500, -- Value of the Chip
3485 ["name"] = "$2,500", -- Name of the chip
3486 ["label"] = "$2500", -- Label used for converting machine
3487 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3488 ["height"] = 0.15,
3489 ["custom"] =
3490 {
3491 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3492 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
3493 ["type"] = 5, -- 5 is a 'chip'
3494 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3495 },
3496 ["params"] =
3497 {
3498 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3499 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3500 },
3501
3502 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3503 },
3504 --1000
3505 {
3506 ["value"] = 1000, -- Value of the Chip
3507 ["name"] = "$1,000", -- Name of the chip
3508 ["label"] = "$1000", -- Label used for converting machine
3509 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3510 ["height"] = 0.15,
3511 ["custom"] =
3512 {
3513 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3514 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
3515 ["type"] = 5, -- 5 is a 'chip'
3516 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3517 },
3518 ["params"] =
3519 {
3520 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3521 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3522 },
3523
3524 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3525 },
3526 --500
3527 {
3528 ["value"] = 500, -- Value of the Chip
3529 ["name"] = "$500", -- Name of the chip
3530 ["label"] = "$500", -- Label used for converting machine
3531 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3532 ["height"] = 0.15,
3533 ["custom"] =
3534 {
3535 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3536 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
3537 ["type"] = 5, -- 5 is a 'chip'
3538 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3539 },
3540 ["params"] =
3541 {
3542 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3543 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3544 },
3545
3546 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3547 },
3548
3549 --250
3550 {
3551 ["value"] = 250, -- Value of the Chip
3552 ["name"] = "$250", -- Name of the chip
3553 ["label"] = "$250", -- Label used for converting machine
3554 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3555 ["height"] = 0.15,
3556 ["custom"] =
3557 {
3558 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3559 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256693906/7B5FA4B4CA824F79FC92780A83514D98DA1D1D7C/", -- diffuse image
3560 ["type"] = 5, -- 5 is a 'chip'
3561 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3562 },
3563 ["params"] =
3564 {
3565 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3566 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3567 },
3568
3569 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3570 },
3571
3572 --100
3573 {
3574 ["value"] = 100, -- Value of the Chip
3575 ["name"] = "$100", -- Name of the chip
3576 ["label"] = "$100", -- Label used for converting machine
3577 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3578 ["height"] = 0.15,
3579 ["custom"] =
3580 {
3581 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3582 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
3583 ["type"] = 5, -- 5 is a 'chip'
3584 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3585 },
3586 ["params"] =
3587 {
3588 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3589 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3590 },
3591
3592 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3593 },
3594
3595 --50
3596 {
3597 ["value"] = 50, -- Value of the Chip
3598 ["name"] = "$50", -- Name of the chip
3599 ["label"] = "$50", -- Label used for converting machine
3600 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3601 ["height"] = 0.15,
3602 ["custom"] =
3603 {
3604 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3605 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256657852/0B9B88A59CA01525D3CA15D7270A29BE7C68B6FA/", -- diffuse image
3606 ["type"] = 5, -- 5 is a 'chip'
3607 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3608 },
3609 ["params"] =
3610 {
3611 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3612 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3613 },
3614
3615 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3616 },
3617
3618 --10
3619 {
3620 ["value"] = 10, -- Value of the Chip
3621 ["name"] = "$10", -- Name of the chip
3622 ["label"] = "$10", -- Label used for converting machine
3623 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3624 ["height"] = 0.15,
3625 ["custom"] =
3626 {
3627 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3628 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256654950/57AE35F278A888511B2F549D6B494AD2CFB1223E/", -- diffuse image
3629 ["type"] = 5, -- 5 is a 'chip'
3630 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3631 },
3632 ["params"] =
3633 {
3634 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3635 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3636 },
3637
3638 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3639 },
3640 -- dummy for unknown chips
3641 {
3642 ["value"] = -1, -- Value of the Chip
3643 ["name"] = "unknown", -- Name of the chip
3644 ["standard"] = false, -- Standard tabletop chips true/false
3645 ["label"] = "dummy", -- Label used for converting machine
3646 ["height"] = 0.3,
3647 ["params"] =
3648 {
3649 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3650 ["scale"] = {1,1,1} -- the scale at which to spawn the object
3651 },
3652 ["stack"] = "15" -- stack where the chips are put in
3653 }
3654 },
3655
3656 ['Casino Style V3 - $100'] =
3657 {
3658
3659 --1b
3660 {
3661 ["value"] = 1000000000, -- Value of the Chip
3662 ["name"] = "$1,000,000,000", -- Name of the chip
3663 ["label"] = "$1b", -- Label used for converting machine
3664 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3665 ["height"] = 0.15,
3666 ["custom"] =
3667 {
3668 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3669 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
3670 ["type"] = 5, -- 5 is a 'chip'
3671 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3672 },
3673 ["params"] =
3674 {
3675 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3676 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3677 },
3678 ["stack"] = "15" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3679 },
3680
3681
3682 --100m
3683 {
3684 ["value"] = 100000000, -- Value of the Chip
3685 ["name"] = "$100,000,000", -- Name of the chip
3686 ["label"] = "$100m", -- Label used for converting machine
3687 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3688 ["height"] = 0.15,
3689 ["custom"] =
3690 {
3691 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3692 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
3693 ["type"] = 5, -- 5 is a 'chip'
3694 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3695 },
3696 ["params"] =
3697 {
3698 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3699 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3700 },
3701 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3702 },
3703
3704
3705 --10m
3706 {
3707 ["value"] = 10000000, -- Value of the Chip
3708 ["name"] = "$10,000,000", -- Name of the chip
3709 ["label"] = "$10m", -- Label used for converting machine
3710 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3711 ["height"] = 0.15,
3712 ["custom"] =
3713 {
3714 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3715 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
3716 ["type"] = 5, -- 5 is a 'chip'
3717 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3718 },
3719 ["params"] =
3720 {
3721 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3722 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3723 },
3724 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3725 },
3726
3727
3728 --1m
3729 {
3730 ["value"] = 1000000, -- Value of the Chip
3731 ["name"] = "$1,000,000", -- Name of the chip
3732 ["label"] = "$1m", -- Label used for converting machine
3733 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3734 ["height"] = 0.15,
3735 ["custom"] =
3736 {
3737 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3738 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
3739 ["type"] = 5, -- 5 is a 'chip'
3740 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3741 },
3742 ["params"] =
3743 {
3744 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3745 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3746 },
3747 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3748 },
3749
3750
3751 --500k
3752 {
3753 ["value"] = 500000, -- Value of the Chip
3754 ["name"] = "$500,000", -- Name of the chip
3755 ["label"] = "$500k", -- Label used for converting machine
3756 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3757 ["height"] = 0.15,
3758 ["custom"] =
3759 {
3760 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3761 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
3762 ["type"] = 5, -- 5 is a 'chip'
3763 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3764 },
3765 ["params"] =
3766 {
3767 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3768 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3769 },
3770 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3771 },
3772
3773 --250k
3774 {
3775 ["value"] = 250000, -- Value of the Chip
3776 ["name"] = "$250,000", -- Name of the chip
3777 ["label"] = "$250k", -- Label used for converting machine
3778 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3779 ["height"] = 0.15,
3780 ["custom"] =
3781 {
3782 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3783 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
3784 ["type"] = 5, -- 5 is a 'chip'
3785 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3786 },
3787 ["params"] =
3788 {
3789 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3790 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3791 },
3792 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3793 },
3794
3795
3796 --100k
3797 {
3798 ["value"] = 100000, -- Value of the Chip
3799 ["name"] = "$100,000", -- Name of the chip
3800 ["label"] = "$100k", -- Label used for converting machine
3801 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3802 ["height"] = 0.15,
3803 ["custom"] =
3804 {
3805 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3806 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
3807 ["type"] = 5, -- 5 is a 'chip'
3808 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3809 },
3810 ["params"] =
3811 {
3812 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3813 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3814 },
3815 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3816 },
3817 --50k
3818 {
3819 ["value"] = 50000, -- Value of the Chip
3820 ["name"] = "$50,000", -- Name of the chip
3821 ["label"] = "$50k", -- Label used for converting machine
3822 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3823 ["height"] = 0.15,
3824 ["custom"] =
3825 {
3826 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3827 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
3828 ["type"] = 5, -- 5 is a 'chip'
3829 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3830 },
3831 ["params"] =
3832 {
3833 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3834 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3835 },
3836 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3837 },
3838 --25k
3839 {
3840 ["value"] = 25000, -- Value of the Chip
3841 ["name"] = "$25,000", -- Name of the chip
3842 ["label"] = "$25k", -- Label used for converting machine
3843 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3844 ["height"] = 0.15,
3845 ["custom"] =
3846 {
3847 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3848 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
3849 ["type"] = 5, -- 5 is a 'chip'
3850 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3851 },
3852 ["params"] =
3853 {
3854 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3855 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3856 },
3857 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3858 },
3859 --10k
3860 {
3861 ["value"] = 10000, -- Value of the Chip
3862 ["name"] = "$10,000", -- Name of the chip
3863 ["label"] = "$10k", -- Label used for converting machine
3864 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3865 ["height"] = 0.15,
3866 ["custom"] =
3867 {
3868 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3869 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
3870 ["type"] = 5, -- 5 is a 'chip'
3871 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3872 },
3873 ["params"] =
3874 {
3875 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3876 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3877 },
3878 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3879 },
3880 --5k
3881 {
3882 ["value"] = 5000, -- Value of the Chip
3883 ["name"] = "$5,000", -- Name of the chip
3884 ["label"] = "$5000", -- Label used for converting machine
3885 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3886 ["height"] = 0.15,
3887 ["custom"] =
3888 {
3889 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3890 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
3891 ["type"] = 5, -- 5 is a 'chip'
3892 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3893 },
3894 ["params"] =
3895 {
3896 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3897 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3898 },
3899 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3900 },
3901
3902 --2500
3903 {
3904 ["value"] = 2500, -- Value of the Chip
3905 ["name"] = "$2,500", -- Name of the chip
3906 ["label"] = "$2500", -- Label used for converting machine
3907 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3908 ["height"] = 0.15,
3909 ["custom"] =
3910 {
3911 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3912 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
3913 ["type"] = 5, -- 5 is a 'chip'
3914 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3915 },
3916 ["params"] =
3917 {
3918 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3919 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3920 },
3921
3922 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3923 },
3924 --1000
3925 {
3926 ["value"] = 1000, -- Value of the Chip
3927 ["name"] = "$1,000", -- Name of the chip
3928 ["label"] = "$1000", -- Label used for converting machine
3929 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3930 ["height"] = 0.15,
3931 ["custom"] =
3932 {
3933 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3934 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
3935 ["type"] = 5, -- 5 is a 'chip'
3936 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3937 },
3938 ["params"] =
3939 {
3940 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3941 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3942 },
3943
3944 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3945 },
3946 --500
3947 {
3948 ["value"] = 500, -- Value of the Chip
3949 ["name"] = "$500", -- Name of the chip
3950 ["label"] = "$500", -- Label used for converting machine
3951 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3952 ["height"] = 0.15,
3953 ["custom"] =
3954 {
3955 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3956 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
3957 ["type"] = 5, -- 5 is a 'chip'
3958 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3959 },
3960 ["params"] =
3961 {
3962 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3963 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3964 },
3965
3966 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3967 },
3968
3969
3970 --100
3971 {
3972 ["value"] = 100, -- Value of the Chip
3973 ["name"] = "$100", -- Name of the chip
3974 ["label"] = "$100", -- Label used for converting machine
3975 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
3976 ["height"] = 0.15,
3977 ["custom"] =
3978 {
3979 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
3980 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256658763/7E19C13DE088107B9F5D7C8C0E2C64C26BC3F4DB/", -- diffuse image
3981 ["type"] = 5, -- 5 is a 'chip'
3982 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
3983 },
3984 ["params"] =
3985 {
3986 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
3987 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
3988 },
3989
3990 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
3991 },
3992 -- dummy for unknown chips
3993 {
3994 ["value"] = -1, -- Value of the Chip
3995 ["name"] = "unknown", -- Name of the chip
3996 ["standard"] = false, -- Standard tabletop chips true/false
3997 ["label"] = "dummy", -- Label used for converting machine
3998 ["height"] = 0.3,
3999 ["params"] =
4000 {
4001 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4002 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4003 },
4004 ["stack"] = "10" -- stack where the chips are put in
4005 }
4006 },
4007
4008 ['Casino Style V3 - $500'] =
4009 {
4010
4011 --1b
4012 {
4013 ["value"] = 1000000000, -- Value of the Chip
4014 ["name"] = "$1,000,000,000", -- Name of the chip
4015 ["label"] = "$1b", -- Label used for converting machine
4016 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4017 ["height"] = 0.15,
4018 ["custom"] =
4019 {
4020 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4021 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602918381/EC130790486151DCA1FE92A01C8563BF550AC016/", -- diffuse image
4022 ["type"] = 5, -- 5 is a 'chip'
4023 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4024 },
4025 ["params"] =
4026 {
4027 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4028 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4029 },
4030 ["stack"] = "14" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4031 },
4032
4033
4034 --100m
4035 {
4036 ["value"] = 100000000, -- Value of the Chip
4037 ["name"] = "$100,000,000", -- Name of the chip
4038 ["label"] = "$100m", -- Label used for converting machine
4039 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4040 ["height"] = 0.15,
4041 ["custom"] =
4042 {
4043 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4044 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602916202/D8565D8A20691643F76B1F76BFFBBA6A6C543A40/", -- diffuse image
4045 ["type"] = 5, -- 5 is a 'chip'
4046 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4047 },
4048 ["params"] =
4049 {
4050 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4051 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4052 },
4053 ["stack"] = "13" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4054 },
4055
4056
4057 --10m
4058 {
4059 ["value"] = 10000000, -- Value of the Chip
4060 ["name"] = "$10,000,000", -- Name of the chip
4061 ["label"] = "$10m", -- Label used for converting machine
4062 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4063 ["height"] = 0.15,
4064 ["custom"] =
4065 {
4066 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4067 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875150602915397/0C0D21E2552A8FC66DEF260450E22E3FEEAB63A3/", -- diffuse image
4068 ["type"] = 5, -- 5 is a 'chip'
4069 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4070 },
4071 ["params"] =
4072 {
4073 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4074 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4075 },
4076 ["stack"] = "12" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4077 },
4078
4079
4080 --1m
4081 {
4082 ["value"] = 1000000, -- Value of the Chip
4083 ["name"] = "$1,000,000", -- Name of the chip
4084 ["label"] = "$1m", -- Label used for converting machine
4085 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4086 ["height"] = 0.15,
4087 ["custom"] =
4088 {
4089 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4090 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256705837/847F268E6F2A293741FF93A57A5FE516BD7BFFF6/", -- diffuse image
4091 ["type"] = 5, -- 5 is a 'chip'
4092 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4093 },
4094 ["params"] =
4095 {
4096 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4097 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4098 },
4099 ["stack"] = "11" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4100 },
4101
4102
4103 --500k
4104 {
4105 ["value"] = 500000, -- Value of the Chip
4106 ["name"] = "$500,000", -- Name of the chip
4107 ["label"] = "$500k", -- Label used for converting machine
4108 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4109 ["height"] = 0.15,
4110 ["custom"] =
4111 {
4112 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4113 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256704940/E506C9C6E2C2972379084A0BD5D2132CF0261387/", -- diffuse image
4114 ["type"] = 5, -- 5 is a 'chip'
4115 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4116 },
4117 ["params"] =
4118 {
4119 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4120 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4121 },
4122 ["stack"] = "10" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4123 },
4124
4125 --250k
4126 {
4127 ["value"] = 250000, -- Value of the Chip
4128 ["name"] = "$250,000", -- Name of the chip
4129 ["label"] = "$250k", -- Label used for converting machine
4130 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4131 ["height"] = 0.15,
4132 ["custom"] =
4133 {
4134 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4135 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256703947/549779A92AFC4E10DFCAEC91779ED01BF8010C55/", -- diffuse image
4136 ["type"] = 5, -- 5 is a 'chip'
4137 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4138 },
4139 ["params"] =
4140 {
4141 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4142 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4143 },
4144 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4145 },
4146
4147
4148 --100k
4149 {
4150 ["value"] = 100000, -- Value of the Chip
4151 ["name"] = "$100,000", -- Name of the chip
4152 ["label"] = "$100k", -- Label used for converting machine
4153 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4154 ["height"] = 0.15,
4155 ["custom"] =
4156 {
4157 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4158 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256702065/5F9EFECA32CCBFC3C4076827A6CB7193325A697E/", -- diffuse image
4159 ["type"] = 5, -- 5 is a 'chip'
4160 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4161 },
4162 ["params"] =
4163 {
4164 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4165 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4166 },
4167 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4168 },
4169 --50k
4170 {
4171 ["value"] = 50000, -- Value of the Chip
4172 ["name"] = "$50,000", -- Name of the chip
4173 ["label"] = "$50k", -- Label used for converting machine
4174 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4175 ["height"] = 0.15,
4176 ["custom"] =
4177 {
4178 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4179 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256701086/8EECA78D219951595A722B26AE88568F50FEA849/", -- diffuse image
4180 ["type"] = 5, -- 5 is a 'chip'
4181 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4182 },
4183 ["params"] =
4184 {
4185 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4186 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4187 },
4188 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4189 },
4190 --25k
4191 {
4192 ["value"] = 25000, -- Value of the Chip
4193 ["name"] = "$25,000", -- Name of the chip
4194 ["label"] = "$25k", -- Label used for converting machine
4195 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4196 ["height"] = 0.15,
4197 ["custom"] =
4198 {
4199 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4200 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256700101/1E89B4CFEE3E0D0747A7E4BFB039F9E2E4B5D6EE/", -- diffuse image
4201 ["type"] = 5, -- 5 is a 'chip'
4202 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4203 },
4204 ["params"] =
4205 {
4206 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4207 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4208 },
4209 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4210 },
4211 --10k
4212 {
4213 ["value"] = 10000, -- Value of the Chip
4214 ["name"] = "$10,000", -- Name of the chip
4215 ["label"] = "$10k", -- Label used for converting machine
4216 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4217 ["height"] = 0.15,
4218 ["custom"] =
4219 {
4220 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4221 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256698516/B1E7131FC5870D66AE4A98496E72139CD8E4D8D0/", -- diffuse image
4222 ["type"] = 5, -- 5 is a 'chip'
4223 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4224 },
4225 ["params"] =
4226 {
4227 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4228 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4229 },
4230 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4231 },
4232 --5k
4233 {
4234 ["value"] = 5000, -- Value of the Chip
4235 ["name"] = "$5,000", -- Name of the chip
4236 ["label"] = "$5000", -- Label used for converting machine
4237 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4238 ["height"] = 0.15,
4239 ["custom"] =
4240 {
4241 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4242 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256697588/FE83770D61982FFD5CB5DD0625BCDEA053E84C20/", -- diffuse image
4243 ["type"] = 5, -- 5 is a 'chip'
4244 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4245 },
4246 ["params"] =
4247 {
4248 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4249 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4250 },
4251 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4252 },
4253
4254 --2500
4255 {
4256 ["value"] = 2500, -- Value of the Chip
4257 ["name"] = "$2,500", -- Name of the chip
4258 ["label"] = "$2500", -- Label used for converting machine
4259 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4260 ["height"] = 0.15,
4261 ["custom"] =
4262 {
4263 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4264 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256696546/11D6C0CC0C799CF6FF71A7337335633F1CDC98BF/", -- diffuse image
4265 ["type"] = 5, -- 5 is a 'chip'
4266 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4267 },
4268 ["params"] =
4269 {
4270 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4271 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4272 },
4273
4274 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4275 },
4276 --1000
4277 {
4278 ["value"] = 1000, -- Value of the Chip
4279 ["name"] = "$1,000", -- Name of the chip
4280 ["label"] = "$1000", -- Label used for converting machine
4281 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4282 ["height"] = 0.15,
4283 ["custom"] =
4284 {
4285 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4286 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695929/6D9AAE2B0ABE54D9C48B31B748DC30B88DE0BEFD/", -- diffuse image
4287 ["type"] = 5, -- 5 is a 'chip'
4288 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4289 },
4290 ["params"] =
4291 {
4292 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4293 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4294 },
4295
4296 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4297 },
4298 --500
4299 {
4300 ["value"] = 500, -- Value of the Chip
4301 ["name"] = "$500", -- Name of the chip
4302 ["label"] = "$500", -- Label used for converting machine
4303 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4304 ["height"] = 0.15,
4305 ["custom"] =
4306 {
4307 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875150602984086/8D2E5AD7366E70FCECAE1454A1DCFC83F41E3203/", -- obj file
4308 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/882001015256695095/9C306D3F90485AF4EA1E78895517640D74513D8A/", -- diffuse image
4309 ["type"] = 5, -- 5 is a 'chip'
4310 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4311 },
4312 ["params"] =
4313 {
4314 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4315 ["scale"] = {0.9, 0.9, 0.9} -- the scale at which to spawn the object
4316 },
4317
4318 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4319 },
4320
4321
4322 -- dummy for unknown chips
4323 {
4324 ["value"] = -1, -- Value of the Chip
4325 ["name"] = "unknown", -- Name of the chip
4326 ["standard"] = false, -- Standard tabletop chips true/false
4327 ["label"] = "dummy", -- Label used for converting machine
4328 ["height"] = 0.3,
4329 ["params"] =
4330 {
4331 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4332 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4333 },
4334 ["stack"] = "10" -- stack where the chips are put in
4335 }
4336 },
4337
4338 ['Cash - $1'] =
4339 {
4340
4341 {
4342 ["value"] = 10000, -- Value of the Chip
4343 ["name"] = "$10,000", -- Name of the chip
4344 ["label"] = "$10000", -- Label used for converting machine
4345 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4346 ["height"] = 0.4,
4347 ["custom"] =
4348 {
4349 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4350 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417341397/E932F1E20A11C80E6B33F69AB85383E580A1AEE1/", -- diffuse image
4351 ["type"] = 5, -- 5 is a 'chip'
4352 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4353 },
4354 ["params"] =
4355 {
4356 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4357 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4358 },
4359 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4360 },
4361
4362
4363 {
4364 ["value"] = 5000, -- Value of the Chip
4365 ["name"] = "$5,000", -- Name of the chip
4366 ["label"] = "$5000", -- Label used for converting machine
4367 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4368 ["height"] = 0.4,
4369 ["custom"] =
4370 {
4371 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4372 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417339720/079F4260469E904457AA41516DAE37457047580C/", -- diffuse image
4373 ["type"] = 5, -- 5 is a 'chip'
4374 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4375 },
4376 ["params"] =
4377 {
4378 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4379 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4380 },
4381 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4382 },
4383
4384
4385
4386
4387 {
4388 ["value"] = 2000, -- Value of the Chip
4389 ["name"] = "$2000", -- Name of the chip
4390 ["label"] = "$2000", -- Label used for converting machine
4391 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4392 ["height"] = 0.4,
4393 ["custom"] =
4394 {
4395 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4396 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417338815/61B7CEB12A5B173F904416BA4E03A2D0EB7A59EA/", -- diffuse image
4397 ["type"] = 5, -- 5 is a 'chip'
4398 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4399 },
4400 ["params"] =
4401 {
4402 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4403 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4404 },
4405 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4406 },
4407
4408
4409 {
4410 ["value"] = 1000, -- Value of the Chip
4411 ["name"] = "$1000", -- Name of the chip
4412 ["label"] = "$1000", -- Label used for converting machine
4413 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4414 ["height"] = 0.4,
4415 ["custom"] =
4416 {
4417 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4418 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417337749/ED7860190DD733ECCEA537B4AB7C9E9E2F0F226B/", -- diffuse image
4419 ["type"] = 5, -- 5 is a 'chip'
4420 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4421 },
4422 ["params"] =
4423 {
4424 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4425 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4426 },
4427 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4428 },
4429
4430
4431 {
4432 ["value"] = 500, -- Value of the Chip
4433 ["name"] = "$500", -- Name of the chip
4434 ["label"] = "$500", -- Label used for converting machine
4435 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4436 ["height"] = 0.4,
4437 ["custom"] =
4438 {
4439 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4440 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417336830/68BB8AD5BEF0EC077A743757300A3D6670CC033A/", -- diffuse image
4441 ["type"] = 5, -- 5 is a 'chip'
4442 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4443 },
4444 ["params"] =
4445 {
4446 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4447 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4448 },
4449 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4450 },
4451
4452
4453
4454 --100
4455 {
4456 ["value"] = 100, -- Value of the Chip
4457 ["name"] = "$100", -- Name of the chip
4458 ["label"] = "$100", -- Label used for converting machine
4459 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4460 ["height"] = 0.15,
4461 ["custom"] =
4462 {
4463 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4464 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417333031/DD607DED38237E992FFB93167E92D55384C4B3A8/", -- diffuse image
4465 ["type"] = 5, -- 5 is a 'chip'
4466 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4467 },
4468 ["params"] =
4469 {
4470 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4471 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4472 },
4473
4474 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4475 },
4476
4477
4478 --50
4479 {
4480 ["value"] = 50, -- Value of the Chip
4481 ["name"] = "$50", -- Name of the chip
4482 ["label"] = "$20", -- Label used for converting machine
4483 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4484 ["height"] = 0.15,
4485 ["custom"] =
4486 {
4487 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4488 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417330782/1DDADE5AFCD0DAAD2D20CA000CA5835A773A791E/", -- diffuse image
4489 ["type"] = 5, -- 5 is a 'chip'
4490 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4491 },
4492 ["params"] =
4493 {
4494 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4495 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4496 },
4497
4498 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4499 },
4500
4501
4502
4503 --20
4504 {
4505 ["value"] = 20, -- Value of the Chip
4506 ["name"] = "$20", -- Name of the chip
4507 ["label"] = "$20", -- Label used for converting machine
4508 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4509 ["height"] = 0.15,
4510 ["custom"] =
4511 {
4512 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4513 ["diffuse"] = "http://i.imgur.com/wVf9FY3.jpg", -- diffuse image
4514 ["type"] = 5, -- 5 is a 'chip'
4515 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4516 },
4517 ["params"] =
4518 {
4519 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4520 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4521 },
4522
4523 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4524 },
4525
4526
4527
4528 --10
4529 {
4530 ["value"] = 10, -- Value of the Chip
4531 ["name"] = "$10", -- Name of the chip
4532 ["label"] = "$10", -- Label used for converting machine
4533 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4534 ["height"] = 0.15,
4535 ["custom"] =
4536 {
4537 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4538 ["diffuse"] = "http://i.imgur.com/SCIOcR6.jpg", -- diffuse image
4539 ["type"] = 5, -- 5 is a 'chip'
4540 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4541 },
4542 ["params"] =
4543 {
4544 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4545 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4546 },
4547
4548 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4549 },
4550
4551 --5
4552 {
4553 ["value"] = 5, -- Value of the Chip
4554 ["name"] = "$5", -- Name of the chip
4555 ["label"] = "$5", -- Label used for converting machine
4556 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4557 ["height"] = 0.15,
4558 ["custom"] =
4559 {
4560 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4561 ["diffuse"] = "http://i.imgur.com/roBLL5Y.jpg", -- diffuse image
4562 ["type"] = 5, -- 5 is a 'chip'
4563 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4564 },
4565 ["params"] =
4566 {
4567 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4568 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4569 },
4570
4571 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4572 },
4573
4574
4575 --1
4576 {
4577 ["value"] = 1, -- Value of the Chip
4578 ["name"] = "$1", -- Name of the chip
4579 ["label"] = "$1", -- Label used for converting machine
4580 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4581 ["height"] = 0.15,
4582 ["custom"] =
4583 {
4584 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4585 ["diffuse"] = "http://i.imgur.com/mwUsz1f.jpg", -- diffuse image
4586 ["type"] = 5, -- 5 is a 'chip'
4587 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4588 },
4589 ["params"] =
4590 {
4591 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4592 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4593 },
4594
4595 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4596 },
4597
4598 -- dummy for unknown chips
4599 {
4600 ["value"] = -1, -- Value of the Chip
4601 ["name"] = "unknown", -- Name of the chip
4602 ["standard"] = false, -- Standard tabletop chips true/false
4603 ["label"] = "dummy", -- Label used for converting machine
4604 ["height"] = 0.3,
4605 ["params"] =
4606 {
4607 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4608 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4609 },
4610 ["stack"] = "10" -- stack where the chips are put in
4611 }
4612 },
4613
4614
4615 ['Cash - $10'] =
4616 {
4617
4618 {
4619 ["value"] = 10000, -- Value of the Chip
4620 ["name"] = "$10,000", -- Name of the chip
4621 ["label"] = "$10000", -- Label used for converting machine
4622 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4623 ["height"] = 0.4,
4624 ["custom"] =
4625 {
4626 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4627 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417341397/E932F1E20A11C80E6B33F69AB85383E580A1AEE1/", -- diffuse image
4628 ["type"] = 5, -- 5 is a 'chip'
4629 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4630 },
4631 ["params"] =
4632 {
4633 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4634 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4635 },
4636 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4637 },
4638
4639
4640 {
4641 ["value"] = 5000, -- Value of the Chip
4642 ["name"] = "$5,000", -- Name of the chip
4643 ["label"] = "$5000", -- Label used for converting machine
4644 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4645 ["height"] = 0.4,
4646 ["custom"] =
4647 {
4648 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4649 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417339720/079F4260469E904457AA41516DAE37457047580C/", -- diffuse image
4650 ["type"] = 5, -- 5 is a 'chip'
4651 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4652 },
4653 ["params"] =
4654 {
4655 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4656 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4657 },
4658 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4659 },
4660
4661
4662
4663
4664 {
4665 ["value"] = 2000, -- Value of the Chip
4666 ["name"] = "$2000", -- Name of the chip
4667 ["label"] = "$2000", -- Label used for converting machine
4668 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4669 ["height"] = 0.4,
4670 ["custom"] =
4671 {
4672 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4673 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417338815/61B7CEB12A5B173F904416BA4E03A2D0EB7A59EA/", -- diffuse image
4674 ["type"] = 5, -- 5 is a 'chip'
4675 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4676 },
4677 ["params"] =
4678 {
4679 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4680 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4681 },
4682 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4683 },
4684
4685
4686 {
4687 ["value"] = 1000, -- Value of the Chip
4688 ["name"] = "$1000", -- Name of the chip
4689 ["label"] = "$1000", -- Label used for converting machine
4690 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4691 ["height"] = 0.4,
4692 ["custom"] =
4693 {
4694 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4695 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417337749/ED7860190DD733ECCEA537B4AB7C9E9E2F0F226B/", -- diffuse image
4696 ["type"] = 5, -- 5 is a 'chip'
4697 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4698 },
4699 ["params"] =
4700 {
4701 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4702 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4703 },
4704 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4705 },
4706
4707
4708 {
4709 ["value"] = 500, -- Value of the Chip
4710 ["name"] = "$500", -- Name of the chip
4711 ["label"] = "$500", -- Label used for converting machine
4712 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4713 ["height"] = 0.4,
4714 ["custom"] =
4715 {
4716 ["mesh"] = "http://pastebin.com/raw/QqdA0six", -- obj file
4717 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417336830/68BB8AD5BEF0EC077A743757300A3D6670CC033A/", -- diffuse image
4718 ["type"] = 5, -- 5 is a 'chip'
4719 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4720 },
4721 ["params"] =
4722 {
4723 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4724 ["scale"] = {0.75, 0.75, 0.75} -- the scale at which to spawn the object
4725 },
4726 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4727 },
4728
4729
4730
4731 --100
4732 {
4733 ["value"] = 100, -- Value of the Chip
4734 ["name"] = "$100", -- Name of the chip
4735 ["label"] = "$100", -- Label used for converting machine
4736 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4737 ["height"] = 0.15,
4738 ["custom"] =
4739 {
4740 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4741 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417333031/DD607DED38237E992FFB93167E92D55384C4B3A8/", -- diffuse image
4742 ["type"] = 5, -- 5 is a 'chip'
4743 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4744 },
4745 ["params"] =
4746 {
4747 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4748 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4749 },
4750
4751 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4752 },
4753
4754
4755 --50
4756 {
4757 ["value"] = 50, -- Value of the Chip
4758 ["name"] = "$50", -- Name of the chip
4759 ["label"] = "$20", -- Label used for converting machine
4760 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4761 ["height"] = 0.15,
4762 ["custom"] =
4763 {
4764 ["mesh"] = "http://cloud-3.steamusercontent.com/ugc/880875784417320111/36C5A1D15AF8E6598E5C060417BA0BF75C204945/", -- obj file
4765 ["diffuse"] = "http://cloud-3.steamusercontent.com/ugc/880875784417330782/1DDADE5AFCD0DAAD2D20CA000CA5835A773A791E/", -- diffuse image
4766 ["type"] = 5, -- 5 is a 'chip'
4767 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4768 },
4769 ["params"] =
4770 {
4771 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4772 ["scale"] = {0.75, 0.05, 0.75} -- the scale at which to spawn the object
4773 },
4774
4775 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4776 },
4777
4778
4779
4780 --20
4781 {
4782 ["value"] = 20, -- Value of the Chip
4783 ["name"] = "$20", -- Name of the chip
4784 ["label"] = "$20", -- Label used for converting machine
4785 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4786 ["height"] = 0.15,
4787 ["custom"] =
4788 {
4789 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4790 ["diffuse"] = "http://i.imgur.com/wVf9FY3.jpg", -- diffuse image
4791 ["type"] = 5, -- 5 is a 'chip'
4792 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4793 },
4794 ["params"] =
4795 {
4796 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4797 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4798 },
4799
4800 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4801 },
4802
4803
4804
4805 --10
4806 {
4807 ["value"] = 10, -- Value of the Chip
4808 ["name"] = "$10", -- Name of the chip
4809 ["label"] = "$10", -- Label used for converting machine
4810 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4811 ["height"] = 0.15,
4812 ["custom"] =
4813 {
4814 ["mesh"] = "http://pastebin.com/raw.php?i=J1upeZmf", -- obj file
4815 ["diffuse"] = "http://i.imgur.com/SCIOcR6.jpg", -- diffuse image
4816 ["type"] = 5, -- 5 is a 'chip'
4817 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4818 },
4819 ["params"] =
4820 {
4821 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4822 ["scale"] = {0.61, 0.55, 0.57} -- the scale at which to spawn the object
4823 },
4824
4825 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4826 },
4827
4828
4829 -- dummy for unknown chips
4830 {
4831 ["value"] = -1, -- Value of the Chip
4832 ["name"] = "unknown", -- Name of the chip
4833 ["standard"] = false, -- Standard tabletop chips true/false
4834 ["label"] = "dummy", -- Label used for converting machine
4835 ["height"] = 0.3,
4836 ["params"] =
4837 {
4838 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4839 ["scale"] = {1,1,1} -- the scale at which to spawn the object
4840 },
4841 ["stack"] = "10" -- stack where the chips are put in
4842 }
4843 },
4844
4845 ['MGM Grand Hotel/Casino - $1'] =
4846 {
4847
4848 {
4849 ["value"] = 100000, -- Value of the Chip
4850 ["name"] = "$100,000", -- Name of the chip
4851 ["label"] = "$100k", -- Label used for converting machine
4852 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4853 ["height"] = 0.15,
4854 ["custom"] =
4855 {
4856 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4857 ["diffuse"] = "https://i.imgur.com/9uPmS8S.jpg", -- diffuse image
4858 ["type"] = 5, -- 5 is a 'chip'
4859 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4860 },
4861 ["params"] =
4862 {
4863 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4864 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4865 },
4866 ["stack"] = "9" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4867 },
4868
4869 {
4870 ["value"] = 25000, -- Value of the Chip
4871 ["name"] = "$25,000", -- Name of the chip
4872 ["label"] = "$25k", -- Label used for converting machine
4873 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4874 ["height"] = 0.15,
4875 ["custom"] =
4876 {
4877 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4878 ["diffuse"] = "https://i.imgur.com/HvGnhD0.jpg", -- diffuse image
4879 ["type"] = 5, -- 5 is a 'chip'
4880 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4881 },
4882 ["params"] =
4883 {
4884 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4885 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4886 },
4887 ["stack"] = "8" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4888 },
4889
4890 {
4891 ["value"] = 5000, -- Value of the Chip
4892 ["name"] = "$5,000", -- Name of the chip
4893 ["label"] = "$5000", -- Label used for converting machine
4894 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4895 ["height"] = 0.15,
4896 ["custom"] =
4897 {
4898 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4899 ["diffuse"] = "https://i.imgur.com/oYRbRp1.jpg", -- diffuse image
4900 ["type"] = 5, -- 5 is a 'chip'
4901 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4902 },
4903 ["params"] =
4904 {
4905 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4906 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4907 },
4908 ["stack"] = "7" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4909 },
4910
4911 {
4912 ["value"] = 1000, -- Value of the Chip
4913 ["name"] = "$1,000", -- Name of the chip
4914 ["label"] = "$1000", -- Label used for converting machine
4915 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4916 ["height"] = 0.15,
4917 ["custom"] =
4918 {
4919 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4920 ["diffuse"] = "https://i.imgur.com/3613rtq.jpg", -- diffuse image
4921 ["type"] = 5, -- 5 is a 'chip'
4922 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4923 },
4924 ["params"] =
4925 {
4926 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4927 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4928 },
4929 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4930 },
4931 {
4932 ["value"] = 500, -- Value of the Chip
4933 ["name"] = "$500", -- Name of the chip
4934 ["label"] = "$500", -- Label used for converting machine
4935 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4936 ["height"] = 0.15,
4937 ["custom"] =
4938 {
4939 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4940 ["diffuse"] = "https://i.imgur.com/MWcqHq8.jpg", -- diffuse image
4941 ["type"] = 5, -- 5 is a 'chip'
4942 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4943 },
4944 ["params"] =
4945 {
4946 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4947 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4948 },
4949 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4950 },
4951
4952 {
4953 ["value"] = 100, -- Value of the Chip
4954 ["name"] = "$100", -- Name of the chip
4955 ["label"] = "$100", -- Label used for converting machine
4956 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4957 ["height"] = 0.15,
4958 ["custom"] =
4959 {
4960 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4961 ["diffuse"] = "https://i.imgur.com/5mrQknY.jpg", -- diffuse image
4962 ["type"] = 5, -- 5 is a 'chip'
4963 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4964 },
4965 ["params"] =
4966 {
4967 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4968 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4969 },
4970 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4971 },
4972
4973
4974
4975 {
4976 ["value"] = 25, -- Value of the Chip
4977 ["name"] = "$25", -- Name of the chip
4978 ["label"] = "$25", -- Label used for converting machine
4979 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
4980 ["height"] = 0.15,
4981 ["custom"] =
4982 {
4983 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
4984 ["diffuse"] = "https://i.imgur.com/hQcCUsP.jpg", -- diffuse image
4985 ["type"] = 5, -- 5 is a 'chip'
4986 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
4987 },
4988 ["params"] =
4989 {
4990 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
4991 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
4992 },
4993 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
4994 },
4995
4996
4997
4998 {
4999 ["value"] = 5, -- Value of the Chip
5000 ["name"] = "$5", -- Name of the chip
5001 ["label"] = "$5", -- Label used for converting machine
5002 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5003 ["height"] = 0.15,
5004 ["custom"] =
5005 {
5006 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5007 ["diffuse"] = "https://i.imgur.com/fe5F1ql.jpg", -- diffuse image
5008 ["type"] = 5, -- 5 is a 'chip'
5009 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5010 },
5011 ["params"] =
5012 {
5013 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5014 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5015 },
5016 ["stack"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5017 },
5018
5019
5020
5021 {
5022 ["value"] = 1, -- Value of the Chip
5023 ["name"] = "$1", -- Name of the chip
5024 ["label"] = "$1", -- Label used for converting machine
5025 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5026 ["height"] = 0.15,
5027 ["custom"] =
5028 {
5029 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5030 ["diffuse"] = "https://i.imgur.com/YdWMB2y.jpgw", -- diffuse image
5031 ["type"] = 5, -- 5 is a 'chip'
5032 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5033 },
5034 ["params"] =
5035 {
5036 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5037 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5038 },
5039 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5040 }
5041
5042
5043
5044
5045 , -- dummy for unknown chips
5046 {
5047 ["value"] = -1, -- Value of the Chip
5048 ["name"] = "unknown", -- Name of the chip
5049 ["standard"] = false, -- Standard tabletop chips true/false
5050 ["label"] = "dummy", -- Label used for converting machine
5051 ["height"] = 0.3,
5052 ["params"] =
5053 {
5054 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5055 ["scale"] = {1,1,1} -- the scale at which to spawn the object
5056 },
5057 ["stack"] = "15" -- stack where the chips are put in
5058 }
5059 },
5060
5061 ['MGM Grand Hotel/Casino - $100'] =
5062 {
5063
5064 {
5065 ["value"] = 100000, -- Value of the Chip
5066 ["name"] = "$100,000", -- Name of the chip
5067 ["label"] = "$100k", -- Label used for converting machine
5068 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5069 ["height"] = 0.15,
5070 ["custom"] =
5071 {
5072 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5073 ["diffuse"] = "https://i.imgur.com/9uPmS8S.jpg", -- diffuse image
5074 ["type"] = 5, -- 5 is a 'chip'
5075 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5076 },
5077 ["params"] =
5078 {
5079 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5080 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5081 },
5082 ["stack"] = "6" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5083 },
5084
5085 {
5086 ["value"] = 25000, -- Value of the Chip
5087 ["name"] = "$25,000", -- Name of the chip
5088 ["label"] = "$25k", -- Label used for converting machine
5089 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5090 ["height"] = 0.15,
5091 ["custom"] =
5092 {
5093 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5094 ["diffuse"] = "https://i.imgur.com/HvGnhD0.jpg", -- diffuse image
5095 ["type"] = 5, -- 5 is a 'chip'
5096 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5097 },
5098 ["params"] =
5099 {
5100 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5101 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5102 },
5103 ["stack"] = "5" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5104 },
5105
5106 {
5107 ["value"] = 5000, -- Value of the Chip
5108 ["name"] = "$5,000", -- Name of the chip
5109 ["label"] = "$5000", -- Label used for converting machine
5110 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5111 ["height"] = 0.15,
5112 ["custom"] =
5113 {
5114 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5115 ["diffuse"] = "https://i.imgur.com/oYRbRp1.jpg", -- diffuse image
5116 ["type"] = 5, -- 5 is a 'chip'
5117 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5118 },
5119 ["params"] =
5120 {
5121 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5122 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5123 },
5124 ["stack"] = "4" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5125 },
5126
5127 {
5128 ["value"] = 1000, -- Value of the Chip
5129 ["name"] = "$1,000", -- Name of the chip
5130 ["label"] = "$1000", -- Label used for converting machine
5131 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5132 ["height"] = 0.15,
5133 ["custom"] =
5134 {
5135 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5136 ["diffuse"] = "https://i.imgur.com/3613rtq.jpg", -- diffuse image
5137 ["type"] = 5, -- 5 is a 'chip'
5138 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5139 },
5140 ["params"] =
5141 {
5142 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5143 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5144 },
5145 ["stack"] = "3" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5146 },
5147 {
5148 ["value"] = 500, -- Value of the Chip
5149 ["name"] = "$500", -- Name of the chip
5150 ["label"] = "$500", -- 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/MWcqHq8.jpg", -- 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"] = "2" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5166 },
5167
5168 {
5169 ["value"] = 100, -- Value of the Chip
5170 ["name"] = "$100", -- Name of the chip
5171 ["label"] = "$100", -- Label used for converting machine
5172 ["standard"] = false, -- Standard tabletop chips (1000, 500, 100, 50, 10)
5173 ["height"] = 0.15,
5174 ["custom"] =
5175 {
5176 ["mesh"] = "https://www.dropbox.com/s/xtrjnjilifnjvsw/Chip.obj?dl=1", -- obj file
5177 ["diffuse"] = "https://i.imgur.com/5mrQknY.jpg", -- diffuse image
5178 ["type"] = 5, -- 5 is a 'chip'
5179 ["material"] = 1 -- 0: plastic, 1: wood, 2: metal, 3: cardboard
5180 },
5181 ["params"] =
5182 {
5183 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5184 ["scale"] = {1, 1, 1} -- the scale at which to spawn the object
5185 },
5186 ["stack"] = "1" -- spot position for collecting/spawning (potzone and betting zone on sidepot)
5187 }
5188
5189
5190
5191 , -- dummy for unknown chips
5192 {
5193 ["value"] = -1, -- Value of the Chip
5194 ["name"] = "unknown", -- Name of the chip
5195 ["standard"] = false, -- Standard tabletop chips true/false
5196 ["label"] = "dummy", -- Label used for converting machine
5197 ["height"] = 0.3,
5198 ["params"] =
5199 {
5200 ["rotation"] = {0, 0, 0}, -- rotation of the object (in relation to the machine) when it spawns
5201 ["scale"] = {1,1,1} -- the scale at which to spawn the object
5202 },
5203 ["stack"] = "15" -- stack where the chips are put in
5204 }
5205 },
5206}
5207
5208
5209
5210
5211stacklayout =
5212{
5213 ['default'] =
5214 {
5215 ["1"] =
5216 {
5217 ["xoffset"] = 3.75,
5218 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5219 ["zoffset"] = 0,
5220 ["height"] = 0, -- height of current stack
5221 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5222 ["y"] = 0,
5223 ["z"] = 0
5224 },
5225 ["2"] =
5226 {
5227 ["xoffset"] = 2,
5228 ["yoffset"] = 0.0825,
5229 ["zoffset"] = 0,
5230 ["height"] = 0,
5231 ["x"] = 0,
5232 ["y"] = 0,
5233 ["z"] = 0
5234 },
5235 ["3"] =
5236 {
5237 ["xoffset"] = 0.25,
5238 ["yoffset"] = 0.0825,
5239 ["zoffset"] = 0,
5240 ["height"] = 0,
5241 ["x"] = 0,
5242 ["y"] = 0,
5243 ["z"] = 0
5244 },
5245 ["misc"] =
5246 {
5247 ["xoffset"] = -2.75,
5248 ["yoffset"] = 0.2,
5249 ["zoffset"] = 0,
5250 ["height"] = 0,
5251 ["x"] = 0,
5252 ["y"] = 0,
5253 ["z"] = 0
5254 }
5255 },
5256
5257 ['5'] =
5258 {
5259 ["1"] =
5260 {
5261 ["xoffset"] = 4,
5262 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5263 ["zoffset"] = 0,
5264 ["height"] = 0, -- height of current stack
5265 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5266 ["y"] = 0,
5267 ["z"] = 0
5268 },
5269 ["2"] =
5270 {
5271 ["xoffset"] = 2,
5272 ["yoffset"] = 0.0825,
5273 ["zoffset"] = 0,
5274 ["height"] = 0,
5275 ["x"] = 0,
5276 ["y"] = 0,
5277 ["z"] = 0
5278 },
5279 ["3"] =
5280 {
5281 ["xoffset"] = 0.0,
5282 ["yoffset"] = 0.0825,
5283 ["zoffset"] = 0,
5284 ["height"] = 0,
5285 ["x"] = 0,
5286 ["y"] = 0,
5287 ["z"] = 0
5288 },
5289 ["4"] =
5290 {
5291 ["xoffset"] = -2,
5292 ["yoffset"] = 0.0825,
5293 ["zoffset"] = 0,
5294 ["height"] = 0,
5295 ["x"] = 0,
5296 ["y"] = 0,
5297 ["z"] = 0
5298 },
5299
5300 ["misc"] =
5301 {
5302 ["xoffset"] = -4,
5303 ["yoffset"] = 0.2,
5304 ["zoffset"] = 0,
5305 ["height"] = 0,
5306 ["x"] = 0,
5307 ["y"] = 0,
5308 ["z"] = 0
5309 }
5310 },
5311
5312
5313 ['5-5'] =
5314 {
5315 ["1"] =
5316 {
5317 ["xoffset"] = 3.75,
5318 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5319 ["zoffset"] = -2,
5320 ["height"] = 0, -- height of current stack
5321 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5322 ["y"] = 0,
5323 ["z"] = 0
5324 },
5325 ["2"] =
5326 {
5327 ["xoffset"] = 2,
5328 ["yoffset"] = 0.0825,
5329 ["zoffset"] = -2,
5330 ["height"] = 0,
5331 ["x"] = 0,
5332 ["y"] = 0,
5333 ["z"] = 0
5334 },
5335 ["3"] =
5336 {
5337 ["xoffset"] = 0.25,
5338 ["yoffset"] = 0.0825,
5339 ["zoffset"] = -2,
5340 ["height"] = 0,
5341 ["x"] = 0,
5342 ["y"] = 0,
5343 ["z"] = 0
5344 },
5345 ["4"] =
5346 {
5347 ["xoffset"] = -1.5,
5348 ["yoffset"] = 0.2,
5349 ["zoffset"] = -2,
5350 ["height"] = 0,
5351 ["x"] = 0,
5352 ["y"] = 0,
5353 ["z"] = 0
5354 },
5355 ["5"] =
5356 {
5357 ["xoffset"] = -3.25,
5358 ["yoffset"] = 0.2,
5359 ["zoffset"] = -2,
5360 ["height"] = 0,
5361 ["x"] = 0,
5362 ["y"] = 0,
5363 ["z"] = 0
5364 }
5365 ,
5366 ["6"] =
5367 {
5368 ["xoffset"] = 3.75,
5369 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5370 ["zoffset"] = 0,
5371 ["height"] = 0, -- height of current stack
5372 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5373 ["y"] = 0,
5374 ["z"] = 0
5375 },
5376 ["7"] =
5377 {
5378 ["xoffset"] = 2,
5379 ["yoffset"] = 0.0825,
5380 ["zoffset"] = 0,
5381 ["height"] = 0,
5382 ["x"] = 0,
5383 ["y"] = 0,
5384 ["z"] = 0
5385 },
5386 ["8"] =
5387 {
5388 ["xoffset"] = 0.25,
5389 ["yoffset"] = 0.0825,
5390 ["zoffset"] = 0,
5391 ["height"] = 0,
5392 ["x"] = 0,
5393 ["y"] = 0,
5394 ["z"] = 0
5395 },
5396 ["9"] =
5397 {
5398 ["xoffset"] = -1.5,
5399 ["yoffset"] = 0.2,
5400 ["zoffset"] = 0,
5401 ["height"] = 0,
5402 ["x"] = 0,
5403 ["y"] = 0,
5404 ["z"] = 0
5405 },
5406 ["misc"] =
5407 {
5408 ["xoffset"] = -3.25,
5409 ["yoffset"] = 0.2,
5410 ["zoffset"] = 0,
5411 ["height"] = 0,
5412 ["x"] = 0,
5413 ["y"] = 0,
5414 ["z"] = 0
5415 }
5416 },
5417
5418 ['5-5-5'] =
5419 {
5420 ["1"] =
5421 {
5422 ["xoffset"] = 3.75,
5423 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5424 ["zoffset"] = -2,
5425 ["height"] = 0, -- height of current stack
5426 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5427 ["y"] = 0,
5428 ["z"] = 0
5429 },
5430 ["2"] =
5431 {
5432 ["xoffset"] = 2,
5433 ["yoffset"] = 0.0825,
5434 ["zoffset"] = -2,
5435 ["height"] = 0,
5436 ["x"] = 0,
5437 ["y"] = 0,
5438 ["z"] = 0
5439 },
5440 ["3"] =
5441 {
5442 ["xoffset"] = 0.25,
5443 ["yoffset"] = 0.0825,
5444 ["zoffset"] = -2,
5445 ["height"] = 0,
5446 ["x"] = 0,
5447 ["y"] = 0,
5448 ["z"] = 0
5449 },
5450 ["4"] =
5451 {
5452 ["xoffset"] = -1.5,
5453 ["yoffset"] = 0.2,
5454 ["zoffset"] = -2,
5455 ["height"] = 0,
5456 ["x"] = 0,
5457 ["y"] = 0,
5458 ["z"] = 0
5459 },
5460 ["5"] =
5461 {
5462 ["xoffset"] = -3.25,
5463 ["yoffset"] = 0.2,
5464 ["zoffset"] = -2,
5465 ["height"] = 0,
5466 ["x"] = 0,
5467 ["y"] = 0,
5468 ["z"] = 0
5469 }
5470 ,
5471 ["6"] =
5472 {
5473 ["xoffset"] = 3.75,
5474 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5475 ["zoffset"] = 0,
5476 ["height"] = 0, -- height of current stack
5477 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5478 ["y"] = 0,
5479 ["z"] = 0
5480 },
5481 ["7"] =
5482 {
5483 ["xoffset"] = 2,
5484 ["yoffset"] = 0.0825,
5485 ["zoffset"] = 0,
5486 ["height"] = 0,
5487 ["x"] = 0,
5488 ["y"] = 0,
5489 ["z"] = 0
5490 },
5491 ["8"] =
5492 {
5493 ["xoffset"] = 0.25,
5494 ["yoffset"] = 0.0825,
5495 ["zoffset"] = 0,
5496 ["height"] = 0,
5497 ["x"] = 0,
5498 ["y"] = 0,
5499 ["z"] = 0
5500 },
5501 ["9"] =
5502 {
5503 ["xoffset"] = -1.5,
5504 ["yoffset"] = 0.2,
5505 ["zoffset"] = 0,
5506 ["height"] = 0,
5507 ["x"] = 0,
5508 ["y"] = 0,
5509 ["z"] = 0
5510 },
5511 ["10"] =
5512 {
5513 ["xoffset"] = -3.25,
5514 ["yoffset"] = 0.2,
5515 ["zoffset"] = 0,
5516 ["height"] = 0,
5517 ["x"] = 0,
5518 ["y"] = 0,
5519 ["z"] = 0
5520 },
5521
5522 ["11"] =
5523 {
5524 ["xoffset"] = 3.75,
5525 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5526 ["zoffset"] = 2,
5527 ["height"] = 0, -- height of current stack
5528 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5529 ["y"] = 0,
5530 ["z"] = 0
5531 },
5532 ["12"] =
5533 {
5534 ["xoffset"] = 2,
5535 ["yoffset"] = 0.0825,
5536 ["zoffset"] = 2,
5537 ["height"] = 0,
5538 ["x"] = 0,
5539 ["y"] = 0,
5540 ["z"] = 0
5541 },
5542 ["13"] =
5543 {
5544 ["xoffset"] = 0.25,
5545 ["yoffset"] = 0.0825,
5546 ["zoffset"] = 2,
5547 ["height"] = 0,
5548 ["x"] = 0,
5549 ["y"] = 0,
5550 ["z"] = 0
5551 },
5552 ["14"] =
5553 {
5554 ["xoffset"] = -1.5,
5555 ["yoffset"] = 0.2,
5556 ["zoffset"] = 2,
5557 ["height"] = 0,
5558 ["x"] = 0,
5559 ["y"] = 0,
5560 ["z"] = 0
5561 },
5562 ["misc"] =
5563 {
5564 ["xoffset"] = -3.25,
5565 ["yoffset"] = 0.2,
5566 ["zoffset"] = 2,
5567 ["height"] = 0,
5568 ["x"] = 0,
5569 ["y"] = 0,
5570 ["z"] = 0
5571 },
5572
5573 },
5574
5575
5576 ['5-2-3'] =
5577 {
5578 ["1"] =
5579 {
5580 ["xoffset"] = 3.75,
5581 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5582 ["zoffset"] = -2,
5583 ["height"] = 0, -- height of current stack
5584 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5585 ["y"] = 0,
5586 ["z"] = 0
5587 },
5588 ["2"] =
5589 {
5590 ["xoffset"] = 2,
5591 ["yoffset"] = 0.0825,
5592 ["zoffset"] = -2,
5593 ["height"] = 0,
5594 ["x"] = 0,
5595 ["y"] = 0,
5596 ["z"] = 0
5597 },
5598 ["3"] =
5599 {
5600 ["xoffset"] = 0.25,
5601 ["yoffset"] = 0.0825,
5602 ["zoffset"] = -2,
5603 ["height"] = 0,
5604 ["x"] = 0,
5605 ["y"] = 0,
5606 ["z"] = 0
5607 },
5608 ["4"] =
5609 {
5610 ["xoffset"] = -1.5,
5611 ["yoffset"] = 0.2,
5612 ["zoffset"] = -2,
5613 ["height"] = 0,
5614 ["x"] = 0,
5615 ["y"] = 0,
5616 ["z"] = 0
5617 },
5618 ["5"] =
5619 {
5620 ["xoffset"] = -3.25,
5621 ["yoffset"] = 0.2,
5622 ["zoffset"] = -2,
5623 ["height"] = 0,
5624 ["x"] = 0,
5625 ["y"] = 0,
5626 ["z"] = 0
5627 }
5628 ,
5629 ["6"] =
5630 {
5631 ["xoffset"] = 2,
5632 ["yoffset"] = 0.2,
5633 ["zoffset"] = 0,
5634 ["height"] = 0,
5635 ["x"] = 0,
5636 ["y"] = 0,
5637 ["z"] = 0
5638 }
5639 ,
5640 ["7"] =
5641 {
5642 ["xoffset"] = -2.5,
5643 ["yoffset"] = 0.2,
5644 ["zoffset"] = 0,
5645 ["height"] = 0,
5646 ["x"] = 0,
5647 ["y"] = 0,
5648 ["z"] = 0
5649 }
5650 ,
5651
5652 ["8"] =
5653 {
5654 ["xoffset"] = 3,
5655 ["yoffset"] = 0.2,
5656 ["zoffset"] = 2,
5657 ["height"] = 0,
5658 ["x"] = 0,
5659 ["y"] = 0,
5660 ["z"] = 0
5661 }
5662 ,
5663 ["misc"] =
5664 {
5665 ["xoffset"] = -3 ,
5666 ["yoffset"] = 0.2,
5667 ["zoffset"] = 2,
5668 ["height"] = 0,
5669 ["x"] = 0,
5670 ["y"] = 0,
5671 ["z"] = 0
5672 }
5673 ,
5674
5675 },
5676
5677 -- for Poker Style Chips
5678 ['triangle'] =
5679 {
5680 ["1"] =
5681 {
5682 ["xoffset"] = 3.5,
5683 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5684 ["zoffset"] = -2,
5685 ["height"] = 0, -- height of current stack
5686 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5687 ["y"] = 0,
5688 ["z"] = 0
5689 },
5690
5691 ["2"] =
5692 {
5693 ["xoffset"] = 0,
5694 ["yoffset"] = 0.2,
5695 ["zoffset"] = -2,
5696 ["height"] = 0,
5697 ["x"] = 0,
5698 ["y"] = 0,
5699 ["z"] = 0
5700 }
5701 ,
5702
5703 ["3"] =
5704 {
5705 ["xoffset"] = -3.5,
5706 ["yoffset"] = 0.2,
5707 ["zoffset"] = -2,
5708 ["height"] = 0,
5709 ["x"] = 0,
5710 ["y"] = 0,
5711 ["z"] = 0
5712 }
5713 ,
5714
5715 ["4"] =
5716 {
5717 ["xoffset"] = 1.75,
5718 ["yoffset"] = 0.0825,
5719 ["zoffset"] = 0,
5720 ["height"] = 0,
5721 ["x"] = 0,
5722 ["y"] = 0,
5723 ["z"] = 0
5724 },
5725 ["5"] =
5726 {
5727 ["xoffset"] = -1.75,
5728 ["yoffset"] = 0.2,
5729 ["zoffset"] = 0,
5730 ["height"] = 0,
5731 ["x"] = 0,
5732 ["y"] = 0,
5733 ["z"] = 0
5734 },
5735 ["misc"] =
5736 {
5737 ["xoffset"] = 0,
5738 ["yoffset"] = 0.0825,
5739 ["zoffset"] = 2,
5740 ["height"] = 0,
5741 ["x"] = 0,
5742 ["y"] = 0,
5743 ["z"] = 0
5744 },
5745
5746
5747
5748
5749
5750 },
5751
5752
5753 -- for default chips 100, skipping Stack 4 and 5
5754 ['Triangle'] =
5755 {
5756 ["1"] =
5757 {
5758 ["xoffset"] = 3.5,
5759 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5760 ["zoffset"] = -2,
5761 ["height"] = 0, -- height of current stack
5762 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5763 ["y"] = 0,
5764 ["z"] = 0
5765 },
5766 ["2"] =
5767 {
5768 ["xoffset"] = 1.75,
5769 ["yoffset"] = 0.0825,
5770 ["zoffset"] = 0,
5771 ["height"] = 0,
5772 ["x"] = 0,
5773 ["y"] = 0,
5774 ["z"] = 0
5775 },
5776 ["3"] =
5777 {
5778 ["xoffset"] = 0,
5779 ["yoffset"] = 0.0825,
5780 ["zoffset"] = 2,
5781 ["height"] = 0,
5782 ["x"] = 0,
5783 ["y"] = 0,
5784 ["z"] = 0
5785 },
5786 ["6"] =
5787 {
5788 ["xoffset"] = -1.75,
5789 ["yoffset"] = 0.2,
5790 ["zoffset"] = 0,
5791 ["height"] = 0,
5792 ["x"] = 0,
5793 ["y"] = 0,
5794 ["z"] = 0
5795 },
5796 ["7"] =
5797 {
5798 ["xoffset"] = -3.5,
5799 ["yoffset"] = 0.2,
5800 ["zoffset"] = -2,
5801 ["height"] = 0,
5802 ["x"] = 0,
5803 ["y"] = 0,
5804 ["z"] = 0
5805 }
5806 ,
5807 ["misc"] =
5808 {
5809 ["xoffset"] = 0,
5810 ["yoffset"] = 0.2,
5811 ["zoffset"] = -2,
5812 ["height"] = 0,
5813 ["x"] = 0,
5814 ["y"] = 0,
5815 ["z"] = 0
5816 }
5817 ,
5818
5819
5820 },
5821
5822
5823 -- for Poker Style Chips
5824 ['triangle 2'] =
5825 {
5826
5827 ["1"] =
5828 {
5829 ["xoffset"] = 0,
5830 ["yoffset"] = 0.0825,
5831 ["zoffset"] = -2,
5832 ["height"] = 0,
5833 ["x"] = 0,
5834 ["y"] = 0,
5835 ["z"] = 0
5836 },
5837
5838 ["2"] =
5839 {
5840 ["xoffset"] = -1.75,
5841 ["yoffset"] = 0.2,
5842 ["zoffset"] = 0,
5843 ["height"] = 0,
5844 ["x"] = 0,
5845 ["y"] = 0,
5846 ["z"] = 0
5847 },
5848
5849 ["3"] =
5850 {
5851 ["xoffset"] = 1.75,
5852 ["yoffset"] = 0.0825,
5853 ["zoffset"] = 0,
5854 ["height"] = 0,
5855 ["x"] = 0,
5856 ["y"] = 0,
5857 ["z"] = 0
5858 },
5859
5860 ["4"] =
5861 {
5862 ["xoffset"] = -3.5,
5863 ["yoffset"] = 0.2,
5864 ["zoffset"] = 2,
5865 ["height"] = 0,
5866 ["x"] = 0,
5867 ["y"] = 0,
5868 ["z"] = 0
5869 }
5870 ,
5871
5872 ["5"] =
5873 {
5874 ["xoffset"] = 3.5,
5875 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5876 ["zoffset"] = 2,
5877 ["height"] = 0, -- height of current stack
5878 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5879 ["y"] = 0,
5880 ["z"] = 0
5881 },
5882
5883 ["misc"] =
5884 {
5885 ["xoffset"] = 0,
5886 ["yoffset"] = 0.2,
5887 ["zoffset"] = 2,
5888 ["height"] = 0,
5889 ["x"] = 0,
5890 ["y"] = 0,
5891 ["z"] = 0
5892 }
5893 ,
5894
5895
5896 },
5897
5898
5899 -- for default chips 100, skipping Stack 4 and 5
5900 ['Triangle 2'] =
5901 {
5902
5903 ["1"] =
5904 {
5905 ["xoffset"] = 0,
5906 ["yoffset"] = 0.0825,
5907 ["zoffset"] = -2,
5908 ["height"] = 0,
5909 ["x"] = 0,
5910 ["y"] = 0,
5911 ["z"] = 0
5912 },
5913
5914 ["2"] =
5915 {
5916 ["xoffset"] = -1.75,
5917 ["yoffset"] = 0.2,
5918 ["zoffset"] = 0,
5919 ["height"] = 0,
5920 ["x"] = 0,
5921 ["y"] = 0,
5922 ["z"] = 0
5923 },
5924
5925 ["3"] =
5926 {
5927 ["xoffset"] = 1.75,
5928 ["yoffset"] = 0.0825,
5929 ["zoffset"] = 0,
5930 ["height"] = 0,
5931 ["x"] = 0,
5932 ["y"] = 0,
5933 ["z"] = 0
5934 },
5935
5936 ["6"] =
5937 {
5938 ["xoffset"] = -3.5,
5939 ["yoffset"] = 0.2,
5940 ["zoffset"] = 2,
5941 ["height"] = 0,
5942 ["x"] = 0,
5943 ["y"] = 0,
5944 ["z"] = 0
5945 }
5946 ,
5947
5948 ["7"] =
5949 {
5950 ["xoffset"] = 3.5,
5951 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5952 ["zoffset"] = 2,
5953 ["height"] = 0, -- height of current stack
5954 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5955 ["y"] = 0,
5956 ["z"] = 0
5957 },
5958
5959 ["misc"] =
5960 {
5961 ["xoffset"] = 0,
5962 ["yoffset"] = 0.2,
5963 ["zoffset"] = 2,
5964 ["height"] = 0,
5965 ["x"] = 0,
5966 ["y"] = 0,
5967 ["z"] = 0
5968 }
5969 ,
5970
5971
5972 },
5973
5974
5975 ['Honeycomb'] =
5976 {
5977 ["1"] =
5978 {
5979 ["xoffset"] = 0.9,
5980 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5981 ["zoffset"] = -1.5,
5982 ["height"] = 0, -- height of current stack
5983 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5984 ["y"] = 0,
5985 ["z"] = 0
5986 },
5987 ["2"] =
5988 {
5989 ["xoffset"] = -0.9,
5990 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
5991 ["zoffset"] = -1.5,
5992 ["height"] = 0, -- height of current stack
5993 ["x"] = 0, -- coordinates of stack relative to the spawned objects
5994 ["y"] = 0,
5995 ["z"] = 0
5996 },
5997 ["3"] =
5998 {
5999 ["xoffset"] = 1.75,
6000 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6001 ["zoffset"] = 0,
6002 ["height"] = 0, -- height of current stack
6003 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6004 ["y"] = 0,
6005 ["z"] = 0
6006 },
6007 ["4"] =
6008 {
6009 ["xoffset"] = 0,
6010 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6011 ["zoffset"] = 0,
6012 ["height"] = 0, -- height of current stack
6013 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6014 ["y"] = 0,
6015 ["z"] = 0
6016 },
6017 ["5"] =
6018 {
6019 ["xoffset"] = -1.75,
6020 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6021 ["zoffset"] = 0,
6022 ["height"] = 0, -- height of current stack
6023 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6024 ["y"] = 0,
6025 ["z"] = 0
6026 },
6027 ["6"] =
6028 {
6029 ["xoffset"] = 0.9,
6030 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6031 ["zoffset"] = 1.5,
6032 ["height"] = 0, -- height of current stack
6033 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6034 ["y"] = 0,
6035 ["z"] = 0
6036 },
6037 ["misc"] =
6038 {
6039 ["xoffset"] = -0.9,
6040 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6041 ["zoffset"] = 1.5,
6042 ["height"] = 0, -- height of current stack
6043 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6044 ["y"] = 0,
6045 ["z"] = 0
6046 },
6047
6048 },
6049
6050 ['Half Circle'] =
6051 {
6052 ["1"] =
6053 {
6054 ["xoffset"] = 4,
6055 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6056 ["zoffset"] = -2,
6057 ["height"] = 0, -- height of current stack
6058 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6059 ["y"] = 0,
6060 ["z"] = 0
6061 },
6062 ["2"] =
6063 {
6064 ["xoffset"] = 3.58,
6065 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6066 ["zoffset"] = -0.34,
6067 ["height"] = 0, -- height of current stack
6068 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6069 ["y"] = 0,
6070 ["z"] = 0
6071 },
6072 ["3"] =
6073 {
6074 ["xoffset"] = 2.45,
6075 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6076 ["zoffset"] = 1.15,
6077 ["height"] = 0, -- height of current stack
6078 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6079 ["y"] = 0,
6080 ["z"] = 0
6081 },
6082 ["4"] =
6083 {
6084 ["xoffset"] = 0.81,
6085 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6086 ["zoffset"] = 1.89,
6087 ["height"] = 0, -- height of current stack
6088 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6089 ["y"] = 0,
6090 ["z"] = 0
6091 },
6092 ["5"] =
6093 {
6094 ["xoffset"] = -0.81,
6095 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6096 ["zoffset"] = 1.89,
6097 ["height"] = 0, -- height of current stack
6098 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6099 ["y"] = 0,
6100 ["z"] = 0
6101 },
6102 ["6"] =
6103 {
6104 ["xoffset"] = -2.45,
6105 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6106 ["zoffset"] = 1.15,
6107 ["height"] = 0, -- height of current stack
6108 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6109 ["y"] = 0,
6110 ["z"] = 0
6111 },
6112 ["7"] =
6113 {
6114 ["xoffset"] = -3.58,
6115 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6116 ["zoffset"] = -0.34,
6117 ["height"] = 0, -- height of current stack
6118 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6119 ["y"] = 0,
6120 ["z"] = 0
6121 },
6122 ["misc"] =
6123 {
6124 ["xoffset"] = -4,
6125 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6126 ["zoffset"] = -2,
6127 ["height"] = 0, -- height of current stack
6128 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6129 ["y"] = 0,
6130 ["z"] = 0
6131 },
6132 },
6133
6134 -- For Cash Stacks
6135 ['2-2-2'] =
6136 {
6137 ["1"] =
6138 {
6139 ["xoffset"] = 2,
6140 ["yoffset"] = 0.0825, -- half of the object's height to put its bottom on the surface
6141 ["zoffset"] = -2,
6142 ["height"] = 0, -- height of current stack
6143 ["x"] = 0, -- coordinates of stack relative to the spawned objects
6144 ["y"] = 0,
6145 ["z"] = 0
6146 },
6147 ["2"] =
6148 {
6149 ["xoffset"] = -2.5,
6150 ["yoffset"] = 0.0825,
6151 ["zoffset"] = -2,
6152 ["height"] = 0,
6153 ["x"] = 0,
6154 ["y"] = 0,
6155 ["z"] = 0
6156 },
6157 ["3"] =
6158 {
6159 ["xoffset"] = 2,
6160 ["yoffset"] = 0.2,
6161 ["zoffset"] = 0,
6162 ["height"] = 0,
6163 ["x"] = 0,
6164 ["y"] = 0,
6165 ["z"] = 0
6166 }
6167 ,
6168 ["4"] =
6169 {
6170 ["xoffset"] = -2.5,
6171 ["yoffset"] = 0.2,
6172 ["zoffset"] = 0,
6173 ["height"] = 0,
6174 ["x"] = 0,
6175 ["y"] = 0,
6176 ["z"] = 0
6177 }
6178 ,
6179 ["5"] =
6180 {
6181 ["xoffset"] = 2,
6182 ["yoffset"] = 0.2,
6183 ["zoffset"] = 2,
6184 ["height"] = 0,
6185 ["x"] = 0,
6186 ["y"] = 0,
6187 ["z"] = 0
6188 }
6189 ,
6190
6191 ["misc"] =
6192 {
6193 ["xoffset"] = -2.5 ,
6194 ["yoffset"] = 0.2,
6195 ["zoffset"] = 2,
6196 ["height"] = 0,
6197 ["x"] = 0,
6198 ["y"] = 0,
6199 ["z"] = 0
6200 }
6201 ,
6202
6203 },
6204
6205}
6206
6207currenciesSelectionStacklayout =
6208{
6209 ["default"] = { "5-2-3", "default", "Triangle", "Triangle 2", "2-2-2" },
6210 ["default - $10"] = { "5-2-3", "default", "triangle", "triangle 2" },
6211 ["default / WSOP - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6212 ["default / WSOP - $10"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6213 ["World Series Of Poker - $500"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6214 ["World Series Of Poker - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6215 ["World Series Of Poker - $25"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6216 ["Casino Style V2 - $1"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6217 ["Casino Style V2 - $10"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6218 ["Casino Style V2 - $100"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6219 ["Casino Style V3 - $1"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6220 ["Casino Style V3 - $10"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6221 ["Casino Style V3 - $100"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6222 ["Casino Style V3 - $500"] = { "5-5-5", "5-5", "5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2" },
6223 ["Cash - $1"] = { "2-2-2" },
6224 ["Cash - $10"] = { "2-2-2" },
6225 ["MGM Grand Hotel/Casino - $1"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6226 ["MGM Grand Hotel/Casino - $100"] = { "5-5-5", "5-5", "5-2-3", "default", "triangle", "triangle 2", "Honeycomb", "Half Circle", "2-2-2"},
6227
6228}
6229
6230currencies = {}
6231
6232--[[ Overlay images --]]
6233themes =
6234{
6235 { -- themeindex 1
6236 ["label"] = 'Anime',
6237 { -- subthemeindex 1
6238 ["label"] = 'Normieshit1',
6239 { -- 1
6240 ["label"] = 'Cowboy Bebop',
6241 ["diffuse"] = 'http://i.imgur.com/VyfS447.jpg'
6242 },
6243 { -- 2
6244 ["label"] = 'Cowboy Bebop cards',
6245 ["diffuse"] = 'http://i.imgur.com/lOQOdky.jpg'
6246 },
6247 { -- 3
6248 ["label"] = 'Cowboy Bebop bang hand',
6249 ["diffuse"] = 'http://i.imgur.com/S8IiygG.jpg'
6250 }
6251 },
6252 { -- subthemeindex 2
6253 ["label"] = 'Hidamari Sketch',
6254 { -- 1
6255 ["label"] = 'Swimsuits',
6256 ["diffuse"] = 'http://i.imgur.com/pL1qEHD.jpg'
6257 },
6258 { -- 2
6259 ["label"] = 'Yunocchi',
6260 ["diffuse"] = 'http://i.imgur.com/c0y8yiu.jpg'
6261 },
6262 { -- 3
6263 ["label"] = 'Yuno (wide)',
6264 ["diffuse"] = 'http://i.imgur.com/okv9OWS.jpg'
6265 }
6266 },
6267 { -- subthemeindex 3
6268 ["label"] = 'GochiUsa 1',
6269 { -- 1
6270 ["label"] = 'Group 1',
6271 ["diffuse"] = 'http://i.imgur.com/dUPOwBT.jpg'
6272 },
6273 { -- 2
6274 ["label"] = 'Group 2',
6275 ["diffuse"] = 'http://i.imgur.com/dlqVrVH.jpg'
6276 },
6277 { -- 3
6278 ["label"] = 'Group Casino',
6279 ["diffuse"] = 'http://i.imgur.com/yvrQqJs.jpg'
6280 },
6281 { -- 4
6282 ["label"] = 'Group Underwater',
6283 ["diffuse"] = 'http://i.imgur.com/bLcKafe.jpg'
6284 },
6285 { -- 5
6286 ["label"] = 'Group Christmas',
6287 ["diffuse"] = 'http://i.imgur.com/OaU0e9w.jpg'
6288 },
6289 { -- 6
6290 ["label"] = 'ChiMaMe',
6291 ["diffuse"] = 'http://i.imgur.com/HZPKtIC.jpg'
6292 },
6293 { -- 7
6294 ["label"] = 'Chino Rize Syaro Idols',
6295 ["diffuse"] = 'http://i.imgur.com/t3isOTZ.jpg'
6296 },
6297 { -- 8
6298 ["label"] = 'Cocoa Chino Rize',
6299 ["diffuse"] = 'http://i.imgur.com/o5XmWaK.jpg'
6300 },
6301 { -- 9
6302 ["label"] = 'Cocoa Chino',
6303 ["diffuse"] = 'http://i.imgur.com/kTYlDbp.jpg'
6304 },
6305 { -- 10
6306 ["label"] = 'Chino Chiya',
6307 ["diffuse"] = 'http://i.imgur.com/YwaTHgK.jpg'
6308 }
6309 },
6310 { -- subthemeindex 4
6311 ["label"] = 'GochiUsa 2',
6312 { -- 1
6313 ["label"] = 'Chino Cards',
6314 ["diffuse"] = 'http://i.imgur.com/rkarO8n.jpg'
6315 },
6316 { -- 2
6317 ["label"] = 'Chino in Wonderland',
6318 ["diffuse"] = 'http://i.imgur.com/K0P0wVC.jpg'
6319 },
6320 { -- 3
6321 ["label"] = 'Chino Smile',
6322 ["diffuse"] = 'http://i.imgur.com/rQm3RCZ.jpg'
6323 },
6324 { -- 4
6325 ["label"] = 'Chino in Bed',
6326 ["diffuse"] = 'http://i.imgur.com/qLSSbEn.jpg'
6327 }
6328 },
6329 { -- subthemeindex 5
6330 ["label"] = 'Madoka Magica 1',
6331 { -- 1
6332 ["label"] = 'Group',
6333 ["diffuse"] = 'http://i.imgur.com/mxSr46k.jpg'
6334 },
6335 { -- 2
6336 ["label"] = 'Group on grass',
6337 ["diffuse"] = 'http://i.imgur.com/vQN3GGv.jpg'
6338 },
6339 { -- 3
6340 ["label"] = 'Mexican standoff',
6341 ["diffuse"] = 'http://i.imgur.com/WcYTwzo.jpg'
6342 },
6343 { -- 4
6344 ["label"] = 'Group stained glass',
6345 ["diffuse"] = 'http://i.imgur.com/BT0JHRa.jpg'
6346 },
6347 { -- 5
6348 ["label"] = 'Madoka gangsta',
6349 ["diffuse"] = 'http://i.imgur.com/ScepCXj.jpg'
6350 },
6351 { -- 6
6352 ["label"] = 'Madoka in water',
6353 ["diffuse"] = 'http://i.imgur.com/MQtkTUy.jpg'
6354 },
6355 { -- 7
6356 ["label"] = 'Ultimate Madoka',
6357 ["diffuse"] = 'http://i.imgur.com/DfqMJRt.jpg'
6358 },
6359 { -- 8
6360 ["label"] = 'Ultimate Madoka 2',
6361 ["diffuse"] = 'http://i.imgur.com/yoqS5Zy.jpg'
6362 },
6363 { -- 9
6364 ["label"] = 'Sayaka',
6365 ["diffuse"] = 'http://i.imgur.com/KvVb3Gt.jpg'
6366 },
6367 { -- 10
6368 ["label"] = 'Sayaka on bed (pantsu)',
6369 ["diffuse"] = 'http://i.imgur.com/ZJUCoFw.jpg'
6370 }
6371 },
6372 { -- subthemeindex 6
6373 ["label"] = 'Madoka Magica 2',
6374 { -- 1
6375 ["label"] = 'Homura',
6376 ["diffuse"] = 'http://i.imgur.com/9HE2oYu.jpg'
6377 },
6378 { -- 2
6379 ["label"] = 'Mami fishing Charlotte',
6380 ["diffuse"] = 'http://i.imgur.com/F1JKHfc.jpg'
6381 },
6382 { -- 3
6383 ["label"] = 'Mami vs witches',
6384 ["diffuse"] = 'http://i.imgur.com/Oen3IgK.jpg'
6385 },
6386 { -- 4
6387 ["label"] = 'Kyouko',
6388 ["diffuse"] = 'http://i.imgur.com/B082C3C.jpg'
6389 },
6390 { -- 5
6391 ["label"] = 'Kyouko2 (pantsu)',
6392 ["diffuse"] = 'http://i.imgur.com/cFZKGMA.jpg'
6393 },
6394 { -- 6
6395 ["label"] = 'KyouSaya',
6396 ["diffuse"] = 'http://i.imgur.com/9LB82tZ.jpg'
6397 },
6398 { -- 7
6399 ["label"] = 'QB gonna get raped',
6400 ["diffuse"] = 'http://i.imgur.com/mtsP5cp.jpg'
6401 }
6402 },
6403 { -- subthemeindex 7
6404 ["label"] = 'Yuru Yuri 1',
6405 { -- 1
6406 ["label"] = 'Akari Collage',
6407 ["diffuse"] = 'http://i.imgur.com/DS4pCpQ.jpg'
6408 },
6409 { -- 2
6410 ["label"] = 'Akaris 1',
6411 ["diffuse"] = 'http://i.imgur.com/xA8YRLg.jpg'
6412 },
6413 { -- 3
6414 ["label"] = 'Akaris 2',
6415 ["diffuse"] = 'http://i.imgur.com/YqNCXSG.jpg'
6416 },
6417 { -- 4
6418 ["label"] = '??????',
6419 ["diffuse"] = 'http://i.imgur.com/o003PFP.jpg'
6420 },
6421 { -- 5
6422 ["label"] = 'Kyouko Collage',
6423 ["diffuse"] = 'http://i.imgur.com/lauT9ym.jpg'
6424 },
6425 { -- 6
6426 ["label"] = 'Kyoukos 1',
6427 ["diffuse"] = 'http://i.imgur.com/CtMp0K4.jpg'
6428 },
6429 { -- 7
6430 ["label"] = 'Kyoukos 2',
6431 ["diffuse"] = 'http://i.imgur.com/81KhU3Z.jpg'
6432 },
6433 { -- 8
6434 ["label"] = 'Yui Collage',
6435 ["diffuse"] = 'http://i.imgur.com/cwLhHDr.jpg'
6436 },
6437 { -- 9
6438 ["label"] = 'Yuis',
6439 ["diffuse"] = 'http://i.imgur.com/F1P0fP5.jpg'
6440 }
6441 },
6442 { -- subthemeindex 8
6443 ["label"] = 'Yuru Yuri 2',
6444 { -- 1
6445 ["label"] = 'Chinatsu Collage',
6446 ["diffuse"] = 'http://i.imgur.com/h4yJ539.jpg'
6447 },
6448 { -- 2
6449 ["label"] = 'Chinatsus',
6450 ["diffuse"] = 'http://i.imgur.com/PCyMWCQ.jpg'
6451 },
6452 { -- 3
6453 ["label"] = 'Rise',
6454 ["diffuse"] = 'http://i.imgur.com/riSmzZl.jpg'
6455 },
6456 { -- 4
6457 ["label"] = 'Pajama Party 1',
6458 ["diffuse"] = 'http://i.imgur.com/MQp58p5.jpg'
6459 },
6460 { -- 5
6461 ["label"] = 'Pajama Party 2',
6462 ["diffuse"] = 'http://i.imgur.com/chHWsfG.jpg'
6463 },
6464 { -- 6
6465 ["label"] = 'Gorakubu 1',
6466 ["diffuse"] = 'http://i.imgur.com/3Hhw09L.jpg'
6467 },
6468 { -- 7
6469 ["label"] = 'Gorakubu 2',
6470 ["diffuse"] = 'http://i.imgur.com/cgQz7pf.jpg'
6471 },
6472 { -- 8
6473 ["label"] = 'Gorakubu 3',
6474 ["diffuse"] = 'http://i.imgur.com/ZG2iorU.jpg'
6475 },
6476 { -- 9
6477 ["label"] = 'Gorakubu Idols',
6478 ["diffuse"] = 'http://i.imgur.com/EX8t7ke.jpg'
6479 },
6480 { -- 10
6481 ["label"] = 'Gorakubu Swimming',
6482 ["diffuse"] = 'http://i.imgur.com/XzItDAk.jpg'
6483 }
6484 },
6485 { -- subthemeindex 9
6486 ["label"] = 'Yuru Yuri 3',
6487 { -- 1
6488 ["label"] = 'Gorakubu Picnic',
6489 ["diffuse"] = 'http://i.imgur.com/4Z5PpXX.jpg'
6490 },
6491 { -- 2
6492 ["label"] = 'Gorakubu Halloween',
6493 ["diffuse"] = 'http://i.imgur.com/xs6D7cm.jpg'
6494 },
6495 { -- 3
6496 ["label"] = 'Seitokai',
6497 ["diffuse"] = 'http://i.imgur.com/9FhXJdz.jpg'
6498 },
6499 { -- 4
6500 ["label"] = 'First Years',
6501 ["diffuse"] = 'http://i.imgur.com/aLyyGqd.jpg'
6502 },
6503 { -- 5
6504 ["label"] = 'Second Years',
6505 ["diffuse"] = 'http://i.imgur.com/8YYChdB.jpg'
6506 },
6507 { -- 6
6508 ["label"] = 'SakuHima 1',
6509 ["diffuse"] = 'http://i.imgur.com/IvpYMVF.jpg'
6510 },
6511 { -- 7
6512 ["label"] = 'SakuHima Bunnies',
6513 ["diffuse"] = 'http://i.imgur.com/Uxige1K.jpg'
6514 },
6515 { -- 8
6516 ["label"] = 'SakuHima Christmas',
6517 ["diffuse"] = 'http://i.imgur.com/kJugXPJ.jpg'
6518 },
6519 { -- 9
6520 ["label"] = 'Chinatsu x Kyouko',
6521 ["diffuse"] = 'http://i.imgur.com/0QfKfUq.jpg'
6522 },
6523 { -- 10
6524 ["label"] = 'Kyouko x Ayano',
6525 ["diffuse"] = 'http://i.imgur.com/OXkcHV6.jpg'
6526 }
6527 },
6528 { --subthemeindex 10
6529 ["label"] = 'Misc/Crossover',
6530 { -- 1
6531 ["label"] = 'They see your short stack',
6532 ["diffuse"] = 'http://i.imgur.com/64Eorc2.jpg'
6533 },
6534 { -- 2
6535 ["label"] = 'Loli space parade',
6536 ["diffuse"] = 'http://i.imgur.com/tOzcNeE.jpg'
6537 },
6538 { -- 3
6539 ["label"] = 'GochiUsa x KinMoza',
6540 ["diffuse"] = 'http://i.imgur.com/LsqaE1C.jpg'
6541 }
6542 }
6543 },
6544 { -- themeindex 2
6545 ["label"] = 'Games',
6546 { -- subthemeindex 1
6547 ["label"] = 'Portal',
6548 { -- 1
6549 ["label"] = 'Aperture Labs',
6550 ["diffuse"] = 'http://i.imgur.com/EBM4HqE.jpg'
6551 },
6552 { -- 2
6553 ["label"] = 'Falling into portal',
6554 ["diffuse"] = 'http://i.imgur.com/V07Jfam.jpg'
6555 }
6556 }
6557 },
6558 { -- themeindex 3
6559 ["label"] = 'Other',
6560 { -- subthemeindex 1
6561 ["label"] = 'Music',
6562 {
6563 ["label"] = 'Sheet Music',
6564 ["diffuse"] = 'http://i.imgur.com/WsiBbTY.jpg'
6565 },
6566 {
6567 ["label"] = 'Violin',
6568 ["diffuse"] = 'http://i.imgur.com/NTkgsv5.jpg'
6569 }
6570 },
6571 { -- subthemeindex 2
6572 ["label"] = 'Nature',
6573 {
6574 ["label"] = 'Milky Way Sky',
6575 ["diffuse"] = 'http://i.imgur.com/j8ZofIk.jpg'
6576 },
6577 {
6578 ["label"] = 'Andromeda Galaxy',
6579 ["diffuse"] = 'http://i.imgur.com/DiOrDTl.jpg'
6580 },
6581 {
6582 ["label"] = 'Ocean Water',
6583 ["diffuse"] = 'http://i.imgur.com/mqQhZDb.jpg'
6584 },
6585 {
6586 ["label"] = 'Coral Reef',
6587 ["diffuse"] = 'http://i.imgur.com/6uWY2PN.jpg'
6588 }
6589 },
6590 { -- subthemeindex 3
6591 ["label"] = 'Poker',
6592 {
6593 ["label"] = 'Plain Felt',
6594 ["diffuse"] = 'http://i.imgur.com/jPnTE9e.png'
6595 },
6596 {
6597 ["label"] = 'Suits Pattern',
6598 ["diffuse"] = 'http://i.imgur.com/tzJiYRn.png'
6599 },
6600 {
6601 ["label"] = 'Poker felt 1',
6602 ["diffuse"] = 'http://www.nationwidegaming.com/images/lh1.jpg'
6603 },
6604 {
6605 ["label"] = 'MGM Grant',
6606 ["diffuse"] = 'http://i.imgur.com/phQrMs9.jpg'
6607 },
6608 {
6609 ["label"] = 'Pokerstars EPT',
6610 ["diffuse"] = 'http://cloud-3.steamusercontent.com/ugc/920291347197365711/9E6B733CAC527C4C0BAD81317A1240E394C0F21D/'
6611 }
6612 }
6613 }
6614}
6615
6616--[[ onLoad function --]]
6617
6618function onload(save_state)
6619 local saveddata = JSON.decode(save_state)
6620
6621 --[[ Get object references --]]
6622 boardzone = getObjectFromGUID(boardzoneGUID)
6623 newdeckbutton = getObjectFromGUID(newdeckbuttonGUID)
6624 newsavebagbutton = getObjectFromGUID(newsavebagbuttonGUID)
6625 dealbutton = getObjectFromGUID(dealbuttonGUID)
6626 resetbutton = getObjectFromGUID(resetbuttonGUID)
6627 sidepotbutton = getObjectFromGUID(sidepotbuttonGUID)
6628 muckzone = getObjectFromGUID(muckzoneGUID)
6629 collectbutton = getObjectFromGUID(collectbuttonGUID)
6630
6631 for i, v in ipairs (colors) do
6632 local playerhand = getPlayerHandPositionAndRotation(v)
6633
6634 betzones[v] = getObjectFromGUID(betzoneGUIDs[i])
6635 tablezones[v] = getObjectFromGUID(tablezoneGUIDs[i])
6636 backtablezones[v] = getObjectFromGUID(backtablezoneGUIDs[i])
6637 bettext[v] = getObjectFromGUID(bettextGUIDs[i])
6638 end
6639 potzones[1] = getObjectFromGUID(mainpotzoneGUID)
6640 for i, v in ipairs (sidepotzoneGUIDs) do
6641 potzones[#potzones+1] = getObjectFromGUID(v)
6642 end
6643 actionbutton = getObjectFromGUID(actionbuttonGUID)
6644 optionsbutton = getObjectFromGUID(optionsbuttonGUID)
6645 sidepotbutton = getObjectFromGUID(sidepotbuttonGUID)
6646 if saveddata == nil then
6647 --[[ Initialize texts --]]
6648 hideActionText()
6649 pottext.setPosition ({0, 1.33, 0})
6650 pottext.setRotation ({90, 180, 0})
6651 currentbettext.setPosition ({0, 1.33, 1})
6652 currentbettext.setRotation({90, 180, 0})
6653 mainpotchips = initializePot()
6654 else
6655 if saveddata.options ~= nil then options = saveddata.options end
6656
6657 if saveddata.holedealt ~= nil then holedealt = saveddata.holedealt end
6658 if saveddata.dealing ~= nil then dealing = saveddata.dealing end
6659 if saveddata.players ~= nil then players = saveddata.players end
6660 if saveddata.actionon ~= nil then actionon = saveddata.actionon end
6661 if saveddata.playerbets ~= nil then playerbets = saveddata.playerbets end
6662 if saveddata.currentbet ~= nil then currentbet = saveddata.currentbet end
6663 if saveddata.mainpotchips ~= nil then mainpotchips = saveddata.mainpotchips end
6664 if saveddata.pot ~= nil then pot = saveddata.pot end
6665 if saveddata.collecting ~= nil then collecting = saveddata.collecting end
6666 if saveddata.collectmethod ~= nil then collectmethod = saveddata.collectmethod end
6667 if saveddata.convertstackheight ~= nil then convertstackheight = saveddata.convertstackheight end
6668 if saveddata.hybridthreshold ~= nil then hybridthreshold = saveddata.hybridthreshold end
6669 if saveddata.handinprogress ~= nil then handinprogress = saveddata.handinprogress end
6670
6671 if saveddata.savebagGUID ~= nil then savebagGUID = saveddata.savebagGUID end
6672 if saveddata.deckGUID ~= nil then deckGUID = saveddata.deckGUID end
6673 if saveddata.muckGUID ~= nil then muckGUID = saveddata.muckGUID end
6674 if saveddata.potobjectGUID ~= nil then potobjectGUID = saveddata.potobjectGUID end
6675 if saveddata.boardobjectGUID ~= nil then boardobjectGUID = saveddata.boardobjectGUID end
6676 if saveddata.overlayGUID ~= nil then overlayGUID = saveddata.overlayGUID end
6677 if saveddata.pottextGUID ~= nil then pottextGUID = saveddata.pottextGUID end
6678 if saveddata.currentbettextGUID ~= nil then currentbettextGUID = saveddata.currentbettextGUID end
6679 if saveddata.actiontextGUID ~= nil then actiontextGUID = saveddata.actiontextGUID end
6680 if saveddata.revealedcards ~= nil then revealedcards = saveddata.revealedcards end
6681 if saveddata.holecards ~= nil then holecards = saveddata.holecards end
6682 if saveddata.handsshown ~= nil then handsshown = saveddata.handsshown end
6683
6684 if saveddata.bettext ~= nil then
6685 bettext = JSON.decode(saveddata.bettext)
6686 if saveddata.bettext ~= nil then
6687 for i, v in ipairs(colors) do
6688 bettext[v] = getObjectFromGUID(bettext[v])
6689 end
6690 end
6691 end
6692 if saveddata.sidepottext ~= nil then
6693 sidepottext = JSON.decode(saveddata.sidepottext)
6694 for i, v in ipairs(colors) do
6695 sidepottext[v] = getObjectFromGUID(sidepottext[v])
6696 end
6697 end
6698 if saveddata.tablezonetext ~= nil then
6699 tablezonetext = JSON.decode(saveddata.tablezonetext)
6700 for i, v in ipairs(colors) do
6701 tablezonetext[v] = getObjectFromGUID(tablezonetext[v])
6702 end
6703 end
6704
6705 end
6706
6707 deck = getObjectFromGUID(deckGUID)
6708 muck = getObjectFromGUID(muckGUID)
6709 boardobject = getObjectFromGUID(boardobjectGUID)
6710 potobject = getObjectFromGUID(potobjectGUID)
6711 pottext = getObjectFromGUID(pottextGUID)
6712 currentbettext = getObjectFromGUID(currentbettextGUID)
6713 actiontext = getObjectFromGUID(actiontextGUID)
6714 savebag = getObjectFromGUID(savebagGUID)
6715 if options.displayplayerbet == nil then
6716 options.displayplayerbet = true
6717 end
6718 if options.displayplayermoney == nil then
6719 options.displayplayermoney = true
6720 end
6721 if options.playerbuttons == nil then
6722 options["playerbuttons"] =
6723 {
6724 ["sortchips"] = true,
6725 ["convert"] = true,
6726 ["allin"] = true,
6727 ["afk"] = true,
6728 ["loadsavebag"] = false
6729 }
6730 end
6731 if options.playerbuttons == nil then
6732 options.playerbuttons = {}
6733 end
6734 if options.playerbuttons.sortchips == nil then
6735 options.playerbuttons.sortchips = true
6736 end
6737 if options.playerbuttons.convert == nil then
6738 options.playerbuttons.convert = true
6739 end
6740 if options.playerbuttons.allin == nil then
6741 options.playerbuttons.allin = true
6742 end
6743 if options.playerbuttons.afk == nil then
6744 options.playerbuttons.afk = true
6745 end
6746 if options.playerbuttons.loadsavebag == nil then
6747 options.playerbuttons.loadsavebag = false
6748 end
6749
6750 if options.autoclocktime == nil then
6751 options.autoclocktime = 5
6752 options.autoclock = false
6753 options.autofold = false
6754 options.clockpausebutton = true
6755 end
6756 if options.convertstackheight == nil then
6757 options.convertstackheight = 0
6758 end
6759 if options.currencies == nil or options.stacklayout == nil then
6760 options.currencies = "default"
6761 options.stacklayout = "default"
6762 currencies = currenciesSelection[options.currencies]
6763 else
6764 currencies = currenciesSelection[options.currencies]
6765
6766 if currencies == nil then
6767 options.currencies = "default"
6768 options.stacklayout = "default"
6769 currencies = currenciesSelection[options.currencies]
6770 end
6771 end
6772
6773
6774
6775 --[[ Create buttons --]]
6776 local button = {}
6777
6778 --[[ use this button to assign a new deck --]]
6779 button.label = 'New\nDeck'
6780 button.click_function = "newDeck"
6781 button.function_owner = nil
6782 button.position = {0, 0.08, 0}
6783 button.rotation = {0,180,0}
6784 button.width = 525
6785 button.height = 525
6786 button.font_size = 150
6787 newdeckbutton.createButton(button)
6788
6789 --[[ This button deals cards for each stage of the hand --]]
6790 button.label = 'Deal'
6791 button.click_function = "deal"
6792 button.font_size = 150
6793 dealbutton.createButton(button)
6794
6795
6796 --[[ Resets deck and variables --]]
6797 button.label = 'Reset'
6798 button.click_function = "resetGame"
6799 button.rotation = {0, 0, 0}
6800 resetbutton.createButton(button)
6801
6802 --[[ Move bets to pot --]]
6803 button.label = 'Collect\nBets'
6804 button.click_function = "collectBets"
6805 button.font_size = 150
6806 collectbutton.createButton(button)
6807
6808 --[[ Move action text --]]
6809 button.label = 'Done'
6810 button.font_size = 150
6811 button.click_function = "action"
6812 actionbutton.createButton(button)
6813
6814 --[[ Open options menu --]]
6815 button.label = 'Options'
6816 button.font_size = 150
6817 button.click_function = "spawnOptionsPanel"
6818 optionsbutton.createButton(button)
6819
6820 --[[ Create Side Pots --]]
6821 button.label= 'Create\nSidepot'
6822 button.font_size = 150
6823 button.click_function = "createSidepot"
6824 sidepotbutton.createButton(button)
6825
6826
6827 --[[ assign new savebag --]]
6828 button.label= 'New\nSavebag'
6829 button.font_size = 150
6830 button.click_function = "newSavebag"
6831 newsavebagbutton.createButton(button)
6832
6833 createPlayerButtons()
6834
6835
6836 for i, v in ipairs(getAllObjects()) do
6837 if v.getName() == 'Pot Splitter' then
6838 button.rotation = {0,0,0}
6839 button.width = 45
6840 button.height = 45
6841 button.font_size = 42
6842 potsplitter[#potsplitter + 1] = v
6843 p = v.getPosition()
6844 button.position = {-0.40, 0.3, -0.95}
6845 i = 2
6846 while i < 11 do
6847 button.click_function = "splitPot" .. i
6848 button.label = tostring(i)
6849 button.position[1] = button.position[1] + 0.08
6850 v.createButton(button)
6851 i = i + 1
6852 end
6853 end
6854
6855 if v.getName() == 'Back Table' and options.changemachine then
6856 local offsetx = 2/#currencies
6857 local button = {}
6858 v.clearButtons()
6859 local offsetx = 2/#currencies
6860 local button = {}
6861
6862 if #currencies <= 10 then
6863 offsetx = 1.65/(#currencies-2)
6864 else
6865 offsetx = 1.65/8
6866 end
6867 local offsety = 2/#currencies
6868 button.font_size = 150
6869 button.width = 450
6870 button.height = 250
6871 button.scale = {1/5, 1/5, 1/7.5}
6872 button.position = {0.83, -0.1, -0.9}
6873 button.rotation = {180, 0, 0}
6874
6875 for j, w in ipairs(currencies) do
6876 if w.value ~= -1 then
6877 button.label = w.label
6878 button.click_function = 'changeMachineButton' .. j
6879 v.createButton(button)
6880 button.position[1] = button.position[1] - offsetx
6881 end
6882 if j == 9 then
6883 if #currencies - 11 > 0 then
6884 offsetx = 1.65/(#currencies-11)
6885 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
6886 else
6887 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
6888 end
6889 end
6890 end
6891 end
6892 end
6893 --[[ Make non-interactable parts to non-interactable --]]
6894 local custom = {}
6895
6896
6897
6898 for i, v in ipairs (getAllObjects()) do
6899 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
6900 v.interactable = false
6901 elseif v.getName() == 'Table Overlay' then
6902 overlay = v
6903 v.interactable = false
6904 end
6905 end
6906
6907 muck.setColorTint(pottext.TextTool.getFontColor())
6908 boardobject.setColorTint(pottext.TextTool.getFontColor())
6909
6910 --[[ Copy scripts from objects. These are used when objects are respawned with 'Reset Objects' button on the options menu --]]
6911 scripts[1] = muck.getLuaScript()
6912 scripts[2] = boardobject.getLuaScript()
6913 scripts[3] = potobject.getLuaScript()
6914 scripts[4] = actiontext.getLuaScript()
6915
6916
6917end
6918
6919function onSave()
6920 --print ('saved')
6921 local savebettext = {}
6922 local savesidepottext = {}
6923 local savetablezonetext = {}
6924 for i,v in pairs (colors) do
6925 savebettext[v] = bettext[v].getGUID()
6926 savesidepottext[v] = sidepottext[v].getGUID()
6927 savetablezonetext[v] = tablezonetext[v].getGUID()
6928 end
6929
6930 if savebag ~= nil then
6931 savebagGUID = savebag.getGUID()
6932 end
6933
6934 local tosave = {
6935 options = options,
6936
6937 holedealt = holedealt,
6938 dealing = false,
6939 players = players,
6940 actionon = actionon,
6941 playerbets = playerbets,
6942 currentbet = currentbet,
6943 mainpotchips = mainpotchips,
6944 pot = pot,
6945 collecting = false,
6946 handinprogress = handinprogress,
6947
6948 deckGUID = deck.getGUID(),
6949 muckGUID = muck.getGUID(),
6950 potobjectGUID = potobject.getGUID(),
6951 boardobjectGUID = boardobject.getGUID(),
6952 overlayGUID = overlay.getGUID(),
6953 pottextGUID = pottext.getGUID(),
6954 currentbettextGUID = currentbettext.getGUID(),
6955 actiontextGUID = actiontext.getGUID(),
6956 holecards = holecards,
6957 revealedcards = revealedcards,
6958 handsshown = handsshown,
6959 savebagGUID = savebagGUID,
6960 bettext = JSON.encode(savebettext),
6961 sidepottext = JSON.encode(savesidepottext),
6962 tablezonetext = JSON.encode(savetablezonetext)
6963
6964 }
6965 return JSON.encode(tosave)
6966
6967end
6968
6969function createPlayerButtons()
6970 --[[ Create sort Chips onPlayers --]]
6971
6972 button = {}
6973
6974 button.rotation = {0,180,180}
6975 button.width = 250
6976 button.height = 15
6977 button.font_size = 50
6978
6979 for i, v in ipairs(getAllObjects()) do
6980
6981 posy = 0.75
6982 if v.getName() == 'Front Table' then
6983 v.clearButtons()
6984
6985 if options.playerbuttons.sortchips then
6986 posy= posy-0.3
6987 button.font_size = 50
6988 button.height=25
6989 p = v.getPosition()
6990 button.label= 'SortChips'
6991 button.position = {0.75, -0.1, posy}
6992 button.click_function = 'sortPlayerChips'
6993 v.createButton(button)
6994 end
6995
6996 if options.playerbuttons.convert then
6997 posy= posy-0.3
6998 p = v.getPosition()
6999 button.label= 'Convert'
7000 button.position = {0.75, -0.1, posy}
7001 button.font_size = 50
7002 button.height=25
7003 button.click_function='quickConvertPlayerChips10_5'
7004 v.createButton(button)
7005 end
7006
7007
7008 if options.playerbuttons.allin then
7009 posy= posy-0.3
7010 p = v.getPosition()
7011 button.height = 15
7012 button.font_size = 50
7013 button.label= 'All In'
7014 button.position = {0.75, -0.1, posy}
7015 button.click_function = 'goAllIn'
7016 v.createButton(button)
7017 end
7018
7019 if options.playerbuttons.afk then
7020 posy= posy-0.3
7021 button.height = 15
7022 button.font_size = 50
7023 button.label= 'AFK'
7024 button.position = {0.75, -0.1, posy}
7025 button.click_function = 'goAFK'
7026 v.createButton(button)
7027 end
7028
7029 if options.playerbuttons.loadsavebag then
7030 posy= posy-0.3
7031 button.height = 15
7032 button.font_size = 50
7033 button.label= 'load save'
7034 button.position = {0.75, -0.1, posy}
7035 button.click_function = 'loadSaveBag'
7036 v.createButton(button)
7037 end
7038 end
7039 end
7040end
7041--[[ deal function: determines whether to deal players' hands, flop, turn, or river --]]
7042
7043function deal(ob, pl)
7044 if not Player[pl].admin then
7045 return 1
7046 end
7047
7048 sidepotcalculated = false;
7049
7050 if deck == nil or deck == null then
7051 for i, v in ipairs (getSeatedPlayers()) do
7052 if Player[v].admin then
7053 broadcastToColor('No deck assigned. Please assign a deck with the \'New Deck\' button.', v, {1, 0.3, 0.3})
7054 end
7055 end
7056 return 1
7057 end
7058
7059 if boardobject == nil or boardobject == null then
7060 print ('The board object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7061 --return 1
7062 checkAndRespawnObjects()
7063 end
7064
7065 if muck == nil or muck == null then
7066 print ('The muck object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7067 --return 1
7068 checkAndRespawnObjects()
7069 end
7070
7071 if pottext == nil or pottext == null then
7072 print ('The pot text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7073 --return 1
7074 checkAndRespawnObjects()
7075 end
7076
7077 if currentbettext == nil or currentbettext == null then
7078 print ('The current bet text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7079 --return 1
7080 checkAndRespawnObjects()
7081 end
7082
7083 if actiontext == nil or actiontext == null then
7084 print ('The action text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7085 --return 1
7086 checkAndRespawnObjects()
7087 end
7088
7089 for i, v in ipairs(colors) do
7090 if bettext[v] == nil or bettext[v] == null then
7091 print ('bettext of color ' .. v .. ' has been deleted')
7092 checkAndRespawnObjects()
7093 end
7094 if sidepottext[v] == nil or sidepottext[v] == null then
7095 print ('sidepottext of color ' .. v .. ' has been deleted')
7096 checkAndRespawnObjects()
7097 end
7098 if tablezonetext[v] == nil or tablezonetext[v] == null then
7099 print ('tablezonetext of color ' .. v .. ' has been deleted')
7100 checkAndRespawnObjects()
7101 end
7102
7103
7104
7105
7106 end
7107
7108 if not dealing then
7109 if not holedealt then
7110 hole(pl)
7111 else
7112 local cards = boardzone.getObjects()
7113 local x = 0
7114 for i, v in ipairs (cards) do
7115 if v.tag == "Card" then
7116 x = x+1
7117 end
7118 end
7119
7120 if x == 0 then
7121 flop ()
7122 elseif x == 3 then
7123 turn ()
7124 elseif x == 4 then
7125 river ()
7126 elseif x == 5 then
7127 broadcastToAll('Showtime!', {1, 1, 1})
7128 else
7129 broadcastToColor("[ff0000]Error:[ffffff] Invalid board", pl, {1, 1, 1})
7130 end
7131 end
7132 end
7133
7134end
7135
7136--[[ This function returns an ordered list of seated players who do not have an afk button or busted token.
7137 The first entry will be the player to the dealers left, and the dealer will be the last entry.
7138 If the dealer button is not found, returns nil. --]]
7139
7140function getOrderedListOfPlayers(pl)
7141
7142 local dealer = nil
7143 local afk = {} -- list of afk players
7144 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)
7145 local objects = {} -- list of objects found in the dealerzones
7146 local dealerafk = false
7147 local bustedbombs = {}
7148
7149 -- First, look for the dealer button. Also, make list of afk players.
7150 for i, v in ipairs (colors) do
7151 objects = betzones[v].getObjects()
7152 for j, w in ipairs (objects) do
7153 if w.getName() == "Dealer" then
7154 dealer = v
7155 elseif w.getName() == "suffering" or w.getName() == "Busted" then
7156 if not objectExistsInList (busted, v) then
7157 busted[#busted+1] = v
7158 bustedbombs[#bustedbombs+1] = w
7159 end
7160 elseif w.getName() == 'AFK' then
7161 afk[#afk+1] = v
7162 end
7163 end
7164 end
7165
7166 -- return nil if dealer button not found
7167 if not dealer then
7168 broadcastToColor ('[ff0000]Error: [ffffff]Dealer button not found.', pl, {1, 1, 1})
7169 return nil
7170 end
7171
7172 for i, v in ipairs(bustedbombs) do
7173 v.destruct()
7174 end
7175
7176 local seatedplayers = getSeatedPlayers() -- list of seated players, in some random order
7177
7178 -- make sure dealer button is in front of a seated player
7179 for i, v in ipairs (seatedplayers) do
7180 if v == dealer then
7181 --print ('Dealer: '..dealer)
7182 break
7183 end
7184
7185 if i == #seatedplayers then
7186 broadcastToColor('[ff0000]Error:[ffffff] Dealer button not in front of a seated player.', pl, {1, 1, 1})
7187 return nil
7188 end
7189 end
7190
7191
7192 local playersx = {}
7193
7194 --sort the seatedplayers into playersx list
7195 for i, v in ipairs (colors) do
7196 for j, w in ipairs (seatedplayers) do
7197 if v == w then
7198 playersx[#playersx + 1] = w
7199 break
7200 end
7201 end
7202 end
7203
7204
7205 --rotate the list so the dealer is the last entry
7206 while playersx[#playersx] != dealer do
7207 playersx[#playersx+1] = playersx[1] -- copy first entry to end of table
7208 table.remove(playersx, 1) -- then remove first entry
7209 end
7210
7211 -- remove busted players from the table
7212 for i, v in ipairs (busted) do
7213 for j, w in ipairs (playersx) do
7214 if w == v then
7215 table.remove(playersx, j)
7216 end
7217 end
7218 end
7219
7220 -- lastly, remove afk players from the table
7221
7222 local actionoffset = 0
7223
7224 for i, v in ipairs(afk) do
7225 for j, w in ipairs (playersx) do
7226 if w == v then
7227 if actionoffset == 0 and j <= 2 then
7228 actionoffset = actionoffset + 1
7229 elseif actionoffset == 1 and j == 1 then
7230 actionoffset = actionoffset + 1
7231 end
7232 --print ('Removing afk player: '..playersx[j])
7233 table.remove(playersx, j)
7234 if w == dealer then
7235 dealerafk = true
7236 end
7237 break
7238 end
7239 end
7240 end
7241
7242 for i, v in ipairs (playersx) do
7243 playerbets[i] = 0
7244 end
7245
7246 if options.blindsskipafk then
7247 actionoffset = 0
7248 end
7249
7250 if actionoffset < 2 then
7251 actionon = playersx[2-actionoffset]
7252 else
7253 actionon = playersx[#playersx]
7254 end
7255
7256 -- set action on the dealer in a heads-up match
7257 if #playersx == 2 and not dealerafk then
7258 actionon = playersx[1]
7259 end
7260
7261 --return the final table
7262 return playersx
7263
7264end
7265
7266
7267--[[ deal hole --]]
7268
7269function hole (pl)
7270
7271 players = getOrderedListOfPlayers(pl)
7272
7273 if not players then
7274 return 1 -- abort if dealer button is not in front of a seat
7275 else
7276 dealing = true
7277 handinprogress = true
7278 hideActionText()
7279 calculatePots()
7280 startLuaCoroutine(nil, 'holeCoroutine')
7281 end
7282
7283end
7284
7285function holeCoroutine()
7286
7287 local deckpos = deck.getPosition()
7288 local cards = 0
7289
7290 if options.gamemode == 'fivestud' or onecard then
7291 cards = 1
7292 elseif options.gamemode == 'texas' or options.gamemode == 'sevenstud' then
7293 cards = 2
7294 elseif options.gamemode == 'pineapple' then
7295 cards = 3
7296 elseif options.gamemode == 'omaha' then
7297 cards = 4
7298 elseif options.gamemode == 'fivedraw' then
7299 cards = 5
7300 end
7301
7302 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
7303 for i = 1, cards do
7304 for i, v in ipairs (players) do
7305 local t = os.clock()
7306 deck.dealToColor(1, players[i])
7307 while os.clock() < (t + options.dealdelay1) do
7308 coroutine.yield(0)
7309 end
7310 end
7311 end
7312
7313 deck.setPosition(deckpos)
7314
7315 if onecard then
7316 onecard = false
7317 dealing = false
7318 if not handinprogress then
7319 players = {}
7320 end
7321 return 1
7322 end
7323
7324--[[ This loop exists to delay the call of the function action()
7325 I was having problems with a player (the dealer) being folded due to the cards not reaching the hand
7326 before the function was called. --]]
7327 t = os.clock()
7328 while os.clock() < (t + 1) do
7329 coroutine.yield(0)
7330 end
7331
7332 holedealt = true
7333 dealing = false
7334
7335 action()
7336
7337 for i, v in ipairs (players) do
7338 local cards = Player[v].getHandObjects()
7339 for j, w in ipairs (cards) do
7340 if w.tag == 'Card' then
7341 w.setColorTint({1, 1, cardtint})
7342 cardtint = cardtint - 0.01
7343 end
7344 end
7345 end
7346 getPlayersHoleCards()
7347
7348 return 1
7349
7350end
7351
7352
7353--[[ deal flop --]]
7354
7355function flop ()
7356
7357 dealing = true
7358 actionon = nil
7359 resetBets()
7360 hideActionText()
7361
7362 if options.chatoptions.stage then
7363 broadcastToAll('Flop', {0, 1, 1})
7364 end
7365
7366 startLuaCoroutine(nil, 'flopCoroutine')
7367
7368end
7369
7370function flopCoroutine ()
7371
7372 local muckpos = muck.getPosition()
7373 local muckrot = muck.getRotation()
7374
7375 muckpos.y = muckpos.y + 0.5
7376 muckrot.x = muckrot.x + 180
7377
7378 local params = {}
7379
7380 params.position = muckpos
7381 params.rotation = muckrot
7382 deck.takeObject(params)
7383
7384 for i = 1, 3 do
7385 local t = os.clock()
7386 while os.clock () < t + options.dealdelay2 do
7387 coroutine.yield(0)
7388 end
7389 params.position = getCardPosition(i)
7390 params.rotation = boardobject.getRotation()
7391 local card = deck.takeObject(params)
7392 card.setColorTint({1, 1, cardtint})
7393 cardtint = cardtint - 0.01
7394 end
7395
7396 t = os.clock()
7397 while os.clock() < (t + 1) do
7398 coroutine.yield(0)
7399 end
7400
7401 dealing = false
7402
7403 action()
7404
7405 return (1)
7406
7407end
7408
7409--[[ deal turn --]]
7410
7411function turn ()
7412
7413 dealing = true
7414 actionon = nil
7415 resetBets()
7416 calculatePots()
7417 hideActionText()
7418
7419 if options.chatoptions.stage then
7420 broadcastToAll('Turn', {0, 1, 1})
7421 end
7422
7423 startLuaCoroutine(nil, 'turnCoroutine')
7424
7425end
7426
7427function turnCoroutine ()
7428
7429 local muckpos = muck.getPosition()
7430 local muckrot = muck.getRotation()
7431
7432 muckpos.y = muckpos.y + 0.5
7433 muckrot.x = muckrot.x + 180
7434
7435 local params = {}
7436
7437 params.position = muckpos
7438 params.rotation = muckrot
7439 deck.takeObject(params)
7440
7441 local t = os.clock()
7442 while os.clock() < (t + options.dealdelay2) do
7443 coroutine.yield(0)
7444 end
7445
7446 params.position = getCardPosition(4)
7447 params.rotation = boardobject.getRotation()
7448 local card = deck.takeObject(params)
7449 card.setColorTint({1, 1, cardtint})
7450 cardtint = cardtint - 0.01
7451
7452 t = os.clock()
7453 while os.clock() < (t + 1) do
7454 coroutine.yield(0)
7455 end
7456
7457 dealing = false
7458
7459 action()
7460
7461 return (1)
7462
7463end
7464
7465--[[ deal river --]]
7466
7467function river ()
7468
7469 dealing = true
7470 actionon = nil
7471 resetBets()
7472 calculatePots()
7473 hideActionText()
7474
7475 if options.chatoptions.stage then
7476 broadcastToAll('River', {0, 1, 1})
7477 end
7478
7479 startLuaCoroutine(nil, 'riverCoroutine')
7480
7481end
7482
7483function riverCoroutine ()
7484
7485 local muckpos = muck.getPosition()
7486 local muckrot = muck.getRotation()
7487
7488 muckpos.y = muckpos.y + 0.5
7489 muckrot.x = muckrot.x + 180
7490
7491 local params = {}
7492
7493 params.position = muckpos
7494 params.rotation = muckrot
7495 deck.takeObject(params)
7496
7497 local t = os.clock()
7498 while os.clock() < (t + options.dealdelay2) do
7499 coroutine.yield(0)
7500 end
7501
7502 params.position = getCardPosition(5)
7503 params.rotation = boardobject.getRotation()
7504 local card = deck.takeObject(params)
7505 card.setColorTint({1, 1, cardtint})
7506 cardtint = cardtint - 0.01
7507
7508 t = os.clock()
7509 while os.clock() < (t + 1) do
7510 coroutine.yield(0)
7511 end
7512
7513 dealing = false
7514
7515 action()
7516
7517 return (1)
7518
7519end
7520
7521--[[ returns the card position based on the position and rotation of the boardobject model--]]
7522
7523function getCardPosition(n)
7524 local p = boardobject.getPosition()
7525 local r = boardobject.getRotation()
7526 local s = boardobject.getScale()
7527 n = 3 - n
7528
7529 p.x = p.x - ((math.cos(math.rad(r.y))*2.75) * n) * s.x
7530 p.z = p.z + ((math.sin(math.rad(r.y))*2.75) * n) * s.z
7531 p.y = p.y + 0.5
7532
7533 return p
7534end
7535--[[ 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 --]]
7536function newDeck (ob, pl)
7537
7538 if not Player[pl].admin then
7539 return 1
7540 end
7541
7542 obj = betzones.White.getObjects()
7543 for i, v in ipairs (obj) do
7544 if v.tag == "Deck" then
7545 if v.getQuantity() <= 52 then
7546 deck = {}
7547 deck = getObjectFromGUID(v.getGUID())
7548 print ("New deck assigned.")
7549 return 1
7550 end
7551 end
7552 end
7553
7554 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
7555
7556
7557end
7558
7559
7560function newSavebag (ob, pl)
7561
7562 if not Player[pl].admin then
7563 return 1
7564 end
7565
7566 obj = betzones.White.getObjects()
7567 for i, v in ipairs (obj) do
7568 if v.tag == "Bag" then
7569 savebag = {}
7570 savebag = getObjectFromGUID(v.getGUID())
7571 print ("New savebag assigned.")
7572 return 1
7573 end
7574 end
7575
7576 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
7577
7578
7579end
7580
7581--[[ reset the deck and variables --]]
7582
7583function resetGame (ob, pl)
7584
7585 if not Player[pl].admin then
7586 return 1
7587 end
7588
7589 sidepotcalculated = false
7590
7591 if deck == nil or deck == null then
7592 broadcastToColor('No deck is currently assigned. Please assign a new deck and try again.', pl, {1, 0.3, 0.3})
7593 return 0
7594 end
7595 if pottext == nil or pottext == null then
7596 checkAndRespawnObjects()
7597 end
7598
7599 if currentbettext == nil or currentbettext == null then
7600 checkAndRespawnObjects()
7601 end
7602
7603 if actiontext == nil or actiontext == null then
7604 checkAndRespawnObjects()
7605 end
7606
7607 mainpotchips = initializePot()
7608 afk = {}
7609 dealing = true
7610 for i, v in ipairs (colors) do
7611 for j, w in ipairs (Player[v].getHandObjects()) do
7612 w.setRotation({180, 0, 0})
7613 w.setColorTint({1, 1, 1})
7614 end
7615 bettext[v].setValue(" ")
7616 sidepottext[v].setValue(" ")
7617 if options.displayplayermoney then
7618 local chips = {}
7619 money = getChipValues(tablezones[v],chips)
7620 tablezonetext[v].setValue("$" .. money)
7621 end
7622 end
7623
7624
7625 cardtint = 1
7626 holedealt = false
7627 handinprogress = false
7628 players = {}
7629 actionon = nil
7630 currentbet = 0
7631 pot = 0
7632 pottext.setValue('Pot: $'.. tostring(pot))
7633 currentbettext.setValue('Current bet: $'..tostring(currentbet))
7634 handsshown = {}
7635 playerbets = {}
7636 hideActionText()
7637 holecards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}}
7638 revealedcards = {['White'] = {}, ['Brown'] = {}, ['Red'] = {}, ['Orange'] = {}, ['Yellow'] = {}, ['Green'] = {}, ['Teal'] = {}, ['Blue'] = {}, ['Purple'] = {}, ['Pink'] = {}}
7639 if clock ~= nil and clock ~= null then
7640 clock.destruct()
7641 end
7642
7643 -- destroy Sidepotmarke
7644 for i, v in ipairs(getAllObjects()) do
7645 if v.getName() == "Sidepotmarker" then
7646 v.destruct()
7647 end
7648 end
7649 startLuaCoroutine(nil, 'resetGameCoroutine')
7650
7651end
7652
7653function resetMuck(zone)
7654
7655 if not deck then
7656 return 1
7657 end
7658
7659 local obj = zone.getObjects()
7660 local deck_pos = deck.getPosition()
7661 local deck_rot = deck.getRotation()
7662
7663 deck_pos.y = deck_pos.y + 0.5
7664
7665 for i, v in ipairs (obj) do
7666 if v.tag == "Card" or v.tag == "Deck" then
7667 if v ~= deck then
7668 v.setColorTint({1, 1, 1})
7669 v.setPositionSmooth(deck_pos)
7670 v.setRotation(deck_rot)
7671 deck_pos.y = deck_pos.y + 0.1
7672 end
7673 end
7674 end
7675
7676 for i, v in ipairs(colors) do
7677 for j, w in ipairs (Player[v].getHandObjects()) do
7678 if w.tag == 'Card' then
7679 deck.putObject(w)
7680 end
7681 end
7682 end
7683 zone.destruct()
7684end
7685
7686function resetGameCoroutine()
7687
7688 local params = {}
7689 params.position = {0, 1, 0}
7690 params.rotation = {0, 0, 0}
7691 params.scale = {70, 1, 27}
7692 params.type = "ScriptingTrigger"
7693 params.callback = "resetMuck"
7694 params.params = {zone}
7695
7696 local zone = spawnObject(params)
7697
7698 local t = os.clock()
7699
7700
7701 --[[ Print an error and unassign deck if it doesn't have 52 cards after 3 seconds --]]
7702 while deck.getQuantity() < 52 do
7703 if os.clock() > (t + 3) then
7704 for i, v in ipairs (getSeatedPlayers()) do
7705 if Player[v].admin then
7706 broadcastToColor('Error: Deck missing cards. Unassigned current deck. Please assign new deck', v, {1, 0.3, 0.3})
7707 end
7708 end
7709 deck = nil
7710 dealing = false
7711 return 1
7712 end
7713 coroutine.yield(0)
7714 end
7715
7716 --[[ Print an error and unassign deck if it has more than 52 cards --]]
7717 if deck.getQuantity() > 52 then
7718 for i, v in ipairs (getSeatedPlayers()) do
7719 if Player[v].admin then
7720 broadcastToColor('Error: Too many cards in deck. Unassigned current deck. Please assign new deck.', v, {1, 0.3, 0.3})
7721 end
7722 end
7723
7724 deck = nil
7725 dealing = false
7726 return 1
7727 end
7728
7729 deck.shuffle()
7730
7731 t = os.clock()
7732 while os.clock() < (t + 1) do
7733 coroutine.yield(0)
7734 end
7735
7736 dealing = false
7737
7738 return (1)
7739
7740end
7741
7742--[[ move all chips in bet zones into the main pot --]]
7743
7744function collectBets(ob, pl)
7745
7746 --[[ Only host and promoted players can click this button --]]
7747 if not Player[pl].admin then
7748 return 1
7749 end
7750
7751 sidepotcalculated = false
7752 --[[ Make sure the potobject exists before running function --]]
7753 if potobject == nil or potobject == null then
7754 --print ('The pot object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
7755 checkAndRespawnObjects()
7756 --return 1
7757 end
7758
7759 printstring = printstring..'collect'
7760
7761 if clock ~= nil and clock ~= null then
7762 clock.destruct()
7763 end
7764
7765 -- prevents button spamming
7766 if (os.time() - lastCollectTime) < 2 then
7767 printToColor("You cant collect bets multiple times within 2 seconds", pl, {1,1,0} )
7768 return 1
7769 else
7770 lastCollectTime = os.time()
7771 end
7772
7773 if options.collectmethod == 'move' then
7774 startLuaCoroutine(nil, 'moveBetsToPot')
7775 elseif options.collectmethod == 'convert' then
7776 startLuaCoroutine(nil, 'convertBetsToPot')
7777 elseif options.collectmethod == 'hybrid' then
7778 if pot <= options.hybridthreshold then
7779 startLuaCoroutine(nil, 'moveBetsToPot')
7780 else
7781 startLuaCoroutine(nil, 'convertBetsToPot')
7782 end
7783 end
7784end
7785
7786function moveBetsToPot()
7787
7788 local objects = {} -- table of all objects
7789 local stacks = {}
7790 local chips = {}
7791 local h = {}
7792 bets = getChipValues(potzones[1], chips)
7793 for i, v in pairs (betzones) do
7794 bets = bets + getChipValues(v, chips)
7795 end
7796
7797 for i, v in ipairs (chips) do
7798 v.setColorTint({1,1,1})
7799 end
7800
7801 moveChips(chips, potobject.getPosition(), potobject.getRotation())
7802 for i = 1, 5 do
7803 coroutine.yield(0)
7804 end
7805 calculatePots()
7806 return 1
7807end
7808
7809
7810function convertBetsToPot()
7811
7812 if convertfailcount > convertfailcountlimit then
7813 convertfailcount = 0
7814 startLuaCoroutine (nil, 'moveBetsToPot')
7815 return 1
7816 end
7817
7818 --[[ Get chip values in bet zones --]]
7819
7820 local objects = {}
7821 local chips1 = {}
7822 local positions1 = {}
7823 local rotations1 = {}
7824
7825 objects = {}
7826 objects = potzones[1].getObjects()
7827 for j, w in ipairs (objects) do
7828 if w.tag == 'Chip' then
7829 if w.getValue() or currencyToNumber(w.getName()) != nil then
7830 chips1[#chips1 + 1] = w
7831 end
7832 end
7833 end
7834
7835
7836 for i, v in pairs (betzones) do
7837 objects = {}
7838 objects = v.getObjects()
7839 for j, w in ipairs (objects) do
7840 if w.tag == 'Chip' then
7841 if w.getValue() or currencyToNumber(w.getName()) != nil then
7842 chips1[#chips1 + 1] = w
7843 end
7844 end
7845 end
7846 end
7847
7848 for i, v in ipairs (chips1) do
7849 positions1[#positions1 + 1] = v.getPosition()
7850 rotations1[#rotations1 + 1] = v.getRotation()
7851 end
7852
7853 for i = 1, 2 do
7854 coroutine.yield(0)
7855 end
7856
7857 objects = {}
7858 local chips2 = {}
7859 local positions2 = {}
7860 local rotations2 = {}
7861
7862 objects = {}
7863 objects = potzones[1].getObjects()
7864 for j, w in ipairs (objects) do
7865 if w.tag == 'Chip' then
7866 if w.getValue() or currencyToNumber(w.getName()) != nil then
7867 chips2[#chips2 + 1] = w
7868 end
7869 end
7870 end
7871
7872
7873 for i, v in pairs (betzones) do
7874 objects = {}
7875 objects = v.getObjects()
7876 for j, w in ipairs (objects) do
7877 if w.tag == 'Chip' then
7878 if w.getValue() or currencyToNumber(w.getName()) != nil then
7879 chips2[#chips2 + 1] = w
7880 end
7881 end
7882 end
7883 end
7884
7885 if #chips2 ~= #chips1 then
7886 convertfailcount = convertfailcount + 1
7887 startLuaCoroutine(nil, 'convertBetsToPot')
7888 return 1
7889 end
7890
7891 for i, v in ipairs (chips2) do
7892 positions2[#positions2 + 1] = v.getPosition()
7893 rotations2[#rotations2 + 1] = v.getRotation()
7894 end
7895
7896 --[[ Check chip positions --]]
7897 for i, v in ipairs(positions1) do
7898 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
7899 convertfailcount = convertfailcount + 1
7900 startLuaCoroutine(nil, 'convertBetsToPot')
7901 return 1
7902 end
7903 end
7904
7905 --[[ Check chip rotations --]]
7906 for i, v in pairs(rotations1) do
7907 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
7908 convertfailcount = convertfailcount + 1
7909 startLuaCoroutine(nil, 'convertBetsToPot')
7910 return 1
7911 end
7912 end
7913
7914 local chips = {}
7915 local bets = 0
7916
7917 for i, v in pairs (betzones) do
7918 bets = bets + getChipValues(v, chips)
7919 end
7920
7921 bets = bets + getChipValues(potzones[1], chips)
7922
7923 --[[ Spawn new chips in pot --]]
7924
7925
7926 --[[ Destroy old chips --]]
7927 for i, v in ipairs (chips) do
7928 v.destruct()
7929 end
7930
7931 --[[ Wait five frames to allow chips to spawn destruct themself --]]
7932 for i = 1, 10 do
7933 coroutine.yield(0)
7934 end
7935
7936
7937 spawnChips(bets, potobject.getPosition(), potobject.getRotation(), options.convertstackheight)
7938
7939
7940 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
7941 for i = 1, 5 do
7942 coroutine.yield(0)
7943 end
7944
7945 calculatePots()
7946
7947 convertfailcount = 0
7948
7949 return 1
7950end
7951
7952function objectExistsInList(list, object)
7953 if list != nil then
7954 for i, v in ipairs(list) do
7955 if v == object then
7956 return true
7957 end
7958 end
7959 return false
7960 end
7961 return false
7962end
7963
7964function action (ob, pl)
7965
7966 if pl then
7967 if not Player[pl].admin and pl ~= actionon then
7968 return 1
7969 end
7970 end
7971
7972 if sidepotcalculated then
7973 return 1
7974 end
7975
7976 if actiontext == nil or actiontext == null then
7977 checkAndRespawnObjects()
7978 --print ('The action text has been deleted. Please click the \'Reset Objects\' button on the options panel to respawn.')
7979 --return 0
7980 end
7981
7982 calculatePots()
7983
7984 -- abort function if action toggled off
7985 if not options.actiontoggle then
7986 return 1
7987 end
7988
7989 --[[ Check action player's bet to make sure it's greater than or equal to current bet --]]
7990 if actionon and actionon == pl then
7991 if getChipValues(betzones[actionon], {}) < currentbet and getChipValues(tablezones[actionon], {}) > 0 and Player[actionon].getHandObjects()[1] then
7992 broadcastToColor('You must match or raise the current bet of $'..currentbet, actionon, {1, 1, 1})
7993 if not Player[pl].admin then
7994 return 1
7995 end
7996 end
7997 end
7998
7999 --[[ Destroy the clock if it exists --]]
8000
8001 if clock ~= nil and clock ~= null then
8002 clock.destruct()
8003 clock = null
8004 end
8005
8006 --[[ abort function and hide text if no players --]]
8007
8008 if #players == 0 then
8009 hideActionText()
8010 return 1
8011 end
8012
8013 local cb = currentbet
8014
8015 --[[ Remove player from list if they don't have cards --]]
8016
8017 if actionon then
8018 if not Player[actionon].getHandObjects()[1] then
8019 for i, v in ipairs (players) do
8020 if v == actionon then
8021 table.remove(players, i)
8022 if i > 1 then
8023 actionon = players[i-1]
8024 else
8025 actionon = players[#players]
8026 end
8027 break
8028 end
8029 end
8030 end
8031
8032 --[[ or if they have no money (all in) --]]
8033 if actionon then
8034 if getChipValues(tablezones[actionon], {}) == 0 then
8035 printstring = printstring..'allin'..actionon
8036 if getChipValues(betzones[actionon], {}) > cb then
8037 cb = getChipValues(betzones[actionon], {})
8038 end
8039 for i, v in ipairs (players) do
8040 if v == actionon then
8041 table.remove(players, i)
8042 if i > 1 then
8043 actionon = players[i-1]
8044 else
8045 actionon = players[#players]
8046 end
8047 break
8048 end
8049 end
8050 end
8051 if not actionon then
8052 hideActionText()
8053 return 1
8054 end
8055 end
8056 if #players == 0 then
8057 return 1
8058 end
8059 end
8060
8061 -- set actionon to next player
8062 if not actionon then
8063 actionon = players[1]
8064 else
8065 for i, v in ipairs (players) do
8066 if actionon == v then
8067 if players[i+1] then
8068 actionon = players[i+1]
8069 else
8070 actionon = players[1]
8071 end
8072 break
8073 end
8074 end
8075 end
8076
8077 -- check new player's hand for cards. remove from list if none and run function again.
8078
8079 if actionon then
8080 if not Player[actionon].getHandObjects()[1] then
8081 for i, v in ipairs (players) do
8082 if v == actionon then
8083 table.remove(players, i)
8084 if i > 1 then
8085 actionon = players[i-1]
8086 else
8087 actionon = players[#players]
8088 end
8089 action()
8090 return 1
8091 end
8092 end
8093 end
8094 end
8095
8096 --[[ Hide text and abort if there is one player and no bet to call --]]
8097
8098 if #players == 1 and getChipValues(betzones[actionon], {}) >= cb then
8099 hideActionText()
8100 return 1
8101 end
8102
8103 printstring = printstring..'action'
8104
8105 -- move actiontext to front of player
8106
8107 local playerhand = getPlayerHandPositionAndRotation(actionon)
8108 actiontext.setValue('Action') -- set action text to say "Action" in case it gets changed (sometimes it changes to "Type here" for some reason)
8109 actiontext.TextTool.setFontColor(fontcolors[actionon]) -- change color of "Action" to player's color
8110
8111 actiontext.setPosition({playerhand['pos_x'] + playerhand['trigger_forward_x'] * 10, 1.33, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 10})
8112 actiontext.setRotation({90, playerhand['rot_y'], 0})
8113
8114 -- move action button to player if playerclickaction is toggled
8115 if options.playerclickaction then
8116 actionbutton.setPosition({playerhand['pos_x'] + playerhand['trigger_forward_x'] * 12, 1.55, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 12})
8117 actionbutton.setRotation({0, playerhand['rot_y'] + 180, 0})
8118 end
8119
8120 -- spawn clock if autoclock
8121 if options.autoclock then
8122 spawnClock()
8123 end
8124end
8125
8126function actionToggle(ob, pl)
8127 if not Player[pl].admin then
8128 return 1
8129 end
8130
8131 if options.actiontoggle then
8132 options.actiontoggle = false
8133 hideActionText()
8134 print ('Action text toggled off. The button can still be used to update pot and current bet values.')
8135 else
8136 options.actiontoggle = true
8137 print ('Action text toggled on. It will reappear next time action is passed.')
8138 end
8139
8140 optionsHost()
8141end
8142
8143function hideActionText()
8144 actiontext.setPosition({0, -2, 0})
8145end
8146
8147function calculatePots()
8148 if pottext == nil or pottext == null then
8149 checkAndRespawnObjects()
8150 return 0
8151 end
8152 if sidepotcalculated then
8153 return 0
8154 end
8155 if currentbettext == nil or currentbettext == null then
8156 checkAndRespawnObjects()
8157 return 0
8158 end
8159 startLuaCoroutine(nil, 'calculatePotsCoroutine')
8160end
8161
8162function calculatePotsCoroutine ()
8163
8164 local p = potobject.getPosition()
8165 local r = potobject.getRotation()
8166
8167 p.y = p.y + 10
8168
8169 potzones[1].setPosition (p)
8170 potzones[1].setRotation (r)
8171 potzones[1].setScale({9.5, 20, 6})
8172
8173 for i = 1, 3 do
8174 coroutine.yield(0)
8175 end
8176
8177 local bets = 0
8178 local mainpot = 0
8179 local prevpot = pot
8180 local prevbet = currentbet
8181 currentbet = 0
8182 local chips = {}
8183 local better = ''
8184 for i, v in ipairs (colors) do
8185 playerbets[i] = getChipValues(betzones[v], chips)
8186
8187 if playerbets[i] > currentbet then
8188 currentbet = playerbets[i]
8189 better = v
8190 end
8191 if options.displayplayerbet then
8192 if playerbets[i] > 0 then
8193 bettext[v].setValue('$' .. tostring(playerbets[i]))
8194 else
8195 bettext[v].setValue(' ')
8196 end
8197 else
8198 bettext[v].setValue(' ')
8199 end
8200 sidepottext[v].setValue(" ")
8201 if options.displayplayermoney then
8202 money = getChipValues(tablezones[v],chips)
8203 tablezonetext[v].setValue("$" .. money)
8204 bets = bets + playerbets[i]
8205 end
8206 end
8207
8208 for i, v in ipairs (potzones) do
8209 mainpot = mainpot + getChipValues(v, chips)
8210 end
8211 --mainpot = getChipValues(potzones[1], chips)
8212
8213 pot = bets + mainpot
8214
8215 -- print the pot value in chat
8216 if pot > prevpot then
8217 printstring = printstring..'pot'
8218 end
8219
8220 -- print the current bet in chat
8221 if currentbet > prevbet then
8222
8223 if prevbet == 0 then
8224 printstring = printstring..'bet'..better
8225 else
8226 printstring = printstring..'raise'..better
8227 end
8228
8229 end
8230
8231 -- display pot value on 3dtexts
8232
8233 pottext.setValue('Pot: $'..tostring(pot))
8234 currentbettext.setValue('Current bet: $'..tostring(currentbet))
8235
8236 printMessages()
8237
8238 return 1
8239
8240end
8241
8242function getChipValues(zone, chips)
8243
8244 local objects = zone.getObjects()
8245 local x = 0
8246
8247 for j, w in ipairs (objects) do
8248 if w.tag == 'Chip' and not objectExistsInList(chips, w) then
8249 if w.getQuantity() < 0 then
8250 if w.getValue() then
8251 x = x + w.getValue()
8252 chips[#chips+1] = w
8253 elseif currencyToNumber(w.getName()) then
8254 x = x + currencyToNumber(w.getName())
8255 chips[#chips+1] = w
8256 end
8257 else
8258 if w.getValue() then
8259 x = x + (w.getValue() * w.getQuantity())
8260 chips[#chips+1] = w
8261 elseif currencyToNumber(w.getName()) then
8262 x = x + (currencyToNumber(w.getName()) * w.getQuantity())
8263 chips[#chips+1] = w
8264 end
8265 end
8266 end
8267 end
8268
8269 return x
8270
8271end
8272
8273function resetBets()
8274 playerbets = {}
8275 for i, v in ipairs (players) do
8276 playerbets[i] = 0
8277 end
8278 currentbet = 0
8279end
8280
8281--[[ Spawn panel with host options buttons --]]
8282function spawnOptionsPanel(ob, pl)
8283
8284 if not Player[pl].admin then
8285 return 1
8286 end
8287
8288 if optionspanel then
8289 destroyOptionsPanel()
8290 return 1
8291 end
8292
8293 local params = {}
8294 params.type = 'Custom_Model'
8295 params.callback = 'optionsMain'
8296 params.position = {-4.5, 4.45, -25}
8297 params.scale = {2, 1, 2}
8298 params.rotation = {0, 180, 0}
8299
8300 optionspanel = spawnObject(params)
8301
8302 local custom = {}
8303 custom.mesh = 'http://pastebin.com/raw/avCFwn0Y'
8304 custom.collider = 'http://pastebin.com/raw/avCFwn0Y'
8305 custom.specular_intensity = 0
8306 custom.type = 4
8307
8308 optionspanel.setCustomObject(custom)
8309
8310 optionspanel.lock()
8311 optionspanel.interactable = false
8312 optionspanel.setColorTint({0, 0, 0})
8313
8314 startLuaCoroutine(nil, 'addSelfDestruct')
8315
8316end
8317
8318--[[ Add buttons to panel --]]
8319
8320function optionsMain(ob, pl)
8321
8322 if pl then
8323 if not Player[pl].admin then
8324 return 1
8325 end
8326 end
8327
8328 optionspanel.clearButtons()
8329
8330 if colorball ~= nil and colorball ~= null then
8331 colorball.destruct()
8332 end
8333
8334 local button = {}
8335
8336 button.width = 150
8337 button.height = 150
8338 button.label = '☒'
8339 button.font_size = 125
8340 button.click_function = 'destroyOptionsPanel'
8341 button.position = {1.75, 0.05, -1.8}
8342 optionspanel.createButton(button)
8343
8344 button.width = 1000
8345 button.height = 200
8346 button.label = 'Host Settings'
8347 button.click_function = 'optionsHost'
8348 button.font_size = 150
8349 button.position = {0, 0.05, -1.5}
8350
8351 optionspanel.createButton(button)
8352
8353 button.width = 1000
8354 button.height = 200
8355 button.label = 'Chat Settings'
8356 button.click_function = 'optionsChat'
8357 button.font_size = 150
8358 button.position = {0, 0.05, -1}
8359 optionspanel.createButton(button)
8360
8361 button.width = 1000
8362 button.height = 200
8363 button.label = 'Themes'
8364 button.click_function = 'optionsThemes'
8365 button.font_size = 150
8366 button.position = {0, 0.05, -0.5}
8367 optionspanel.createButton(button)
8368
8369 button.width = 1000
8370 button.height = 200
8371 button.label = 'Currencies'
8372 button.click_function = 'optionsCurrencies'
8373 button.font_size = 150
8374 button.position = {0, 0.05, 0}
8375 optionspanel.createButton(button)
8376
8377
8378
8379 button.label = 'Deal one card'
8380 button.width = 800
8381 button.font_size = 100
8382 button.position = {-1, 0.05, 0.5}
8383 button.click_function = 'dealOneCard'
8384 optionspanel.createButton(button)
8385
8386 button.label = 'Clock'
8387 button.width = 800
8388 button.font_size = 150
8389 button.position = {1, 0.05, 0.5}
8390 button.click_function = 'spawnClock'
8391 optionspanel.createButton(button)
8392
8393 button.label = '«'
8394 button.width = 100
8395 button.height = 100
8396 button.font_size = 100
8397 button.click_function = 'decreaseClockTime5'
8398 button.position = {0.4, 0.05, 0.85}
8399 optionspanel.createButton(button)
8400
8401 button.label = '‹'
8402 button.click_function = 'decreaseClockTime1'
8403 button.position = {0.6, 0.05, 0.85}
8404 optionspanel.createButton(button)
8405
8406 button.label = tostring(options.clocktime)
8407 button.width = 300
8408 button.click_function = 'doNothing'
8409 button.position = {1, 0.05, 0.85}
8410 optionspanel.createButton(button)
8411
8412 button.label = '›'
8413 button.width = 100
8414 button.click_function = 'increaseClockTime1'
8415 button.position = {1.4, 0.05, 0.85}
8416 optionspanel.createButton(button)
8417
8418 button.label = '»'
8419 button.click_function = 'increaseClockTime5'
8420 button.position = {1.6, 0.05, 0.85}
8421 optionspanel.createButton(button)
8422
8423 button.label = 'Fold Player'
8424 button.width = 800
8425 button.height = 200
8426 button.font_size = 150
8427 button.position = {1, 0.05, 1.5}
8428 button.click_function = 'foldPlayer'
8429 optionspanel.createButton(button)
8430
8431 button.label = 'Set player Afk'
8432 button.width = 800
8433 button.font_size = 100
8434 button.position = {-1, 0.05, 1}
8435 button.click_function = 'setPlayerAfk'
8436 optionspanel.createButton(button)
8437
8438 button.label = 'Reset Objects'
8439 button.font_size = 100
8440 button.click_function = 'checkAndRespawnObjects'
8441 button.position = {-1.0, 0.05, 1.5}
8442 optionspanel.createButton(button)
8443
8444
8445
8446
8447
8448end
8449
8450function dealOneCard(ob, pl)
8451 if pl then
8452 if not Player[pl].admin and pl ~= actionon then
8453 return 1
8454 end
8455 end
8456
8457 if deck == nil or deck == null then
8458 for i, v in ipairs (getSeatedPlayers()) do
8459 if Player[v].admin then
8460 broadcastToColor('No deck assigned. Please assign a deck with the \'New Deck\' button.', v, {1, 0.3, 0.3})
8461 end
8462 end
8463 return 1
8464 end
8465
8466 if not dealing then
8467 if not handinprogress then
8468 players = getOrderedListOfPlayers()
8469 end
8470
8471 if not players then
8472 return 1
8473 end
8474
8475 onecard = true
8476 dealing = true
8477 startLuaCoroutine(nil, 'holeCoroutine')
8478 end
8479end
8480
8481--[[ 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. --]]
8482function addSelfDestruct()
8483 for i = 1, 5 do
8484 coroutine.yield(0)
8485 end
8486 if optionspanel ~= nil and optionspanel ~= null then
8487 optionspanel.setLuaScript('function onload() self.destruct() end')
8488 end
8489 return 1
8490end
8491
8492function optionsHost(ob, pl)
8493 if pl then
8494 if not Player[pl].admin then
8495 return 1
8496 end
8497 end
8498
8499 optionspanel.clearButtons()
8500
8501 local button = {}
8502 local s = ''
8503
8504 button.width = 150
8505 button.height = 150
8506 button.label = '☒'
8507 button.font_size = 125
8508 button.click_function = 'destroyOptionsPanel'
8509 button.position = {1.75, 0.05, -1.8}
8510 optionspanel.createButton(button)
8511
8512 button.width = 150
8513 button.height = 150
8514 button.label = '◄'
8515 button.font_size = 125
8516 button.click_function = 'optionsMain'
8517 button.position = {-1.75, 0.05, -1.8}
8518 optionspanel.createButton(button)
8519
8520 if options.actiontoggle then
8521 button.label = '☑ Action'
8522 else
8523 button.label = '□ Action'
8524 end
8525 button.font_size = 75
8526 button.width = 350
8527 button.height = 100
8528 button.click_function = 'actionToggle'
8529 button.position = {-1.5, 0.05, -1.5}
8530 optionspanel.createButton(button)
8531
8532 if options.actiontoggle then
8533 if options.playerclickaction then
8534 button.label = '+Players'
8535 else
8536 button.label = '+Host'
8537 end
8538 button.width = 350
8539 button.font_size = 75
8540 button.click_function = 'togglePlayerClickAction'
8541 button.position = {-1.5, 0.05, -1.25}
8542 optionspanel.createButton(button)
8543
8544 if options.autoclock then
8545 button.label = '☑ Autoclock'
8546 else
8547 button.label = '□ Autoclock'
8548 end
8549 button.position = {-1.35, 0.05, -1.0}
8550 button.width = 500
8551 button.click_function = 'toggleAutoclock'
8552 optionspanel.createButton(button)
8553
8554 if options.autoclock then
8555 button.label = '‹'
8556 button.width = 100
8557 button.click_function = 'decreaseAutoclockTime'
8558 button.position = {-1.7, 0.05, -0.75}
8559 optionspanel.createButton(button)
8560
8561 button.label = tostring(options.autoclocktime)
8562 button.width = 200
8563 button.position = {-1.35, 0.05, -0.75}
8564 button.click_function = 'doNothing'
8565 optionspanel.createButton(button)
8566
8567 button.label = '›'
8568 button.width = 100
8569 button.click_function = 'increaseAutoclockTime'
8570 button.position = {-1.0, 0.05, -0.75}
8571 optionspanel.createButton(button)
8572
8573 if options.clockpausebutton then
8574 button.label = '☑ Pause button'
8575 else
8576 button.label = '□ Pause button'
8577 end
8578 button.width = 600
8579 button.position = {-1.35, 0.05, -0.5}
8580 button.click_function = 'toggleAutoclockPauseButton'
8581 optionspanel.createButton(button)
8582 end
8583
8584 if options.autofold then
8585 button.label = '☑ Autofold'
8586 else
8587 button.label = '□ Autofold'
8588 end
8589 button.width = 500
8590 button.position = {-0.35, 0.05, -1.0}
8591 button.click_function = 'toggleAutofold'
8592 optionspanel.createButton(button)
8593 end
8594
8595 if options.collectmethod == 'move' then
8596 button.label = 'Collect method: Move'
8597 button.width = 800
8598 elseif options.collectmethod == 'convert' then
8599 button.label = 'Collect method: Convert'
8600 button.width = 850
8601 elseif options.collectmethod == 'hybrid' then
8602 button.label = 'Collect method: Hybrid:'
8603 button.width = 850
8604 else
8605 button.label = options.collectmethod
8606 button.width = 800
8607 end
8608 button.click_function = 'changeCollectMethod'
8609 button.position = {-1, 0.05, 0}
8610 optionspanel.createButton(button)
8611
8612 if options.collectmethod == 'hybrid' then
8613 button.label = '«'
8614 button.width = 100
8615 button.click_function = 'decreaseHybridThreshold1000'
8616 button.position = {0.0, 0.05, 0}
8617 optionspanel.createButton(button)
8618
8619 button.label = '‹'
8620 button.click_function = 'decreaseHybridThreshold100'
8621 button.position = {0.2, 0.05, 0}
8622 optionspanel.createButton(button)
8623
8624 button.label = '$'..tostring(options.hybridthreshold)
8625 button.width = 350
8626 button.click_function = 'doNothing'
8627 button.position = {0.65, 0.05, 0}
8628 optionspanel.createButton(button)
8629
8630 button.label = '›'
8631 button.width = 100
8632 button.click_function = 'increaseHybridThreshold100'
8633 button.position = {1.1, 0.05, 0}
8634 optionspanel.createButton(button)
8635
8636 button.label = '»'
8637 button.click_function = 'increaseHybridThreshold1000'
8638 button.position = {1.3, 0.05, 0}
8639 optionspanel.createButton(button)
8640 end
8641
8642 if options.collectmethod == 'convert' or options.collectmethod=='hybrid' then
8643
8644 button.label = 'Minimum Stack Height:'
8645 button.width = 850
8646 button.click_function = 'doNothing'
8647 button.position = {-1, 0.05, 0.25}
8648 optionspanel.createButton(button)
8649
8650 button.width = 100
8651 button.label = '‹'
8652 button.click_function = 'decreaseConvertStackHeight1'
8653 button.position = {0.2, 0.05, 0.25}
8654 optionspanel.createButton(button)
8655
8656 button.label = tostring(options.convertstackheight)
8657 button.width = 350
8658 button.click_function = 'doNothing'
8659 button.position = {0.65, 0.05, 0.25}
8660 optionspanel.createButton(button)
8661
8662 button.label = '›'
8663 button.width = 100
8664 button.click_function = 'increaseConvertStackHeight1'
8665 button.position = {1.1, 0.05, 0.25}
8666 optionspanel.createButton(button)
8667 end
8668
8669
8670 if options.blindsskipafk then
8671 button.label = '☑ Blinds Skip AFK'
8672 else
8673 button.label = '□ Blinds Skip AFK'
8674 end
8675 button.width = 650
8676 button.click_function = 'toggleBlindsSkipAFK'
8677 button.position = {-0.375, 0.05, -1.5}
8678 optionspanel.createButton(button)
8679
8680 if options.gamemode == 'omaha' then
8681 s = '►'
8682 else
8683 s = ''
8684 end
8685 button.label = s..'Omaha Hold\'em'
8686 button.width = 650
8687 button.click_function = 'setGameModeOmaha'
8688 button.position = {1.0, 0.05, -1.0}
8689 optionspanel.createButton(button)
8690
8691 if options.gamemode == 'pineapple' then
8692 s = '►'
8693 else
8694 s = ''
8695 end
8696 button.label = s..'Pineapple'
8697 button.width = 700
8698 button.click_function = 'setGameModePineapple'
8699 button.position = {1.0, 0.05, -1.25}
8700 optionspanel.createButton(button)
8701
8702 if options.gamemode == 'texas' then
8703 s = '►'
8704 else
8705 s = ''
8706 end
8707 button.label = s..'Texas Hold\'em'
8708 button.width = 600
8709 button.click_function = 'setGameModeTexas'
8710 button.position = {1.0, 0.05, -1.5}
8711 optionspanel.createButton(button)
8712
8713 if options.displayplayerbet then
8714 button.label = '☑ Display Player Bets'
8715 else
8716 button.label = '□ Display Player Bet'
8717 end
8718 button.width = 1000
8719 button.click_function = 'toggleDisplayPlayerBet'
8720 button.position = {-1, 0.05, 0.6}
8721 optionspanel.createButton(button)
8722
8723 if options.displayplayermoney then
8724 button.label = '☑ Display Player Money'
8725 else
8726 button.label = '□ Display Player Money'
8727 end
8728 button.width = 1000
8729 button.click_function = 'toggleDisplayPlayerMoney'
8730 button.position = {-1, 0.05, 0.8}
8731 optionspanel.createButton(button)
8732
8733 if options.changemachine then
8734 button.label = '☑ change Machine'
8735 else
8736 button.label = '□ change Machine'
8737 end
8738 button.width = 1000
8739 button.click_function = 'togglechangeMachine'
8740 button.position = {-1, 0.05, 1}
8741 optionspanel.createButton(button)
8742
8743
8744 if options.playerbuttons.sortchips then
8745 button.label = '☑ Display Sort Chips Button'
8746 else
8747 button.label = '□ Display Sort Chips Button'
8748 end
8749 button.width = 1000
8750 button.click_function = 'toggleDisplaySortChips'
8751 button.position = {1, 0.05, 0.6}
8752 optionspanel.createButton(button)
8753
8754
8755 if options.playerbuttons.convert then
8756 button.label = '☑ Display Convert Button'
8757 else
8758 button.label = '□ Display Convert Button'
8759 end
8760 button.width = 1000
8761 button.click_function = 'toggleDisplayConvert'
8762 button.position = {1, 0.05, 0.8}
8763 optionspanel.createButton(button)
8764
8765 if options.playerbuttons.allin then
8766 button.label = '☑ Display AllIn Button'
8767 else
8768 button.label = '□ Display AllIn Button'
8769 end
8770 button.width = 1000
8771 button.click_function = 'toggleDisplayAllIn'
8772 button.position = {1, 0.05, 1}
8773 optionspanel.createButton(button)
8774
8775 if options.playerbuttons.afk then
8776 button.label = '☑ Display AFK Button'
8777 else
8778 button.label = '□ Display AFK Button'
8779 end
8780 button.width = 1000
8781 button.click_function = 'toggleDisplayAFK'
8782 button.position = {1, 0.05, 1.2}
8783 optionspanel.createButton(button)
8784
8785
8786 if options.playerbuttons.loadsavebag then
8787 button.label = '☑ Display Load Save Button'
8788 else
8789 button.label = '□ Display Load Save Button'
8790 end
8791 button.width = 1000
8792 button.click_function = 'toggleLoadSaves'
8793 button.position = {1, 0.05, 1.4}
8794 optionspanel.createButton(button)
8795
8796end
8797
8798
8799
8800function optionsChat(ob, pl)
8801
8802 if pl then
8803 if not Player[pl].admin then
8804 return 1
8805 end
8806 end
8807
8808 optionspanel.clearButtons()
8809
8810 local button = {}
8811
8812 button.width = 150
8813 button.height = 150
8814 button.label = '☒'
8815 button.font_size = 125
8816 button.click_function = 'destroyOptionsPanel'
8817 button.position = {1.75, 0.05, -1.8}
8818 optionspanel.createButton(button)
8819
8820 button.width = 150
8821 button.height = 150
8822 button.label = '◄'
8823 button.font_size = 125
8824 button.click_function = 'optionsMain'
8825 button.position = {-1.75, 0.05, -1.8}
8826 optionspanel.createButton(button)
8827
8828 button.width = 650
8829 button.height = 150
8830 button.font_size = 75
8831 if options.chatoptions.actionmessage then
8832 button.label = '☑ Action message'
8833 else
8834 button.label = '□ Action message'
8835 end
8836 button.click_function = 'toggleActionMessage'
8837 button.position = {-1.0, 0.05, -1.5}
8838 optionspanel.createButton(button)
8839
8840 button.width = 700
8841 button.height = 150
8842 button.font_size = 75
8843 if options.chatoptions.actionbroadcast then
8844 button.label = '☑ Action broadcast'
8845 else
8846 button.label = '□ Action broadcast'
8847 end
8848 button.click_function = 'toggleActionBroadcast'
8849 button.position = {-1.0, 0.05, -1.25}
8850 optionspanel.createButton(button)
8851
8852 button.width = 600
8853 button.height = 150
8854 button.font_size = 75
8855 if options.chatoptions.currentbetmessage then
8856 button.label = '☑ Current bet'
8857 else
8858 button.label = '□ Current bet'
8859 end
8860 button.click_function = 'toggleCurrentBetMessage'
8861 button.position = {1.0, 0.05, -1.5}
8862 optionspanel.createButton(button)
8863
8864 button.width = 600
8865 button.height = 150
8866 button.font_size = 75
8867 if options.chatoptions.better then
8868 button.label = '☑ └Better/raiser'
8869 else
8870 button.label = '□ └Better/raiser'
8871 end
8872 button.click_function = 'toggleBetter'
8873 button.position = {1.0, 0.05, -1.25}
8874 if options.chatoptions.currentbetmessage then
8875 optionspanel.createButton(button)
8876 end
8877
8878 button.width = 700
8879 button.height = 150
8880 button.font_size = 75
8881 if options.chatoptions.allinbroadcast then
8882 button.label = '☑ All-in broadcast'
8883 else
8884 button.label = '□ All-in broadcast'
8885 end
8886 button.click_function = 'toggleAllinBroadcast'
8887 button.position = {1.0, 0.05, -1.0}
8888 optionspanel.createButton(button)
8889
8890 button.height = 150
8891 button.font_size = 75
8892 if options.chatoptions.potmessage == 0 then
8893 button.width = 700
8894 button.label = 'Pot message: Off'
8895 elseif options.chatoptions.potmessage == 1 then
8896 button.width = 1000
8897 button.label = 'Pot message: On collect only'
8898 elseif options.chatoptions.potmessage == 2 then
8899 button.width = 900
8900 button.label = 'Pot message: On change'
8901 end
8902 button.click_function = 'togglePotMessage'
8903 button.position = {1.0, 0.05, -0.75}
8904 optionspanel.createButton(button)
8905
8906 button.width = 850
8907 button.height = 150
8908 button.font_size = 75
8909 if options.chatoptions.stage then
8910 button.label = '☑ Game stage broadcast'
8911 else
8912 button.label = '□ Game stage broadcast'
8913 end
8914 button.click_function = 'toggleStageBroadcast'
8915 button.position = {-1.0, 0.05, -1.0}
8916 optionspanel.createButton(button)
8917
8918end
8919
8920function optionsThemes(ob, pl)
8921 if pl then
8922 if not Player[pl].admin then
8923 return 1
8924 end
8925 end
8926 optionspanel.clearButtons()
8927
8928 local button = {}
8929
8930 button.width = 150
8931 button.height = 150
8932 button.label = '☒'
8933 button.font_size = 125
8934 button.click_function = 'destroyOptionsPanel'
8935 button.position = {1.75, 0.05, -1.8}
8936 optionspanel.createButton(button)
8937
8938 button.width = 150
8939 button.height = 150
8940 button.label = '◄'
8941 button.font_size = 125
8942 button.click_function = 'optionsMain'
8943 button.position = {-1.75, 0.05, -1.8}
8944 optionspanel.createButton(button)
8945
8946 button.label = 'Set Font Color'
8947 button.width = 600
8948 button.font_size = 75
8949 button.click_function = 'changeFontColor'
8950 button.position = {-0.75, 0.05, -1.75}
8951 optionspanel.createButton(button)
8952
8953 button.label = 'Set Overlay Color'
8954 button.width = 600
8955 button.click_function = 'changeTableColor'
8956 button.position = {0.75, 0.05, -1.75}
8957 optionspanel.createButton(button)
8958
8959 button.label = 'Darken Overlay'
8960 button.width = 600
8961 button.click_function = 'darkenOverlay'
8962 button.position = {-0.75, 0.05, -1.5}
8963 optionspanel.createButton(button)
8964
8965 button.label = 'Lighten Overlay'
8966 button.width = 600
8967 button.click_function = 'lightenOverlay'
8968 button.position = {0.75, 0.05, -1.5}
8969 optionspanel.createButton(button)
8970
8971
8972
8973 --[[ spawn theme buttons --]]
8974 for i, v in ipairs (themes) do
8975 local s = ''
8976 if i == themeindex then
8977 s = '►'
8978 end
8979 button.width = (((string.len(themes[i].label) + string.len(s)) * 40) + 0 )
8980 button.height = 100
8981 button.font_size = 65
8982 button.label = themes[i].label..s
8983 button.click_function = 'setTheme'..tostring(i)
8984 button.position = {-1.75, 0.05, (-1 + ((i-1) * 0.25))}
8985 optionspanel.createButton(button)
8986 end
8987
8988 --[[ spawn subtheme buttons --]]
8989 for i, v in ipairs (themes[themeindex]) do
8990 local s = ''
8991 if i == subthemeindex then
8992 s = '►'
8993 end
8994 button.width = (((string.len(themes[themeindex][i].label) + string.len(s)) * 40) + 0)
8995 button.height = 100
8996 button.label = themes[themeindex][i].label..s
8997 button.click_function = 'setSubtheme'..tostring(i)
8998 button.position = {-0.75, 0.05, (-1 + ((i-1) * 0.25))}
8999 optionspanel.createButton(button)
9000 end
9001
9002 --[[ spawn diffuse buttons --]]
9003 for i, v in ipairs (themes[themeindex][subthemeindex]) do
9004 button.width = ((string.len(themes[themeindex][subthemeindex][i].label) * 35) + 0)
9005 button.height = 100
9006 button.label = themes[themeindex][subthemeindex][i].label
9007 button.click_function = 'overlay'..tostring(i)
9008 button.position = {1, 0.05, (-1 + ((i-1) * 0.25))}
9009 optionspanel.createButton(button)
9010 end
9011
9012 if colorball == nil or colorball == null then
9013 local params = {}
9014 local p = optionspanel.getPosition()
9015 params.position = {p.x, p.y, p.z + 3.5}
9016 params.type = 'go_game_piece_white'
9017 params.scale = {0.5, 0.5, 0.5}
9018
9019 colorball = spawnObject(params)
9020 local color = pottext.TextTool.getFontColor()
9021 colorball.lock()
9022 colorball.setColorTint(color)
9023 colorball.setDescription('Change my color tint, then click \'Font Color\' button to change color of text fonts.')
9024 end
9025
9026end
9027
9028function toggleDisplayConvert(ob,pl)
9029 if pl then
9030 if not Player[pl].admin then
9031 return 1
9032 end
9033 end
9034 options.playerbuttons.convert = not options.playerbuttons.convert
9035 createPlayerButtons()
9036 optionsHost()
9037end
9038
9039function toggleDisplaySortChips(ob,pl)
9040 if pl then
9041 if not Player[pl].admin then
9042 return 1
9043 end
9044 end
9045 options.playerbuttons.sortchips = not options.playerbuttons.sortchips
9046 createPlayerButtons()
9047 optionsHost()
9048end
9049
9050function toggleDisplayAllIn(ob,pl)
9051 if pl then
9052 if not Player[pl].admin then
9053 return 1
9054 end
9055 end
9056 options.playerbuttons.allin = not options.playerbuttons.allin
9057 createPlayerButtons()
9058 optionsHost()
9059end
9060
9061function toggleDisplayAFK(ob,pl)
9062 if pl then
9063 if not Player[pl].admin then
9064 return 1
9065 end
9066 end
9067 options.playerbuttons.afk = not options.playerbuttons.afk
9068 createPlayerButtons()
9069 optionsHost()
9070end
9071
9072function toggleDisplayPlayerBet(ob, pl)
9073 if pl then
9074 if not Player[pl].admin then
9075 return 1
9076 end
9077 end
9078 options.displayplayerbet = not options.displayplayerbet
9079 calculatePots()
9080 optionsHost()
9081end
9082
9083function toggleLoadSaves(ob, pl)
9084 if pl then
9085 if not Player[pl].admin then
9086 return 1
9087 end
9088 end
9089 options.playerbuttons.loadsavebag = not options.playerbuttons.loadsavebag
9090 createPlayerButtons()
9091 optionsHost()
9092end
9093
9094function togglechangeMachine(ob, pl)
9095 if pl then
9096 if not Player[pl].admin then
9097 return 1
9098 end
9099 end
9100 options.changemachine = not options.changemachine
9101
9102 for i, v in ipairs(getAllObjects()) do
9103 if v.getName() == 'Back Table' then
9104 v.clearButtons()
9105 if options.changemachine then
9106 local offsetx = 2/#currencies
9107 local button = {}
9108
9109 if #currencies <= 10 then
9110 offsetx = 1.65/(#currencies-2)
9111 else
9112 offsetx = 1.65/8
9113 end
9114 local offsety = 2/#currencies
9115 button.font_size = 150
9116 button.width = 450
9117 button.height = 250
9118 button.scale = {1/5, 1/5, 1/7.5}
9119 button.position = {0.83, -0.1, -0.9}
9120 button.rotation = {180, 0, 0}
9121
9122 for j, w in ipairs(currencies) do
9123 if w.value ~= -1 then
9124 button.label = w.label
9125 button.click_function = 'changeMachineButton' .. j
9126 v.createButton(button)
9127 button.position[1] = button.position[1] - offsetx
9128 end
9129 if j == 9 then
9130 if #currencies - 11 > 0 then
9131 offsetx = 1.65/(#currencies-11)
9132 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
9133 else
9134 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
9135 end
9136 end
9137 end
9138 end
9139 end
9140 end
9141
9142
9143 optionsHost()
9144end
9145
9146function toggleDisplayPlayerMoney(ob, pl)
9147 if pl then
9148 if not Player[pl].admin then
9149 return 1
9150 end
9151 end
9152 options.displayplayermoney = not options.displayplayermoney
9153
9154 if options.displayplayermoney then
9155 for i, v in ipairs (colors) do
9156 money = getChipValues(tablezones[v],chips)
9157 tablezonetext[v].setValue("$" .. money)
9158
9159 end
9160 else
9161 for i, v in ipairs (colors) do
9162 tablezonetext[v].setValue(" ")
9163 end
9164 end
9165 optionsHost()
9166end
9167
9168
9169
9170function optionsCurrencies(ob, pl)
9171 if pl then
9172 if not Player[pl].admin then
9173 return 1
9174 end
9175 end
9176 optionspanel.clearButtons()
9177
9178 local button = {}
9179
9180 button.width = 150
9181 button.height = 150
9182 button.label = '☒'
9183 button.font_size = 125
9184 button.click_function = 'destroyOptionsPanel'
9185 button.position = {1.75, 0.05, -1.8}
9186 optionspanel.createButton(button)
9187
9188 button.width = 150
9189 button.height = 150
9190 button.label = '◄'
9191 button.font_size = 125
9192 button.click_function = 'optionsMain'
9193 button.position = {-1.75, 0.05, -1.8}
9194 optionspanel.createButton(button)
9195
9196 --[[ spawn currencies buttons --]]
9197
9198 button.width = 500
9199 button.height = 100
9200 button.font_size = 100
9201 button.label = "Currency"
9202 button.click_function = 'doNothing'
9203 button.position = {-1.25, 0.05, -1.55 }
9204 optionspanel.createButton(button)
9205
9206 button.width = 500
9207 button.height = 100
9208 button.font_size = 100
9209 button.label = "Layout"
9210 button.click_function = 'doNothing'
9211 button.position = {1, 0.05, -1.55 }
9212 optionspanel.createButton(button)
9213
9214
9215 button.position = {-1.25, 0.05, -1.25 }
9216 local c = 0
9217 for i, v in pairs (currenciesSelectionStacklayout ) do
9218 c=c+1
9219 local s = ''
9220 if i == options.currencies then
9221 s = '►'
9222 end
9223 button.width = (((string.len(i) + string.len(s)) * 30) + 40 )
9224 button.height = 100
9225 button.font_size = 65
9226 button.label = i..s
9227 button.click_function = 'changeCurrencies' .. c
9228 button.position[3] = button.position[3]+0.25
9229 optionspanel.createButton(button)
9230 if i == options.currencies then
9231 for j, w in ipairs (v) do
9232 local s = ''
9233 if w == options.stacklayout then
9234 s = '►'
9235 end
9236 local button2 = {}
9237 button2.width = (((string.len(w) + string.len(s)) * 30) + 40)
9238 button2.font_size = 65
9239 button2.height = 100
9240 button2.label = w..s
9241 button2.click_function = 'setStacklayout' .. j
9242 button2.position = {1, 0.05, (-1 + ((j-1) * 0.25))}
9243 optionspanel.createButton(button2)
9244 end
9245 end
9246 end
9247end
9248
9249
9250
9251function setStacklayout1(ob, pl)
9252 if pl then
9253 if not Player[pl].admin then
9254 return 1
9255 end
9256 end
9257 options.stacklayout = currenciesSelectionStacklayout[options.currencies][1]
9258 optionsCurrencies()
9259end
9260
9261function setStacklayout2(ob, pl)
9262 if pl then
9263 if not Player[pl].admin then
9264 return 1
9265 end
9266 end
9267 options.stacklayout = currenciesSelectionStacklayout[options.currencies][2]
9268 optionsCurrencies()
9269end
9270
9271function setStacklayout3(ob, pl)
9272 if pl then
9273 if not Player[pl].admin then
9274 return 1
9275 end
9276 end
9277 options.stacklayout = currenciesSelectionStacklayout[options.currencies][3]
9278 optionsCurrencies()
9279end
9280
9281function setStacklayout4(ob, pl)
9282 if pl then
9283 if not Player[pl].admin then
9284 return 1
9285 end
9286 end
9287 options.stacklayout = currenciesSelectionStacklayout[options.currencies][4]
9288 optionsCurrencies()
9289end
9290function setStacklayout5(ob, pl)
9291 if pl then
9292 if not Player[pl].admin then
9293 return 1
9294 end
9295 end
9296 options.stacklayout = currenciesSelectionStacklayout[options.currencies][5]
9297 optionsCurrencies()
9298end
9299function setStacklayout6(ob, pl)
9300 if pl then
9301 if not Player[pl].admin then
9302 return 1
9303 end
9304 end
9305 options.stacklayout = currenciesSelectionStacklayout[options.currencies][6]
9306 optionsCurrencies()
9307end
9308function setStacklayout7(ob, pl)
9309 if pl then
9310 if not Player[pl].admin then
9311 return 1
9312 end
9313 end
9314 options.stacklayout = currenciesSelectionStacklayout[options.currencies][7]
9315 optionsCurrencies()
9316end
9317function setStacklayout8(ob, pl)
9318 if pl then
9319 if not Player[pl].admin then
9320 return 1
9321 end
9322 end
9323 options.stacklayout = currenciesSelectionStacklayout[options.currencies][8]
9324 optionsCurrencies()
9325end
9326
9327function setStacklayout9(ob, pl)
9328 if pl then
9329 if not Player[pl].admin then
9330 return 1
9331 end
9332 end
9333 options.stacklayout = currenciesSelectionStacklayout[options.currencies][9]
9334 optionsCurrencies()
9335end
9336
9337function setStacklayout10(ob, pl)
9338 if pl then
9339 if not Player[pl].admin then
9340 return 1
9341 end
9342 end
9343 options.stacklayout = currenciesSelectionStacklayout[options.currencies][10]
9344 optionsCurrencies()
9345end
9346
9347
9348function changeCurrencies1(ob, pl)
9349 if pl then
9350 if not Player[pl].admin then
9351 return 1
9352 end
9353 end
9354 changeCurrenciesCo(1)
9355end
9356
9357function changeCurrencies2(ob, pl)
9358 if pl then
9359 if not Player[pl].admin then
9360 return 1
9361 end
9362 end
9363
9364 changeCurrenciesCo(2)
9365end
9366
9367
9368function changeCurrencies3(ob, pl)
9369 if pl then
9370 if not Player[pl].admin then
9371 return 1
9372 end
9373 end
9374
9375 changeCurrenciesCo(3)
9376end
9377
9378function changeCurrencies4(ob, pl)
9379 if pl then
9380 if not Player[pl].admin then
9381 return 1
9382 end
9383 end
9384
9385 changeCurrenciesCo(4)
9386end
9387
9388function changeCurrencies5(ob, pl)
9389 if pl then
9390 if not Player[pl].admin then
9391 return 1
9392 end
9393 end
9394
9395 changeCurrenciesCo(5)
9396end
9397
9398function changeCurrencies6(ob, pl)
9399 if pl then
9400 if not Player[pl].admin then
9401 return 1
9402 end
9403 end
9404
9405 changeCurrenciesCo(6)
9406end
9407
9408function changeCurrencies7(ob, pl)
9409 if pl then
9410 if not Player[pl].admin then
9411 return 1
9412 end
9413 end
9414
9415 changeCurrenciesCo(7)
9416end
9417
9418function changeCurrencies8(ob, pl)
9419 if pl then
9420 if not Player[pl].admin then
9421 return 1
9422 end
9423 end
9424
9425 changeCurrenciesCo(8)
9426end
9427
9428function changeCurrencies9(ob, pl)
9429 if pl then
9430 if not Player[pl].admin then
9431 return 1
9432 end
9433 end
9434
9435 changeCurrenciesCo(9)
9436end
9437
9438
9439
9440function changeCurrencies10(ob, pl)
9441 if pl then
9442 if not Player[pl].admin then
9443 return 1
9444 end
9445 end
9446
9447 changeCurrenciesCo(10)
9448end
9449
9450function changeCurrencies11(ob, pl)
9451 if pl then
9452 if not Player[pl].admin then
9453 return 1
9454 end
9455 end
9456
9457 changeCurrenciesCo(11)
9458end
9459
9460function changeCurrencies12(ob, pl)
9461 if pl then
9462 if not Player[pl].admin then
9463 return 1
9464 end
9465 end
9466
9467 changeCurrenciesCo(12)
9468end
9469
9470function changeCurrencies13(ob, pl)
9471 if pl then
9472 if not Player[pl].admin then
9473 return 1
9474 end
9475 end
9476
9477 changeCurrenciesCo(13)
9478end
9479
9480function changeCurrencies14(ob, pl)
9481 if pl then
9482 if not Player[pl].admin then
9483 return 1
9484 end
9485 end
9486
9487 changeCurrenciesCo(14)
9488end
9489
9490function changeCurrencies15(ob, pl)
9491 if pl then
9492 if not Player[pl].admin then
9493 return 1
9494 end
9495 end
9496
9497 changeCurrenciesCo(15)
9498end
9499
9500function changeCurrencies16(ob, pl)
9501 if pl then
9502 if not Player[pl].admin then
9503 return 1
9504 end
9505 end
9506
9507 changeCurrenciesCo(16)
9508end
9509
9510
9511function changeCurrencies16(ob, pl)
9512 if pl then
9513 if not Player[pl].admin then
9514 return 1
9515 end
9516 end
9517
9518 changeCurrenciesCo(16)
9519end
9520
9521
9522function changeCurrencies17(ob, pl)
9523 if pl then
9524 if not Player[pl].admin then
9525 return 1
9526 end
9527 end
9528
9529 changeCurrenciesCo(17)
9530end
9531
9532
9533function changeCurrencies18(ob, pl)
9534 if pl then
9535 if not Player[pl].admin then
9536 return 1
9537 end
9538 end
9539
9540 changeCurrenciesCo(18)
9541end
9542
9543
9544function changeCurrencies19(ob, pl)
9545 if pl then
9546 if not Player[pl].admin then
9547 return 1
9548 end
9549 end
9550
9551 changeCurrenciesCo(19)
9552end
9553
9554function changeCurrenciesCo(number)
9555 c=0
9556 for i, v in pairs (currenciesSelectionStacklayout ) do
9557 c=c+1
9558 if(c == number) then
9559 options.currencies = i
9560 options.stacklayout = v[1]
9561 currencies = currenciesSelection[i]
9562 end
9563 end
9564
9565 for i, v in ipairs(getAllObjects()) do
9566 -- Update Buttons
9567 if v.getName() == 'Back Table' then
9568 v.clearButtons()
9569 if options.changemachine then
9570 local offsetx = 2/#currencies
9571 local button = {}
9572
9573 if #currencies <= 10 then
9574 offsetx = 1.65/(#currencies-2)
9575 else
9576 offsetx = 1.65/8
9577 end
9578 local offsety = 2/#currencies
9579 button.font_size = 150
9580 button.width = 450
9581 button.height = 250
9582 button.scale = {1/5, 1/5, 1/7.5}
9583 button.position = {0.83, -0.1, -0.9}
9584 button.rotation = {180, 0, 0}
9585
9586 for j, w in ipairs(currencies) do
9587 if w.value ~= -1 then
9588 button.label = w.label
9589 button.click_function = 'changeMachineButton' .. j
9590 v.createButton(button)
9591 button.position[1] = button.position[1] - offsetx
9592 end
9593 if j == 9 then
9594 if #currencies - 11 > 0 then
9595 offsetx = 1.65/(#currencies-11)
9596 button.position = {0.83, -0.1, -0.8} -- spawn 1 button in the center
9597 else
9598 button.position = {0, -0.1, -0.8} -- spawn 1 button in the center
9599 end
9600 end
9601 end
9602 end
9603
9604 end
9605 -- Delete Old Infinite Money Bags
9606 if v.getDescription() == 'Infinite Money Bag' then
9607 v.destruct()
9608 end
9609 end
9610
9611
9612 -- spawn infinite Bags
9613 local params = {}
9614 local posx = 2
9615 local posy = 2.2
9616 local posz = -23
9617
9618 local offsetx = 4
9619 local offsetz = -1.7
9620
9621
9622 for i, v in ipairs (currencies) do
9623 if v.value == -1 then
9624 break -- no dummy chips spawn
9625 end
9626 if not v.standard then
9627 params.position = {}
9628 params.position.x = posx + offsetx * ((i-1) % 2)
9629 params.position.y = posy
9630 params.position.z = posz + offsetz * math.floor((i-1)/2)
9631 --rPrint(params.position,100,i .. ": ")
9632 params.position[1] = params.position.x
9633 params.position[2] = params.position.y
9634 params.position[3] = params.position.z
9635
9636
9637 params.rotation = v.params.rotation
9638 params.rotation[2] = (params.rotation[2] + 180) % 360
9639 params.scale = v.params.scale
9640 params.params = {v.name}
9641 params.type = 'Custom_Model'
9642 params.callback = ''
9643 params.callback_owner = Global
9644 custom = {}
9645 custom.mesh = v.custom.mesh
9646 custom.diffuse = v.custom.diffuse
9647 custom.type = 7 -- infinite
9648 custom.material = 1
9649
9650 obj = spawnObject(params)
9651 obj.setCustomObject(custom)
9652 obj.setName(v.name)
9653 obj.setDescription("Infinite Money Bag")
9654
9655
9656 -- let chip fall into bag
9657 params.position.y = posy + 3
9658 params.position[2] = posy + 3
9659 custom.type = 5 -- chip
9660 obj = spawnObject(params)
9661 obj.setCustomObject(custom)
9662 obj.setName(v.name)
9663 end
9664 end
9665
9666
9667
9668
9669
9670 optionsCurrencies()
9671end
9672
9673
9674function spawnClock(ob, pl)
9675 if pl then
9676 if not Player[pl].admin then
9677 return 1
9678 end
9679 end
9680
9681 if clock ~= nil and clock ~= null then
9682 if pl then
9683 clock.Clock.setValue(options.clocktime + 1)
9684 clock.Clock.pauseStart()
9685 clock.clearButtons()
9686 end
9687 return 1
9688 end
9689
9690 local params = {}
9691 if actionon then
9692 local playerhand = getPlayerHandPositionAndRotation(actionon)
9693
9694 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 8, 0.5, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 8}
9695 params.rotation = {90, playerhand['rot_y'], 0}
9696 else
9697 params.position = {0, 0.5, -4}
9698 params.rotation = {90, 180, 0}
9699 end
9700
9701 params.type = 'Digital_Clock'
9702 params.callback = 'setClockTimer'
9703 if pl then
9704 params.params = {pl}
9705 else
9706 params.params = nil
9707 end
9708
9709 clock = spawnObject(params)
9710
9711end
9712
9713function setClockTimer(ob, pl)
9714 clock.lock()
9715
9716 if pl then
9717 clock.Clock.setValue(options.clocktime + 1)
9718 else
9719 clock.Clock.setValue(options.autoclocktime + 1)
9720 end
9721
9722 clock.Clock.pauseStart()
9723
9724 if options.autoclock and options.clockpausebutton and not pl then
9725 local button = {}
9726 button.rotation = {90, 180, 0}
9727 button.position = {-0.3, 0.5, -0.15}
9728 button.font_size = 60
9729 button.width = 200
9730 button.height = 50
9731 button.label = 'Pause'
9732 button.click_function = 'pauseClock'
9733 clock.createButton(button)
9734 end
9735 startLuaCoroutine(nil, 'setClockTimerCoroutine')
9736end
9737
9738function setClockTimerCoroutine()
9739
9740 local clockGUID = clock.getGUID()
9741
9742 while clock ~= nil and clock ~= null and clock.Clock.getValue() > 0 do
9743 coroutine.yield(0)
9744 end
9745
9746 local t = os.clock()
9747
9748 while os.clock() < t+1 do
9749 coroutine.yield(0)
9750 end
9751
9752 if clock ~= nil and clock ~= null then
9753 if clockGUID ~= clock.getGUID() then
9754 return 1
9755 end
9756 else
9757 return 1
9758 end
9759
9760 if options.autofold then
9761 foldPlayer()
9762 end
9763
9764 clock.destruct()
9765
9766 return 1
9767end
9768
9769function toggleAutoclock(ob, pl)
9770 if not Player[pl].admin then
9771 return 1
9772 end
9773
9774 options.autoclock = not options.autoclock
9775 optionsHost()
9776end
9777
9778function toggleAutofold(ob, pl)
9779 if not Player[pl].admin then
9780 return 1
9781 end
9782
9783 options.autofold = not options.autofold
9784 optionsHost()
9785end
9786
9787function decreaseAutoclockTime(ob, pl)
9788 if not Player[pl].admin then
9789 return 1
9790 end
9791
9792 if options.autoclocktime > 1 then
9793 options.autoclocktime = options.autoclocktime - 1
9794 end
9795 optionsHost()
9796end
9797
9798function increaseAutoclockTime(ob, pl)
9799 if not Player[pl].admin then
9800 return 1
9801 end
9802
9803 options.autoclocktime = options.autoclocktime + 1
9804 optionsHost()
9805end
9806
9807function toggleAutoclockPauseButton(ob, pl)
9808 if not Player[pl].admin then
9809 return 1
9810 end
9811
9812 options.clockpausebutton = not options.clockpausebutton
9813 optionsHost()
9814end
9815
9816function pauseClock(ob, pl)
9817 if not Player[pl].admin and pl ~= actionon then
9818 return 1
9819 end
9820
9821 clock.Clock.pauseStart()
9822end
9823
9824function decreaseClockTime5(ob, pl)
9825 if not Player[pl].admin then
9826 return 1
9827 end
9828
9829 if options.clocktime > 5 then
9830 options.clocktime = options.clocktime - 5
9831 else
9832 return 1
9833 end
9834
9835 optionsMain()
9836end
9837function decreaseClockTime1(ob, pl)
9838 if not Player[pl].admin then
9839 return 1
9840 end
9841
9842 if options.clocktime > 1 then
9843 options.clocktime = options.clocktime - 1
9844 else
9845 return 1
9846 end
9847
9848 optionsMain()
9849end
9850function increaseClockTime1(ob, pl)
9851 if not Player[pl].admin then
9852 return 1
9853 end
9854
9855 options.clocktime = options.clocktime + 1
9856
9857 optionsMain()
9858end
9859function increaseClockTime5(ob, pl)
9860 if not Player[pl].admin then
9861 return 1
9862 end
9863
9864 options.clocktime = options.clocktime + 5
9865
9866 optionsMain()
9867end
9868
9869function foldPlayer(ob, pl)
9870
9871 if pl then
9872 if not Player[pl].admin then
9873 return 1
9874 end
9875 end
9876
9877 if muck == nil or muck == null then
9878 checkAndRespawnObjects()
9879 --print ('The muck object has been lost. Please click the \'Reset Objects\' button on the options panel to reassign.')
9880 --return 1
9881 end
9882
9883 if actionon then
9884 local cards = Player[actionon].getHandObjects()
9885 local p = muck.getPosition()
9886 local r = muck.getRotation()
9887 p.y = p.y + 0.25
9888 r.x = 180
9889 r.z = 0
9890
9891 for i, v in ipairs (cards) do
9892 v.setRotation(r)
9893 v.setPosition(p)
9894 v.translate({0, 0.1, 0})
9895 p.y = p.y + 0.01
9896 end
9897 end
9898
9899 startLuaCoroutine(nil, 'delayedAction')
9900end
9901
9902function delayedAction()
9903 for i = 1, 2 do
9904 coroutine.yield(0)
9905 end
9906
9907 action()
9908 return 1
9909end
9910
9911function decreaseHybridThreshold1000(ob, pl)
9912 if not Player[pl].admin then
9913 return 1
9914 end
9915
9916 if options.hybridthreshold > 1000 then
9917 options.hybridthreshold = options.hybridthreshold - 1000
9918 end
9919
9920 optionsHost()
9921end
9922
9923function decreaseHybridThreshold100(ob, pl)
9924 if not Player[pl].admin then
9925 return 1
9926 end
9927
9928 if options.hybridthreshold > 100 then
9929 options.hybridthreshold = options.hybridthreshold - 100
9930 end
9931
9932 optionsHost()
9933end
9934
9935function increaseHybridThreshold100(ob, pl)
9936 if not Player[pl].admin then
9937 return 1
9938 end
9939
9940 options.hybridthreshold = options.hybridthreshold + 100
9941
9942 optionsHost()
9943end
9944
9945function increaseHybridThreshold1000(ob, pl)
9946 if not Player[pl].admin then
9947 return 1
9948 end
9949
9950 options.hybridthreshold = options.hybridthreshold + 1000
9951
9952 optionsHost()
9953end
9954
9955
9956function decreaseConvertStackHeight1(ob, pl)
9957 if not Player[pl].admin then
9958 return 1
9959 end
9960
9961 if options.convertstackheight > 1 then
9962 options.convertstackheight = options.convertstackheight - 1
9963 else
9964 options.convertstackheight = 0
9965 end
9966
9967 optionsHost()
9968end
9969
9970function increaseConvertStackHeight1(ob, pl)
9971 if not Player[pl].admin then
9972 return 1
9973 end
9974 options.convertstackheight = options.convertstackheight + 1
9975
9976 if options.convertstackheight >= 10 then
9977 options.convertstackheight = 10
9978 end
9979 optionsHost()
9980end
9981
9982
9983
9984
9985
9986
9987
9988function doNothing()
9989end
9990
9991function changeFontColor(ob, pl)
9992
9993 if not Player[pl].admin then
9994 return 1
9995 end
9996
9997 local color = colorball.getColorTint()
9998 pottext.TextTool.setFontColor(color)
9999 currentbettext.TextTool.setFontColor(color)
10000 muck.setColorTint(color)
10001 boardobject.setColorTint(color)
10002end
10003
10004function changeTableColor(ob, pl)
10005
10006 if not Player[pl].admin then
10007 return 1
10008 end
10009
10010 local color = colorball.getColorTint()
10011 overlay.setColorTint(color)
10012end
10013
10014function setGameModeTexas(ob, pl)
10015
10016 if not Player[pl].admin or options.gamemode == 'texas' then
10017 return 1
10018 end
10019
10020 options.gamemode = 'texas'
10021 printToAll('Game mode set to Texas Hold\'em. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10022
10023 optionsHost()
10024end
10025function setGameModeOmaha(ob, pl)
10026
10027 if not Player[pl].admin or options.gamemode == 'omaha' then
10028 return 1
10029 end
10030
10031 options.gamemode = 'omaha'
10032 printToAll('Game mode set to Omaha Hold\'em. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10033
10034 optionsHost()
10035end
10036function setGameModePineapple(ob, pl)
10037
10038 if not Player[pl].admin or options.gamemode == 'pineapple' then
10039 return 1
10040 end
10041
10042 options.gamemode = 'pineapple'
10043 printToAll('Game mode set to Pineapple. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10044
10045 optionsHost()
10046end
10047function setGameModeFiveCard(ob, pl)
10048
10049 if not Player[pl].admin or options.gamemode == 'fivecard' then
10050 return 1
10051 end
10052
10053 options.gamemode = 'fivedraw'
10054 printToAll('Game mode set to Five Card Draw. See rules in the notebook if you don\'t know how to play.', {1, 1, 1})
10055
10056 optionsHost()
10057end
10058
10059function getParams(obj)
10060 local params = {}
10061 params.position = obj.getPosition()
10062 params.scale = obj.getScale()
10063 params.rotation = obj.getRotation()
10064
10065 return params
10066end
10067
10068function setTheme1(ob, pl)
10069
10070 if not Player[pl].admin then
10071 return 1
10072 end
10073
10074 themeindex = 1
10075 subthemeindex = 1
10076 optionsThemes()
10077end
10078
10079function setTheme2(ob, pl)
10080
10081 if not Player[pl].admin then
10082 return 1
10083 end
10084
10085 themeindex = 2
10086 subthemeindex = 1
10087 optionsThemes()
10088end
10089
10090function setTheme3(ob, pl)
10091
10092 if not Player[pl].admin then
10093 return 1
10094 end
10095
10096 themeindex = 3
10097 subthemeindex = 1
10098 optionsThemes()
10099end
10100
10101function setTheme4(ob, pl)
10102
10103 if not Player[pl].admin then
10104 return 1
10105 end
10106
10107 themeindex = 4
10108 subthemeindex = 1
10109 optionsThemes()
10110end
10111
10112function setTheme5(ob, pl)
10113
10114 if not Player[pl].admin then
10115 return 1
10116 end
10117
10118 themeindex = 5
10119 subthemeindex = 1
10120 optionsThemes()
10121end
10122
10123function setTheme6(ob, pl)
10124
10125 if not Player[pl].admin then
10126 return 1
10127 end
10128
10129 themeindex = 6
10130 subthemeindex = 1
10131 optionsThemes()
10132end
10133
10134function setTheme7(ob, pl)
10135
10136 if not Player[pl].admin then
10137 return 1
10138 end
10139
10140 themeindex = 7
10141 subthemeindex = 1
10142 optionsThemes()
10143end
10144
10145function setTheme8(ob, pl)
10146
10147 if not Player[pl].admin then
10148 return 1
10149 end
10150
10151 themeindex = 8
10152 subthemeindex = 1
10153 optionsThemes()
10154end
10155
10156function setTheme9(ob, pl)
10157
10158 if not Player[pl].admin then
10159 return 1
10160 end
10161
10162 themeindex = 9
10163 subthemeindex = 1
10164 optionsThemes()
10165end
10166
10167function setTheme10(ob, pl)
10168
10169 if not Player[pl].admin then
10170 return 1
10171 end
10172
10173 themeindex = 10
10174 subthemeindex = 1
10175 optionsThemes()
10176end
10177
10178function setTheme11(ob, pl)
10179
10180 if not Player[pl].admin then
10181 return 1
10182 end
10183
10184 themeindex = 11
10185 subthemeindex = 1
10186 optionsThemes()
10187end
10188
10189function setTheme12(ob, pl)
10190
10191 if not Player[pl].admin then
10192 return 1
10193 end
10194
10195 themeindex = 12
10196 subthemeindex = 1
10197 optionsThemes()
10198end
10199
10200function setSubtheme1(ob, pl)
10201
10202 if not Player[pl].admin then
10203 return 1
10204 end
10205
10206 subthemeindex = 1
10207 optionsThemes()
10208end
10209function setSubtheme2(ob, pl)
10210
10211 if not Player[pl].admin then
10212 return 1
10213 end
10214
10215 subthemeindex = 2
10216 optionsThemes()
10217end
10218function setSubtheme3(ob, pl)
10219
10220 if not Player[pl].admin then
10221 return 1
10222 end
10223
10224 subthemeindex = 3
10225 optionsThemes()
10226end
10227function setSubtheme4(ob, pl)
10228
10229 if not Player[pl].admin then
10230 return 1
10231 end
10232
10233 subthemeindex = 4
10234 optionsThemes()
10235end
10236function setSubtheme5(ob, pl)
10237
10238 if not Player[pl].admin then
10239 return 1
10240 end
10241
10242 subthemeindex = 5
10243 optionsThemes()
10244end
10245function setSubtheme6(ob, pl)
10246
10247 if not Player[pl].admin then
10248 return 1
10249 end
10250
10251 subthemeindex = 6
10252 optionsThemes()
10253end
10254function setSubtheme7(ob, pl)
10255
10256 if not Player[pl].admin then
10257 return 1
10258 end
10259
10260 subthemeindex = 7
10261 optionsThemes()
10262end
10263function setSubtheme8(ob, pl)
10264
10265 if not Player[pl].admin then
10266 return 1
10267 end
10268
10269 subthemeindex = 8
10270 optionsThemes()
10271end
10272function setSubtheme9(ob, pl)
10273
10274 if not Player[pl].admin then
10275 return 1
10276 end
10277
10278 subthemeindex = 9
10279 optionsThemes()
10280end
10281function setSubtheme10(ob, pl)
10282
10283 if not Player[pl].admin then
10284 return 1
10285 end
10286
10287 subthemeindex = 10
10288 optionsThemes()
10289end
10290function setSubtheme11(ob, pl)
10291
10292 if not Player[pl].admin then
10293 return 1
10294 end
10295
10296 subthemeindex = 11
10297 optionsThemes()
10298end
10299function setSubtheme12(ob, pl)
10300
10301 if not Player[pl].admin then
10302 return 1
10303 end
10304
10305 subthemeindex = 12
10306 optionsThemes()
10307end
10308
10309function overlay1 (ob, pl)
10310
10311 if not Player[pl].admin then
10312 return 1
10313 end
10314
10315 changeOverlay(themes[themeindex][subthemeindex][1].diffuse)
10316
10317end
10318function overlay2 (ob, pl)
10319
10320 if not Player[pl].admin then
10321 return 1
10322 end
10323
10324 changeOverlay(themes[themeindex][subthemeindex][2].diffuse)
10325
10326end
10327function overlay3 (ob, pl)
10328
10329 if not Player[pl].admin then
10330 return 1
10331 end
10332
10333 changeOverlay(themes[themeindex][subthemeindex][3].diffuse)
10334
10335end
10336function overlay4 (ob, pl)
10337
10338 if not Player[pl].admin then
10339 return 1
10340 end
10341
10342 changeOverlay(themes[themeindex][subthemeindex][4].diffuse)
10343
10344end
10345function overlay5 (ob, pl)
10346
10347 if not Player[pl].admin then
10348 return 1
10349 end
10350
10351 changeOverlay(themes[themeindex][subthemeindex][5].diffuse)
10352
10353end
10354function overlay6 (ob, pl)
10355
10356 if not Player[pl].admin then
10357 return 1
10358 end
10359
10360 changeOverlay(themes[themeindex][subthemeindex][6].diffuse)
10361
10362end
10363function overlay7 (ob, pl)
10364
10365 if not Player[pl].admin then
10366 return 1
10367 end
10368
10369 changeOverlay(themes[themeindex][subthemeindex][7].diffuse)
10370
10371end
10372function overlay8 (ob, pl)
10373
10374 if not Player[pl].admin then
10375 return 1
10376 end
10377
10378 changeOverlay(themes[themeindex][subthemeindex][8].diffuse)
10379
10380end
10381function overlay9 (ob, pl)
10382
10383 if not Player[pl].admin then
10384 return 1
10385 end
10386
10387 changeOverlay(themes[themeindex][subthemeindex][9].diffuse)
10388
10389end
10390function overlay10 (ob, pl)
10391
10392 if not Player[pl].admin then
10393 return 1
10394 end
10395
10396 changeOverlay(themes[themeindex][subthemeindex][10].diffuse)
10397
10398end
10399function overlay11 (ob, pl)
10400
10401 if not Player[pl].admin then
10402 return 1
10403 end
10404
10405 changeOverlay(themes[themeindex][subthemeindex][11].diffuse)
10406
10407end
10408function overlay12 (ob, pl)
10409
10410 if not Player[pl].admin then
10411 return 1
10412 end
10413
10414 changeOverlay(themes[themeindex][subthemeindex][12].diffuse)
10415
10416end
10417
10418function changeOverlay(diffuse)
10419
10420 local custom = overlay.getCustomObject()
10421 custom.diffuse = diffuse
10422
10423 overlay.setCustomObject(custom)
10424 overlay = overlay.reload()
10425 overlay.interactable = false
10426 overlay.setColorTint({1, 1, 1})
10427
10428end
10429
10430--[[ Destroy options panel --]]
10431function destroyOptionsPanel(ob, pl)
10432
10433 if pl and not Player[pl].admin then
10434 return 1
10435 end
10436
10437 optionspanel.clearButtons()
10438 optionspanel.destruct()
10439 optionspanel = nil
10440 if colorball ~= nil and colorball ~= null then
10441 colorball.destruct()
10442 end
10443end
10444
10445function toggleBlindsSkipAFK(ob, pl)
10446
10447 if not Player[pl].admin then
10448 return 1
10449 end
10450
10451 options.blindsskipafk = not options.blindsskipafk
10452
10453 optionsHost()
10454end
10455
10456function darkenOverlay(ob, pl)
10457
10458 if not Player[pl].admin then
10459 return 1
10460 end
10461
10462 local color = overlay.getColorTint()
10463 for i, v in pairs (color) do
10464 if v >= 0.05 then
10465 color[i] = v - 0.05
10466 else
10467 color[i] = 0
10468 end
10469 end
10470
10471 overlay.setColorTint(color)
10472end
10473
10474function lightenOverlay(ob, pl)
10475
10476 if not Player[pl].admin then
10477 return 1
10478 end
10479
10480 local color = overlay.getColorTint()
10481 for i, v in pairs (color) do
10482 if v <= 1.95 then
10483 color[i] = v + 0.05
10484 else
10485 color[i] = 2
10486 end
10487 end
10488
10489 overlay.setColorTint(color)
10490end
10491
10492function changeCollectMethod(ob, pl)
10493 if not Player[pl].admin then
10494 return 1
10495 end
10496
10497 if options.collectmethod == 'move' then
10498 options.collectmethod = 'convert'
10499 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)
10500 elseif options.collectmethod == 'convert' then
10501 options.collectmethod = 'hybrid'
10502 print('Collect method set to: Hybrid. Bets will be converted up once the pot is over $'..options.hybridthreshold..'.')
10503 elseif options.collectmethod == 'hybrid' then
10504 options.collectmethod = 'move'
10505 print('Collect method set to: Move. Bets will be moved into the pot.')
10506 else
10507 options.collectmethod = 'move'
10508 print('Unknown collect method found: Collect method set to: Move. Bets will be moved into the pot.')
10509 end
10510
10511 optionsHost()
10512end
10513
10514function checkAndRespawnObjects(ob, pl)
10515 if pl then
10516 if not Player[pl].admin then
10517 return 1
10518 end
10519 end
10520
10521 sidepotcalculated = false
10522
10523
10524 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'}
10525 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'}
10526 local allobjects = getAllObjects()
10527 local objects = {'muck', 'boardobject', 'potobject', 'overlay'}
10528 local objectnames = {'Muck', 'Board', 'Pot', 'Overlay'}
10529 local objectexists = {false, false, false, false} -- muck, board, pot, overlay
10530 local positions = {{-9.175, 1.35, -1.9}, {0, 1.35, -2}, {0, 1.35, -7.5}, {0, 0.7, 0}}
10531 local custom = {}
10532 local params = {}
10533 local textparams = {}
10534 textparams.type = '3DText'
10535
10536 -- mark unlost objects as existing
10537 for i, v in ipairs (objects) do
10538 if Global.getVar(v) ~= nil and Global.getVar(v) ~= null then
10539 objectexists[i] = true
10540 --print (objectnames[i]..' exists.')
10541 end
10542 end
10543
10544 -- search for objects and reassign any that are found
10545 for i, v in ipairs (allobjects) do
10546 custom = v.getCustomObject()
10547 for j, w in ipairs (meshes) do
10548 if custom.mesh == w then
10549 if not objectexists[j] then
10550 Global.setVar(objects[j] , v)
10551 objectexists[j] = true
10552 print(objectnames[j]..' reassigned.')
10553 end
10554 end
10555 end
10556 end
10557
10558 -- respawn nonexistent objects
10559 for i, v in ipairs (objectexists) do
10560 if not v then
10561 params.type = 'Custom_Model'
10562 params.position = positions[i]
10563 params.rotation = {0, 0, 0}
10564
10565 custom.mesh = meshes[i]
10566 custom.diffuse = diffuses[i]
10567 custom.type = 4
10568
10569 local o = spawnObject(params)
10570 o.setCustomObject(custom)
10571
10572 if i ~= 4 then
10573 o.setLuaScript(scripts[i])
10574 else
10575 o.lock()
10576 o.interactable = false
10577 o.setName('Table Overlay')
10578 end
10579
10580 Global.setVar(objects[i], o)
10581
10582 print (objectnames[i]..' respawned.')
10583 end
10584 end
10585 local actionscript = "blubb"
10586
10587 --[[ Check and respawn texts --]]
10588 if actiontext == nil or actiontext == null then
10589 textparams.position = {0, 0, 0}
10590 textparams.rotation = {0, 0, 0}
10591 actiontext = spawnObject(textparams)
10592 actiontext.TextTool.setValue('Action')
10593 actiontext.TextTool.setFontSize(68)
10594 actiontext.setLuaScript(scripts[4])
10595 end
10596 if pottext == nil or pottext == null then
10597 textparams.position = {0, 1.33, 0}
10598 textparams.callback = 'spawnTextCallback'
10599 pottext = spawnObject(textparams)
10600 pottext.TextTool.setFontSize(64)
10601 end
10602 if currentbettext == nil or currentbettext == null then
10603 textparams.position = {0, 1.33, 1}
10604 textparams.callback = 'spawnTextCallback'
10605 currentbettext = spawnObject(textparams)
10606 currentbettext.TextTool.setFontSize(64)
10607 end
10608 for i, v in ipairs(colors) do
10609 if bettext[v] == nil or bettext[v] == null then
10610 local playerhand = Player[v].getHandTransform(1)
10611 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}
10612 textparams.callback = 'spawnTextCallback'
10613 bettext[v] = spawnObject(textparams)
10614 bettext[v].TextTool.setFontSize(64)
10615 bettext[v].TextTool.setFontColor(fontcolors[v])
10616 end
10617 if sidepottext[v] == nil or sidepottext[v] == null then
10618
10619 local playerhand = Player[v].getHandTransform(1)
10620 textparams.position = {playerhand.position.x + playerhand.forward.x * 10.8, 1.33, playerhand.position.z + playerhand.forward.z * 10.8}
10621 textparams.callback = 'spawnTextCallback'
10622 sidepottext[v] = spawnObject(textparams)
10623 sidepottext[v].TextTool.setFontSize(64)
10624 sidepottext[v].TextTool.setFontColor(fontcolors[v])
10625 sidepottext[v].setValue("spawned")
10626 end
10627 if tablezonetext[v] == nil or tablezonetext[v] == null then
10628 local chips = {}
10629 local playerhand = Player[v].getHandTransform(1)
10630 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}
10631 textparams.callback = 'spawnTextCallback'
10632 tablezonetext[v] = spawnObject(textparams)
10633 tablezonetext[v].TextTool.setFontSize(64)
10634 tablezonetext[v].TextTool.setFontColor({1,1,1}) -- Black
10635
10636 if options.displayplayermoney then
10637 money = getChipValues(tablezones[v],chips)
10638 tablezonetext[v].setValue("$" .. money)
10639 else
10640 tablezonetext[v].setValue(" ")
10641 end
10642
10643 end
10644
10645 end
10646
10647end
10648
10649function spawnTextCallback()
10650 check = true
10651 if not (pottext == nil or pottext == null) then
10652 pottext.setRotation({90, 180, 0})
10653 else
10654 check = false
10655 end
10656 if not (currentbettext == nil or currentbettext == null) then
10657 currentbettext.setRotation({90, 180, 0})
10658 else
10659 check = false
10660 end
10661 for i, v in ipairs(colors) do
10662 local playerhand = getPlayerHandPositionAndRotation(v)
10663 if not (bettext[v] == nil or bettext[v] == null) then
10664 bettext[v].setRotation({90, playerhand['rot_y'], 0})
10665 else
10666 check = false
10667 end
10668 if not (sidepottext[v] == nil or sidepottext[v] == null or type(sidepottext[v]) == "string") then
10669 sidepottext[v].setRotation({90, playerhand['rot_y'], 0})
10670 else
10671 check = false
10672 end
10673 if not (tablezonetext[v] == nil or tablezonetext[v] == null) then
10674 tablezonetext[v].setRotation({90, playerhand['rot_y'], 0})
10675 else
10676 check = false
10677 end
10678 end
10679 if check then
10680 calculatePots()
10681 end
10682end
10683
10684function togglePlayerClickAction(ob, pl)
10685 if not Player[pl].admin then
10686 return 1
10687 end
10688
10689 if options.playerclickaction then
10690 options.playerclickaction = false
10691 print ('The Action button will now remain in a static position for the host to click.')
10692
10693 local buttons = actionbutton.getButtons()
10694
10695 buttons[1].label = 'Action'
10696
10697 actionbutton.editButton(buttons[1])
10698 else
10699 options.playerclickaction = true
10700 print ('The action button will now be moved in front of the player whose turn it is to act.')
10701
10702 local buttons = actionbutton.getButtons()
10703
10704 buttons[1].label = 'Done'
10705
10706 actionbutton.editButton(buttons[1])
10707 end
10708
10709 optionsHost()
10710end
10711
10712function toggleEnforcePotLimit(ob, pl)
10713 if not Player[pl].admin then
10714 return 1
10715 end
10716
10717 options.enforcepotlimit = not options.enforcepotlimit
10718
10719 optionsHost()
10720end
10721
10722function toggleEnforceFoldInTurn(ob, pl)
10723 if not Player[pl].admin then
10724 return 1
10725 end
10726
10727 options.enforcefoldinturn = not options.enforcefoldinturn
10728
10729 optionsHost()
10730end
10731
10732function toggleEnforceDoubleRaise(ob, pl)
10733 if not Player[pl].admin then
10734 return 1
10735 end
10736
10737 options.enforcedoubleraise = not options.enforcedoubleraise
10738
10739 optionsHost()
10740end
10741
10742function toggleActionMessage(ob, pl)
10743 if not Player[pl].admin then
10744 return 1
10745 end
10746
10747 options.chatoptions.actionmessage = not options.chatoptions.actionmessage
10748
10749 optionsChat()
10750end
10751
10752function toggleActionBroadcast(ob, pl)
10753 if not Player[pl].admin then
10754 return 1
10755 end
10756
10757 options.chatoptions.actionbroadcast = not options.chatoptions.actionbroadcast
10758
10759 optionsChat()
10760end
10761
10762function toggleStageBroadcast(ob, pl)
10763 if not Player[pl].admin then
10764 return 1
10765 end
10766
10767 options.chatoptions.stage = not options.chatoptions.stage
10768
10769 optionsChat()
10770end
10771
10772function toggleCurrentBetMessage(ob, pl)
10773 if not Player[pl].admin then
10774 return 1
10775 end
10776
10777 options.chatoptions.currentbetmessage = not options.chatoptions.currentbetmessage
10778
10779 optionsChat()
10780end
10781
10782function toggleBetter(ob, pl)
10783 if not Player[pl].admin then
10784 return 1
10785 end
10786
10787 options.chatoptions.better = not options.chatoptions.better
10788
10789 optionsChat()
10790end
10791
10792function toggleAllinBroadcast(ob, pl)
10793 if not Player[pl].admin then
10794 return 1
10795 end
10796
10797 options.chatoptions.allinbroadcast = not options.chatoptions.allinbroadcast
10798
10799 optionsChat()
10800end
10801
10802function togglePotMessage(ob, pl)
10803 if not Player[pl].admin then
10804 return 1
10805 end
10806
10807 if options.chatoptions.potmessage >= 2 then
10808 options.chatoptions.potmessage = 0
10809 else
10810 options.chatoptions.potmessage = options.chatoptions.potmessage + 1
10811 end
10812
10813 optionsChat()
10814end
10815
10816function printMessages()
10817
10818 local p = ''
10819
10820 for i, v in ipairs(colors) do
10821 if string.find(printstring, v) then
10822 p = v
10823 break
10824 end
10825 end
10826
10827 if string.find(printstring, 'bet') or string.find(printstring, 'raise') then
10828 if options.chatoptions.currentbetmessage then
10829 local s = 'Current bet: $'..currentbet
10830 if options.chatoptions.better then
10831 if string.find(printstring, 'bet') then
10832 if Player[p].steam_name then
10833 s = s..', made by '..fontcolors[p].bbcode..Player[p].steam_name..'[ffffff].'
10834 else
10835 s = s..', made by '..fontcolors[p].bbcode..p..'[ffffff].'
10836 end
10837 else
10838 if Player[p].steam_name then
10839 s = s..', raised by '..fontcolors[p].bbcode..Player[p].steam_name..'[ffffff].'
10840 else
10841 s = s..', raised by '..fontcolors[p].bbcode..p..'[ffffff].'
10842 end
10843 end
10844 else
10845 s = s..'.'
10846 end
10847
10848 printToAll(s, {1, 1, 1})
10849 end
10850 end
10851
10852
10853 if options.chatoptions.allinbroadcast and string.find(printstring, 'allin') then
10854 if string.find(printstring, p) then
10855 if Player[p].steam_name then
10856 broadcastToAll (fontcolors[p].bbcode..Player[p].steam_name..'[ffffff] is all in!', {1, 1, 1})
10857 else
10858 broadcastToAll (fontcolors[p].bbcode..p..'[ffffff] is all in!.', {1, 1, 1})
10859 end
10860 end
10861 end
10862
10863 if string.find(printstring, 'action') and actionon then
10864
10865 if options.chatoptions.actionmessage then
10866 if Player[actionon].steam_name then
10867 printToAll ("Action on "..fontcolors[actionon].bbcode..Player[actionon].steam_name..'[ffffff].', {1, 1, 1})
10868 else
10869 printToAll ("Action on "..fontcolors[actionon].bbcode..actionon..'[ffffff].', {1, 1, 1})
10870 end
10871 end
10872
10873 if options.chatoptions.actionbroadcast and Player[actionon].seated then
10874 broadcastToColor("Action on you!", actionon, {1, 0, 0})
10875 end
10876 end
10877
10878 if options.chatoptions.potmessage > 0 then
10879 if (options.chatoptions.potmessage >= 1 and string.find(printstring, 'collect')) or (options.chatoptions.potmessage > 1 and string.find(printstring, 'pot')) then
10880 printToAll('Pot: $'..pot..'.', {1, 1, 1})
10881 end
10882 end
10883
10884 printstring = ''
10885end
10886
10887function onObjectDropped(player, object)
10888 if handinprogress and object.tag == 'Card' then
10889
10890 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
10891 for i, v in ipairs (colors) do
10892 for j, w in ipairs (Player[v].getHandObjects()) do
10893 if w == object then return 0 end -- they dropped it into their hand, so abort function
10894 end
10895 end
10896 local r = object.getRotation()
10897 if (r.x < 80 or r.x > 280) and (r.z < 80 or r.z > 280) then -- it's face-up
10898 for i, v in ipairs (holecards[player]) do
10899 if v == object.getGUID() then
10900 table.insert(revealedcards[player], table.remove(holecards[player], i))
10901 break
10902 end
10903 end
10904 if #holecards[player] == 0 then
10905 handsshown[player] = true
10906 evaluateHand(player)
10907 end
10908 end
10909 end
10910
10911 if isCurrency(object) then
10912 for i, v in ipairs (colors) do
10913 local chips = {}
10914 local value = "$" .. getChipValues(tablezones[v],chips)
10915
10916
10917 if options.displayplayermoney then
10918 tablezonetext[v].setValue(value)
10919 end
10920 for j, w in ipairs (chips) do
10921 if w == object then
10922 object.setColorTint(chiptints[v])
10923 return 1
10924 end
10925 end
10926 for j, w in ipairs (backtablezones[v].getObjects()) do
10927 if w == object then
10928 object.setColorTint(chiptints[v])
10929 return 1
10930 end
10931 end
10932 for j, w in ipairs (betzones[v].getObjects()) do
10933 if w == object then
10934 object.setColorTint(chiptints[v])
10935 return 1
10936 end
10937 end
10938 end
10939 object.setColorTint({1, 1, 1})
10940 end
10941end
10942
10943function onObjectSpawn(object)
10944 if isCurrency(object) then
10945 for i, v in ipairs (colors) do
10946 for j, w in ipairs (tablezones[v].getObjects()) do
10947 if w == object then
10948 object.setColorTint(chiptints[v])
10949 return 1
10950 end
10951 end
10952 for j, w in ipairs (backtablezones[v].getObjects()) do
10953 if w == object then
10954 object.setColorTint(chiptints[v])
10955 return 1
10956 end
10957 end
10958 for j, w in ipairs (betzones[v].getObjects()) do
10959 if w == object then
10960 object.setColorTint(chiptints[v])
10961 return 1
10962 end
10963 end
10964 end
10965 object.setColorTint({1, 1, 1})
10966 end
10967end
10968
10969function isCurrency(object)
10970 if object.tag == 'Chip' then
10971 if object.getValue() then
10972 return true
10973 elseif currencyToNumber(object.getName()) ~= nil then
10974 if currencyToNumber(object.getName()) > 0 then
10975 return true
10976 end
10977 else
10978 return false
10979 end
10980 end
10981end
10982function getPlayersHoleCards()
10983 for i, v in ipairs (players) do
10984 for j, w in ipairs (Player[v].getHandObjects()) do
10985 table.insert(holecards[v], w.getGUID())
10986 end
10987 end
10988end
10989
10990function evaluateHand(player)
10991
10992 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.
10993
10994 local sevencards = getSevenCards(player)
10995
10996 if not sevencards then return 0 end
10997
10998 local cards = {['Spades'] = {}, ['Hearts'] = {}, ['Clubs'] = {}, ['Diamonds'] = {}}
10999 local suits = {'Spades', 'Hearts', 'Clubs', 'Diamonds'}
11000 local ranks = {'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King','Ace'}
11001 local handranks = {'Royal Flush', 'Straight Flush', 'Four of a Kind', 'Full House', 'Flush', 'Straight', 'Three of a Kind', 'Two Pairs', 'One Pair', 'High Card'}
11002
11003 -- Populate cards table
11004 for i, v in ipairs (sevencards) do
11005 for j, w in ipairs (ranks) do
11006 if getConvertedName(v.getName()) == w then
11007 table.insert(cards[v.getDescription()], nameToValue(w))
11008 break
11009 end
11010 end
11011 end
11012
11013 -- Sort tables
11014 for i, v in ipairs (suits) do
11015 table.sort(cards[v])
11016 end
11017
11018 -- Check for each type of hand until a hand is found
11019
11020 -- Royal flush
11021
11022 local flushexists = false
11023 local flushsuit = ''
11024
11025 for i, v in ipairs (suits) do
11026 if #cards[v] >= 5 then -- a flush exists at least
11027 flushexists = true
11028 flushsuit = v
11029 local value = 0
11030 for j = 1, 5 do
11031 value = value + cards[v][#cards[v] - (j-1)]
11032 end
11033 if value == 60 then -- it's a royal flush!
11034 broadcastToAll(player..' shows a '..flushsuit..' Royal Flush!', {0, 1, 0})
11035 return 0
11036 end
11037 end
11038 end
11039
11040 -- Straight Flush
11041
11042 if flushexists then
11043 local consecutives = 0
11044 local highcard = 0
11045 local lowconsecutives = false
11046 local ace = false
11047 for i, v in ipairs (cards[flushsuit]) do
11048 if i == 1 then
11049 consecutives = 1
11050 else
11051 if v == (cards[flushsuit][i - 1] + 1) then
11052 consecutives = consecutives + 1
11053 if consecutives >= 5 then
11054 highcard = v
11055 elseif consecutives == 4 and v == 5 then
11056 lowconsecutives = true
11057 end
11058 else
11059 consecutives = 1
11060 end
11061 if v == 14 then
11062 ace = true
11063 end
11064 end
11065 end
11066
11067 -- check for straight flush to the 5
11068 if highcard == 0 and ace and lowconsecutives then highcard = 5 end
11069
11070 if highcard > 0 then
11071 broadcastToAll (fontcolors[player].bbcode..player..' shows a '..flushsuit..' Straight Flush to the '..valueToName(highcard), {1, 1, 1})
11072 return 0
11073 end
11074 end
11075
11076 -- Create list of all cards based on rank to use in finding pairs, etc.
11077
11078 local cards2 = {}
11079
11080 for i, v in ipairs (suits) do
11081 for j, w in ipairs (cards[v]) do
11082 table.insert(cards2, w)
11083 end
11084 end
11085
11086 table.sort(cards2)
11087
11088 local quantities = {}
11089
11090 for i, v in ipairs (cards2) do
11091 if not quantities[valueToName(v)] then
11092 quantities[valueToName(v)] = 1
11093 else
11094 quantities[valueToName(v)] = quantities[valueToName(v)] + 1
11095 end
11096 end
11097
11098 local quads = {}
11099 local trips = {}
11100 local pairs = {}
11101 local singles = {}
11102 for i, v in ipairs (ranks) do
11103 if quantities[v] == 4 then table.insert(quads, v) end
11104 if quantities[v] == 3 then table.insert(trips, v) end
11105 if quantities[v] == 2 then table.insert(pairs, v) end
11106 if quantities[v] == 1 then table.insert(singles, v) end
11107 end
11108
11109 -- Check for quads
11110 if #quads > 0 then
11111 broadcastToAll(fontcolors[player].bbcode..player..' shows Four of a Kind: '..quads[#quads]..'s!', {1, 1, 1})
11112 return 0
11113 end
11114
11115 -- Check for full house
11116 if #trips > 0 and #trips + #pairs >= 2 then
11117 if #pairs > 0 then
11118 printToAll (fontcolors[player].bbcode..player..' shows a Full House: '..trips[#trips]..'s full of '..pairs[#pairs]..'s!', {1, 1, 1})
11119 else
11120 printToAll (fontcolors[player].bbcode..player..' shows a Full House: '..trips[#trips]..'s full of '..trips[#trips-1]..'s!', {1, 1, 1})
11121 end
11122 return 0
11123 end
11124
11125 -- Flush
11126 if flushexists then
11127 printToAll (fontcolors[player].bbcode..player..' shows a '..flushsuit..' Flush, '..valueToName(cards[flushsuit][#cards[flushsuit]])..' high!', {1, 1, 1})
11128 return 0
11129 end
11130
11131 -- Check for Straight
11132 local consecutives = 0
11133 local highcard = 0
11134 local lowconsecutives = false
11135 local ace = false
11136 for i, v in ipairs (cards2) do
11137 if i == 1 then
11138 consecutives = 1
11139 else
11140 if v == (cards2[i-1] + 1) then
11141 consecutives = consecutives + 1
11142 if consecutives >= 5 then
11143 highcard = v
11144 elseif consecutives == 4 and v == 5 then
11145 lowconsecutives = true
11146 end
11147 elseif v ~= cards2[i-1] then
11148 consecutives = 1
11149 end
11150 if v == 14 then
11151 ace = true
11152 end
11153 end
11154 end
11155
11156 -- check for straight flush to the 5
11157 if highcard == 0 and ace and lowconsecutives then highcard = 5 end
11158
11159 if highcard > 0 then
11160 printToAll (fontcolors[player].bbcode..player..' shows a Straight to the '..valueToName(highcard)..'!', {1, 1, 1})
11161 return 0
11162 end
11163
11164 -- Check for trips
11165 if #trips > 0 then
11166 printToAll (fontcolors[player].bbcode..player..' shows Three of a Kind: '..trips[#trips]..'s.', {1, 1, 1})
11167 return 0
11168 end
11169
11170 -- Check for two pair
11171 if #pairs >= 2 then
11172 printToAll (fontcolors[player].bbcode..player..' shows Two Pair: '..pairs[#pairs]..'s and '..pairs[#pairs-1]..'s.', {1, 1, 1})
11173 return 0
11174 end
11175
11176 -- Check for one pair
11177 if #pairs == 1 then
11178 printToAll (fontcolors[player].bbcode..player..' shows One Pair: '..pairs[#pairs]..'s.', {1, 1, 1})
11179 return 0
11180 end
11181
11182 -- High card
11183 printToAll (fontcolors[player].bbcode..player..' shows '..singles[#singles]..' High.', {1, 1, 1})
11184
11185end
11186
11187function getSevenCards(player)
11188 local sevencards = {}
11189
11190 for i, v in ipairs (boardzone.getObjects()) do
11191 if v.tag == 'Card' then
11192 if v.getName() == '' or v.getDescription() == '' then return nil end
11193 sevencards[#sevencards + 1] = v
11194 end
11195 end
11196 for i, v in ipairs (revealedcards[player]) do
11197 local card = getObjectFromGUID(v)
11198 if card.tag == 'Card' then
11199 if card.getName() == '' or card.getDescription() == '' then return nil end
11200 sevencards[#sevencards + 1] = card
11201 end
11202 end
11203
11204 return sevencards
11205end
11206
11207function getConvertedName(name)
11208 if name == '2' then return 'Two' end
11209 if name == '3' then return 'Three' end
11210 if name == '4' then return 'Four' end
11211 if name == '5' then return 'Five' end
11212 if name == '6' then return 'Six' end
11213 if name == '7' then return 'Seven' end
11214 if name == '8' then return 'Eight' end
11215 if name == '9' then return 'Nine' end
11216 if name == '10' then return 'Ten' end
11217 return name
11218end
11219
11220function nameToValue(name)
11221 if name == 'Two' then return 2 end
11222 if name == 'Three' then return 3 end
11223 if name == 'Four' then return 4 end
11224 if name == 'Five' then return 5 end
11225 if name == 'Six' then return 6 end
11226 if name == 'Seven' then return 7 end
11227 if name == 'Eight' then return 8 end
11228 if name == 'Nine' then return 9 end
11229 if name == 'Ten' then return 10 end
11230 if name == 'Jack' then return 11 end
11231 if name == 'Queen' then return 12 end
11232 if name == 'King' then return 13 end
11233 if name == 'Ace' then return 14 end
11234end
11235
11236function valueToName(value)
11237 if value == 2 then return 'Two' end
11238 if value == 3 then return 'Three' end
11239 if value == 4 then return 'Four' end
11240 if value == 5 then return 'Five' end
11241 if value == 6 then return 'Six' end
11242 if value == 7 then return 'Seven' end
11243 if value == 8 then return 'Eight' end
11244 if value == 9 then return 'Nine' end
11245 if value == 10 then return 'Ten' end
11246 if value == 11 then return 'Jack' end
11247 if value == 12 then return 'Queen' end
11248 if value == 13 then return 'King' end
11249 if value == 14 then return 'Ace' end
11250end
11251
11252function onObjectPickedUp(player, object)
11253
11254 if Player[player].admin then return 0 end
11255
11256 local r = object.getPosition()
11257 local description = ''
11258
11259 if object.getName() ~= '' then
11260 description = object.getName()
11261 elseif object.getValue() then
11262 description = object.getValue()
11263 else
11264 description = object.tag
11265 end
11266
11267 --[[ Check if the object is inside the dealer's area --]]
11268 if r.x < 8.5 and r.x > -8.5 and r.z < -16.5 and r.z > -52 then
11269 object.translate({0, 1, 0})
11270 print (player..' has attempted to pick up an object ('..description..') in the dealer\'s area.')
11271 return 0
11272 end
11273
11274 --[[ Check if the object is on another player's table or bet zone, and not in player's own table or betzone --]]
11275
11276 if not objectExistsInList(tablezones[player].getObjects(), object) and not objectExistsInList(betzones[player].getObjects(), object) then
11277 for i, v in ipairs (colors) do
11278 if v ~= player then
11279 if objectExistsInList(tablezones[v].getObjects(), object) or objectExistsInList(betzones[v].getObjects(), object) or objectExistsInList(backtablezones[v].getObjects(), object) then
11280 object.translate({0, 1, 0})
11281 print (player..' has attempted to pick up an object ('..description..') on player '..v..'\'s table or bet square.')
11282 return 0
11283 end
11284 end
11285 end
11286 end
11287
11288 --[[ If the object is a card and not in the player's own hand, then drop it. Only works with named cards. --]]
11289
11290 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}
11291 if object.tag == 'Card' and ranks[getConvertedName(object.getName())] then
11292 for i, v in ipairs (Player[player].getHandObjects()) do
11293 if object == v then return 0 end
11294 end
11295 for i, v in ipairs (holecards[player]) do
11296 if object.getGUID() == v then return 0 end
11297 end
11298 for i, v in ipairs (revealedcards[player]) do
11299 if object.getGUID() == v then return 0 end
11300 end
11301 object.translate({0, 1, 0})
11302 print (player..' has attempted to pick up a card that does not belong to them.')
11303 end
11304end
11305
11306function initializePot()
11307 local p = {}
11308 p = stacklayout[options.stacklayout]
11309
11310 -- reset height
11311 for i, v in pairs (p) do
11312 v.height = 0
11313 v.x = 0
11314 v.y = 0
11315 v.z = 0
11316 end
11317 return p
11318end
11319
11320function createSidepot(ob, pl)
11321 createSidepotPl = pl
11322 createSidepotOb = ob
11323 startLuaCoroutine(nil, "coCreateSidepot")
11324end
11325
11326function coCreateSidepot()
11327
11328 pl = createSidepotPl
11329 ob = createSidepotOb
11330
11331 if sidepotfailcount > sidepotfailcountlimit then
11332 convertfailcount = 0
11333 print("Error in Sidepotcreations, chips were moved");
11334 return 1
11335 end
11336
11337 if pl then
11338 if not Player[pl].admin then
11339 return 1
11340 end
11341 end
11342 -- cant build sidepots twice
11343 if sidepotcalculated then
11344 return 1
11345 end
11346
11347 local chips1 = {}
11348 local positions1 = {}
11349 local rotations1 = {}
11350 for i, v in pairs (betzones) do
11351 objects = {}
11352 objects = v.getObjects()
11353 for j, w in ipairs (objects) do
11354 if w.tag == 'Chip' then
11355 if w.getValue() or currencyToNumber(w.getName()) != nil then
11356 chips1[#chips1 + 1] = w
11357 end
11358 end
11359 end
11360 end
11361 for i, v in ipairs (chips1) do
11362 positions1[#positions1 + 1] = v.getPosition()
11363 rotations1[#rotations1 + 1] = v.getRotation()
11364 end
11365 for i = 1, 2 do
11366 coroutine.yield(0)
11367 end
11368 local chips2 = {}
11369 local playerbets = {}
11370 local positions2 = {}
11371 local rotations2 = {}
11372 for i, v in ipairs (colors) do
11373 playerbets[i] = { getChipValues(betzones[v], chips2), betzones[v], v, 0}
11374 end
11375 for i, v in ipairs (chips2) do
11376 positions2[#positions2 + 1] = v.getPosition()
11377 rotations2[#rotations2 + 1] = v.getRotation()
11378 end
11379 --[[ Check chip positions --]]
11380 for i, v in ipairs(positions1) do
11381 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
11382 sidepotfailcount = sidepotfailcount + 1
11383 --startLuaCoroutine(nil, 'convertBetsToPot')
11384 print("error in convert")
11385
11386 return 1
11387 end
11388 end
11389 table.sort(playerbets,compare)
11390 for i, v in ipairs (playerbets) do
11391 if i == #playerbets then
11392 v[4] = v[1] * i
11393 else
11394 v[4] = ( v[1]-playerbets[i+1][1]) * i
11395 end
11396 end
11397 for i, v in ipairs (chips2) do
11398 v.destruct()
11399 end
11400
11401 if clock ~= nil then
11402 clock.destruct()
11403 end
11404
11405 local spawnedcolors = {}
11406 local params = {}
11407 params.type = "backgammon_piece_white"
11408 params.position = {5, 2, 1}
11409 params.rotation = {0, 180, 0}
11410 params.scale = {0.4, 0.2, 0.4}
11411
11412 for i, v in ipairs (playerbets) do
11413 if v[1] > 0 then
11414 bettext[v[3]].setValue("Bet: $" .. tostring(v[1]))
11415 sidepottext[v[3]].setValue("Sidepot: $" .. tostring(v[4]))
11416 local p = {}
11417 local r = {}
11418 p = v[2].getPosition()
11419 r = v[2].getRotation()
11420 r.y = (r.y + 180) % 360
11421 spawnChips(v[4], p, r)
11422 local zoffset = -3
11423 local xoffset = -3
11424 p.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11425 p.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11426 local zoffset = 0
11427 local xoffset = 0.5
11428 spawnedcolors[#spawnedcolors + 1] = v[3]
11429 for k, w in ipairs(spawnedcolors) do
11430
11431 p.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11432 p.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11433 params.position = p
11434 ob = spawnObject(params)
11435 ob.setColorTint(fontcolors[w])
11436 ob.setName("Sidepotmarker")
11437 end
11438
11439 end
11440 end
11441
11442
11443
11444
11445
11446
11447 for j, v in ipairs (playerbets) do
11448
11449
11450 end
11451 sidepotcalculated = true
11452 return 1
11453end
11454
11455
11456-- chips should correspond to the chipstable, position, rotation is where the chips should move to
11457function moveChips(chips, p, r)
11458 local chipstack = initializePot()
11459 local h = {}
11460 local chips2 = {}
11461 for i, v in pairs (chipstack) do
11462 chips2[i] = {}
11463 h[i] = {}
11464 end
11465 for i, v in pairs(chipstack) do
11466 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
11467 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
11468 v.y = p.y + v.yoffset + v.height
11469 end
11470
11471 -- move also chips within the potzone
11472 for j, w in ipairs (chips) do
11473 if w.tag == "Chip" and not w.held_by_color then
11474 local hit = false
11475 for k, x in pairs (currencies) do
11476 local stack
11477 if h[x.stack] == nil then
11478 stack = "misc"
11479 else
11480 stack = x.stack
11481 end
11482 if w.getValue() == x.value or w.getName() == x.name then
11483 hit = true
11484 chips2[stack][#chips2[stack] + 1] = w
11485 if w.getQuantity() > 0 then
11486 h[stack][#h[stack] + 1] = w.getQuantity() * x.height
11487 else
11488 h[stack][#h[stack] + 1] = x.height
11489 end
11490 break -- next object
11491 end
11492 end
11493 -- unknown chips
11494 if not hit then
11495
11496 local x = currencies[#currencies] -- should be dummy value
11497 local stack = "misc"
11498 chips2[stack][#chips2[stack] + 1] = w
11499 if w.getQuantity() > 0 then
11500 h[stack][#h[stack] + 1] = w.getQuantity() * x.height
11501 else
11502 h[stack][#h[stack] + 1] = x.height
11503 end
11504 end
11505 end
11506 end
11507
11508 for i, v in pairs (chips2) do
11509 for j, w in ipairs (v) do
11510
11511 local rot = {0,0,0}
11512 for k, x in pairs (currencies) do
11513 if (w.getValue() == x.value) or (w.getName() == x.name) then
11514 rot.x = (r.x + x.params.rotation[1]) % 360
11515 rot.y = (r.y + x.params.rotation[2]) % 360
11516 rot.z = (r.z + x.params.rotation[3]) % 360
11517 rot[1] = rot.x
11518 rot[2] = rot.y
11519 rot[3] = rot.z
11520 end
11521 end
11522 w.setRotation(rot)
11523 w.setPosition(chipstack[i])
11524 w.translate({0, 0.1, 0})
11525 chipstack[i].y = chipstack[i].y + h[i][j]
11526 chipstack[i].height = chipstack[i].height + h[i][j]
11527 end
11528 end
11529
11530
11531 return 1
11532end
11533
11534-- spawnChips(money, position, rotation)
11535function spawnChips(money, p, r, minheight)
11536 if minheight == nil or minheight==null then
11537 minheight = 0
11538 end
11539 money = money + 0.001 -- prevents rounding error
11540 money = comma_value(money) + 0
11541
11542 local chipstack = {}
11543
11544 local params = {}
11545 local custom = {}
11546
11547 -- prevent spawning to much Chips
11548 if money > currencies[1].value * 50 then
11549
11550
11551 money = math.floor(money)
11552 params.position = p
11553 params.rotation = r
11554 params.scale = {1.12,1.12,1.12}
11555 params.params = {"$" .. string.format("%.0f", money) }
11556 params.type = 'Custom_Model'
11557 params.callback = nil
11558 custom.mesh = "http://cloud-3.steamusercontent.com/ugc/841461304086373873/9925B4E8ECFC5BBB13AB9FD1BB93E768C2DD3151/"
11559 custom.diffuse = "http://cloud-3.steamusercontent.com/ugc/841461304094020976/22277301EF8ACDDD4649BD6F382CF950967A8D50/"
11560
11561 custom.type = 5
11562 custom.material = 1
11563
11564 local obj = spawnObject(params)
11565 obj.setCustomObject(custom)
11566 obj.setName("$" .. comma_value(money) )
11567 printToAll('Conversion Limit reached, alternate Bar with the money value spawned', {1, 1, 0})
11568 return 1
11569 end
11570
11571
11572
11573 chipstack = initializePot()
11574
11575
11576 for i, v in pairs(chipstack) do
11577 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
11578 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
11579 v.y = p.y + v.yoffset + v.height
11580 end
11581
11582 params.rotation = r
11583 params.callback_owner = Global
11584
11585 local i = #currencies
11586 while i>0 do
11587
11588
11589 v = currencies[i]
11590 if not (v.value == -1) then
11591 params.rotation = v.params.rotation
11592 params.scale = v.params.scale
11593 params.params = {v.name}
11594 local rot = {}
11595 rot.x = (r.x + v.params.rotation[1]) % 360
11596 rot.y = (r.y + v.params.rotation[2]) % 360
11597 rot.z = (r.z + v.params.rotation[3]) % 360
11598 rot[1] = rot.x
11599 rot[2] = rot.y
11600 rot[3] = rot.z
11601 params.rotation = rot
11602 local stack = ''
11603 if chipstack[v.stack] == nil then
11604 stack = "misc"
11605 else
11606 stack = v.stack
11607 end
11608 if not v.standard then
11609
11610 params.type = 'Custom_Model'
11611 params.callback_owner = Global
11612 custom.mesh = v.custom.mesh
11613 custom.diffuse = v.custom.diffuse
11614 custom.type = 5
11615 custom.material = 1
11616
11617
11618 local j=0
11619 while (j<minheight) and (money >= v.value) do
11620 params.position = {}
11621 params.position.x = chipstack[stack].x
11622 params.position.y = chipstack[stack].y + chipstack[stack].height
11623 params.position.z = chipstack[stack].z
11624 local obj = spawnObject(params)
11625 obj.setCustomObject(custom)
11626 obj.setName(v.name)
11627 money = money - v.value
11628 chipstack[stack].height = chipstack[stack].height + v.height
11629 j=j+1
11630 end
11631 else
11632 params.type = 'Chip_'.. v.value
11633 params.callback = nil
11634 params.callback_owner = Global
11635 params.params = nil
11636 local j=0
11637 while (j<minheight) and (money >= v.value) do
11638 params.position = {}
11639 params.position.x = chipstack[stack].x
11640 params.position.y = chipstack[stack].y + chipstack[stack].height
11641 params.position.z = chipstack[stack].z
11642 spawnObject(params)
11643 money = money - v.value
11644 chipstack[stack].height = chipstack[stack].height + v.height
11645 j=j+1
11646 end
11647 end
11648 end
11649 i = i - 1
11650 end
11651
11652
11653 for i, v in ipairs (currencies) do
11654
11655 if v.value == -1 then
11656 break -- no dummy chips spawn
11657 end
11658 params.rotation = v.params.rotation
11659 params.scale = v.params.scale
11660 params.params = {v.name}
11661 if chipstack[v.stack] == nil then
11662 stack = "misc"
11663 else
11664 stack = v.stack
11665 end
11666
11667 if not v.standard then
11668 params.type = 'Custom_Model'
11669 params.callback_owner = Global
11670 custom.mesh = v.custom.mesh
11671 custom.diffuse = v.custom.diffuse
11672 custom.type = 5
11673 custom.material = 1
11674 local rot = {}
11675 rot.x = (r.x + v.params.rotation[1]) % 360
11676 rot.y = (r.y + v.params.rotation[2]) % 360
11677 rot.z = (r.z + v.params.rotation[3]) % 360
11678 rot[1] = rot.x
11679 rot[2] = rot.y
11680 rot[3] = rot.z
11681 params.rotation = rot
11682 while money >= tonumber(v.value) do
11683 params.position = {}
11684 params.position.x = chipstack[stack].x
11685 params.position.y = chipstack[stack].y + chipstack[stack].height
11686 params.position.z = chipstack[stack].z
11687 local obj = spawnObject(params)
11688 obj.setCustomObject(custom)
11689 obj.setName(v.name)
11690 money = money - v.value
11691 chipstack[stack].height = chipstack[stack].height + v.height
11692 end
11693 else
11694 params.type = 'Chip_'.. v.value
11695 params.callback = nil
11696 params.callback_owner = Global
11697 params.params = nil
11698 while money >= v.value do
11699 params.position = {}
11700 params.position.x = chipstack[stack].x
11701 params.position.y = chipstack[stack].y + chipstack[stack].height
11702 params.position.z = chipstack[stack].z
11703 spawnObject(params)
11704 money = money - v.value
11705 chipstack[stack].height = chipstack[stack].height + v.height
11706 end
11707 end
11708 end
11709 return money -- returns the leftover money
11710end
11711
11712function sortPlayerChips(ob, pl)
11713 if Player[pl].admin then
11714 pl = ob.getDescription()
11715 elseif ob.getDescription() ~= pl then
11716 return 1
11717 end
11718
11719 local chips = {}
11720 local value
11721 value = "$" .. getChipValues(tablezones[pl],chips)
11722 if options.displayplayermoney then
11723 tablezonetext[pl].setValue(value)
11724 end
11725
11726 p = tablezones[pl].getPosition()
11727 r = tablezones[pl].getRotation()
11728
11729 xoffset = -1.15
11730 zoffset = 1
11731 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11732 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11733 y = p.y - 10
11734
11735 pos = {x, y, z}
11736 pos.x = x
11737 pos.y = y
11738 pos.z = z
11739
11740 r.y = (r.y + 180) % 360
11741 moveChips(chips,pos,r)
11742
11743
11744end
11745
11746function quickConvertPlayerChips10(ob, pl)
11747 if Player[pl].admin then
11748 pl = ob.getDescription()
11749 elseif ob.getDescription() ~= pl then
11750 return 1
11751 end
11752
11753
11754 if quickConvertPlayerChips == true then
11755 -- if 15 seconds are over after the last convertion then start another one (function broke before)
11756 if (os.time() - quickConvertPlayerTime) < 15 then
11757 return
11758 else
11759 quickConvertPlayerTime = os.time()
11760 end
11761 else
11762 quickConvertPlayerChips = true
11763 quickConvertPlayerTime = os.time()
11764 end
11765
11766
11767
11768
11769 quickConvertPlayersPlayer = pl
11770 quickConvertPlayersObject = ob
11771
11772 startLuaCoroutine(nil, 'quickConvertPlayerChips10Co')
11773
11774end
11775
11776function quickConvertPlayerChips10Co()
11777
11778
11779 local pl = quickConvertPlayersPlayer
11780 local ob = quickConvertPlayersObject
11781
11782
11783
11784
11785 local objects = {}
11786 local chips1 = {}
11787 local positions1 = {}
11788 local rotations1 = {}
11789
11790 v = tablezones[pl]
11791 objects = {}
11792 objects = v.getObjects()
11793 for j, w in ipairs (objects) do
11794 if w.tag == 'Chip' then
11795 if w.getValue() or currencyToNumber(w.getName()) != nil then
11796 chips1[#chips1 + 1] = w
11797 end
11798 end
11799 end
11800
11801
11802 for i, v in ipairs (chips1) do
11803 positions1[#positions1 + 1] = v.getPosition()
11804 rotations1[#rotations1 + 1] = v.getRotation()
11805 end
11806
11807 for i=0,2 do
11808 coroutine.yield(0)
11809 end
11810
11811
11812 objects = {}
11813 local chips2 = {}
11814 local positions2 = {}
11815 local rotations2 = {}
11816
11817 v = tablezones[pl]
11818 objects = {}
11819 objects = v.getObjects()
11820 for j, w in ipairs (objects) do
11821 if w.tag == 'Chip' then
11822 if w.getValue() or currencyToNumber(w.getName()) != nil then
11823 chips2[#chips2 + 1] = w
11824 end
11825 end
11826 end
11827
11828
11829 if #chips2 ~= #chips1 then
11830 quickConvertPlayerChips = false
11831 return 1
11832 end
11833
11834 for i=0,2 do
11835 coroutine.yield(0)
11836 end
11837
11838
11839 for i, v in ipairs (chips2) do
11840 positions2[#positions2 + 1] = v.getPosition()
11841 rotations2[#rotations2 + 1] = v.getRotation()
11842 end
11843
11844 --[[ Check chip positions --]]
11845 for i, v in ipairs(positions1) do
11846 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
11847 quickConvertPlayerChips = false
11848 return 1
11849 end
11850 end
11851
11852 --[[ Check chip rotations --]]
11853 for i, v in pairs(rotations1) do
11854 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
11855 quickConvertPlayerChips = false
11856 return 1
11857 end
11858 end
11859
11860 local chips = {}
11861 local money = 0
11862
11863
11864 money = getChipValues(tablezones[pl], chips)
11865 --[[ Destroy old chips --]]
11866 for i, v in ipairs (chips) do
11867 v.destruct()
11868 end
11869
11870 for i=0,10 do
11871 coroutine.yield(0)
11872 end
11873
11874 local p = tablezones[pl].getPosition()
11875 local r = tablezones[pl].getRotation()
11876
11877 xoffset = -1.15
11878 zoffset = 1
11879 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
11880 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
11881 y = p.y - 10
11882
11883 pos = {x, y, z}
11884 pos.x = x
11885 pos.y = y
11886 pos.z = z
11887
11888 r.y = (r.y + 180) % 360
11889
11890 spawnChips(money, pos,r, 10)
11891
11892
11893 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
11894
11895 quickConvertPlayerChips = false
11896 return 1
11897end
11898
11899function quickConvertPlayerChips10_5(ob, pl)
11900 if Player[pl].admin then
11901 pl = ob.getDescription()
11902 elseif ob.getDescription() ~= pl then
11903 return 1
11904 end
11905
11906 if quickConvertPlayerChips == true then
11907 -- if 30 seconds are over after the last convertion then start another one (function broke before)
11908 if (os.time() - quickConvertPlayerTime) < 30 then
11909 return
11910 else
11911 quickConvertPlayerTime = os.time()
11912 end
11913 else
11914 quickConvertPlayerChips = true
11915 quickConvertPlayerTime = os.time()
11916 end
11917
11918 quickConvertPlayersPlayer = pl
11919 quickConvertPlayersObject = ob
11920
11921 startLuaCoroutine(nil, 'quickConvertPlayerChips10_5Co')
11922
11923end
11924
11925
11926
11927
11928function quickConvertPlayerChips10_5Co()
11929 local pl = quickConvertPlayersPlayer
11930 local ob = quickConvertPlayersObject
11931
11932
11933
11934
11935 local objects = {}
11936 local chips1 = {}
11937 local positions1 = {}
11938 local rotations1 = {}
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 chips1[#chips1 + 1] = w
11947 end
11948 end
11949 end
11950
11951
11952 for i, v in ipairs (chips1) do
11953 positions1[#positions1 + 1] = v.getPosition()
11954 rotations1[#rotations1 + 1] = v.getRotation()
11955 end
11956
11957 for i=0,2 do
11958 coroutine.yield(0)
11959 end
11960
11961
11962 objects = {}
11963 local chips2 = {}
11964 local positions2 = {}
11965 local rotations2 = {}
11966
11967 v = tablezones[pl]
11968 objects = {}
11969 objects = v.getObjects()
11970 for j, w in ipairs (objects) do
11971 if w.tag == 'Chip' then
11972 if w.getValue() or currencyToNumber(w.getName()) != nil then
11973 chips2[#chips2 + 1] = w
11974 end
11975 end
11976 end
11977
11978
11979 if #chips2 ~= #chips1 then
11980 quickConvertPlayerChips = false
11981 return 1
11982 end
11983
11984 for i=0,2 do
11985 coroutine.yield(0)
11986 end
11987
11988
11989 for i, v in ipairs (chips2) do
11990 positions2[#positions2 + 1] = v.getPosition()
11991 rotations2[#rotations2 + 1] = v.getRotation()
11992 end
11993
11994 --[[ Check chip positions --]]
11995 for i, v in ipairs(positions1) do
11996 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
11997 quickConvertPlayerChips = false
11998 return 1
11999 end
12000 end
12001
12002 --[[ Check chip rotations --]]
12003 for i, v in pairs(rotations1) do
12004 if v.x ~= rotations2[i].x or v.y ~= rotations2[i].y or v.z ~= rotations2[i].z then
12005 quickConvertPlayerChips = false
12006 return 1
12007 end
12008 end
12009
12010 local chips = {}
12011 local money = 0
12012
12013
12014 money = getChipValues(tablezones[pl], chips)
12015 --[[ Destroy old chips --]]
12016 for i, v in ipairs (chips) do
12017 v.destruct()
12018 end
12019
12020 for i=0,10 do
12021 coroutine.yield(0)
12022 end
12023
12024 local p = tablezones[pl].getPosition()
12025 local r = tablezones[pl].getRotation()
12026
12027 xoffset = -1.15
12028 zoffset = 1
12029 x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12030 z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12031 y = p.y - 10
12032
12033 pos = {x, y, z}
12034 pos.x = x
12035 pos.y = y
12036 pos.z = z
12037
12038 r.y = (r.y + 180) % 360
12039
12040 local lowStackValue = 0
12041 lowStackValue = currencies[#currencies-1].value * 5 + currencies[#currencies-2].value * 5
12042 if money <= lowStackValue then
12043 spawnChips(money, pos,r, 10)
12044 else
12045
12046 money = money-lowStackValue
12047 spawnChips(money,pos,r,5)
12048 pos["y"] = pos["y"] + 5
12049 spawnChips(lowStackValue,pos,r,5)
12050
12051
12052 end
12053
12054
12055 for i=0,10 do
12056 coroutine.yield(0)
12057 end
12058 -- update money display
12059 if options.displayplayermoney then
12060 local chips = {}
12061 tablezonetext[pl].setValue("$" .. getChipValues(tablezones[pl],chips))
12062 --[[ Wait five frames to allow chips to spawn before updating pot values --]]
12063 quickConvertPlayerChips = false
12064 end
12065 return 1
12066end
12067
12068
12069
12070function splitPot2(ob, pl)
12071 if pl then
12072 if not Player[pl].admin then
12073 return 1
12074 end
12075 end
12076
12077 splitPotObject = ob;
12078 splitPotPlayers = 2;
12079
12080 local p = ob.getPosition()
12081 local r = ob.getRotation()
12082 local s = ob.getScale()
12083 params = {}
12084 params.type = 'ScriptingTrigger'
12085 params.callback = 'splitPot'
12086 params.scale = {s.x, 20, s.z*1.9}
12087 params.position = {p.x, p.y + 10, p.z}
12088 params.rotation = r
12089
12090 splitPotZone = spawnObject(params)
12091end
12092
12093function splitPot3(ob, pl)
12094 if pl then
12095 if not Player[pl].admin then
12096 return 1
12097 end
12098 end
12099
12100 splitPotObject = ob;
12101 splitPotPlayers = 3;
12102
12103 local p = ob.getPosition()
12104 local r = ob.getRotation()
12105 local s = ob.getScale()
12106 params = {}
12107 params.type = 'ScriptingTrigger'
12108 params.callback = 'splitPot'
12109 params.scale = {s.x, 20, s.z*1.9}
12110 params.position = {p.x, p.y + 10, p.z}
12111 params.rotation = r
12112
12113 splitPotZone = spawnObject(params)
12114end
12115
12116function splitPot4(ob, pl)
12117 if pl then
12118 if not Player[pl].admin then
12119 return 1
12120 end
12121 end
12122
12123 splitPotObject = ob;
12124 splitPotPlayers =4 ;
12125
12126 local p = ob.getPosition()
12127 local r = ob.getRotation()
12128 local s = ob.getScale()
12129 params = {}
12130 params.type = 'ScriptingTrigger'
12131 params.callback = 'splitPot'
12132 params.scale = {s.x, 20, s.z*1.9}
12133 params.position = {p.x, p.y + 10, p.z}
12134 params.rotation = r
12135
12136 splitPotZone = spawnObject(params)
12137end
12138
12139function splitPot5(ob, pl)
12140 if pl then
12141 if not Player[pl].admin then
12142 return 1
12143 end
12144 end
12145
12146 splitPotObject = ob;
12147 splitPotPlayers = 5;
12148
12149 local p = ob.getPosition()
12150 local r = ob.getRotation()
12151 local s = ob.getScale()
12152 params = {}
12153 params.type = 'ScriptingTrigger'
12154 params.callback = 'splitPot'
12155 params.scale = {s.x, 20, s.z*1.9}
12156 params.position = {p.x, p.y + 10, p.z}
12157 params.rotation = r
12158
12159 splitPotZone = spawnObject(params)
12160end
12161
12162function splitPot6(ob, pl)
12163 if pl then
12164 if not Player[pl].admin then
12165 return 1
12166 end
12167 end
12168
12169 splitPotObject = ob;
12170 splitPotPlayers = 6;
12171
12172 local p = ob.getPosition()
12173 local r = ob.getRotation()
12174 local s = ob.getScale()
12175 params = {}
12176 params.type = 'ScriptingTrigger'
12177 params.callback = 'splitPot'
12178 params.scale = {s.x, 20, s.z*1.9}
12179 params.position = {p.x, p.y + 10, p.z}
12180 params.rotation = r
12181
12182 splitPotZone = spawnObject(params)
12183end
12184
12185function splitPot7(ob, pl)
12186 if pl then
12187 if not Player[pl].admin then
12188 return 1
12189 end
12190 end
12191
12192 splitPotObject = ob;
12193 splitPotPlayers = 7;
12194
12195 local p = ob.getPosition()
12196 local r = ob.getRotation()
12197 local s = ob.getScale()
12198 params = {}
12199 params.type = 'ScriptingTrigger'
12200 params.callback = 'splitPot'
12201 params.scale = {s.x, 20, s.z*1.9}
12202 params.position = {p.x, p.y + 10, p.z}
12203 params.rotation = r
12204
12205 splitPotZone = spawnObject(params)
12206end
12207
12208function splitPot8(ob, pl)
12209 if pl then
12210 if not Player[pl].admin then
12211 return 1
12212 end
12213 end
12214
12215 splitPotObject = ob;
12216 splitPotPlayers = 8;
12217
12218 local p = ob.getPosition()
12219 local r = ob.getRotation()
12220 local s = ob.getScale()
12221 params = {}
12222 params.type = 'ScriptingTrigger'
12223 params.callback = 'splitPot'
12224 params.scale = {s.x, 20, s.z*1.9}
12225 params.position = {p.x, p.y + 10, p.z}
12226 params.rotation = r
12227
12228 splitPotZone = spawnObject(params)
12229end
12230
12231function splitPot9(ob, pl)
12232 if pl then
12233 if not Player[pl].admin then
12234 return 1
12235 end
12236 end
12237
12238 splitPotObject = ob;
12239 splitPotPlayers = 9;
12240
12241 local p = ob.getPosition()
12242 local r = ob.getRotation()
12243 local s = ob.getScale()
12244 params = {}
12245 params.type = 'ScriptingTrigger'
12246 params.callback = 'splitPot'
12247 params.scale = {s.x, 20, s.z*1.9}
12248 params.position = {p.x, p.y + 10, p.z}
12249 params.rotation = r
12250
12251 splitPotZone = spawnObject(params)
12252end
12253
12254
12255function splitPot10(ob, pl)
12256 if pl then
12257 if not Player[pl].admin then
12258 return 1
12259 end
12260 end
12261
12262 splitPotObject = ob;
12263 splitPotPlayers = 10;
12264
12265 local p = ob.getPosition()
12266 local r = ob.getRotation()
12267 local s = ob.getScale()
12268 params = {}
12269 params.type = 'ScriptingTrigger'
12270 params.callback = 'splitPot'
12271 params.scale = {s.x, 20, s.z*1.9}
12272 params.position = {p.x, p.y + 10, p.z}
12273 params.rotation = r
12274
12275 splitPotZone = spawnObject(params)
12276end
12277
12278
12279function splitPot()
12280 local chips = {}
12281 local value = 0;
12282
12283 value = getChipValues(splitPotZone,chips)
12284 leftover = 0;
12285 local spawnvalue = value / splitPotPlayers
12286
12287 for i, v in ipairs (chips) do
12288 v.destruct()
12289 end
12290
12291 local p = splitPotObject.getPosition()
12292 local r = splitPotObject.getRotation()
12293
12294
12295
12296
12297
12298
12299 local xoffset = 5.5
12300 local zoffset = -9.8
12301 local pos = {}
12302 pos.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12303 pos.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12304 pos.y = p.y + 0.2
12305 r[2] = r.y
12306
12307 local i = 0
12308
12309 xoffset = 12
12310 zoffset = 6.5
12311 while i < splitPotPlayers do
12312 leftover = leftover + spawnChips(spawnvalue, pos, r)
12313 pos.x = pos.x + (math.sin(math.rad(r.y)) * zoffset)
12314 pos.z = pos.z + (math.cos(math.rad(r.y)) * zoffset)
12315
12316 if i == 4 then
12317 pos.x = pos.x - (math.cos(math.rad(r.y)) * xoffset + (math.sin(math.rad(r.y)) * zoffset) * 5)
12318 pos.z = pos.z + (math.sin(math.rad(r.y)) * xoffset - (math.cos(math.rad(r.y)) * zoffset) * 5 )
12319 end
12320
12321
12322 i = i + 1
12323 end
12324
12325
12326 r = splitPotObject.getRotation()
12327 leftover = leftover + 0.1 -- avoid rounding errors for double number
12328 xoffset = -6.5
12329 zoffset = -14.8
12330 pos = {}
12331 pos.x = p.x + (math.cos(math.rad(r.y)) * xoffset) + (math.sin(math.rad(r.y)) * zoffset)
12332 pos.z = p.z - (math.sin(math.rad(r.y)) * xoffset) + (math.cos(math.rad(r.y)) * zoffset)
12333 pos.y = p.y + 0.2
12334 spawnChips(leftover, pos, r)
12335
12336
12337 splitPotZone.destruct()
12338end
12339
12340function goAllIn(ob, pl)
12341 if ob.getDescription() ~= pl then
12342 return 1
12343 end
12344
12345 if pl ~= actionon then
12346 return 0
12347 end
12348
12349 local chips = {}
12350 getChipValues(betzones[pl],chips)
12351 getChipValues(tablezones[pl],chips)
12352 p = betzones[pl].getPosition()
12353 r = betzones[pl].getRotation()
12354 p.y = p.y - 10
12355
12356 moveChips(chips,p,r)
12357
12358
12359end
12360
12361function compare(a,b)
12362 return a[1] > b[1]
12363end
12364
12365function goAFK(ob, pl)
12366 if Player[pl].admin then
12367 pl = ob.getDescription()
12368 elseif ob.getDescription() ~= pl then
12369 return 1
12370 end
12371
12372 local objects = betzones[pl].getObjects()
12373 local x = 0
12374 local found = false
12375
12376 for i, v in ipairs(objects) do
12377 if v.getName() == "AFK" then
12378 found = true
12379 v.destruct()
12380 end
12381 end
12382 if afkClock[pl] ~= nil then
12383 found = true
12384 afkClock[pl].destruct()
12385 afkClock[pl] = nil
12386 end
12387
12388 if not found then
12389 local params = {}
12390 params.type = 'Custom_Model'
12391 params.position = betzones[pl].getPosition()
12392 params.scale = {1, 1, 1}
12393 params.rotation = betzones[pl].getPosition()
12394
12395 local playerhand = getPlayerHandPositionAndRotation(pl)
12396 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 5, 1.4, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 5}
12397 params.rotation = {0, playerhand['rot_y'], 0}
12398 params.callback = 'setAfkButton'
12399 afkButton = spawnObject(params)
12400
12401 local custom = {}
12402 custom.mesh = 'pastebin.com/raw.php?i=qv6mnq65'
12403 custom.diffuse = 'http://cloud-3.steamusercontent.com/ugc/922552872558391998/0518FECF3F4FD1D5BEA34B793FE1C194EEF08483/'
12404 custom.type = 0
12405
12406 afkButton.setCustomObject(custom)
12407 afkButton.setName('AFK')
12408
12409 params = {}
12410 params.type = 'Digital_Clock'
12411
12412 params.position = {playerhand['pos_x'] + playerhand['trigger_forward_x'] * 8, 0.5, playerhand['pos_z'] + playerhand['trigger_forward_z'] * 8}
12413 params.rotation = {90, playerhand['rot_y'], 0}
12414
12415 params.callback = 'setAfkClockTimer'
12416 afkClock[pl] = spawnObject(params)
12417
12418 end
12419
12420end
12421
12422function setAfkButton(ob, pl)
12423 ob.lock()
12424end
12425
12426function setPlayerAfk(ob, pl)
12427 if pl then
12428 if not Player[pl].admin then
12429 return 1
12430 end
12431 end
12432 if actionon ~= nil then
12433 goAFK(ob,actionon)
12434 end
12435end
12436
12437
12438function setAfkClockTimer(ob, pl)
12439 ob.lock()
12440 ob.Clock.startStopwatch()
12441 ob.setColorTint({0.1, 0.1, 0.1})
12442 ob.setName("AFK")
12443 --afkClock[pl].lock()
12444 --afkClock[pl].Clock.startStopwatch()
12445end
12446
12447function changeMachineButton1(ob, pl)
12448 if not converting then
12449 convertingPlayerColor = pl
12450 convertingPlayer = true
12451 conversionPlayerValue = 1
12452 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12453 end
12454end
12455
12456function changeMachineButton2(ob, pl)
12457 if not converting then
12458 convertingPlayerColor = pl
12459 convertingPlayer = true
12460 conversionPlayerValue = 2
12461 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12462 end
12463end
12464
12465function changeMachineButton3(ob, pl)
12466 if not converting then
12467 convertingPlayerColor = pl
12468 convertingPlayer = true
12469 conversionPlayerValue = 3
12470 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12471 end
12472end
12473
12474function changeMachineButton4(ob, pl)
12475 if not converting then
12476 convertingPlayerColor = pl
12477 convertingPlayer = true
12478 conversionPlayerValue = 4
12479 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12480 end
12481end
12482
12483function changeMachineButton5(ob, pl)
12484 if not converting then
12485 convertingPlayerColor = pl
12486 convertingPlayer = true
12487 conversionPlayerValue = 5
12488 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12489 end
12490end
12491
12492
12493function changeMachineButton6(ob, pl)
12494 if not converting then
12495 convertingPlayerColor = pl
12496 convertingPlayer = true
12497 conversionPlayerValue = 6
12498 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12499 end
12500end
12501
12502function changeMachineButton7(ob, pl)
12503 if not convertingPlayer then
12504 convertingPlayerColor = pl
12505 convertingPlayer = true
12506 conversionPlayerValue = 7
12507 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12508
12509 end
12510end
12511
12512function changeMachineButton8(ob, pl)
12513 if not convertingPlayer then
12514 convertingPlayerColor = pl
12515 convertingPlayer = true
12516 conversionPlayerValue = 8
12517 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12518
12519 end
12520end
12521
12522function changeMachineButton9(ob, pl)
12523 if not convertingPlayer then
12524 convertingPlayerColor = pl
12525 convertingPlayer = true
12526 conversionPlayerValue = 9
12527 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12528
12529 end
12530end
12531
12532function changeMachineButton10(ob, pl)
12533 if not convertingPlayer then
12534 convertingPlayerColor = pl
12535 convertingPlayer = true
12536 conversionPlayerValue = 10
12537 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12538 end
12539end
12540
12541
12542function changeMachineButton11(ob, pl)
12543 if not converting then
12544 clicker = player
12545 convertingPlayer = true
12546 conversionPlayerValue = 11
12547 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12548 end
12549end
12550
12551function changeMachineButton12(ob, pl)
12552 if not converting then
12553 clicker = player
12554 convertingPlayer = true
12555 conversionPlayerValue = 12
12556 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12557 end
12558end
12559
12560function changeMachineButton13(ob, pl)
12561 if not converting then
12562 clicker = player
12563 convertingPlayer = true
12564 conversionPlayerValue = 13
12565 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12566 end
12567end
12568
12569function changeMachineButton14(ob, pl)
12570 if not converting then
12571 clicker = player
12572 convertingPlayer = true
12573 conversionPlayerValue = 14
12574 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12575 end
12576end
12577
12578function changeMachineButton15(ob, pl)
12579 if not converting then
12580 clicker = player
12581 convertingPlayer = true
12582 conversionPlayerValue = 15
12583 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12584 end
12585end
12586
12587
12588function changeMachineButton16(ob, pl)
12589 if not converting then
12590 clicker = player
12591 convertingPlayer = true
12592 conversionPlayerValue = 16
12593 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12594 end
12595end
12596
12597function changeMachineButton17(ob, pl)
12598 if not convertingPlayer then
12599 convertingPlayerColor = pl
12600 convertingPlayer = true
12601 conversionPlayerValue = 17
12602 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12603
12604 end
12605end
12606
12607function changeMachineButton18(ob, pl)
12608 if not convertingPlayer then
12609 convertingPlayerColor = pl
12610 convertingPlayer = true
12611 conversionPlayerValue = 18
12612 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12613
12614 end
12615end
12616
12617function changeMachineButton19(ob, pl)
12618 if not convertingPlayer then
12619 convertingPlayerColor = pl
12620 convertingPlayer = true
12621 conversionPlayerValue = 19
12622 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12623
12624 end
12625end
12626
12627function changeMachineButton20(ob, pl)
12628 if not convertingPlayer then
12629 convertingPlayerColor = pl
12630 convertingPlayer = true
12631 conversionPlayerValue = 20
12632 ChangeMachineZone = spawnChangeMachineZone(ob, pl)
12633 end
12634end
12635
12636
12637
12638
12639
12640
12641function spawnChangeMachineZone(ob, pl)
12642 --[[spawn scripting zone on in surface--]]
12643 local p = ob.getPosition()
12644 local r = ob.getRotation()
12645 local s = ob.getScale()
12646
12647 params = {}
12648
12649 params.type = 'ScriptingTrigger'
12650 params.callback = 'checkChangeMachineZone'
12651 params.scale = {s.x * 2, 20, s.z}
12652 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)))}
12653 params.rotation = ob.getRotation()
12654
12655 changeMachineZone = spawnObject(params)
12656end
12657
12658function checkChangeMachineZone()
12659 startLuaCoroutine(nil,'checkChangeMachineZoneCoroutine')
12660end
12661
12662function checkChangeMachineZoneCoroutine()
12663 local objects1 = changeMachineZone.getObjects()
12664 local positions1 = {}
12665 local rotations1 = {}
12666
12667 for i, v in ipairs(objects1) do
12668 positions1[#positions1 + 1] = v.getPosition()
12669 rotations1[#rotations1 + 1] = v.getRotation()
12670 end
12671
12672 for i=1, 2 do
12673 coroutine.yield(0)
12674 end
12675
12676 local objects2 = changeMachineZone.getObjects()
12677 local positions2 = {}
12678 local rotations2 = {}
12679
12680 --[[ Abort if the amount of chips/stacks changed --]]
12681 if #objects1 ~= #objects2 then
12682 broadcastToColor('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
12683 changeMachineZone.destruct()
12684 converting = false
12685 return 1
12686 end
12687
12688 for i, v in ipairs(objects1) do
12689 positions2[#positions2 + 1] = v.getPosition()
12690 rotations2[#rotations2 + 1] = v.getRotation()
12691 end
12692
12693 --[[ Abort if any chips/stacks are moving --]]
12694 for i, v in ipairs (positions1) do
12695 if v.x ~= positions2[i].x or v.y ~= positions2[i].y or v.z ~= positions2[i].z then
12696 broadcastToColor ('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
12697 changeMachineZone.destruct()
12698 convertingPlayer = false
12699 return 1
12700 end
12701
12702 if rotations1[i].x ~= rotations2[i].x or rotations1[i].y ~= rotations2[i].y or rotations1[i].z ~= rotations2[i].z then
12703 broadcastToColor ('Conversion aborted. Please wait for chips to be at rest on the platform and try again.', convertingPlayerColor, {1, 0, 0})
12704 changeMachineZone.destruct()
12705 convertingPlayer = false
12706 return 1
12707 end
12708 end
12709
12710 local pos = changeMachineZone.getPosition()
12711 pos["y"] = 2
12712 local rot = changeMachineZone.getRotation()
12713 rot["y"] = (rot["y"] + 180) % 360
12714 local chips = {}
12715 money = getChipValues(changeMachineZone, chips)
12716
12717 for i, v in ipairs(chips) do
12718 v.destruct()
12719 end
12720
12721 convertchangeMachine(money, pos, rot , 25)
12722
12723 changeMachineZone.destruct()
12724 convertingPlayer = false
12725 --calculateAndConvert()
12726 return 1
12727end
12728
12729
12730
12731function convertchangeMachine(money, p, r, height)
12732
12733
12734 local chipstack = {}
12735 chipstack = initializePot()
12736 for i, v in pairs(chipstack) do
12737 v.x = p.x + (math.cos(math.rad(r.y)) * v.xoffset) + (math.sin(math.rad(r.y)) * v.zoffset)
12738 v.z = p.z - (math.sin(math.rad(r.y)) * v.xoffset) + (math.cos(math.rad(r.y)) * v.zoffset)
12739 v.y = p.y + v.yoffset + v.height
12740 end
12741
12742 local v = {}
12743 v = currencies[conversionPlayerValue]
12744 local custom = {}
12745 if v.value > 0 then
12746 params.rotation = v.params.rotation
12747 params.scale = v.params.scale
12748 params.params = {v.name}
12749 local rot = {}
12750 rot.x = (r.x + v.params.rotation[1]) % 360
12751 rot.y = (r.y + v.params.rotation[2]) % 360
12752 rot.z = (r.z + v.params.rotation[3]) % 360
12753 rot[1] = rot.x
12754 rot[2] = rot.y
12755 rot[3] = rot.z
12756 params.rotation = rot
12757 if chipstack[v.stack] == nil then
12758 stack = "misc"
12759 else
12760 stack = v.stack
12761 end
12762 if not v.standard then
12763 params.type = 'Custom_Model'
12764 params.callback_owner = Global
12765 custom.mesh = v.custom.mesh
12766 custom.diffuse = v.custom.diffuse
12767 custom.type = 5
12768 custom.material = 1
12769 local i=0
12770 while money >= tonumber(v.value) and i<height do
12771 params.position = {}
12772 params.position.x = chipstack[stack].x
12773 params.position.y = chipstack[stack].y + chipstack[stack].height
12774 params.position.z = chipstack[stack].z
12775 local obj = spawnObject(params)
12776 obj.setCustomObject(custom)
12777 obj.setName(v.name)
12778 money = money - v.value
12779 chipstack[stack].height = chipstack[stack].height + v.height
12780 i=i+1
12781 if i >= height then
12782 broadcastToColor("Conversion limit reached. The difference is spawned with the least amount of chips as possible", convertingPlayerColor, {1,1,0})
12783 end
12784 end
12785 else
12786 params.type = 'Chip_'.. v.value
12787 params.callback = nil
12788 params.callback_owner = Global
12789 params.params = nil
12790 local i=0
12791 while money >= v.value and i<height do
12792 params.position = {}
12793 params.position.x = chipstack[stack].x
12794 params.position.y = chipstack[stack].y + chipstack[stack].height
12795 params.position.z = chipstack[stack].z
12796 spawnObject(params)
12797 money = money - v.value
12798 chipstack[stack].height = chipstack[stack].height + v.height
12799 i = i + 1
12800 if i >= height then
12801 broadcastToColor("Conversion limit reached. The difference is spawned with the least amount of chips as possible", convertingPlayerColor, {1,1,0})
12802 end
12803 end
12804 end
12805 end
12806
12807 p["y"] = 10
12808 spawnChips(money, p, r)
12809 convertingPlayer = false
12810end
12811
12812
12813function loadSaveBag(ob, pl)
12814 for i, v in ipairs(savebag.getObjects()) do
12815
12816 if v.name == Player[pl].steam_name then
12817 local params = {}
12818 --params.position = Vector –Optional. Defaults to the container’s position + 2 in the x direction.
12819 --params.rotation = Vector –Optional. Defaults to the container’s rotation.
12820 params.position = tablezones[pl].getPosition()
12821 params.position.y = params.position.y - 8
12822 params.rotation = tablezones[pl].getRotation()
12823 params.callback_owner = Global
12824 --params.guid = v.guid
12825 params.index = v.index
12826 saves[pl] = savebag.takeObject(params)
12827 if saves[pl].getDescription() == "" then
12828 for i, v in ipairs (getSeatedPlayers()) do
12829 if Player[v].admin then
12830 broadcastToColor('Warning: Steamid not found on savebag for player ' .. Player[pl].steam_name, v, {1, 1, 0})
12831 end
12832 end
12833 elseif saves[pl].getDescription() != Player[pl].steam_id then
12834 for i, v in ipairs (getSeatedPlayers()) do
12835 if Player[v].admin then
12836 broadcastToColor('Warning: Steamid on savebag dont match the current player ' .. Player[pl].steam_name, v, {1, 1, 0})
12837 end
12838 end
12839 end
12840 return 1
12841 end
12842 end
12843 for i, v in ipairs (getSeatedPlayers()) do
12844 if Player[v].admin or v == pl then
12845 broadcastToColor('Warning: no save found for player ' .. Player[pl].steam_name .. '.' , v, {1, 1, 0})
12846 end
12847 end
12848end
12849
12850
12851
12852--[[ rPrint(struct, [limit], [indent]) Recursively print arbitrary data.
12853 Set limit (default 100) to stanch infinite loops.
12854 Indents tables as [KEY] VALUE, nested tables as [KEY] [KEY]...[KEY] VALUE
12855 Set indent ("") to prefix each line: Mytable [KEY] [KEY]...[KEY] VALUE
12856--]]
12857function rPrint(s, l, i) -- recursive Print (structure, limit, indent)
12858 l = (l) or 100; i = i or ""; -- default item limit, indent string
12859 if (l<1) then print "ERROR: Item limit reached."; return l-1 end;
12860 local ts = type(s);
12861 if (ts ~= "table") then print (i,ts,s); return l-1 end
12862 print (i,ts); -- print "table"
12863 for k,v in pairs(s) do -- print "[ KEY ] VALUE"
12864 l = rPrint(v, l, i.."\t[ "..tostring(k).." ] ");
12865 if (l < 0) then break end
12866 end
12867 return l
12868end
12869
12870function comma_value(n) -- credit http://richard.warburton.it
12871 local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
12872 return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
12873end
12874
12875--[[ 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. --]]
12876function currencyToNumber(s)
12877 local value = 0 -- the value is updated as numbers are found in the string
12878 local dec = 1 -- the decimal places (is that the right term?), multiplied by 10 each time a number is found
12879 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)
12880 local r = string.reverse(s) -- reverse the original string to simplify analysis
12881 for i = 1, string.len(r) do
12882 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
12883 value = value + (tonumber(string.sub(r, i, i)) * dec)
12884 dec = dec * 10
12885 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
12886 if decimalfound then return nil end
12887 value = value / dec
12888 dec = 1
12889 decimalfound = true
12890 end
12891 end
12892 if value ~= 0 then return value else return nil end -- return the value if it's not still 0, otherwise return nil
12893end