IceCC script Help! Attacking science vessels


Topic author
SidKaldor
Terran Academy Student (50k mineral debt)
Terran Academy Student (50k mineral debt)
Posts: 8
Joined: Sun Jun 07, 2009 3:21 am
Status: Offline

IceCC script Help! Attacking science vessels

Postby SidKaldor » Mon Dec 22, 2014 4:57 am

Hey, I've been trying to get the Science Vessel to attack and also give the Normal Archon some spells. Unfortunately the Science Vessel attacks and it works at times but unfortunately it still crashes at times, I think its because I don't really know what I'm doing when I'm using IceCC since I really don't know or understand how the program works and the Archon only casts half the spells that don't require animations (Hallucination, Mind Control, etc), but other spells that require an animation the archon just freezes up halfway in animation and the spell isn't cast. Here's what I have so far in IceCC, hopefully you guys can spot the problem and tell me what I'm doing wrong thanks!

# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 260 ScienceVessel (terran\wessel.grp)
.headerstart
IsId 88
Type 12
Init ScienceVessel_Base_Init
Death ScienceVessel_Base_Death
GndAttkInit ScienceVessel_Base_GndAttkInit
AirAttkInit ScienceVessel_Base_GndAttkInit
Unused1 [NONE]
GndAttkRpt ScienceVessel_Base_GndAttkInit
AirAttkRpt ScienceVessel_Base_GndAttkInit
CastSpell ScienceVessel_Base_CastSpell
GndAttkToIdle ScienceVessel_Base_GndAttkToIdle
AirAttkToIdle ScienceVessel_Base_GndAttkToIdle
Unused2 [NONE]
Walking ScienceVessel_Base_Walking
WalkingToIdle ScienceVessel_Base_Walking
SpecialState1 [NONE]
.headerend
# ----------------------------------------------------------------------------- #

ScienceVessel_Base_Init:
imgol 261 0 0 # ScienceVesselTurret (terran\wesselt.grp)
imgul 262 0 42 # ScienceVesselShad (terran\tveShad.grp)
playfram 0
goto ScienceVessel_Base_Walking

ScienceVessel_Base_Walking:
wait 125
goto ScienceVessel_Base_Walking

ScienceVessel_Base_Death:
playsnd 348 # Terran\VESSEL\TVeDth00.WAV
imgol 333 0 0 # TerranBuildingExplosionmedium (thingy\tBangL.grp)
wait 3
end

ScienceVessel_Base_GndAttkInit:
wait 1
attackwith 1
gotorepeatattk
goto ScienceVessel_Base_Local00

ScienceVessel_Base_Local00:
wait 125
goto ScienceVessel_Base_Local00

ScienceVessel_Base_CastSpell:
imgol 539 0 0 # Unknown539 (thingy\tveGlowO.grp)
nobrkcodestart
wait 3
castspell
nobrkcodeend
gotorepeatattk
sigorder 2
goto ScienceVessel_Base_Walking

ScienceVessel_Base_GndAttkToIdle:
setvertpos 1
waitrand 8 10
setvertpos 2
waitrand 8 10
setvertpos 1
waitrand 8 10
setvertpos 0
waitrand 8 10
goto ScienceVessel_Base_GndAttkToIdle



# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 135 ArchonBeing (protoss\archonT.grp)
.headerstart
IsId 148
Type 12
Init ArchonBeingInit
Death ArchonBeingDeath
GndAttkInit ArchonBeingGndAttkInit
AirAttkInit ArchonBeingGndAttkInit
Unused1 [NONE]
GndAttkRpt ArchonBeingGndAttkInit
AirAttkRpt ArchonBeingGndAttkInit
CastSpell ArchonBeingCastSpell
GndAttkToIdle ArchonBeingGndAttkToIdle
AirAttkToIdle ArchonBeingGndAttkToIdle
Unused2 [NONE]
Walking ArchonBeingGndAttkToIdle
WalkingToIdle ArchonBeingGndAttkToIdle
SpecialState1 [NONE]
.headerend
# ----------------------------------------------------------------------------- #

ArchonBeingInit:
setfldirect 15
ArchonBeingGndAttkToIdle:
playfram 0xaa # frame set 10
wait 4
playfram 0xbb # frame set 11
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xdd # frame set 13
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xbb # frame set 11
wait 4
goto ArchonBeingGndAttkToIdle

ArchonBeingDeath:
wait 1
end

ArchonBeingGndAttkInit:
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
playfram 0x55 # frame set 5
trgtrangecondjmp 48 ArchonBeingLocal00
imgoluselo 549 0 0 # Unknown549 (thingy\emsBeam.grp)
ArchonBeingLocal00:
playsnd 58 # Bullet\PArFir00.wav
attack
wait 1
playfram 0x66 # frame set 6
wait 3
playfram 0x77 # frame set 7
wait 1
playfram 0x88 # frame set 8
wait 1
playfram 0x99 # frame set 9
wait 1
playfram 0x22 # frame set 2
wait 2
playfram 0x11 # frame set 1
wait 2
playfram 0x00 # frame set 0
wait 2
nobrkcodeend
gotorepeatattk
goto ArchonBeingGndAttkToIdle

ArchonBeingCastSpell:
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
playfram 0x55 # frame set 5
wait 4
goto ArchonBeingGndAttkToIdle

And By the way, I wanted to make Defensive Matrix and modify it so that the Science Vessel could target itself with it and cast Defensive Matrix on itself, how do I do that? Do I do it through DatEdit or through FireGraft?

On another note, whenever I try to extract and edit wirefram.grp from GRPEdit I get them extracted as BMP's, then even if I don't open them in Paint, the quality of the images gets degraded and when I try to put them back in the MPQ all of a sudden all the the wireframes get messed up. Help! All I'm trying to do is just simple stuff, I want to give Razsagal (Corsair) a Corsair wireframe instead of the Dark Templar wireframe she currently has and I want to give Aldaris a High Templar wireframe instead of the current BLANK wireframe he has right now. Thanks!

User avatar

IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8782
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘
Contact:
Status: Offline

Re: IceCC script Help! Attacking science vessels

Postby IskatuMesk » Tue Dec 23, 2014 9:48 am

Science vessel has two units to account for animation-wise (the turret and the body) while the archon has 3 (team color, glow, being). Since these assume header jumps from their parent if they lack animations or don't exit properly they will generally crash. It has been many, many years since I have even looking at iscript, but I'm not sure using unbreakable code between jumps is a good idea. I seem to recall it wasn't. Unless that's the way it originally was. Then nevermind. Been too long for any advice there, sorry.

For the defense matrix edit, you can check weapons.dat to see if it has a weapons entry and then change the targetting flags. If that is insufficient, you'll probably need to reverse the exe and make a plugin for firegraft most likely. Hope you know ASM.

Use paint shop pro to edit the wireframes and ensure you are using the palette they extract with, as well as saving as OS/2 BMP's.
Image~[Gameproc]~Image
Warning: dialogue contains politically incorrect content. Viewer rearsore may occur.

User avatar

NigelTittysh
Terran Refinery Attendant
Terran Refinery Attendant
Posts: 22
Joined: Tue Dec 23, 2014 11:37 am
Status: Offline

Re: IceCC script Help! Attacking science vessels

Postby NigelTittysh » Tue Dec 23, 2014 11:43 am

Don't use nobrkcode alongside jumps. They automatically break when one header exits, even if you jump to another.

Editing the targeting flags for Defensive Matrix can be done by going into order.dat and playing with the tags for the ability. It will require extensive testing to figure out which one does what, but I have successfully repurposed the spell to be able to affect only the caster, so it can be done. There is no weapons entry for it, so that will not work.

I've uploaded a .zip with the palettes you'll need for editing graphics. Click.

Also tell Ricky to get off his French ass and approve my post.

P.S. India
I am Nigel Tittysh, Indian intern from India!
Image


Return to “StarCraft Discussion”

Who is online

Users browsing this forum: No registered users and 2 guests