News: Welcome back to Bullworth! If you haven't already, you will need to reset your password..


Author Topic: how to set auto block?  (Read 6599 times)

0 Members and 1 Guest are viewing this topic.

Offline Gustavinzaum

  • Jr. Member
  • **
  • Posts: 34
    • View Profile
how to set auto block?
« on: October 11, 2016, 06:46:13 PM »
i just want to know how to set an auto block if the player is being attacked, so i wont have to hold a button and it wont be impossible for me to get hit (infinite blocking)

Offline DaBOSS54320

  • Hero Member
  • ****
  • Posts: 3,398
  • Gender: Female
    • View Profile
Re: how to set auto block?
« Reply #1 on: October 11, 2016, 10:24:20 PM »
I've been wanting to make a manual block for a while now, not sure how to stop the player from blocking, all I know is the player will not block against prefects or cops.

Offline Gustavinzaum

  • Jr. Member
  • **
  • Posts: 34
    • View Profile
Re: how to set auto block?
« Reply #2 on: October 11, 2016, 10:43:13 PM »
well since prefs and cops only do grapples i dont think a hit blocking is gonna make it

i want to make a function like: if ped tries to hit the player, then set the blocking node, thats all. thing is i dont know how to do that  8)
« Last Edit: October 11, 2016, 10:58:58 PM by Gustavinzaum »

Offline Altamurenza

  • Full Member
  • ***
  • Posts: 118
  • Gender: Male
  • I love cheat, unique, realistic, & expansion mod.
    • View Profile
Re: how to set auto block?
« Reply #3 on: October 12, 2016, 08:33:40 AM »
Try this, but you must have a blocking node
Code: [Select]
local howMany = 9999 -- All peds
local node,act = -- Insert blocking node right here
-- Get all peds:
for count,enemy in {PedFindInAreaXYZ(0,0,0,howMany)} do
  if PedIsValid(enemy) and enemy ~= gPlayer then
    -- Check the distance between player and enemy:
    local x,y,z = PlayerGetPosXYZ()
    local a,b,c = PedGetPosXYZ(enemy)
    local Abs = math.abs
    local distance = 3
    if Abs(x - a) + Abs(y - b) + Abs(z - c) < distance then
      -- Check if stafing:
      if PedGetTargetPed(enemy) == gPlayer and PedGetFlag(enemy,11,true) then
        -- Look at enemy:
        PedFaceXYZ(gPlayer,enemy)
        -- Block the stafe:
        PedSetActionNode(gPlayer,node,act)
      end
    -- Return to neutral position:
    elseif (PedIsPlaying(gPlayer,node,true) and not PedGetFlag(enemy,11,true)) or Abs(x - a) + Abs(y - b) + Abs(z - c) > distance then
      PlayerStopAllActionControllers()
    end
  end
end

This is only testing mode, you can edit it yourself.

Offline Gustavinzaum

  • Jr. Member
  • **
  • Posts: 34
    • View Profile
Re: how to set auto block?
« Reply #4 on: October 12, 2016, 11:37:08 AM »
Try this, but you must have a blocking node
Code: [Select]
local howMany = 9999 -- All peds
local node,act = -- Insert blocking node right here
-- Get all peds:
for count,enemy in {PedFindInAreaXYZ(0,0,0,howMany)} do
  if PedIsValid(enemy) and enemy ~= gPlayer then
    -- Check the distance between player and enemy:
    local x,y,z = PlayerGetPosXYZ()
    local a,b,c = PedGetPosXYZ(enemy)
    local Abs = math.abs
    local distance = 3
    if Abs(x - a) + Abs(y - b) + Abs(z - c) < distance then
      -- Check if stafing:
      if PedGetTargetPed(enemy) == gPlayer and PedGetFlag(enemy,11,true) then
        -- Look at enemy:
        PedFaceXYZ(gPlayer,enemy)
        -- Block the stafe:
        PedSetActionNode(gPlayer,node,act)
      end
    -- Return to neutral position:
    elseif (PedIsPlaying(gPlayer,node,true) and not PedGetFlag(enemy,11,true)) or Abs(x - a) + Abs(y - b) + Abs(z - c) > distance then
      PlayerStopAllActionControllers()
    end
  end
end

This is only testing mode, you can edit it yourself.

can't get this to work, am i doing something wrong?

Code: [Select]
main = function()
  Wait(500) -- Wait 0.5 seconds. This is needed for some scenarios.
  -- Setup code goes here.
LoadAllAnim()
  repeat
    -- Constantly running code goes here.
fight()
block()
    Wait(0) -- Waits 0 seconds. Seems pointless but leave this in!
PedSetAITree(gPlayer, "/Global/PlayerAI","Act/PlayerAI.act")
  until not Alive
end

function fight()
if IsButtonBeingPressed(0,0) then
    PedSetActionTree(gPlayer, "/Global/J_Ted","Act/Anim/J_Ted.act")
    PedSwapModel(gPlayer, "JKlead_Ted")
    PedSetStatsType(gPlayer, "STAT_J_TED")
PedSetHealth(gPlayer, 999)
PedSetInfiniteSprint(gPlayer, true)
  elseif IsButtonBeingPressed(1,0) then
    PedSetActionTree(gPlayer, "/Global/Player","Act/Player.act")
    PedSwapModel(gPlayer, "PLAYER")
    PedSetStatsType(gPlayer, "STAT_PLAYER")
PedSetHealth(gPlayer, 999)
  elseif IsButtonPressed(10,0) and IsButtonBeingPressed(14,0) then
    PedSetActionNode(gPlayer, "/Global/Actions/Grapples/Front/Grapples/GrappleMoves/BodySlam","Globals/J_Grappler_A.act")
  elseif IsButtonPressed(10,0) and IsButtonPressed(15,0) then
    PedSetActionNode(gPlayer, "/Global/Actions/Grapples/Front/Grapples/GrappleMoves/BackBreaker","Globals/J_Grappler_A.act")
  elseif IsButtonPressed(10,0) and IsButtonBeingPressed(8,0) then
    ExecuteActionNode(gPlayer, "/Global/Actions/Offense/RunningAttacks/RunningAttacksDirect","Act/Globals.act")
  elseif IsButtonPressed(10,0) and IsButtonBeingPressed(9,0) then
    ExecuteActionNode(gPlayer, "/Global/Actions/Grapples/Front/Grapples/GrappleAttempt","Act/Globals.act") 
end
end

function block()
local howMany = 9999 -- All peds
local node,act = "/Global/J_Ted/Defense/Block/Block/BlockHits","Act/Anim/J_Ted.act"-- Insert blocking node right here
-- Get all peds:
for count,enemy in {PedFindInAreaXYZ(0,0,0,howMany)} do
  if PedIsValid(enemy) and enemy ~= gPlayer then
    -- Check the distance between player and enemy:
    local x,y,z = PlayerGetPosXYZ()
    local a,b,c = PedGetPosXYZ(enemy)
    local Abs = math.abs
    local distance = 3
    if Abs(x - a) + Abs(y - b) + Abs(z - c) < distance then
      -- Check if stafing:
      if PedGetTargetPed(enemy) == gPlayer and PedGetFlag(enemy,11,true) then
        -- Look at enemy:
        PedFaceXYZ(gPlayer,enemy)
        -- Block the stafe:
        PedSetActionNode(gPlayer,node,act)
      end
    -- Return to neutral position:
    elseif (PedIsPlaying(gPlayer,node,true) and not PedGetFlag(enemy,11,true)) or Abs(x - a) + Abs(y - b) + Abs(z - c) > distance then
      PlayerStopAllActionControllers()
    end
  end
end
end

function LoadAllAnim()
PedSetTypeToTypeAttitude(2, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 1)
PedSetTypeToTypeAttitude(5, 13, 1)
PedSetTypeToTypeAttitude(6, 13, 1)
PedSetTypeToTypeAttitude(11, 13, 1)
  LoadAnimationGroup("1_02BYourSchool")
  LoadAnimationGroup("1_02_MeetWithGary")
  LoadAnimationGroup("1_03The Setup")
  LoadAnimationGroup("1_04TheSlingshot")
  LoadAnimationGroup("1_06ALittleHelp")
  LoadAnimationGroup("1_07_SaveBucky")
  LoadAnimationGroup("1_07_Sk8Board")
  LoadAnimationGroup("1_08ThatBitch")
  LoadAnimationGroup("1_08_MandPuke")
  LoadAnimationGroup("1_09_Candidate")
  LoadAnimationGroup("1_10Betrayal")
  LoadAnimationGroup("1_11B_HeBigPrank")
  LoadAnimationGroup("1_G1_TheDiary")
  LoadAnimationGroup("1_S01HatVsGall")
  LoadAnimationGroup("2_01LastMinuteShop")
  LoadAnimationGroup("2_02ComicKlepto")
  LoadAnimationGroup("2_05TadsHouse")
  LoadAnimationGroup("2_06MovieTickets")
  LoadAnimationGroup("2_07BeachRumble")
  LoadAnimationGroup("2_08WeedKiller")
  LoadAnimationGroup("2_4RichAreaRace")
  LoadAnimationGroup("2_G2CarnivalDate")
  LoadAnimationGroup("2_G2_GiftExchange")
  LoadAnimationGroup("2_R03PaperRoute")
  LoadAnimationGroup("2_S02CharSheets")
  LoadAnimationGroup("2_S04CharSheets")
  LoadAnimationGroup("2_S05_CooksCrush")
  LoadAnimationGroup("2_S06PantyRaid")
  LoadAnimationGroup("3_01JealousJohnny")
  LoadAnimationGroup("3_04WrongPtTown")
  LoadAnimationGroup("3_05TheTenements")
  LoadAnimationGroup("3_BFightJohnnyV")
  LoadAnimationGroup("3_G3")
  LoadAnimationGroup("3_R05ChemicalDeliv")
  LoadAnimationGroup("3_R08RaceLeague")
  LoadAnimationGroup("3_S03CheatinTime")
  LoadAnimationGroup("4_01Paparazzi")
  LoadAnimationGroup("4_04_FunhouseFun")
  LoadAnimationGroup("4_06BigGame")
  LoadAnimationGroup("4_B2_JockBossBattle")
  LoadAnimationGroup("5_01Grp")
  LoadAnimationGroup("5_01Rats")
  LoadAnimationGroup("5_02PrVandalized")
  LoadAnimationGroup("5_05Zoe")
  LoadAnimationGroup("5_09MakingAMark")
  LoadAnimationGroup("6B_PARA")
  LoadAnimationGroup("AGymLght")
  LoadAnimationGroup("Ambient")
  LoadAnimationGroup("Ambient2")
  LoadAnimationGroup("Ambient3")
  LoadAnimationGroup("ANIBBALL")
  LoadAnimationGroup("AniBroom")
  LoadAnimationGroup("AniDice")
  LoadAnimationGroup("AniFooty")
  LoadAnimationGroup("AniGlobe")
  LoadAnimationGroup("AnimSave")
  LoadAnimationGroup("AniPillo")
  LoadAnimationGroup("ARC3D")
  LoadAnimationGroup("Area_Asylum")
  LoadAnimationGroup("Area_Funhouse")
  LoadAnimationGroup("Area_GirlsDorm")
  LoadAnimationGroup("Area_Infirmary")
  LoadAnimationGroup("Area_School")
  LoadAnimationGroup("Area_Tenements")
  LoadAnimationGroup("Armor")
  LoadAnimationGroup("AsyBars")
  LoadAnimationGroup("AsyDoorB")
  LoadAnimationGroup("AsyDoors")
  LoadAnimationGroup("AsyGate")
  LoadAnimationGroup("AsyLever")
  LoadAnimationGroup("AsySwtch")
  LoadAnimationGroup("AtcPlank")
  LoadAnimationGroup("Authority")
  LoadAnimationGroup("BANANA")
  LoadAnimationGroup("barelLad")
  LoadAnimationGroup("BarrGate")
  LoadAnimationGroup("BATON")
  LoadAnimationGroup("BBALL_21")
  LoadAnimationGroup("bbgun")
  LoadAnimationGroup("BCatcher")
  LoadAnimationGroup("BdrDoorL")
  LoadAnimationGroup("BeardLady")
  LoadAnimationGroup("Bike")
  LoadAnimationGroup("BikeGar")
  LoadAnimationGroup("BoldRoll")
  LoadAnimationGroup("BoltCutt")
  LoadAnimationGroup("Boxing")
  LoadAnimationGroup("BoxRopes")
  LoadAnimationGroup("BRDoor")
  LoadAnimationGroup("BrkSwtch")
  LoadAnimationGroup("BROCKETL")
  LoadAnimationGroup("BRSwitch")
  LoadAnimationGroup("BusDoors")
  LoadAnimationGroup("Butcher")
  LoadAnimationGroup("BXPBag")
  LoadAnimationGroup("B_Striker")
  LoadAnimationGroup("CarnCurt")
  LoadAnimationGroup("CARNI01")
  LoadAnimationGroup("carnies")
  LoadAnimationGroup("Car_Ham")
  LoadAnimationGroup("Cavalier")
  LoadAnimationGroup("Cheer_Cool1")
  LoadAnimationGroup("Cheer_Cool2")
  LoadAnimationGroup("Cheer_Cool3")
  LoadAnimationGroup("Cheer_Gen1")
  LoadAnimationGroup("Cheer_Gen2")
  LoadAnimationGroup("Cheer_Gen3")
  LoadAnimationGroup("Cheer_Girl1")
  LoadAnimationGroup("Cheer_Girl2")
  LoadAnimationGroup("Cheer_Girl3")
  LoadAnimationGroup("Cheer_Girl4")
  LoadAnimationGroup("Cheer_Nerd1")
  LoadAnimationGroup("Cheer_Nerd2")
  LoadAnimationGroup("Cheer_Nerd3")
  LoadAnimationGroup("Cheer_Posh1")
  LoadAnimationGroup("Cheer_Posh2")
  LoadAnimationGroup("Cheer_Posh3")
  LoadAnimationGroup("Chem_Set")
  LoadAnimationGroup("ChLead_Idle")
  LoadAnimationGroup("CLadderA")
  LoadAnimationGroup("CnGate")
  LoadAnimationGroup("Coaster")
  LoadAnimationGroup("COPBIKE")
  LoadAnimationGroup("Cop_Frisk")
  LoadAnimationGroup("CV_Female")
  LoadAnimationGroup("CV_Male")
  LoadAnimationGroup("C_Wrestling")
  LoadAnimationGroup("DartBrd")
  LoadAnimationGroup("DartCab")
  LoadAnimationGroup("DodgeBall")
  LoadAnimationGroup("DodgeBall2")
  LoadAnimationGroup("DoorStr1")
  LoadAnimationGroup("DO_Edgar")
  LoadAnimationGroup("DO_Grap")
  LoadAnimationGroup("DO_StrikeCombo")
  LoadAnimationGroup("DO_Striker")
  LoadAnimationGroup("DRBrace")
  LoadAnimationGroup("Drumming")
  LoadAnimationGroup("DuffBag")
  LoadAnimationGroup("DunkBttn")
  LoadAnimationGroup("DunkSeat")
  LoadAnimationGroup("Earnest")
  LoadAnimationGroup("EnglishClass")
  LoadAnimationGroup("ErrandCrab")
  LoadAnimationGroup("Errand_BUS")
  LoadAnimationGroup("Errand_IND")
  LoadAnimationGroup("Errand_RIC")
  LoadAnimationGroup("Errand_SCH")
  LoadAnimationGroup("ESCDoorL")
  LoadAnimationGroup("ESCDoorR")
  LoadAnimationGroup("ExtWind")
  LoadAnimationGroup("FDoor")
  LoadAnimationGroup("FDoorB")
  LoadAnimationGroup("FDoorC")
  LoadAnimationGroup("Ferris")
  LoadAnimationGroup("FGhost")
  LoadAnimationGroup("FGoblin")
  LoadAnimationGroup("FlagA")
  LoadAnimationGroup("FLbBook")
  LoadAnimationGroup("FlbLader")
  LoadAnimationGroup("FLbPaint")
  LoadAnimationGroup("FLbTable")
  LoadAnimationGroup("FMCntrl")
  LoadAnimationGroup("FMDoor")
  LoadAnimationGroup("FMTrapDr")
  LoadAnimationGroup("FMTrapSw")
  LoadAnimationGroup("FortTell")
  LoadAnimationGroup("funCart")
  LoadAnimationGroup("funCurtn")
  LoadAnimationGroup("funMiner")
  LoadAnimationGroup("funRocks")
  LoadAnimationGroup("FunTeeth")
  LoadAnimationGroup("FXTestG")
  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("GarbCanA")
  LoadAnimationGroup("GatCool")
  LoadAnimationGroup("GEN_SOCIAL")
  LoadAnimationGroup("Gfight")
  LoadAnimationGroup("GhostDrs")
  LoadAnimationGroup("Gift")
  LoadAnimationGroup("Go_Cart")
  LoadAnimationGroup("Grap")
  LoadAnimationGroup("GymHoop")
  LoadAnimationGroup("GymWLad")
  LoadAnimationGroup("G_Grappler")
  LoadAnimationGroup("G_Johnny")
  LoadAnimationGroup("G_Striker")
  LoadAnimationGroup("Halloween")
  LoadAnimationGroup("HallWind")
  LoadAnimationGroup("Hang_Jock")
  LoadAnimationGroup("Hang_Moshing")
  LoadAnimationGroup("Hang_Talking")
  LoadAnimationGroup("Hang_Workout")
  LoadAnimationGroup("Hobos")
  LoadAnimationGroup("Hobo_Cheer")
  LoadAnimationGroup("HSdinger")
  LoadAnimationGroup("HUMIL_4-10_B")
  LoadAnimationGroup("HUMIL_4-10_C")
  LoadAnimationGroup("HUMIL_5-8F_A")
  LoadAnimationGroup("HUMIL_5-8F_B")
  LoadAnimationGroup("HUMIL_5-8V4-10")
  LoadAnimationGroup("HUMIL_5-8V6-1")
  LoadAnimationGroup("HUMIL_5-8VPLY")
  LoadAnimationGroup("HUMIL_5-8_A")
  LoadAnimationGroup("HUMIL_5-8_B")
  LoadAnimationGroup("HUMIL_5-8_C")
  LoadAnimationGroup("HUMIL_6-1V4-10")
  LoadAnimationGroup("HUMIL_6-1V6-1")
  LoadAnimationGroup("HUMIL_6-1VPLY")
  LoadAnimationGroup("HUMIL_6-1_A")
  LoadAnimationGroup("HUMIL_6-1_B")
  LoadAnimationGroup("HUMIL_6-1_C")
  LoadAnimationGroup("HUMIL_6-5V4-10")
  LoadAnimationGroup("HUMIL_6-5V6-1")
  LoadAnimationGroup("HUMIL_6-5VPLY")
  LoadAnimationGroup("HUMIL_6-5_A")
  LoadAnimationGroup("HUMIL_6-5_B")
  LoadAnimationGroup("HUMIL_6-5_C")
  LoadAnimationGroup("IDLE_AUTH_A")
  LoadAnimationGroup("IDLE_AUTH_B")
  LoadAnimationGroup("IDLE_AUTH_C")
  LoadAnimationGroup("IDLE_AUTH_D")
  LoadAnimationGroup("IDLE_BULLY_A")
  LoadAnimationGroup("IDLE_BULLY_B")
  LoadAnimationGroup("IDLE_BULLY_C")
  LoadAnimationGroup("IDLE_BULLY_D")
  LoadAnimationGroup("IDLE_CIVF_A")
  LoadAnimationGroup("IDLE_CIVF_B")
  LoadAnimationGroup("IDLE_CIVF_C")
  LoadAnimationGroup("IDLE_CIVM_A")
  LoadAnimationGroup("IDLE_CIVM_B")
  LoadAnimationGroup("IDLE_CIVM_C")
  LoadAnimationGroup("IDLE_DOUT_A")
  LoadAnimationGroup("IDLE_DOUT_B")
  LoadAnimationGroup("IDLE_DOUT_C")
  LoadAnimationGroup("IDLE_DOUT_D")
  LoadAnimationGroup("IDLE_FATG_A")
  LoadAnimationGroup("IDLE_FATG_B")
  LoadAnimationGroup("IDLE_FATG_C")
  LoadAnimationGroup("IDLE_FAT_A")
  LoadAnimationGroup("IDLE_FAT_B")
  LoadAnimationGroup("IDLE_FAT_C")
  LoadAnimationGroup("IDLE_GREAS_A")
  LoadAnimationGroup("IDLE_GREAS_B")
  LoadAnimationGroup("IDLE_GREAS_C")
  LoadAnimationGroup("IDLE_GREAS_D")
  LoadAnimationGroup("IDLE_GSF_A")
  LoadAnimationGroup("IDLE_GSF_B")
  LoadAnimationGroup("IDLE_GSF_C")
  LoadAnimationGroup("IDLE_GSM_A")
  LoadAnimationGroup("IDLE_GSM_B")
  LoadAnimationGroup("IDLE_GSM_C")
  LoadAnimationGroup("IDLE_JOCK_A")
  LoadAnimationGroup("IDLE_JOCK_B")
  LoadAnimationGroup("IDLE_JOCK_C")
  LoadAnimationGroup("IDLE_JOCK_D")
  LoadAnimationGroup("IDLE_NERD_A")
  LoadAnimationGroup("IDLE_NERD_B")
  LoadAnimationGroup("IDLE_NERD_C")
  LoadAnimationGroup("IDLE_NERD_D")
  LoadAnimationGroup("IDLE_NGIRL")
  LoadAnimationGroup("IDLE_PREP_A")
  LoadAnimationGroup("IDLE_PREP_B")
  LoadAnimationGroup("IDLE_PREP_C")
  LoadAnimationGroup("IDLE_PREP_D")
  LoadAnimationGroup("IDLE_SEXY_A")
  LoadAnimationGroup("IDLE_SEXY_B")
  LoadAnimationGroup("IDLE_SEXY_C")
  LoadAnimationGroup("INDgateC")
  LoadAnimationGroup("JPhoto")
  LoadAnimationGroup("JunkCarA")
  LoadAnimationGroup("JV_Asylum")
  LoadAnimationGroup("J_Damon")
  LoadAnimationGroup("J_Grappler")
  LoadAnimationGroup("J_Melee")
  LoadAnimationGroup("J_Ranged")
  LoadAnimationGroup("J_Striker")
  LoadAnimationGroup("KISS1")
  LoadAnimationGroup("KISS2")
  LoadAnimationGroup("KISS3")
  LoadAnimationGroup("KISS4")
  LoadAnimationGroup("KissAdult")
  LoadAnimationGroup("KISSB")
  LoadAnimationGroup("KISSF")
  LoadAnimationGroup("LckrGymA")
  LoadAnimationGroup("LE_Officer")
  LoadAnimationGroup("LE_Orderly")
  LoadAnimationGroup("Mermaid")
  LoadAnimationGroup("MG_Craps")
  LoadAnimationGroup("MINIBIKE")
  LoadAnimationGroup("MINICHEM")
  LoadAnimationGroup("MINIDARTS")
  LoadAnimationGroup("MINIDunk")
  LoadAnimationGroup("MINIGraf")
  LoadAnimationGroup("MINIHACKY")
  LoadAnimationGroup("MINI_Arm")
  LoadAnimationGroup("MINI_BallToss")
  LoadAnimationGroup("MINI_Lock")
  LoadAnimationGroup("MINI_React")
  LoadAnimationGroup("Miracle")
  LoadAnimationGroup("MOWER")
  LoadAnimationGroup("MPostA")
  LoadAnimationGroup("N2B Dishonerable")
  LoadAnimationGroup("Nemesis")
  LoadAnimationGroup("nerdBar1")
  LoadAnimationGroup("NIS_0_00A")
  LoadAnimationGroup("NIS_1_02")
  LoadAnimationGroup("NIS_1_02B")
  LoadAnimationGroup("NIS_1_03")
  LoadAnimationGroup("NIS_1_04")
  LoadAnimationGroup("NIS_1_05")
  LoadAnimationGroup("NIS_1_07")
  LoadAnimationGroup("NIS_1_08_1")
  LoadAnimationGroup("NIS_1_09")
  LoadAnimationGroup("NIS_1_11")
  LoadAnimationGroup("NIS_2_01")
  LoadAnimationGroup("NIS_2_03")
  LoadAnimationGroup("NIS_2_04")
  LoadAnimationGroup("NIS_2_06_1")
  LoadAnimationGroup("NIS_2_B")
  LoadAnimationGroup("NIS_2_S04")
  LoadAnimationGroup("NIS_3_01")
  LoadAnimationGroup("NIS_3_02")
  LoadAnimationGroup("NIS_3_04")
  LoadAnimationGroup("NIS_3_05")
  LoadAnimationGroup("NIS_3_06")
  LoadAnimationGroup("NIS_3_08")
  LoadAnimationGroup("NIS_3_11")
  LoadAnimationGroup("NIS_3_B")
  LoadAnimationGroup("NIS_3_G3")
  LoadAnimationGroup("NIS_3_R09_D")
  LoadAnimationGroup("NIS_3_R09_G")
  LoadAnimationGroup("NIS_3_R09_J")
  LoadAnimationGroup("NIS_3_R09_N")
  LoadAnimationGroup("NIS_3_R09_P")
  LoadAnimationGroup("NIS_3_S03")
  LoadAnimationGroup("NIS_3_S03_B")
  LoadAnimationGroup("NIS_3_S11")
  LoadAnimationGroup("NIS_4_01")
  LoadAnimationGroup("NIS_4_05")
  LoadAnimationGroup("NIS_4_06")
  LoadAnimationGroup("NIS_4_B2")
  LoadAnimationGroup("NIS_5_01")
  LoadAnimationGroup("NIS_5_02")
  LoadAnimationGroup("NIS_5_03")
  LoadAnimationGroup("NIS_5_04")
  LoadAnimationGroup("NIS_5_05")
  LoadAnimationGroup("NIS_5_07")
  LoadAnimationGroup("NIS_5_G5")
  LoadAnimationGroup("NIS_6_02")
  LoadAnimationGroup("NIS_6_03")
  LoadAnimationGroup("NLock01A")
  LoadAnimationGroup("NPC_Adult")
  LoadAnimationGroup("NPC_AggroTaunt")
  LoadAnimationGroup("NPC_Chat_1")
  LoadAnimationGroup("NPC_Chat_2")
  LoadAnimationGroup("NPC_Chat_F")
  LoadAnimationGroup("NPC_Cheering")
  LoadAnimationGroup("NPC_Love")
  LoadAnimationGroup("NPC_Mascot")
  LoadAnimationGroup("NPC_NeedsResolving")
  LoadAnimationGroup("NPC_Principal")
  LoadAnimationGroup("NPC_Shopping")
  LoadAnimationGroup("NPC_Spectator")
  LoadAnimationGroup("N_Ranged")
  LoadAnimationGroup("N_Striker")
  LoadAnimationGroup("N_Striker_A")
  LoadAnimationGroup("N_Striker_B")
  LoadAnimationGroup("ObsDoor")
  LoadAnimationGroup("OBSMotor")
  LoadAnimationGroup("ObsPtf_1")
  LoadAnimationGroup("ObsPtf_2")
  LoadAnimationGroup("Pageant")
  LoadAnimationGroup("PedCoaster")
  LoadAnimationGroup("Player_Tired")
  LoadAnimationGroup("Player_VTired")
  LoadAnimationGroup("POI_Booktease")
  LoadAnimationGroup("POI_Cafeteria")
  LoadAnimationGroup("POI_ChLead")
  LoadAnimationGroup("POI_Gen")
  LoadAnimationGroup("POI_Smoking")
  LoadAnimationGroup("POI_Telloff")
  LoadAnimationGroup("POI_WarmHands")
  LoadAnimationGroup("POI_Worker")
  LoadAnimationGroup("PortaPoo")
  LoadAnimationGroup("PrepDoor")
  LoadAnimationGroup("PunchBag")
  LoadAnimationGroup("pxHoop")
  LoadAnimationGroup("pxLad10M")
  LoadAnimationGroup("Px_Arcade")
  LoadAnimationGroup("Px_Bed")
  LoadAnimationGroup("Px_Fountain")
  LoadAnimationGroup("Px_Garb")
  LoadAnimationGroup("Px_Gen")
  LoadAnimationGroup("Px_Ladr")
  LoadAnimationGroup("Px_Rail")
  LoadAnimationGroup("Px_RedButton")
  LoadAnimationGroup("Px_Sink")
  LoadAnimationGroup("Px_Tlet")
  LoadAnimationGroup("Px_Tree")
  LoadAnimationGroup("P_Grappler")
  LoadAnimationGroup("P_Striker")
  LoadAnimationGroup("QPed")
  LoadAnimationGroup("RAT_PED")
  LoadAnimationGroup("Reeper")
  LoadAnimationGroup("RMailbox")
  LoadAnimationGroup("Russell")
  LoadAnimationGroup("Russell_PBomb")
  LoadAnimationGroup("Santa_Lap")
  LoadAnimationGroup("SAUTH_A")
  LoadAnimationGroup("SAUTH_F")
  LoadAnimationGroup("SAUTH_U")
  LoadAnimationGroup("SAUTH_X")
  LoadAnimationGroup("SBarels1")
  LoadAnimationGroup("SBULL_A")
  LoadAnimationGroup("SBULL_F")
  LoadAnimationGroup("SBULL_S")
  LoadAnimationGroup("SBULL_U")
  LoadAnimationGroup("SBULL_X")
  LoadAnimationGroup("Scaffold")
  LoadAnimationGroup("SCbanpil")
  LoadAnimationGroup("SCBell")
  LoadAnimationGroup("SCDoor")
  LoadAnimationGroup("ScGate")
  LoadAnimationGroup("SCgrdoor")
  LoadAnimationGroup("scObsDr")
  LoadAnimationGroup("ScoolBus")
  LoadAnimationGroup("SCOOTER")
  LoadAnimationGroup("SecDoorL")
  LoadAnimationGroup("SecDoorR")
  LoadAnimationGroup("Sedan")
  LoadAnimationGroup("SFAT_A")
  LoadAnimationGroup("SFAT_F")
  LoadAnimationGroup("SFAT_I")
  LoadAnimationGroup("SFAT_S")
  LoadAnimationGroup("SGEN_A")
  LoadAnimationGroup("SGEN_F")
  LoadAnimationGroup("SGEN_I")
  LoadAnimationGroup("SGEN_S")
  LoadAnimationGroup("SGIRLS")
  LoadAnimationGroup("SGIRL_A")
  LoadAnimationGroup("SGIRL_D")
  LoadAnimationGroup("SGIRL_F")
  LoadAnimationGroup("SGIRL_S")
  LoadAnimationGroup("SGTargB")
  LoadAnimationGroup("ShopBike")
  LoadAnimationGroup("SHUMIL_01")
  LoadAnimationGroup("SHWR")
  LoadAnimationGroup("SIAMESE")
  LoadAnimationGroup("Siamese2")
  LoadAnimationGroup("Sitting_Boys")
  LoadAnimationGroup("SK8Board")
  LoadAnimationGroup("Skateboard")
  LoadAnimationGroup("SkeltonMan")
  LoadAnimationGroup("Slingsh")
  LoadAnimationGroup("SNERD_A")
  LoadAnimationGroup("SNERD_F")
  LoadAnimationGroup("SNERD_I")
  LoadAnimationGroup("SNERD_S")
  LoadAnimationGroup("SNGIRLS")
  LoadAnimationGroup("SNGIRL_D")
  LoadAnimationGroup("SNGIRL_F")
  LoadAnimationGroup("SnowBlob")
  LoadAnimationGroup("SnowMND")
  LoadAnimationGroup("SnowWall")
  LoadAnimationGroup("SOLD_A")
  LoadAnimationGroup("SOLD_F")
  LoadAnimationGroup("SOLD_I")
  LoadAnimationGroup("SOLD_S")
  LoadAnimationGroup("SPLAY_A")
  LoadAnimationGroup("SPLAY_B")
  LoadAnimationGroup("SprayCan")
  LoadAnimationGroup("SpudG")
  LoadAnimationGroup("Squid")
  LoadAnimationGroup("StalDoor")
  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("SUV")
  LoadAnimationGroup("TadGates")
  LoadAnimationGroup("TadShud")
  LoadAnimationGroup("TE_Female")
  LoadAnimationGroup("TGKFlag")
  LoadAnimationGroup("ToolBox")
  LoadAnimationGroup("TrackSW")
  LoadAnimationGroup("TreeFall")
  LoadAnimationGroup("Truck")
  LoadAnimationGroup("Try_Clothes")
  LoadAnimationGroup("TSGate")
  LoadAnimationGroup("UBO")
  LoadAnimationGroup("Umbrella")
  LoadAnimationGroup("VDMilo")
  LoadAnimationGroup("VFlytrap")
  LoadAnimationGroup("V_Bike")
  LoadAnimationGroup("V_Bike_Races")
  LoadAnimationGroup("V_COPBIKE")
  LoadAnimationGroup("V_SCOOTER")
  LoadAnimationGroup("WBalloon")
  LoadAnimationGroup("WeaponUnlock")
  LoadAnimationGroup("Ween_Fem")
  LoadAnimationGroup("WHCrane")
  LoadAnimationGroup("WheelBrl")
  LoadAnimationGroup("WPCannon")
  LoadAnimationGroup("WPSheldB")
  LoadAnimationGroup("WPShield")
  LoadAnimationGroup("WPTurret")
  LoadAnimationGroup("W_BBall")
  LoadAnimationGroup("W_BBallBat")
  LoadAnimationGroup("W_BRocket")
  LoadAnimationGroup("W_Camera")
  LoadAnimationGroup("W_CherryBomb")
  LoadAnimationGroup("W_CHShield")
  LoadAnimationGroup("W_FlashLight")
  LoadAnimationGroup("W_Fountain")
  LoadAnimationGroup("W_Itchpowder")
  LoadAnimationGroup("W_JBroom")
  LoadAnimationGroup("W_Lid")
  LoadAnimationGroup("W_PooBag")
  LoadAnimationGroup("W_PRANK")
  LoadAnimationGroup("W_Slingshot")
  LoadAnimationGroup("W_Snowball")
  LoadAnimationGroup("W_snowshwl")
  LoadAnimationGroup("W_SprayCan")
  LoadAnimationGroup("W_SpudGun")
  LoadAnimationGroup("W_Stick")
  LoadAnimationGroup("W_Thrown")
  LoadAnimationGroup("W_wtrpipe")
  LoadAnimationGroup("x_cas1")
  LoadAnimationGroup("x_cas2")
  LoadAnimationGroup("x_cas3")
  LoadAnimationGroup("x_ccane")
  LoadAnimationGroup("X_Chair")
  LoadAnimationGroup("x_cndl")
  LoadAnimationGroup("x_sleigh")
  LoadAnimationGroup("x_tedy")
end
 -- In most cases, you can ignore everything below here
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