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


Author Topic: How do Action Nodes Work?  (Read 14481 times)

0 Members and 1 Guest are viewing this topic.

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #30 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.

Offline Reath

  • Jr. Member
  • **
  • Posts: 26
  • Gender: Male
    • View Profile
Re: How do Action Nodes Work?
« Reply #31 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

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #32 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
« Last Edit: March 27, 2014, 12:24:31 PM by Screenracer »

Offline Reath

  • Jr. Member
  • **
  • Posts: 26
  • Gender: Male
    • View Profile
Re: How do Action Nodes Work?
« Reply #33 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]

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #34 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
--]]

Offline Reath

  • Jr. Member
  • **
  • Posts: 26
  • Gender: Male
    • View Profile
Re: How do Action Nodes Work?
« Reply #35 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.

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #36 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?

Offline Reath

  • Jr. Member
  • **
  • Posts: 26
  • Gender: Male
    • View Profile
Re: How do Action Nodes Work?
« Reply #37 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.

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #38 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.



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
« Last Edit: March 27, 2014, 02:22:34 PM by Screenracer »

Offline Reath

  • Jr. Member
  • **
  • Posts: 26
  • Gender: Male
    • View Profile
Re: How do Action Nodes Work?
« Reply #39 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?

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #40 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

I tried looking in it with hex editor and got nothing.
« Last Edit: March 27, 2014, 02:33:43 PM by Screenracer »

Offline Reath

  • Jr. Member
  • **
  • Posts: 26
  • Gender: Male
    • View Profile
Re: How do Action Nodes Work?
« Reply #41 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.

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #42 on: March 27, 2014, 02:52:25 PM »
How do you even read any of it? Its just abunch of dots and slashes.

Offline Reath

  • Jr. Member
  • **
  • Posts: 26
  • Gender: Male
    • View Profile
Re: How do Action Nodes Work?
« Reply #43 on: March 27, 2014, 02:53:08 PM »
No no. The bottom part. I meant the bottom half of the Act.

Offline Screenracer

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: How do Action Nodes Work?
« Reply #44 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.