[Release] [v1.2] npc_bounty - A highly configurable resource for co-op PvE

npc_bounty by Erratic

This is the first release of the npc_bounty resource.

npc_bounty is an easily configurable PvE activity with co-op functionality. It features both English and German as language options.

I’ve always wanted to create a customizable PvE experience for multiple players.

Grab a few friends or simply start a mission by yourself, the difficulty of the missions is entirely up to you and can be changed quickly by using the many config options available.

You can find the latest version of the resource here:
Repository

Issues and feature requests

Possible future updates:

  • Add a useable item toggle so you can start missions from anywhere
  • Improve enemy spawns
  • Add more locations
  • Add more languages
  • Even more config options
  • ESX.DrawNotification support

A. Features:

  • Random locations each mission
  • Full translation to German
  • Difficulty based on how many police officers are on duty
  • Easy-to-change/add locations
  • Optional mythic notifications and progress bar
  • Optional kill counter
  • Option to choose between receiving dirty money or clean cash
  • Optional blip for starting location
  • Easy-to-change amount of enemies
  • Adjustable enemy health
  • Adjustable enemy accuracy
  • Option to give enemies armor
  • Easy-to-change enemy ped
  • Easy-to-change crate prop

B. Prerequisites:

  • ESX
  • A working database
  • OneSync enabled

C. Optional resources:

D. How to install:

  1. Download the resource from the repo
  2. Unzip it
  3. Put it in your resource folder
  4. Add “start npc_bounty” to your server.cfg
  5. Run bounty.sql
  6. Done

E. How to add more languages

  1. Open the locales folder
  2. Create a new file in the locales folder and name it “yourlanguage”.lua
  3. Copy and paste everything from locales/en.lua into your newly created file
  4. Translate the locales from English/German to your preferred language
  5. Add “yourlanguage”.lua to the client_scripts and server_scripts in the fxmanifest.lua
  6. Done

Your fxmanifest should look like the one below

client_scripts {
	'@es_extended/locale.lua',
	'locales/de.lua',
	'locales/en.lua',
    'locales/yourlanguage.lua',
	'config.lua',
    'client/npc_bounty_cl.lua'
}

server_scripts {
	'@es_extended/locale.lua',
	'locales/de.lua',
	'locales/en.lua',
    'locales/yourlanguage.lua',
	'config.lua',
    'server/npc_bounty_sv.lua'
}

F. How to change the resource language

  1. Open the config.lua
  2. Change Config.Locale to your preferred language
  3. Done.

Check out my other release

~Erratic

14 Likes

Great release bro

3 Likes

Actually good ngl. Nice job Tyrone.

4 Likes

Thanks a lot to both of ya. Appreciate it!

2 Likes

Can you upload preview to streamable?

2 Likes

I’ve done that, but it seems like it’s not loading properly. See if it works for you now

2 Likes

Perfect :+1:

4 Likes

any idea what is causing this? seen this before?

1 Like

had to grab that version of mythic_notify, everything working better
just wondering though, looks like there are more than one location where the npc’s can spawn, done it multiple times and its always in the same location, is it random, or what needs to happen to for the marker to take you to different locations?

3 Likes

Wooooooooooooooooooooooooooooooooooooow! :heart_eyes:

4 Likes

Great first release :smiley:

3 Likes

@Spacetrucker I think that was caused because I accidentally removed the math.random for the locations. Can you check npc_bounty_cl.lua and see if rand = math.random for you?
I’ve just tested it again and it’s working fine for me

2 Likes

looks like its commented out for some reason
–rand = math.random(1,#Config.locations)

anything else or should I wait for you to have a update?

thanks for the reply I am loving this

2 Likes

Thank you for having a very good script ! But I can’t accept items when I finish the mission

RegisterServerEvent("bounty:GiveItem")
AddEventHandler("bounty:GiveItem", function(x,y,z)
  local _source = source
  local xPlayer = ESX.GetPlayerFromId(_source)
  local myPed = GetPlayerPed(_source)
	local myPos = GetEntityCoords(myPed)
	local dist = #(vector3(x,y,z) - myPos)
	if dist <= 3 then
    	xPlayer.addInventoryItem("dogtags", 1)
	elseif Config.useMythic then
		TriggerClientEvent('mythic_notify:client:SendAlert:long', _source, { type = 'error', text = _U'dist_check'})
	end
end)
2 Likes

did you add the sql file?

1 Like


I have added it to sql already

1 Like

@Spacetrucker You’re good to go. My apologies. Glad you’re enjoying yourself though!

1 Like

@LOL_Highlight Does your server have OneSync enabled? Either enable it or remove the distance check in the NetEvent as it only works when OneSync is enabled.

2 Likes

Oh no I’m not turning on OneSync

1 Like

so you looked for the crates and went to loot them and it gave you nothing?

2 Likes