anim jump
#@script
int player = getlocalvar("player"); // This calls the entity
int self = getentityproperty(player, "entity"); // This one calls for player index
int attack2 = playerkeys(self, 1, "attack2"); // With player index in, attack2 button can be activated with a press if it's being called
if(frame == 0 && frame < 5){ // WATCH OUT FOR FRAME COUNTS
if(attack2){
performattack(self, openborconstant("ANI_FREESPECIAL19"));
}
}
@end_script
bbox 147 96 28 108
offset 162 202
delay 10
# cancel 0 4 0 a2 freespecial19
loop 1 3 5
landframe 5
frame data/chars/billy/jump01.png # 0 as first frame
bbox 142 101 49 90
frame data/chars/billy/jump02.png # 1 as second frame
bbox 142 114 47 50
frame data/chars/billy/jump03.png # 2 as third frame
bbox 147 96 28 108
frame data/chars/billy/jump04.png # 3
frame data/chars/billy/jump05.png # 4
frame data/chars/billy/land03.png # 5
frame data/chars/billy/land04.png # 6
name Billy #name {name}
type player #type {type}
gfxshadow 1 #gfxshadow {bi}
health 100 #health {int}
speed 10 #speed {int}
running 19 4 2 1 1 #running {speed} {height} {length} {move} {land}
turndelay 1 #turndelay {int}
atchain 1 1 2 7 #atchain {number} {number} {number} {number} {number} ......
combostyle 1 #combostyle {bool} bool 0 (default); old chain system; max attacks: 5... bool 1; new chain system; max attacks: 12
mp 100 #mp {value}
holdblock 1 #holdblock {bi}
palette data/chars/billy/cvsmap.png #palette {path}
alternatepal data/chars/billy/idle01.png #alternatepal {path}
projectilehit enemy
jumpheight 8
com d f a freespecial #com {direction} {direction}..... {action} {freespecial#}
com d b a freespecial2
animationscript data/scripts/script.c
com a2 freespecial3
com d u d u a freespecial9
#keyscript data/scripts/walljump.c
#script data/scripts/playerent.c
onmoveascript data/chars/platform/movea.c
onblockwscript data/chars/platform/wall.c
#ondrawscript data/scripts/DEBUG_GRAB.c
hi, maxman, have you tried latest version?Nice editing tool. I like this. I like how that tool gives response to entities. But there's some error I found which causes a crash It's where you put this # after the frame path. When I put # in there, it pops up as error. I use # after the frame path because there would be so many frames I would use in a single animation like up to 100 and so on.
Code:anim jump #@script int player = getlocalvar("player"); // This calls the entity int self = getentityproperty(player, "entity"); // This one calls for player index int attack2 = playerkeys(self, 1, "attack2"); // With player index in, attack2 button can be activated with a press if it's being called if(frame == 0 && frame < 5){ // WATCH OUT FOR FRAME COUNTS if(attack2){ performattack(self, openborconstant("ANI_FREESPECIAL19")); } } @end_script bbox 147 96 28 108 offset 162 202 delay 10 # cancel 0 4 0 a2 freespecial19 loop 1 3 5 landframe 5 frame data/chars/billy/jump01.png # 0 as first frame bbox 142 101 49 90 frame data/chars/billy/jump02.png # 1 as second frame bbox 142 114 47 50 frame data/chars/billy/jump03.png # 2 as third frame bbox 147 96 28 108 frame data/chars/billy/jump04.png # 3 frame data/chars/billy/jump05.png # 4 frame data/chars/billy/land03.png # 5 frame data/chars/billy/land04.png # 6
Also, I notice there's animationscript listed in the Anims box as first. It goes like this "ation data/scripts/script.c". You should leave the animationscript in the character header and have others (last ones) be listed along with animationscript there.
Code:name Billy #name {name} type player #type {type} gfxshadow 1 #gfxshadow {bi} health 100 #health {int} speed 10 #speed {int} running 19 4 2 1 1 #running {speed} {height} {length} {move} {land} turndelay 1 #turndelay {int} atchain 1 1 2 7 #atchain {number} {number} {number} {number} {number} ...... combostyle 1 #combostyle {bool} bool 0 (default); old chain system; max attacks: 5... bool 1; new chain system; max attacks: 12 mp 100 #mp {value} holdblock 1 #holdblock {bi} palette data/chars/billy/cvsmap.png #palette {path} alternatepal data/chars/billy/idle01.png #alternatepal {path} projectilehit enemy jumpheight 8 com d f a freespecial #com {direction} {direction}..... {action} {freespecial#} com d b a freespecial2 animationscript data/scripts/script.c com a2 freespecial3 com d u d u a freespecial9 #keyscript data/scripts/walljump.c #script data/scripts/playerent.c onmoveascript data/chars/platform/movea.c onblockwscript data/chars/platform/wall.c #ondrawscript data/scripts/DEBUG_GRAB.c
I suggest you allow # next to the frame path, so users can use it if they're going to put as many frames they want/cant to put in an animation.
Notice I scrolled all the way down in the header section. It doesn't show the last ones after animationscript.
anim respawn
@script
void self = getlocalvar("self");
setglobalvar("JJ" + self, 40);
setglobalvar("Max" + self, 40);
int x = getindexedvar(0); //Get respawn x coordinate
int z = getentityproperty(self,"z"); //Get character's z coordinate
int a = getindexedvar(1); //Get respawn a coordinate
if(x==NULL()){
x = getentityproperty(self, "x");
}
if(a!=NULL()){
if(frame == 1){
changeentityproperty(self, "position", x, z, a);
}
}
@end_script
delay 20
offset 1 1
frame data/chars/misc/empty.gif
delay 1
offset 25 79
frame data/chars/jj/idle01.png
@cmd setglobalvar "last_player_spawned" getlocalvar("self")
frame data/chars/jj/idle01.png
c# with sharpdevelop and dotnet 4.5What language was this tool written in and where is the source code ?
thanks for the new report, again .I did. I just found another error which pops up. I can see that program only reads through one certain character txt directly from the character folder in code every time you open a character txt. As in Billy character in the billy.txt, with billy folder, but with other folder names in code, it gets error. Is it from the certain character folder or is it to avoid having colors getting mixed badly? For example, I use empty.gif from the misc folder because I use that as a blank image for making the char not being seen in certain animations before changing frames to make the sprites show.
Code:anim respawn @script void self = getlocalvar("self"); setglobalvar("JJ" + self, 40); setglobalvar("Max" + self, 40); int x = getindexedvar(0); //Get respawn x coordinate int z = getentityproperty(self,"z"); //Get character's z coordinate int a = getindexedvar(1); //Get respawn a coordinate if(x==NULL()){ x = getentityproperty(self, "x"); } if(a!=NULL()){ if(frame == 1){ changeentityproperty(self, "position", x, z, a); } } @end_script delay 20 offset 1 1 frame data/chars/misc/empty.gif delay 1 offset 25 79 frame data/chars/jj/idle01.png @cmd setglobalvar "last_player_spawned" getlocalvar("self") frame data/chars/jj/idle01.png
Yeah, that empty.gif only has one color box (indexed mode) and it's got only a transparent background color. It's 1x1 pixel image.
just for windows :'(.So is this cross platform or just for windows ?
thanks for the report.Tested it... prety cool , as of now theres really no extra funcionality besides seeing animations play , so for now its a text editor and anim viewer/player.
Id make all anims loop when playing, clicking just to play once can be irritating after awhile especially with short anims.
Shortcuts to play would help.
Having full txt file visible as an option would be nice to copy/paste multiple frames between anims easier. IMO that place where you see header txt stuff needs entire txt file visible/editable, not just header.
Good start , I like the split of commands/functions for each frame so i hope it wont delete things it does not know and will leave all scripts and all weird symbols intact. even if theyre random blabbing, dont make it "clean up" txt files
Also i recommend that you make people specify data folder to load models,txt, and then pick their txt with character to edit or something similar, cause a lot of times different characters have files that come from all over the place in data folder , we dont use just that one character folder for everything.
@Bruce:I like this OBeitor 1.5.9 However, it crashes very often and there is no way to reset it without going to the Regedit. Is there a new version of this? Thank you
Can you explain it in more detail?I like this OBeitor 1.5.9 However, it crashes very often and there is no way to reset it without going to the Regedit. Is there a new version of this? Thank you
Picolo has been updating his Chronocrash Modders Tools and on going updates. I think It is much more stable. I'll just stick with itCan you explain it in more detail?
, perfect.Picolo has been updating his Chronocrash Modders Tools and on going updates. I think It is much more stable. I'll just stick with it
Thank you for your hardwork anyway