Multiple projectiles?

Post Reply
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Multiple projectiles?

Post by Ardis »

In several mods, I've seen units launch more than one projectile, for example the Zeji Hydra from Vision of the Future launches three lasers when it fires and when you tell it to use the stasis field option, it launches to Yamato gun blasts then places a stasis field. I was wondering how to do that and if it's possible to set up with DatEdit.
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8332
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా
Contact:

Re: Multiple projectiles?

Post by IskatuMesk »

Mix of icecc and weapons.dat editing.
Gameproc
Though we stand alone, stand we shall.
User avatar
Ardis
Terran Nuclear Silo Safety Inspector
Terran Nuclear Silo Safety Inspector
Posts: 228
Joined: Tue Sep 05, 2006 5:03 pm
Location: Ohio, USA

Re: Multiple projectiles?

Post by Ardis »

Oh, I should've known. Sadly, I am no good at editing with IceCC, last time I tried, my mod wouldn't stop crashing until I remove the Iscript.bin.
I'm not unstable.
Unstable implies that I could BECOME more dangerous than I am now.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8332
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా
Contact:

Re: Multiple projectiles?

Post by IskatuMesk »

Basically in icecc you have multiple attack commands. RCX probably had a direct weapon call, which won't show projectiles, but let him have a stasis field right after yamato guns.

A combination of attack calls and halo-state weapon slots can give you a good selection of weapons. I had plans to give a unit two turrets to add an additional four weapons which could have projectiles but never got to it.

Code: Select all

# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file 'data\scripts\iscript.bin'
# created on: Fri Jul 08 20:54:18 2005
# ----------------------------------------------------------------------------- #

# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 008 InfestedTerran (zerg\bugguy.grp)
.headerstart
IsId           	6
Type           	12
Init           	BattlecruiserInit
Death          	BattlecruiserDeath
GndAttkInit    	BattlecruiserGndAttkInit
AirAttkInit    	BattlecruiserAirAttkInit
SpAbility1     	[NONE]
GndAttkRpt     	BattlecruiserGndAttkInit
AirAttkRpt     	BattlecruiserAirAttkInit
SpAbility2     	BattlecruiserSpAbility2
GndAttkToIdle  	BattlecruiserGndAttkToIdle
AirAttkToIdle  	BattlecruiserGndAttkToIdle
SpAbility3     	[NONE]
Walking        	BattlecruiserWalking
Other          	BattlecruiserOther
BurrowInit     	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

BattlecruiserInit:
	imgul09        	9 0 42	# BattlecruiserShad (terran\BattleCr.grp)
	playfram       	0x00	# frame set 0
	goto           	BattlecruiserGndAttkToIdle

BattlecruiserGndAttkToIdle:
	wait           	125
	goto           	BattlecruiserGndAttkToIdle

BattlecruiserDeath:
	playsnd        	67	# Bullet\ZBGHit00.wav
	imgol08        	928 40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	2
	playsnd        	7	# Misc\ExploLrg.wav
	imgol08        	928 80 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 80	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -80 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -80	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	3
	playsnd        	7	# Misc\ExploLrg.wav
	imgol08        	928 40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 120 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 120	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -120 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -120	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	1
	playsnd        	7	# Misc\ExploLrg.wav
	imgol08        	928 40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 120 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 120	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -120 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -120	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	1
	playsnd        	7	# Misc\ExploLrg.wav
	imgol08        	928 160 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -160 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 160 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -160 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 160 -160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -160 160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 160 160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -160 -160	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	1
	playsnd        	7	# Misc\ExploLrg.wav
	imgol08        	928 40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 120 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 120	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 -120 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	928 0 -120	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	3
	end            	

BattlecruiserGndAttkInit:
	nobrkcodestart
	wait           	1
	attack25       	1
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	wait		6
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	nobrkcodeend
	gotorepeatattk 	
	goto           	BattlecruiserGndAttkToIdle

BattlecruiserAirAttkInit:
	nobrkcodestart
	wait           	1
	attack25       	1
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	wait		6
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	wait           	4
	attack25       	1
	nobrkcodeend
	gotorepeatattk 	
	goto           	BattlecruiserGndAttkToIdle

BattlecruiserSpAbility2:
	imgol0a        	543	# YamatoCharge (thingy\eycBlast.grp)
	goto           	BattlecruiserGndAttkToIdle

BattlecruiserWalking:
	goto           	BattlecruiserGndAttkToIdle

BattlecruiserOther:
	shvertpos      	1
	waitrand       	8 10
	shvertpos      	2
	waitrand       	8 10
	shvertpos      	1
	waitrand       	8 10
	shvertpos      	0
	waitrand       	8 10
	goto           	BattlecruiserOther
This is the code of a ship from ITAS. Compare it to the BC script.

Here's the code of a second ship.

Code: Select all

# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file 'data\scripts\iscript.bin'
# created on: Fri Jun 24 20:40:26 2005
# ----------------------------------------------------------------------------- #

# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 299 CrashedNoradII (neutral\Cbattle.grp)
.headerstart
IsId           	104
Type           	12
Init           	CrashedNoradIIInit
Death          	CrashedNoradIIDeath
GndAttkInit    	CrashedNoradIIGndAttkInit
AirAttkInit    	CrashedNoradIIAirAttkInit
SpAbility1     	[NONE]
GndAttkRpt     	CrashedNoradIIGndAttkInit
AirAttkRpt     	CrashedNoradIIAirAttkInit
SpAbility2     	CrashedNoradIISpAbility2
GndAttkToIdle  	CrashedNoradIIGndAttkToIdle
AirAttkToIdle  	CrashedNoradIIGndAttkToIdle
SpAbility3     	[NONE]
Walking        	CrashedNoradIIWalking
Other          	CrashedNoradIIOther
BurrowInit     	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

CrashedNoradIIInit:
	imgul09        	300 0 42	# CrashedNoradIIShad
	playfram       	0x00	# frame set 0
	goto           	CrashedNoradIIGndAttkToIdle

CrashedNoradIIGndAttkToIdle:
	wait           	125
	goto           	CrashedNoradIIGndAttkToIdle

CrashedNoradIIDeath:
	playsnd        	177	# Terran\BATTLE\tbaDth00.wav
	imgol08        	333 0 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	333 40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	333 0 40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	333 -40 0	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	imgol08        	333 0 -40	# TerranBuildingExplosionmedium (thingy\tBangL.grp)
	wait           	3
	end            	

CrashedNoradIIGndAttkInit:
	imgol08        	446 0 0	# BCLaserFireOverlay (thingy\elbBat.grp)
	goto           	local00

local00:
	wait           	1
	attack25       	1
	wait           	1
	attack25       	1
	wait           	1
	attack25       	1
	wait           	1
	attack25       	1
	wait           	1
	attack25       	1
	wait           	1
	attack25       	1
	gotorepeatattk 	
	goto           	CrashedNoradIIGndAttkToIdle

CrashedNoradIIAirAttkInit:
	goto           	local01

local01:
	wait           	1
	attack25       	2
	wait           	1
	attack25       	2
	wait           	1
	attack25       	2
	wait           	1
	attack25       	2
	wait           	1
	attack25       	2
	wait           	1
	attack25       	2
	gotorepeatattk 	
	goto           	CrashedNoradIIGndAttkToIdle

CrashedNoradIISpAbility2:
	imgol0a        	543	# YamatoCharge (thingy\eycBlast.grp)
	goto           	CrashedNoradIIGndAttkToIdle

CrashedNoradIIWalking:
	goto           	CrashedNoradIIGndAttkToIdle

CrashedNoradIIOther:
	shvertpos      	1
	waitrand       	8 10
	shvertpos      	2
	waitrand       	8 10
	shvertpos      	1
	waitrand       	8 10
	shvertpos      	0
	waitrand       	8 10
	goto           	CrashedNoradIIOther
Should be pretty straight forward.
Last edited by Anonymous on Sat Dec 30, 2006 12:14 pm, edited 1 time in total.
Gameproc
Though we stand alone, stand we shall.
User avatar
Atom Heart Mother
Terran Supply Depot Clerk
Terran Supply Depot Clerk
Posts: 10
Joined: Mon Sep 04, 2006 12:38 am

Re: Multiple projectiles?

Post by Atom Heart Mother »

Ice is easier to use, but mesk says it messes up the iscript file on occasion. It's easeir to learn iscript basics on so you can work with it for a while and then go to icecc. Just make backups.
User avatar
UntamedLoli
Protoss Zealot Practice Dummy
Protoss Zealot Practice Dummy
Posts: 856
Joined: Sun Oct 15, 2006 2:36 pm
Location: Canada, BC
Contact:

Re: Multiple projectiles?

Post by UntamedLoli »

Corruption was the main problem with the older tools which Ice is quite good at causing.
Image
Image
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8332
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా
Contact:

Re: Multiple projectiles?

Post by IskatuMesk »

Actually, icecc is easier to use. ICE's interface is so glitchy that it can really confuse you unless you pay extremely close attention.
Gameproc
Though we stand alone, stand we shall.
User avatar
Atom Heart Mother
Terran Supply Depot Clerk
Terran Supply Depot Clerk
Posts: 10
Joined: Mon Sep 04, 2006 12:38 am

Re: Multiple projectiles?

Post by Atom Heart Mother »

But you don't have to type anything ;)
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8332
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా
Contact:

Re: Multiple projectiles?

Post by IskatuMesk »

Typing a few lines > messing with the menu for five minutes
Gameproc
Though we stand alone, stand we shall.
User avatar
Xenon
Zerg Queen's Nest Slave Trainee
Zerg Queen's Nest Slave Trainee
Posts: 771
Joined: Mon Oct 23, 2006 3:29 pm

Re: Multiple projectiles?

Post by Xenon »

Only if you know exactly what to type.

I find it odd that the "spawn projectile at distance" function is still incorrectly described as "spawn projectile at angle" after all these years, but then again, I seem to have been one of the first to figure out the meaning of those weapons.dat "coordinates" too...
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8332
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా
Contact:

Re: Multiple projectiles?

Post by IskatuMesk »

Those coordinates can be pretty buggy. I was messing with them before and they had a habit of not doing anything.
Gameproc
Though we stand alone, stand we shall.
Post Reply