Black_White

GTA SA CLOTH external script source by B1ack & Wh1te

Sep 7th, 2020 (edited)
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.11 KB | None | 0 0
  1. //-------------External script 64 (CLOTHES)---------------
  2.  
  3. :CLOTH
  4. // To execute at the beginning main.scm
  5. CONST
  6. BODY_PART_TORSO = 0
  7. BODY_PART_HEAD = 1
  8. BODY_PART_LEGS = 2
  9. BODY_PART_SHOES = 3
  10. BODY_PART_LOWER_LEFT_ARM = 4
  11. BODY_PART_UPPER_LEFT_ARM = 5
  12. BODY_PART_LOWER_RIGHT_ARM = 6
  13. BODY_PART_UPPER_RIGHT_ARM = 7
  14. BODY_PART_BACK_TOP = 8
  15. BODY_PART_LEFT_CHEST = 9
  16. BODY_PART_RIGHT_CHEST = 10
  17. BODY_PART_STOMACH = 11
  18. BODY_PART_LOWER_BACK = 12
  19. BODY_PART_NECKLACE = 13
  20. BODY_PART_BRACELET = 14
  21. BODY_PART_GLASSES = 15
  22. BODY_PART_HAT = 16
  23. BODY_PART_SPECIAL = 17
  24.  
  25. WEAPON_UNARMED = 0
  26. WEAPON_ANY = 57
  27.  
  28. PANEL_ROW_LOCK = 0
  29. PANEL_ROW_BOUGHT = 1
  30. PANEL_ROW_UNLOCK = 2
  31. MAX_PANEL_ROWS = 12
  32.  
  33. ALIGN_CENTRE = 0
  34. ALIGN_LEFT = 1
  35. ALIGN_RIGHT = 2
  36.  
  37. LANGUAGE_AMERICAN = 0
  38. LANGUAGE_FRENCH = 1
  39. LANGUAGE_GERMAN = 2
  40. LANGUAGE_ITALIAN = 3
  41. LANGUAGE_SPANISH = 4
  42.  
  43. NULL = 0
  44. END
  45. VAR
  46. $PLAYER_CHAR : Player
  47. $PLAYER_ACTOR : Actor
  48. $Shops_Player_Cash : Int
  49. $X_Buy_Marker : Float
  50. $Y_Buy_Marker : Float
  51. $Z_Buy_Marker : Float
  52. $2514 : Int
  53. $2425 : Int
  54. $2426 : Array 12 of Int
  55. $2438 : Array 12 of Int
  56. $2450 : Array 12 of String
  57. $2474 : Array 12 of Int
  58. $2486 : Array 12 of Int
  59. $2498 : Array 12 of Int
  60. $2513 : Int
  61. $2542 : Int
  62. $2547 : Int
  63. $2755 : Float
  64. $2756 : Float
  65. $2757 : Float
  66. $10001 : Float
  67. $10002 : Float
  68. $10003 : Float
  69. $SELECTED_MENU_ITEM : Int
  70. $SHOPPINGITEM_MODELCRC : Int
  71. $SHOPPINGITEM_BODYPART : Int
  72. $SELLER_MODEL : Model
  73. END
  74.  
  75. VAR
  76. $9999 : Int = 0
  77. $10000 : Int = 0
  78. $9981 : Actor
  79. $9982 : Int
  80. $9989 : Object
  81. $9998 : Int = 0
  82. $10004 : Float = 0.0
  83. $10005 : Float = 0.0
  84. $10006 : Float = 0.0
  85. $10007 : Float = 0.0
  86. $10008 : Float = 0.0
  87. $10009 : Float = 0.0
  88. $10010 : Float = 0.0
  89. $10011 : Float = 0.0
  90. $10012 : Float = 0.0
  91. $10013 : Float = 0.0
  92. $10014 : Float = 0.0
  93. $10015 : Float = 0.0
  94. $10016 : Float = 0.0
  95. $10017 : Float = 0.0
  96. $10018 : Float = 0.0
  97. $10019 : Float = 0.0
  98. $10020 : Float = 0.0
  99. $10021 : Float = 0.0
  100. $10022 : Float = 0.0
  101. $10023 : Float = 0.0
  102. $10024 : Float = 0.0
  103. $10025 : Float = 0.0
  104. $10026 : Float = 0.0
  105. $10027 : Float = 0.0
  106. $9983 : Int = 0
  107. $9993 : Int = 0
  108. $9991 : Float = 0.0
  109. $9992 : Float = 0.0
  110. $9990 : Int = 0
  111. $10028 : Model
  112. $10031 : Int = 0
  113. END
  114. $2513 = 0
  115. $2514 = 0
  116. $2515 = 0
  117. $2418 = FALSE
  118. $2420 = FALSE
  119. $2422 = FALSE
  120. $2424 = FALSE
  121. $2425 = 0
  122. $2544 = FALSE
  123. $2545 = FALSE
  124. $2546 = FALSE
  125. $2547 = NULL
  126. $9986 = FALSE
  127. $9987 = FALSE
  128. $9988 = FALSE
  129. $10002 = 0.0
  130. $10001 = 0.0
  131. $10003 = 0.0
  132. $10029 = FALSE
  133. $10030 = FALSE
  134.  
  135. IF s$CURRENT_SHOP_GXT_NAME == 'LACS1' // Sub Urban
  136. THEN
  137. $SELLER_MODEL = #WFYCLOT
  138. $10028 = -371
  139. END
  140. IF s$CURRENT_SHOP_GXT_NAME == 'CSCHP' // Binco
  141. THEN
  142. $SELLER_MODEL = #WFYCLOT
  143. $10028 = -370
  144. END
  145. IF s$CURRENT_SHOP_GXT_NAME == 'CSSPRT' // Pro-Laps
  146. THEN
  147. $SELLER_MODEL = #WMYCLOT
  148. $10028 = -372
  149. END
  150. IF s$CURRENT_SHOP_GXT_NAME == 'CLOTHGP' // Zip
  151. THEN
  152. $SELLER_MODEL = #WFYCLOT
  153. $10028 = -373
  154. END
  155. IF s$CURRENT_SHOP_GXT_NAME == 'CSDESGN' // Victim
  156. THEN
  157. $SELLER_MODEL = #WFYCLOT
  158. $10028 = -374
  159. END
  160. IF s$CURRENT_SHOP_GXT_NAME == 'CSEXL' // Didier Sachs
  161. THEN
  162. $SELLER_MODEL = #WMYCLOT
  163. $10028 = -375
  164. END
  165.  
  166. $SELLER_MODEL.Load()
  167. $10028.Load()
  168. 03CF: load_wav 20802 as 4
  169. 038B: load_requested_models
  170. set_wb_check_to FALSE
  171. thread 'CLOTH'
  172.  
  173. WHILE TRUE
  174. wait 0
  175. IF $PLAYER_CHAR.Defined()
  176. THEN
  177. IF 8844: NOT string s$CURRENT_SHOP_GXT_NAME empty
  178. THEN
  179. IF $9990 > 0
  180. THEN
  181. 0489: set_actor $PLAYER_ACTOR muted TRUE
  182. IF 0A0F: new_language_set
  183. THEN
  184. 03E6: remove_text_box
  185. 08DA: remove_panel $2419
  186. 08DA: remove_panel $2423
  187. 08DA: remove_panel $2421
  188. 08DA: remove_panel $2417
  189. $2420 = FALSE
  190. $2424 = FALSE
  191. $2422 = FALSE
  192. $2418 = FALSE
  193. 09FB: $CURRENT_LANGUAGE = current_language
  194. END
  195. END
  196.  
  197. IF $9990 == 0
  198. THEN
  199. IF s$CURRENT_SHOP_GXT_NAME == 'LACS1' // Sub Urban
  200. THEN
  201. $10004 = 0.0
  202. $10005 = 0.0
  203. $10006 = 0.0
  204. $10024 = 203.528
  205. $10025 = -41.644
  206. $10026 = 1000.852
  207. $10027 = 180.0
  208. $10011 = 90.0
  209. $10007 = 0.0
  210. s$9984 = s$CURRENT_SHOP_GXT_NAME
  211. 075F: store_shopping_data_entries_number_to $9999
  212. $9990 = 1
  213. END
  214. IF s$CURRENT_SHOP_GXT_NAME == 'CSCHP' // Binco
  215. THEN
  216. $10004 = 2.85
  217. $10005 = -57.534
  218. $10006 = 3.26
  219. $10024 = 208.806
  220. $10025 = -98.713
  221. $10026 = 1004.297
  222. $10027 = 180.0
  223. $10011 = 90.0
  224. $10007 = 0.0
  225. s$9984 = s$CURRENT_SHOP_GXT_NAME
  226. 075F: store_shopping_data_entries_number_to $9999
  227. $9990 = 1
  228. END
  229. IF s$CURRENT_SHOP_GXT_NAME == 'CSSPRT' // Pro-Laps
  230. THEN
  231. $10004 = -12.653
  232. $10005 = -90.758
  233. $10006 = 1.477
  234. $10024 = 207.018
  235. $10025 = -127.782
  236. $10026 = 1002.555
  237. $10027 = 180.0
  238. $10011 = 90.0
  239. $10007 = 0.0
  240. s$9984 = s$CURRENT_SHOP_GXT_NAME
  241. 075F: store_shopping_data_entries_number_to $9999
  242. $9990 = 1
  243. END
  244. IF s$CURRENT_SHOP_GXT_NAME == 'CLOTHGP' // Zip
  245. THEN
  246. $10004 = -33.204
  247. $10005 = -46.245
  248. $10006 = 0.0
  249. $10024 = 161.56
  250. $10025 = -81.369
  251. $10026 = 1000.859
  252. $10027 = 180.0
  253. $10011 = 90.0
  254. $10007 = 0.0
  255. s$9984 = s$CURRENT_SHOP_GXT_NAME
  256. 075F: store_shopping_data_entries_number_to $9999
  257. $9990 = 1
  258. END
  259. IF s$CURRENT_SHOP_GXT_NAME == 'CSDESGN' // Victim
  260. THEN
  261. IF $MANSION_TOTAL_PASSED_MISSIONS > 3
  262. THEN
  263. 09A9: get_string "TSHIRTLOCGREY" CRC32_to $10031 // 16-byte strings
  264. 08C8: set_shopping_item_with_textureCRC $10031 price_to 15
  265. 09A9: get_string "BASKBALLLOC" CRC32_to $10031 // 16-byte strings
  266. 08C8: set_shopping_item_with_textureCRC $10031 price_to 20
  267. 09A9: get_string "TSHIRTMADDGREY" CRC32_to $10031 // 16-byte strings
  268. 08C8: set_shopping_item_with_textureCRC $10031 price_to 300
  269. 09A9: get_string "TSHIRTMADDGRN" CRC32_to $10031 // 16-byte strings
  270. 08C8: set_shopping_item_with_textureCRC $10031 price_to 300
  271. END
  272. $10004 = -5.806
  273. $10005 = 36.733
  274. $10006 = -0.815
  275. $10024 = 204.836
  276. $10025 = -7.328
  277. $10026 = 1000.258
  278. $10027 = 270.0
  279. $10011 = 90.0
  280. $10007 = 0.0
  281. s$9984 = s$CURRENT_SHOP_GXT_NAME
  282. 075F: store_shopping_data_entries_number_to $9999
  283. $9990 = 1
  284. END
  285. IF s$CURRENT_SHOP_GXT_NAME == 'CSEXL' // Didier Sachs
  286. THEN
  287. $10004 = 1.2
  288. $10005 = -114.524
  289. $10006 = -1.51
  290. $10024 = 204.366
  291. $10025 = -157.789
  292. $10026 = 999.563
  293. $10027 = 180.0
  294. $10011 = 90.0
  295. $10007 = 0.0
  296. s$9984 = s$CURRENT_SHOP_GXT_NAME
  297. 075F: store_shopping_data_entries_number_to $9999
  298. $9990 = 1
  299. END
  300. END
  301.  
  302. IF $9990 == 1
  303. THEN
  304. 03F0: enable_text_draw TRUE
  305. 08F8: display_stat_update_box FALSE
  306. $10012 = 212.8715
  307. $10012 += $10004
  308. $10013 = -42.8156
  309. $10013 += $10005
  310. $10014 = 1002.116
  311. $10014 += $10006
  312. $10015 = 213.4791
  313. $10015 += $10004
  314. $10016 = -42.0238
  315. $10016 += $10005
  316. $10017 = 1002.053
  317. $10017 += $10006
  318. $10018 = 214.5148
  319. $10018 += $10004
  320. $10019 = -41.6106
  321. $10019 += $10005
  322. $10020 = 1002.494
  323. $10020 += $10006
  324. $10021 = 214.5367
  325. $10021 += $10004
  326. $10022 = -40.6175
  327. $10022 += $10005
  328. $10023 = 1002.609
  329. $10023 += $10006
  330. $10008 = 214.622
  331. $10008 += $10004
  332. $10009 = -40.652
  333. $10009 += $10005
  334. $10010 = 1001.033
  335. $10010 += $10006
  336. $10001 = 213.874
  337. $10001 += $10004
  338. $10002 = -39.811
  339. $10002 += $10005
  340. $10003 = 1002.2
  341. $10003 += $10006
  342. $9981 = Actor.Create(CivMale, $SELLER_MODEL, $10024, $10025, $10026)
  343. 02A9: set_actor $9981 immune_to_nonplayer TRUE
  344. 060B: set_actor $9981 decision_maker_to 65542
  345. $9981.Angle = $10027
  346. $9986 = FALSE
  347. $9989 = Object.Init($10028, $10001, $10002, $10003)
  348. $9989.Angle = $10007
  349. 0947: actor $9981 speak_from_audio_table 332 store_spoken_phrase_id_to $10081
  350. $SHOW_SHOP_SPHERE = TRUE
  351. $9990 = 2
  352. END
  353.  
  354. IF $9990 == 2
  355. THEN
  356. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME
  357. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  358. THEN
  359. gosub @CLOTH_END_THREAD
  360. END
  361. IF NOT $9981.Dead()
  362. THEN
  363. IF $9986 == FALSE
  364. THEN
  365. IF OR
  366. 02E0: actor $PLAYER_ACTOR firing_weapon
  367. 0457: player $PLAYER_CHAR aiming_at_actor $9981
  368. 031D: actor $9981 hit_by_weapon WEAPON_ANY
  369. $1258 == TRUE
  370. THEN
  371. 0947: actor $9981 speak_from_audio_table 327 store_spoken_phrase_id_to $10081
  372. 05C4: AS_actor $9981 hands_up -2 ms
  373. $9986 = TRUE
  374. ELSE
  375. $SHOW_SHOP_SPHERE = TRUE
  376. IF 0102: actor $PLAYER_ACTOR in_sphere $10008 $10009 $10010 radius 1.0 1.0 4.0 sphere $SHOW_SHOP_SPHERE stopped_on_foot
  377. THEN
  378. IF Player.Controllable($PLAYER_CHAR)
  379. THEN
  380. $9990 = 3
  381. END
  382. END
  383. END
  384. IF $9988 == FALSE
  385. THEN
  386. IF 0105: actor $PLAYER_ACTOR near_actor $9981 radius 8.0 8.0 3.0 sphere FALSE on_foot
  387. THEN
  388. 0947: actor $9981 speak_from_audio_table 328 store_spoken_phrase_id_to $10081
  389. $9988 = TRUE
  390. ELSE
  391. $9988 = FALSE
  392. END
  393. END
  394. ELSE
  395. gosub @CLOTH_CLEAR
  396. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME
  397. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  398. THEN
  399. gosub @CLOTH_END_THREAD
  400. END
  401. CONTINUE
  402. END
  403. ELSE
  404. gosub @CLOTH_CLEAR
  405. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME
  406. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  407. THEN
  408. gosub @CLOTH_END_THREAD
  409. END
  410. CONTINUE
  411. END
  412. END
  413.  
  414. IF $9990 == 3
  415. THEN
  416. IF $PLAYER_CHAR.Defined()
  417. THEN
  418. $PLAYER_CHAR.CanMove = FALSE
  419. 09BD: allow_other_threads_to_display_text_boxes TRUE
  420. 01B9: set_actor $PLAYER_ACTOR armed_weapon_to WEAPON_UNARMED
  421. Actor.StorePos($PLAYER_ACTOR, $TEMPVAR_X_COORD, $TEMPVAR_Y_COORD, $TEMPVAR_Z_COORD)
  422. 0792: disembark_instantly_actor $PLAYER_ACTOR
  423. 0395: clear_area 1 at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD radius 1.0
  424. 0581: enable_radar FALSE
  425. TIMERA = 0
  426. $9998 = 0
  427. $9990 = 4
  428. ELSE
  429. gosub @CLOTH_END_THREAD
  430. END
  431. END
  432.  
  433. IF $9990 == 4
  434. THEN
  435. IF $9981.Dead()
  436. THEN
  437. gosub @CLOTH_CLEAR
  438. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME // s$
  439. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  440. THEN
  441. gosub @CLOTH_END_THREAD
  442. END
  443. CONTINUE
  444. END
  445. IF $9998 == 0
  446. THEN
  447. IF TIMERA >= 300
  448. THEN
  449. 01B9: set_actor $PLAYER_ACTOR armed_weapon_to WEAPON_UNARMED
  450. 08C7: put_actor $PLAYER_ACTOR at $10008 $10009 $10010 dont_warp_gang
  451. $PLAYER_ACTOR.Angle = $10011
  452. $PLAYER_ACTOR.StorePos($TEMPVAR_X_COORD, $TEMPVAR_Y_COORD, $TEMPVAR_Z_COORD)
  453. $9981.StorePos($2755, $2756, $2757)
  454. IF OR
  455. $2755 <> $10024
  456. $2756 <> $10025
  457. $2757 <> $10026
  458. THEN
  459. $9981.PutAt($10024, $10025, $10026)
  460. $9981.Angle = $10027
  461. END
  462. Camera.SetPosition($10012, $10013, $10014, 0.0, 0.0, 0.0)
  463. Camera.PointAt($10015, $10016, $10017, 2)
  464. 0793: save_player_clothes
  465. 0812: AS_actor $PLAYER_ACTOR perform_animation "CLO_IN" IFP "CLOTHES" framedelta 4.0 loopA FALSE lockX FALSE lockY FALSE lockF TRUE time -1 // versionB
  466. $9991 = 0.0
  467. IF $PLAYER_ACTOR.Animation == "CLO_IN"
  468. THEN
  469. 0613: $9991 = actor $PLAYER_ACTOR animation "CLO_IN" time
  470. END
  471. IF 03CA: object $9989 exists
  472. THEN
  473. 075A: set_object $9989 animation "CLO_POSE_OUT_O" IFP_file "CLOTHES" 4.0 lockF FALSE loop TRUE // IF AND SET
  474. END
  475. $9998 = 1
  476. END
  477. END
  478. IF $9998 == 1
  479. THEN
  480. IF $PLAYER_ACTOR.Animation == "CLO_IN"
  481. THEN
  482. 0613: $9991 = actor $PLAYER_ACTOR animation "CLO_IN" time
  483. END
  484. IF $9991 == 1.0
  485. THEN
  486. $9998 = 0
  487. $9990 = 5
  488. END
  489. END
  490. END
  491.  
  492. IF $9990 == 5
  493. THEN
  494. IF $9981.Dead()
  495. THEN
  496. gosub @CLOTH_CLEAR
  497. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME
  498. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  499. THEN
  500. gosub @CLOTH_END_THREAD
  501. END
  502. CONTINUE
  503. END
  504. IF $2420 == FALSE
  505. THEN
  506. IF $9998 < 1
  507. THEN
  508. gosub @CLOTH_CREATE_PANEL_CATEGORY
  509. END
  510. END
  511. $SHOW_SHOP_SPHERE = FALSE
  512. IF $9998 == 0
  513. THEN
  514. IF 00E1: player $PLAYER_CHAR pressed_key 16
  515. THEN
  516. $9998 = 1
  517. END
  518. IF 00E1: player $PLAYER_CHAR pressed_key 15
  519. THEN
  520. $9998 = 2
  521. END
  522. END
  523. IF $9998 == 1
  524. THEN
  525. IF 80E1: NOT player $PLAYER_CHAR pressed_key 16
  526. THEN
  527. 08D8: $2516 = panel $2419 selected_row
  528. IF $2516 < 0
  529. THEN
  530. $2516 = 0
  531. END
  532. gosub @CLOTH_SET_INFO_OF_BODYPART
  533. $9990 = 6
  534. IF $2420 == TRUE
  535. THEN
  536. 08DA: remove_panel $2419
  537. 03E6: remove_text_box
  538. $2420 = FALSE
  539. END
  540. $9998 = 0
  541. END
  542. END
  543. IF $9998 == 2
  544. THEN
  545. IF 80E1: NOT player $PLAYER_CHAR pressed_key 15
  546. THEN
  547. IF $2420 == TRUE
  548. THEN
  549. 08DA: remove_panel $2419
  550. 03E6: remove_text_box
  551. $2420 = FALSE
  552. END
  553. IF $2424 == TRUE
  554. THEN
  555. 08DA: remove_panel $2423
  556. 03E6: remove_text_box
  557. $2424 = FALSE
  558. END
  559. 0812: AS_actor $PLAYER_ACTOR perform_animation "CLO_OUT" IFP "CLOTHES" framedelta 1000.0 loopA FALSE lockX FALSE lockY FALSE lockF FALSE time -1 // versionB
  560. $9991 = 0.0
  561. IF 03CA: object $9989 exists
  562. THEN
  563. 075A: set_object $9989 animation "CLO_POSE_IN_O" IFP_file "CLOTHES" 1000.0 lockF FALSE loop TRUE // IF AND SET
  564. END
  565. $9998 = 5
  566. END
  567. END
  568. IF $9998 == 5
  569. THEN
  570. IF $PLAYER_ACTOR.Animation == "CLO_OUT"
  571. THEN
  572. 0613: $9991 = actor $PLAYER_ACTOR animation "CLO_OUT" time
  573. END
  574. IF $9991 == 1.0
  575. THEN
  576. $9998 = 6
  577. END
  578. END
  579. IF $9998 == 6
  580. THEN
  581. $PLAYER_CHAR.CanMove = True
  582. 09BD: allow_other_threads_to_display_text_boxes FALSE
  583. Camera.SetBehindPlayer
  584. Camera.Restore_WithJumpCut
  585. 0581: enable_radar TRUE
  586. 0947: actor $9981 speak_from_audio_table 331 store_spoken_phrase_id_to $10081
  587. $10029 = FALSE
  588. $2420 = FALSE
  589. $2424 = FALSE
  590. $9990 = 8
  591. END
  592. END
  593.  
  594. IF $9990 == 6
  595. THEN
  596. IF $9981.Dead()
  597. THEN
  598. gosub @CLOTH_CLEAR
  599. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME
  600. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  601. THEN
  602. gosub @CLOTH_END_THREAD
  603. END
  604. CONTINUE
  605. END
  606. IF $2424 == FALSE
  607. THEN
  608. IF $9998 < 2
  609. THEN
  610. gosub @CLOTH_CREATE_PANEL_CLOTHES
  611. END
  612. END
  613. $SHOW_SHOP_SPHERE = FALSE
  614. IF $9998 == 0
  615. THEN
  616. IF 00E1: player $PLAYER_CHAR pressed_key 15
  617. THEN
  618. $9998 = 1
  619. END
  620. IF 00E1: player $PLAYER_CHAR pressed_key 16
  621. THEN
  622. $10029 = FALSE
  623. 08D7: $2517 = panel $2423 active_row
  624. IF $2517 < 0
  625. THEN
  626. $2517 = 0
  627. END
  628. $SELECTED_MENU_ITEM = $2438[$2517]
  629. $9982 = $2426[$2517]
  630. $SHOPPINGITEM_MODELCRC = $2474[$2517]
  631. $SHOPPINGITEM_BODYPART = $2486[$2517]
  632. s$9979 = $2450[$2517]
  633. IF OR
  634. $SHOPPINGITEM_BODYPART == BODY_PART_NECKLACE
  635. $SHOPPINGITEM_BODYPART == BODY_PART_BRACELET
  636. $SHOPPINGITEM_BODYPART == BODY_PART_GLASSES
  637. $SHOPPINGITEM_BODYPART == BODY_PART_HAT
  638. THEN
  639. Camera.SetPosition($10018, $10019, $10020, 0.0, 0.0, 0.0)
  640. Camera.PointAt($10021, $10022, $10023, 2)
  641. ELSE
  642. IF OR
  643. $2547 == BODY_PART_TORSO
  644. $2547 == BODY_PART_LEGS
  645. THEN
  646. 03D1: play_wav 4
  647. END
  648. Camera.SetPosition($10012, $10013, $10014, 0.0, 0.0, 0.0)
  649. Camera.PointAt($10015, $10016, $10017, 2)
  650. END
  651. IF $2424 == TRUE
  652. THEN
  653. 08DA: remove_panel $2423
  654. 03E6: remove_text_box
  655. $2424 = FALSE
  656. END
  657. $9998 = 2
  658. END
  659. END
  660. IF $9998 == 1
  661. THEN
  662. IF 80E1: NOT player $PLAYER_CHAR pressed_key 15
  663. THEN
  664. $9998 = 0
  665. $9990 = 5
  666. IF $2424 == TRUE
  667. THEN
  668. 03E6: remove_text_box
  669. 08DA: remove_panel $2423
  670. $2424 = FALSE
  671. END
  672. IF $2420 == FALSE
  673. THEN
  674. gosub @CLOTH_CREATE_PANEL_CATEGORY
  675. END
  676. END
  677. END
  678. IF $9998 == 2
  679. THEN
  680. IF 03D2: wav 4 ended
  681. THEN
  682. IF 80E1: NOT player $PLAYER_CHAR pressed_key 16
  683. THEN
  684. $9998 = 3
  685. END
  686. END
  687. END
  688. IF $9998 == 3
  689. THEN
  690. IF OR
  691. $2547 == BODY_PART_TORSO
  692. $2547 == BODY_PART_LEGS
  693. $2547 == BODY_PART_SHOES
  694. THEN
  695. 0784: set_player $PLAYER_CHAR textureCRC 0 modelCRC 0 bodypart 17
  696. 0793: save_player_clothes
  697. END
  698. 0784: set_player $PLAYER_CHAR textureCRC $SELECTED_MENU_ITEM modelCRC $SHOPPINGITEM_MODELCRC bodypart $SHOPPINGITEM_BODYPART
  699. $PLAYER_CHAR.Build()
  700. 0812: AS_actor $PLAYER_ACTOR perform_animation "CLO_POSE_IN" IFP "CLOTHES" framedelta 1000.0 loopA FALSE lockX FALSE lockY FALSE lockF TRUE time -1 // versionB
  701. $9991 = 0.0
  702. IF 03CA: object $9989 exists
  703. THEN
  704. 075A: set_object $9989 animation "CLO_POSE_IN_O" IFP_file "CLOTHES" 1000.0 lockF FALSE loop TRUE
  705. END
  706. $9998 = 4
  707. END
  708. IF $9998 == 4
  709. THEN
  710. IF $PLAYER_ACTOR.Animation == "CLO_POSE_IN"
  711. THEN
  712. 0613: $9991 = actor $PLAYER_ACTOR animation "CLO_POSE_IN" time
  713. END
  714. IF $9991 == 1.0
  715. THEN
  716. 0812: AS_actor $PLAYER_ACTOR perform_animation v$9994 IFP "CLOTHES" framedelta 1000.0 loopA FALSE lockX FALSE lockY FALSE lockF TRUE time -1 // versionB
  717. $9991 = 0.0
  718. $9998 = 5
  719. END
  720. END
  721. IF $9998 == 5
  722. THEN
  723. IF $PLAYER_ACTOR.Animation == v$9994
  724. THEN
  725. 0613: $9991 = actor $PLAYER_ACTOR animation v$9994 time
  726. END
  727. IF $9991 == 1.0
  728. THEN
  729. gosub @CLOTH_PANEL_CHOICE
  730. 0812: AS_actor $PLAYER_ACTOR perform_animation "CLO_POSE_LOOP" IFP "CLOTHES" framedelta 1000.0 loopA TRUE lockX FALSE lockY FALSE lockF FALSE time -1 // versionB
  731. $9991 = 0.0
  732. $9990 = 7
  733. $9998 = 0
  734. END
  735. END
  736. END
  737.  
  738. IF $9990 == 7
  739. THEN
  740. IF $9981.Dead()
  741. THEN
  742. gosub @CLOTH_CLEAR
  743. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME
  744. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  745. THEN
  746. gosub @CLOTH_END_THREAD
  747. END
  748. CONTINUE
  749. END
  750. $SHOW_SHOP_SPHERE = FALSE
  751. IF $9998 == 0
  752. THEN
  753. IF 00E1: player $PLAYER_CHAR pressed_key 16
  754. THEN
  755. 03D5: remove_text 'SHOPNO' // ~s~You don't have enough money to buy this item.
  756. 03D5: remove_text 'CLTHNO2' // You have already bought this item!
  757. 03D5: remove_text 'CLTHNO1' // You already own this item!
  758. $2545 = FALSE
  759. $2544 = FALSE
  760. $2546 = FALSE
  761. $10030 = FALSE
  762. $9998 = 1
  763. END
  764. IF 00E1: player $PLAYER_CHAR pressed_key 15
  765. THEN
  766. 03D5: remove_text 'SHOPNO' // ~s~You don't have enough money to buy this item.
  767. 03D5: remove_text 'CLTHNO2' // You have already bought this item!
  768. 03D5: remove_text 'CLTHNO1' // You already own this item!
  769. $2545 = FALSE
  770. $2544 = FALSE
  771. $2546 = FALSE
  772. $10030 = FALSE
  773. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  774. IF $2418 == TRUE
  775. THEN
  776. 08DA: remove_panel $2417
  777. 03E6: remove_text_box
  778. $2418 = FALSE
  779. END
  780. IF $10029 == FALSE
  781. THEN
  782. $9998 = 3
  783. ELSE
  784. IF $2422 == TRUE
  785. THEN
  786. 08DA: remove_panel $2421
  787. 03E6: remove_text_box
  788. $2422 = FALSE
  789. END
  790. $9998 = 0
  791. $9990 = 6
  792. END
  793. END
  794. END
  795. IF $9998 < 2
  796. THEN
  797. gosub @CLOTH_PANEL_CHOICE
  798. END
  799. IF $9998 == 1
  800. THEN
  801. IF 80E1: NOT player $PLAYER_CHAR pressed_key 16
  802. THEN
  803. $SHOPS_PLAYER_CASH = $PLAYER_CHAR.Money
  804. IF $SHOPS_PLAYER_CASH >= $9982
  805. THEN
  806. IF $2542 <> $SELECTED_MENU_ITEM
  807. THEN
  808. IF $2418 == TRUE
  809. THEN
  810. 08DA: remove_panel $2417
  811. 03E6: remove_text_box
  812. $2418 = FALSE
  813. END
  814. 0790: charge_money_for_shopping_item_with_textureCRC $SELECTED_MENU_ITEM
  815. $10030 = TRUE
  816. 0947: actor $9981 speak_from_audio_table 323 store_spoken_phrase_id_to $10081
  817. 097A: play_audio_at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD event 1054
  818. gosub @CLOTH_PANEL_BUY
  819. gosub @CLOTH_UPDATE_WARROBE
  820. 0793: save_player_clothes
  821. $PLAYER_CHAR.Build()
  822. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  823. 0812: AS_actor $PLAYER_ACTOR perform_animation "CLO_BUY" IFP "CLOTHES" framedelta 4.0 loopA FALSE lockX FALSE lockY FALSE lockF TRUE time -1 // versionB
  824. $9991 = 0.0
  825. $9998 = 2
  826. ELSE
  827. IF $2545 == FALSE
  828. THEN
  829. 097A: play_audio_at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD event 1055
  830. 0947: actor $9981 speak_from_audio_table 322 store_spoken_phrase_id_to $10081
  831. 00BC: show_text_highpriority GXT 'CLTHNO2' time 5000 flag 1 // You have already bought this item!
  832. $9998 = 0
  833. $2545 = TRUE
  834. END
  835. END
  836. ELSE
  837. IF $2544 == FALSE
  838. THEN
  839. 097A: play_audio_at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD event 1055
  840. 0947: actor $9981 speak_from_audio_table 324 store_spoken_phrase_id_to $10081
  841. 00BC: show_text_highpriority GXT 'SHOPNO' time 5000 flag 1 // ~s~You don't have enough money to buy this item.
  842. $9998 = 0
  843. $2544 = TRUE
  844. END
  845. END
  846. END
  847. END
  848. IF $9998 == 2
  849. THEN
  850. IF $PLAYER_ACTOR.Animation == "CLO_BUY"
  851. THEN
  852. 0613: $9991 = actor $PLAYER_ACTOR animation "CLO_BUY" time
  853. END
  854. IF $9991 == 1.0
  855. THEN
  856. 0812: AS_actor $PLAYER_ACTOR perform_animation "CLO_POSE_LOOP" IFP "CLOTHES" framedelta 1000.0 loopA TRUE lockX FALSE lockY FALSE lockF FALSE time -1 // versionB
  857. $9991 = 0.0
  858. $9998 = 3
  859. END
  860. END
  861. IF $9998 == 3
  862. THEN
  863. 0812: AS_actor $PLAYER_ACTOR perform_animation "CLO_POSE_OUT" IFP "CLOTHES" framedelta 4.0 loopA FALSE lockX FALSE lockY FALSE lockF TRUE time -1 // versionB
  864. $9991 = 0.0
  865. IF 03CA: object $9989 exists
  866. THEN
  867. 075A: set_object $9989 animation "CLO_POSE_OUT_O" IFP_file "CLOTHES" 1000.0 lockF FALSE loop TRUE // IF AND SET
  868. END
  869. $9998 = 4
  870. END
  871. IF $9998 == 4
  872. THEN
  873. IF $PLAYER_ACTOR.Animation == "CLO_POSE_OUT"
  874. THEN
  875. 0613: $9991 = actor $PLAYER_ACTOR animation "CLO_POSE_OUT" time
  876. END
  877. IF $9991 == 1.0
  878. THEN
  879. 0794: restore_player_clothes
  880. $PLAYER_CHAR.Build()
  881. 0793: save_player_clothes
  882. IF $2422 == TRUE
  883. THEN
  884. 08DA: remove_panel $2421
  885. 03E6: remove_text_box
  886. $2422 = FALSE
  887. END
  888. IF $2424 == TRUE
  889. THEN
  890. 08DA: remove_panel $2423
  891. 03E6: remove_text_box
  892. $2424 = FALSE
  893. END
  894. IF $2418 == TRUE
  895. THEN
  896. 08DA: remove_panel $2417
  897. 03E6: remove_text_box
  898. $2418 = FALSE
  899. END
  900. $10029 = TRUE
  901. IF $10030 == TRUE
  902. THEN
  903. $9998 = 0
  904. $9990 = 5
  905. IF $2420 == FALSE
  906. THEN
  907. IF $9998 < 1
  908. THEN
  909. gosub @CLOTH_CREATE_PANEL_CATEGORY
  910. END
  911. END
  912. ELSE
  913. $9998 = 0
  914. $9990 = 6
  915. IF $2424 == FALSE
  916. THEN
  917. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  918. gosub @CLOTH_CREATE_PANEL_CLOTHES
  919. END
  920. END
  921. END
  922. END
  923. END
  924.  
  925. IF $9990 == 8
  926. THEN
  927. IF $9981.Dead()
  928. THEN
  929. gosub @CLOTH_CLEAR
  930. 07B0: get_active_shop_name_to s$CURRENT_SHOP_GXT_NAME // s$
  931. IF s$CURRENT_SHOP_GXT_NAME <> s$9984
  932. THEN
  933. gosub @CLOTH_END_THREAD
  934. END
  935. CONTINUE
  936. END
  937. IF $9986 == FALSE
  938. THEN
  939. IF OR
  940. 02E0: actor $PLAYER_ACTOR firing_weapon
  941. 0457: player $PLAYER_CHAR aiming_at_actor $9981
  942. 031D: actor $9981 hit_by_weapon WEAPON_ANY
  943. $1258 == TRUE
  944. THEN
  945. 0947: actor $9981 speak_from_audio_table 327 store_spoken_phrase_id_to $10081
  946. 05C4: AS_actor $9981 hands_up -2 ms
  947. $9986 = TRUE
  948. END
  949. END
  950. IF 80FF: NOT actor $PLAYER_ACTOR sphere $SHOW_SHOP_SPHERE in_sphere $10008 $10009 $10010 radius 1.0 1.0 4.0 on_foot
  951. THEN
  952. $2420 = FALSE
  953. $2424 = FALSE
  954. $2418 = FALSE
  955. $2422 = FALSE
  956. $2516 = 0
  957. $2517 = 0
  958. $9990 = 2
  959. $9998 = 0
  960. $2545 = FALSE
  961. $2544 = FALSE
  962. $10030 = FALSE
  963. $SHOW_SHOP_SPHERE = TRUE
  964. END
  965. END
  966. ELSE
  967. gosub @CLOTH_END_THREAD
  968. END
  969. ELSE
  970. gosub @CLOTH_END_THREAD
  971. END
  972. END
  973.  
  974.  
  975.  
  976. :CLOTH_CLEAR
  977. IF $9990 >= 1
  978. THEN
  979. 03E6: remove_text_box
  980. END
  981. IF $2420 == TRUE
  982. THEN
  983. 08DA: remove_panel $2419
  984. 03E6: remove_text_box
  985. $2420 = FALSE
  986. END
  987. IF $2424 == TRUE
  988. THEN
  989. 08DA: remove_panel $2423
  990. 03E6: remove_text_box
  991. $2424 = FALSE
  992. END
  993. IF $2422 == TRUE
  994. THEN
  995. 08DA: remove_panel $2421
  996. 03E6: remove_text_box
  997. $2422 = FALSE
  998. END
  999. IF $2418 == TRUE
  1000. THEN
  1001. 08DA: remove_panel $2417
  1002. 03E6: remove_text_box
  1003. $2418 = FALSE
  1004. END
  1005. 03D5: remove_text 'SHOPNO' // ~s~You don't have enough money to buy this item.
  1006. 03D5: remove_text 'CLTHNO2' // You have already bought this item!
  1007. 03D5: remove_text 'CLTHNO1' // You already own this item!
  1008. $2420 = FALSE
  1009. $2424 = FALSE
  1010. $2418 = FALSE
  1011. $2422 = FALSE
  1012. $2516 = 0
  1013. $2517 = 0
  1014. $2545 = FALSE
  1015. $2544 = FALSE
  1016. $2546 = FALSE
  1017. $9998 = 0
  1018. $10029 = FALSE
  1019. $10030 = FALSE
  1020. $9990 = 2
  1021. RETURN
  1022.  
  1023.  
  1024.  
  1025. :CLOTH_END_THREAD
  1026. IF $2420 == TRUE
  1027. THEN
  1028. 08DA: remove_panel $2419
  1029. 03E6: remove_text_box
  1030. $2420 = FALSE
  1031. END
  1032. IF $2424 == TRUE
  1033. THEN
  1034. 08DA: remove_panel $2423
  1035. 03E6: remove_text_box
  1036. $2424 = FALSE
  1037. END
  1038. IF $2422 == TRUE
  1039. THEN
  1040. 08DA: remove_panel $2421
  1041. 03E6: remove_text_box
  1042. $2422 = FALSE
  1043. END
  1044. IF $2418 == TRUE
  1045. THEN
  1046. 08DA: remove_panel $2417
  1047. 03E6: remove_text_box
  1048. $2418 = FALSE
  1049. END
  1050. IF $9990 >= 1
  1051. THEN
  1052. 03E6: remove_text_box
  1053. END
  1054. 03D5: remove_text 'SHOPNO' // ~s~You don't have enough money to buy this item.
  1055. 03D5: remove_text 'CLTHNO2' // You have already bought this item!
  1056. 03D5: remove_text 'CLTHNO1' // You already own this item!
  1057. $10029 = FALSE
  1058. $2420 = FALSE
  1059. $2424 = FALSE
  1060. $2418 = FALSE
  1061. $2422 = FALSE
  1062. $2516 = 0
  1063. $2517 = 0
  1064. $SHOW_SHOP_SPHERE = TRUE
  1065. $9988 = FALSE
  1066. $9986 = FALSE
  1067. $2545 = FALSE
  1068. $2544 = FALSE
  1069. $2546 = FALSE
  1070. $10030 = FALSE
  1071. $9998 = 0
  1072. $9990 = 0
  1073. $9989.Destroy()
  1074. $10028.Destroy()
  1075. $9981.DestroyInstantly()
  1076. $SELLER_MODEL.Destroy()
  1077. 03F0: enable_text_draw FALSE
  1078. 0581: enable_radar TRUE
  1079. 08F8: display_stat_update_box TRUE
  1080. 09BD: allow_other_threads_to_display_text_boxes FALSE
  1081. 040D: unload_wav 4
  1082. IF $PLAYER_CHAR.Defined()
  1083. THEN
  1084. 0489: set_actor $PLAYER_ACTOR muted FALSE
  1085. END
  1086. END_THREAD
  1087.  
  1088.  
  1089.  
  1090. :CLOTH_SET_INFO_OF_BODYPART
  1091. IF $2516 == 0
  1092. THEN
  1093. $2513 = BODY_PART_TORSO
  1094. $2547 = BODY_PART_TORSO
  1095. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  1096. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  1097. v$9994 = "CLO_POSE_TORSO"
  1098. END
  1099. IF $2516 == 1
  1100. THEN
  1101. $2513 = BODY_PART_LEGS
  1102. $2547 = BODY_PART_LEGS
  1103. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  1104. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  1105. v$9994 = "CLO_POSE_LEGS"
  1106. END
  1107. IF $2516 == 2
  1108. THEN
  1109. $2513 = BODY_PART_SHOES
  1110. $2547 = BODY_PART_SHOES
  1111. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  1112. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  1113. v$9994 = "CLO_POSE_SHOES"
  1114. END
  1115. IF $2516 == 3
  1116. THEN
  1117. $2513 = BODY_PART_NECKLACE
  1118. $2547 = BODY_PART_NECKLACE
  1119. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  1120. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  1121. v$9994 = "CLO_POSE_TORSO"
  1122. END
  1123. IF $2516 == 4
  1124. THEN
  1125. $2513 = BODY_PART_BRACELET
  1126. $2547 = BODY_PART_BRACELET
  1127. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  1128. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  1129. v$9994 = "CLO_POSE_WATCH"
  1130. END
  1131. IF $2516 == 5
  1132. THEN
  1133. $2513 = BODY_PART_GLASSES
  1134. $2547 = BODY_PART_GLASSES
  1135. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  1136. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  1137. v$9994 = "CLO_POSE_HAT"
  1138. END
  1139. IF $2516 == 6
  1140. THEN
  1141. $2513 = BODY_PART_HAT
  1142. $2547 = BODY_PART_HAT
  1143. 08F7: get_player $PLAYER_CHAR bodypart $2547 textureCRC_to $2542 modelCRC_to $2543
  1144. gosub @CLOTH_SET_PANEL_CLOTHES_INFO
  1145. v$9994 = "CLO_POSE_HAT"
  1146. END
  1147. RETURN
  1148.  
  1149.  
  1150.  
  1151. :CLOTH_SET_PANEL_CLOTHES_INFO
  1152. $2514 = 0
  1153. $10000 = 0
  1154. WHILE $2514 < $9999
  1155. 0760: store_shopping_data_index $2514 textureCRC_to $SELECTED_MENU_ITEM
  1156. 0783: get_shopping_item_with_textureCRC $SELECTED_MENU_ITEM flag 0 store_to $SHOPPINGITEM_MODELCRC
  1157. 0783: get_shopping_item_with_textureCRC $SELECTED_MENU_ITEM flag 1 store_to $SHOPPINGITEM_BODYPART
  1158. IF $SHOPPINGITEM_BODYPART == $2513
  1159. THEN
  1160. $2438[$10000] = $SELECTED_MENU_ITEM
  1161. 078C: get_shopping_item_with_textureCRC $SELECTED_MENU_ITEM nametag_to s$9979
  1162. 0761: get_shopping_item_with_textureCRC $SELECTED_MENU_ITEM price_to $9982
  1163. $2426[$10000] = $9982
  1164. $2450[$10000] = s$9979
  1165. $2474[$10000] = $SHOPPINGITEM_MODELCRC
  1166. $2486[$10000] = $SHOPPINGITEM_BODYPART
  1167. IF $2542 == $SELECTED_MENU_ITEM
  1168. THEN
  1169. $2498[$10000] = PANEL_ROW_LOCK
  1170. ELSE
  1171. IF 0942: item_with_textureCRC $SELECTED_MENU_ITEM is_clothing
  1172. THEN
  1173. $2498[$10000] = PANEL_ROW_BOUGHT
  1174. ELSE
  1175. $2498[$10000] = PANEL_ROW_UNLOCK
  1176. END
  1177. END
  1178. $10000++
  1179. END
  1180. $2514++
  1181. END
  1182.  
  1183. $2515 = $10000
  1184. WHILE $2515 < MAX_PANEL_ROWS
  1185. $2438[$2515] = -1
  1186. $2426[$2515] = NULL
  1187. $2450[$2515] = 'DUMMY'
  1188. $2515++
  1189. END
  1190. RETURN
  1191.  
  1192.  
  1193.  
  1194. :CLOTH_CREATE_PANEL_CATEGORY
  1195. IF $2420 == FALSE
  1196. THEN
  1197. 0512: show_permanent_text_box 'CLOTHA' // Use ~k~~GO_FORWARD~ and ~k~~GO_BACK~ to select area.~N~~k~~PED_SPRINT~ Select~N~~k~~VEHICLE_ENTER_EXIT~ Quit
  1198. s$2518 = 'TORSO' // Torso
  1199. s$2520 = 'LEGS' // Legs
  1200. s$2522 = 'FEET' // Shoes
  1201. s$2524 = 'CHAINS' // Chains
  1202. s$2526 = 'WATCHES' // Watches
  1203. s$2528 = 'SHADES' // Shades
  1204. s$2530 = 'HATS' // Hats
  1205. s$2532 = 'DUMMY'
  1206. s$2534 = 'DUMMY'
  1207. s$2536 = 'DUMMY'
  1208. s$2538 = 'DUMMY'
  1209. s$2540 = 'DUMMY'
  1210. IF $CURRENT_LANGUAGE == LANGUAGE_AMERICAN
  1211. THEN
  1212. 08D4: $2419 = create_panel_with_title 'CLOTCHO' position 29.0 145.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1213. ELSE
  1214. IF $CURRENT_LANGUAGE == LANGUAGE_FRENCH
  1215. THEN
  1216. 08D4: $2419 = create_panel_with_title 'CLOTCHO' position 29.0 165.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1217. ELSE
  1218. IF $CURRENT_LANGUAGE == LANGUAGE_GERMAN
  1219. THEN
  1220. 08D4: $2419 = create_panel_with_title 'CLOTCHO' position 29.0 165.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1221. ELSE
  1222. IF $CURRENT_LANGUAGE == LANGUAGE_ITALIAN
  1223. THEN
  1224. 08D4: $2419 = create_panel_with_title 'CLOTCHO' position 29.0 145.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1225. ELSE
  1226. IF $CURRENT_LANGUAGE == LANGUAGE_SPANISH
  1227. THEN
  1228. 08D4: $2419 = create_panel_with_title 'CLOTCHO' position 29.0 145.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1229. END
  1230. END
  1231. END
  1232. END
  1233. END
  1234. 08D6: set_panel $2419 column 0 alignment ALIGN_LEFT
  1235. 08DB: set_panel $2419 column 0 header 'DUMMY' data s$2518 s$2520 s$2522 s$2524 s$2526 s$2528 s$2530 s$2532 s$2534 s$2536 s$2538 s$2540
  1236. $2420 = TRUE
  1237. END
  1238. RETURN
  1239.  
  1240.  
  1241.  
  1242. :CLOTH_CREATE_PANEL_CLOTHES
  1243. IF $2424 == FALSE
  1244. THEN
  1245. 0512: show_permanent_text_box 'CLOTHB' // Use ~k~~GO_FORWARD~ and ~k~~GO_BACK~ to select clothing.~N~~k~~PED_SPRINT~ View Item~N~~k~~VEHICLE_ENTER_EXIT~ Back
  1246. IF $CURRENT_LANGUAGE == LANGUAGE_AMERICAN
  1247. THEN
  1248. 08D4: $2423 = create_panel_with_title 'CLOTCHO' position 29.0 145.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1249. ELSE
  1250. IF $CURRENT_LANGUAGE == LANGUAGE_FRENCH
  1251. THEN
  1252. 08D4: $2423 = create_panel_with_title 'CLOTCHO' position 29.0 145.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1253. ELSE
  1254. IF $CURRENT_LANGUAGE == LANGUAGE_GERMAN
  1255. THEN
  1256. 08D4: $2423 = create_panel_with_title 'CLOTCHO' position 29.0 165.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1257. ELSE
  1258. IF $CURRENT_LANGUAGE == LANGUAGE_ITALIAN
  1259. THEN
  1260. 08D4: $2423 = create_panel_with_title 'CLOTCHO' position 29.0 145.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1261. ELSE
  1262. IF $CURRENT_LANGUAGE == LANGUAGE_SPANISH
  1263. THEN
  1264. 08D4: $2423 = create_panel_with_title 'CLOTCHO' position 29.0 145.0 width 186.0 columns 1 interactive TRUE background TRUE alignment ALIGN_LEFT // Apparel
  1265. END
  1266. END
  1267. END
  1268. END
  1269. END
  1270. 08D6: set_panel $2423 column 0 alignment ALIGN_LEFT
  1271. 08DB: set_panel $2423 column 0 header 'DUMMY' data s$2450[0] s$2450[1] s$2450[2] s$2450[3] s$2450[4] s$2450[5] s$2450[6] s$2450[7] s$2450[8] s$2450[9] s$2450[10] s$2450[11]
  1272. $2515 = 0
  1273. WHILE $2515 < $10000
  1274. IF $2498[$2515] == PANEL_ROW_LOCK
  1275. THEN
  1276. 0A23: set_panel $2423 row $2515 shopping_item_bought FALSE
  1277. 08D9: set_panel $2423 row $2515 enable FALSE
  1278. ELSE
  1279. IF $2498[$2515] == PANEL_ROW_BOUGHT
  1280. THEN
  1281. 0A23: set_panel $2423 row $2515 shopping_item_bought TRUE
  1282. ELSE
  1283. 0A23: set_panel $2423 row $2515 shopping_item_bought FALSE
  1284. 08D9: set_panel $2423 row $2515 enable TRUE
  1285. END
  1286. END
  1287. $2515++
  1288. END
  1289. $2424 = TRUE
  1290. END
  1291. RETURN
  1292.  
  1293.  
  1294.  
  1295. :CLOTH_PANEL_CHOICE
  1296. IF $2418 == FALSE
  1297. THEN
  1298. 0512: show_permanent_text_box 'CLOTHC' // ~k~~PED_SPRINT~ Buy~N~~k~~VEHICLE_ENTER_EXIT~ Back
  1299. 08D4: $2417 = create_panel_with_title 'CLOTCHO' position 29.0 95.0 width 93.0 columns 2 interactive FALSE background TRUE alignment ALIGN_LEFT // Apparel
  1300. 08D6: set_panel $2417 column 0 alignment ALIGN_LEFT
  1301. 08DB: set_panel $2417 column 0 header 'CLOTCHO' data s$9979 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' // Apparel
  1302. 08D6: set_panel $2417 column 1 alignment ALIGN_RIGHT
  1303. 08DB: set_panel $2417 column 1 header 'COST' data 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' // Cost
  1304. 08EE: set_panel $2417 column 1 row 0 text_1number GXT 'DOLLAR' number $9982 // $~1~
  1305. 09DB: set_panel $2417 column 0 width 140
  1306. 09DB: set_panel $2417 column 1 width 46
  1307. $2418 = TRUE
  1308. END
  1309. RETURN
  1310.  
  1311.  
  1312.  
  1313. :CLOTH_PANEL_BUY
  1314. IF $2422 == FALSE
  1315. THEN
  1316. 08D4: $2421 = create_panel_with_title 'CLOTCHO' position 29.0 25.0 width 93.0 columns 2 interactive FALSE background TRUE alignment ALIGN_LEFT // Apparel
  1317. 08D6: set_panel $2421 column 0 alignment ALIGN_LEFT
  1318. 08DB: set_panel $2421 column 0 header 'CLOTCHO' data 'BOUGHT' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' // Apparel // Purchased
  1319. 08D6: set_panel $2421 column 1 alignment ALIGN_RIGHT
  1320. 08DB: set_panel $2421 column 1 header 'COST' data 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' // Cost
  1321. 08EE: set_panel $2421 column 1 row 0 text_1number GXT 'DOLLAR' number $9982 // $~1~
  1322. 09DB: set_panel $2421 column 0 width 140
  1323. 09DB: set_panel $2421 column 1 width 46
  1324. $2422 = TRUE
  1325. END
  1326. RETURN
  1327.  
  1328.  
  1329.  
  1330. :CLOTH_UPDATE_WARROBE
  1331. IF $2549 == FALSE
  1332. THEN
  1333. IF s$CURRENT_SHOP_GXT_NAME == 'CSCHP' // Binco
  1334. THEN
  1335. $2549 = TRUE
  1336. END
  1337. END
  1338. IF $2550 == FALSE
  1339. THEN
  1340. IF s$CURRENT_SHOP_GXT_NAME == 'CSSPRT' // Pro-Laps
  1341. THEN
  1342. $2550 = TRUE
  1343. END
  1344. END
  1345.  
  1346. IF $2551 == FALSE
  1347. THEN
  1348. IF s$CURRENT_SHOP_GXT_NAME == 'LACS1' // Sub Urban
  1349. THEN
  1350. $2551 = TRUE
  1351. END
  1352. END
  1353.  
  1354. IF $2552 == FALSE
  1355. THEN
  1356. IF s$CURRENT_SHOP_GXT_NAME == 'CLOTHGP' // Zip
  1357. THEN
  1358. $2552 = TRUE
  1359. END
  1360. END
  1361.  
  1362. IF $2553 == FALSE
  1363. THEN
  1364. IF s$CURRENT_SHOP_GXT_NAME == 'CSDESGN' // Victim
  1365. THEN
  1366. $2553 = TRUE
  1367. END
  1368. END
  1369.  
  1370. IF $2554 == FALSE
  1371. THEN
  1372. IF s$CURRENT_SHOP_GXT_NAME == 'CSEXL' // Didier Sachs
  1373. THEN
  1374. $2554 = TRUE
  1375. END
  1376. END
  1377. RETURN
Advertisement
Add Comment
Please, Sign In to add comment