Installation

Guide to install the HighQez Phone Snatcher

Download Resource

Purchase the script from our HighQez Store. After the purchase, the resource will be available in your Keymaster Account

Make sure you purchase the script using the same Keymaster Account that is linked to your server. If not you will receive a warning "You lack the required entitlement".

If you receive the error mentioned above, you may have to transfer the resource from the current Keymaster account to the server's Keymaster account using the transfer feature in Keymaster.


Transfer Resource

Unzip the downloaded file and transfer it to your server's resource folder

If you are using FTP, please ensure you use WinSCP to transfer the resource to the server. If you use FileZilla, you may encounter the error "Failed to verify protected resource"


Resource Dependency

Make sure you have installed and started the below resources on your server

Name
Download Link

ox_lib

pure-minigames


Start Resource

Ensure the resource in server.cfg of your server

Make sure to start the resource only after all essential server resources have been started. Follow the example below to ensure highqez_phonesnatcher

ensure ox_lib #Don't start above this
ensure es_extended/qb-core #Don't start above this

#Start the HighQez resource here

ensure highqez_phonesnatcher

#Start the rest of your resources

Resource Items

Transfer the item's images from the INSTALL folder of the resource to your server's inventory

Ensure to add all required items to your server

ESX INVENTORY
INSERT INTO `items` (name, label, weight) VALUES
	('flipper_hacking','Flipper Hacking', 1),
	('aphone','aPhone 24', 1),
	('samsamphone','Samsam S55 Ultra', 1)
;
OX INVENTORY
['flipper_hacking'] = {
    label = 'Flipper Hacking',
    weight = 1,
    close = true,
},
['aphone'] = {
    label = 'aPhone 24',
    weight = 1,
    close = false,
},
['samsamphone'] = {
    label = 'Samsam S55 Ultra',
    weight = 1,
    close = false,
},
QS INVENTORY
['flipper_hacking']               = {
    ['name'] = 'flipper_hacking',
    ['label'] = 'Flipper Hacking',
    ['weight'] = 100,
    ['type'] = 'item',
    ['image'] = 'flipper_hacking.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'A hacking device'
},
['aphone']               = {
    ['name'] = 'aphone',
    ['label'] = 'aPhone 24',
    ['weight'] = 100,
    ['type'] = 'item',
    ['image'] = 'aphone.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Very expensive phone'
},
['samsamphone']               = {
    ['name'] = 'samsamphone',
    ['label'] = 'Samsam S55 Ultra',
    ['weight'] = 100,
    ['type'] = 'item',
    ['image'] = 'samsamphone.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Very expensive phone'
},
OLD QBCore
    ["flipper_hacking"] = {
        ["name"] = "flipper_hacking",
        ["label"] = "Flipper Hacking",
        ["weight"] = 100,
        ["type"] = "item",
        ["image"] = "flipper_hacking.png",
        ["unique"] = false,
        ["useable"] = true,
        ["shouldClose"] = true,
        ["combinable"] = nil,
        ["description"] = "A hacking device"
    },
    ['aphone'] = {
        ['name'] = 'aphone', 			  	  		
        ['label'] = 'aPhone 24', 				    
        ['weight'] = 1000, 		
        ['type'] = 'item', 		
        ['image'] = 'aphone.png', 				
        ['unique'] = false, 	
        ['useable'] = false, 	
        ['shouldClose'] = true,	   
        ['combinable'] = nil,   
        ['description'] = 'Very expensive phone'
    },
    ['samsamphone'] = {
        ['name'] = 'samsamphone', 			  	  	
        ['label'] = 'Samsam S55 Ultra', 				
        ['weight'] = 1000, 		
        ['type'] = 'item', 		
        ['image'] = 'samsamphone.png', 		
        ['unique'] = false, 	
        ['useable'] = false, 	
        ['shouldClose'] = true,	   
        ['combinable'] = nil,   
        ['description'] = 'Very expensive phone'
    },
NEW QBCore
    flipper_hacking = { 
        name = 'flipper_hacking', 
        label = 'Flipper Hacking', 
        weight = 100, 
        type = 'item', 
        image = 'flipper_hacking.png', 
        unique = false, 
        useable = false, 
        shouldClose = false, 
        description = 'A hacking device' 
    },
    aphone = { 
        name = 'aphone', 
        label = 'aPhone 24', 
        weight = 100, 
        type = 'item', 
        image = 'aphone.png', 
        unique = false, 
        useable = false, 
        shouldClose = false, 
        description = 'Very expensive phone' 
    },
    samsamphone = { 
        name = 'samsamphone', 
        label = 'Samsam S55 Ultra', 
        weight = 100, 
        type = 'item', 
        image = 'samsamphone.png', 
        unique = false, 
        useable = false, 
        shouldClose = false, 
        description = 'Very expensive phone' 
    },

Configure Resource

Customize the script to suit the specific requirements of your server

Open-source files are available for editing the framework function. The main configuration of the resource is provided below.

Config File
Config = {}

Config.Framework = 'auto' -- 'auto', 'esx' or 'qbcore'

Config.HackingDevice = 'flipper_hacking' -- item name to start the minigame

Config.SuccessRate = 100 -- chance of success 10 to 100

Config.MinTime = 5 -- (Minutes) minimum time to steal the phone

Config.AlertPoliceSuccess = false -- alert the police if the player successfully steals the phone

Config.AlertPoliceFail = false -- alert the police if the player fails to steal the phone

Config.MinDistance = 2.0 -- minimum distance to grab the phone

Config.MaxTry = 3 -- maximum number of tries to steal the phone

Config.PriceHackingDevice = 5000 -- price of the hacking device

Config.Leader = { -- dealer location
    model = 'u_m_m_streetart_01',
    location = vector4(446.0039, -1235.3147, 29.9584, 355.7636),
    blipenabled = true,
    blipname = 'Phone Snatcher Leader',
    blipsprite = 389,
    blipcolour = 59,
    blipscale = 1.0,
    blipshortrange = true,
}

Config.PedSpawn = { -- list of ped spawn locations (random)
    vector3(242.6468, -1115.9561, 29.3236),
    vector3(8.1043, -916.9601, 29.9050),
    vector3(212.7151, -593.0364, 43.8679),
    vector3(462.5270, -693.6348, 27.4210),
    vector3(386.7478, -899.6111, 29.4521),
    vector3(-122.8933, -888.5554, 29.3389),
    vector3(-21.6521, -1001.8614, 29.4998),
    vector3(417.1408, -1108.8044, 30.0487),
    vector3(327.1724, -1011.7714, 29.2908),
    vector3(66.1242, -615.9608, 31.9018),
    vector3(280.1768, -620.6162, 42.0211),
}

Config.Peds = { -- list of peds that can spawn (random)
    "u_f_y_poppymich_02",
    "u_f_m_miranda_02",
    "u_m_m_bankman",
    "u_m_m_aldinapoli",
}

Config.TargetBlip = {
    enabled = true,
    name = 'Phone Target',
    sprite = 1,
    scale = 1.0,
    colour = 46,
    shortRange = true,
}

Config.Rewards = {
    ['aphone'] = { price = 1000 },
    ['samsamphone'] = { price = 1000 },
}

Config.RentBikeSpawn = vector4(446.9450, -1230.0487, 30.1007, 272.5505)

Config.Vehicles = {
    [GetHashKey('bmx')] = { label = 'BMX', rentprice = 100 , deposit = 1000},
}

Last updated

Was this helpful?