I wonder how I can use the palette command in levels since I don't use Photoshop. Does it allow you to convert to indexed images for changing colors independently or are you required to use Photoshop for creating .act files as making palettes for the stage?The only case I can see some advantage is: stages, if you wanna use the "palette" command.
palette {path} {a1} {a2} {a3} {a4} {a5} {a6}
data/bgs/staage1/pal001.act}.
- This command loads new palette to be used by script or by 'setpalette' command (see below). However it only works if panels, frontpanels, bglayers and fglayers use same palette as background
- {path} is the path to loaded palette in .act format. For instance:
- {a1}, {a2}, {a3}, {a4}, {a5} and {a6} are flags that determines usage of respective transparency. a1 means alpha 1 transparency, a2 means alpha 2 and so on.
- This transparency feature costs 384kb memory when palette is loaded so use with care.
- This command can be declared more than once if more palettes are required.
You can point it to images too. This is how I use:I wonder how I can use the palette command in levels since I don't use Photoshop.
# Palette filepath alpha1 alpha2 alpha3 alpha4 alpha5 alpha6
palette data/bgs/greece/greececorridor.act 0 0 0 0 0 0
palette data/bgs/greece/greececorridore.act 0 0 0 0 0 0
palette data/bgs/greece/greececorridorf.act 0 0 0 0 0 0
palette data/bgs/greece/greececorridori.act 0 0 0 0 0 0
palette data/bgs/greece/greececorridorp.act 0 0 0 0 0 0
palette data/bgs/greece/greececorridors.act 0 0 0 0 0 0
setpalette 2
at 480
Thanks!@Die_In_Fire Nice work. The Kunio zombie portrait looks like it jumps out of the black screen showing the cut-out below in the middle. But it looks like it's even when it jumps in the black border in the near end.
palette data/bgs/colores/color1.png 0 0 0 0 0 0 #blue
palette data/bgs/colores/color2.png 0 0 0 0 0 0 #red
palette data/bgs/colores/color3.png 0 0 0 0 0 0 #yellow
palette data/bgs/colores/color4.png 0 0 0 0 0 0 #black
palette data/bgs/colores/color5.png 0 0 0 0 0 0 #white
palette data/bgs/colores/color6.png 0 0 0 0 0 0 #green
Are you using jumpframe with a single frame like the zombie from bWWd's Battletoads mod? There're so many ways you can do it whether it's with or without scripts but what I can suggest you is to use a very simple animation script involving velocity. It does the job right but in a fun way. Not only that, but you can also use subject to gravity for it to stay outside of the ground. You use either subject_to_gravity 0 or antigravity 100. Plus, time your delay value for the frame to move.Thanks!
And yeah, can’t get the parameters right to make it jump from the “on-stage”area.
name zoom
type none
health 1
subject_to_gravity 0
remap data/chars/misc/zoom.gif data/chars/misc/zoom2.gif
remap data/chars/misc/zoom.gif data/chars/misc/zoom3.gif
remap data/chars/misc/zoom.gif data/chars/misc/zoom4.gif
remap data/chars/misc/zoom.gif data/chars/misc/zoom5.gif
remap data/chars/misc/zoom.gif data/chars/misc/zoom6.gif
animationscript data/scripts/script.c
anim idle
loop 0
delay 150
offset 60 -10
#jumpframe 0 5
#move 10
sound data/sounds/zoom.wav
@cmd velo001 0 0 1 #move up
frame data/chars/misc/zoom.gif
sound data/sounds/zoom.wav
@cmd velo001 0 0 0 # stop
frame data/chars/misc/zoom.gif
sound data/sounds/zoom.wav
@cmd velo001 0 0 -1 # move back down
frame data/chars/misc/zoom.gif
void velo001(float fX, float fZ, float fY){
//velo001
//Damon Vaughn Caskey
//05/06/2007
//
//Replicates movement effect.
//
//fX: X axis speed.
//fZ: Z axis speed.
//fY: Y axis speed.
void vSelf = getlocalvar("self"); //Get calling entity.
if (getentityproperty(vSelf, "direction")==0){ //Is entity facing right?
fX = -fX; ////Reverse X direction to match facing.
}
changeentityproperty(vSelf, "velocity", fX, fZ, fY); //Apply movement.
}
video 256x224
Thanks for the suggestions Maxman.Are you using jumpframe with a single frame like the zombie from bWWd's Battletoads mod? There're so many ways you can do it whether it's with or without scripts but what I can suggest you is to use a very simple animation script involving velocity. It does the job right but in a fun way. Not only that, but you can also use subject to gravity for it to stay outside of the ground. You use either subject_to_gravity 0 or antigravity 100. Plus, time your delay value for the frame to move.
There's something I forgot. Create a black border screen, especially for the bottom, and set it with either frontpanel or fglayer. I notice you are using the default screen resolution, but you can make a custom screen resolution by numbering its screen size for your mod in video.txt.
video.txt:
Code:video 256x224
If you wanna leave it that way, it's up to you.
How about you use that black border as a panel type with speedf 1 instead of fglayer exclusively for summoning the zombie zoom in the zombie levels, but have the dialogue-portrait as text type (if you use/have it) to terminate (with animation script) the black border so that you can allow the dialogue to show and no more covering? @O Ilusionista made a terminate script for eliminating a given model name which I use for eliminating any entity especially spawnbound entities. I'll show you the code when I get home. Search for "@cmd terminate" in the search box around here and what script it has.3. About the black border, I have used in other projects but in this one I have some dialog and portraits popping sometimes and don’t want to get them covered. Also I don’t think I need a black border actually.
void terminate(char target_name)
{// kill any entity on the screen by the given name
//Douglas Baldan - 11.27.2016 - Really thanks for the fix, White Dragon
// Thanks Lagarto
int i;
for (i = 0; i < openborvariant("count_entities"); ++i)
{
void ent = getentity(i);
if ( getentityproperty(ent, "exists") )
{
if ( getentityproperty(ent,"model") == target_name)
{
killentity(ent);
continue;
}
} else continue;
}
return;
}
anim fall
offset 140 188
delay 100
dropframe 1
landframe 3
@cmd terminate "burnknuc"
@cmd terminate "powdunk"
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_0.png
delay 27
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_1.png
delay 1000
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_2.png
move -3
delay 8
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_4.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_4.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_4.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_5.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_5.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_5.png
delay 12
move 0
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/406_3.png
anim freespecial2 #BURNING KNUCKLE
offset 140 188
delay 6
load burnknuc
load bkdust
custentity bkdust
spawnframe 1 0 1 0 0
loop 1 2 4
jumpframe 1 2 4 0 # 3 0.5 1.2 0
landframe 4 #5
sound data/sounds/heroes/terry/06_terry_00011.wav
bbox 118 108 51 79
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_3.png
bbox 122 103 44 64
@cmd spawnBind2 "burnknuc" 0 1 1 0 0 1
attack 161 104 51 31 11 1 0 0 0 0
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_4.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_6.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_6.png
#frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_5.png
attack 0
delay 6
@cmd terminate "burnknuc"
bbox 130 123 44 64
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_2.png
@cmd terminate "burnknuc"
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_2.png
anim freespecial4 #POWER DUNK
offset 140 188
delay 13
bbox 125 109 42 79
load powdunk
jumpframe 1 3 1.7 0
landframe 7
sound data/sounds/heroes/terry/06_terry_00012.wav
attack 138 114 43 50 9 1 0 0 0 0
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/170_2.png
delay 1
attack 0
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/170_2.png
bbox 125 86 43 79
delay 13
attack 135 90 43 50 9 1 0 0 0 0
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/170_3.png
attack 0
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/170_4.png
bbox 125 94 43 79
@cmd spawnBind "powdunk" 0 1 1 0 0
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/170_5.png
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/170_6.png
bbox 135 101 43 58
attack 166 120 43 50 9 1 0 0 0 0
delay 1000
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/170_7.png
delay 2
attack 0
bbox 130 123 44 64
frame data/chars/heroes/KOF_2K3_Terry_Sprite.7z/162_2.png
Delay is used for one frame to play from a given value until it goes to the next frame or ends its animation. It's like you're using move, movez, or movea on one frame, and having it use 0 after that in the next frame or so. The higher the delay value activates, the slower the frame runs for the next. However, the smaller the velocity speed goes, the slower its speed goes. (A smaller delay value makes a frame run fast/ A higher velocity value runs faster like jumpframe.)anim idle
loop 0
delay 40
offset 60 -10
sound data/sounds/zoom.wav
@cmd velo001 0 0 0.73 #move up
frame data/chars/misc/zoom.gif
sound data/sounds/zoom.wav
@cmd velo001 0 0 0 # stop
frame data/chars/misc/zoom.gif
sound data/sounds/zoom.wav
@cmd velo001 0 0 -0.73 # move back down
frame data/chars/misc/zoom.gif
what should be a good spawn/respawn animation? Just idle?
Just keep in mind that script is arbitrary: It will look for all models that have that name and finish ALL of them at once, not just one.@O Ilusionista made a terminate script for eliminating a given model name which I use for eliminating any entity especially spawnbound entities.
void terminateAlias(char target_name)
{// kill any entity on the screen by the given name
//Douglas Baldan - 2021.06.17 - Really thanks for the fix, White Dragon
// Thanks Lagarto
int i;
for (i = 0; i < openborvariant("count_entities"); ++i)
{
void ent = getentity(i);
if ( getentityproperty(ent, "exists") )
{
if ( getentityproperty(ent,"name") == target_name)
{
killentity(ent);
continue;
}
} else continue;
}
return;
}
@cmd terminateAlias "Max"
You know what? You don't have to use the terminate script, but try to use setlayer to an entity as if it were at Z.Thanks for all the suggestions.
I wanted to have an update demo ready for Halloween with that zombie mode, but life got in the way.
setlayer {int}
- This entity will be displayed as if it were at z position {int}, regardless of it's actual position.
I like them! ^^They are looking hella cute on that map
I prefer to smash a button to access the stage actually, but I live the idea on showing the stage info with player closeYep, they are cute. Would it be easier to just touch map marker to access the location? unless you're going to add marker name feature. This feature will show marker's name when player is close to the marker and hide the name when player moves away from the marker.