Guest User

hold2

a guest
Nov 26th, 2013
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.49 KB | None | 0 0
  1. /*==============================================================================
  2. SetPlayerAttachedObject script by Richie©
  3. Based on the Attachments script by h02
  4. ==============================================================================*/
  5. #include <a_samp>
  6. #include <zcmd>
  7. #include <a_mysql>
  8. //============================ Database info =================================
  9. #define SQL_HOST "127.0.0.1"
  10. #define SQL_USER "root"
  11. #define SQL_PASS "account"
  12. #define SQL_DB "account"
  13. //==============================================================================
  14. #define DIALOG_ATTACH_INDEX 2200 // DialogID
  15. #define DIALOG_ATTACH_INDEX_SELECTION DIALOG_ATTACH_INDEX+1
  16. #define DIALOG_ATTACH_EDITREPLACE DIALOG_ATTACH_INDEX+2
  17. #define DIALOG_ATTACH_MODEL_SELECTION DIALOG_ATTACH_INDEX+3
  18. #define DIALOG_ATTACH_BONE_SELECTION DIALOG_ATTACH_INDEX+4
  19. #define SETHOLDDIALOG DIALOG_ATTACH_INDEX+5
  20. #define HOLDMENU3E DIALOG_ATTACH_INDEX+6
  21. #define HOLDADDDIALOG DIALOG_ATTACH_INDEX+7
  22.  
  23.  
  24. enum PlayerData
  25. {
  26. pUserName[24],
  27. pmodel[10],
  28. pbone[10],
  29. Float:pfX[10],
  30. Float:pfY[10],
  31. Float:pfZ[10],
  32. Float:prX[10],
  33. Float:prY[10],
  34. Float:prZ[10],
  35. Float:psX[10],
  36. Float:psY[10],
  37. Float:psZ[10],
  38. pUsingSlot[10]
  39. }
  40.  
  41. new PlayerAttatchedObjects[MAX_PLAYERS][PlayerData];
  42. new gSQL;
  43.  
  44. enum AttachmentEnum
  45. {
  46. attachmodel,
  47. attachname[24]
  48. }
  49.  
  50. new AttachmentObjects[][AttachmentEnum] = {
  51. {18632, "FishingRod"},
  52. {18633, "GTASAWrench1"},
  53. {18634, "GTASACrowbar1"},
  54. {18635, "GTASAHammer1"},
  55. {18636, "PoliceCap1"},
  56. {18637, "PoliceShield1"},
  57. {18638, "HardHat1"},
  58. {18639, "BlackHat1"},
  59. {18640, "Hair1"},
  60. {18975, "Hair2"},
  61. {19136, "Hair4"},
  62. {19274, "Hair5"},
  63. {18641, "Flashlight1"},
  64. {18642, "Taser1"},
  65. {18643, "LaserPointer Red"},
  66. {19080, "LaserPointer Blue"},
  67. {19081, "LaserPointer Pink"},
  68. {19082, "LaserPointer Orange"},
  69. {19083, "LaserPointer Green"},
  70. {19084, "LaserPointer Yellow"},
  71. {18644, "Screwdriver1"},
  72. {18645, "MotorcycleHelmet1"},
  73. {18865, "MobilePhone1"},
  74. {18866, "MobilePhone2"},
  75. {18867, "MobilePhone3"},
  76. {18868, "MobilePhone4"},
  77. {18869, "MobilePhone5"},
  78. {18870, "MobilePhone6"},
  79. {18871, "MobilePhone7"},
  80. {18872, "MobilePhone8"},
  81. {18873, "MobilePhone9"},
  82. {18874, "MobilePhone10"},
  83. {18875, "Pager1"},
  84. {18890, "Rake1"},
  85. {18891, "Bandana1"},
  86. {18892, "Bandana2"},
  87. {18893, "Bandana3"},
  88. {18894, "Bandana4"},
  89. {18895, "Bandana5"},
  90. {18896, "Bandana6"},
  91. {18897, "Bandana7"},
  92. {18898, "Bandana8"},
  93. {18899, "Bandana9"},
  94. {18900, "Bandana10"},
  95. {18901, "Bandana11"},
  96. {18902, "Bandana12"},
  97. {18903, "Bandana13"},
  98. {18904, "Bandana14"},
  99. {18905, "Bandana15"},
  100. {18906, "Bandana16"},
  101. {18907, "Bandana17"},
  102. {18908, "Bandana18"},
  103. {18909, "Bandana19"},
  104. {18910, "Bandana20"},
  105. {18911, "Mask1"},
  106. {18912, "Mask2"},
  107. {18913, "Mask3"},
  108. {18914, "Mask4"},
  109. {18915, "Mask5"},
  110. {18916, "Mask6"},
  111. {18917, "Mask7"},
  112. {18918, "Mask8"},
  113. {18919, "Mask9"},
  114. {18920, "Mask10"},
  115. {18921, "Beret1"},
  116. {18922, "Beret2"},
  117. {18923, "Beret3"},
  118. {18924, "Beret4"},
  119. {18925, "Beret5"},
  120. {18926, "Hat1"},
  121. {18927, "Hat2"},
  122. {18928, "Hat3"},
  123. {18929, "Hat4"},
  124. {18930, "Hat5"},
  125. {18931, "Hat6"},
  126. {18932, "Hat7"},
  127. {18933, "Hat8"},
  128. {18934, "Hat9"},
  129. {18935, "Hat10"},
  130. {18936, "Helmet1"},
  131. {18937, "Helmet2"},
  132. {18938, "Helmet3"},
  133. {18939, "CapBack1"},
  134. {18940, "CapBack2"},
  135. {18941, "CapBack3"},
  136. {18942, "CapBack4"},
  137. {18943, "CapBack5"},
  138. {18944, "HatBoater1"},
  139. {18945, "HatBoater2"},
  140. {18946, "HatBoater3"},
  141. {18947, "HatBowler1"},
  142. {18948, "HatBowler2"},
  143. {18949, "HatBowler3"},
  144. {18950, "HatBowler4"},
  145. {18951, "HatBowler5"},
  146. {18952, "BoxingHelmet1"},
  147. {18953, "CapKnit1"},
  148. {18954, "CapKnit2"},
  149. {18955, "CapOverEye1"},
  150. {18956, "CapOverEye2"},
  151. {18957, "CapOverEye3"},
  152. {18958, "CapOverEye4"},
  153. {18959, "CapOverEye5"},
  154. {18960, "CapRimUp1"},
  155. {18961, "CapTrucker1"},
  156. {18962, "CowboyHat2"},
  157. {18963, "CJElvisHead"},
  158. {18964, "SkullyCap1"},
  159. {18965, "SkullyCap2"},
  160. {18966, "SkullyCap3"},
  161. {18967, "HatMan1"},
  162. {18968, "HatMan2"},
  163. {18969, "HatMan3"},
  164. {18970, "HatTiger1"},
  165. {18971, "HatCool1"},
  166. {18972, "HatCool2"},
  167. {18973, "HatCool3"},
  168. {18974, "MaskZorro1"},
  169. {18976, "MotorcycleHelmet2"},
  170. {18977, "MotorcycleHelmet3"},
  171. {18978, "MotorcycleHelmet4"},
  172. {18979, "MotorcycleHelmet5"},
  173. {19006, "GlassesType1"},
  174. {19007, "GlassesType2"},
  175. {19008, "GlassesType3"},
  176. {19009, "GlassesType4"},
  177. {19010, "GlassesType5"},
  178. {19011, "GlassesType6"},
  179. {19012, "GlassesType7"},
  180. {19013, "GlassesType8"},
  181. {19014, "GlassesType9"},
  182. {19015, "GlassesType10"},
  183. {19016, "GlassesType11"},
  184. {19017, "GlassesType12"},
  185. {19018, "GlassesType13"},
  186. {19019, "GlassesType14"},
  187. {19020, "GlassesType15"},
  188. {19021, "GlassesType16"},
  189. {19022, "GlassesType17"},
  190. {19023, "GlassesType18"},
  191. {19024, "GlassesType19"},
  192. {19025, "GlassesType20"},
  193. {19026, "GlassesType21"},
  194. {19027, "GlassesType22"},
  195. {19028, "GlassesType23"},
  196. {19029, "GlassesType24"},
  197. {19030, "GlassesType25"},
  198. {19031, "GlassesType26"},
  199. {19032, "GlassesType27"},
  200. {19033, "GlassesType28"},
  201. {19034, "GlassesType29"},
  202. {19035, "GlassesType30"},
  203. {19036, "HockeyMask1"},
  204. {19037, "HockeyMask2"},
  205. {19038, "HockeyMask3"},
  206. {19039, "WatchType1"},
  207. {19040, "WatchType2"},
  208. {19041, "WatchType3"},
  209. {19042, "WatchType4"},
  210. {19043, "WatchType5"},
  211. {19044, "WatchType6"},
  212. {19045, "WatchType7"},
  213. {19046, "WatchType8"},
  214. {19047, "WatchType9"},
  215. {19048, "WatchType10"},
  216. {19049, "WatchType11"},
  217. {19050, "WatchType12"},
  218. {19051, "WatchType13"},
  219. {19052, "WatchType14"},
  220. {19053, "WatchType15"},
  221. {19085, "EyePatch1"},
  222. {19086, "ChainsawDildo1"},
  223. {19090, "PomPomBlue"},
  224. {19091, "PomPomRed"},
  225. {19092, "PomPomGreen"},
  226. {19093, "HardHat2"},
  227. {19094, "BurgerShotHat1"},
  228. {19095, "CowboyHat1"},
  229. {19096, "CowboyHat3"},
  230. {19097, "CowboyHat4"},
  231. {19098, "CowboyHat5"},
  232. {19099, "PoliceCap2"},
  233. {19100, "PoliceCap3"},
  234. {19101, "ArmyHelmet1"},
  235. {19102, "ArmyHelmet2"},
  236. {19103, "ArmyHelmet3"},
  237. {19104, "ArmyHelmet4"},
  238. {19105, "ArmyHelmet5"},
  239. {19106, "ArmyHelmet6"},
  240. {19107, "ArmyHelmet7"},
  241. {19108, "ArmyHelmet8"},
  242. {19109, "ArmyHelmet9"},
  243. {19110, "ArmyHelmet10"},
  244. {19111, "ArmyHelmet11"},
  245. {19112, "ArmyHelmet12"},
  246. {19113, "SillyHelmet1"},
  247. {19114, "SillyHelmet2"},
  248. {19115, "SillyHelmet3"},
  249. {19116, "PlainHelmet1"},
  250. {19117, "PlainHelmet2"},
  251. {19118, "PlainHelmet3"},
  252. {19119, "PlainHelmet4"},
  253. {19120, "PlainHelmet5"},
  254. {19137, "CluckinBellHat1"},
  255. {19138, "PoliceGlasses1"},
  256. {19139, "PoliceGlasses2"},
  257. {19140, "PoliceGlasses3"},
  258. {19141, "SWATHelmet1"},
  259. {19142, "SWATArmour1"},
  260. {19160, "HardHat3"},
  261. {19161, "PoliceHat1"},
  262. {19162, "PoliceHat2"},
  263. {19163, "GimpMask1"},
  264. {19317, "bassguitar01"},
  265. {19318, "flyingv01"},
  266. {19319, "warlock01"},
  267. {19330, "fire_hat01"},
  268. {19331, "fire_hat02"},
  269. {19346, "hotdog01"},
  270. {19347, "badge01"},
  271. {19348, "cane01"},
  272. {19349, "monocle01"},
  273. {19350, "moustache01"},
  274. {19351, "moustache02"},
  275. {19352, "tophat01"},
  276. {19487, "tophat02"},
  277. {19472, "gasmask01"},
  278. {19421, "headphones01"},
  279. {19422, "headphones02"},
  280. {19423, "headphones03"},
  281. {19424, "headphones04"}
  282. };
  283.  
  284. new AttachmentBones[][24] = {
  285. {"Spine"},
  286. {"Head"},
  287. {"Left upper arm"},
  288. {"Right upper arm"},
  289. {"Left hand"},
  290. {"Right hand"},
  291. {"Left thigh"},
  292. {"Right thigh"},
  293. {"Left foot"},
  294. {"Right foot"},
  295. {"Right calf"},
  296. {"Left calf"},
  297. {"Left forearm"},
  298. {"Right forearm"},
  299. {"Left clavicle"},
  300. {"Right clavicle"},
  301. {"Neck"},
  302. {"Jaw"}
  303. };
  304.  
  305. public OnFilterScriptInit()
  306. {
  307. mysql_debug(0);
  308. gSQL = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  309.  
  310. print("\n========================================");
  311. print(" Attached Objects Script by Richie©");
  312. print("========================================\n");
  313.  
  314. new query[450];
  315.  
  316. format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `PlayerObjects` (`Name` varchar(24) NOT NULL, `Slot` int(11) NOT NULL, `model` int(11) NOT NULL, \
  317. `bone` int(11) NOT NULL, `fX` float NOT NULL, `fY` float NOT NULL, `fZ` float NOT NULL, `rX` float NOT NULL, `rY` float NOT NULL, `rZ` float NOT NULL, \
  318. `sX` float NOT NULL, `sY` float NOT NULL, `sZ` float NOT NULL, `Enabled` int(11) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1");
  319.  
  320. mysql_function_query(gSQL, query, false, "NoReturnThreads", "");
  321. return 1;
  322. }
  323.  
  324. public OnPlayerConnect(playerid)
  325. {
  326. ResetHoldObjects(playerid);
  327. SetTimerEx( "InitializePlayerObjects", 500, 0, "i", playerid );
  328. return 1;
  329. }
  330.  
  331. public OnPlayerSpawn(playerid)
  332. {
  333. SetPlayerObjects(playerid);
  334. return 1;
  335. }
  336.  
  337. public OnPlayerEditAttachedObject( playerid, response, index, modelid, boneid,
  338. Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ,
  339. Float:fRotX, Float:fRotY, Float:fRotZ,
  340. Float:fScaleX, Float:fScaleY, Float:fScaleZ )
  341. {
  342. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Editing of object done.");
  343. SetPlayerAttachedObject(playerid,index,modelid,boneid,fOffsetX,fOffsetY,fOffsetZ,fRotX,fRotY,fRotZ,fScaleX,fScaleY,fScaleZ);
  344.  
  345. PlayerAttatchedObjects[playerid][pmodel][index] = modelid;
  346. PlayerAttatchedObjects[playerid][pbone][index] = boneid;
  347. PlayerAttatchedObjects[playerid][pfX][index] = fOffsetX;
  348. PlayerAttatchedObjects[playerid][pfY][index] = fOffsetY;
  349. PlayerAttatchedObjects[playerid][pfZ][index] = fOffsetZ;
  350. PlayerAttatchedObjects[playerid][prX][index] = fRotX;
  351. PlayerAttatchedObjects[playerid][prY][index] = fRotY;
  352. PlayerAttatchedObjects[playerid][prZ][index] = fRotZ;
  353. PlayerAttatchedObjects[playerid][psX][index] = fScaleX;
  354. PlayerAttatchedObjects[playerid][psY][index] = fScaleY;
  355. PlayerAttatchedObjects[playerid][psZ][index] = fScaleZ;
  356. PlayerAttatchedObjects[playerid][pUsingSlot][index] = 1;
  357.  
  358. SavePObjects(playerid, index);
  359. return 1;
  360. }
  361.  
  362. public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
  363. {
  364. if(type == SELECT_OBJECT_PLAYER_OBJECT)
  365. {
  366. EditPlayerObject(playerid, objectid);
  367. }
  368. return 1;
  369. }
  370.  
  371. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) //New Dialog response
  372. {
  373. switch(dialogid)
  374. {
  375. case DIALOG_ATTACH_INDEX_SELECTION:
  376. {
  377. if(response)
  378. {
  379. if(IsPlayerAttachedObjectSlotUsed(playerid, listitem))
  380. {
  381. ShowPlayerDialog(playerid, DIALOG_ATTACH_EDITREPLACE, DIALOG_STYLE_MSGBOX, "{FF0000}Attachment Modification", "Do you wish to edit the attachment in that slot, or delete it?", "Edit", "Delete");
  382. }
  383. else
  384. {
  385. new bigstring[4050];
  386. for(new x;x<sizeof(AttachmentObjects);x++)
  387. {
  388. format(bigstring, sizeof(bigstring), "%s%s\n", bigstring, AttachmentObjects[x][attachname]);
  389. }
  390. ShowPlayerDialog(playerid, DIALOG_ATTACH_MODEL_SELECTION, DIALOG_STYLE_LIST, \
  391. "{FF0000}Attachment Modification - Model Selection", bigstring, "Select", "Cancel");
  392. }
  393. SetPVarInt(playerid, "AttachmentIndexSel", listitem);
  394. }
  395. else ShowPlayerDialog(playerid, HOLDMENU3E, DIALOG_STYLE_LIST, "{F42626}Set or Edit", "Wear/Take off one of your items \nAdd/Replace items \nEdit items", "Select", "Cancel");
  396. }
  397. case DIALOG_ATTACH_EDITREPLACE:
  398. {
  399. if(response) EditAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"));
  400. else
  401. {
  402. RemovePlayerAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"));
  403. PlayerAttatchedObjects[playerid][pmodel][GetPVarInt(playerid, "AttachmentIndexSel")] = 0;
  404. SavePObjects(playerid, GetPVarInt(playerid, "AttachmentIndexSel"));
  405. }
  406. DeletePVar(playerid, "AttachmentIndexSel");
  407. }
  408. case DIALOG_ATTACH_MODEL_SELECTION:
  409. {
  410. if(response)
  411. {
  412. SetPVarInt(playerid, "AttachmentModelSel", AttachmentObjects[listitem][attachmodel]);
  413. new holdstring[260];
  414. for(new x;x<sizeof(AttachmentBones);x++)
  415. {
  416. format(holdstring, sizeof(holdstring), "%s%s\n", holdstring, AttachmentBones[x]);
  417. }
  418. ShowPlayerDialog(playerid, DIALOG_ATTACH_BONE_SELECTION, DIALOG_STYLE_LIST, "{FF0000}Attachment Modification - Bone Selection", holdstring, "Select", "Cancel");
  419. }
  420. else DeletePVar(playerid, "AttachmentIndexSel");
  421. }
  422. case DIALOG_ATTACH_BONE_SELECTION:
  423. {
  424. if(response)
  425. {
  426. SetPlayerAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"), GetPVarInt(playerid, "AttachmentModelSel"), listitem+1);
  427. EditAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"));
  428. SendClientMessage(playerid, 0xFFFFFFFF, "Hint: Use {FFFF00}~k~~PED_SPRINT~{FFFFFF} to look around.");
  429. }
  430. DeletePVar(playerid, "AttachmentIndexSel");
  431. DeletePVar(playerid, "AttachmentModelSel");
  432. }
  433. case HOLDADDDIALOG:
  434. {
  435. new stringb[4050];
  436. if(!response) return ShowPlayerDialog(playerid, HOLDMENU3E, DIALOG_STYLE_LIST, "{F42626}Set or Edit", "Wear/Take off one of your items \nAdd/Replace items \nEdit items", "Select", "Cancel");
  437. for(new x;x<sizeof(AttachmentObjects);x++)
  438. {
  439. format(stringb, sizeof(stringb), "%s%s\n", stringb, AttachmentObjects[x][attachname]);
  440. }
  441. ShowPlayerDialog(playerid, DIALOG_ATTACH_MODEL_SELECTION, DIALOG_STYLE_LIST, \
  442. "{FF0000}Attachment Modification - Model Selection", stringb, "Select", "Cancel");
  443. SetPVarInt(playerid, "AttachmentIndexSel", listitem);
  444. }
  445. case HOLDMENU3E:
  446. {
  447. if(!response) return 1;
  448. switch(listitem)
  449. {
  450. case 0: // Choose the ones they set
  451. {
  452. new holdstring[800];
  453. for(new x;x<MAX_PLAYER_ATTACHED_OBJECTS;x++)
  454. {
  455. new model = PlayerAttatchedObjects[playerid][pmodel][x];
  456. if(PlayerAttatchedObjects[playerid][pmodel][x] > 18000)
  457. {
  458. if(IsPlayerAttachedObjectSlotUsed(playerid, x)) format(holdstring, sizeof(holdstring), "%sSlot: %d Item: %s {43D017}(Used){FFFFFF}\n", holdstring, x, GetAttachedModelName(model));
  459. else format(holdstring, sizeof(holdstring), "%sSlot: %d Item: %s\n", holdstring, x, GetAttachedModelName(model));
  460. }
  461. else format(holdstring, sizeof(holdstring), "%sSlot: %d Item: None\n", holdstring, x);
  462. }
  463. ShowPlayerDialog(playerid, SETHOLDDIALOG, DIALOG_STYLE_LIST, \
  464. "{FF0000}Set Attachment - Slot Selection", holdstring, "Select", "Back");
  465. }
  466. case 1: // Add new object
  467. {
  468. new holdstring[800];
  469. for(new x;x<MAX_PLAYER_ATTACHED_OBJECTS;x++)
  470. {
  471. new model = PlayerAttatchedObjects[playerid][pmodel][x];
  472. if(PlayerAttatchedObjects[playerid][pmodel][x] > 18000) format(holdstring, sizeof(holdstring), "%sSlot: %d Item: %s\n", holdstring, x, GetAttachedModelName(model));
  473. else format(holdstring, sizeof(holdstring), "%sSlot: %d Item: None\n", holdstring, x);
  474. }
  475. ShowPlayerDialog(playerid, HOLDADDDIALOG, DIALOG_STYLE_LIST, \
  476. "{FF0000}Add/Replace Attachment - Slot Selection", holdstring, "Select", "Back");
  477. }
  478. case 2: // Edit their objects
  479. {
  480. new holdstring[300];
  481. for(new x;x<MAX_PLAYER_ATTACHED_OBJECTS;x++)
  482. {
  483. if(IsPlayerAttachedObjectSlotUsed(playerid, x))
  484. {
  485. new model = PlayerAttatchedObjects[playerid][pmodel][x];
  486. format(holdstring, sizeof(holdstring), "%sSlot: %d Item: %s (Used)\n", holdstring, x, GetAttachedModelName(model));
  487. }
  488. else
  489. {
  490. if(PlayerAttatchedObjects[playerid][pmodel][x] > 18000)
  491. {
  492. new model = PlayerAttatchedObjects[playerid][pmodel][x];
  493. format(holdstring, sizeof(holdstring), "%sSlot: %d Item: %s\n", holdstring, x, GetAttachedModelName(model));
  494. }
  495. else format(holdstring, sizeof(holdstring), "%sSlot: %d Item: None\n", holdstring, x);
  496. }
  497. }
  498. ShowPlayerDialog(playerid, DIALOG_ATTACH_INDEX_SELECTION, DIALOG_STYLE_LIST, \
  499. "{FF0000}Attachment Modification - Slot Selection", holdstring, "Select", "Back");
  500. }
  501. }
  502. }
  503. case SETHOLDDIALOG:
  504. {
  505. if(!response) return ShowPlayerDialog(playerid, HOLDMENU3E, DIALOG_STYLE_LIST, "{F42626}Set or Edit", "Wear/Take off one of your items \nAdd/Replace items \nEdit items", "Select", "Cancel");
  506. switch(listitem)
  507. {
  508. case 0:
  509. {
  510. if(PlayerAttatchedObjects[playerid][pUsingSlot][0] == 0)
  511. {
  512. SetPlayerAttachedObject(playerid, 0, PlayerAttatchedObjects[playerid][pmodel][0], PlayerAttatchedObjects[playerid][pbone][0], PlayerAttatchedObjects[playerid][pfX][0], PlayerAttatchedObjects[playerid][pfY][0], PlayerAttatchedObjects[playerid][pfZ][0],
  513. PlayerAttatchedObjects[playerid][prX][0], PlayerAttatchedObjects[playerid][prY][0], PlayerAttatchedObjects[playerid][prZ][0], PlayerAttatchedObjects[playerid][psX][0], PlayerAttatchedObjects[playerid][psY][0], PlayerAttatchedObjects[playerid][psZ][0]);
  514. PlayerAttatchedObjects[playerid][pUsingSlot][0] = 1;
  515. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  516. }
  517. else
  518. {
  519. RemovePlayerAttachedObject(playerid, 0);
  520. PlayerAttatchedObjects[playerid][pUsingSlot][0] = 0;
  521. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  522. }
  523. SavePObjects(playerid, 0);
  524. }
  525. case 1:
  526. {
  527. if(PlayerAttatchedObjects[playerid][pUsingSlot][1] == 0)
  528. {
  529. SetPlayerAttachedObject(playerid, 1, PlayerAttatchedObjects[playerid][pmodel][1], PlayerAttatchedObjects[playerid][pbone][1], PlayerAttatchedObjects[playerid][pfX][1], PlayerAttatchedObjects[playerid][pfY][1], PlayerAttatchedObjects[playerid][pfZ][1],
  530. PlayerAttatchedObjects[playerid][prX][1], PlayerAttatchedObjects[playerid][prY][1], PlayerAttatchedObjects[playerid][prZ][1], PlayerAttatchedObjects[playerid][psX][1], PlayerAttatchedObjects[playerid][psY][1], PlayerAttatchedObjects[playerid][psZ][1]);
  531. PlayerAttatchedObjects[playerid][pUsingSlot][1] = 1;
  532. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  533. }
  534. else
  535. {
  536. RemovePlayerAttachedObject(playerid, 1);
  537. PlayerAttatchedObjects[playerid][pUsingSlot][1] = 0;
  538. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  539. }
  540. SavePObjects(playerid, 1);
  541. }
  542. case 2:
  543. {
  544. if(PlayerAttatchedObjects[playerid][pUsingSlot][2] == 0)
  545. {
  546. SetPlayerAttachedObject(playerid, 2, PlayerAttatchedObjects[playerid][pmodel][2], PlayerAttatchedObjects[playerid][pbone][2], PlayerAttatchedObjects[playerid][pfX][2], PlayerAttatchedObjects[playerid][pfY][2], PlayerAttatchedObjects[playerid][pfZ][2],
  547. PlayerAttatchedObjects[playerid][prX][2], PlayerAttatchedObjects[playerid][prY][2], PlayerAttatchedObjects[playerid][prZ][2], PlayerAttatchedObjects[playerid][psX][2], PlayerAttatchedObjects[playerid][psY][2], PlayerAttatchedObjects[playerid][psZ][2]);
  548. PlayerAttatchedObjects[playerid][pUsingSlot][2] = 1;
  549. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  550. }
  551. else
  552. {
  553. RemovePlayerAttachedObject(playerid, 2);
  554. PlayerAttatchedObjects[playerid][pUsingSlot][2] = 0;
  555. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  556. }
  557. SavePObjects(playerid, 2);
  558. }
  559. case 3:
  560. {
  561. if(PlayerAttatchedObjects[playerid][pUsingSlot][3] == 0)
  562. {
  563. SetPlayerAttachedObject(playerid, 3, PlayerAttatchedObjects[playerid][pmodel][3], PlayerAttatchedObjects[playerid][pbone][3], PlayerAttatchedObjects[playerid][pfX][3], PlayerAttatchedObjects[playerid][pfY][3], PlayerAttatchedObjects[playerid][pfZ][3],
  564. PlayerAttatchedObjects[playerid][prX][3], PlayerAttatchedObjects[playerid][prY][3], PlayerAttatchedObjects[playerid][prZ][3], PlayerAttatchedObjects[playerid][psX][3], PlayerAttatchedObjects[playerid][psY][3], PlayerAttatchedObjects[playerid][psZ][3]);
  565. PlayerAttatchedObjects[playerid][pUsingSlot][3] = 1;
  566. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  567. }
  568. else
  569. {
  570. RemovePlayerAttachedObject(playerid, 3);
  571. PlayerAttatchedObjects[playerid][pUsingSlot][3] = 0;
  572. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  573. }
  574. SavePObjects(playerid, 3);
  575. }
  576. case 4:
  577. {
  578. if(PlayerAttatchedObjects[playerid][pUsingSlot][4] == 0)
  579. {
  580. SetPlayerAttachedObject(playerid, 4, PlayerAttatchedObjects[playerid][pmodel][4], PlayerAttatchedObjects[playerid][pbone][4], PlayerAttatchedObjects[playerid][pfX][4], PlayerAttatchedObjects[playerid][pfY][4], PlayerAttatchedObjects[playerid][pfZ][4],
  581. PlayerAttatchedObjects[playerid][prX][4], PlayerAttatchedObjects[playerid][prY][4], PlayerAttatchedObjects[playerid][prZ][4], PlayerAttatchedObjects[playerid][psX][4], PlayerAttatchedObjects[playerid][psY][4], PlayerAttatchedObjects[playerid][psZ][4]);
  582. PlayerAttatchedObjects[playerid][pUsingSlot][4] = 1;
  583. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  584. }
  585. else
  586. {
  587. RemovePlayerAttachedObject(playerid, 4);
  588. PlayerAttatchedObjects[playerid][pUsingSlot][4] = 0;
  589. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  590. }
  591. SavePObjects(playerid, 4);
  592. }
  593. case 5:
  594. {
  595. if(PlayerAttatchedObjects[playerid][pUsingSlot][5] == 0)
  596. {
  597. SetPlayerAttachedObject(playerid, 5, PlayerAttatchedObjects[playerid][pmodel][5], PlayerAttatchedObjects[playerid][pbone][5], PlayerAttatchedObjects[playerid][pfX][5], PlayerAttatchedObjects[playerid][pfY][5], PlayerAttatchedObjects[playerid][pfZ][5],
  598. PlayerAttatchedObjects[playerid][prX][5], PlayerAttatchedObjects[playerid][prY][5], PlayerAttatchedObjects[playerid][prZ][5], PlayerAttatchedObjects[playerid][psX][5], PlayerAttatchedObjects[playerid][psY][5], PlayerAttatchedObjects[playerid][psZ][5]);
  599. PlayerAttatchedObjects[playerid][pUsingSlot][5] = 1;
  600. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  601. }
  602. else
  603. {
  604. RemovePlayerAttachedObject(playerid, 5);
  605. PlayerAttatchedObjects[playerid][pUsingSlot][5] = 0;
  606. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  607. }
  608. SavePObjects(playerid, 5);
  609. }
  610. case 6:
  611. {
  612. if(PlayerAttatchedObjects[playerid][pUsingSlot][6] == 0)
  613. {
  614. SetPlayerAttachedObject(playerid, 6, PlayerAttatchedObjects[playerid][pmodel][6], PlayerAttatchedObjects[playerid][pbone][6], PlayerAttatchedObjects[playerid][pfX][6], PlayerAttatchedObjects[playerid][pfY][6], PlayerAttatchedObjects[playerid][pfZ][6],
  615. PlayerAttatchedObjects[playerid][prX][6], PlayerAttatchedObjects[playerid][prY][6], PlayerAttatchedObjects[playerid][prZ][6], PlayerAttatchedObjects[playerid][psX][6], PlayerAttatchedObjects[playerid][psY][6], PlayerAttatchedObjects[playerid][psZ][6]);
  616. PlayerAttatchedObjects[playerid][pUsingSlot][6] = 1;
  617. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  618. }
  619. else
  620. {
  621. RemovePlayerAttachedObject(playerid, 6);
  622. PlayerAttatchedObjects[playerid][pUsingSlot][6] = 0;
  623. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  624. }
  625. SavePObjects(playerid, 6);
  626. }
  627. case 7:
  628. {
  629. if(PlayerAttatchedObjects[playerid][pUsingSlot][7] == 0)
  630. {
  631. SetPlayerAttachedObject(playerid, 7, PlayerAttatchedObjects[playerid][pmodel][7], PlayerAttatchedObjects[playerid][pbone][7], PlayerAttatchedObjects[playerid][pfX][7], PlayerAttatchedObjects[playerid][pfY][7], PlayerAttatchedObjects[playerid][pfZ][7],
  632. PlayerAttatchedObjects[playerid][prX][7], PlayerAttatchedObjects[playerid][prY][7], PlayerAttatchedObjects[playerid][prZ][7], PlayerAttatchedObjects[playerid][psX][7], PlayerAttatchedObjects[playerid][psY][7], PlayerAttatchedObjects[playerid][psZ][7]);
  633. PlayerAttatchedObjects[playerid][pUsingSlot][7] = 1;
  634. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  635. }
  636. else
  637. {
  638. RemovePlayerAttachedObject(playerid, 7);
  639. PlayerAttatchedObjects[playerid][pUsingSlot][7] = 0;
  640. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  641. }
  642. SavePObjects(playerid, 7);
  643. }
  644. case 8:
  645. {
  646. if(PlayerAttatchedObjects[playerid][pUsingSlot][8] == 0)
  647. {
  648. SetPlayerAttachedObject(playerid, 8, PlayerAttatchedObjects[playerid][pmodel][8], PlayerAttatchedObjects[playerid][pbone][8], PlayerAttatchedObjects[playerid][pfX][8], PlayerAttatchedObjects[playerid][pfY][8], PlayerAttatchedObjects[playerid][pfZ][8],
  649. PlayerAttatchedObjects[playerid][prX][8], PlayerAttatchedObjects[playerid][prY][8], PlayerAttatchedObjects[playerid][prZ][8], PlayerAttatchedObjects[playerid][psX][8], PlayerAttatchedObjects[playerid][psY][8], PlayerAttatchedObjects[playerid][psZ][8]);
  650. PlayerAttatchedObjects[playerid][pUsingSlot][8] = 1;
  651. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  652. }
  653. else
  654. {
  655. RemovePlayerAttachedObject(playerid, 8);
  656. PlayerAttatchedObjects[playerid][pUsingSlot][8] = 0;
  657. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  658. }
  659. SavePObjects(playerid, 8);
  660. }
  661. case 9:
  662. {
  663. if(PlayerAttatchedObjects[playerid][pUsingSlot][9] == 0)
  664. {
  665. SetPlayerAttachedObject(playerid, 9, PlayerAttatchedObjects[playerid][pmodel][9], PlayerAttatchedObjects[playerid][pbone][9], PlayerAttatchedObjects[playerid][pfX][9], PlayerAttatchedObjects[playerid][pfY][9], PlayerAttatchedObjects[playerid][pfZ][9],
  666. PlayerAttatchedObjects[playerid][prX][9], PlayerAttatchedObjects[playerid][prY][9], PlayerAttatchedObjects[playerid][prZ][9], PlayerAttatchedObjects[playerid][psX][9], PlayerAttatchedObjects[playerid][psY][9], PlayerAttatchedObjects[playerid][psZ][9]);
  667. PlayerAttatchedObjects[playerid][pUsingSlot][9] = 1;
  668. GameTextForPlayer(playerid, "Item placed", 1200, 3);
  669. }
  670. else
  671. {
  672. RemovePlayerAttachedObject(playerid, 9);
  673. PlayerAttatchedObjects[playerid][pUsingSlot][9] = 0;
  674. SendClientMessage(playerid, -1, "{0BDDC4}[Hold Objects]{FFFFFF} Item removed! To permanently delete it, use edit items.");
  675. }
  676. SavePObjects(playerid, 9);
  677. }
  678. }
  679. }
  680. }
  681. return 1;
  682. }
  683.  
  684. forward InitializePlayerObjects(playerid);
  685. public InitializePlayerObjects(playerid)
  686. {
  687. new Query[160];
  688. mysql_format(gSQL, Query, "SELECT * FROM `PlayerObjects` WHERE `Name` = '%s' LIMIT 10", GetName(playerid));
  689. mysql_function_query(gSQL, Query, true, "OnPlayerObjectsLoad", "d", playerid);
  690. }
  691.  
  692. CMD:playerobjects(playerid, params[])
  693. {
  694. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{F42626}[Info]{FFFFFF}You need to leave the vehicle to use this command!");
  695. ShowPlayerDialog(playerid, HOLDMENU3E, DIALOG_STYLE_LIST, "{F42626}Set or Edit", "Wear/Take off one of your items \nAdd/Replace items \nEdit items", "Select", "Cancel");
  696. return 1;
  697. }
  698.  
  699. /*==============================================================================
  700. Use InitializePlayerObjects(playerid); where player info is beeing loaded
  701. ==============================================================================*/
  702. forward OnPlayerObjectsLoad(playerid);
  703. public OnPlayerObjectsLoad(playerid)
  704. {
  705. if(IsPlayerConnected(playerid))
  706. {
  707. new rows, fields;
  708. cache_get_data(rows, fields);
  709. if(!rows)
  710. {
  711. new EscName[MAX_PLAYER_NAME], Query[160];
  712. mysql_real_escape_string(GetName(playerid), EscName);
  713. for(new i = 0; i < 10; i++)
  714. {
  715. format(Query, sizeof(Query), "INSERT INTO `PlayerObjects` (`Name`, `Slot`) VALUES ('%s', %d)", EscName, i);
  716. mysql_function_query(gSQL, Query, false, "NoReturnThread", "d", playerid);
  717.  
  718. PlayerAttatchedObjects[playerid][pmodel][i] = 0;
  719. PlayerAttatchedObjects[playerid][pbone][i] = 0;
  720. PlayerAttatchedObjects[playerid][pfX][i] = 0;
  721. PlayerAttatchedObjects[playerid][pfY][i] = 0;
  722. PlayerAttatchedObjects[playerid][pfZ][i] = 0;
  723. PlayerAttatchedObjects[playerid][prX][i] = 0;
  724. PlayerAttatchedObjects[playerid][prY][i] = 0;
  725. PlayerAttatchedObjects[playerid][prZ][i] = 0;
  726. PlayerAttatchedObjects[playerid][psX][i] = 0;
  727. PlayerAttatchedObjects[playerid][psY][i] = 0;
  728. PlayerAttatchedObjects[playerid][psZ][i] = 0;
  729. PlayerAttatchedObjects[playerid][pUsingSlot][i] = 0;
  730. }
  731. }
  732. else
  733. {
  734. new Data[50];
  735. for(new x=0; x<rows; x++)
  736. {
  737. cache_get_field_content(x, "model", Data), PlayerAttatchedObjects[playerid][pmodel][x] = strval(Data);
  738. cache_get_field_content(x, "bone", Data), PlayerAttatchedObjects[playerid][pbone][x] = strval(Data);
  739. cache_get_field_content(x, "fX", Data), PlayerAttatchedObjects[playerid][pfX][x] = floatstr(Data);
  740. cache_get_field_content(x, "fY", Data), PlayerAttatchedObjects[playerid][pfY][x] = floatstr(Data);
  741. cache_get_field_content(x, "fZ", Data), PlayerAttatchedObjects[playerid][pfZ][x] = floatstr(Data);
  742. cache_get_field_content(x, "rX", Data), PlayerAttatchedObjects[playerid][prX][x] = floatstr(Data);
  743. cache_get_field_content(x, "rY", Data), PlayerAttatchedObjects[playerid][prY][x] = floatstr(Data);
  744. cache_get_field_content(x, "rZ", Data), PlayerAttatchedObjects[playerid][prZ][x] = floatstr(Data);
  745. cache_get_field_content(x, "sX", Data), PlayerAttatchedObjects[playerid][psX][x] = floatstr(Data);
  746. cache_get_field_content(x, "sY", Data), PlayerAttatchedObjects[playerid][psY][x] = floatstr(Data);
  747. cache_get_field_content(x, "sZ", Data), PlayerAttatchedObjects[playerid][psZ][x] = floatstr(Data);
  748. cache_get_field_content(x, "Enabled", Data), PlayerAttatchedObjects[playerid][pUsingSlot][x] = strval(Data);
  749. }
  750. }
  751. }
  752. return 1;
  753. }
  754.  
  755. forward NoReturnThreads();
  756. public NoReturnThreads()
  757. {
  758. return 1;
  759. }
  760.  
  761. /*==============================================================================
  762. Stocks
  763. ===============================================================================*/
  764. stock GetName(playerid)
  765. {
  766. new Name[24];
  767. GetPlayerName(playerid, Name, sizeof(Name));
  768. return Name;
  769. }
  770.  
  771. stock SetPlayerObjects(playerid)
  772. {
  773. for(new i=0; i<10; i++)
  774. {
  775. if(PlayerAttatchedObjects[playerid][pmodel][i] > 18000)
  776. {
  777. if(PlayerAttatchedObjects[playerid][pUsingSlot][i] == 1)
  778. {
  779. SetPlayerAttachedObject(playerid, i, PlayerAttatchedObjects[playerid][pmodel][i], PlayerAttatchedObjects[playerid][pbone][i], PlayerAttatchedObjects[playerid][pfX][i], PlayerAttatchedObjects[playerid][pfY][i], PlayerAttatchedObjects[playerid][pfZ][i],
  780. PlayerAttatchedObjects[playerid][prX][i], PlayerAttatchedObjects[playerid][prY][i], PlayerAttatchedObjects[playerid][prZ][i], PlayerAttatchedObjects[playerid][psX][i], PlayerAttatchedObjects[playerid][psY][i], PlayerAttatchedObjects[playerid][psZ][i]);
  781. }
  782. }
  783. }
  784. }
  785.  
  786. stock SavePObjects(playerid, slotid)
  787. {
  788. new
  789. Query[1024], EscName[MAX_PLAYER_NAME];
  790.  
  791. new index = slotid;
  792.  
  793. if(index < 10)
  794. {
  795. mysql_real_escape_string(GetName(playerid), EscName);
  796.  
  797. format(Query, sizeof(Query), "UPDATE `PlayerObjects` SET `model` = %d, `bone` = %d, `fX` = %f, `fY` = %f, `fZ` = %f, `rX` = %f, `rY` = %f, `rZ` = %f, `sX` = %f, `sY` = %f, `sZ` = %f, `Enabled` = %d WHERE `Name` = '%s' AND `Slot` = %d",
  798. PlayerAttatchedObjects[playerid][pmodel][index],
  799. PlayerAttatchedObjects[playerid][pbone][index],
  800. PlayerAttatchedObjects[playerid][pfX][index],
  801. PlayerAttatchedObjects[playerid][pfY][index],
  802. PlayerAttatchedObjects[playerid][pfZ][index],
  803. PlayerAttatchedObjects[playerid][prX][index],
  804. PlayerAttatchedObjects[playerid][prY][index],
  805. PlayerAttatchedObjects[playerid][prZ][index],
  806. PlayerAttatchedObjects[playerid][psX][index],
  807. PlayerAttatchedObjects[playerid][psY][index],
  808. PlayerAttatchedObjects[playerid][psZ][index],
  809. PlayerAttatchedObjects[playerid][pUsingSlot][index],
  810. EscName,
  811. index);
  812.  
  813. mysql_function_query(gSQL, Query, false, "NoReturnThreads", "");
  814. }
  815. }
  816.  
  817. stock ResetHoldObjects(playerid)
  818. {
  819. for(new i = 0; i < 10; i++)
  820. {
  821. PlayerAttatchedObjects[playerid][pmodel][i] = 0;
  822. PlayerAttatchedObjects[playerid][pbone][i] = 0;
  823. PlayerAttatchedObjects[playerid][pfX][i] = 0;
  824. PlayerAttatchedObjects[playerid][pfY][i] = 0;
  825. PlayerAttatchedObjects[playerid][pfZ][i] = 0;
  826. PlayerAttatchedObjects[playerid][prX][i] = 0;
  827. PlayerAttatchedObjects[playerid][prY][i] = 0;
  828. PlayerAttatchedObjects[playerid][prZ][i] = 0;
  829. PlayerAttatchedObjects[playerid][psX][i] = 0;
  830. PlayerAttatchedObjects[playerid][psY][i] = 0;
  831. PlayerAttatchedObjects[playerid][psZ][i] = 0;
  832. PlayerAttatchedObjects[playerid][pUsingSlot][i] = 0;
  833. }
  834. }
  835.  
  836. stock GetAttachedModelName(modelid)
  837. {
  838. new returnt[64];
  839. switch(modelid)
  840. {
  841. case 18632: { format(returnt,sizeof(returnt), "FishingRod"); }
  842. case 18633: { format(returnt,sizeof(returnt), "GTASAWrench1"); }
  843. case 18634: { format(returnt,sizeof(returnt), "GTASACrowbar1"); }
  844. case 18635: { format(returnt,sizeof(returnt), "GTASAHammer1"); }
  845. case 18636: { format(returnt,sizeof(returnt), "PoliceCap1"); }
  846. case 18637: { format(returnt,sizeof(returnt), "PoliceShield1"); }
  847. case 18638: { format(returnt,sizeof(returnt), "HardHat1"); }
  848. case 18639: { format(returnt,sizeof(returnt), "BlackHat1"); }
  849. case 18640: { format(returnt,sizeof(returnt), "Hair1"); }
  850. case 18975: { format(returnt,sizeof(returnt), "Hair2"); }
  851. case 19136: { format(returnt,sizeof(returnt), "Hair4"); }
  852. case 19274: { format(returnt,sizeof(returnt), "Hair5"); }
  853. case 18641: { format(returnt,sizeof(returnt), "Flashlight1"); }
  854. case 18642: { format(returnt,sizeof(returnt), "Taser1"); }
  855. case 18643: { format(returnt,sizeof(returnt), "LaserPointer1"); }
  856. case 19080: { format(returnt,sizeof(returnt), "LaserPointer2"); }
  857. case 19081: { format(returnt,sizeof(returnt), "LaserPointer3"); }
  858. case 19082: { format(returnt,sizeof(returnt), "LaserPointer4"); }
  859. case 19083: { format(returnt,sizeof(returnt), "LaserPointer5"); }
  860. case 19084: { format(returnt,sizeof(returnt), "LaserPointer6"); }
  861. case 18644: { format(returnt,sizeof(returnt), "Screwdriver1"); }
  862. case 18645: { format(returnt,sizeof(returnt), "MotorcycleHelmet1"); }
  863. case 18865: { format(returnt,sizeof(returnt), "MobilePhone1"); }
  864. case 18866: { format(returnt,sizeof(returnt), "MobilePhone2"); }
  865. case 18867: { format(returnt,sizeof(returnt), "MobilePhone3"); }
  866. case 18868: { format(returnt,sizeof(returnt), "MobilePhone4"); }
  867. case 18869: { format(returnt,sizeof(returnt), "MobilePhone5"); }
  868. case 18870: { format(returnt,sizeof(returnt), "MobilePhone6"); }
  869. case 18871: { format(returnt,sizeof(returnt), "MobilePhone7"); }
  870. case 18872: { format(returnt,sizeof(returnt), "MobilePhone8"); }
  871. case 18873: { format(returnt,sizeof(returnt), "MobilePhone9"); }
  872. case 18874: { format(returnt,sizeof(returnt), "MobilePhone10"); }
  873. case 18875: { format(returnt,sizeof(returnt), "Pager1"); }
  874. case 18890: { format(returnt,sizeof(returnt), "Rake1"); }
  875. case 18891: { format(returnt,sizeof(returnt), "Bandana1"); }
  876. case 18892: { format(returnt,sizeof(returnt), "Bandana2"); }
  877. case 18893: { format(returnt,sizeof(returnt), "Bandana3"); }
  878. case 18894: { format(returnt,sizeof(returnt), "Bandana4"); }
  879. case 18895: { format(returnt,sizeof(returnt), "Bandana5"); }
  880. case 18896: { format(returnt,sizeof(returnt), "Bandana6"); }
  881. case 18897: { format(returnt,sizeof(returnt), "Bandana7"); }
  882. case 18898: { format(returnt,sizeof(returnt), "Bandana8"); }
  883. case 18899: { format(returnt,sizeof(returnt), "Bandana9"); }
  884. case 18900: { format(returnt,sizeof(returnt), "Bandana10"); }
  885. case 18901: { format(returnt,sizeof(returnt), "Bandana11"); }
  886. case 18902: { format(returnt,sizeof(returnt), "Bandana12"); }
  887. case 18903: { format(returnt,sizeof(returnt), "Bandana13"); }
  888. case 18904: { format(returnt,sizeof(returnt), "Bandana14"); }
  889. case 18905: { format(returnt,sizeof(returnt), "Bandana15"); }
  890. case 18906: { format(returnt,sizeof(returnt), "Bandana16"); }
  891. case 18907: { format(returnt,sizeof(returnt), "Bandana17"); }
  892. case 18908: { format(returnt,sizeof(returnt), "Bandana18"); }
  893. case 18909: { format(returnt,sizeof(returnt), "Bandana19"); }
  894. case 18910: { format(returnt,sizeof(returnt), "Bandana20"); }
  895. case 18911: { format(returnt,sizeof(returnt), "Mask1"); }
  896. case 18912: { format(returnt,sizeof(returnt), "Mask2"); }
  897. case 18913: { format(returnt,sizeof(returnt), "Mask3"); }
  898. case 18914: { format(returnt,sizeof(returnt), "Mask4"); }
  899. case 18915: { format(returnt,sizeof(returnt), "Mask5"); }
  900. case 18916: { format(returnt,sizeof(returnt), "Mask6"); }
  901. case 18917: { format(returnt,sizeof(returnt), "Mask7"); }
  902. case 18918: { format(returnt,sizeof(returnt), "Mask8"); }
  903. case 18919: { format(returnt,sizeof(returnt), "Mask9"); }
  904. case 18920: { format(returnt,sizeof(returnt), "Mask10"); }
  905. case 18921: { format(returnt,sizeof(returnt), "Beret1"); }
  906. case 18922: { format(returnt,sizeof(returnt), "Beret2"); }
  907. case 18923: { format(returnt,sizeof(returnt), "Beret3"); }
  908. case 18924: { format(returnt,sizeof(returnt), "Beret4"); }
  909. case 18925: { format(returnt,sizeof(returnt), "Beret5"); }
  910. case 18926: { format(returnt,sizeof(returnt), "Hat1"); }
  911. case 18927: { format(returnt,sizeof(returnt), "Hat2"); }
  912. case 18928: { format(returnt,sizeof(returnt), "Hat3"); }
  913. case 18929: { format(returnt,sizeof(returnt), "Hat4"); }
  914. case 18930: { format(returnt,sizeof(returnt), "Hat5"); }
  915. case 18931: { format(returnt,sizeof(returnt), "Hat6"); }
  916. case 18932: { format(returnt,sizeof(returnt), "Hat7"); }
  917. case 18933: { format(returnt,sizeof(returnt), "Hat8"); }
  918. case 18934: { format(returnt,sizeof(returnt), "Hat9"); }
  919. case 18935: { format(returnt,sizeof(returnt), "Hat10"); }
  920. case 18936: { format(returnt,sizeof(returnt), "Helmet1"); }
  921. case 18937: { format(returnt,sizeof(returnt), "Helmet2"); }
  922. case 18938: { format(returnt,sizeof(returnt), "Helmet3"); }
  923. case 18939: { format(returnt,sizeof(returnt), "CapBack1"); }
  924. case 18940: { format(returnt,sizeof(returnt), "CapBack2"); }
  925. case 18941: { format(returnt,sizeof(returnt), "CapBack3"); }
  926. case 18942: { format(returnt,sizeof(returnt), "CapBack4"); }
  927. case 18943: { format(returnt,sizeof(returnt), "CapBack5"); }
  928. case 18944: { format(returnt,sizeof(returnt), "HatBoater1"); }
  929. case 18945: { format(returnt,sizeof(returnt), "HatBoater2"); }
  930. case 18946: { format(returnt,sizeof(returnt), "HatBoater3"); }
  931. case 18947: { format(returnt,sizeof(returnt), "HatBowler1"); }
  932. case 18948: { format(returnt,sizeof(returnt), "HatBowler2"); }
  933. case 18949: { format(returnt,sizeof(returnt), "HatBowler3"); }
  934. case 18950: { format(returnt,sizeof(returnt), "HatBowler4"); }
  935. case 18951: { format(returnt,sizeof(returnt), "HatBowler5"); }
  936. case 18952: { format(returnt,sizeof(returnt), "BoxingHelmet1"); }
  937. case 18953: { format(returnt,sizeof(returnt), "CapKnit1"); }
  938. case 18954: { format(returnt,sizeof(returnt), "CapKnit2"); }
  939. case 18955: { format(returnt,sizeof(returnt), "CapOverEye1"); }
  940. case 18956: { format(returnt,sizeof(returnt), "CapOverEye2"); }
  941. case 18957: { format(returnt,sizeof(returnt), "CapOverEye3"); }
  942. case 18958: { format(returnt,sizeof(returnt), "CapOverEye4"); }
  943. case 18959: { format(returnt,sizeof(returnt), "CapOverEye5"); }
  944. case 18960: { format(returnt,sizeof(returnt), "CapRimUp1"); }
  945. case 18961: { format(returnt,sizeof(returnt), "CapTrucker1"); }
  946. case 18962: { format(returnt,sizeof(returnt), "CowboyHat2"); }
  947. case 18963: { format(returnt,sizeof(returnt), "CJElvisHead"); }
  948. case 18964: { format(returnt,sizeof(returnt), "SkullyCap1"); }
  949. case 18965: { format(returnt,sizeof(returnt), "SkullyCap2"); }
  950. case 18966: { format(returnt,sizeof(returnt), "SkullyCap3"); }
  951. case 18967: { format(returnt,sizeof(returnt), "HatMan1"); }
  952. case 18968: { format(returnt,sizeof(returnt), "HatMan2"); }
  953. case 18969: { format(returnt,sizeof(returnt), "HatMan3"); }
  954. case 18970: { format(returnt,sizeof(returnt), "HatTiger1"); }
  955. case 18971: { format(returnt,sizeof(returnt), "HatCool1"); }
  956. case 18972: { format(returnt,sizeof(returnt), "HatCool2"); }
  957. case 18973: { format(returnt,sizeof(returnt), "HatCool3"); }
  958. case 18974: { format(returnt,sizeof(returnt), "MaskZorro1"); }
  959. case 18976: { format(returnt,sizeof(returnt), "MotorcycleHelmet2"); }
  960. case 18977: { format(returnt,sizeof(returnt), "MotorcycleHelmet3"); }
  961. case 18978: { format(returnt,sizeof(returnt), "MotorcycleHelmet4"); }
  962. case 18979: { format(returnt,sizeof(returnt), "MotorcycleHelmet5"); }
  963. case 19006: { format(returnt,sizeof(returnt), "GlassesType1"); }
  964. case 19007: { format(returnt,sizeof(returnt), "GlassesType2"); }
  965. case 19008: { format(returnt,sizeof(returnt), "GlassesType3"); }
  966. case 19009: { format(returnt,sizeof(returnt), "GlassesType4"); }
  967. case 19010: { format(returnt,sizeof(returnt), "GlassesType5"); }
  968. case 19011: { format(returnt,sizeof(returnt), "GlassesType6"); }
  969. case 19012: { format(returnt,sizeof(returnt), "GlassesType7"); }
  970. case 19013: { format(returnt,sizeof(returnt), "GlassesType8"); }
  971. case 19014: { format(returnt,sizeof(returnt), "GlassesType9"); }
  972. case 19015: { format(returnt,sizeof(returnt), "GlassesType10"); }
  973. case 19016: { format(returnt,sizeof(returnt), "GlassesType11"); }
  974. case 19017: { format(returnt,sizeof(returnt), "GlassesType12"); }
  975. case 19018: { format(returnt,sizeof(returnt), "GlassesType13"); }
  976. case 19019: { format(returnt,sizeof(returnt), "GlassesType14"); }
  977. case 19020: { format(returnt,sizeof(returnt), "GlassesType15"); }
  978. case 19021: { format(returnt,sizeof(returnt), "GlassesType16"); }
  979. case 19022: { format(returnt,sizeof(returnt), "GlassesType17"); }
  980. case 19023: { format(returnt,sizeof(returnt), "GlassesType18"); }
  981. case 19024: { format(returnt,sizeof(returnt), "GlassesType19"); }
  982. case 19025: { format(returnt,sizeof(returnt), "GlassesType20"); }
  983. case 19026: { format(returnt,sizeof(returnt), "GlassesType21"); }
  984. case 19027: { format(returnt,sizeof(returnt), "GlassesType22"); }
  985. case 19028: { format(returnt,sizeof(returnt), "GlassesType23"); }
  986. case 19029: { format(returnt,sizeof(returnt), "GlassesType24"); }
  987. case 19030: { format(returnt,sizeof(returnt), "GlassesType25"); }
  988. case 19031: { format(returnt,sizeof(returnt), "GlassesType26"); }
  989. case 19032: { format(returnt,sizeof(returnt), "GlassesType27"); }
  990. case 19033: { format(returnt,sizeof(returnt), "GlassesType28"); }
  991. case 19034: { format(returnt,sizeof(returnt), "GlassesType29"); }
  992. case 19035: { format(returnt,sizeof(returnt), "GlassesType30"); }
  993. case 19036: { format(returnt,sizeof(returnt), "HockeyMask1"); }
  994. case 19037: { format(returnt,sizeof(returnt), "HockeyMask2"); }
  995. case 19038: { format(returnt,sizeof(returnt), "HockeyMask3"); }
  996. case 19039: { format(returnt,sizeof(returnt), "WatchType1"); }
  997. case 19040: { format(returnt,sizeof(returnt), "WatchType2"); }
  998. case 19041: { format(returnt,sizeof(returnt), "WatchType3"); }
  999. case 19042: { format(returnt,sizeof(returnt), "WatchType4"); }
  1000. case 19043: { format(returnt,sizeof(returnt), "WatchType5"); }
  1001. case 19044: { format(returnt,sizeof(returnt), "WatchType6"); }
  1002. case 19045: { format(returnt,sizeof(returnt), "WatchType7"); }
  1003. case 19046: { format(returnt,sizeof(returnt), "WatchType8"); }
  1004. case 19047: { format(returnt,sizeof(returnt), "WatchType9"); }
  1005. case 19048: { format(returnt,sizeof(returnt), "WatchType10"); }
  1006. case 19049: { format(returnt,sizeof(returnt), "WatchType11"); }
  1007. case 19050: { format(returnt,sizeof(returnt), "WatchType12"); }
  1008. case 19051: { format(returnt,sizeof(returnt), "WatchType13"); }
  1009. case 19052: { format(returnt,sizeof(returnt), "WatchType14"); }
  1010. case 19053: { format(returnt,sizeof(returnt), "WatchType15"); }
  1011. case 19079: { format(returnt,sizeof(returnt), "Parrot"); }
  1012. case 19085: { format(returnt,sizeof(returnt), "EyePatch1"); }
  1013. case 19086: { format(returnt,sizeof(returnt), "ChainsawDildo1"); }
  1014. case 19090: { format(returnt,sizeof(returnt), "PomPomBlue"); }
  1015. case 19091: { format(returnt,sizeof(returnt), "PomPomRed"); }
  1016. case 19092: { format(returnt,sizeof(returnt), "PomPomGreen"); }
  1017. case 19093: { format(returnt,sizeof(returnt), "HardHat2"); }
  1018. case 19094: { format(returnt,sizeof(returnt), "BurgerShotHat1"); }
  1019. case 19095: { format(returnt,sizeof(returnt), "CowboyHat1"); }
  1020. case 19096: { format(returnt,sizeof(returnt), "CowboyHat3"); }
  1021. case 19097: { format(returnt,sizeof(returnt), "CowboyHat4"); }
  1022. case 19098: { format(returnt,sizeof(returnt), "CowboyHat5"); }
  1023. case 19099: { format(returnt,sizeof(returnt), "PoliceCap2"); }
  1024. case 19100: { format(returnt,sizeof(returnt), "PoliceCap3"); }
  1025. case 19101: { format(returnt,sizeof(returnt), "ArmyHelmet1"); }
  1026. case 19102: { format(returnt,sizeof(returnt), "ArmyHelmet2"); }
  1027. case 19103: { format(returnt,sizeof(returnt), "ArmyHelmet3"); }
  1028. case 19104: { format(returnt,sizeof(returnt), "ArmyHelmet4"); }
  1029. case 19105: { format(returnt,sizeof(returnt), "ArmyHelmet5"); }
  1030. case 19106: { format(returnt,sizeof(returnt), "ArmyHelmet6"); }
  1031. case 19107: { format(returnt,sizeof(returnt), "ArmyHelmet7"); }
  1032. case 19108: { format(returnt,sizeof(returnt), "ArmyHelmet8"); }
  1033. case 19109: { format(returnt,sizeof(returnt), "ArmyHelmet9"); }
  1034. case 19110: { format(returnt,sizeof(returnt), "ArmyHelmet10"); }
  1035. case 19111: { format(returnt,sizeof(returnt), "ArmyHelmet11"); }
  1036. case 19112: { format(returnt,sizeof(returnt), "ArmyHelmet12"); }
  1037. case 19113: { format(returnt,sizeof(returnt), "SillyHelmet1"); }
  1038. case 19114: { format(returnt,sizeof(returnt), "SillyHelmet2"); }
  1039. case 19115: { format(returnt,sizeof(returnt), "SillyHelmet3"); }
  1040. case 19116: { format(returnt,sizeof(returnt), "PlainHelmet1"); }
  1041. case 19117: { format(returnt,sizeof(returnt), "PlainHelmet2"); }
  1042. case 19118: { format(returnt,sizeof(returnt), "PlainHelmet3"); }
  1043. case 19119: { format(returnt,sizeof(returnt), "PlainHelmet4"); }
  1044. case 19120: { format(returnt,sizeof(returnt), "PlainHelmet5"); }
  1045. case 19137: { format(returnt,sizeof(returnt), "CluckinBellHat1"); }
  1046. case 19138: { format(returnt,sizeof(returnt), "PoliceGlasses1"); }
  1047. case 19139: { format(returnt,sizeof(returnt), "PoliceGlasses2"); }
  1048. case 19140: { format(returnt,sizeof(returnt), "PoliceGlasses3"); }
  1049. case 19141: { format(returnt,sizeof(returnt), "SWATHelmet1"); }
  1050. case 19142: { format(returnt,sizeof(returnt), "SWATArmour1"); }
  1051. case 19160: { format(returnt,sizeof(returnt), "HardHat3"); }
  1052. case 19161: { format(returnt,sizeof(returnt), "PoliceHat1"); }
  1053. case 19162: { format(returnt,sizeof(returnt), "PoliceHat2"); }
  1054. case 19163: { format(returnt,sizeof(returnt), "GimpMask1"); }
  1055. case 19317: { format(returnt,sizeof(returnt), "bassguitar01"); }
  1056. case 19318: { format(returnt,sizeof(returnt), "flyingv01"); }
  1057. case 19319: { format(returnt,sizeof(returnt), "warlock01"); }
  1058. case 19330: { format(returnt,sizeof(returnt), "fire_hat01"); }
  1059. case 19331: { format(returnt,sizeof(returnt), "fire_hat02"); }
  1060. case 19346: { format(returnt,sizeof(returnt), "hotdog01"); }
  1061. case 19347: { format(returnt,sizeof(returnt), "badge01"); }
  1062. case 19348: { format(returnt,sizeof(returnt), "cane01"); }
  1063. case 19349: { format(returnt,sizeof(returnt), "monocle01"); }
  1064. case 19350: { format(returnt,sizeof(returnt), "moustache01"); }
  1065. case 19351: { format(returnt,sizeof(returnt), "moustache02"); }
  1066. case 19352: { format(returnt,sizeof(returnt), "tophat01"); }
  1067. default: { format(returnt,sizeof(returnt), "Un-listed item"); }
  1068. }
  1069. return returnt;
  1070. }
Advertisement
Add Comment
Please, Sign In to add comment