Altamurenza

Bully SE: Jimmy Beta Fighting Style

Apr 25th, 2021 (edited)
1,480
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.34 KB | None | 0 0
  1. -- JIMMY BETA FIGHTING STYLE ( SOURCE CODE )
  2. -- AUTHOR   : ALTAMURENZA
  3.  
  4.  
  5. -- SHARED ENVIRONMENTS
  6.  
  7. shared.JamesBETA = {
  8.     Style = "Nemesis", Timer = GetTimer(), Combo = 1, Hold = GetTimer(), Speed = GameGetPedStat(gPlayer, 20),
  9.     Combo = {1, GetTimer(), GetTimer()}, Movement = {false, 0, GetTimer(), GetTimer()},
  10. }
  11.  
  12. -- MAIN FUNCTION
  13.  
  14. function main()
  15.     -- SYSTEM WAIT
  16.     while not SystemIsReady() or AreaIsLoading() do
  17.         Wait(0)
  18.     end
  19.    
  20.     -- REQUIRED ANIMATION GROUP
  21.     local REQUIRED_ANIM = {
  22.         "Authority","Boxing","Russell","Nemesis","B_Striker","CV_Female","CV_Male","DO_Edgar","DO_Grap","DO_StrikeCombo",
  23.         "DO_Striker","F_Adult","F_BULLY","F_Douts","F_Girls","F_Greas","F_Jocks","F_Nerds","F_OldPeds","F_Pref","F_Preps",
  24.         "G_Grappler","G_Johnny","G_Striker","Grap","J_Damon","J_Grappler","J_Melee","J_Ranged","J_Striker","LE_Orderly","N_Ranged",
  25.         "N_Striker","N_Striker_A","N_Striker_B","P_Grappler","P_Striker","PunchBag","Qped","Rat_Ped","Russell_Pbomb","Straf_Dout",
  26.         "Straf_Fat","Straf_Female","Straf_Male","Straf_Nerd","Straf_Prep","Straf_Savage","Straf_Wrest","TE_Female","MINI_React",
  27.     }
  28.     for I, V in ipairs(REQUIRED_ANIM) do
  29.         if HasAnimGroupLoaded(V) == false then
  30.             LoadAnimationGroup(V)
  31.         end
  32.     end
  33.    
  34.     -- NEMESIS STYLE
  35.     PedSetActionTree(gPlayer, "/Global/Nemesis", "Act/Anim/Nemesis.act")
  36.    
  37.     -- THREAD
  38.     shared.JamesBETA_Thread = {
  39.         [1] = CreateThread("SET_COMBO"),
  40.         [2] = CreateThread("SET_MOVEMENT"),
  41.     }
  42.    
  43.     -- MAIN LOOP
  44.     while true do
  45.         Wait(0)
  46.        
  47.         if IsButtonPressed(7, 0) and shared.JamesBETA.Combo[1] == 1 and PedHasWeapon(gPlayer, -1) and PedMePlaying(gPlayer, "DEFAULT_KEY") and GetStickValue(17, 0) < 0.08 then
  48.             PedSetActionNode(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/JAB", "Act/Anim/Nemesis.act")
  49.            
  50.             while PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/JAB", true) do
  51.                 if PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/JAB/HeavyAttacks/SuperUppercut", true) then
  52.                     PlayerStopAllActionControllers()
  53.                     break
  54.                 end
  55.                
  56.                 Wait(0)
  57.             end
  58.             shared.JamesBETA.Combo[1] = 2
  59.         elseif IsButtonBeingPressed(6, 0) and shared.JamesBETA.Combo[1] == 2 then
  60.             PedSetActionNode(gPlayer, "/Global/Player/Attacks/GroundAttacks/GroundAttacks/Strikes/HeavyAttacks/GroundKick", "act/anim/Player.act")
  61.             shared.JamesBETA.Combo[1] = 1
  62.         elseif IsButtonBeingPressed(7, 0) and shared.JamesBETA.Combo[1] == 2 then
  63.             PedSetActionNode(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/LeftHook/RightCross", "Act/Anim/Nemesis.act")
  64.            
  65.             while PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/LeftHook/RightCross", true) do
  66.                 if PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/LeftHook/RightCross/HeavyAttacks", true) then
  67.                     PlayerStopAllActionControllers()
  68.                     break
  69.                 end
  70.                
  71.                 Wait(0)
  72.             end
  73.             shared.JamesBETA.Combo[1] = 3
  74.         elseif IsButtonPressed(6, 0) and shared.JamesBETA.Combo[1] == 3 then
  75.             PedSetActionNode(gPlayer, "/Global/Player/Attacks/Strikes/LightAttacks/Left1/Right2/Release/Unblockable/LegKickReleaseMax", "Act/Anim/Player.act")
  76.             shared.JamesBETA.Combo[1] = 1
  77.         elseif IsButtonBeingPressed(7, 0) and shared.JamesBETA.Combo[1] == 3 then
  78.             PedSetActionNode(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/LeftHook", "Act/Anim/Nemesis.act")
  79.            
  80.             while PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/LeftHook", true) do
  81.                 if PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/LeftHook/RightCross", true) then
  82.                     PlayerStopAllActionControllers()
  83.                     break
  84.                 end
  85.                
  86.                 Wait(0)
  87.             end
  88.             shared.JamesBETA.Combo[1] = 4
  89.         elseif IsButtonBeingPressed(6, 0) and shared.JamesBETA.Combo[1] == 4 then
  90.             PedSetActionNode(gPlayer, "/Global/Actions/RisingAttacks/HeavyAttacks/RisingAttacks", "Globals/G_Striker_A.act")
  91.             shared.JamesBETA.Combo[1] = 1
  92.         elseif IsButtonBeingPressed(7,0) and shared.JamesBETA.Combo[1] == 4 then
  93.             PedSetActionNode(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/JAB/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
  94.            
  95.             while PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/JAB/HeavyAttacks/SuperUppercut", true) do
  96.                 if PedIsPlaying(gPlayer, "/Global/Nemesis/Offense/Short/Strikes/LightAttacks/JAB/HeavyAttacks/SuperUppercut/Knee", true) then
  97.                     PlayerStopAllActionControllers()
  98.                     break
  99.                 end
  100.                
  101.                 Wait(0)
  102.             end
  103.             shared.JamesBETA.Combo[1] = 5
  104.         elseif IsButtonBeingPressed(6, 0) and shared.JamesBETA.Combo[1] == 5 then
  105.             PedSetActionNode(gPlayer, "/Global/Nemesis/Offense/Medium/Strikes/HeavyAttacks/JackieKick", "Act/Anim/Nemesis.act")
  106.             shared.JamesBETA.Combo[1] = 1
  107.         elseif IsButtonBeingPressed(7, 0) and shared.JamesBETA.Combo[1] == 5 then
  108.             PedSetActionNode(gPlayer, "/Global/Player/Attacks/Strikes/LightAttacks/Left1/Right2/Left3/Right4/Left5/Release/UpperCut", "act/anim/Player.act")
  109.             shared.JamesBETA.Combo[1] = 1
  110.         end
  111.     end
  112. end
  113.  
  114. -- PLAYER MOVEMENT
  115.  
  116. SET_MOVEMENT = function()
  117.     while true do
  118.         Wait(0)
  119.        
  120.         local TARGET = PedGetTargetPed(gPlayer)
  121.        
  122.         if PedHasWeapon(gPlayer, -1) then
  123.             if IsButtonBeingPressed(7, 0) then
  124.                 shared.JamesBETA.Movement[2], shared.JamesBETA.Movement[4] = shared.JamesBETA.Movement[2] + 1, GetTimer()
  125.             elseif GetTimer() >= shared.JamesBETA.Movement[4] + 300 then
  126.                 shared.JamesBETA.Movement[2] = 0
  127.             end
  128.            
  129.             if IsButtonBeingReleased(7, 0) then
  130.                 shared.JamesBETA.Movement[3] = GetTimer()
  131.             end
  132.            
  133.             local IS_FREE = function(PED, STYLE)
  134.                 return PedIsPlaying(PED, "/Global/Player/Default_KEY",true) or PedIsPlaying(PED, "/Global/"..STYLE.."/Default_KEY", true) or
  135.                     PedIsPlaying(PED, "/Global/"..STYLE.."/Default_KEY/ExecuteNodes/Free/WalkBasic", true) or
  136.                     PedIsPlaying(PED, "/Global/"..STYLE.."/Default_KEY/ExecuteNodes/Free/RunBasic", true) or
  137.                     PedIsPlaying(PED, "/Global/"..STYLE.."/Default_KEY/ExecuteNodes/Free/SprintBasic", true)
  138.             end
  139.            
  140.             if IS_FREE(gPlayer, shared.JamesBETA.Style) and not PedGetFlag(gPlayer, 2, true) and not PlayerIsInAnyVehicle() then
  141.                 local S = 0.1
  142.                 if S <= math.abs(GetStickValue(16, 0)) + math.abs(GetStickValue(17, 0)) and not IsButtonPressed(10, 0) then
  143.                     shared.JamesBETA.Movement[1] = true
  144.                     PedSetActionNode(gPlayer, "/Global/"..shared.JamesBETA.Style.."/Default_KEY/ExecuteNodes/Free/"..(shared.JamesBETA.Movement[2] > 1 and "SprintBasic" or ((IsButtonPressed(7, 0) or GetTimer() < shared.JamesBETA.Movement[3] + 200) and "RunBasic" or "WalkBasic")), "Act/Anim/"..shared.JamesBETA.Style..".act")
  145.                    
  146.                     if IsButtonBeingPressed(8, 0) then
  147.                         PedSetActionNode(gPlayer,"/Global/Player/JumpActions/Jump", "Act/Anim/Player.act")
  148.                     end
  149.                    
  150.                     if IsButtonBeingPressed(9, 0) and PedIsValid(PedGetTargetPed(gPlayer)) then
  151.                         PedSetActionNode(gPlayer, "/Global/Actions/Grapples/RunningTakedown", "Act/Globals.act")
  152.                     end
  153.                    
  154.                     if IsButtonBeingPressed(6, 0) and PedIsPlaying(gPlayer, "/Global/"..shared.JamesBETA.Style.."/Default_KEY/ExecuteNodes/Free/RunBasic", true) then
  155.                         PedSetActionNode(gPlayer, "/Global/Actions/Offense/RunningAttacks/RunningAttacksDirect", "Act/Globals.act")
  156.                     elseif IsButtonBeingPressed(6, 0) and PedIsPlaying(gPlayer, "/Global/"..shared.JamesBETA.Style.."/Default_KEY/ExecuteNodes/Free/SprintBasic", true) then
  157.                         PedSetActionNode(gPlayer, "/Global/Player/Attacks/Strikes/RunningAttacks/HeavyAttacks/RunShoulder", "Act/Player.act")
  158.                     end
  159.                    
  160.                     if PedIsValid(TARGET) and IsButtonPressed(10, 0) then
  161.                         if PedIsPlaying(gPlayer, "/Global/"..shared.JamesBETA.Style.."/Default_KEY/ExecuteNodes/Free/WalkBasic", true) then
  162.                             local TX, TY, TZ = PedGetPosXYZ(TARGET)
  163.                             PedFaceXYZ(gPlayer, TX, TY, TZ)
  164.                         end
  165.                     end
  166.                 elseif shared.JamesBETA.Movement[1] then
  167.                     shared.JamesBETA.Movement[1] = false
  168.                     PedSetActionNode(gPlayer, "/Global/Nemesis", "Act/Anim/Nemesis.act")
  169.                 end
  170.             end
  171.         end
  172.     end
  173. end
  174.  
  175. -- PLAYER MONITOR
  176.  
  177. SET_COMBO = function()
  178.     while true do
  179.         Wait(0)
  180.        
  181.         CURRENT_COMBO, RESET = shared.JamesBETA.Combo[1], false
  182.        
  183.         repeat
  184.             if shared.JamesBETA.Combo[2] + 350 < GetTimer() then
  185.                 RESET = true
  186.             end
  187.            
  188.             Wait(0)
  189.         until shared.JamesBETA.Combo[1] ~= CURRENT_COMBO or RESET
  190.         if RESET then
  191.             shared.JamesBETA.Combo[1] = 1
  192.         end
  193.        
  194.         shared.JamesBETA.Combo[2] = GetTimer()
  195.     end
  196. end
Add Comment
Please, Sign In to add comment