Bully-Board
Bully Modding Section => Modding Questions/Help => Modding Questions/Help Archives => Topic started 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.
-
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)
-
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:
-
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
-
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.
-
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
-
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:
-
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:
-
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
-
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"
-
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. ?.?
-
Did you put the "end" between those two waits? You need to end the "if" before you get to the "until".
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
-
Did you put the "end" between those two waits? You need to end the "if" before you get to the "until".
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
-
When I press button 15 on controller 1 (the right analog stick) Jimmy crouches and nothing happens. :S
-
Try " if IsButtonPressed(2, 1) then " (zoom in)
and " elseif IsButtonPressed(14, 0) then " (look back)
-
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
-
How about this?
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 [
-
That compiled, waiting for another error... :/
-
I go ingame, press the look behind button and nothing happens.
-
This IsButtonBeingPressed(14,0) is the look behind one.
And just replace "IsButtonPressed(2, 1) and IsButtonPressed(2, 1)" with IsButtonBeingPressed(2,0)
-
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
-
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")
-
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)
-
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)
-
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?
-
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?
-
It should work.
-
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
-
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.
-
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.
-
Button still wont work. For either TL buttons function. I tried my gamepad and my keyboard and neither work.
-
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
-
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
-
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]
-
Still none of the buttons work.
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
--]]
-
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.
-
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?
-
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.
-
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.
/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.
/Global/G_Johnny/Special/AxeKick_Grap_RCV
/Global/G_Johnny/Special/AxeKicks <----- Somewhere in here maybe?
/Global/G_Johnny/Special/AxeKicks/Spit/AxeKick_Grap_GV
-
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?
-
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.
-
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.
-
How do you even read any of it? Its just abunch of dots and slashes.
-
No no. The bottom part. I meant the bottom half of the Act.
-
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.
-
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...
-
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.
-
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
-
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?
-
You can find other nodes in scripts.img with a hex editor. I'll PM you on the throatgrab node