Challenge anyone to a good ol' fight in this mod. Not just any fight either, hopefully it'll be a nice challenging one.
When you insult someone, they will become aggressive towards you and their fighting skills will also be increased. Adults will fight back as well.
In the start of the mod, you will have an option to disable cops/prefects completely, limit to an orange wanted level, or leave as is.
Mediafire Downloadfunction main()
Wait(500)
LoadAllAnim()
local affected = {}
repeat
TextPrintString("AUTHORITY SETTING\n\nLeft: Disable & remove\nRight: Limit trouble\nDown: No effect",0,1)
Wait(0)
until IsButtonBeingPressed(0,0) or IsButtonBeingPressed(1,0) or IsButtonBeingPressed(3,0)
if IsButtonBeingPressed(0,0) then
CreateThread("F_RemoveAuthority")
elseif IsButtonBeingPressed(1,0) then
CreateThread("F_TroubleMeterLimiter")
end
repeat
if IsButtonBeingPressed(8,0) and PedIsValid(PedGetTargetPed()) and not PedIsValid(PedGetGrappleTargetPed()) then
local ped = PedGetTargetPed()
PedSetPedToTypeAttitude(ped,13,1)
PedSetEmotionTowardsPed(ped,gPlayer,1)
if not F_IsPedInTable(affected,ped) then
local percentOfHealth = PedGetHealth(ped)/PedGetMaxHealth(ped)
PedSetHealth(ped,PedGetMaxHealth(ped)*math.random(2,5)) -- A good fight should be a long fight
PedSetHealth(ped,PedGetMaxHealth(ped)*percentOfHealth) -- Return to same % of health
PedSetInfiniteSprint(ped,true) -- No running away Jimmy!
GameSetPedStat(ped,6,0) -- Fearless! We can't have our opponent chickening out now can we?
GameSetPedStat(ped,7,0) -- Snitches need to learn to fight
GameSetPedStat(ped,8,5000000) -- The key to victory: Attack as much as fucking possible!!!
GameSetPedStat(ped,10,95) -- Sharp shooter
GameSetPedStat(ped,11,100) -- Trigger happy
GameSetPedStat(ped,12,math.random(90,100)) -- Blocking attacks is just as important
GameSetPedStat(ped,13,math.random(70,95)) -- Evade frequency (Prep's only)
GameSetPedStat(ped,14,100) -- What is there in fights? ANGER! Set it to 100!
GameSetPedStat(ped,20,GameGetPedStat(ped,20)*math.random(100,150)/100) -- Up to 50% faster! Dayum son!
GameSetPedStat(ped,38,90) -- Reverse dem striking grapples
GameSetPedStat(ped,39,100) -- Unhand me!
GameSetPedStat(ped,63,0) -- Fight to the death!
if PedHasAdultStyle(ped) then
local styles = {"G_Striker_A","J_Striker_A","J_Melee_A","P_Striker_A","Nemesis","G_Johnny","G_Melee_A"}
local style = styles[math.random(1,table.getn(styles))]
PedSetActionTree(ped,"/Global/"..style,"Act/Anim/"..style..".act")
end
table.insert(affected,ped)
end
elseif IsButtonBeingPressed(7,0) and PedIsValid(PedGetTargetPed()) and not PedIsValid(PedGetGrappleTargetPed()) then
if PedGetPedToTypeAttitude(PedGetTargetPed(),13) == 1 then
PedSetPedToTypeAttitude(PedGetTargetPed(),13,2)
end
if PedGetEmotionTowardsPed(PedGetTargetPed(),gPlayer) == 1 then
PedSetEmotionTowardsPed(PedGetTargetPed(),gPlayer,2)
end
end
F_CleanInvalidPeds(affected)
Wait(0)
until not Alive
end
function F_RemoveAuthority()
local authority = {49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,83,97,158,234,238}
while true do
DisablePunishmentSystem(true)
PlayerSetPunishmentPoints(0)
for i = 1,table.getn(authority) do
PedSetUniqueModelStatus(authority[i],-1)
end
Wait(0)
end
end
function F_TroubleMeterLimiter()
while true do
if PlayerGetPunishmentPoints() > 200 then
PlayerSetPunishmentPoints(200)
end
Wait(0)
end
end
function PedHasAdultStyle(ped)
local styles = {"Authority","TE_Female_A","TE_Secretary","CV_Male_A"}
for i = 1,table.getn(styles) do
if PedIsPlaying(ped,"/Global/"..styles[i],"Act/Anim/"..styles[i]..".act") then
return true
end
end
return false
end
function F_CleanInvalidPeds(peds)
local result = peds
for i = 1,table.getn(peds) do
if not PedIsValid(peds[i]) then
table.remove(result,i)
end
end
return result
end
function F_IsPedInTable(peds,ped)
for i = 1,table.getn(peds) do
if peds[i] == ped then
return true
end
end
return false
end
function LoadAllAnim()
LoadAnimationGroup("Authority")
LoadAnimationGroup("Boxing")
LoadAnimationGroup("B_Striker")
LoadAnimationGroup("CV_Female")
LoadAnimationGroup("CV_Male")
LoadAnimationGroup("DO_Edgar")
LoadAnimationGroup("DO_Grap")
LoadAnimationGroup("DO_StrikeCombo")
LoadAnimationGroup("DO_Striker")
LoadAnimationGroup("F_Adult")
LoadAnimationGroup("F_BULLY")
LoadAnimationGroup("F_Crazy")
LoadAnimationGroup("F_Douts")
LoadAnimationGroup("F_Girls")
LoadAnimationGroup("F_Greas")
LoadAnimationGroup("F_Jocks")
LoadAnimationGroup("F_Nerds")
LoadAnimationGroup("F_OldPeds")
LoadAnimationGroup("F_Pref")
LoadAnimationGroup("F_Preps")
LoadAnimationGroup("G_Grappler")
LoadAnimationGroup("G_Johnny")
LoadAnimationGroup("G_Striker")
LoadAnimationGroup("Grap")
LoadAnimationGroup("J_Damon")
LoadAnimationGroup("J_Grappler")
LoadAnimationGroup("J_Melee")
LoadAnimationGroup("J_Ranged")
LoadAnimationGroup("J_Striker")
LoadAnimationGroup("LE_Orderly")
LoadAnimationGroup("Nemesis")
LoadAnimationGroup("N_Ranged")
LoadAnimationGroup("N_Striker")
LoadAnimationGroup("N_Striker_A")
LoadAnimationGroup("N_Striker_B")
LoadAnimationGroup("P_Grappler")
LoadAnimationGroup("P_Striker")
LoadAnimationGroup("PunchBag")
LoadAnimationGroup("Qped")
LoadAnimationGroup("Rat_Ped")
LoadAnimationGroup("Russell")
LoadAnimationGroup("Russell_Pbomb")
LoadAnimationGroup("Straf_Dout")
LoadAnimationGroup("Straf_Fat")
LoadAnimationGroup("Straf_Female")
LoadAnimationGroup("Straf_Male")
LoadAnimationGroup("Straf_Nerd")
LoadAnimationGroup("Straf_Prep")
LoadAnimationGroup("Straf_Savage")
LoadAnimationGroup("Straf_Wrest")
LoadAnimationGroup("TE_Female")
end
F_AttendedClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
SetSkippedClass(false)
PlayerSetPunishmentPoints(0)
end
F_MissedClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
SetSkippedClass(true)
StatAddToInt(166)
end
F_AttendedCurfew = function()
if not PedInConversation(gPlayer) and not MissionActive() then
TextPrintString("You got home in time for curfew", 4)
end
end
F_MissedCurfew = function()
if not PedInConversation(gPlayer) and not MissionActive() then
TextPrint("TM_TIRED5", 4, 2)
end
end
F_StartClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
F_RingSchoolBell()
local l_6_0 = PlayerGetPunishmentPoints() + GetSkippingPunishment()
end
F_EndClass = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
F_RingSchoolBell()
end
F_StartMorning = function()
F_UpdateTimeCycle()
end
F_EndMorning = function()
F_UpdateTimeCycle()
end
F_StartLunch = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
F_UpdateTimeCycle()
return
end
F_UpdateTimeCycle()
end
F_EndLunch = function()
F_UpdateTimeCycle()
end
F_StartAfternoon = function()
F_UpdateTimeCycle()
end
F_EndAfternoon = function()
F_UpdateTimeCycle()
end
F_StartEvening = function()
F_UpdateTimeCycle()
end
F_EndEvening = function()
F_UpdateTimeCycle()
end
F_StartCurfew_SlightlyTired = function()
F_UpdateTimeCycle()
end
F_StartCurfew_Tired = function()
F_UpdateTimeCycle()
end
F_StartCurfew_MoreTired = function()
F_UpdateTimeCycle()
end
F_StartCurfew_TooTired = function()
F_UpdateTimeCycle()
end
F_EndCurfew_TooTired = function()
F_UpdateTimeCycle()
end
F_EndTired = function()
F_UpdateTimeCycle()
end
F_Nothing = function()
end
F_ClassWarning = function()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
local l_23_0 = math.random(1, 2)
end
F_UpdateTimeCycle = function()
if not IsMissionCompleated("1_B") then
local l_24_0 = GetCurrentDay(false)
if l_24_0 < 0 or l_24_0 > 2 then
SetCurrentDay(0)
end
end
F_UpdateCurfew()
end
F_UpdateCurfew = function()
local l_25_0 = shared.gCurfewRules
if not l_25_0 then
l_25_0 = F_CurfewDefaultRules
end
l_25_0()
end
F_CurfewDefaultRules = function()
local l_26_0 = ClockGet()
if l_26_0 >= 23 or l_26_0 < 7 then
shared.gCurfew = true
else
shared.gCurfew = false
end
end