Staredit Network > Forums > Modding Assistance > Topic: Help with an overlay remaining after death..
Help with an overlay remaining after death..
Feb 10 2009, 3:20 am
By: bajadulce  

Feb 10 2009, 3:20 am bajadulce Post #1



I added an overlay to an attack, but in my replay tests, the unit dies sometimes while in the middle of this attack and the overlay remains as well as the unit sometimes. Remind me what I need to do to correct this. Is it as simple as adding more time to the death routine before it "ends"? I can post the script if needed.



None.

Feb 10 2009, 3:22 am Biophysicist Post #2



Adding a wait would probabl fix it.



None.

Feb 10 2009, 4:04 am bajadulce Post #3



OK thnx, how much wait? I added 40 and that didn't do the trick. I'm posting the script now, as I must be doing something elementary wrong here:

Code
.headerstart
IsId               153
Type               21
Init               DragoonInit
Death               DragoonDeath
GndAttkInit         DragoonGndAttkInit
AirAttkInit         DragoonGndAttkInit
Unused1             [NONE]
GndAttkRpt         DragoonGndAttkRpt
AirAttkRpt         DragoonGndAttkRpt
CastSpell           [NONE]
GndAttkToIdle       DragoonWalkingToIdle
AirAttkToIdle       DragoonWalkingToIdle

...

DragoonInit:
    playfram           0x154     # 20
    wait         2

DragoonWalkingToIdle:
    playfram           0x165     # 21
    wait         2
    playfram           0x176     # 22
    wait         2
    playfram           0x187     # 23
    wait         2
    playfram           0x198     # 24
    wait         2
    playfram           0x1a9     # 25
    wait         2
    playfram           0x1ba     # 26
    wait         2
    playfram           0x1cb     # 27
    wait         2
    playfram           0x1ba     # 26
    wait         2
    playfram           0x1a9     # 25
    wait         2
    playfram           0x198     # 24
    wait         2
    playfram           0x187     # 23
    wait         2
    playfram           0x176     # 22
    wait         2
    playfram           0x165     # 21
    wait         2
    goto               DragoonWalkingToIdle


DragoonDeath:
    playsnd             493     # PDrDth00.WAV
    setfldirect         0
    playfram           0x00     # 0
    wait               1
    lowsprul           490 0 0    
    wait               40
    end                

DragoonGndAttkInit:
    playfram           0xaa     # 10
    wait         1

DragoonGndAttkRpt:
    randcondjmp     32 Dragoon_Critical
    randcondjmp     16 Dragoon_Doom

Dragoon_Norm:
    nobrkcodestart
    playfram           0x00     # 0
    wait         1
    playfram           0x11     # 1
    wait         2
    playfram           0x22     # 2
    wait         3
    playfram           0x33     # 3
    wait         4
    playfram           0x44     # 4
    wait         6
    attackwith      1
    playfram           0x55     # 5
    wait         2
    playfram           0x66     # 6
    wait         1
    playfram           0x77     # 7
    wait         1
    playfram           0x88     # 8
    wait         1
    playfram           0x99     # 9
    wait         1
    playfram           0xaa     # 10
    wait         1

Dragoon_AttkEnd:
    nobrkcodeend
    gotorepeatattk
    ignorerest    
    goto               DragoonWalkingToIdle

Dragoon_Critical:
    nobrkcodestart
    imgol         230 0 -55
    playfram           0x00     # 0
    wait         1
    playfram           0x11     # 1
    wait         2
    playfram           0x22     # 2
    wait         3
    playfram           0x33     # 3
    wait         4
    playfram           0x44     # 4
    wait         8
    attackwith      2
    playfram           0x55     # 5
    wait         2
    playfram           0x66     # 6
    wait         1
    playfram           0x77     # 7
    wait         1
    playfram           0x88     # 8
    wait         1
    playfram           0x99     # 9
    wait         1
    playfram           0xaa     # 10
    wait         8
    goto         Dragoon_AttkEnd

Dragoon_Doom:
    nobrkcodestart
    imgol         918 0 -55
    playfram           0x00     # 0
    wait         1
    playfram           0x11     # 1
    wait         1
    playfram           0x22     # 2
    wait         1
    playfram           0x33     # 3
    wait         1
    playfram           0x44     # 4
    wait         1
    playfram           0x55     # 5
    wait         1
    playfram           0x66     # 6
    wait         1
    playfram           0x77     # 7
    wait         1
    playfram           0x88     # 8
    wait         1
    playfram           0x99     # 9
    wait         1
    playfram           0xaa     # 10
    wait         25
    goto         Dragoon_AttkEnd



Post has been edited 3 time(s), last time on Feb 10 2009, 5:07 am by bajadulce.



None.

Feb 10 2009, 5:52 am FlyingHat Post #4



Rusty from not modding for at least half a year but oh well.
Code
.headerstart
IsId               153
Type               424269 (ignore this)
Init               supremecocktaculardeluxeprime (this too)
Death               DragoonDeath
GndAttkInit         DragoonGndAttkInit
AirAttkInit         DragoonGndAttkInit
Unused1             [NONE]
GndAttkRpt         DragoonGndAttkRpt
AirAttkRpt         DragoonGndAttkRpt
CastSpell           [NONE]
GndAttkToIdle       DragoonGndAttkToIdle
AirAttkToIdle       DragoonGndAttkToIdle

...

DragoonInit:
   playfram           0x154     # 20
   wait         2

DragoonWalkingToIdle:
   playfram           0x165     # 21
   wait         2
   playfram           0x176     # 22
   wait         2
   playfram           0x187     # 23
   wait         2
   playfram           0x198     # 24
   wait         2
   playfram           0x1a9     # 25
   wait         2
   playfram           0x1ba     # 26
   wait         2
   playfram           0x1cb     # 27
   wait         2
   playfram           0x1ba     # 26
   wait         2
   playfram           0x1a9     # 25
   wait         2
   playfram           0x198     # 24
   wait         2
   playfram           0x187     # 23
   wait         2
   playfram           0x176     # 22
   wait         2
   playfram           0x165     # 21
   wait         2
   goto               DragoonWalkingToIdle


DragoonDeath:
   playsnd             493     # PDrDth00.WAV
   setfldirect         0
   playfram           0x00     # 0
   wait               1
   lowsprul           490 0 0    
   wait               1
   end                

DragoonGndAttkInit:
   playfram           0xaa     # 10
   wait         1

DragoonGndAttkRpt:
   randcondjmp     32 Dragoon_Critical
   wait         1
   randcondjmp     16 Dragoon_Doom
   wait         1

Dragoon_Norm:
   nobrkcodestart
   playfram           0x00     # 0
   wait         1
   playfram           0x11     # 1
   wait         2
   playfram           0x22     # 2
   wait         3
   playfram           0x33     # 3
   wait         4
   playfram           0x44     # 4
   wait         6
   attackwith      1
   playfram           0x55     # 5
   wait         2
   playfram           0x66     # 6
   wait         1
   playfram           0x77     # 7
   wait         1
   playfram           0x88     # 8
   wait         1
   playfram           0x99     # 9
   wait         1
   playfram           0xaa     # 10
   wait         1

DragoonGndAttkToIdle:
   nobrkcodeend
   gotorepeatattk
   ignorerest    
   goto               DragoonWalkingToIdle

Dragoon_Critical:
   nobrkcodestart
   imgol         230 0 -55
   playfram           0x00     # 0
   wait         1
   playfram           0x11     # 1
   wait         2
   playfram           0x22     # 2
   wait         3
   playfram           0x33     # 3
   wait         4
   playfram           0x44     # 4
   wait         8
   attackwith      2
   playfram           0x55     # 5
   wait         2
   playfram           0x66     # 6
   wait         1
   playfram           0x77     # 7
   wait         1
   playfram           0x88     # 8
   wait         1
   playfram           0x99     # 9
   wait         1
   playfram           0xaa     # 10
   wait         8
   goto         DragoonGndAttkToIdle

Dragoon_Doom:
   nobrkcodestart
   imgol         918 0 -55
   playfram           0x00     # 0
   wait         1
   playfram           0x11     # 1
   wait         1
   playfram           0x22     # 2
   wait         1
   playfram           0x33     # 3
   wait         1
   playfram           0x44     # 4
   wait         1
   playfram           0x55     # 5
   wait         1
   playfram           0x66     # 6
   wait         1
   playfram           0x77     # 7
   wait         1
   playfram           0x88     # 8
   wait         1
   playfram           0x99     # 9
   wait         1
   playfram           0xaa     # 10
   wait         25
   goto         DragoonGndAttkToIdle

The changes probably do nothing at all, but I tried.

Post has been edited 2 time(s), last time on Feb 10 2009, 6:00 am by FlyingHat.



None.

Feb 11 2009, 1:40 am bajadulce Post #5



alright thnx hat, I'll look at this another time and do some investigation. I just thought I'd ask here in this forum before doing any homework. I'll be using the "safe mode" scripts in the meantime.

Post has been edited 1 time(s), last time on Mar 4 2009, 6:01 pm by bajadulce.



None.

Mar 4 2009, 6:06 pm bajadulce Post #6



Well I think I discovered my problem with the overlays. It has to do with how they initiate. A quick test seemed to reveal the trouble. I haven't fully tested it out, as I have been plugging along with other stuff, but will be sure to update thread when problem is fully understood.

I've come to another obstacle tho. This time dealing with underlays. I want to add a huge 4 piece underlay to a building. The underlay will be a glowing brick mosaic and be nice eyecandy for my mod. My problem is that the upper 2 quadrants (I & II) don't seem to want to behave as "underlays" and these images are always above units? These underlays seem to have "overlay" properties? Must be something really simple.. Help. :blush:

Here's a pic of what I'm describing. I've left tccshad.grp to use the shadow/Fow(dark.pcx) in one half of the pic, so that you can see the units underneath. The normal draw, as seen in red, plus an animated script is the intended use. I will also be using the psi-field 2 iscript that "flips" the images right/left for quads II & III + 2 separate images for the upper half and lower half. This should give me the complete ellipse I desire.



So what gives?

Here is script for CC if it means anything.
Code
CommandCenterInit:
    imgul             277 350 350     # Command Center Shadow (terran\tccShad.grp)
    imgul             277 -350 350
    imgul                 277 350 -350
    imgul             277 -350 -350
CommandCenterBuilt:
    playfram              0x00     # Frame set 0
    goto                  CommandCenterWalking

CommandCenterWalking:
    wait                  125
    goto                  CommandCenterWalking




None.

Mar 4 2009, 6:47 pm A_of-s_t Post #7

aka idmontie

They always do that -- I'm pretty sure that underlays don't actually fully render below a unit, only halfway. :P I'd take an indirect route and have the sprites be units instead ans use a plugin to place them ( or, if this is a UMS map, triggers).



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Mar 4 2009, 7:07 pm bajadulce Post #8



well I just remembered the master modder Lord Aga actually used underlays for Ad Astras in a similar manner. Sure enough, I checked his mod and viola:


Now LordA is a tricky fellow :P I just flowcharted his little runaround and reproduced it to what I feel was to the t in a test mod, but alas still have quads I & II issues. Must be something more happening.

LordA also used the psifield2 to mirror the images as well! :) Ahh refreshing to think I have moments where I think the same as the GREAT ONE! :)

So somebody help me flowchart his mod to see what I'm missing.
his pylon uses factory .grp. The factory iscript calls imgul CC shadow. The CC shadow uses Archon Swirl iscript. The Archon swirl iscript uses Supply Depot/Refinery/Factory Shadow overlays. the factory shadow points to the CC one, but flipped via psifield2 iscript as does the refinery. I recreated all of this, but still no dice. What the heck am I missing?. :lol: maybe later tonight when I have more time to piece his little puzzle together.



None.

Mar 4 2009, 8:49 pm A_of-s_t Post #9

aka idmontie

sprul/imgul only creates the image/sprite one level lower than the building. Make your building one animation level higher than the lowest non-under ground animation level (I'm going off recall, so don't trust my labels :P). I believe I came across a problem like this in Temptation -- now that I'm really thinking about the problem -- and I just changed the animation levels.

It was the Terran Refinery know that my memory is coming back. The Terran Refinery is a bitch of a unit since it needs to run just right or else it crashes. For some reason, non-death animations for the Terran Refinery cannot have any imgul/sprul 's other than the shadow image.

Try changing the shadow of the building you want to have the transparent image with the transparent image. Make athe building a low animation level in units.dat. It SHOULD work how you want it to.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Mar 4 2009, 8:56 pm TriggR_HappE Post #10



Idk if overlays act the same way, but if they dont you could always just cut the image down to what would show if it was and underlay, but really it's an overlay.



None.

Mar 4 2009, 9:17 pm Syphon Post #11



Quote from A_of-s_t
sprul/imgul only creates the image/sprite one level lower than the building. Make your building one animation level higher than the lowest non-under ground animation level (I'm going off recall, so don't trust my labels :P). I believe I came across a problem like this in Temptation -- now that I'm really thinking about the problem -- and I just changed the animation levels. .

Also what I thought of when I read this—set the animation level to 2 and report back.



None.

Mar 4 2009, 10:07 pm bajadulce Post #12



Thnx. Setting the building's graphic one level lower (lvl3) than the other units did the trick. Pretty simple fix actually. Hopefully this single change in elevation won't allow some of the big units I have to walk ontop of this building. I guess I can always make sure the unit's dimensions don't allow this.

I checked LordA's mod real quick again to see if I overlooked the animation height. I just can't imagine doing that. While his pylon (factory) was indeed unchanged and set to lvl 4, the other units/buildings are set to 11! :) doh! Still it was fun flowcharting his madness! Very interesting as usual.



None.

Mar 5 2009, 12:33 am bajadulce Post #13



GDANGIT! ALWAYS SOME MF#$@%&'ng thing that ruins the fun. While setting the unit lower than all the other units, this same phenom happens if the unit in Quads 1 & 2 happens to be the SAME unit! F#$%*

In Ad Astras for example if you build another Outpost directly under one, the outer ring will cut right through the above outpost rather than UNDER it. In AdAstras, this underlay is only a thin line and so it doesn't make too big of a difference. My plans were for a solid animated underlay. But this won't work now unless the 2 units are separated by a considerable distance.. CRAP! :flamer: I guess I'll just use a dotted perimeter line similar to LordA's outpost now. ... so disappointed.



None.

Mar 5 2009, 3:35 am A_of-s_t Post #14

aka idmontie

If you REALLY want this idea, do what I said earlier, make the overlays a unit that is at the lowest animation level. It should work just like the installation gun turret.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Mar 5 2009, 4:57 pm bajadulce Post #15



what's the ICeCC syntax for something like that? I thought overlays were just images of units not the units themselves. i.e. they had no unit properties nor animation levels.

I've actually rearranged some things so that this unit is actually a protoss pylon now. The psi-aura now automatically lights up whenever you try to build another protoss building. When the pylon was a terran unit as it is in Ad Astras, the aura only displayed when you selected the pylon. Building placement that required a psi-field was then confusing without this aura lighting up. The outpost ring in Ad Astras and my brick mosaic were ideas to combat them. I have another use for the 4 quad image tho and will be using that in another situation.



None.

Mar 5 2009, 6:10 pm A_of-s_t Post #16

aka idmontie

Quote from bajadulce
what's the ICeCC syntax for something like that? I thought overlays were just images of units not the units themselves. i.e. they had no unit properties nor animation levels.
You would need to use a plugin or triggers in a UMS map.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Mar 5 2009, 6:54 pm bajadulce Post #17



ohh actual units. :D Well that's interesting. I can see some problems tho. Now these units have hitpoints and selection circles + wireframes etc. And if I went to all the trouble of removing all of these things, they'd still be units "owned" by me. What happens when the computer AI comes marching through my base? Will they attack those units or just ignore them? Sounds like there'd be some more problems with creating such a 4 unit beast.

Anywhoo.. I've actually changed my workers to probes now as this appeared to be hardcoded for all the pylon auras to light up with construction of another unit that requires psi. The pylon and all it's psi-placing buildings still remain terran and everything is working to my satisfaction now. Lots of work going through the fgraft reqs, but worth this nice effect.



None.

Mar 6 2009, 12:01 am ShadowFlare Post #18



What would happen if the overlays were on a turret on the building? Maybe you could set the turret's animation level low instead of the building. I don't really know whether this would actually work, though.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:53 pm]
Oh_Man -- https://youtu.be/MHOZptE-_-c are yall seeing this map? it's insane
[2024-5-04. : 1:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
[2024-5-04. : 1:05 am]
Vrael -- that's better
[2024-5-04. : 12:39 am]
NudeRaider -- can confirm, Vrael is a total madman
[2024-5-03. : 10:18 pm]
Vrael -- who says I'm not a total madman?
[2024-5-03. : 2:26 pm]
UndeadStar -- Vrael, since the ad messages get removed, you look like a total madman for someone that come late
[2024-5-02. : 1:19 pm]
Vrael -- IM GONNA MANUFACTURE SOME SPORTBALL EQUIPMENT WHERE THE SUN DONT SHINE BOY
[2024-5-02. : 1:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[2024-5-01. : 1:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
Please log in to shout.


Members Online: Oh_Man