Bully-Board

Bully Modding Section => Modding Questions/Help => Modding Questions/Help Archives => Topic started by: Screenracer on March 24, 2014, 05:38:38 PM

Title: How do Action Nodes Work?
Post by: Screenracer on March 24, 2014, 05:38:38 PM
Im kind of scared that someone will get angry because I posted multiple topics in the run of a day but anyways.

I want to combine some of Gary's boss style, Johnny's boss style and Jimmy's default style and found out that this is done with something called "Action Nodes". I found out they are in act.img and I extracted 2 files from it. "Nemesis.cat" and "g_johnny.cat".

I now want to combine Johnny's haymaker and his badass kick where he spits on the victim with Gary's 2 strong strike punches but I have no clue how action nodes work and found no help from google.
Title: Re: How do Action Nodes Work?
Post by: WhenLifeGivesYouLemons on March 24, 2014, 06:44:53 PM
This topic would probably explain more or less how Action Nodes work in Lua

http://www.bully-board.com/index.php?topic=20446.0 (http://www.bully-board.com/index.php?topic=20446.0)
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 24, 2014, 08:23:08 PM
This topic would probably explain more or less how Action Nodes work in Lua

http://www.bully-board.com/index.php?topic=20446.0 (http://www.bully-board.com/index.php?topic=20446.0)

How do I find out what Johnny's haymaker is called? :ohmy:
Title: Re: How do Action Nodes Work?
Post by: c00ld0c26 on March 25, 2014, 02:10:53 AM
This topic would probably explain more or less how Action Nodes work in Lua

http://www.bully-board.com/index.php?topic=20446.0 (http://www.bully-board.com/index.php?topic=20446.0)

How do I find out what Johnny's haymaker is called? :ohmy:

HxD the 2 files you extracted and keep trying.
An action node usually looks like this :

Path/actionnode

Example(not a real action node) :
Anim/heavy/grapple/bearhug
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 25, 2014, 03:01:47 PM
Whats wrong with this code?

And can someone tell me another freeroam script besides Stimecycle?

MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  PedSetTypeToTypeAttitude(2, 13, 2)
  PedSetTypeToTypeAttitude(1, 13, 2)
  PedSetTypeToTypeAttitude(4, 13, 2)
  PedSetTypeToTypeAttitude(5, 13, 2)
  PedSetTypeToTypeAttitude(6, 13, 2)
  PedSetTypeToTypeAttitude(11, 13, 2)
end

TL_Buttons = function()
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end
   
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end

I go in game then press button 15 on my controller (according to the thread above its press down on right analog) and nothing happens.
Title: Re: How do Action Nodes Work?
Post by: c00ld0c26 on March 25, 2014, 06:28:01 PM
You need to repeat the TL button function in the Main function as shown here :

main = function
repeat
FUNCTION HERE
Wait(0)
until not Alive
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 25, 2014, 07:53:54 PM
You need to repeat the TL button function in the Main function as shown here :

main = function
repeat
FUNCTION HERE
Wait(0)
until not Alive


MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
PedSetTypeToTypeAttitude(0, 13, 2)
PedSetTypeToTypeAttitude(1, 13, 2)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 2)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 2)
end

TL_Buttons = function()
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end

main = function
repeat
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
Wait(0)
until not Alive
   
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end

This right? When I tried compiling it I got this in CMD:

luac: fs.lua:39: '<' expected near 'repeat'

I suck at this. :unsure:
Title: Re: How do Action Nodes Work?
Post by: WhenLifeGivesYouLemons on March 26, 2014, 06:58:12 PM
You need to repeat the TL button function in the Main function as shown here :

main = function
repeat
FUNCTION HERE
Wait(0)
until not Alive


MissionSetup = function() <-----------------------------------------------------------------
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
PedSetTypeToTypeAttitude(0, 13, 2)
PedSetTypeToTypeAttitude(1, 13, 2)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 2)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 2)
end

TL_Buttons = function()  <-----------------------------------------------------------------------------------------------
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end

main = function <---------------------------------------------------- Missing ()
repeat
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
Wait(0)
until not Alive
   
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end

This right? When I tried compiling it I got this in CMD:

luac: fs.lua:39: '<' expected near 'repeat'

I suck at this. :unsure:
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 26, 2014, 07:18:58 PM
Got this when I tried to compile.

"luac: fs.lua:54: 'end' expected <to close 'if' at line 46> near 'until'

MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
end

TL_Buttons = function()
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end

main = function()
repeat
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
Wait(0)
until not Alive
   end
 
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end
Title: Re: How do Action Nodes Work?
Post by: WhenLifeGivesYouLemons on March 26, 2014, 07:47:05 PM
Lua tells you what line you fault at :P just scroll down the numbers in notepad++

main = function()
repeat
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
Wait(0)
until not Alive
   end
->end<-

Just add another "end"
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 26, 2014, 07:55:05 PM
Lua tells you what line you fault at :P just scroll down the numbers in notepad++

main = function()
repeat
        if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
                 Wait(1000)
Wait(0)
until not Alive
   end
->end<-


Just add another "end"

Same error. ?.?
Title: Re: How do Action Nodes Work?
Post by: Reath on March 26, 2014, 10:38:07 PM
Did you put the "end" between those two waits? You need to end the "if" before you get to the "until".
Code: [Select]
main = function()
repeat
 if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
 Wait(1000)
end 
Wait(0)
until not Alive
 end
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 08:32:29 AM
Did you put the "end" between those two waits? You need to end the "if" before you get to the "until".
Code: [Select]
main = function()
repeat
 if IsButtonPressed(15, 1) and IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(12, 0) then
          PedSetActionNode(gPlayer, "/ThroatGrab/ThroatGrab_Gv", "Act/g_johnny")
 Wait(1000)
end 
Wait(0)
until not Alive
 end

That worked. Im now inserting it into scripts.img and waiting for it to give me another error. :L
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 08:48:19 AM
When I press button 15 on controller 1 (the right analog stick) Jimmy crouches and nothing happens. :S
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 10:39:00 AM
Try " if IsButtonPressed(2, 1) then " (zoom in)
and " elseif IsButtonPressed(14, 0) then "  (look back)
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 10:56:03 AM
Try " if IsButtonPressed(2, 1) then " (zoom in)
and " elseif IsButtonPressed(14, 0) then "  (look back)

Wont compile. With this error:

"luac: fs.lua:54: 'until' expected <to close 'repeat' at line 53> near 'elseif'"


GlobalImportScript("SObjTest.lua")
ImportScript("Library/LibTable.lua")
ImportScript("SZone.lua")
ImportScript("2_B.lua")

  l_0_0 = 60
 
MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  LoadAnimationGroup("G_Johnny")
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
end

TL_Buttons = function()
        if IsButtonPressed(2, 1) then if IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) then if IsButtonPressed(2, 1) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end

main = function()
repeat
        elseif IsButtonPressed(14, 0) then if IsButtonPressed(2, 1) then
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(14, 0) then if IsButtonPressed(2, 1) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny")
                 Wait(1000)
             end
Wait(0)
until not Alive

   end
 
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 11:09:10 AM
How about this?
Code: [Select]
GlobalImportScript("SObjTest.lua")
ImportScript("Library/LibTable.lua")
ImportScript("SZone.lua")
ImportScript("2_B.lua")

  l_0_0 = 60
 
MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  LoadAnimationGroup("G_Johnny")
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
end

TL_Buttons = function()
        if IsButtonPressed(2, 1) and IsButtonPressed(2, 1) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(7, 0) and IsButtonPressed(2, 1) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end

main = function()
repeat
TL_Buttons()  --just put everything you want to repeat in your TL_Buttons function
Wait(0)
until not Alive

   end
 
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end
You can put -code] before your script and -/code] after it, so it won't be messy. Replace the dash with [
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 11:13:04 AM
That compiled, waiting for another error... :/
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 11:15:54 AM
I go ingame, press the look behind button and nothing happens.
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 11:20:29 AM
This IsButtonBeingPressed(14,0) is the look behind one.

And just replace "IsButtonPressed(2, 1) and IsButtonPressed(2, 1)" with IsButtonBeingPressed(2,0)
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 11:28:28 AM
That worked. But when I use it, Jimmy does the T pose as well as the victim and the victim goes flying in the t pose. How do I fix this? :O
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 11:34:00 AM
That usually happens if the animation for it hasn't loaded. You had LoadAnimationGroup("G_Johnny"). So I don't know.

Ah! I see.
PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny")
Maybe you just forgot to put .act where you load the node.
Try this
PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 11:37:15 AM
Same thing happens.

Also, heres a video of the error for anyone who has no idea what im talking about.

https://www.youtube.com/watch?v=s18gJfrdV1Y (https://www.youtube.com/watch?v=s18gJfrdV1Y)
Title: Re: How do Action Nodes Work?
Post by: WhenLifeGivesYouLemons on March 27, 2014, 11:41:06 AM
Try " if IsButtonPressed(2, 1) then " (zoom in)
and " elseif IsButtonPressed(14, 0) then "  (look back)
the 1 in (2, 1) is for the second controller

Use (2, 0)
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 11:43:14 AM
Well, if the node is loading the .act, and you have the right LoadAnimation, I don't know.
I know it works for me, the only difference being johnny spawns and with his boss style, which might load whatever animation you need into the game.

@Lemon
I didn't notice the 1.. What is that for anyways? Controller?
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 11:44:31 AM
Well, if the node is loading the .act, and you have the right LoadAnimation, I don't know.
I know it works for me, the only difference being johnny spawns and with his boss style, which might load whatever animation you need into the game.

@Lemon
I didn't notice the 1.. What is that for anyways? Controller?

Im going to try to use LoadAnimation("G_Johnny") in STimeCycle. Would that work?
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 11:45:09 AM
It should work.
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 11:59:42 AM
The button dosnt work all of a sudden. What button is 2,0? and 1,0?

And what buttons are 14,0 and 15,0?

The button probly dosnt work because of what I added to the script. Right?

GlobalImportScript("SObjTest.lua")
ImportScript("Library/LibTable.lua")
ImportScript("SZone.lua")
ImportScript("2_B.lua")

  l_0_0 = 60
 
MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  LoadAnimationGroup("G_Johnny")
  LoadAnimationGroup("Nemesis")
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
PedSetPedToTypeAttitude(Gary, 13, 0)
PedSetPedToTypeAttitude(Gary, 1, 1)
PedSetPedToTypeAttitude(Gary, 2, 1)
PedSetPedToTypeAttitude(Gary, 3, 1)
PedSetPedToTypeAttitude(Gary, 4, 1)
PedSetPedToTypeAttitude(Gary, 5, 1)
PedSetPedToTypeAttitude(Gary, 6, 1)
PedSetPedToTypeAttitude(Gary, 7, 1)
PedSetPedToTypeAttitude(Gary, 8, 1)
PedSetPedToTypeAttitude(Gary, 9, 1)
PedSetPedToTypeAttitude(Gary, 10, 1)
PedSetPedToTypeAttitude(Gary, 11, 1)
PedSetPedToTypeAttitude(Gary, 12, 1)
end

TL_Buttons = function()
        if IsButtonPressed(2, 0) and IsButtonPressed(2, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(14, 0) and IsButtonPressed(14, 0) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
                 Wait(1000)
    end
end

TL_Buttons = function()
        if IsButtonPressed(1, 0) and IsButtonPressed(1, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(15, 0) and IsButtonPressed(15, 0) then
          PedSetActionNode(gPlayer, "/Global/Nemesis/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end

main = function()
repeat
TL_Buttons()  --just put everything you want to repeat in your TL_Buttons function
Wait(0)
until not Alive

   end
 
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 12:02:26 PM
The button dosnt work all of a sudden. What button is 2,0? and 1,0?

And what buttons are 14,0 and 15,0?
14 should be look back.
15? Crouch I guess.

3 should be zoom out.
2 should be zoom in.
1 should be the right arrow, the one you use for checking what missions there are.
0 should be the left one, for checking classes.
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 12:07:00 PM
Code: [Select]
GlobalImportScript("SObjTest.lua")
ImportScript("Library/LibTable.lua")
ImportScript("SZone.lua")
ImportScript("2_B.lua")

  l_0_0 = 60
 
MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  LoadAnimationGroup("G_Johnny")
  LoadAnimationGroup("Nemesis")
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
PedSetPedToTypeAttitude(Gary, 13, 0)
PedSetPedToTypeAttitude(Gary, 1, 1)
PedSetPedToTypeAttitude(Gary, 2, 1)
PedSetPedToTypeAttitude(Gary, 3, 1)
PedSetPedToTypeAttitude(Gary, 4, 1)
PedSetPedToTypeAttitude(Gary, 5, 1)
PedSetPedToTypeAttitude(Gary, 6, 1)
PedSetPedToTypeAttitude(Gary, 7, 1)
PedSetPedToTypeAttitude(Gary, 8, 1)
PedSetPedToTypeAttitude(Gary, 9, 1)
PedSetPedToTypeAttitude(Gary, 10, 1)
PedSetPedToTypeAttitude(Gary, 11, 1)
PedSetPedToTypeAttitude(Gary, 12, 1)
end

TL_Buttons = function()
        if IsButtonPressed(2, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(14, 0) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
                 Wait(1000)
    end
end

TL_Buttons = function()
        if IsButtonPressed(1, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(15, 0) then
          PedSetActionNode(gPlayer, "/Global/Nemesis/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
      Wait(0)
   end
end

--[[
main = function()
repeat
TL_Buttons()  --just put everything you want to repeat in your TL_Buttons function
Wait(0)
until not Alive

   end
 
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end
--]]
Don't name two functions with the same name. I fixed some of it up for you and commented out the extra main.
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 12:15:53 PM
Button still wont work. For either TL buttons function. I tried my gamepad and my keyboard and neither work.
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 12:17:44 PM
Did you rename one of the tl buttons? If they have the same name it won't work.  Make sure they both load. Or just add them together with and change any extra "if"s to elseif
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 12:19:19 PM
Did you rename one of the tl buttons? If they have the same name it won't work.  Make sure they both load. Or just add them together with and change any extra "if"s to elseif

So instead of this:

TL_Buttons = function()
        if IsButtonPressed(2, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(14, 0) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
                 Wait(1000)
    end
end

TL_Buttons = function()
        if IsButtonPressed(1, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(15, 0) then
          PedSetActionNode(gPlayer, "/Global/Nemesis/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
                 Wait(1000)
    end
end

It would be this?

TL_Buttons = function()
        if IsButtonPressed(2, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(14, 0) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
                 Wait(1000)
    end
end

TL_Buttons2 = function()
        if IsButtonPressed(1, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(15, 0) then
          PedSetActionNode(gPlayer, "/Global/Nemesis/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
                 Wait(1000)
    end
end
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 12:23:13 PM
Yes. Just make sure to put TL_Buttons2() with the TL_Buttons() so it will repeat.
Put your scripts inside ['code] tags when you post. It's easier to read. [/'code]
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 12:33:14 PM
Still none of the buttons work.

Code: [Select]
GlobalImportScript("SObjTest.lua")
ImportScript("Library/LibTable.lua")
ImportScript("SZone.lua")
ImportScript("2_B.lua")

  l_0_0 = 60
 
MissionSetup = function()
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  LoadAnimationGroup("G_Johnny")
  LoadAnimationGroup("Nemesis")
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
PedSetPedToTypeAttitude(Gary, 13, 0)
PedSetPedToTypeAttitude(Gary, 1, 1)
PedSetPedToTypeAttitude(Gary, 2, 1)
PedSetPedToTypeAttitude(Gary, 3, 1)
PedSetPedToTypeAttitude(Gary, 4, 1)
PedSetPedToTypeAttitude(Gary, 5, 1)
PedSetPedToTypeAttitude(Gary, 6, 1)
PedSetPedToTypeAttitude(Gary, 7, 1)
PedSetPedToTypeAttitude(Gary, 8, 1)
PedSetPedToTypeAttitude(Gary, 9, 1)
PedSetPedToTypeAttitude(Gary, 10, 1)
PedSetPedToTypeAttitude(Gary, 11, 1)
PedSetPedToTypeAttitude(Gary, 12, 1)
end

TL_Buttons = function()
        if IsButtonPressed(2, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(14, 0) then
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
                 Wait(1000)
    end
end

TL_Buttons2 = function()
        if IsButtonPressed(1, 0) then --"and" not then if
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 2)
         Wait(1000)
        elseif IsButtonPressed(15, 0) then
          PedSetActionNode(gPlayer, "/Global/Nemesis/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
                 Wait(1000)
    end
end

main = function()
  Load("Act/Dialog.act")
  Load("Act/Debug.act")
  F_TableInit()
  CreateThread("TL_Buttons")
  CreateThread("TL_Buttons2")
  gMissionRunning = true
  while gMissionRunning do
    UpdateTextQueue()
    TL_Buttons()
    TL_Buttons2()
      Wait(0)
   end
end

--[[
main = function()
repeat
TL_Buttons()  --just put everything you want to repeat in your TL_Buttons function
Wait(0)
until not Alive

   end
 
   MissionCleanup = function()
  EnablePOI()
  gMissionRunning = false
end
--]]
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 01:40:55 PM
Code: [Select]
GlobalImportScript("SObjTest.lua")
ImportScript("Library/LibTable.lua")
ImportScript("SZone.lua")
ImportScript("2_B.lua")

 
MissionSetup = function()
 l_0_0 = 60
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  LoadAnimationGroup("G_Johnny")
  LoadAnimationGroup("Nemesis")
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
PedSetPedToTypeAttitude(Gary, 13, 0)
PedSetPedToTypeAttitude(Gary, 1, 1)
PedSetPedToTypeAttitude(Gary, 2, 1)
PedSetPedToTypeAttitude(Gary, 3, 1)
PedSetPedToTypeAttitude(Gary, 4, 1)
PedSetPedToTypeAttitude(Gary, 5, 1)
PedSetPedToTypeAttitude(Gary, 6, 1)
PedSetPedToTypeAttitude(Gary, 7, 1)
PedSetPedToTypeAttitude(Gary, 8, 1)
PedSetPedToTypeAttitude(Gary, 9, 1)
PedSetPedToTypeAttitude(Gary, 10, 1)
PedSetPedToTypeAttitude(Gary, 11, 1)
PedSetPedToTypeAttitude(Gary, 12, 1)
end

TL_Buttons = function()
        if IsButtonPressed(15, 0) then --look back
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 1)
         

        elseif IsButtonPressed(3, 0) then --zoom out
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
           

        elseif IsButtonPressed(2, 0) then --zoom in
          PedSetActionNode(gPlayer, "/Global/Nemesis/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
               
    end
    end

main = function()
gMissionRunning = 5
  repeat
  --UpdateTextQueue()
    TL_Buttons()
      Wait(0)
  until gMissionRunning == 8
   end
Try this one i've setup.
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 02:01:13 PM
Code: [Select]
GlobalImportScript("SObjTest.lua")
ImportScript("Library/LibTable.lua")
ImportScript("SZone.lua")
ImportScript("2_B.lua")

 
MissionSetup = function()
 l_0_0 = 60
  local l_1_0 = 270
  local l_1_1 = -110
  local l_1_2 = 6.4000000953674
  AreaTransitionXYZ(0, l_1_0, l_1_1, l_1_2)
  LoadAnimationGroup("G_Johnny")
  LoadAnimationGroup("Nemesis")
PedSetTypeToTypeAttitude(0, 13, 1)
PedSetTypeToTypeAttitude(1, 13, 3)
PedSetTypeToTypeAttitude(2, 13, 2)
PedSetTypeToTypeAttitude(3, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 2)
PedSetTypeToTypeAttitude(5, 13, 2)
PedSetTypeToTypeAttitude(6, 13, 2)
PedSetTypeToTypeAttitude(7, 13, 2)
PedSetTypeToTypeAttitude(8, 13, 2)
PedSetTypeToTypeAttitude(9, 13, 2)
PedSetTypeToTypeAttitude(10, 13, 2)
PedSetTypeToTypeAttitude(11, 13, 1)
PedSetPedToTypeAttitude(Gary, 13, 0)
PedSetPedToTypeAttitude(Gary, 1, 1)
PedSetPedToTypeAttitude(Gary, 2, 1)
PedSetPedToTypeAttitude(Gary, 3, 1)
PedSetPedToTypeAttitude(Gary, 4, 1)
PedSetPedToTypeAttitude(Gary, 5, 1)
PedSetPedToTypeAttitude(Gary, 6, 1)
PedSetPedToTypeAttitude(Gary, 7, 1)
PedSetPedToTypeAttitude(Gary, 8, 1)
PedSetPedToTypeAttitude(Gary, 9, 1)
PedSetPedToTypeAttitude(Gary, 10, 1)
PedSetPedToTypeAttitude(Gary, 11, 1)
PedSetPedToTypeAttitude(Gary, 12, 1)
end

TL_Buttons = function()
        if IsButtonPressed(15, 0) then --look back
          px,py,pz = PlayerGetPosXYZ()
        TextPrintString("Player Pos: "..px..",  "..py..",  "..pz.."Area:"..AreaGetVisible(), 4, 1)
         

        elseif IsButtonPressed(3, 0) then --zoom out
          PedSetActionNode(gPlayer, "/Global/G_Johnny/Cinematic/ThroatGrab", "Act/Anim/G_Johnny.act")
           

        elseif IsButtonPressed(2, 0) then --zoom in
          PedSetActionNode(gPlayer, "/Global/Nemesis/HeavyAttacks/SuperUppercut", "Act/Anim/Nemesis.act")
               
    end
    end

main = function()
gMissionRunning = 5
  repeat
  --UpdateTextQueue()
    TL_Buttons()
      Wait(0)
  until gMissionRunning == 8
   end
Try this one i've setup.

That worked, But it seems I got an action node wrong for Gary's strong strikes.

Do you know what action node Johnny's axe kick and Gary's strong strikes are?
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 02:10:00 PM
No, I don't. Getting them from the Act files isn't too hard once you figure it out. You just have to see what needs what and in what order.

This would go first /Global/G_Johnny/  then maybe Special, or Heavyattacks? Depending on the node you want, you can kind of see how to piece them together from the act file. I never could find johnny's kick, and I haven't messed with many of the acts. They're paths, if you noticed. So just see what path you need to load what move.

I will give you a hint on a better throatgrab node that I found in his act. You'll need to load /Global/G_Johnny/Offense/ for the first part of it. The other part you should be able to find.
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 02:17:36 PM
No, I don't. Getting them from the Act files isn't too hard once you figure it out. You just have to see what needs what and in what order.

This would go first /Global/G_Johnny/  then maybe Special, or Heavyattacks? Depending on the node you want, you can kind of see how to piece them together from the act file. I never could find johnny's kick, and I haven't messed with many of the acts. They're paths, if you noticed. So just see what path you need to load what move.

I will give you a hint on a better throatgrab node that I found in his act. You'll need to load /Global/G_Johnny/Offense/ for the first part of it. The other part you should be able to find.

Its not this.

Code: [Select]
/Global/G_Johnny/Offense/ThroatGrab/ThroatGrab_Gv
And I found a few things that may hint to his kick.

(http://i61.tinypic.com/2ev4vp2.png)

Im thinking its one of these.

Code: [Select]
/Global/G_Johnny/Special/AxeKick_Grap_RCV
Code: [Select]
/Global/G_Johnny/Special/AxeKicks <----- Somewhere in here maybe?
Code: [Select]
/Global/G_Johnny/Special/AxeKicks/Spit/AxeKick_Grap_GV
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 02:23:08 PM
Try not to post action nodes, until later when they're done with player selector.
And I don't think that will work. One more hint will be that it isn't called ThroatGrab. Come to think of it. ThroatGrab might come before and then the stuff for ThroatGrab.

Like Axekick_Grap_RCV shows up at the first there. Grap because it requires Grapples path? Then there is a Axkick_GB
I don't know much about the Act files though..

The Axekick will probably need heavyattacks. Think how he does the attack. It's punch, punch, kick, spit, right?
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 02:25:31 PM
Try not to post action nodes, until later when they're done with player selector.
And I don't think that will work. One more hint will be that it isn't called ThroatGrab. Come to think of it. ThroatGrab might come before and then the stuff for ThroatGrab.

Like Axekick_Grap_RCV shows up at the first there. Grap because it requires Grapples path? Then there is a Axkick_GB
I don't know much about the Act files though..

The Axekick will probably need heavyattacks. Think how he does the attack. It's punch, punch, kick, spit, right?

Ok, sorry moderators/admins if I broke the rules, ill remove the action nodes if im asked to. And its he does one more punch before the kick. Ill try looking more.

EDIT:
If its not called throatgrab then its going to take me a while to find it. Also, this mod has the axekick. http://www.mediafire.com/download/73cm17ch36xt5gj/Johnny+BOSS+Combo.rar (http://www.mediafire.com/download/73cm17ch36xt5gj/Johnny+BOSS+Combo.rar)

I tried looking in it with hex editor and got nothing.
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 02:33:31 PM
If you think how the move works, it will probably give an idea of what to load. When he does the spit, it counts as he's grappling you. So it will probably require the grapple path. It is like a heavyattack too, maybe it will need /Grapples/HeavyAttacks/ somewhere in there. The file should show in what order.

The throatgrab will be in the throatgrab first half of that. The other half seems to be his axekick.
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 02:52:25 PM
How do you even read any of it? Its just abunch of dots and slashes.
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 02:53:08 PM
No no. The bottom part. I meant the bottom half of the Act.
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 02:54:45 PM
No no. The bottom part. I meant the bottom half of the Act.

Thats the part im trying to read. The bottom part of G_Johnny.cat.
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 02:58:49 PM
You don't really read it, you just have to see what goes in what order and try different paths.
If you look around you can see things  like /Offense/Special/SpecialActions/ExecuteNodes/DashLoco . The actual move won't have Executenode path. But this example will make him run. You just have to figure out what needs to load before you load something else, etc...
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 03:01:29 PM
You don't really read it, you just have to see what goes in what order and try different paths.
If you look around you can see things  like /Offense/Special/SpecialActions/ExecuteNodes/DashLoco . The actual move won't have Executenode path. But this example will make him run. You just have to figure out what needs to load before you load something else, etc...

So, you just keep looking until you find a path like that one?

EDIT:
Nevermind, I gave up.
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 03:06:11 PM
They won't always be full paths. But that one should give you an idea. Once you find a path that includes a move name at the end, you have to see what would be loaded before it. If the path were just Special/SpecialActions/ExecuteNodes/DashLoco I could try adding the offense path to it, and see if that works. You know it should include /Grapples/ for both his throatgrab and probably his axekick. Since they are special moves, it'll need probably /Special/SpecialActions/

And his axekick might require heavyattacks
Title: Re: How do Action Nodes Work?
Post by: Screenracer on March 27, 2014, 06:18:04 PM
Hold up, I just realized that the throatgrab I gave the script is actually the one used in the cutscene to The Rumble mission. Thats why my victims never get up after it. Does anyone have any idea where the non cutscene one is?
Title: Re: How do Action Nodes Work?
Post by: Reath on March 27, 2014, 07:52:01 PM
You can find other nodes in scripts.img with a hex editor. I'll PM you on the throatgrab node