Solved White screen with drawbox method (?)

Question that is answered or resolved.

Crimsondeath

Active member
Hi again! I hope everyone had a great start to the new year!
Well, I need help to create a huge flash from a explosion (those kind of explosions that turns the screen totally white and them fade away smoothly).

So I try to do it with the drawbox method, but there is a problem:
Code:
name    Explosion7
type    none
shadow    0
...


anim    idle
    loop    0
    delay   3
    offset    48 49
@script
if(frame>=1){ // <--- I already tried without the conditional "if frame" :( 
    drawbox(0, 0, openborvariant("hresolution"), openborvariant("vresolution"), 1000, rgbcolor(255, 255, 255), 1);
}
    @end_script
    frame    data/chars/misc/Xplos/explosion7/explosion1a.gif
    drawmethod    scale 1.1 1.1
    frame    data/chars/misc/Xplos/explosion7/explosion1a.gif
    drawmethod    scale 1.2 1.2
    frame    data/chars/misc/Xplos/explosion7/explosion1a.gif
...

The white box didn't shows or I think it shows (by just smalls milliseconds) when I use "if frame" but without that, the white box didn't appear, I also need that the white box fade out slowly.

What should I do? does anyone has a script for do it? or It's better do it with a white sprite image :unsure:.

----------------------------
Besides, does anyone know how to set falling knocked down entities speed and height with scripts? I can do it with "dropv" and the attack box, but I just wonder if I can do it without it.

Thanks :D
 
Solution
You put 2 drawmethod parts in one line. That's why it doesn't work on screen. To do this, you need to separate drawmethod lines like this here.

Example:

Fade-in:
Code:
name    black-fade-in
type    none
#setlayer 268435341
setlayer 500000000   #268435341 covers entire hud



anim    fall
    delay    2
    offset    1 1
    frame    data/chars/misc/empty.gif
        
anim    idle
@script
void self = getlocalvar("self");
int width = openborvariant("levelwidth")/2;
changeentityproperty(self, "position", width, NULL(), NULL());
@end_script
    delay    15 # 30
    offset    500 990
    drawmethod    alpha 0
    drawmethod    channel 1
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.9
    drawmethod    alpha 6
    delay...
I would go for a white sprite image here. Or even more, an entity "whiteflash" where you have that blank image.
Because inside of that entity, you can fine control the duration of the fade, can control each frame delay, can trigger sounds, etc.
You can do all of it by script, sure, but I don't think it would worth the trouble.
 
does anyone know how to set falling knocked down entities speed and height with scripts? I can do it with "dropv" and the attack box, but I just wonder if I can do it without it.

Well, there's takedamagescript from the defender's side and didhitscript from the attacker's side. You can choose one to control falling speed of knocked down entities. I suggest the former if specific character falls differently due to his/her/its weigt.
 
Thanks both of you :D
But how can I control transparency in OpenBOR? I tried with "drawmethod alpha 6 drawmethod channel 0.25"

And simply don't work. The white screen doesn't appear or It shows with some opacity when I need a total control of it to do the whole white screen effect D': .

Code:
anim    idle
    loop    0
    delay    1
    offset    320 240
    drawmethod    scale 2 2
    drawmethod    alpha 6 drawmethod channel 0.25
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.50
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.75
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    delay    1000
    drawmethod    alpha 6 drawmethod channel 0
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    delay    1
    drawmethod    alpha 6 drawmethod channel 0.9
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.8
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.7
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.6
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.5
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.4
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.3
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.2
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.1
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.09
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.08
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.07
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.06
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.05
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.04
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.03
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.02
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    alpha 6 drawmethod channel 0.01
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/empty.gif
    @cmd    killentity getlocalvar("self")
    frame    data/chars/misc/empty.gif[
/CODE]
 
You put 2 drawmethod parts in one line. That's why it doesn't work on screen. To do this, you need to separate drawmethod lines like this here.

Example:

Fade-in:
Code:
name    black-fade-in
type    none
#setlayer 268435341
setlayer 500000000   #268435341 covers entire hud



anim    fall
    delay    2
    offset    1 1
    frame    data/chars/misc/empty.gif
        
anim    idle
@script
void self = getlocalvar("self");
int width = openborvariant("levelwidth")/2;
changeentityproperty(self, "position", width, NULL(), NULL());
@end_script
    delay    15 # 30
    offset    500 990
    drawmethod    alpha 0
    drawmethod    channel 1
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.9
    drawmethod    alpha 6
    delay    5 # 10
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.8
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.7
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.6
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.5
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.4
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.3
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.2
    frame    data/chars/misc/black.gif
    drawmethod    channel 0.1
    frame    data/chars/misc/black.gif
    drawmethod    channel 0
    delay 500
    frame    data/chars/misc/black.gif
        
#|edited by openBor Stats v 0.67

Fade-out:
Code:
name    black-fade-out
type    none
setlayer 500000000   #268435341 covers entire hud




anim    fall
    delay    2
    offset    1 1
    frame    data/chars/misc/empty.gif
        
anim    idle
    delay    10
    offset    500 990
    drawmethod    alpha 6
    drawmethod    channel 0
    frame    data/chars/misc/black.gif # 0 - 10
    drawmethod    channel 0.1
    drawmethod    alpha 6
    delay    10
    frame    data/chars/misc/black.gif # 1 - 20
    drawmethod    channel 0.2
    frame    data/chars/misc/black.gif # 2 - 30
    drawmethod    channel 0.3
    frame    data/chars/misc/black.gif # 3 - 40
    drawmethod    channel 0.4
    frame    data/chars/misc/black.gif # 4 - 50
    drawmethod    channel 0.5
    frame    data/chars/misc/black.gif # 5 - 60
    drawmethod    channel 0.6
    frame    data/chars/misc/black.gif # 6 - 70
    drawmethod    channel 0.7
    frame    data/chars/misc/black.gif # 7 - 80
    drawmethod    channel 0.8
    frame    data/chars/misc/black.gif # 8 - 90
    drawmethod    channel 0.9
    frame    data/chars/misc/black.gif # 9 - 100
    drawmethod    channel 0
    drawmethod    alpha 0
    delay 500
    frame    data/chars/misc/black.gif # 10 - 600
        
#|edited by openBor Stats v 0.67
 
Solution
If this whitescreen is always use alpha 6, you should just declare alpha 6 in the header and not use drawmethod.
Also :
Code:
    delay    1000
    drawmethod channel 0
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif

should be:
Code:
    delay    1000
    drawmethod channel 1
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif

BTW 1000 centiseconds or 10 seconds is pretty long for this FX.
 
@maxman Perfect! Works Great :D

@Bloodbane It was just for testing purpose xddd.

I leave the code here if someone need it:
Code:
name Fx_white_screen
type    none
shadow    0
setlayer 999

palette data/chars/misc/Xplos/explosion7/whitescreen.gif





anim    idle
    loop    0
    delay    10
    offset    160 0
    drawmethod    scale 3 3
    drawmethod    alpha 6
    drawmethod    channel 0
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.1
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.2
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.3
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.4
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.5
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.6
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.7
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.8
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.9
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    delay    200
    drawmethod    alpha 0
    drawmethod    channel 1
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    delay    7
    drawmethod    channel 0.9
    drawmethod    alpha 6
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.8
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.7
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.6
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.5
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.4
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.3
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.2
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0.1
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    drawmethod    channel 0
    frame    data/chars/misc/Xplos/explosion7/whitescreen.gif
    frame    data/chars/misc/empty.gif
    @cmd    killentity getlocalvar("self")
    frame    data/chars/misc/empty.gif
 
Last edited:
Back
Top Bottom