tank drive backwards

Post your scripting questions / solutions here

Moderator: Moderators

Post Reply
User avatar
martijn_NL
Map Reviewer
Posts: 156
Joined: Mon Apr 14, 2003 5:33 pm
Location: The Netherlands
Contact:

tank drive backwards

Post by martijn_NL »

I want to make a tank drive forward and backwards on a same info_vehicle path. Is this possible? If yes what need to be different when u want to make a tank drive backwards?
Mapping 4 life
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

Angles

Post by tltrude »

I have never seen a command for following the path backwards. It would be easier to just copy your path and move the first node to the other end.
Tom Trude,

Image
User avatar
Alcoholic
General
Posts: 1470
Joined: Sat May 17, 2003 5:57 am
Location: California
Contact:

Post by Alcoholic »

drive somewhere

then

modifydrive -64 32 256


if you recall, in one of those day of the tiger (m5) maps, there was a tiger driving forwards and backwards
User avatar
martijn_NL
Map Reviewer
Posts: 156
Joined: Mon Apr 14, 2003 5:33 pm
Location: The Netherlands
Contact:

Post by martijn_NL »

Good idea i will try that
Mapping 4 life
WarTech
Colour Sergeant
Posts: 88
Joined: Mon May 05, 2003 3:15 am

Post by WarTech »

Alcoholic wrote:drive somewhere

then

modifydrive -64 32 256


if you recall, in one of those day of the tiger (m5) maps, there was a tiger driving forwards and backwards
Yo Alcoholic!!!
If this is possible can you post an example of how to make the modifydrive work. Thanks
User avatar
Alcoholic
General
Posts: 1470
Joined: Sat May 17, 2003 5:57 am
Location: California
Contact:

Post by Alcoholic »

Here...

Code: Select all

mytankthread:

    $tank drive $mypath 128 32 128 128 //go along path
    $tank waittill drive //wait until he reaches the end
    $tank modifydrive -64 16 128 //tanks don't go as fast backwards :(
    $tank waittill drive //waittill he gets back to the beginning of the path
    thread mytankthread
    end
8-)
User avatar
martijn_NL
Map Reviewer
Posts: 156
Joined: Mon Apr 14, 2003 5:33 pm
Location: The Netherlands
Contact:

Post by martijn_NL »

lol, thanks however
Mapping 4 life
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

Post by Gold »

hiya could ya could tell me why im getting this console error,,,,heres the error
self modifydrive 64 32 256 (maps/obj/obj_team1.scr, 1747)
self ^

^~^~^ Script Error: ModifyDrive used when not driving!

and the tank is called futher up in script like this
thread movingTank

on down in script is this

movingTank:
wait 3

iprintlnbold "Take Cover, T34 on the move!!!."
wait 2

spawn script_origin "targetname" "node1" //
$node1.origin = ( 1711 4411 -154 )

spawn script_origin "targetname" "node2" //
$node2.origin = ( 1736 4022 -166 )

spawn script_origin "targetname" "node2a" //
$node2a.origin = ( 1998 3851 -171 )

spawn script_origin "targetname" "node3" //
$node3.origin = ( 2166 3657 -171 )

spawn script_origin "targetname" "node4" //
$node4.origin = ( 3480 3625 -186 )

spawn script_origin "targetname" "node5" //
$node5.origin = ( 4489 3598 -206 )

spawn script_origin "targetname" "node6" //
$node6.origin = ( 4661 2986 -215 )

spawn script_origin "targetname" "node7" //
$node7.origin = ( 4718 3140 -217 )

//aims

spawn script_origin "targetname" "aim1" //
$aim1.origin = ( 1900 4276 -177 )

spawn script_origin "targetname" "aim2" //
$aim2.origin = ( 1496 4299 -177 )

spawn script_origin "targetname" "aim3" //
$aim3.origin = ( 1253 5136 -177 )

spawn script_origin "targetname" "aim4" //
$aim4.origin = ( 2223 3051 -184 )

spawn script_origin "targetname" "aim5" //
$aim5.origin = ( 3419 3925 -197 )

spawn script_origin "targetname" "aim6" //
$aim6.origin = ( 4050 3002 -20 )

spawn script_origin "targetname" "aim7" //
$aim7.origin = ( 3888 3306 -20 )

spawn script_origin "targetname" "aim8" //
$aim8.origin = ( 3477 3654 -216 )

spawn script_origin "targetname" "aim9" //
$aim9.origin = ( 4138 3021 -30 )

spawn script_origin "targetname" "aim10" //
$aim10.origin = ( 4144 3178 -20 )

spawn script_origin "targetname" "aim11" //
$aim11.origin = ( 4457 2711 -215 )

spawn script_origin "targetname" "aim12" //
$aim12.origin = ( 4159 2811 -215 )

spawn script_origin "targetname" "aim13" //
$aim13.origin = ( 3446 4182 -197 )

spawn script_origin "targetname" "aim14" //
$aim14.origin = ( 2303 3935 -198 )

spawn script_origin "targetname" "aim15" //
$aim15.origin = ( 1759 3682 -185 )

spawn script_origin "targetname" "aim16" //
$aim16.origin = ( 4764 3732 -234 )

spawn script_origin "targetname" "aim17" //
$aim17.origin = ( 2084 3912 -221 )

spawn script_origin "targetname" "aim18" //
$aim18.origin = ( 2707 3991 -217 )



spawn vehicles/t34_ai_base.tik "targetname" "tiger1"
$tiger1.origin = ( 2605 4748 -134 )
$tiger1.angle = -179
$tiger1.gun = $tiger1 QueryTurretSlotEntity 0
$tiger1.gun2 = $tiger1 QueryTurretSlotEntity 1
$tiger1 nodamage
$tiger1 solid

//********************** drive_control *****************************************

$tiger1 thread drive_control

//******************************************************************************
wait 75
$node1.target = $node2
$node2.target = NULL
$tiger1 drive $node1 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1.gun setAimTarget $aim1
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim2
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim3
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim4
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim5
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim6
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim7
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim8
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim1
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim2
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim3
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim4
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim5
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim6
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim7
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim8
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$tiger1 exec scripts/randomshootHunt.scr
wait 5

tankagain:

//********************** forward ***********************************************

$tiger1.backup=0

//********************** forward ***********************************************
wait 5
$node3.target = $node4
$node4.target = $node5
$node5.target = NULL
$tiger1 drive $node3 //*******************

$tiger1 modifydrive 64 32 256

$tiger1 waittill drive
$tiger1 stop
$tiger1.gun setAimTarget $aim9
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim10
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim11
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim12
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim13
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim14
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim15
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$tiger1 exec scripts/randomshootHunt.scr
wait 5

$node6.target = $node7
$node7.target = null
$tiger1 drive $node6 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1 exec scripts/randomshootHunt.scr
wait 5

//********************************** backup *****************************************

$tiger1.backup=1

//********************************** backup *****************************************

$node7.target = null
$node6.target = $node5
$tiger1 drive $node7 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1 exec scripts/randomshootHunt.scr
wait 5

$node5.target = null
$tiger1 drive $node5 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1.gun setAimTarget $aim9
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim10
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim11
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim12
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim13
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim14
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim15
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$tiger1 exec scripts/randomshootHunt.scr
wait 5

$node4.target = $node3
$tiger1.gun setAimTarget $aim16
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim17
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim18
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$node3.target = $node2a
$node2a.target = null
$tiger1 drive $node4 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1 exec scripts/randomshootHunt.scr


goto tankagain

end

//********************** drive_control *****************************************

drive_control:
while(isalive self)
{
if(self.backup==1)
self modifydrive -64 32 256
else
self modifydrive 64 32 256
waitframe
}
end


Gold<<mohha freak
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

Post by Gold »

oh almost forgot,,,the above script does actually work lol,,,just wanted error fixed :)) without making it stop working hehehe,,like i would prob do without some help
Gold<<mohha freak
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post by bdbodger »

modify drive only works when the vehicle is moveing as soon as it stops you will get that error . Harmless .

you might try this


//********************** drive_control *****************************************

drive_control:
while(isalive self)
{
if(self.backup==1)
self modifydrive -64 32 256
else
self modifydrive 64 32 256
local.velocity = self.velocity
while( local.velocity[0] == 0)
{
local.velocity = self.velocity
waitframe
}

waitframe
}
end



self.velocity[/code]
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

Post by Gold »

thanx for the reply bdbodger,,,i actully got rid of the error and tank still seems to backup,,and go forward ,,,doesnt look neat because havent had a chance to cleanup what i cancelled out,,maybe ya can help me clean it up and make it still do same thing,,also i will try ya above method also ,,,but heres what i did,,,im not much of a scripter,,just learning,,so cant say why this seemed to work,,,but it seems 2,,at the top of the script was
thread movingTank i also added
thread msg
so i could get the message to go same time the tank started then i did the following
//-----------------------------------------------------------------------------
movingTank:

spawn script_origin "targetname" "node1" //
$node1.origin = ( 1711 4411 -154 )

spawn script_origin "targetname" "node2" //
$node2.origin = ( 1736 4022 -166 )

spawn script_origin "targetname" "node2a" //
$node2a.origin = ( 1998 3851 -171 )

spawn script_origin "targetname" "node3" //
$node3.origin = ( 2166 3657 -171 )

spawn script_origin "targetname" "node4" //
$node4.origin = ( 3480 3625 -186 )

spawn script_origin "targetname" "node5" //
$node5.origin = ( 4489 3598 -206 )

spawn script_origin "targetname" "node6" //
$node6.origin = ( 4661 2986 -215 )

spawn script_origin "targetname" "node7" //
$node7.origin = ( 4718 3140 -217 )

//aims

spawn script_origin "targetname" "aim1" //
$aim1.origin = ( 1900 4276 -177 )

spawn script_origin "targetname" "aim2" //
$aim2.origin = ( 1496 4299 -177 )

spawn script_origin "targetname" "aim3" //
$aim3.origin = ( 1253 5136 -177 )

spawn script_origin "targetname" "aim4" //
$aim4.origin = ( 2223 3051 -184 )

spawn script_origin "targetname" "aim5" //
$aim5.origin = ( 3419 3925 -197 )

spawn script_origin "targetname" "aim6" //
$aim6.origin = ( 4050 3002 -20 )

spawn script_origin "targetname" "aim7" //
$aim7.origin = ( 3888 3306 -20 )

spawn script_origin "targetname" "aim8" //
$aim8.origin = ( 3477 3654 -216 )

spawn script_origin "targetname" "aim9" //
$aim9.origin = ( 4138 3021 -30 )

spawn script_origin "targetname" "aim10" //
$aim10.origin = ( 4144 3178 -20 )

spawn script_origin "targetname" "aim11" //
$aim11.origin = ( 4457 2711 -215 )

spawn script_origin "targetname" "aim12" //
$aim12.origin = ( 4159 2811 -215 )

spawn script_origin "targetname" "aim13" //
$aim13.origin = ( 3446 4182 -197 )

spawn script_origin "targetname" "aim14" //
$aim14.origin = ( 2303 3935 -198 )

spawn script_origin "targetname" "aim15" //
$aim15.origin = ( 1759 3682 -185 )

spawn script_origin "targetname" "aim16" //
$aim16.origin = ( 4764 3732 -234 )

spawn script_origin "targetname" "aim17" //
$aim17.origin = ( 2084 3912 -221 )

spawn script_origin "targetname" "aim18" //
$aim18.origin = ( 2707 3991 -217 )



spawn vehicles/t34_ai_base.tik "targetname" "tiger1"
$tiger1.origin = ( 2605 4748 -134 )
$tiger1.angle = -179
$tiger1.gun = $tiger1 QueryTurretSlotEntity 0
$tiger1.gun2 = $tiger1 QueryTurretSlotEntity 1
$tiger1 nodamage
$tiger1 solid


//********************** drive_control *****************************************

//$tiger1 thread drive_control

//******************************************************************************
wait 75
$node1.target = $node2
$node2.target = NULL
$tiger1 drive $node1 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1.gun setAimTarget $aim1
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim2
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim3
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim4
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim5
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim6
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim7
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim8
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim1
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim2
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim3
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim4
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim5
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim6
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim7
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim8
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$tiger1 exec scripts/randomshootHunt.scr
wait 5

tankagain:

//********************** forward ***********************************************

//$tiger1.backup=0

//********************** forward ***********************************************
wait 5
$node3.target = $node4
$node4.target = $node5
$node5.target = NULL
$tiger1 drive $node3 //*******************

$tiger1 modifydrive -64 32 256

$tiger1 waittill drive
$tiger1 stop
$tiger1.gun setAimTarget $aim9
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim10
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim11
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim12
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim13
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim14
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim15
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$tiger1 exec scripts/randomshootHunt.scr
wait 5

$node6.target = $node7
$node7.target = null
$tiger1 drive $node6 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1 exec scripts/randomshootHunt.scr
wait 5

//********************************** backup *****************************************

//$tiger1.backup=1

//********************************** backup *****************************************

$node7.target = null
$node6.target = $node5
$tiger1 drive $node7 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1 exec scripts/randomshootHunt.scr
wait 5

$node5.target = null
$tiger1 drive $node5 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1.gun setAimTarget $aim9
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim10
$tiger1.gun waittill ontarget
$tiger.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim11
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim12
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim13
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim14
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim15
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$tiger1 exec scripts/randomshootHunt.scr
wait 5

$node4.target = $node3
$tiger1.gun setAimTarget $aim16
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim17
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
wait 2
$tiger1.gun setAimTarget $aim18
$tiger1.gun waittill ontarget
$tiger1.gun anim fire
$node3.target = $node2a
$node2a.target = null
$tiger1 drive $node4 //*******************
$tiger1 waittill drive
$tiger1 stop
$tiger1 exec scripts/randomshootHunt.scr


goto tankagain

end

//******************************************************************************

msg:
wait 74

iprintlnbold "Take Cover, T34 on the move!!!."

//********************** drive_control *****************************************

//drive_control:
//while(isalive self)
//{
//if(self.backup==1)
//self modifydrive -64 32 256
//else
//self modifydrive 64 32 256
//waitframe
//}
//end

ya may look at that script and say hey ,,that want work,,,or vice versa,,lol,,,all i know is tank seems to be doing the same thing it was in the beginning be4 i altered it. unless my eyes are deceiving me lol,or maybe i didnt realize what it was doing in the beginning be4 i altered it,,but if ya test that one out let me know if its operating correctly,,,seems to be to me,,,but ya would know better than i :) heres exactly what its doing now thou,,the tank starts its run down the street going forward,,it stops,,shoots at a couple targets,,the base does a 360 then and tank backs down the street lol,,then at end of street it stops,,shoots at targets,,base turns once more and then it comes forward back up the street..at this point the process reapeats itself without the above console error .,,thanx once again for ya reply
Gold<<mohha freak
User avatar
bdbodger
Moderator
Posts: 2596
Joined: Tue Feb 25, 2003 7:34 am
Location: canada
Contact:

Post by bdbodger »

Like you said the tank does a 360 that is not backing up that is turning around and going back the way you came . The turret does not move because it is aiming at it's aim target . You can use clearAimTarget before it turns or after it fires to stop that . That error was harmless maybe a bit annoying but harmless .
User avatar
Gold
First Lieutenant
Posts: 176
Joined: Sun Sep 28, 2003 8:10 pm

Post by Gold »

i apologize bdbodger,,but i mistated when i said the tanks base was doing a 360,,,actually i meant to say it was doing a 180,,,which means yes its actually backing down the street,,,,i cleaned up the script a bit more and also added a option to it so ya can cancel out one line and enable another line to make tank back down street,,,or ya can do vice versa to make tank back up street,,,now i understand the error was harmless,,,but if i got rid of the error and tank is still doing the same exact thing it originally did ,,,that would be a good thing i would think:)) especially for someone like me thats doesnt know alot at this point about scripting,,but still trying to learn more hehe,,,also ive noticed when more than one player is in the map playing the turret doesnt seem to target or follow a single player as it does when only one player is present,,,and as always ,,once agian thanx for ya replies and help,,,i only hope one day i can scrict a 4th as good as ya can :)
Gold<<mohha freak
Post Reply