In a mod, I have a Hunter Killer Lurker that replaces the Kakaru. It uses the Lurker's graphic, so the Kakaru's graphic is now unused. I've unchecked and checked all the appropriate tags and assigned the Kakaru to the Lurker command card in FireGraft, but a few problems still plague me.
- The new unit moves slower than the Lurker. How does one go about editing the new unit's speed?
- How do I edit the wireframe of the unit to change it from Infested Kerrigan's to that of a Lurker? I tried replacing the individual .bmp with clone of the Lurker's, and nothing happened. Same deal with the other unit below.
In the same mod, I have Sarah Kerrigan modded to be the new hero. Her graphic has been replaced with the new graphic. It has its very own new command card and is properly synced to that.
- The unit crashes the game when it casts a spell or attacks. Either way, how would I fix that? Both the script for the new graphic and the modified Sarah Kerrigan script that takes from the new graphic's script are attached below.
Please and thank you?
Original iscript tailored to the new graphic:

# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 126 High Templar (protoss\templar.grp)
.headerstart
IsId 158
Type 12
Init HighTemplarInit
Death HighTemplarDeath
GndAttkInit HighTemplarGndAttkInit
AirAttkInit HighTemplarGndAttkInit
Unused1 [NONE]
GndAttkRpt HighTemplarGndAttkInit
AirAttkRpt HighTemplarGndAttkInit
CastSpell HighTemplarCastSpell
GndAttkToIdle HighTemplarGndAttkToIdle
AirAttkToIdle HighTemplarGndAttkToIdle
Unused2 [NONE]
Walking HighTemplarWalking
WalkingToIdle HighTemplarGndAttkToIdle
SpecialState1 [NONE]
.headerend
# ----------------------------------------------------------------------------- #
HighTemplarInit:
imgul 150 3 3 # Observer Warp Flash (protoss\witness.grp)
playfram 0x55 # Frame set 5
wait 2
goto HighTemplarGndAttkToIdle
HighTemplarGndAttkToIdle:
playfram 0x55 # Frame set 5
wait 2
goto HighTemplarLocal00
HighTemplarLocal00:
wait 125
goto HighTemplarLocal00
HighTemplarDeath:
playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV
imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp)
wait 2
end
HighTemplarGndAttkInit:
playfram 0x88 # Frame set 8
nobrkcodestart
wait 1
playfram 0x99 # Frame set 9
wait 1
playsnd 101 # Bullet\LaserB.wav
playfram 0xaa # Frame set 10
wait 1
playfram 0xbb # Frame set 11
wait 1
playfram 0xcc # Frame set 12
wait 1
playfram 0xdd # Frame set 13
wait 1
attackwith 1
playfram 0xee # Frame set 14
wait 1
playfram 0xff # Frame set 15
wait 1
playfram 0x00 # Frame set 0
wait 1
nobrkcodeend
gotorepeatattk
playfram 0x66 # Frame set 6
goto HighTemplarLocal00
HighTemplarCastSpell:
playfram 0x88 # Frame set 8
nobrkcodestart
wait 1
playfram 0x99 # Frame set 9
wait 1
playsnd 101 # Bullet\LaserB.wav
playfram 0xaa # Frame set 10
wait 1
playfram 0xbb # Frame set 11
wait 1
playfram 0xcc # Frame set 12
wait 1
playfram 0xdd # Frame set 13
wait 1
castspell
playfram 0xee # Frame set 14
wait 1
playfram 0xff # Frame set 15
wait 1
playfram 0x00 # Frame set 0
wait 1
nobrkcodeend
gotorepeatattk
playfram 0x66 # Frame set 6
goto HighTemplarLocal00
HighTemplarWalking:
move 4
wait 1
playfram 0x121 # Frame set 17
move 4
wait 1
playfram 0x132 # Frame set 18
move 4
wait 1
playfram 0x143 # Frame set 19
move 4
wait 1
playfram 0x154 # Frame set 20
move 4
wait 1
playfram 0x165 # Frame set 21
move 4
wait 1
playfram 0x176 # Frame set 22
move 4
wait 1
playfram 0x187 # Frame set 23
move 4
wait 1
playfram 0x110 # Frame set 16
goto HighTemplarWalking
Modified Sarah Kerrigan iscript that uses all the same stuff but properly (I think) renamed:

# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 237 Sarah Kerrigan (terran\ughost.grp)
.headerstart
IsId 77
Type 13
Init SarahKerriganInit
Death SarahKerriganDeath
GndAttkInit SarahKerriganGndAttkInit
AirAttkInit SarahKerriganAirAttkInit
Unused1 [NONE]
GndAttkRpt SarahKerriganGndAttkInit
AirAttkRpt SarahKerriganGndAttkInit
CastSpell SarahKerriganCastSpell
GndAttkToIdle SarahKerriganGndAttkToIdle
AirAttkToIdle SarahKerriganGndAttkToIdle
Unused2 [NONE]
Walking SarahKerriganWalking
WalkingToIdle SarahKerriganInit
SpecialState1 [NONE]
.headerend
# ----------------------------------------------------------------------------- #
SarahKerriganInit:
imgul 150 3 3 # Observer Warp Flash (protoss\witness.grp)
playfram 0x55 # Frame set 5
wait 2
goto SarahKerriganGndAttkToIdle
SarahKerriganGndAttkToIdle:
playfram 0x55 # Frame set 5
wait 2
goto SarahKerriganLocal00
SarahKerriganLocal00:
wait 125
goto SarahKerriganLocal00
SarahKerriganDeath:
playsnd 741 # Protoss\DARKTEMPLAR\PDTDth00.WAV
imgol 153 0 0 # Zealot Death (protoss\zealot.grp)
wait 1
end
SarahKerriganGndAttkInit:
playfram 0x88 # Frame set 8
nobrkcodestart
wait 1
playfram 0x99 # Frame set 9
wait 1
playsnd 110 # Bullet\zdeAtt00.wav
playfram 0xaa # Frame set 10
wait 1
playfram 0xbb # Frame set 11
wait 1
playfram 0xcc # Frame set 12
wait 1
playfram 0xdd # Frame set 13
wait 1
attackwith 1
playfram 0xee # Frame set 14
wait 1
playfram 0xff # Frame set 15
wait 1
playfram 0x00 # Frame set 0
wait 1
nobrkcodeend
gotorepeatattk
playfram 0x66 # Frame set 6
goto SarahKerriganLocal00
SarahKerriganAirAttkInit:
playfram 0x88 # Frame set 8
nobrkcodestart
wait 1
playfram 0x99 # Frame set 9
wait 1
playsnd 78 # Bullet\ZLuFir00.wav
playfram 0xaa # Frame set 10
wait 1
playfram 0xbb # Frame set 11
wait 1
playfram 0xcc # Frame set 12
wait 1
playfram 0xdd # Frame set 13
wait 1
attackwith 2
playfram 0xee # Frame set 14
wait 1
attackwith 2
playfram 0xff # Frame set 15
wait 1
attackwith 2
playfram 0x00 # Frame set 0
wait 1
nobrkcodeend
gotorepeatattk
playfram 0x66 # Frame set 6
goto SarahKerriganLocal00
SarahKerriganCastSpell:
playfram 0x88 # Frame set 8
nobrkcodestart
wait 1
playfram 0x99 # Frame set 9
wait 1
playsnd 548 # Protoss\ARBITER\PAbCag00.WAV
playfram 0xaa # Frame set 10
wait 1
playfram 0xbb # Frame set 11
wait 1
playfram 0xcc # Frame set 12
wait 1
playfram 0xdd # Frame set 13
wait 1
castspell
playfram 0xee # Frame set 14
wait 1
playfram 0xff # Frame set 15
wait 1
playfram 0x00 # Frame set 0
wait 1
nobrkcodeend
gotorepeatattk
playfram 0x66 # Frame set 6
goto SarahKerriganLocal00
SarahKerriganWalking:
move 4
wait 1
playfram 0x121 # Frame set 17
move 4
wait 1
playfram 0x132 # Frame set 18
move 4
wait 1
playfram 0x143 # Frame set 19
move 4
wait 1
playfram 0x154 # Frame set 20
move 4
wait 1
playfram 0x165 # Frame set 21
move 4
wait 1
playfram 0x176 # Frame set 22
move 4
wait 1
playfram 0x187 # Frame set 23
move 4
wait 1
playfram 0x110 # Frame set 16
goto SarahKerriganWalking
UPDATE.
As opposed to using the Kakaru, I replaced Sarah Kerrigan. Her updated script is where the Kakaru script was. The unit appears fine in-game, but unfortunately when he casts a spell or attacks, the game crashes. Any help? Can't find anything wrong with the script as it is.
Post has been edited 6 time(s), last time on Aug 20 2011, 5:11 am by Pr0nogo.
I'll just throw these out there, not sure if they actually might be the source of the problem.
- The new unit cannot burrow, despite being 'burrowable' in DatEdit and having the Lurker command card. This results in the unit not being able to be TOLD to attack, but attacking if not told otherwise (not moving, etc.). Is there something else I need to edit? They use the exact same iscripts.
Check if you left the "Flyer" box in the units.dat settings checked. Also, go into FireGraft and look at the DAT Requirements for using Burrow, and make sure they're okay.
- The new unit moves slower than the Lurker. Is this solved by merely editing the Kakaru's speed in DatEdit? I do remember that you can edit flying units' speeds without the use of iscripting (not that iscripting that is very difficult, either).
Yes, you can, but only for some units. Check your flingy.dat settings.
- The unit crashes the game. I assume it's just a visual crash, but I can't be sure. Either way, how would I fix that? Both the old, unused Zeratul script and the modified Kakaru script that takes from the Zeratul script are attached below.
Make sure that your new *.grp has at least the same number of frames as the one you're replacing.
None.
I didn't leave 'Flyer' checked. I'll look into DAT requirements when I get home.
As I said before, there are 97 more frames in the new .grp.
Updated the OP with the new Kakaru script. Please let me know what's going on, I literally took the script from where the modded .grp came from. Is it the Local00 scripts? Should those be removed?
Post has been edited 1 time(s), last time on Aug 17 2011, 2:14 am by Pr0nogo.
Still got nothing on this, although I've made more progress by myself. The unit works now that I've swapped it out for Sarah Kerrigan, but I can't for the life of me figure out why the unit is crashing when it attacks or casts a spell. Attached an updated script to the OP.

Responsible for my own happiness? I can't even be responsible for my own breakfast
Post your GRP file please.
As for changing the speed of your Hunter-Killer Lurker - flying units have their speed controlled by flingy.dat. You'll want to edit its flingy.dat entry so that it's under iscript control instead.
Did you modify the tech use requirements in FireGraft? If not, it won't be able to use burrow successfully.
Right, forgot to edit that. Hunter Killer Lurker now replaces Infested Kerrigan. How would one go about editing that speed?
Because I can't attach shit to this site for some reason, here's a download link from
sendspace.
http://www.sendspace.com/file/sz0n9bI renamed it to ughost.grp for the purpose of the mod, though, since the new hero replaces Sarah Kerrigan.
You might want to add "sigorder 2" to the CastSpell animation, though I'm not sure if it actually affects anything. More details
here.
Everything seems to be in good order otherwise. There might be something else that's causing crashes though, but that's not possible to tell just from the iscript.
None.
Mesk said that I need to edit a shadow to match the graphic, so I'll go about doing that and test. Hopefully that's all that's necessary.
Thanks for all the help, guys! I just need this one last thing resolved. How can I edit individual wireframe images? I want to replace the wireframes for Sarah Kerrigan and Infested Kerrigan (grpwire0016.bmp and grpwire0051.bmp in unit\grpwire.grp) with the High Templar and Lurker wireframes, respectively. Any ideas?
Uh? Use your favorite GRP editor to decompile the GRP into its BMP frames, edit whichever frames you want, compile back into a GRP, done. It's no more complicated than editing any other GRP.
Though, if you want the wireframe to display properly everywhere, you'll need to also edit wirefram.grp and tranwire.grp.
And, one more thing:
It's unit\
wirefram\grpwire.grp.
None.
Perhaps my not editing the other .grps was the mistake.
And yeah, that's a typo. I did it right in the .mpq.

>be faceless void >mfw I have no face
Make sure that when you save your edited wireframe back to BMP you use RLE or it won't work properly.
Red classic.
"In short, their absurdities are so extreme that it is painful even to quote them."

>be faceless void >mfw I have no face
Run Length Encoding.
http://www.modcrafters.com/wiki/index.php?title=Unit_properties_panel has a bit about wireframes and RLE. RLE is basically a compression method for palette-based images which SC uses for its wireframes; without using RLE it stuffs up. GIMP by default asks you whether you want to use RLE encoding when you save an indexed BMP; other programs like PS and PSP may not do so as easily.
Red classic.
"In short, their absurdities are so extreme that it is painful even to quote them."