1
0

furniture_system.inc 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128
  1. //dialogs
  2. #define DIALOG_FURNITURE_MAIN 2996
  3. #define DIALOG_FURNITURE_BUY 2997
  4. #define DIALOG_FURNITURE_EDIT 2998
  5. #define DIALOG_FURNITURE_BUY3 2999
  6. #define DIALOG_FURNITURE_BUY_CONFIRM 3000
  7. #define DIALOG_FURNITURE_EDIT_SELECT 3001
  8. #define DIALOG_FURNITURE_SHOWHIDE_SELECT 3002
  9. #define DIALOG_FURNITURE_DELETE_SELECT 3003
  10. static str[128];
  11. //max limits
  12. #define MAX_FURNITURE 100
  13. #define MAX_OUTDOOR_FURNITURE 5
  14. //validation
  15. #define INVALID_FURNITURE_ID 0
  16. //list of furniture objects
  17. enum fFurnitureObjectList {
  18. fD_type,
  19. fD_model,
  20. fD_name[50],
  21. fD_price,
  22. Float:fD_rotX,
  23. Float:fD_rotY
  24. }
  25. new FurnitureObjectList[][fFurnitureObjectList] = {
  26. {1, 2274, "Picture Of Flower", 500, 0.0, 0.0},//Decor 0
  27. {1, 2279, "Picture of Chilliad", 500, 0.0, 0.0},
  28. {1, 2265, "Picture of Desert", 500, 0.0, 0.0},
  29. {1, 2268, "Picture of Cat", 500, 0.0, 0.0},
  30. {1, 2277, "Picture of Snowball", 600, 0.0, 0.0},
  31. {1, 2263, "Picture of Night City", 650, 0.0, 0.0},
  32. {1, 2269, "Picture of Lake", 650, 0.0, 0.0},
  33. {1, 2275, "Picture of Fruit", 600, 0.0, 0.0},
  34. {1, 2261, "Picture of Bridge", 600, 0.0, 0.0},
  35. {1, 2264, "Picture of Beach", 600, 0.0, 0.0},
  36. {1, 2282, "Picture of Sunset", 600, 0.0, 0.0},
  37. {1, 2255, "Picture of Ass", 600, 0.0, 0.0},
  38. {1, 2287, "Picture of Boats", 600, 0.0, 0.0},
  39. {1, 2276, "Picture of Bridges", 600, 0.0, 0.0},
  40. {1, 2284, "Picture of Church", 600, 0.0, 0.0},
  41. {1, 2285, "Picture of Map", 600, 0.0, 0.0},
  42. {1, 2271, "Pic. of something Special", 600, 0.0, 0.0},
  43. {1, 2273, "Picture of Flowers", 600, 0.0, 0.0},
  44. {1, 2280, "Picture of River", 600, 0.0, 0.0},
  45. {1, 2286, "Picture of Ship", 600, 0.0, 0.0},
  46. {1, 2254, "Picture of Car", 600, 0.0, 0.0},
  47. {1, 2256, "Picture of Palms", 600, 0.0, 0.0},
  48. {1, 2257, "Modern Art", 700, 0.0, 0.0},
  49. {1, 3962, "Modern Art 2", 700, 0.0, -90.0},
  50. {1, 2587, "Poster1", 200, 0.0, 0.0},
  51. {1, 2588, "Poster2", 200, 0.0, 0.0},
  52. {1, 2691, "Poster3", 200, 0.0, 0.0},
  53. {1, 19825, "Clock", 800, 0.0, 180.0},
  54. {1, 2828, "Desk Picture Frames", 700, 0.0, 0.0},
  55. {1, 1736, "Deer's Head", 700, 0.0, 0.0},
  56. {1, 11733, "Rocking Horse", 800, 0.0, 0.0},
  57. {1, 1828, "Tiger Rug", 1200, -90.0, 0.0},
  58. {1, 2841, "Rug 1", 500, 90.0, 0.0},
  59. {1, 2835, "Rug 2", 500, 90.0, 0.0},
  60. {1, 2842, "Rug 3", 500, 90.0, 0.0},
  61. {1, 2847, "Rug 4", 500, 90.0, 0.0},
  62. {1, 2817, "Rug 5", 500, 90.0, 0.0},
  63. {1, 2815, "Rug 6", 500, 90.0, 0.0},
  64. {1, 2833, "Rug 7", 500, 90.0, 0.0},
  65. {1, 2834, "Rug 8", 500, 90.0, 0.0},
  66. {1, 2836, "Rug 9", 500, 90.0, 0.0},
  67. {1, 2818, "Rug 10", 500, 90.0, 0.0},
  68. {1, 11737, "Doormat", 300, 90.0, 180.0},
  69. {1, 11712, "Cross", 200, 0.0, 90.0},
  70. {1, 11710, "Exit Sign", 200, 0.0, 180.0},
  71. {1, 18664, "Tag Sign 1", 200, 0.0, 180.0},
  72. {1, 18665, "Tag Sign 2", 200, 0.0, 180.0},
  73. {1, 18666, "Tag Sign 3", 200, 0.0, 180.0},
  74. {1, 18667, "Tag Sign 4", 200, 0.0, 180.0},
  75. {1, 18663, "Tag Sign 5", 200, 0.0, 180.0},
  76. {1, 18662, "Tag Sign 6", 200, 0.0, 180.0},
  77. {1, 18661, "Tag Sign 7", 200, 0.0, 180.0},
  78. {1, 18660, "Tag Sign 8", 200, 0.0, 180.0},
  79. {1, 18659, "Tag Sign 9", 200, 0.0, 180.0},
  80. {1, 933, "Cable Roll", 200, 0.0, 0.0},
  81. {1, 19836, "Blood Splatter", 200, 90.0, 180.0},
  82. {1, 2068, "Cargo Net", 2500, 0.0, 0.0},
  83. {1, 2945, "Netting", 800, 0.0, 0.0},
  84. {1, 948, "Pot plant", 300, 0.0, 0.0},
  85. {1, 949, "Pot plant2", 300, 0.0, 0.0},
  86. {1, 950, "Pot plant4", 300, 0.0, 0.0},
  87. {1, 2010, "Plant", 300, 0.0, 0.0},
  88. {1, 2011, "Plant 2",300, 0.0, 0.0},
  89. {1, 2176, "Vase", 300, 0.0, 0.0},
  90. {1, 2194, "Cactus", 300, 0.0, 0.0},
  91. {1, 2195, "Bush", 300, 0.0, 0.0},
  92. {1, 2240, "Pot plant", 300, 0.0, 0.0},
  93. {1, 2241, "Pot plant", 300, 0.0, 0.0},
  94. {1, 2242, "Pot plant", 300, 0.0, 0.0},
  95. {1, 2243, "Pot plant", 300, 0.0, 0.0},
  96. {1, 2244, "Pot plant", 300, 0.0, 0.0},
  97. {1, 2245, "Pot plant", 300, 0.0, 0.0},
  98. {1, 2246, "Vase", 500, 0.0, 0.0},
  99. {1, 2247, "Vase 1", 500, 0.0, 0.0},
  100. {1, 2248, "Pot", 300, 0.0, 0.0},
  101. {1, 2249, "Vase 2", 600, 0.0, 0.0},
  102. {1, 2250, "Vase 3", 600, 0.0, 0.0},
  103. {1, 2251, "Vase 4", 600, 0.0, 0.0},
  104. {1, 14705, "Vase 5", 600, 0.0, 0.0},
  105. {1, 2252, "Pot plant", 100, 0.0, 0.0},
  106. {1, 2253, "Pot plant", 100, 0.0, 0.0},
  107. {1, 2868, "Candle", 100, 0.0, 0.0},
  108. {1, 2869, "Candles", 400, 0.0, 0.0},
  109. {1, 3802, "Hanging plant1", 200, 0.0, 0.0},
  110. {1, 3809, "Hanging plant2", 200, 0.0, 0.0},
  111. {1, 3810, "Hanging plant3", 200, 0.0, 0.0},
  112. {1, 14804, "Pot plant1", 200, 0.0, 0.0},
  113. {1, 14834, "Pot plant2", 200, 0.0, 0.0},
  114. {1, 2067, "Filing Cabinet", 1000, 0.0, 0.0},//Office 90
  115. {1, 2609, "Filing Cabinet 2", 1000, 0.0, 0.0},
  116. {1, 2065, "Filing Cabinet 3", 1000, 0.0, 0.0},
  117. {1, 2066, "Filing Cabinet 4", 1000, 0.0, 0.0},
  118. {1, 2610, "Filing Cabinet 5", 1000, 0.0, 0.0},
  119. {1, 2167, "Office Cupboard", 1100, 180.0, 180.0},
  120. {1, 2161, "Office Bookshelf", 1300, 180.0, 180.0},
  121. {1, 2163, "Office Wall Cupboard", 1250, 180.0, 180.0},
  122. {1, 2737, "Blue Notice Board", 1200, 0.0, 0.0},
  123. {1, 2191, "Filing Case", 1300, 180.0, 180.0},
  124. {1, 2162, "Office Bookshelf", 1300, 180.0, 180.0},
  125. {1, 2608, "Office Bookshelf 2", 1400, 180.0, 180.0},
  126. {1, 2199, "Office BookShelf 3", 1400, 180.0, 180.0},
  127. {1, 2164, "Office Bookshelf 3", 1400, 180.0, 180.0},
  128. {1, 2204, "Brown Office Cabinet", 1600, 180.0, 180.0},
  129. {1, 2208, "Ellipse Office Unit", 1700, 0.0, 0.0},
  130. {1, 14455, "Bookshelves", 2300, 0.0, 0.0},
  131. {1, 2202, "Large Printer", 1000, 0.0, 0.0},
  132. {1, 19805, "Whiteboard", 1200, 0.0, 0.0},
  133. {1, 2616, "Noticeboard", 1000, 0.0, 0.0},
  134. {1, 3077, "Big Chalkboard", 1000, 0.0, 0.0},
  135. {1, 19999, "Office Chair", 900, 180.0, 180.0},
  136. {1, 2356, "Office Chair 2", 900, 0.0, 0.0},
  137. {1, 1671, "Office Chair 3", 900, 180.0, 180.0},
  138. {1, 1714, "Office Chair 4", 500, 180.0, 180.0},
  139. {1, 1663, "Office Chair 5", 500, 180.0, 180.0},
  140. {1, 1715, "Office Chair 6", 600, 180.0, 180.0},
  141. {1, 1721, "Office Chair 7", 600, 0.0, 0.0},
  142. {1, 2310, "Office Chair 8", 500, 0.0, 0.0},
  143. {1, 2308, "Desk 1", 900, 0.0, 180.0},
  144. {1, 2185, "Desk 2", 900, 0.0, 0.0},
  145. {1, 2184, "Desk 3", 900, 0.0, 0.0},
  146. {1, 2206, "Desk 4", 900, 0.0, 0.0},
  147. {1, 2008, "Desk 5", 900, 0.0, 0.0},
  148. {1, 2207, "Desk 6", 900, 0.0, 0.0},
  149. {1, 2205, "Desk 7", 900, 0.0, 0.0},
  150. {1, 1963, "Desk 8", 900, 0.0, 0.0},
  151. {1, 2174, "Desk 9", 900, 0.0, 180.0},
  152. {1, 2173, "Desk 10", 900, 0.0, 0.0},
  153. {1, 2166, "Desk 11", 900, 0.0, 0.0},
  154. {1, 2165, "Desk 12", 900, 0.0, 0.0},
  155. {1, 2605, "Desk 13", 900, 0.0, 0.0},
  156. {1, 2607, "Desk 14", 900, 0.0, 0.0},
  157. {1, 1999, "Desk 15", 900, 0.0, 0.0},
  158. {1, 2894, "Opened Book", 500, 0.0, 0.0},//Hobby 134
  159. {1, 19939, "Rectangle Shelf", 600, 0.0, 0.0},
  160. {1, 19938, "Corner Shelf", 400, 0.0, 0.0},
  161. {1, 1961, "Record Green", 200, 0.0, 0.0},
  162. {1, 1962, "Record Purple", 200, 0.0, 0.0},
  163. {1, 2114, "Basket Ball", 300, 0.0, 0.0},
  164. {1, 3496, "Basket ball hoop", 1000, 0.0, 0.0},
  165. {1, 3497, "Basket ball stand", 1000, 0.0, 0.0},
  166. {1, 1974, "Golf Ball", 150, 0.0, 0.0},
  167. {1, 3017, "Blueprints", 500, 0.0, 0.0},
  168. {1, 3111, "Blueprints 1", 500, 0.0, 0.0},
  169. {1, 2046, "Hobby Cupboard", 1500, 0.0, 0.0},
  170. {1, 14820, "DJ Stuff", 2100, 0.0, 0.0},
  171. {1, 1742, "Hobby Bookshelf", 1600, 0.0, 0.0},
  172. {1, 941, "Hobby Work Bench", 1400, 0.0, 0.0},
  173. {1, 14556, "Open Cupboard", 1500, 0.0, 0.0},
  174. {1, 2855, "Stack of Magazines", 100, 0.0, 0.0},
  175. {1, 2854, "Pile of Books", 200, 0.0, 0.0},
  176. {1, 2853, "Pile of Books 2", 200, 0.0, 0.0},
  177. {1, 2852, "Pile of Magazines", 200, 0.0, 0.0},
  178. {1, 2816, "Opened Magazines", 200, 0.0, 0.0},
  179. {1, 19921, "Toolbox", 600, 0.0, 0.0},
  180. {1, 19878, "Skateboard", 400, 0.0, 0.0},
  181. {1, 2630, "Exercise Bike", 1200, 0.0, 0.0},
  182. {1, 2629, "Gym Bench", 1400, 0.0, 0.0},
  183. {1, 2628, "Leg Press", 1400, 0.0, 0.0},
  184. {1, 2627, "Treadmill", 1400, 0.0, 0.0},
  185. {1, 2916, "Dumbbell", 500, 0.0, 0.0},
  186. {1, 2913, "Bar", 1000, 0.0, 0.0},
  187. {1, 1985, "Boxing bag", 800, 0.0, 0.0},
  188. {1, 19815, "Workshop Tools", 800, 0.0, 0.0},
  189. {1, 19621, "Oil Can", 600, 0.0, 0.0},
  190. {1, 19897, "Packet of Smokes", 200, 0.0, 0.0},
  191. {1, 19609, "Drum Kit", 2000, 0.0, 0.0},
  192. {1, 19317, "Electric Guitar", 1000, 0.0, 0.0},
  193. {1, 19610, "Microphone", 1100, 0.0, 0.0},
  194. {1, 19611, "Microphone Stand", 500, 0.0, 0.0},
  195. {1, 19613, "Guitar Amp", 700, 0.0, 0.0},
  196. {1, 19624, "Travelling Suitcase", 400, 0.0, 0.0},
  197. {1, 11729, "Locker", 800, 0.0, 0.0},
  198. {1, 11738, "Medical Box", 200, 0.0, 0.0},
  199. {1, 11736, "Medical Pack", 200, 0.0, 0.0},
  200. {1, 11745, "Big Black Dufflebag", 200, 0.0, 0.0},
  201. {1, 1954, "Turn Table", 500, 0.0, 0.0},
  202. {1, 2964, "Pool Table", 700, 0.0, 0.0},
  203. {1, 14651, "Pool Table Set", 1000, 0.0, 0.0},
  204. {1, 2965, "Pool Triangle", 300, 0.0, 0.0},
  205. {1, 3003, "Pool White Ball", 200, 0.0, 0.0},
  206. {1, 3002, "Pool Orange Ball", 200, 0.0, 0.0},
  207. {1, 3106, "Pool 8 Ball", 200, 0.0, 0.0},
  208. {1, 3004, "Pool Cue", 400, 0.0, 0.0},
  209. {1, 19918, "Magic Box", 400, 0.0, 0.0},
  210. {1, 11725, "Black Fireplace", 2500, 0.0, 0.0},//Lounge 186
  211. {1, 11724, "Large Stone Fireplace", 5000, 0.0, 0.0},
  212. {1, 19632, "Wooden Logs", 800, 0.0, 0.0},
  213. {1, 2313, "TV Cabinet", 600, 0.0, 0.0},
  214. {1, 2311, "TV Cabinet 2", 600, 0.0, 0.0},
  215. {1, 2078, "China Cabinet", 800, 0.0, 0.0},
  216. {1, 2083, "Glass Coffee Table", 800, 0.0, 0.0},
  217. {1, 1821, "Wooden Trolley", 800, 0.0, 0.0},
  218. {1, 2082, "Dark Square Coffee", 1000, 0.0, 0.0},
  219. {1, 1823, "Dark Coffee Table", 900, 0.0, 0.0},
  220. {1, 1822, "Round Coffee Table", 1200, 0.0, 0.0},
  221. {1, 1815, "Round Wood Coffee", 800, 0.0, 0.0},
  222. {1, 2236, "Rectangle Coffee Tab", 1100, 0.0, 0.0},
  223. {1, 1814, "Wooden Coffee Table", 900, 0.0, 0.0},
  224. {1, 2081, "Semi-circle Coffee", 800, 0.0, 0.0},
  225. {1, 1819, "Round Coffee Table", 900, 0.0, 0.0},
  226. {1, 2235, "Old Coffee Table", 1000, 0.0, 0.0},
  227. {1, 2084, "Glass China Cabinet", 1000, 0.0, 0.0},
  228. {1, 1759, "Weaved Old Chair", 1400, 180.0, 180.0},
  229. {1, 1765, "Beige Sofa Chair", 1600, 180.0, 180.0},
  230. {1, 1758, "Dark Sofa Chair", 1600, 180.0, 180.0},
  231. {1, 1755, "Blue Sofa Chair", 1600, 180.0, 180.0},
  232. {1, 1769, "Blue Wood Sofa Chair", 1600, 180.0, 180.0},
  233. {1, 1762, "Basic Sofa Chair", 1600, 180.0, 180.0},
  234. {1, 1767, "Basic Sofa Chair 2", 1600, 180.0, 180.0},
  235. {1, 11717, "Love Sofa", 2100, 180.0, 180.0},
  236. {1, 1707, "Future Sofa", 2200, 0.0, 0.0},
  237. {1, 1764, "Beige Sofa", 2200, 180.0, 180.0},
  238. {1, 1763, "Weaved Sofa", 2200, 180.0, 180.0},
  239. {1, 1712, "Old Worn Sofa", 2200, 180.0, 180.0},
  240. {1, 1702, "Brown Sofa", 2200, 180.0, 180.0},
  241. {1, 1706, "Chip Sofa", 2200, 180.0, 180.0},
  242. {1, 1768, "Blue Sofa", 2200, 180.0, 180.0},
  243. {1, 1766, "Budget Sofa", 2200, 180.0, 180.0},
  244. {1, 1757, "Budget Dark Sofa", 2200, 180.0, 180.0},
  245. {1, 1761, "Budget Dark Sofa 2", 2200, 180.0, 180.0},
  246. {1, 1713, "Business Sofa", 2200, 180.0, 180.0},
  247. {1, 1703, "Black Posh Sofa", 2200, 180.0, 180.0},
  248. {1, 1760, "Blue Sofa 2", 2200, 180.0, 180.0},
  249. {1, 1756, "Dark Budget Sofa", 2200, 180.0, 180.0},
  250. {1, 14491, "Sofa & Table Set", 3000, 0.0, 0.0},
  251. {1, 1710, "Large Old Sofa", 2300, 180.0, 180.0},
  252. {1, 14493, "Two Sofa Set", 2800, 0.0, 0.0},
  253. {1, 2293, "Ottomat", 600, 0.0, 0.0},
  254. {1, 1735, "Chair", 700, 180.0, 180.0},
  255. {1, 11734, "Rocking Chair", 700, 180.0, 180.0},
  256. {1, 2096, "Rocking Chair 2", 500, 180.0, 180.0},
  257. {1, 2306, "Cabinet", 800, 180.0, 180.0},//Bedroom
  258. {1, 2021, "Pink Drawers", 1200, 180.0, 180.0},
  259. {1, 2020, "Pink Drawers 2", 1400, 180.0, 180.0},
  260. {1, 1740, "Wooden Bedside", 1000, 180.0, 180.0},
  261. {1, 2095, "Bedside Drawers", 1100, 180.0, 180.0},
  262. {1, 1417, "Ugly Wardroom", 1000, 180.0, 180.0},
  263. {1, 2323, "Wooden Drawers", 1000, 180.0, 180.0},
  264. {1, 1743, "Medium Cabinet", 1000, 180.0, 180.0},
  265. {1, 2145, "Clothes Cabinet", 1000, 180.0, 180.0},
  266. {1, 2025, "Posh Wardroom", 1200, 180.0, 180.0},
  267. {1, 2329, "Wooden Wardroom", 1200, 180.0, 180.0},
  268. {1, 2569, "White Dresser", 1200, 180.0, 180.0},
  269. {1, 2574, "Dresser & Table", 1800, 180.0, 180.0},
  270. {1, 2570, "Dresser & Utils", 1500, 180.0, 180.0},
  271. {1, 2576, "Wooden Dressers", 1700, 180.0, 180.0},
  272. {1, 2568, "Dark Table & Lamps", 1400, 180.0, 180.0},
  273. {1, 1812, "Foldup Bed", 800, 180.0, 180.0},
  274. {1, 1771, "Mattress & Base Bed", 1000, 180.0, 180.0},
  275. {1, 1796, "Single Bed", 1100, 180.0, 180.0},
  276. {1, 11720, "King Single Bed", 1700, 180.0, 180.0},
  277. {1, 2302, "Queen Bed", 1800, 180.0, 180.0},
  278. {1, 1794, "Queen Bed 2", 1700, 180.0, 180.0},
  279. {1, 14866, "Queen Bed 3", 1900, 180.0, 180.0},
  280. {1, 1700, "Queen Bed 4", 1800, 180.0, 180.0},
  281. {1, 2301, "Queen Bed 5", 2000, 180.0, 180.0},
  282. {1, 2090, "Queen Bed 6", 1800, 180.0, 180.0},
  283. {1, 2299, "Queen Bed 7", 2000, 180.0, 180.0},
  284. {1, 1797, "Queen Bed 8", 1900, 180.0, 180.0},
  285. {1, 1701, "Queen Bed 9", 1800, 180.0, 180.0},
  286. {1, 1745, "Queen Bed 10", 1900, 180.0, 180.0},
  287. {1, 1795, "Queen Bed 11", 1400, 180.0, 180.0},
  288. {1, 1798, "Queen Bed 12", 1500, 180.0, 180.0},
  289. {1, 1799, "Queen Bed 13", 1700, 180.0, 180.0},
  290. {1, 1801, "Queen Bed 14", 1500, 180.0, 180.0},
  291. {1, 1802, "Queen Bed 15", 1600, 180.0, 180.0},
  292. {1, 1803, "Queen Bed 16", 1800, 180.0, 180.0},
  293. {1, 1793, "Queen Mattresses", 1200, 180.0, 180.0},
  294. {1, 14880, "Queen Mattresses 2", 1200, 180.0, 180.0},
  295. {1, 14861, "Queen Mattresses 3", 1200, 180.0, 180.0},
  296. {1, 2575, "Bedroom Set, Bed", 2000, 180.0, 180.0},
  297. {1, 11731, "Heart Bed", 2000, 180.0, 180.0},
  298. {1, 2399, "Rack of Clothes", 200, 0.0, 0.0},
  299. {1, 11735, "Boot", 200, 0.0, 0.0},
  300. {1, 2689, "Shirt", 400, 0.0, 0.0},
  301. {1, 2704, "Shirt2", 400, 0.0, 0.0},
  302. {1, 2706, "Shirt3", 400, 0.0, 0.0},
  303. {1, 2694, "Shoebox", 200, 0.0, 0.0},
  304. {1, 2003, "Safe1", 500, 180.0, 180.0},
  305. {1, 2004, "Safe2", 500, 180.0, 180.0},
  306. {1, 2005, "Safe3", 500, 180.0, 180.0},
  307. {1, 19931, "Dark Counter", 1000, 180.0, 180.0},//Kitchen 283
  308. {1, 19928, "Dark Counter 2", 1000, 180.0, 180.0},
  309. {1, 19930, "Dark Counter 3", 1000, 180.0, 180.0},
  310. {1, 19932, "Dark Oven Cabinet", 1000, 180.0, 180.0},
  311. {1, 19935, "Dark Cupboard", 1000, 180.0, 180.0},
  312. {1, 19925, "Dark Corner Counter", 1000, 180.0, 180.0},
  313. {1, 19936, "Dark Cut Counter", 1000, 180.0, 180.0},
  314. {1, 19937, "Dark Cupboard 2", 1000, 180.0, 180.0},
  315. {1, 2089, "Dark Cupboard 3", 1000, 180.0, 180.0},
  316. {1, 19927, "Dark Sink", 1000, 180.0, 180.0},
  317. {1, 19923, "Dark Island", 2500, 180.0, 180.0},
  318. {1, 19929, "Dark Trip. Counter", 2000, 180.0, 180.0},
  319. {1, 2139, "Maple Counter", 1200, 180.0, 180.0},
  320. {1, 2303, "Maple Dishwasher", 1200, 180.0, 180.0},
  321. {1, 2133, "Steel Counter", 1100, 180.0, 180.0},
  322. {1, 2134, "Steel Counter 2", 1100, 180.0, 180.0},
  323. {1, 2341, "Steel Corner Counter", 1100, 180.0, 180.0},
  324. {1, 2335, "Green Counter", 1200, 180.0, 180.0},
  325. {1, 2334, "Green Counter 2", 1200, 180.0, 180.0},
  326. {1, 2338, "Green Corner Counter", 1200,180.0, 180.0},
  327. {1, 2156, "Green Doub. Counter", 1200, 180.0, 180.0},
  328. {1, 2157, "Green Doub Counter 2", 1200, 180.0, 180.0},
  329. {1, 2159, "Green Slot Counter", 1200, 180.0, 180.0},
  330. {1, 2160, "Green Sink", 1200, 180.0, 180.0},
  331. {1, 2155, "White Counter", 1300, 180.0, 180.0},
  332. {1, 2152, "White Long Counter", 1300, 180.0, 180.0},
  333. {1, 2154, "White Sink", 1300, 180.0, 180.0},
  334. {1, 2151, "White Top Bot Counter", 1300, 180.0, 180.0},
  335. {1, 2142, "Black/Wood Counter", 1400, 180.0, 180.0},
  336. {1, 2148, "Black/Wood Counter 2", 1400, 180.0, 180.0},
  337. {1, 2148, "Black/Wood Dishwasher", 1400, 180.0, 180.0},
  338. {1, 2136, "Counter with Sink", 1500, 180.0, 180.0},
  339. {1, 2013, "Orange Counter Sink", 1400, 180.0, 180.0},
  340. {1, 2015, "Orange Counter", 1100, 180.0, 180.0},
  341. {1, 2017, "Orange Oven Counter", 1100, 180.0, 180.0},
  342. {1, 2018, "Orange Wash Machine", 1100, 180.0, 180.0},
  343. {1, 2022, "Orange Corner Counter", 1100, 180.0, 180.0},
  344. {1, 2016, "Orange Draws Counter", 1100, 180.0, 180.0},
  345. {1, 2019, "Orange Fridge Counter", 1100, 180.0, 180.0},
  346. {1, 2127, "Kitchenset red", 700, 180.0, 180.0},
  347. {1, 2128, "Kitchenset red", 700, 180.0, 180.0},
  348. {1, 2129, "Kitchenset red", 700, 180.0, 180.0},
  349. {1, 2130, "Kitchenset red", 700, 180.0, 180.0},
  350. {1, 2092, "Circle Pantry", 1800, 180.0, 180.0},
  351. {1, 19915, "White Old Stove", 2200, 180.0, 180.0},
  352. {1, 936, "Work Bench 1", 1500, 180.0, 180.0},
  353. {1, 937, "Work Bench 2", 1500, 180.0, 180.0},
  354. {1, 2451, "Work Bench 3", 1500, 180.0, 180.0},
  355. {1, 2419, "Work Bench 4", 1500, 180.0, 180.0},
  356. {1, 2418, "Work Bench 5", 1500, 180.0, 180.0},
  357. {1, 19916, "Fridge", 2100, 180.0, 180.0},
  358. {1, 2532, "Bar Fridge", 3000, 180.0, 180.0},
  359. {1, 19933, "Oven", 1400, 180.0, 180.0},
  360. {1, 1773, "Oven 2", 1000, 180.0, 180.0},
  361. {1, 1777, "Oven 3", 1200, 180.0, 180.0},
  362. {1, 2144, "Oven 4", 900, 180.0, 180.0},
  363. {1, 19924, "Extraction Hood", 2200, 0.0, 0.0},
  364. {1, 2150, "Sink", 800, 180.0, 180.0},
  365. {1, 2427, "Sprunk Machine", 1800, 180.0, 180.0},
  366. {1, 11743, "Coffee Machine", 1900,180.0, 180.0},
  367. {1, 1808, "Water Dispenser", 1900, 180.0, 180.0},
  368. {1, 2832, "Dirty Dishes", 200, 0.0, 0.0},
  369. {1, 2850, "Dirty Dishes 2", 200, 0.0, 0.0},
  370. {1, 19993, "Bowl", 200, 0.0, 0.0},
  371. {1, 11744, "Plate", 200, 0.0, 0.0},
  372. {1, 2822, "Plate Set", 300, 0.0, 0.0},
  373. {1, 2829, "Plate Set 2", 300, 0.0, 0.0},
  374. {1, 2864, "Bowl Set", 300, 0.0, 0.0},
  375. {1, 19835, "Coffee Cup", 200, 0.0, 0.0},
  376. {1, 2437, "Cup Pile", 200, 0.0, 0.0},
  377. {1, 11718, "Sauce Pan 1", 200, 0.0, 0.0},
  378. {1, 11719, "Sauce Pan 2", 200, 0.0, 0.0},
  379. {1, 19585, "Sauce Pan 3", 200, 0.0, 0.0},
  380. {1, 19584, "Sauce Pan 4", 200, 0.0, 0.0},
  381. {1, 19581, "Fry pan", 200, 0.0, 0.0},
  382. {1, 19586, "Spatula", 200, 0.0, 0.0},
  383. {1, 19583, "Sharp Knife", 200, 0.0, 0.0},
  384. {1, 11715, "Fork", 200, 0.0, 0.0},
  385. {1, 11716, "Butter Knife", 200, 0.0, 0.0},
  386. {1, 19582, "Meat", 200, 0.0, 0.0},
  387. {1, 19882, "Cooked Meat", 200, 0.0, 0.0},
  388. {1, 19580, "Pizza", 200, 0.0, 0.0},
  389. {1, 19571, "Pizza Box", 200, 0.0, 0.0},
  390. {1, 2881, "Slice of Pizza", 200, 0.0, 0.0},
  391. {1, 19576, "Green Apple", 200, 0.0, 0.0},
  392. {1, 19575, "Red Apple", 200, 0.0, 0.0},
  393. {1, 19578, "Banana", 200, 0.0, 0.0},
  394. {1, 19579, "Loaf of Bread", 200, 0.0, 0.0},
  395. {1, 19561, "Cereal Box 1", 200, 0.0, 0.0},
  396. {1, 19562, "Cereal Box 2", 200, 0.0, 0.0},
  397. {1, 19563, "Orange Juice", 200, 0.0, 0.0},
  398. {1, 19564, "Apple Juice", 200, 0.0, 0.0},
  399. {1, 19566, "Fish Fingers", 200, 0.0, 0.0},
  400. {1, 19567, "Ice Cream", 200, 0.0, 0.0},
  401. {1, 19570, "Bottle of Milk", 200, 0.0, 0.0},
  402. {1, 19572, "Box of Beer", 200, 0.0, 0.0},
  403. {1, 19573, "Bag of Coal", 200, 0.0, 0.0},
  404. {1, 19574, "Orange", 200, 0.0, 0.0},
  405. {1, 19630, "Fish", 200, 0.0, 0.0},
  406. {1, 19818, "Wine Glass", 200, 0.0, 0.0},
  407. {1, 19820, "Wine Bottle 1", 200, 0.0, 0.0},
  408. {1, 19821, "Wine Bottle 2", 200, 0.0, 0.0},
  409. {1, 19822, "Wine Bottle 3", 200, 0.0, 0.0},
  410. {1, 19824, "Wine Bottle 4", 200, 0.0, 0.0},
  411. {1, 19883, "Piece of Bread", 200, 0.0, 0.0},
  412. {1, 19587, "Plastic Pallet", 200, 0.0, 0.0},
  413. {1, 11722, "Ketchup", 200, 0.0, 0.0},
  414. {1, 11723, "Mustard", 200, 0.0, 0.0},
  415. {1, 11741, "Cake", 200, 0.0, 0.0},
  416. {1, 11742, "Slice of Cake", 200, 0.0, 0.0},
  417. {1, 11706, "Trashcan", 500, 0.0, 0.0},
  418. {1, 1486, "Bottle 1", 100, 0.0, 0.0},
  419. {1, 1487, "Bottle 2", 100, 0.0, 0.0},
  420. {1, 1509, "Bottle 3", 100, 0.0, 0.0},
  421. {1, 1520, "Bottle 4", 100, 0.0, 0.0},
  422. {1, 1543, "Bottle 5", 100, 0.0, 0.0},
  423. {1, 1544, "Bottle 6", 100, 0.0, 0.0},
  424. {1, 1664, "Wine", 100, 0.0, 0.0},
  425. {1, 1668, "Wine 2", 100, 0.0, 0.0},
  426. {1, 1669, "Wine 3", 100, 0.0, 0.0},
  427. {1, 1670, "Wine 4", 100, 0.0, 0.0},
  428. {1, 1665, "Ashtray", 80, 0.0, 0.0},
  429. {1, 1546, "Cup", 90, 0.0, 0.0},
  430. {1, 1950, "Bottle 7", 100, 0.0, 0.0},
  431. {1, 2829, "Dishes", 80, 0.0, 0.0},
  432. {1, 2822, "Dishes2", 80, 0.0, 0.0},
  433. {1, 2830, "Dishes3", 80, 0.0, 0.0},
  434. {1, 2831, "Dishes4", 80, 0.0, 0.0},
  435. {1, 2832, "Dishes5", 80, 0.0, 0.0},
  436. {1, 2848, "Dishes6", 80, 0.0, 0.0},
  437. {1, 2849, "Dishes7", 80, 0.0, 0.0},
  438. {1, 2856, "Milk", 80, 0.0, 0.0},
  439. {1, 2857,"Empty Pizza", 50, 0.0, 0.0},
  440. {1, 2858, "Empty Chinese", 50, 0.0, 0.0},
  441. {1, 2860, "Pizza", 200, 0.0, 0.0},
  442. {1, 2803, "Meat", 400, 0.0, 0.0},
  443. {1, 1820, "Round Dining Table", 1600, 0.0, 0.0},//Dining 419
  444. {1, 2112, "Medium Wood Table", 1600, 0.0, 0.0},
  445. {1, 2080, "Ellipse Wood Table", 1600, 0.0, 0.0},
  446. {1, 2110, "Basic Dining Table", 1600, 0.0, 0.0},
  447. {1, 1737, "Basic Dining Table 2", 1600, 0.0, 0.0},
  448. {1, 1770, "Basic Dining Table 3", 1600, 0.0, 0.0},
  449. {1, 2032, "Basic Dining Table 4", 1600, 0.0, 0.0},
  450. {1, 2118, "Maple Dining Table", 1800, 0.0, 0.0},
  451. {1, 2030, "Round Maple Dining", 2000, 0.0, 0.0},
  452. {1, 15037, "Table with Chair & TV", 2100, 0.0, 0.0},
  453. {1, 19997, "Small Table", 500, 0.0, 0.0},
  454. {1, 1516, "Small Table 2", 500, 0.0, 0.0},
  455. {1, 2764, "Cloth Table", 800, 0.0, 0.0},
  456. {1, 1811, "Dining Chair 1", 400, 0.0, 0.0},
  457. {1, 2636, "Dining Chair 2", 400, 0.0, 0.0},
  458. {1, 2121, "Dining Chair 3", 400, 0.0, 0.0},
  459. {1, 2776, "Dining Chair 4", 400, 0.0, 0.0},
  460. {1, 2120, "Dining Chair 5", 400, 0.0, 0.0},
  461. {1, 1739, "Dining Chair 6", 400, 0.0, 0.0},
  462. {1, 2807, "Dining Chair 7", 400, 0.0, 0.0},
  463. {1, 1720, "Dining Chair 8", 400, 0.0, 0.0},
  464. {1, 2123, "Dining Chair 9", 400, 0.0, 0.0},
  465. {1, 2124, "Dining Chair 10", 400, 0.0, 0.0},
  466. {1, 19996, "Dining Chair 11", 400, 0.0, 0.0},
  467. {1, 1716, "Stool", 400, 0.0, 0.0},
  468. {1, 2350, "Stool 2", 400, 0.0, 0.0},
  469. {1, 2125, "Stool 3", 400, 0.0, 0.0},
  470. {1, 1805, "Stool 4", 400, 0.0, 0.0},
  471. {1, 2802, "Table & Chairs", 800, 0.0, 0.0},
  472. {1, 2801, "Table Top 1", 500, 0.0, 0.0},
  473. {1, 2800, "Table Top 2", 500, 0.0, 0.0},
  474. {1, 1670, "Table Top 3", 500, 0.0, 0.0},
  475. {1, 11732, "Heart Bath Tub", 4000, 0.0, 0.0},//Bathroom 451
  476. {1, 2526, "Bath Tub", 1100, 0.0, 0.0},
  477. {1, 2516, "Bath Tub 2", 1200, 0.0, 0.0},
  478. {1, 2519, "Bath Tub 3", 1300, 0.0, 0.0},
  479. {1, 2522, "Bath Tub 4", 1300, 0.0, 0.0},
  480. {1, 14494, "Shower Bath", 800, 0.0, 0.0},
  481. {1, 2527, "Shower", 800, 0.0, 0.0},
  482. {1, 2517, "Shower 2", 800, 0.0, 0.0},
  483. {1, 2528, "Toilet", 500, 0.0, 0.0},
  484. {1, 2521, "Toilet 2", 400, 0.0, 0.0},
  485. {1, 2525, "Toilet 3", 500, 0.0, 0.0},
  486. {1, 19873, "Toilet Paper", 200, 0.0, 0.0},
  487. {1, 2515, "Sink", 600, 0.0, 0.0},
  488. {1, 2518, "Sink 2", 800, 0.0, 0.0},
  489. {1, 2523, "Sink 3", 1000, 0.0, 0.0},
  490. {1, 2524, "Sink 4", 800, 0.0, 0.0},
  491. {1, 2739, "Sink 5", 900, 0.0, 0.0},
  492. {1, 11707, "Towel Rack", 500, 0.0, 0.0},
  493. {1, 19874, "Bar of Soap", 50, 0.0, 0.0},
  494. {1, 2742, "Hand dryer", 300, 0.0, 0.0},
  495. {1, 2750, "Hair dryer", 300, 0.0, 0.0},
  496. {1, 2752, "Hair product", 200, 0.0, 0.0},
  497. {1, 2751, "Hair product2", 200, 0.0, 0.0},
  498. {1, 2741, "Soap dispenser", 700, 0.0, 0.0},
  499. {1, 11709, "Sink", 1200, 0.0, 0.0},//Laundry 475
  500. {1, 1208, "Washer", 1500, 0.0, 0.0},
  501. {1, 19622, "Broom", 200, 0.0, 0.0},
  502. {1, 1778, "Mop & Bucket", 300, 0.0, 0.0},
  503. {1, 2844, "Clothes 1", 200, 0.0, 0.0},
  504. {1, 2845, "Clothes 2", 200, 0.0, 0.0},
  505. {1, 2846, "Clothes 3", 200, 0.0, 0.0},
  506. {1, 2819, "Clothes 4", 200, 0.0, 0.0},
  507. {1, 2843, "Clothes 5", 200, 0.0, 0.0},
  508. {1, 14401, "Benches", 900, 0.0, 0.0},
  509. {1, 19920, "TV Remote", 200, 0.0, 0.0},//Electronics 485
  510. {1, 19807, "Telephone", 500, 0.0, 0.0},
  511. {1, 19808, "Keyboard", 500, 0.0, 0.0},
  512. {1, 2149, "Microwave", 700, 0.0, 0.0},
  513. {1, 2421, "Microwave 2", 800, 0.0, 0.0},
  514. {1, 1719, "Console", 800, 0.0, 0.0},
  515. {1, 2028, "Console 2", 800, 0.0, 0.0},
  516. {1, 19830, "Blender", 800, 0.0, 0.0},
  517. {1, 11705, "Old Telephone", 800, 0.0, 0.0},
  518. {1, 2102, "Radio", 900, 0.0, 0.0},
  519. {1, 14772, "Television", 1200, 0.0, 0.0},
  520. {1, 1790, "Video Player", 800, 0.0, 0.0},
  521. {1, 1782, "Video Player 2", 800, 0.0, 0.0},
  522. {1, 1747, "Old Television", 1000, 0.0, 0.0},
  523. {1, 1748, "Large Television", 1200, 0.0, 0.0},
  524. {1, 2320, "Large Television 2", 1200, 0.0, 0.0},
  525. {1, 2190, "Computer", 2100, 0.0, 0.0},
  526. {1, 1781, "Modern Television", 1400, 0.0, 0.0},
  527. {1, 2318, "Modern Television 2", 1400, 0.0, 0.0},
  528. {1, 2101, "Stero Set", 1800, 0.0, 0.0},
  529. {1, 19614, "Guitar Amp", 1200, 0.0, 0.0},
  530. {1, 2226, "Funk Stero", 1400, 0.0, 0.0},
  531. {1, 2322, "Grey Television", 1000, 0.0, 0.0},
  532. {1, 2595, "TV with Recorder", 1200, 0.0, 0.0},
  533. {1, 2596, "Wall TV", 1200, 0.0, 0.0},
  534. {1, 2231, "Speaker", 700, 0.0, 0.0},
  535. {1, 2225, "Flash Stero", 1000, 0.0, 0.0},
  536. {1, 2227, "Flash Speaker", 400, 0.0, 0.0},
  537. {1, 2426, "Pizza Oven", 1200, 0.0, 0.0},
  538. {1, 2233, "Speaker on Stand", 500, 0.0, 0.0},
  539. {1, 2103, "Stero", 800, 0.0, 0.0},
  540. {1, 2312, "Flash Television", 2000, 0.0, 0.0},
  541. {1, 1786, "Flash Television 2", 2000, 0.0, 0.0},
  542. {1, 2104, "HI-FI Sound Set", 1700, 0.0, 0.0},
  543. {1, 2229, "HI-FI Speaker", 500, 0.0, 0.0},
  544. {1, 2232, "HI-FI Speaker 2", 500, 0.0, 0.0},
  545. {1, 1717, "Television on Stand", 1000, 0.0, 0.0},
  546. {1, 11721, "Electric Heater", 800, 0.0, 0.0},
  547. {1, 1738, "Old Radiator", 500, 0.0, 0.0},
  548. {1, 2099, "Large Stero", 2200, 0.0, 0.0},
  549. {1, 14806, "TV & Stero Set", 3000, 0.0, 0.0},
  550. {1, 14527, "Ceiling Fan", 1200, 0.0, 0.0},
  551. {1, 19623, "Camera", 800, 0.0, 0.0},
  552. {1, 19786, "LCD TV Big", 2300, 0.0, 0.0},
  553. {1, 19787, "LCD TV Medium", 1700, 0.0, 0.0},
  554. {1, 19893, "Laptop Open", 1200, 0.0, 0.0},
  555. {1, 19894, "Laptop Closed", 1000, 0.0, 0.0},
  556. {1, 19273, "Keypad of Security", 800, 0.0, 0.0},
  557. {1, 1616, "Security Camera", 800, 0.0, 0.0},
  558. {1, 920, "Generator", 1800, 0.0, 0.0},
  559. {1, 927, "Electric Wires", 800, 0.0, 0.0},
  560. {1, 955, "Sprunk Machine", 1400, 0.0, 0.0},
  561. {1, 956, "Snack Machine", 1500, 0.0, 0.0},
  562. {1, 2966, "Cellphone1", 100, 0.0, 0.0},
  563. {1, 2967, "Cellphone2", 100, 0.0, 0.0},
  564. {1, 3785, "Wall Light", 500, 0.0, 0.0},//Lights 540
  565. {1, 11727, "Wall Light 2", 500, 0.0, 0.0},
  566. {1, 2239, "Light Stand", 500, 0.0, 0.0},
  567. {1, 2107, "Desk Lamp", 500, 0.0, 0.0},
  568. {1, 2069, "Floor Lamp", 500, 0.0, 0.0},
  569. {1, 1731, "Wall Lamp", 500, 0.0, 0.0},
  570. {1, 3801, "Wall Lamp 2", 500, 0.0, 0.0},
  571. {1, 1734, "Ceiling Light", 500, 0.0, 0.0},
  572. {1, 2073, "Ceiling Light 2", 500, 0.0, 0.0},
  573. {1, 2074, "Ceiling Light 3", 500, 0.0, 0.0},
  574. {1, 2076, "Ceiling Light 4", 500, 0.0, 0.0},
  575. {1, 2026, "Ceiling Light 5", 500, 0.0, 0.0},
  576. {1, 1893, "Ceiling Light 6", 500, 0.0, 0.0},
  577. {1, 16779, "Ceiling Light & Fan", 500, 0.0, 0.0},
  578. {1, 2196, "Desk Lamp", 500, 0.0, 0.0},
  579. {1, 2238, "Lava Lamp", 500, 0.0, 0.0},
  580. {1, 2726, "Red Lamp", 500, 0.0, 0.0},
  581. {1, 3534, "Red Lamp 2", 500, 0.0, 0.0},
  582. {1, 19806, "Chandelier", 1200, 0.0, 0.0},
  583. {1, 11726, "Chandelier 2", 1200, 0.0, 0.0},
  584. {1, 19827, "Light Switch", 200, 0.0, 0.0},
  585. {1, 1280, "Wooden Bench", 500, 0.0, 0.0},//Outdoor 561
  586. {1, 1430, "Trash Bin", 500, 0.0, 0.0},
  587. {1, 1344, "Dumpster", 500, 0.0, 0.0},
  588. {1, 1439, "Dumpster 2", 500, 0.0, 0.0},
  589. {1, 1331, "Glass Dumpster", 500, 0.0, 0.0},
  590. {1, 1333, "Waste Dumpster", 500, 0.0, 0.0},
  591. {1, 1334, "Secured Dumpster", 500, 0.0, 0.0},
  592. {1, 19831, "BBQ", 700, 0.0, 0.0},
  593. {1, 1481, "BBQ 2", 1000, 0.0, 0.0},
  594. {1, 1369, "Old Wheelchair", 500, 0.0, 0.0},
  595. {1, 1679, "Table & Chairs", 900, 0.0, 0.0},
  596. {1, 1594, "Table & Chairs 2", 900, 0.0, 0.0},
  597. {1, 1825, "Table & Chairs 3", 900, 0.0, 0.0},
  598. {1, 642, "Umbrella", 500, 0.0, 0.0},
  599. {1, 1438, "Boxes", 500, 0.0, 0.0},
  600. {1, 1440, "Boxes 2", 500, 0.0, 0.0},
  601. {1, 3408, "Mail Box", 500, 0.0, 0.0},
  602. {1, 19867, "Mail Box 2", 500, 0.0, 0.0},
  603. {1, 19626, "Spade", 600, 0.0, 0.0},
  604. {1, 19631, "Sledge Hammer", 600, 0.0, 0.0},
  605. {1, 1255, "Pool seat", 900, 0.0, 0.0},
  606. {1, 1432, "Table", 500, 0.0, 0.0},
  607. {1, 1547, "Beach towel", 200, 0.0, 0.0},
  608. {1, 1640, "Beach towel 2", 200, 0.0, 0.0},
  609. {1, 1642, "Beach towel 3", 200, 0.0, 0.0},
  610. {1, 1643, "Beach towel 4", 200, 0.0, 0.0},
  611. {1, 2818, "Beach towel 5", 200, 0.0, 0.0},
  612. {1, 2817, "Beach towel 6", 200, 0.0, 0.0},
  613. {1, 914, "Window vent", 400, 0.0, 0.0},
  614. {1, 916, "Empty tray", 200, 0.0, 0.0},
  615. {1, 917, "Empty tray large", 1000, 0.0, 0.0},
  616. {1, 922, "Boxes", 1000, 0.0, 0.0},
  617. {1, 923, "Boxes 2", 1000, 0.0, 0.0},
  618. {1, 924, "Empty trays", 1000, 0.0, 0.0},
  619. {1, 925, "Oil tanks", 1000, 0.0, 0.0},
  620. {1, 926, "Empty boxes", 1000, 0.0, 0.0},
  621. {1, 930, "Tanks", 1000, 0.0, 0.0},
  622. {1, 931, "Empty cage", 1000, 0.0, 0.0},
  623. {1, 933, "Wheel", 1000, 0.0, 0.0},
  624. {1, 935, "Oil Drum", 1000, 0.0, 0.0},
  625. {1, 1220, "Boxes 3", 1000, 0.0, 0.0},
  626. {1, 1227, "Dumpster", 1000, 0.0, 0.0},
  627. {1, 1264, "Trash bag", 1000, 0.0, 0.0},
  628. {1, 1271, "Wood crate", 1000, 0.0, 0.0},
  629. {1, 1300, "Outdoor bin", 1000, 0.0, 0.0},
  630. {1, 1327, "Tire", 1000, 0.0, 0.0},
  631. {1, 1328, "Trashcan", 1000, 0.0, 0.0},
  632. {1, 1349, "Trolley", 1000, 0.0, 0.0},
  633. {1, 1428, "Ladder", 1000, 0.0, 0.0},
  634. {1, 1437, "Ladder2", 1000, 0.0, 0.0},
  635. {1, 1440, "Trash bags", 1000, 0.0, 0.0},
  636. {1, 1451, "Kennel", 1000, 0.0, 0.0},
  637. {1, 1454, "Hay ball", 1000, 0.0, 0.0},
  638. {1, 1457, "Shack", 1000, 0.0, 0.0},
  639. {1, 1458, "Trailer", 1000, 0.0, 0.0},
  640. {1, 1463, "Wood pile", 1000, 0.0, 0.0},
  641. {1, 1490, "Tagging", 1000, 0.0, 0.0},
  642. {1, 1595, "Satellite dish", 1000, 0.0, 0.0},
  643. {1, 1598, "Beach Ball", 1000, 0.0, 0.0},
  644. {1, 1946, "Basket Ball", 1000, 0.0, 0.0},
  645. {1, 1617, "AC 2", 1000, 0.0, 0.0},
  646. {1, 1639, "Volleyball net", 1000, 0.0, 0.0},
  647. {1, 1689, "Roof vent", 1000, 0.0, 0.0},
  648. {1, 1691, "Roof vent2", 1000, 0.0, 0.0},
  649. {1, 2203, "Pot plants", 1000, 0.0, 0.0},
  650. {1, 2228, "Shovel", 1000, 0.0, 0.0},
  651. {1, 2237, "Shovel2", 1000, 0.0, 0.0},
  652. {1, 1492, "Door 1 (moves)", 900, 0.0, 0.0},//Structural Changes 628
  653. {1, 1493, "Door 2", 900, 0.0, 0.0},
  654. {1, 3061, "Door 3", 900, 0.0, 0.0},
  655. {1, 1505, "Door 4", 900, 0.0, 0.0},
  656. {1, 1495, "Door 5", 900, 0.0, 0.0},
  657. {1, 1507, "Door 6", 900, 0.0, 0.0},
  658. {1, 19860, "Door 7", 900, 0.0, 0.0},
  659. {1, 1532, "Door 8", 900, 0.0, 0.0},
  660. {1, 2911, "Door 9", 900, 0.0, 0.0},
  661. {1, 3029, "Door 10 (breaks)", 900, 0.0, 0.0},
  662. {1, 1569, "Door 11", 900, 0.0, 0.0},
  663. {1, 2877, "Door 12", 900, 0.0, 0.0},
  664. {1, 1566, "Door 13", 900, 0.0, 0.0},
  665. {1, 19802, "Door 14", 900, 0.0, 0.0},
  666. {1, 11714, "Door 15", 900, 0.0, 0.0},
  667. {1, 19858, "Door 16", 900, 0.0, 0.0},
  668. {1, 1535, "Door 17", 900, 0.0, 0.0},
  669. {1, 1556, "Door 18", 900, 0.0, 0.0},
  670. {1, 1555, "Door 19", 900, 0.0, 0.0},
  671. {1, 1538, "Door 20", 900, 0.0, 0.0},
  672. {1, 1536, "Door 21", 900, 0.0, 0.0},
  673. {1, 1506, "Door 22", 900, 0.0, 0.0},
  674. {1, 1504, "Door 23", 900, 0.0, 0.0},
  675. {1, 1502, "Door 24 (moves)", 900, 0.0, 0.0},
  676. {1, 1501, "Door 25", 900, 0.0, 0.0},
  677. {1, 1499, "Door 26 (moves)", 900, 0.0, 0.0},
  678. {1, 1498, "Door 27", 900, 0.0, 0.0},
  679. {1, 1497, "Door 28", 900, 0.0, 0.0},
  680. {1, 1496, "Door 29", 900, 0.0, 0.0},
  681. {1, 1494, "Door 30 (moves)", 900, 0.0, 0.0},
  682. {1, 1491, "Door 31 (moves)", 900, 0.0, 0.0},
  683. {1, 2949, "Door 32", 900, 0.0, 0.0},
  684. {1, 19466, "Window 1", 500, 0.0, 0.0},
  685. {1, 3034, "Window 2", 500, 0.0, 0.0},
  686. {1, 3032, "Window 3", 500, 0.0, 0.0},
  687. {1, 14902, "Windows", 600, 0.0, 0.0},
  688. {1, 14892, "Posh Windows", 1000, 0.0, 0.0},
  689. {1, 11103, "Old Window", 400, 0.0, 0.0},
  690. {1, 3278, "Cottage Window", 500, 0.0, 0.0},
  691. {1, 14740, "Blinds", 900, 0.0, 0.0},
  692. {1, 18084, "Blind", 600, 0.0, 0.0},
  693. {1, 2558, "Curtains 1", 500, 0.0, 0.0},
  694. {1, 2559, "Curtains 2", 500, 0.0, 0.0},
  695. {1, 2560, "Curtains 3", 500, 0.0, 0.0},
  696. {1, 2561, "Curtains 4", 500, 0.0, 0.0},
  697. {1, 14752, "Curtains 5", 500, 0.0, 0.0},
  698. {1, 19368, "Beige Wall", 900, 0.0, 0.0},
  699. {1, 19397, "Beige Doorway", 900, 0.0, 0.0},
  700. {1, 19367, "Blue Wall", 900, 0.0, 0.0},
  701. {1, 19395, "Blue Doorway", 900, 0.0, 0.0},
  702. {1, 19369, "Grey Wall", 900, 0.0, 0.0},
  703. {1, 19396, "Grey Doorway", 900, 0.0, 0.0},
  704. {1, 19364, "Brick Wall", 900, 0.0, 0.0},
  705. {1, 19393, "Brick Doorway", 900, 0.0, 0.0},
  706. {1, 19354, "Wallpaper Wall", 900, 0.0, 0.0},
  707. {1, 19384, "Wallpaper Doorway", 900, 0.0, 0.0},
  708. {1, 19358, "Carpet Wall", 900, 0.0, 0.0},
  709. {1, 19388, "Carpet Doorway", 900, 0.0, 0.0},
  710. {1, 2755, "China Wall", 900, 0.0, 0.0},
  711. {1, 14456, "Roof Patterns", 900, 0.0, 0.0},
  712. {1, 1354, "Fan", 600, 0.0, 0.0},
  713. {1, 919, "Air Con", 800, 0.0, 0.0},
  714. {1, 2653, "Vent", 900, 0.0, 0.0},
  715. {1, 2649, "Vent 2", 900, 0.0, 0.0},
  716. {1, 3470, "Vent 3", 900, 0.0, 0.0},
  717. {1, 19814, "Wall Socket", 200, 0.0, 0.0}
  718. };
  719. enum furnInfo {
  720. f_ID, //id (prob un-needed)
  721. f_HouseID,
  722. f_SQLHouseID, //sql house id
  723. f_ModelID,
  724. f_ModelName[50],
  725. f_Spawned,
  726. f_ObjectID,
  727. f_Outdoor,
  728. f_VirtualWorld,
  729. Float:f_X,
  730. Float:f_Y,
  731. Float:f_Z,
  732. Float:f_RX,
  733. Float:f_RY,
  734. Float:f_RZ
  735. }
  736. new FurnitureInfo[MAX_HOUSES][MAX_FURNITURE][furnInfo];
  737. new EditingFurnitureObjectID[MAX_PLAYERS] = -1;
  738. new EditingFurnitureHouseID[MAX_PLAYERS] = -1;
  739. new EditingFurnitureID[MAX_PLAYERS] = -1;
  740. stock FindEmptyFurnitureSlot(houseid) {
  741. for(new i = 0; i < MAX_FURNITURE; i++) {
  742. if( !FurnitureInfo[houseid][i][f_ModelID] ) { //find empty slot without a modelid
  743. return i;
  744. }
  745. }
  746. return -1;
  747. }
  748. stock GetTotalFurnitureOutdoor(houseid) {
  749. new count = 0;
  750. for(new i = 0; i < MAX_FURNITURE; i++) {
  751. if(FurnitureInfo[houseid][i][f_Outdoor]) { //find empty slot without a modelid
  752. if( count >= MAX_OUTDOOR_FURNITURE ) { //limit max outside
  753. return count;
  754. }
  755. count++;
  756. }
  757. }
  758. return count;
  759. }
  760. stock LoadFurniture(houseid, sqlhouseid) {
  761. new query[200];
  762. mysql_format(sqlGameConnection, query, sizeof(query), "SELECT * FROM `furniture` WHERE `HouseID` = '%d' AND `Active`=1", sqlhouseid);
  763. mysql_tquery(sqlGameConnection, query, "OnLoadFurniture", "i", houseid);
  764. }
  765. forward OnLoadFurniture(houseid);
  766. public OnLoadFurniture(houseid) {
  767. if(cache_num_rows() == 0) return printf("[Furniture] WARNING: No furniture found for house id %d but hasFurniture is set to true.", houseid);
  768. new count = 0, outdoorc; //count of outdoor furniture
  769. //for each furniture object found in the database, put the data into array
  770. for(new i = 0; i < cache_num_rows(); i++)
  771. {
  772. FurnitureInfo[houseid][i][f_ID] = cache_get_field_content_int(i, "ID");
  773. FurnitureInfo[houseid][i][f_HouseID] = houseid;
  774. FurnitureInfo[houseid][i][f_SQLHouseID] = cache_get_field_content_int(i, "HouseID"); //sql id
  775. FurnitureInfo[houseid][i][f_ModelID] = cache_get_field_content_int(i, "ModelID");
  776. cache_get_field_content(i, "ModelName", FurnitureInfo[houseid][i][f_ModelName], sqlGameConnection, 50);
  777. FurnitureInfo[houseid][i][f_Spawned] = cache_get_field_content_int(i, "Spawned");
  778. FurnitureInfo[houseid][i][f_Outdoor] = cache_get_field_content_int(i, "Outdoor");
  779. if( FurnitureInfo[houseid][i][f_Outdoor] ) {
  780. if( outdoorc == MAX_OUTDOOR_FURNITURE ) {
  781. continue;
  782. }
  783. outdoorc++;
  784. }
  785. // FurnitureInfo[houseid][i][f_VirtualWorld] = cache_get_field_content_int(i, "VirtualWorld");
  786. FurnitureInfo[houseid][i][f_VirtualWorld] = HouseInfo[houseid][hWorld];
  787. FurnitureInfo[houseid][i][f_X] = cache_get_field_content_float(i, "X");
  788. FurnitureInfo[houseid][i][f_Y] = cache_get_field_content_float(i, "Y");
  789. FurnitureInfo[houseid][i][f_Z] = cache_get_field_content_float(i, "Z");
  790. FurnitureInfo[houseid][i][f_RX] = cache_get_field_content_float(i, "rX");
  791. FurnitureInfo[houseid][i][f_RY] = cache_get_field_content_float(i, "rY");
  792. FurnitureInfo[houseid][i][f_RZ] = cache_get_field_content_float(i, "rZ");
  793. if( FurnitureInfo[houseid][i][f_Spawned] ) {
  794. FurnitureInfo[houseid][i][f_ObjectID] = CreateDynamicObject(FurnitureInfo[houseid][i][f_ModelID], FurnitureInfo[houseid][i][f_X], FurnitureInfo[houseid][i][f_Y], FurnitureInfo[houseid][i][f_Z], FurnitureInfo[houseid][i][f_RX], FurnitureInfo[houseid][i][f_RY], FurnitureInfo[houseid][i][f_RZ], FurnitureInfo[houseid][i][f_VirtualWorld]);
  795. }
  796. HouseInfo[houseid][hFurnitureAmount]++;
  797. count++;
  798. }
  799. //printf("[Furniture] Successfully loaded %d furniture objects for houseid %d.", count, houseid);
  800. return 1;
  801. }
  802. stock CreateHouseFurniture(playerid, houseid, modelid, index) {
  803. //check for empty furniture slot in owners house
  804. new empty_slot = FindEmptyFurnitureSlot(houseid);
  805. if(empty_slot != -1) {
  806. //is it outdoor?
  807. new vw = GetPlayerVirtualWorld(playerid);
  808. if(vw) { //player is inside
  809. FurnitureInfo[houseid][empty_slot][f_VirtualWorld] = vw;
  810. } else {
  811. if(PlayerInfo[playerid][pDonateRank] < 3) {
  812. return SendClientMessage(playerid, COLOR_GREY, "You must be a Gold VIP to build outside your house.");
  813. }
  814. if( GetTotalFurnitureOutdoor( houseid ) >= MAX_OUTDOOR_FURNITURE ) {
  815. return SendClientMessage( playerid, COLOR_GREY, "You cannot have anymore furniture outside, the limit is 5." );
  816. }
  817. FurnitureInfo[houseid][empty_slot][f_Outdoor] = 1;
  818. }
  819. //spawn the object
  820. new Float:fPos[4];
  821. GetXYInFrontOfPlayer(playerid, fPos[0], fPos[1], fPos[2], fPos[3], 4);
  822. FurnitureInfo[houseid][empty_slot][f_ObjectID] = CreateDynamicObject(modelid, fPos[0], fPos[1], fPos[2], 0.0, 0.0, 0.0, FurnitureInfo[houseid][empty_slot][f_VirtualWorld] );
  823. EditDynamicObject(playerid, FurnitureInfo[houseid][empty_slot][f_ObjectID]);
  824. //update array
  825. FurnitureInfo[houseid][empty_slot][f_Spawned] = 1;
  826. FurnitureInfo[houseid][empty_slot][f_X] = fPos[0];
  827. FurnitureInfo[houseid][empty_slot][f_Y] = fPos[1];
  828. FurnitureInfo[houseid][empty_slot][f_Z] = fPos[2];
  829. FurnitureInfo[houseid][empty_slot][f_ModelID] = modelid;
  830. format(FurnitureInfo[houseid][empty_slot][f_ModelName], 64, "%s", FurnitureObjectList[index][fD_name]);
  831. FurnitureInfo[houseid][empty_slot][f_HouseID] = houseid;
  832. FurnitureInfo[houseid][empty_slot][f_SQLHouseID] = HouseInfo[houseid][hSQLID];
  833. //set editmode vars
  834. EditingFurnitureObjectID[playerid] = FurnitureInfo[houseid][empty_slot][f_ObjectID];
  835. EditingFurnitureHouseID[playerid] = houseid;
  836. EditingFurnitureID[playerid] = empty_slot;
  837. //purchase it
  838. GiveMoney(playerid, -FurnitureObjectList[index][fD_price]);
  839. format(str, sizeof(str), "* You have purchased a %s for $%d.", FurnitureObjectList[index][fD_name], FurnitureObjectList[index][fD_price]);
  840. SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
  841. //this tells the loadhouses function to load the furniture when there is a gmx
  842. if(!HouseInfo[houseid][hHasFurniture]) {
  843. HouseInfo[houseid][hHasFurniture] = 1;
  844. HouseInfo[houseid][hModified] = 1;
  845. }
  846. HouseInfo[houseid][hFurnitureAmount]++;
  847. //no more "hash", there could've been collisions, instead there's a simplier more effective method,
  848. new query[400];
  849. mysql_format(sqlGameConnection, query, sizeof(query), "INSERT INTO `furniture` (`Active`, `HouseID`, `ModelID`, `ModelName`, `VirtualWorld`, `Outdoor`, `Spawned`, `X`, `Y`, `Z`) VALUES(1, '%d', '%d', '%e', '%d', '%d', '%d', '%f', '%f', '%f')",
  850. FurnitureInfo[houseid][empty_slot][f_SQLHouseID], FurnitureInfo[houseid][empty_slot][f_ModelID], FurnitureInfo[houseid][empty_slot][f_ModelName], FurnitureInfo[houseid][empty_slot][f_VirtualWorld], FurnitureInfo[houseid][empty_slot][f_Outdoor], FurnitureInfo[houseid][empty_slot][f_Spawned], FurnitureInfo[houseid][empty_slot][f_X], FurnitureInfo[houseid][empty_slot][f_Y], FurnitureInfo[houseid][empty_slot][f_Z]);
  851. mysql_pquery(sqlGameConnection, query, "onCreateFurniture", "ii", houseid, empty_slot);
  852. }
  853. return 1;
  854. }
  855. forward onCreateFurniture(houseid, empty_slot);
  856. public onCreateFurniture(houseid, empty_slot) {
  857. new query[200];
  858. //ORDER BY ID DESC LIMIT 1: gets the last "unique" ID in list, AKA last created furniture given houseID
  859. mysql_format(sqlGameConnection, query, sizeof(query), "SELECT `ID` FROM `furniture` WHERE `HouseID` = %d ORDER BY ID DESC LIMIT 1;", HouseInfo[houseid][hSQLID]);
  860. mysql_pquery(sqlGameConnection, query, "SetPlayerFurnitureID", "ii", houseid, empty_slot);
  861. return 1;
  862. }
  863. forward SetPlayerFurnitureID(houseid, empty_slot);
  864. public SetPlayerFurnitureID(houseid, empty_slot) {
  865. FurnitureInfo[houseid][empty_slot][f_ID] = cache_get_field_content_int(0, "ID");
  866. }
  867. stock DeleteHouseFurniture(houseid, furnitureid) {
  868. //destroy the object
  869. if( IsValidDynamicObject( FurnitureInfo[houseid][furnitureid][f_ObjectID] ) ) {
  870. DestroyDynamicObjectEx(FurnitureInfo[houseid][furnitureid][f_ObjectID]);
  871. }
  872. //sql update
  873. new query[200];
  874. mysql_format(sqlGameConnection, query, sizeof(query), "UPDATE `furniture` SET `Active`=0 WHERE `ID`=%d", FurnitureInfo[houseid][furnitureid][f_ID]);
  875. mysql_pquery(sqlGameConnection, query);
  876. //clear info
  877. FurnitureInfo[houseid][furnitureid][f_ID] = 0;
  878. FurnitureInfo[houseid][furnitureid][f_HouseID] = 0;
  879. FurnitureInfo[houseid][furnitureid][f_SQLHouseID] = 0;
  880. FurnitureInfo[houseid][furnitureid][f_ModelID] = 0;
  881. format(FurnitureInfo[houseid][furnitureid][f_ModelName], 64, "%s", "Empty");
  882. FurnitureInfo[houseid][furnitureid][f_Spawned] = 0;
  883. FurnitureInfo[houseid][furnitureid][f_ObjectID] = 0;
  884. FurnitureInfo[houseid][furnitureid][f_Outdoor] = 0;
  885. FurnitureInfo[houseid][furnitureid][f_VirtualWorld] = 0;
  886. FurnitureInfo[houseid][furnitureid][f_X] = 0;
  887. FurnitureInfo[houseid][furnitureid][f_Y] = 0;
  888. FurnitureInfo[houseid][furnitureid][f_Z] = 0;
  889. FurnitureInfo[houseid][furnitureid][f_RX] = 0;
  890. FurnitureInfo[houseid][furnitureid][f_RY] = 0;
  891. FurnitureInfo[houseid][furnitureid][f_RZ] = 0;
  892. HouseInfo[houseid][hFurnitureAmount]--;
  893. if(HouseInfo[houseid][hFurnitureAmount] < 1) {
  894. HouseInfo[houseid][hHasFurniture] = 0;
  895. HouseInfo[houseid][hModified] = 1;
  896. }
  897. return 1;
  898. }
  899. stock ClearHouseFurniture(houseid) {
  900. for(new i = 0; i < MAX_FURNITURE; i++) {
  901. if(FurnitureInfo[houseid][i][f_ObjectID] && FurnitureInfo[houseid][i][f_Spawned]) {
  902. if(IsValidDynamicObject(FurnitureInfo[houseid][i][f_ObjectID])) {
  903. DestroyDynamicObjectEx(FurnitureInfo[houseid][i][f_ObjectID]);
  904. }
  905. }
  906. FurnitureInfo[houseid][i][f_ID] = 0;
  907. FurnitureInfo[houseid][i][f_HouseID] = 0;
  908. FurnitureInfo[houseid][i][f_SQLHouseID] = 0;
  909. FurnitureInfo[houseid][i][f_ModelID] = 0;
  910. format(FurnitureInfo[houseid][i][f_ModelName], 64, "%s", "Empty");
  911. FurnitureInfo[houseid][i][f_Spawned] = 0;
  912. FurnitureInfo[houseid][i][f_ObjectID] = 0;
  913. FurnitureInfo[houseid][i][f_Outdoor] = 0;
  914. FurnitureInfo[houseid][i][f_VirtualWorld] = 0;
  915. FurnitureInfo[houseid][i][f_X] = 0;
  916. FurnitureInfo[houseid][i][f_Y] = 0;
  917. FurnitureInfo[houseid][i][f_Z] = 0;
  918. FurnitureInfo[houseid][i][f_RX] = 0;
  919. FurnitureInfo[houseid][i][f_RY] = 0;
  920. FurnitureInfo[houseid][i][f_RZ] = 0;
  921. }
  922. new query[200];
  923. mysql_format(sqlGameConnection, query, sizeof(query), "UPDATE `furniture` SET `Active` = 0 WHERE `houseid` = %d", HouseInfo[houseid][hSQLID]);
  924. mysql_tquery(sqlGameConnection, query);
  925. return 1;
  926. }
  927. //commands
  928. CMD:furniture( playerid, params[] ) {
  929. //if(PlayerInfo[playerid][pDev] < 1 && PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this.");
  930. new houseid = PlayerInfo[playerid][pHouseID];
  931. if(houseid == 0) return SendClientMessage( playerid, COLOR_GRAD1, "You do not own a house.");
  932. if(HouseInfo[houseid][hOwnerID] != PlayerInfo[playerid][pID]) return SendClientMessage(playerid, COLOR_GREY, "You don't own this house.");
  933. if(IsPlayerInRangeOfPoint(playerid, 100.0, HouseInfo[houseid][hInsideX], HouseInfo[houseid][hInsideY], HouseInfo[houseid][hInsideZ]) && GetPlayerVirtualWorld(playerid) == HouseInfo[houseid][hSQLID]) { //inside
  934. ShowPlayerDialog(playerid, DIALOG_FURNITURE_MAIN, DIALOG_STYLE_LIST, "Furniture", "Buy furniture\nEdit furniture", "Select", "Cancel");
  935. return 1;
  936. } else if(IsPlayerInRangeOfPoint(playerid, 30.0, HouseInfo[houseid][hOutsideX], HouseInfo[houseid][hOutsideY], HouseInfo[houseid][hOutsideZ])) { //outside
  937. if(PlayerInfo[playerid][pDonateRank] < 3) return SendClientMessage(playerid, COLOR_GREY, "You must be a Gold VIP to build outside your house.");
  938. ShowPlayerDialog(playerid, DIALOG_FURNITURE_MAIN, DIALOG_STYLE_LIST, "Furniture", "Buy furniture\nEdit furniture", "Select", "Cancel");
  939. return 1;
  940. } else {
  941. SendClientMessage(playerid, COLOR_GRAD1, "You are not inside your house or within 30m of the house.");
  942. }
  943. return 1;
  944. }
  945. CMD:furnitureinfo(playerid, params[])
  946. {
  947. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pBizMod] == 1)
  948. {
  949. for(new i = 0; i < MAX_HOUSES; i++)
  950. {
  951. for(new f = 0; f < MAX_FURNITURE; f++) {
  952. if(FurnitureInfo[i][f][f_ObjectID]) {
  953. if(FurnitureInfo[i][f][f_Spawned]) {
  954. if(IsPlayerInRangeOfPoint(playerid, 2.5, FurnitureInfo[i][f][f_X], FurnitureInfo[i][f][f_Y], FurnitureInfo[i][f][f_Z]))
  955. {
  956. format(str, sizeof(str), "Furniture ID: %d | House ID: %d | SQL ID %d | | Model ID %d | Model Name: %s.", f, FurnitureInfo[i][f][f_HouseID], FurnitureInfo[i][f][f_ID], FurnitureInfo[i][f][f_ModelID], FurnitureInfo[i][f][f_ModelName]);
  957. SendClientMessage(playerid, COLOR_GREY, str);
  958. format(str, sizeof(str), "Object ID: %d | Virtual World: %d | ObjectVW: %d.", FurnitureInfo[i][f][f_ObjectID], FurnitureInfo[i][f][f_VirtualWorld], Streamer_GetIntData(STREAMER_TYPE_OBJECT, FurnitureInfo[i][f][f_ObjectID], E_STREAMER_WORLD_ID));
  959. SendClientMessage(playerid, COLOR_GREY, str);
  960. }
  961. }
  962. }
  963. }
  964. }
  965. }
  966. return 1;
  967. }
  968. CMD:deletefurniture(playerid, params[])
  969. {
  970. if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pBizMod] == 1 || PlayerInfo[playerid][pDev] >= 3 )
  971. {
  972. new houseid,furnitureid;
  973. if(sscanf(params, "dd", houseid, furnitureid)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /deletefurniture [houseid] [furnitureid]");
  974. if(!FurnitureInfo[houseid][furnitureid][f_ObjectID]) return SendClientMessage(playerid, COLOR_GREY, "There is no furniture object in that slot.");
  975. format(str, sizeof(str), "* You have deleted the %s.", FurnitureInfo[houseid][furnitureid][f_ModelName]);
  976. SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
  977. DeleteHouseFurniture(houseid, furnitureid);
  978. }
  979. else
  980. {
  981. AdmErrorMsg;
  982. }
  983. return 1;
  984. }
  985. CMD:resethousefurniture(playerid, params[])
  986. {
  987. if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pBizMod] == 1)
  988. {
  989. new houseid;
  990. if(sscanf(params, "d", houseid)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /resethousefurniture [houseid]");
  991. ClearHouseFurniture(houseid);
  992. HouseInfo[houseid][hFurnitureAmount] = 0;
  993. HouseInfo[houseid][hHasFurniture] = 0;
  994. HouseInfo[houseid][hModified] = 1;
  995. format(str, sizeof(str), "You have reset houseid %d's furniture.", houseid);
  996. SendClientMessage(playerid, COLOR_GRAD1, str);
  997. }
  998. else
  999. {
  1000. AdmErrorMsg;
  1001. }
  1002. return 1;
  1003. }
  1004. CMD:fdb(playerid, params[])
  1005. {
  1006. new houseid;
  1007. if(sscanf(params, "d", houseid)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /fdb [houseid]");
  1008. for(new f = 0; f < 5; f++) {
  1009. format(str, sizeof(str), "Furniture ID: %d | House ID: %d | SQL ID %d | | Model ID %d | Model Name: %s.", f, FurnitureInfo[houseid][f][f_HouseID], FurnitureInfo[houseid][f][f_ID], FurnitureInfo[houseid][f][f_ModelID], FurnitureInfo[houseid][f][f_ModelName]);
  1010. SendClientMessage(playerid, COLOR_GREY, str);
  1011. format(str, sizeof(str), "Spawned: %d | Object ID: %d | Outdoor:%d | Virtual World: %d.", FurnitureInfo[houseid][f][f_Spawned], FurnitureInfo[houseid][f][f_ObjectID], FurnitureInfo[houseid][f][f_Outdoor], FurnitureInfo[houseid][f][f_VirtualWorld]);
  1012. SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
  1013. format(str, sizeof(str), "f_X: %f | f_Y: %f | f_Z: %f", FurnitureInfo[houseid][f][f_X], FurnitureInfo[houseid][f][f_Y], FurnitureInfo[houseid][f][f_Z]);
  1014. SendClientMessage(playerid, COLOR_WHITE, str);
  1015. }
  1016. return 1;
  1017. }
  1018. CMD:deleteallfurniture(playerid, params[])
  1019. {
  1020. new houseid = PlayerInfo[playerid][pHouseID];
  1021. if(houseid == 0) return SendClientMessage( playerid, COLOR_GRAD1, "You do not own a house.");
  1022. if(HouseInfo[houseid][hOwnerID] != PlayerInfo[playerid][pID]) return SendClientMessage(playerid, COLOR_GREY, "You don't own this house.");
  1023. if(!IsPlayerInRangeOfPoint(playerid, 100.0, HouseInfo[houseid][hInsideX], HouseInfo[houseid][hInsideY], HouseInfo[houseid][hInsideZ]) && GetPlayerVirtualWorld(playerid) != HouseInfo[houseid][hSQLID]) return SendClientMessage(playerid, COLOR_GRAD1, "You are not inside your house."); //inside
  1024. ClearHouseFurniture(houseid);
  1025. SendClientMessage(playerid, COLOR_GREY, "You have deleted all of your house's furniture.");
  1026. return 1;
  1027. }
  1028. CMD:togglefurniture(playerid, params[])
  1029. {
  1030. new houseid = PlayerInfo[playerid][pHouseID];
  1031. if(houseid == 0) return SendClientMessage( playerid, COLOR_GRAD1, "You do not own a house.");
  1032. if(HouseInfo[houseid][hOwnerID] != PlayerInfo[playerid][pID]) return SendClientMessage(playerid, COLOR_GREY, "You don't own this house.");
  1033. new action[4];
  1034. if(sscanf(params, "s[4]", action)) return SendClientMessage(playerid, -1, "{00BFFF}Usage:{FFFFFF} /togglefurniture [on/off]");
  1035. if(!strcmp(action, "off", true)) // hide
  1036. {
  1037. for(new i = 0; i < MAX_FURNITURE; i++) // loop through all furniture
  1038. {
  1039. if(FurnitureInfo[houseid][i][f_Spawned]) // if it's a spawned furniture in the player's house, destroy it (hide)
  1040. {
  1041. FurnitureInfo[houseid][i][f_Spawned] = 0;
  1042. if(FurnitureInfo[houseid][i][f_ObjectID]) { DestroyDynamicObjectEx(FurnitureInfo[houseid][i][f_ObjectID]); }
  1043. FurnitureInfo[houseid][i][f_ObjectID] = 0;
  1044. }
  1045. }
  1046. //sql update
  1047. new query[200];
  1048. mysql_format(sqlGameConnection, query, sizeof(query), "UPDATE `furniture` SET `Spawned`=0 WHERE `houseid` = %d", HouseInfo[houseid][hSQLID]);
  1049. mysql_pquery(sqlGameConnection, query);
  1050. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have hidden all of your furniture.");
  1051. }
  1052. else if(!strcmp(action, "on", true)) //unhide
  1053. {
  1054. for(new i = 0; i < MAX_FURNITURE; i++) // loop through all furniture
  1055. {
  1056. if(!FurnitureInfo[houseid][i][f_Spawned]) // if it's a not spawned furniture in the player's house, create it it (unhide)
  1057. {
  1058. FurnitureInfo[houseid][i][f_ObjectID] = CreateDynamicObject(FurnitureInfo[houseid][i][f_ModelID], FurnitureInfo[houseid][i][f_X], FurnitureInfo[houseid][i][f_Y], FurnitureInfo[houseid][i][f_Z], FurnitureInfo[houseid][i][f_RX], FurnitureInfo[houseid][i][f_RY], FurnitureInfo[houseid][i][f_RZ]);
  1059. FurnitureInfo[houseid][i][f_Spawned] = 1;
  1060. Streamer_Update(playerid);
  1061. }
  1062. }
  1063. //sql update
  1064. new query[200];
  1065. mysql_format(sqlGameConnection, query, sizeof(query), "UPDATE `furniture` SET `Spawned`=1 WHERE `houseid` = %d", HouseInfo[houseid][hSQLID]);
  1066. mysql_pquery(sqlGameConnection, query);
  1067. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have unhidden all of your furniture.");
  1068. }
  1069. return 1;
  1070. }