[PAID][ESX] Chicken Fighting - Unique, Easy to Convert.

Capture2
(Image belongs to Steve Ly (Cock Fight - YouTube))

Ahoy there! Today I bring you a little unique idea i had, Cock Fights.

Video Preview
(Sorry about the failure of the trainings, It was early and I suck)
Tebex Link

Before we begin, this script uses BT-Target BUT HAS A CONFIG TO USE 3D TEXT INSTEAD. (Just set Config.UseBT = false)

So, what is the script?

  • Fight Chickens! - The main purpose of the script is, you guessed it. To Fight Chickens. Start an illegal fighting tournament and gamble/make bets on who the winner will be.

  • Stats - Every chicken has stats. They start off as default of 25 Strength, 25 Stamina, and 25 Speed, with 50 base Fatigue (More in-depth explanation below)

  • Train Your Chickens - Improve your chickens stats by commencing in training. Training takes Fatigue (which is regenned over time, change the amount regenned and the rate in the Config). Each training has a skill-check at the end of each attempt to gain stats (Just to increase difficulty and make it more interactive) - uses rProgress

  • Permadeath - The losing chicken is dead – for good. When a chicken dies, it is deleted from the database and the owner of said chicken will have to aquire a new chicken. (You can disable this in the Config if you don’t want the chickens being removed, but wheres the fun in that!?)

  • How to Train - To train, purchase the corresponding item from the shop. Ball for speed, Whistle for Stamina, Dummy for Strength.

  • The Fight - The fight commences once two people sign up to fight their chickens (You’ll see it in the menu when interacting) and then one of them starts the match.

– The chickens will spawn at their respective locations (Changed in the Config) and walk towards each other until they are within range of attack.

– Once in range, the chickens will begin their onslaught of attacks. (Because chickens can’t actually attack via gta, we simulate this with the stats mentioned above)

– Stats are vital to success in the fights. Every attack costs Stamina (20 by default, can be changed in the Config). Once Stamina is drained, your chicken will then go into regen mode.

– How much you regen and how fast is dependent on your chickens Max Stamina, and is calculated by doing some maths ( (10000 / cSTM) * 25 ) – 10000 is the base regen speed, divided by max stamina multiplied by 25

– The amount of Stamina that is regenned is simpler math, (cSTM / 5) which is Max Stamina divided by 5. (So a Chicken with 25 Stam would regenerate 5 Stamina every 10 seconds)

– A Higher Speed will make your chicken attack faster, and enter into the regen state when stamina is exhausted quicker. Attack speed is calculated via ((cSPD * 60) - 10000). This is the chickens Speed multiplied by 60 and then subtracted from the base attack speed (10000)

– Lastly, you have Strength. Strength determines the Min AND Max that your chicken can potentially hit for. Minimum damage is (cSTR / 4) so it just quarters your Strength, while Maximum damage is just cStr. (so if your strength is 25, your Min is 6 and Max is 25)

– With all the stats in mind, equally matched chicken fights will still come down to a bit of luck. Even non-equally matched fights can (but very unlikely) go the way of the weaker chicken. More well-rounded chickens have a clear advantage compared to chickens specializing in only one stat.

Here’s a picture of the config to see all the options.

Tebex Link

Hope you enjoy, even if you don’t buy!

The script requires ESX; Tested on Legacy but should work on -any-
PolyZone - GitHub - mkafrin/PolyZone: PolyZone is a FiveM mod to define zones of different shapes and test whether a point is inside or outside of the zone
bt-target - GitHub - brentN5/bt-target
nh-contextmenu - Amazing Menu resource
rProgress ( Minigame Used) - Used for the Minigame, you can change as needed.
If you are using the base bt-target resource, you need to add my export to the scripts main.lua - listed below. If you DO NOT want to use bt-target just remove it from the fxmanifest and you’re good.

function AddEntityZone(name, entity, options, targetoptions)
Zones[name] = EntityZone:Create(entity, options)
Zones[name].targetoptions = targetoptions
end

exports(‘AddEntityZone’, AddEntityZone)

You’ll need to add the following item(s) to your database; trainingwhistle, trainingdummy, trainingball

Some of my other scripts: Oxy/Deliveries | Taco Job | Meth Making | Mechanic Job | BMX Comp Standalone | Fitness, Group Yoga & More | More Interactive Stores | Burgershot | Prison+ | Underwater Salvage Job | Jewelry Store | Chop Shop | The Best Trading Cards Script To Date | Cluckin Bell | Chicken Job

5 Likes

Is this really a script or typo?

aye something unique finally! tired of seeing huds and robbery scripts everday

1 Like

Someone must be salty, I’m sorry you didn’t like my reply to the BIG ASS GUN being 30 dollars for no reason :rofl: ?

Naw man I was just messing with you. This nice tho. Chickens kissing each other XD

It ain’t gay if their lips don’t touch. But on a serious note, it’s something different that I’m fairly certain hasn’t even been attempted, so now it exists

Pretty cool idea :slight_smile:

1 Like

Thanks, I wish the execution was a lot smoother but it will hopefully be improved upon as I figure out some more ideas

Nice work and description, but why are you disparaging someone else’s work?

No where did I disparage your work, just the price of it.

Can you make this for qbcore?