Staredit Network > Forums > Modding Assistance > Topic: Need help with Iscript
Need help with Iscript
Oct 14 2007, 10:42 pm
By: SCORPIONOX  

Oct 14 2007, 10:42 pm SCORPIONOX Post #1



Um yeah... I've been having troubles changing the iscript to do what I want, could someone please point out whats wrong and how to fix it?
I was trying to add air attacks to several units, but it isn't working out very well.

Scripts Edited:

# 017 Drone (zerg\drone.grp)
.headerstart
IsId 11
Type 26
Init DroneInit
Death DroneDeath
GndAttkInit DroneGndAttkInit
AirAttkInit DroneGndAttkInit
SpAbility1 [NONE]
GndAttkRpt DroneGndAttkInit
AirAttkRpt DroneGndAttkInit
SpAbility2 [NONE]
GndAttkToIdle DroneGndAttkToIdle
AirAttkToIdle DroneGndAttkToIdle
SpAbility3 [NONE]
Walking DroneWalking
Other DroneGndAttkToIdle
BurrowInit [NONE]
ConstrctHarvst DroneConstrctHarvst
IsWorking DroneIsWorking
Landing [NONE]
LiftOff DroneWalking
Unknown18 DroneUnknown18
Unknown19 [NONE]
Unknown20 [NONE]
Unknown21 [NONE]
Unknown22 [NONE]
Unknown23 [NONE]
Unknown24 [NONE]
Burrow DroneBurrow
UnBurrow DroneUnBurrow
Unknown27 [NONE]
.headerend
# ----------------------------------------------------------------------------- #

DroneInit:
imgul09 18 0 7 # DroneShad (zerg\drone.grp)
playfram 0x00 # frame set 0
goto DroneGndAttkToIdle

DroneGndAttkToIdle:
wait 125
goto DroneGndAttkToIdle

DroneAirAttkToIdle:
wait 125
goto DroneAirAttkToIdle

DroneDeath:
playsnd 833 # Zerg\DRONE\ZDrDth00.WAV
playframno 0
playfram 0xaa # frame set 10
wait 2
playfram 0xbb # frame set 11
wait 2
playfram 0xcc # frame set 12
wait 2
playfram 0xdd # frame set 13
wait 2
playfram 0xee # frame set 14
wait 2
playfram 0xff # frame set 15
wait 2
playfram 0x110 # frame set 16
wait 2
playfram 0x121 # frame set 17
wait 2
sprul11 141 0 0 # DroneDeath (zerg\zdrDeath.grp)
wait 1
end

DroneGndAttkInit:
shvertpos 0
playsnd 64 # Bullet\SpoogHit.wav
sprol15 332 0 # NeedleSpines (thingy\spooge.grp)
wait 1
attack25 1
gotorepeatattk
goto DroneGndAttkToIdle

DroneAirAttkInit:
shvertpos 0
playsnd 64 # Bullet\SpoogHit.wav
sprol15 332 0 # NeedleSpines (thingy\spooge.grp)
wait 1
attack25 1
gotorepeatattk
goto DroneAirAttkToIdle

DroneWalking:
shvertpos 0
local23:
playfram 0x00 # frame set 0
wait 2
playfram 0x11 # frame set 1
wait 2
playfram 0x22 # frame set 2
wait 2
playfram 0x33 # frame set 3
wait 2
playfram 0x44 # frame set 4
wait 2
goto local23

DroneConstrctHarvst:
playfram 0x176 # frame set 22
goto DroneGndAttkToIdle

DroneIsWorking:
shvertpos 0
waitrand 5 8
playsnd 847 # Zerg\DRONE\ZDrMin00.wav
playfram 0x55 # frame set 5
wait 2
playfram 0x66 # frame set 6
wait 2
playfram 0x77 # frame set 7
wait 2
playfram 0x88 # frame set 8
wait 2
playfram 0x55 # frame set 5
goto DroneIsWorking

DroneUnknown18:
sigorder 16
goto DroneGndAttkToIdle

DroneBurrow:
imgol08 423 0 0 # Unknown423 (thingy\bDust.grp)
playfram 0x132 # frame set 18
wait 1
playfram 0x143 # frame set 19
wait 1
playfram 0x154 # frame set 20
wait 1
playfram 0x165 # frame set 21
wait 1
playfram 0x176 # frame set 22
wait 1
sigorder 4
goto DroneGndAttkToIdle

DroneUnBurrow:
waitrand 1 5
imgul09 423 0 0 # Unknown423 (thingy\bDust.grp)
playfram 0x165 # frame set 21
wait 1
playfram 0x154 # frame set 20
wait 1
playfram 0x143 # frame set 19
wait 1
playfram 0x132 # frame set 18
wait 1
playfram 0x00 # frame set 0
sigorder 4
goto DroneGndAttkToIdle




# 050 Ultralisk (zerg\ultra.grp)
.headerstart
IsId 29
Type 12
Init UltraliskInit
Death UltraliskDeath
GndAttkInit UltraliskGndAttkInit
AirAttkInit UltraliskGndAttkInit
SpAbility1 [NONE]
GndAttkRpt UltraliskGndAttkRpt
AirAttkRpt UltraliskGndAttkRpt
SpAbility2 [NONE]
GndAttkToIdle UltraliskGndAttkToIdle
AirAttkToIdle UltraliskGndAttkToIdle
SpAbility3 [NONE]
Walking UltraliskWalking
Other UltraliskGndAttkToIdle
BurrowInit [NONE]
.headerend
# ----------------------------------------------------------------------------- #

UltraliskInit:
imgul09 51 0 0 # UltraliskShad (zerg\zulShad.grp)
UltraliskGndAttkToIdle:
playfram 0x99 # frame set 9
goto local51
UltraliskAirAttkToIdle:
playfram 0x99 # frame set 9
goto local51

local51:
wait 125
goto local51

UltraliskDeath:
playsnd 878 # Zerg\Ultra\ZUlDth00.WAV
playframno 0
playfram 0xff # frame set 15
wait 2
playfram 0x100 # frame set 15
wait 2
playfram 0x101 # frame set 15
wait 2
playfram 0x102 # frame set 15
wait 2
playfram 0x103 # frame set 15
wait 2
playfram 0x104 # frame set 15
wait 2
playfram 0x105 # frame set 15
wait 2
playfram 0x106 # frame set 15
wait 2
playfram 0x107 # frame set 15
wait 2
playfram 0x108 # frame set 15
wait 2
sprul11 158 0 0 # UltraliskDeath (zerg\zulDeath.grp)
wait 1
end


UltraliskGndAttkInit:
playfram 0xee # frame set 14
UltraliskGndAttkRpt:
wait 1
nobrkcodestart
playsndrand 3 891 892 893 # Bullet\zmuFir00.wav, Zerg\Ultra\zulAtt00.WAV, Zerg\Ultra\zulAtt01.WAV, Zerg\Ultra\zulAtt02.WAV
wait 2
playfram 0xdd # frame set 13
wait 2
playfram 0xcc # frame set 12
attack1c 2 894 895 # Zerg\Ultra\zulHit00.WAV, Zerg\Ultra\zulHit01.WAV
wait 2
playfram 0xbb # frame set 11
wait 2
playfram 0xcc # frame set 12
wait 2
playfram 0xdd # frame set 13
wait 2
playfram 0xee # frame set 14
wait 2
nobrkcodeend
gotorepeatattk
goto UltraliskGndAttkToIdle

UltraliskAirAttkInit:
playfram 0xee # frame set 14
UltraliskAirAttkRpt:
wait 1
nobrkcodestart
playsndrand 3 891 892 893 # Zerg\Ultra\zulAtt00.WAV, Zerg\Ultra\zulAtt01.WAV, Zerg\Ultra\zulAtt02.WAV
wait 2
playfram 0xdd # frame set 13
wait 2
playfram 0xcc # frame set 12
attack1c 2 894 895 # Bullet\zmuFir00.wav, Zerg\Ultra\zulHit00.WAV, Zerg\Ultra\zulHit01.WAV
wait 2
playfram 0xbb # frame set 11
wait 2
playfram 0xcc # frame set 12
wait 2
playfram 0xdd # frame set 13
wait 2
playfram 0xee # frame set 14
wait 2
nobrkcodeend
gotorepeatattk
goto UltraliskAirAttkToIdle

UltraliskWalking:
move 2
wait 1
playfram 0x00 # frame set 0
move 6
wait 1
playfram 0x11 # frame set 1
move 4
wait 1
playfram 0x22 # frame set 2
move 3
wait 1
playfram 0x33 # frame set 3
move 2
wait 1
playfram 0x44 # frame set 4
move 7
wait 1
playfram 0x55 # frame set 5
move 8
wait 1
playfram 0x66 # frame set 6
move 7
wait 1
playfram 0x77 # frame set 7
move 8
wait 1
playfram 0x88 # frame set 8
move 7
wait 1
playfram 0x99 # frame set 9
goto UltraliskWalking




# 054 Zergling (zerg\zergling.grp)
.headerstart
IsId 31
Type 26
Init ZerglingInit
Death ZerglingDeath
GndAttkInit ZerglingGndAttkInit
AirAttkInit ZerglingGndAttkInit
SpAbility1 [NONE]
GndAttkRpt ZerglingGndAttkInit
AirAttkRpt ZerglingGndAttkInit
SpAbility2 [NONE]
GndAttkToIdle ZerglingGndAttkToIdle
AirAttkToIdle ZerglingGndAttkToIdle
SpAbility3 [NONE]
Walking ZerglingWalking
Other ZerglingGndAttkToIdle
BurrowInit [NONE]
ConstrctHarvst ZerglingConstrctHarvst
IsWorking [NONE]
Landing [NONE]
LiftOff [NONE]
Unknown18 [NONE]
Unknown19 [NONE]
Unknown20 [NONE]
Unknown21 [NONE]
Unknown22 [NONE]
Unknown23 [NONE]
Unknown24 [NONE]
Burrow ZerglingBurrow
UnBurrow ZerglingUnBurrow
Unknown27 [NONE]
.headerend
# ----------------------------------------------------------------------------- #

ZerglingInit:
imgul09 55 0 0 # ZerglingShad (zerg\zzeShad.grp)
ZerglingGndAttkToIdle:
playfram 0x55 # frame set 5
goto local52
ZerglingAirAttkToIdle:
playfram 0x55 # frame set 5
goto local52

local52:
wait 125
goto local52

ZerglingDeath:
playsnd 896 # Zerg\Zergling\ZZeDth00.WAV
playframno 0
playfram 0x121 # frame set 17
wait 2
playfram 0x122 # frame set 17
wait 2
playfram 0x123 # frame set 17
wait 2
playfram 0x124 # frame set 17
wait 2
playfram 0x125 # frame set 17
wait 2
playfram 0x126 # frame set 17
wait 2
playfram 0x127 # frame set 17
wait 2
sprul11 160 0 0 # ZerglingDeath (zerg\zzeDeath.grp)
wait 1
end

ZerglingGndAttkInit:
playsnd 101 # Bullet\LaserB.wav
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
attack1c 1 894 # Zerg\Ultra\zulHit00.WAV
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
nobrkcodeend
gotorepeatattk
goto ZerglingGndAttkToIdle

ZerglingAirAttkInit:
playsnd 101 # Bullet\LaserB.wav
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
attack1c 1 894 # Zerg\Ultra\zulHit00.WAV
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
nobrkcodeend
gotorepeatattk
goto ZerglingAirAttkToIdle

ZerglingWalking:
move 2
wait 1
playfram 0x66 # frame set 6
move 8
wait 1
playfram 0x77 # frame set 7
move 9
wait 1
playfram 0x88 # frame set 8
move 5
wait 1
playfram 0x99 # frame set 9
move 6
wait 1
playfram 0xaa # frame set 10
move 7
wait 1
playfram 0xbb # frame set 11
move 2
wait 1
playfram 0x55 # frame set 5
goto ZerglingWalking

ZerglingConstrctHarvst:
playfram 0x110 # frame set 16
goto local52

ZerglingBurrow:
imgol08 423 0 0 # Unknown423 (thingy\bDust.grp)
playfram 0xcc # frame set 12
wait 1
playfram 0xdd # frame set 13
wait 1
playfram 0xee # frame set 14
wait 1
playfram 0xff # frame set 15
wait 1
playfram 0x110 # frame set 16
wait 1
sigorder 4
goto local52

ZerglingUnBurrow:
waitrand 1 5
imgul09 423 0 0 # Unknown423 (thingy\bDust.grp)
playfram 0xff # frame set 15
wait 1
playfram 0xee # frame set 14
wait 1
playfram 0xdd # frame set 13
wait 1
playfram 0xcc # frame set 12
wait 1
sigorder 4
goto ZerglingGndAttkToIdle
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------


I thank those who contribute in advance, for helping me make my mod.



None.

Oct 14 2007, 10:56 pm who Post #2



It would be very helpful if you told us what you changed, and what's not working... because I don't really want to decompile the unit scripts and check what was modified, especially if you're using an old version of IceCC.

As far as I can tell, you're making a few units attack air. If that's not working, make sure that you the weapon used for the units has "air" checked - otherwise, it'll crash.
For the zergling, I don't think it works correctly if your attack is set to melee; I tried it once, it didn't crash, but the zergling just stopped.



None.

Oct 15 2007, 1:26 am SCORPIONOX Post #3



Quote from someone09
It would be very helpful if you told us what you changed, and what's not working... because I don't really want to decompile the unit scripts and check what was modified, especially if you're using an old version of IceCC.

Thanks for the advice, someone09. I'm not sure if I have an old version or where to find the current one, although that information would be very helpful. As for what I've changed, I will list that below.

All:
AirAttkInit and AirAttkRpt did not work, so I changed the script to read GndAttkInit and GndAttkRpt, but still leaving the "Air" headers(and it still doesn't work)

Drone Changes:
GndAttkInit and GndAttkRpt have copied and "Gnd" in those headers have been replaced with "Air"

Ultralisk:
GndAttkInit and GndAttkRpt have copied and "Gnd" in those headers have been replaced with "Air"(Ultralisk has had "Air" headers removed now)
Altered script to play "Bullet\zmuFir00.wav" as one of the attacking SFX(attacking sound, not hit)

Zergling
GndAttkInit and GndAttkRpt have copied and "Gnd" in those headers have been replaced with "Air"
Altered script to play "Bullet\LaserB.wav" as one of the attacking SFX(attacking sound, not hit)



None.

Oct 15 2007, 4:44 pm Fyrinite Post #4



One thing - did you remember to set the air flag for the weapons in Weapons.dat?



None.

Oct 15 2007, 9:51 pm SCORPIONOX Post #5



Yes, and that is why I don't know what went wrong.



None.

Oct 16 2007, 9:57 am ShadowFlare Post #6



Quote from DiscipleOfAdun
One thing - did you remember to set the air flag for the weapons in Weapons.dat?
As far as regular weapons, the only effect that has is that if it it unchecked, it can't do damage to air units, even on a direct hit where it was targeting the air unit. (which of course is still important ;) )



None.

Oct 17 2007, 1:44 am Lord_Jeremy Post #7



Does this have something to do with the attack 25 1 lines? I seem to remember that attack 25 1 will only work with ground and attack 25 2 will only wok with air or somesuch. I'm guessing that you just copied the ground attack blocks and changed the Goto labels?



None.

Oct 17 2007, 11:16 am SCORPIONOX Post #8



Quote from Lord_Jeremy
Does this have something to do with the attack 25 1 lines? I seem to remember that attack 25 1 will only work with ground and attack 25 2 will only wok with air or somesuch. I'm guessing that you just copied the ground attack blocks and changed the Goto labels?

Pretty much... Maybe that's the problem. If there are such scripts like that, do you think you could tell me some that work for both? Thanks in advance to Lord_Jeremy and anyone else posting advice on this thread.

Post has been edited 2 time(s), last time on Oct 17 2007, 11:27 am by SCORPIONOX.



None.

Oct 17 2007, 11:48 pm who Post #9



attackwith 1/attackwith 2 (icecc 1.3) will work for ground & air... it's just the weapon used
also, the name of the headers don't matter - as you can see, the marine uses the ground attack header for both ground and air.
it's probably because melee attacks don't work on air or something. I've never tested though.
use a newer version of ice, the headers less confusing and I think it detects errors better.



None.

Oct 18 2007, 1:59 am SCORPIONOX Post #10



Quote from someone09
attackwith 1/attackwith 2 (icecc 1.3) will work for ground & air... it's just the weapon used
also, the name of the headers don't matter - as you can see, the marine uses the ground attack header for both ground and air.
it's probably because melee attacks don't work on air or something. I've never tested though.
use a newer version of ice, the headers less confusing and I think it detects errors better.

Do you know where I could get v1.3? It would be really helpful if you did, and thank you in advance.



None.

Oct 22 2007, 2:17 pm Evien Post #11



Icecc 1.3



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[03:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
[2024-4-17. : 1:52 am]
Vrael -- hah do you think I was born yesterday?
[2024-4-17. : 1:08 am]
O)FaRTy1billion[MM] -- i'll trade you mineral counts
[2024-4-16. : 5:05 pm]
Vrael -- Its simple, just send all minerals to Vrael until you have 0 minerals then your account is gone
[2024-4-16. : 4:31 pm]
Zoan -- where's the option to delete my account
[2024-4-16. : 4:30 pm]
Zoan -- goodbye forever
Please log in to shout.


Members Online: Roy, Ultraviolet, RIVE