Advertisement
Guest User

Phade's Yacht Heist

a guest
Feb 26th, 2023
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.30 KB | None | 0 0
  1. Config = {}
  2.  
  3. Config.Lib = 'phade_lib' -- phade_lib, or sd_lib if you are already using some of samuels scripts
  4. -- General Settings..
  5. Config.YachtDebug = false -- Change to true to enable PolyZone DebugPoly's for testing.
  6. Config.MinimumCops = 0 -- How many on duty police required to start
  7. Config.PoliceJobNames = {
  8. [1] = {
  9. job = 'police'
  10. },
  11. --[2] = {
  12. -- job = 'bcso' --If you have multiple police jobs, just uncomment this, and follow the same pattern,
  13. --},
  14. --[3] = {
  15. -- job = 'sasp' --If you have multiple police jobs, just uncomment this, and follow the same pattern,
  16. --},
  17. }
  18.  
  19. -- Police alert
  20. RegisterNetEvent('phade-yachtheist:client:AlertOnEnter', function()
  21. -- exports['ps-dispatch']:YachtRobbery() -- Project-SLoth qb-dispatch
  22. -- TriggerServerEvent('police:server:policeAlert', 'Yacht Robbery') -- Regular qbcore
  23. -- These are just examples, you'll have to implement your own police alert system!
  24. end)
  25.  
  26. Config.Cooldown = 180 -- minutes
  27. Config.ResetYachtOnLeave = false -- if true, the yacht and the cooldown (therefore everything else) will reset, if the code hasn't been input yet and nobody is inside the Polyzone whilst the cooldown is active! (This is to avoid, people starting the robbery, then retreating and locking the yacht for everyone else without ever actually starting the 'robbery' section, till the cooldown is finished)
  28. -- if false, the cooldown will count down as normal, regardless if the codes have been input.
  29.  
  30. Config.FinalItems = {'casinocodes'} -- These are the items you will recieve for completing the heist
  31. Config.PasswordAttempts = 2 -- How many tries you get to enter the final password before failing the heist
  32.  
  33. Config.AlertPoliceOnEnter = false -- true = will alert police when someone enters the zone, false = won't do anything..
  34.  
  35. Config.GiveHints = false -- true = gives you hints on what to do, false = have fun finding out how to do the robbery..
  36. Config.NotifyOfExplosion = true -- true will Notify users if the pressure has dropped low enough.. false will do nothing
  37. Config.PressureToExplode = 0 -- The pressure will cause the yacht to explode if it gets to or below this number
  38.  
  39. Config.ForceAnimation = true -- if true, the player will be forced into an animation, holding certain items
  40.  
  41. Config.SendToBeachOnSpawn = true -- TRUE = If the player spawns in at the yacht, it will send them to the beach, false = will do nothing (This is to avoid people exploting by logging and then spawning back on the Yacht at a later time)
  42. Config.WashUpOnBeach = true -- Wash up on Beach after completing the heist (true = yes, false = no)
  43. Config.SendBackOnReset = true -- True = You want players to be "wash up on the beach" if they are in the yacht area when the cooldown resets, False = You want nothing to happen to them
  44. Config.UsingReviveKits = true -- If you want to Revivekits to work then set to true, if you don't want them to have a function, set to false..
  45.  
  46. Config.EnableGuards = true -- Enable NPC Guards for Yacht
  47. Config.RobGuards = true -- true = Lets you third eye the guards to loot them, false = no looting dead guards
  48. Config.GuardModel = 'mp_m_bogdangoon' --'s_m_y_marine_01' -- The ped model the guards will use
  49.  
  50. -- Hacking Settings for the First Symbol
  51. Config.MainMinigame = 'hacking' -- hacking/mhacking/ps-ui
  52.  
  53. if Config.MainMinigame == 'ps-ui' then
  54. Config.MainBlocks = 4 -- The amount of blocks
  55. Config.MainTime = 9 -- The amount of time you have to complete the minigame.
  56. elseif Config.MainMinigame == 'hacking' then
  57. Config.YachtTime = 10 -- How much time do they have to enter the hack?
  58. Config.YachtBlocks = 4 -- How many different blocks can the hack have?
  59. Config.YachtRepeat = 2 -- How many times in a row do they need to hack the system?
  60. elseif Config.MainMinigame == 'mhacking' then
  61. Config.MinChar = "3" -- Characters Minimum
  62. Config.MaxChar = "5" -- Characters Maximum
  63. Config.Time = "15" -- Time
  64. end
  65.  
  66. Config.SecondaryMinigame = 'hacking' -- ps-ui/memorygame -- Minigames for the (1st if set to ps-ui) 2nd, 3rd and 4th symbol
  67.  
  68. if Config.SecondaryMinigame == 'ps-ui' then
  69. Config.Blocks = 4 -- The amount of blocks
  70. Config.Time = 9 -- The amount of time you have to complete the minigame.
  71. elseif Config.SecondaryMinigame == 'memorygame' then
  72. Config.Blocks = "12" -- Number of correct blocks the player needs to click
  73. Config.Attempts = "3" -- Number of incorrect blocks after which the game will fail
  74. Config.Show = "6" -- Time in secs for which the right blocks will be shown
  75. Config.Time = "45" -- Maximum time after timetoshow expires for player to select the right blocks
  76. elseif Config.SecondaryMinigame == 'hacking' then
  77. Config.YachtTime_Two = 10 -- How much time do they have to enter the hack?
  78. Config.YachtBlocks_Two = 4 -- How many different blocks can the hack have?
  79. Config.YachtRepeat_Two = 2 -- How many times in a row do they need to hack the system?
  80. end
  81.  
  82. -- How many Attemps you have before failing the heist.
  83. Config.HackAttempts_1 = 3 -- Attempts
  84. Config.HackAttempts_2 = 3 -- Attempts
  85. Config.HackAttempts_3 = 3 -- Attempts
  86. Config.HackAttempts_4 = 3 -- Attempts
  87.  
  88. -- Rewards from Looting Peds
  89. Config.PistolRewards = {
  90. "weapon_heavypistol",
  91. "weapon_pistol",
  92. "weapon_pistol_mk2"
  93. }
  94.  
  95. Config.RareRewards = {
  96. "weapon_assaultrifle",
  97. "weapon_compactrifle",
  98. "weapon_mg",
  99. }
  100.  
  101. Config.SMGRewards = {
  102. "weapon_assaultsmg",
  103. "weapon_minismg",
  104. "weapon_combatpdw",
  105. }
  106.  
  107. Config.ShotgunRewards = {
  108. "weapon_sawnoffshotgun",
  109. "weapon_pumpshotgun",
  110. "weapon_dbshotgun",
  111. }
  112.  
  113. Config.AmmoRewards = {
  114. "pistol_ammo",
  115. "shotgun_ammo",
  116. "rifle_ammo",
  117. "smg_ammo",
  118. }
  119.  
  120. Config.MedicRewards = {
  121. "bandage",
  122. "reskit",
  123. }
  124.  
  125. -- Settings for the Puzzle -- Please don't mess with it, if you don't understand what you're doing..
  126. Config.Puzzle = {
  127. [1] = {
  128. screens = false,
  129. },
  130. [2] = {
  131. one = false,
  132. },
  133. [3] = {
  134. two = false,
  135. },
  136. [4] = {
  137. three = false,
  138. },
  139. [5] = {
  140. four = false,
  141. },
  142. [6] = {
  143. pressure = 100,
  144. },
  145. [7] = {
  146. bricked = false,
  147. },
  148. [8] = {
  149. word = math.random(1, 4),
  150. },
  151. [9] = {
  152. button = false,
  153. },
  154. [10] = {
  155. vault = false,
  156. },
  157. [11] = {
  158. case = false,
  159. },
  160. [12] = {
  161. codes = false,
  162. },
  163. }
  164.  
  165.  
  166. Config.BeachWashupLocation = vector4(-1839.39, -885.44, 1.68, 117.33) -- Where you wash up on the beach after completing the heist
  167.  
  168. Config.ScreenLocation_One = vector3(-2086.77, -1019.86, 12.93) -- The location of where the 1st screen is
  169. Config.ScreenLocation_Two = vector3(-2086.66, -1017.5, 13.0) -- The location of where the 2nd screen is
  170. Config.ScreenLocation_Three = vector3(-2085.31, -1015.74, 12.87) -- The location of where the 3rd screen is
  171. Config.UseDataCrack = true -- If you want to use the data crack hack with the screens
  172.  
  173. Config.PuzzleStartLocation = vector3(-2029.52, -1033.62, 3.0) -- The location of where the puzzle gets started
  174. Config.PressureValveLocation = vector3(-2063.6, -1025.01, 2.6) -- The location of where you increase / decrease the pressure
  175. Config.PressureValveLocation_Two = vector3(-2052.57, -1032.55, 3.39) -- The second location of where you increase / decrease the pressure
  176. Config.CheckPressureLocation = vector3(-2068.92, -1023.55, 3.2) -- The location to check the pressure
  177. Config.AttemptPasswordLocation = vector4(-2074.1, -1024.5, 11.92, 251.28) -- The location to input the final code
  178. Config.RedButtonLocation = vector3(-2030.78, -1037.69, 3.1) -- The location to start the engine once the first half of the codes are input
  179. Config.EnterVaultLocation = vector3(-2071.36, -1018.63, 3.44) -- The location to enter the vault once its open
  180. Config.ExitVaultLocation = vector3(-2072.83, -1018.49, 2.92) -- The location to exit the vault once its open
  181. Config.EnterVaultPlayerCoords = vector4(-2072.94, -1018.59, 1.66, 72.14) -- The location to teleport the player to when entering
  182. Config.ExitVaultPlayerCoords = vector4(-2071.04, -1018.72, 2.05, 246.56) -- The location to teleport the player to when exiting
  183. Config.FinalBriefcaseLocation = vector4(-2074.31, -1018.11, 2.11, 72.12) -- The location of the briefcase inside the vault
  184.  
  185. -- Hacking Locations for Password..
  186. Config.HackLocation_1 = vector3(-2079.38, -1015.88, 5.91)
  187. Config.HackLocation_2 = vector3(-2081.64, -1022.54, 8.78)
  188. Config.HackLocation_3 = vector3(-2072.3, -1019.0, 11.82)
  189. Config.HackLocation_4 = vector3(-2072.3, -1021.66, 2.99)
  190.  
  191. Config.YachtCodesFirstHalf = "[21-65-31" -- The first half of the codes for yacht heist, or for dynamic version uncomment the one below (will change every restart)
  192. --Config.YachtCodesFirstHalf = tostring(math.random(10, 99).."-"..tostring(math.random(10, 99).."-"..tostring(math.random(10, 99)))
  193.  
  194. Config.CasinoCodesFirstHalf = "[Z892-25B6-14R4-" -- The first half of the codes for yacht heist, or for dynamic version uncomment the one below
  195.  
  196. Config.ScreenLocationCenter = vector3(-2055.88, -1027.57, 4.28)-- The center of all the screen symbols
  197.  
  198. Config.ScreenPoints = { -- The locations and text for the 4 screens
  199. [1] = {
  200. coords = vector3(-2056.33032, -1028.51733, 3.16481071),
  201. url = '',
  202. },
  203. [2] = {
  204. coords = vector3(-2056.10645, -1027.82825, 3.16481071),
  205. url = '',
  206. },
  207. [3] = {
  208. coords = vector3(-2055.88232, -1027.13867, 3.16481071),
  209. url = '',
  210. },
  211. [4] = {
  212. coords = vector3(-2055.6582, -1026.44885, 3.16481071),
  213. url = '',
  214. },
  215. [5] = {
  216. coords = vector3(-2056.33032, -1028.51733, 2.66788249),
  217. url = '',
  218. },
  219. [6] = {
  220. coords = vector3(-2056.10645, -1027.82825, 2.66788249),
  221. url = '',
  222. },
  223. [7] = {
  224. coords = vector3(-2055.88232, -1027.13867, 2.66788249),
  225. url = '',
  226. },
  227. [8] = {
  228. coords = vector3(-2055.6582, -1026.44885, 2.66788249),
  229. url = '',
  230. },
  231. }
  232.  
  233.  
  234. -- Blip Settings
  235. Config.Blip = { -- Blip Settings
  236. Enable = false, -- Change to false to disable the Blip
  237. Location = vector3(-2031.6, -1038.13, 5.88), -- Change the blip coords here
  238. Sprite = 455,
  239. Display = 4,
  240. Scale = 0.6,
  241. Colour = 1,
  242. Name = "Secured Mega Yacht", --Change the name to your liking
  243. }
  244.  
  245. Config.Items = {
  246. [1] = {
  247. model = 'prop_champ_01b',
  248. coords = vector4(-2093.58, -1015.22, 9.09, 63.29),
  249. item_name = 'expensive_champagne',
  250. item_label = 'Champagne',
  251. taken = false,
  252. networkID = 0,
  253. },
  254. [2] = {
  255. model = 'prop_champ_01b',
  256. coords = vector4(-2094.71, -1021.18, 8.85, 137.92),
  257. item_name = 'expensive_champagne',
  258. item_label = 'Champagne',
  259. taken = false,
  260. networkID = 0,
  261. },
  262. [3] = {
  263. model = 'prop_champ_01b',
  264. coords = vector4(-2097.4, -1017.0, 8.84, 97.6),
  265. item_name = 'expensive_champagne',
  266. item_label = 'Champagne',
  267. taken = false,
  268. networkID = 0,
  269. },
  270. [4] = {
  271. model = 'prop_champ_01b',
  272. coords = vector4(-2051.42, -1031.7, 8.90, 213.82),
  273. item_name = 'expensive_champagne',
  274. item_label = 'Champagne',
  275. taken = false,
  276. networkID = 0,
  277. },
  278. [5] = {
  279. model = 'p_watch_05',
  280. coords = vector4(-2070.54, -1021.0, 5.77, 161.66),
  281. item_name = 'rolex',
  282. item_label = 'Watch',
  283. taken = false,
  284. networkID = 0,
  285. },
  286. [6] = {
  287. model = 'p_watch_05',
  288. coords = vector4(-2050.21, -1032.42, 8.90, 140.04),
  289. item_name = 'rolex',
  290. item_label = 'Watch',
  291. taken = false,
  292. networkID = 0,
  293. },
  294. [7] = {
  295. model = 'prop_champ_01b',
  296. coords = vector4(-2085.0, -1021.99, 5.82, 165.17),
  297. item_name = 'expensive_champagne',
  298. item_label = 'Champagne',
  299. taken = false,
  300. networkID = 0,
  301. },
  302. [8] = {
  303. model = 'prop_ld_int_safe_01', -- The safe is slightly hardcoded
  304. coords = vector4(-2099.37, -1016.24, 4.8, 160.50),
  305. taken = false,
  306. networkID = 0,
  307. },
  308. }
  309.  
  310. Config.Cabins = {
  311. [1] = {
  312. coords = vector4(-2050.86, -1024.12, 8.8, 335.89),
  313. isSearched = false,
  314. isBusy = false,
  315. animDic = 'veh@break_in@0h@p_m_one@',
  316. animName = 'low_force_entry_ds',
  317. ['items'] = {
  318. [1] = {
  319. item_name = 'rolex',
  320. item_amount = 1,
  321. },
  322. [2] = {
  323. item_name = 'rolex',
  324. item_amount = 2,
  325. },
  326. }
  327. },
  328. [2] = {
  329. coords = vector4(-2076.09, -1018.72, 8.95, 252.62),
  330. isSearched = false,
  331. isBusy = false,
  332. animDic = 'anim@amb@clubhouse@tutorial@bkr_tut_ig3@',
  333. animName = 'machinic_loop_mechandplayer',
  334. ['items'] = {
  335. [1] = {
  336. item_name = 'rolex',
  337. item_amount = 1,
  338. },
  339. [2] = {
  340. item_name = 'rolex',
  341. item_amount = 2,
  342. },
  343. }
  344. },
  345. [3] = {
  346. coords = vector4(-2089.83, -1009.79, 5.76, 70.23),
  347. isSearched = false,
  348. isBusy = false,
  349. animDic = 'anim@amb@clubhouse@tutorial@bkr_tut_ig3@',
  350. animName = 'machinic_loop_mechandplayer',
  351. ['items'] = {
  352. [1] = {
  353. item_name = 'rolex',
  354. item_amount = 1,
  355. },
  356. [2] = {
  357. item_name = 'rolex',
  358. item_amount = 2,
  359. },
  360. }
  361. },
  362. [4] = {
  363. coords = vector4(-2085.1, -1015.45, 9.07, 250.98),
  364. isSearched = false,
  365. isBusy = false,
  366. animDic = 'veh@break_in@0h@p_m_one@',
  367. animName = 'low_force_entry_ds',
  368. ['items'] = {
  369. [1] = {
  370. item_name = 'rolex',
  371. item_amount = 1,
  372. },
  373. [2] = {
  374. item_name = 'rolex',
  375. item_amount = 2,
  376. },
  377. }
  378. },
  379. [5] = {
  380. coords = vector4(-2071.62, -1024.08, 5.83, 254.6),
  381. isSearched = false,
  382. isBusy = false,
  383. animDic = 'anim@amb@clubhouse@tutorial@bkr_tut_ig3@',
  384. animName = 'machinic_loop_mechandplayer',
  385. ['items'] = {
  386. [1] = {
  387. item_name = 'rolex',
  388. item_amount = 1,
  389. },
  390. [2] = {
  391. item_name = 'rolex',
  392. item_amount = 2,
  393. },
  394. }
  395. },
  396. }
  397.  
  398.  
  399. Config.CashAndGoldTrays = {
  400. [1] = {
  401. coords = vector4(-2099.54, -1020.7, 5.38, 162.57),
  402. isSearched = false,
  403. model = 'h4_prop_h4_cash_stack_01a',
  404. tabel_model = 'prop_office_desk_01',
  405. min = 5000,
  406. max = 10000,
  407. },
  408. [2] = {
  409. coords = vector4(-2087.76, -1024.76, 5.38, 161.87),
  410. isSearched = false,
  411. model = 'h4_prop_h4_cash_stack_01a',
  412. tabel_model = 'prop_office_desk_01',
  413. min = 5000,
  414. max = 10000,
  415. },
  416. [3] = {
  417. coords = vector4(-2092.7, -1008.2, 4.88, 341.87),
  418. isSearched = false,
  419. model = 'h4_prop_h4_cash_stack_01a',
  420. tabel_model = 'prop_office_desk_01',
  421. min = 5000,
  422. max = 10000,
  423. },
  424. }
  425.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement