Project Perfect Mod Forums
:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Privacy Policy :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::


The time now is Thu Apr 18, 2024 11:35 pm
All times are UTC + 0
Advanced Stealth Tank System
Moderators: Global Moderators, Red Alert 2 Moderators
Post new topic   Reply to topic Page 1 of 1 [10 Posts] Mark the topic unread ::  View previous topic :: View next topic
Author Message
MasterHaosis
General


Joined: 01 Nov 2010
Location: Serbia

PostPosted: Fri Sep 07, 2012 1:53 pm    Post subject:  Advanced Stealth Tank System
Subject description: Tutorial for RA2/YR, very easy, do not get afraid of wall of texts here
Reply with quote  Mark this post and the followings unread

Hello guys, Very Happy
Its time for MasterHaosis to teach you some of tricks.
Its very easy do not get bored or whatever by this wall of text, this is for explanation purposes.

Well, whoever used stealth tanks in mod, or whoever played mods with stealth tanks noticed that their suprise/ambush ability is limited that they automatically fire at enemies which reduces surprise element, because maybe you do not want those stealth tanks lurking where you set them to attack those incoming targets.
This can be fixed by setting CanPassiveAquire=no on stealth tank, so he will ignoring targets passing near him. But he will ignore guard area and attack move then, and you will have manually to order him what to attack. Maybe you wont have time in the middle of battle separately to order stealth tanks which targets will attack. He ay also retaliate but whole group wont fight back for him.
So in this case you have problem too.
BUT I FOUND SOLUTION!
What if you want to have two groups of stealth tanks: one which will lurking into enemy's base waiting for your order to attack, and second which will be for constant ambush in the middle of map attacking anything that comes in their way? What about if you have one group of 5 tanks, and you want : 1. tank to auto acquire, 2. tank to hide 3. tank auto acquire, 4. tank hide and 5. tank to auto aquire? Not possible you say.
Well now it is.
Enough of talking, lets begin with tutorial.

First, we will need stealth tank. lets use Speeder/Mevitar Shadow Tank which is available for public download.
Now, you have to copy one tank and recolor him or edit it in any way to  be visible different from original version. Like I did here

So I have one original, and second darker version. I will explain later why, lets move on.
In art copy paste this

[STNK]
Voxel=yes
Remapable=yes
Cameo=STNKICON
AltCameo=STNKUICO
PrimaryFireFLH=35,20,75

[STNK2]
Voxel=yes
Remapable=yes
Cameo=STNKICON
AltCameo=STNKUICO
PrimaryFireFLH=35,20,75

In rulesmd in warheads add this:

xxx=StealthWH
xxx=ScannerWH

In [Vehicle Types] add them two:
xxx=STNK
xxx=STNK2

Now, look carefuly, or copy paste whole codes and study them later.

[STNK]
UIName=NOSTR:Illusion Tank
Name=Illusion Tank
Prerequisite=YAWEAP,RADAR
Primary=StealthGun
Secondary=StealthScanner
Strength=200
Category=AFV
Armor=light
Turret=no
IsTilter=yes
TooBigToFitUnderBridge=true
TechLevel=4
Sight=12
Speed=6
CrateGoodie=no
Crusher=yes
Owner=YuriCountry
Cost=1000
Soylent=700
Points=25
ROT=5
IsSelectableCombatant=yes
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
VoiceSelect=StealthTankSelect
VoiceMove=StealthTankMove
VoiceAttack=StealthTankAttackCommand
VoiceFeedback=
DieSound=GenVehicleDie
MoveSound=LasherTankMoveStart
CrushSound=TankCrush
Maxdebris=3
Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1}
MovementZone=Destroyer
ThreatPosed=40 ; This value MUST be 0 for all building addons
DamageParticleSystems=SparkSys,SmallGreySSys
DamageSmokeOffset=100, 100, 275
Weight=3.5
VeteranAbilities=STRONGER,FIREPOWER,SIGHT,FASTER
EliteAbilities=SELF_HEAL,STRONGER,FIREPOWER,ROF
Accelerates=false
ZFudgeColumn=8
ZFudgeTunnel=13
Size=3
Cloakable=yes
CloakingSpeed=1
RadarInvisible=yes
Bunkerable=no
Sensors=yes
AllowedToStartInMultiplayer=no
IsSimpleDeployer=yes
UnloadingClass=STNK2
DeployFire=yes
DeployFireWeapon=1

[StealthGun]
Damage=30
ROF=50
Range=5
Projectile=InvisibleLow
Speed=100
Warhead=StealthWH
Report=RocketeerAttack
Bright=yes
Anim=UCINIT
RevealOnFire=no
Burst=2

[StealthWH]
Verses=100%,100%,100%,75%,50%,50%,100%,100%,100%,100%,100%
AnimList=CHRONOFS
InfDeath=3
Bright=true  
CLDisableRed=true
CLDisableGreen=true

[STNK2]
Turret=no
IsTilter=yes
TechLevel=-1
UnloadingClass=STNK
AllowedToStartInMultiplayer=no

[StealthScanner]
Damage=1
Range=0.1
NeverUse=yes
Projectile=InvisibleAll
Warhead=ScannerWH
Speed=100
FireOnce=yes
RevealOnFire=no

[ScannerWH]
Verses=0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%


So, as you can see, point here is to Have both weapons, Primary and secondary.
primary weapon is not important, but secondary is.
Secondary is StealthScanner with warheads 0% and Range=0.1, so it cannot do anything.
Also, I made tank to be deployer and activate that secondary weapon by deploy fire.
And unloading class is important because it changes vehicles apperiance to darker one in this case, so you will exactly know which tank is disabled from enabled.
How this works? Very simple. If you want tank to be silent you will have to disable him on double click or deploy. He will immediately go dark and stop moving. You wont get move cursor over him because he cannot move or attack anything, he will just wait in map/enemy's base for your activation. When you want to use tank, just double click at him again, he will immediately ,,go online" changing color and automatically attacking targets or accept your order to move or attack certain targets. If you want him to be silent until you decide otherwise, just double click at him, or deploy again. You can do this on whole group of stealth tanks course.
Lets see in screenshots how it works

Left four tanks are ,,active" stealth tanks which means that they will automatically shoot at targets. Right four tanks are disabled ones, they are darker colored so we can easily notice which is active or disabled tank. Those disabled wont move or attack anything.
Now see this

As you can see, I disabled tanks in the middle of enemy's base and they are waiting until I activate them to order attacking or leaving them automatically to shoot like normal tanks do. usually I wait until I attack with normal forces, so he will try to defend himself with all units he have, leaving this part of base vulnerable, so I can enable stealth tanks and attack.


Those are enabled tanks combined with stealth soldiers, so they will automatically attack any ground unit which exit from his base. Useful for infantries, light vehicles and artilleries, but Apocalypses or heavy tanks may cause problem. Especially if unit with sensors gets near.


You see, I just destroyed his Nuclear Missile Silo with those stealth tanks and soldiers until two stealth tanks are still disabled. You notice that selected disable tank has normal mouse icon, like nothing is selected, so he cannot move or attack.

Just please note, that disabled tanks in enemy's base may be destroyed easily if enemy build unit with sensors, detecting them and attacking them, because they are disabled and logically cannot fight back. In this case you need to select them all and click on deploy, and depends your wish, order them to escape or fight!
I hope this tutorial will be useful for you. it is very useful for me.


Key Words: #Tutorials #Modding #RedAlert2 #YurisRevenge #Rules.INI 

_________________

PPM Halloween Season 2021

Last edited by MasterHaosis on Fri Sep 07, 2012 10:18 pm; edited 1 time in total

Back to top
View user's profile Send private message
Starkku
Cyborg Commando


Joined: 28 Dec 2007
Location: Finland

PostPosted: Fri Sep 07, 2012 2:24 pm    Post subject: Reply with quote  Mark this post and the followings unread

Well yeah, I suppose this works if you want a stealth tanks to sometimes stop firing automatically at enemies.

One small tip though: You can clean up your code by removing everything under [STNK2] in rulesmd.ini, because game will only need & use it's art image.

And unless you've been messing with the infantry death animation flags under [General], InfDeath=3 is explosion death, not burn death (which is 4 by default).

_________________

Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID Twitter Channel URL
MasterHaosis
General


Joined: 01 Nov 2010
Location: Serbia

PostPosted: Fri Sep 07, 2012 3:10 pm    Post subject: Reply with quote  Mark this post and the followings unread

Starkku, Very Happy
Hello and thanks for posting here! I am glad you like it.

Starkku wrote:
Well yeah, I suppose this works if you want a stealth tanks to sometimes stop firing automatically at enemies.

And ambush! Its much greater control than before.

Starkku wrote:

One small tip though: You can clean up your code by removing everything under [STNK2] in rulesmd.ini, because game will only need & use it's art image.

Really? What exactly must left here and what can be deleted?
I know that its all not needed, but I did not know what is exactly needed here, thats why for any case I leave it all. I looked at Siege chopper deployed and he had almost all codes.

Starkku wrote:

And unless you've been messing with the infantry death animation flags under [General], InfDeath=3 is explosion death, not burn death (which is 4 by default).

haha good that you noticed it. No I did not mess with anything, those uncommented things could be ignored. I think that I based that weapon on MirageWarhead.
[MirageWH] // Supposed to be a heat ray.
Verses=100%,100%,80%,100%,100%,100%,30%,20%,20%,100%,100% ; Needs balancing by designers
AnimList=IRONFX ; temp, should have flash-o-light
InfDeath=4 ; Burn death
Bright=true ; This says there should be Combat Lighting. It's ignored, but we'll say it anyway.
CLDisableBlue=true ; This says the Combat Light should be red. (1)
CLDisableGreen=true ; This says the Combat Light should be red. (2)

So basically yes, InfDeath4 is flame, but I edited just parametres I needed, changed verses, Inf Death and AnimList, leaving/ignoring those comments.
Thanks for mentioning that, I will remove that later when update tutorial. Someone may find that confusing if read.

Starrku, hehe you and Speeder are using stealth tanks in both Project Raptor and MO. It would be wise if you implement this system into your tanks, so people may chose for which kind of ambush they will keep tanks.
You know, in this way you can set Stealth Tanks near Ore Field where enemy harvesters are, waiting for real moment Very Happy
You can also (possibly) make barrier at bridge with few tanks, so unless units with sensors, regular Ai units would stuck unable to attack you.
I do not know, theoretically it may be possible, I did not check it. AI would find other way though perhaps. Anywany 1000$ per tank, 5 stealth tanks would be need for barrier on bridge, so basically you have to waste 5000$ for this.

_________________

PPM Halloween Season 2021

Back to top
View user's profile Send private message
Augusto
Cyborg Soldier


Joined: 18 Apr 2005
Location: Argentina

PostPosted: Fri Sep 07, 2012 3:22 pm    Post subject: Reply with quote  Mark this post and the followings unread

I have the same problem as you with the stealth tank, if you put in the weapon code "DecloakToFire=no" the tank have a little delay before fire during witch enemy units attack it, this decloak delay is very disadvantageous for attacking stealth tank and make it useless like sneak attack unit...
Im use the gattling logic to solve it. If you put gattling sequence into stealth tank code and in the weapons of first stage add "DecloakToFire=yes" and "DecloakToFire=no" in the weapons of second and third stage, the stealth tank attacks cloaked first and decloaks later without delay recovering its strategic value as sneak attack unit... Wink

Back to top
View user's profile Send private message
Starkku
Cyborg Commando


Joined: 28 Dec 2007
Location: Finland

PostPosted: Fri Sep 07, 2012 3:32 pm    Post subject: Reply with quote  Mark this post and the followings unread

MasterHaosis wrote:

Really? What exactly must left here and what can be deleted?
I know that its all not needed, but I did not know what is exactly needed here, thats why for any case I leave it all. I looked at Siege chopper deployed and he had almost all codes.


Well I'll clarify it a bit. Only things that the rules entry of the deployed vehicle (STNK2 in your case) needs are:

1. Turret. Turret= should be set to the same value as on the undeployed one. This is the only required thing, really. In the case it's missing from the deployed vehicle but present on the undeployed one, or with any other mismatching configuration, you might either get graphics glitches (like voxel body not visible etc) or IE's.
2. Image=, but only if the rules ID of the vehicle differs from the art entry ID. Unnecessary in your case.

Deployed Siege Chopper had more than that, but most of it was totally unnecessary. You don't even need the deploying code on the deployed vehicle rules entry. Siege Chopper logic isn't really anything else but a switch of art and weapon from Primary to Secondary.

MasterHaosis wrote:

Starrku, hehe you and Speeder are using stealth tanks in both Project Raptor and MO. It would be wise if you implement this system into your tanks, so people may chose for which kind of ambush they will keep tanks.


It's Project Phantom btw, and perhaps. I'd need to sacrifice the AA weapon of my stealth tank for that, though.

_________________

Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID Twitter Channel URL
MasterHaosis
General


Joined: 01 Nov 2010
Location: Serbia

PostPosted: Fri Sep 07, 2012 4:38 pm    Post subject: Reply with quote  Mark this post and the followings unread

Starkku wrote:

Well I'll clarify it a bit. Only things that the rules entry of the deployed vehicle (STNK2 in your case) needs are:

1. Turret. Turret= should be set to the same value as on the undeployed one. This is the only required thing, really. In the case it's missing from the deployed vehicle but present on the undeployed one, or with any other mismatching configuration, you might either get graphics glitches (like voxel body not visible etc) or IE's.
2. Image=, but only if the rules ID of the vehicle differs from the art entry ID. Unnecessary in your case.


Thanks for explanation, I will check it out, test some stuff later and update tutorial.
Basically I do have here Image=
[STNK]
Image=SHDW

[STNK2]
Image=SHDW2

But I removed from this tutorial in sake of simplicity and not to confuse someone.

Starkku wrote:
Siege Chopper logic isn't really anything else but a switch of art and weapon from Primary to Secondary.

And landing from air to ground Smile

Starkku wrote:

It's Project Phantom btw, and perhaps.

Ah yes sorry, Project Raptor was in my mind, its for Generals ZH.
Anyway they are projects Very Happy

Starkku wrote:

I'd need to sacrifice the AA weapon of my stealth tank for that, though.

AH, do not say that your stealth tank has two different weapons?
You have few possibile options:

1.If it has one separated on two (primary for ground, secondary for air) it can be fixed somehow by adding primary weapon ability to shot at air and adding AirRangeBonus= code like in IFV and Apocapylse. So youwill be left secondary weapon for my system.

2. Separating AA and Stealth System to two tanks, so one can be just Anti Air, Anti Infantry, and other can be just ambush type.

3. if it is indeed designed to be stealth AA tank, then adding new one stealth tank just for that purpose. (cause you have a tons of vehicles in each side one more or less is not going to make such deal Very Happy actually one more is even better)

I will test later thing with bridge barrier with stealth tanks, and Ore Field, and report you AI's behavior.

Oh man, we are talking here about it nicely, I see you are interested too in stealth technology, and its expanding and discussions Smile
I was not so interested in that, but since I found this solution, it bring me more interests of using such in my mod.

_________________

PPM Halloween Season 2021

Back to top
View user's profile Send private message
MasterHaosis
General


Joined: 01 Nov 2010
Location: Serbia

PostPosted: Fri Sep 07, 2012 10:30 pm    Post subject: Reply with quote  Mark this post and the followings unread

Here, I updated little Tank's code, I removed uncommented tags which I had, and removed westwood's comments from weapons and warheads making code more readable and simpler. Also, STBK2 got only this
[STNK2]
Turret=no
IsTilter=yes
TechLevel=-1
UnloadingClass=STNK
AllowedToStartInMultiplayer=no

Starkku, you were right! Only this works!
Hey man, I told you I am going to test if Stealth tanks can be used as barrier on bridge in disabled mode.
I tried it and it cannot be done. Each time AI's vehicles try to cross bridge, they basically physically ,,hit" stealth tank and he became visible, like he is under fire. Tank become visible if fire, if is revealed by sensors, and if is fired by weapon or affected by its area of effect, or from debris. Also he cannot serve as barrier, at least one tank must be hit and revealed by vehicles speed and mass.
Also, I told you I will try this thing with Ore Area, to hide stealth tanks until war miners comes and activate them. I tried. Well, you can kinda success in this way, but first time war miner is attacked Ai sends tanks to defend it. When tanks arrive, I disable stealth tanks again, but AI was not dumb to take back his tanks to his base! If he could not hit my stealth tanks he sends his own to my base to attack it! Well, it may be due to AImd.ini I do not know.
Also, Starkku, you reported in your thread Ares's issue with Ai by building tanks and rarely using them. I noticed that too with Soviets esecially, even when testing stealth tanks.

You see, he is just collecting them all time, but once I attack his miner with anything, he sends almost all of them to me! I did not talk about it because I do not have right of speech in this case, I am not using my own aimd.ini, I am using ,,borrowed" one from old MO. Very Happy

Augusto, Hello man, yeah gattling logic is kinda complicated as you explained to use. Try my method and tell me if it works.

_________________

PPM Halloween Season 2021

Back to top
View user's profile Send private message
Speeder
Commander


Joined: 03 Sep 2004
Location: Czechia

PostPosted: Fri Sep 07, 2012 10:50 pm    Post subject: Reply with quote  Mark this post and the followings unread

This is a good idea. Shadow Tank doesn't use a secondary so there's no problem with putting a dummy there. If it has no drawbacks and we find it useful, I'd see this as Shadow's feature. Nice. Smile

_________________
mentalomega.com

Back to top
View user's profile Send private message Send e-mail Visit poster's website YouTube User URL Facebook Profile URL Twitter Channel URL
OmegaBolt
President


Joined: 21 Mar 2005
Location: York, England

PostPosted: Sat Sep 08, 2012 1:02 pm    Post subject: Reply with quote  Mark this post and the followings unread

Well Starkku could have an AA mode which does auto-aquire and an AG mode that doesn't.

Back to top
View user's profile Send private message Send e-mail
freedom fighter
General


Joined: 14 May 2009

PostPosted: Sat Sep 08, 2012 2:25 pm    Post subject: Reply with quote  Mark this post and the followings unread

Simple and clever. I never thought about those drawbacks. Will require a tiny bit more of micromanagement but at least it isn't as flawed.

_________________
The future belongs to The Forgotten!

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [10 Posts] Mark the topic unread ::  View previous topic :: View next topic
 
Share on TwitterShare on FacebookShare on Google+Share on DiggShare on RedditShare on PInterestShare on Del.icio.usShare on Stumble Upon
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

[ Time: 0.1575s ][ Queries: 11 (0.0078s) ][ Debug on ]