efeozgur / decrypto

ATM Soygunu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

decrypto

ATM Hacking with Minigame for QBCore Framework

Preview: https://tj-s.online/content/GTAV/decrypto.mp4

Add items to qb-core\shared\items.lua

	['stolencard'] 				 		 = {['name'] = 'stolencard', 			    		['label'] = 'Stolen ATM Card', 					['weight'] = 100, 	['type'] = 'item', 		['image'] = 'visacard.png', 				['unique'] = false, 	['useable'] = true, 	['shouldClose'] = true,   ['combinable'] = {accept = {'electronickit'}, reward = 'hackcard', anim = {['dict'] = 'anim@amb@business@bgen@bgen_inspecting@', ['lib'] = 'inspecting_low_idle_01_inspector', ['text'] = 'Crafting ATM hacking card', ['timeOut'] = 7500,}},   ['description'] = 'What will you do with someone else\'s ATM card?'},
	['hackcard'] 				 		 = {['name'] = 'hackcard', 			    		['label'] = 'Hacking Card', 					['weight'] = 100, 	['type'] = 'item', 		['image'] = 'hackcard.png', 				['unique'] = false, 	['useable'] = true, 	['shouldClose'] = false,   ['combinable'] = nil,   ['description'] = 'Modified debit card'},
	['decryptor'] 				 		 = {['name'] = 'decryptor', 			    		['label'] = 'Decrypt-o-matic', 					['weight'] = 300, 	['type'] = 'item', 		['image'] = 'decryptomatic.png', 				['unique'] = true, 	['useable'] = true, 	['shouldClose'] = false,   ['combinable'] = nil,   ['description'] = 'Decrypt PIN based encryptions'},

Add images to qb-inventory\html\images

  • hackcard.png
  • decryptomatic.png

Add a shop to qb-shops\config.lua

Add to Config.Products

["blackmarket"] = {
	[1] = {
		name = "stolencard",
		price = 100,
		amount = 50,
		info = {},
		type = "item",
		slot = 1,
	},
	[2] = {
		name = "decryptor",
		price = 5000,
		amount = 10,
		info = {},
		type = "item",
		slot = 2,
	},
},

Add to Config.Locations

-- For newer versions of qb-shops
	-- Black Market Locations
	["backdoor"] = {
		["label"] = "Back Door",
		["coords"] = vector4(1194.4, 2721.75, 38.81, 1.45),
		["ped"] = 'cs_old_man1a',
		["scenario"] = "WORLD_HUMAN_STAND_IMPATIENT",
		["radius"] = 1.5,
		["targetIcon"] = "fas fa-shopping-basket",
		["targetLabel"] = "I have a deal for you",
		["products"] = Config.Products["blackmarket"],
		["showblip"] = false,
		["blipsprite"] = 52
	},

--[[ For older versions of qb-shops
	-- Black Market Locations
	["backdoor"] = {
		["label"] = "Back Door",
		["coords"] = {
			[1] = vector3(1194.16, 2721.67, 38.81)
		},
		["products"] = Config.Products["blackmarket"],
		["showblip"] = false,
		["blipsprite"] = 52
	},
]]--

The Minigame

The minigame is based on Matermind https://en.wikipedia.org/wiki/Mastermind_(board_game)

Clues

Based on the guess made, clues are given as follows

Clue Character Meaning
none incorrect character, incorrect position
* asterisk correct character, incorrect position
! exclamation point correct character, correct position

Each character may only generate one clue, with priority given to ! over *

The clue is always ordered with ! before * and does not indicate which characters in your guess corresponds to the clue

Example:

PIN Guess Clue
5543 8765 *
5543 5678 !
5543 5658 !*

The minigame can be set to base 10 (digits 0 through 9) or base 16 (digits 0 through 9 and letters A through F) in the config file.

Why does the minigame have such a long intro?

I did this to balance Police response versus hacking sprees. You can always modify this in the script.js file (the variable is message and has some instructions in the preceeding comment).

About

ATM Soygunu

License:GNU General Public License v3.0


Languages

Language:JavaScript 65.5%Language:Lua 22.9%Language:CSS 9.0%Language:HTML 2.6%