How to style your script properly with
jsbeautifer.org
Copy-paste your code into the code text area.
Settings:
- Indent with 2 spaces
- Braces with control statement
- Un-check all Checkboxes
Click 'Beautify'
Result:
PHP Code:
// Scripted by Skill
function onActionhit() {
if (this.hp > 0) {
switch (player.dir) {
case "2":
if (!checkBlockedTile(this.x, this.y + 5)) {
this.y = this.y + 5;
}
break;
case "3":
if (!checkBlockedTile(this.x + 5, this.y)) {
this.x += 5;
}
break;
case "1":
if (!checkBlockedTile(this.x - 5, this.y)) {
this.x = this.x - 5;
}
break;
case "0":
if (!checkBlockedTile(this.x, this.y - 5)) {
this.y = this.y - 5;
}
break;
}
}
this.hp--;
if (this.hp >= 0) {
this.chat = this.hp;
}
if (this.hp = 0) {
this.ani = "dead";
}
if (this.hp == 0) {
clientr.baddykills++;
player.chat = "I have"
SPC clientr.baddykills SPC "baddy kills";
this.scheduleevent(50, "Respawn", 0);
}
}
function onCreated() {
this.outsidetargetmodes = {
"targetingup", "targetingdown", "targetingleft", "targetingright", "charge"
};
setshape(1, 64, 64);
showcharacter();
swordimg = "sword1.png";
this.hp = 10;
this.movementSpeed = 1;
swordpower = 1;
setTimer(0.1);
}
function onTimeOut() {
this.swordfreezetime--;
if (players.size() > 0) setTimer(0.1);
else setTimer(0);
if (this.hp > 0) {
this.ani = "walk";
this.closestplayer = findnearestplayer(this.x, this.y);
this.plyr = this.closestplayer;
if (!getMode) {
if (int(random(0, 100)) < 30) {
this.mode = "charge";
} else {
temp.wheretoattack = int(random(0, 100));
if (temp.wheretoattack >= 50) {
if (this.dir = 0 || this.dir = 2) {
this.mode = "targetingright";
}
if (this.dir = 1 || this.dir = 3) {
this.mode = "targetingdown";
}
if (temp.wheretoattack <= 49) {
if (this.dir = 0 || this.dir = 2) {
this.mode = "targetingleft";
}
if (player.dir = 1 || player.dir = 3) {
this.mode = "targetingup";
}
}
}
}
}
if (this.mode == "targetingleft") {
this.targetx = this.toleft;
this.targety = this.plyr.y;
}
if (this.mode == "targetingright") {
this.targetx = this.toright;
this.targety = this.plyr.y;
}
if (this.mode == "targetingdown") {
this.targety = this.todown;
this.targetx = this.plyr.x;
}
if (this.mode == "targetingup") {
this.targety = this.toup;
this.targetx = this.plyr.x;
}
if (this.mode == "charge") {
this.targetx = this.plyr.x;
this.targety = this.plyr.y;
}
this.toright = this.plyr.x + 4;
this.todown = this.plyr.y + 4;
this.toup = this.plyr.y - 4;
this.toleft = this.plyr.x - 4;
this.distx = (this.targetx) - this.x;
this.disty = this.targety - this.y;
this.plyrdistx = this.plyr.x - this.x;
this.plyrdisty = this.plyr.y - this.y;
this.len = (this.distx * this.distx + this.disty * this.disty) ^ 0.5;
this.movex = (this.distx / this.len);
this.fixed_x = this.x + 1.5;
this.fixed_y = this.y + 2;
this.movey = (this.disty / this.len);
if (!checkBlockedTile(this.movex + this.fixed_x, this.fixed_y + this.movey)) {
if (this.distx < 20 && this.disty < 20) {
this.x += this.movex * (this.movementSpeed);
this.y += this.movey * (this.movementSpeed);
}
} else this.ani = "idle";
}
if (abs(this.distx) > abs(this.disty)) {
if (this.distx > 0) this.dir = 3;
else this.dir = 1;
} else {
if (this.disty > 0) this.dir = 2;
else this.dir = 0;
}
if (this.swordfreezetime <= 0) {
if (abs(this.plyrdistx) < 4 && abs(this.plyrdisty) < 3) {
this.scheduleevent(random(0.2, 0.6), "hurtCharacter", 0);
}
if (abs(this.plyrdistx) < 3 && abs(this.plyrdisty) < 4) {
this.scheduleevent(random(0.1, 0.6), "hurtCharacter", 0);
}
}
function getMode() {
if (this.mode in this.outsidetargetmodes) return true;
else return false;
}
function checkBlockedTile(xValue, yValue) {
if (onwall(xValue, yValue) || onwater(xValue, yValue)) return true;
else return false;
}
function onRespawn(ticker) {
this.hp = 10;
this.ani = "idle";
move(int(random(-0.9999, 0.9999)), int(random(-0.9999, 0.9999)), 0, o);
this.chat = this.hp;
}
function onhurtCharacter() {
this.mode = "waiting";
this.ani = "sword";
this.scheduleevent(0.1, "StopSwinging", 0);
}
if (this.plyr.hearts = 0) {
this.ani = "idle";
}
}
function onStopSwinging() {
this.ani = "walk";
this.swordfreezetime = 10; //stops swinging for 10 timeouts
}
function onPlayerEnters() {
onTimeOut();
}
//#CLIENTSIDE
function onWa****() {
triggeraction(player.x + 1.5 + (vecx(playerdir) * 2), player.y + 1.5, "hit");
}
function onCreated() {
setshape(1, 64, 64);
}
When your code is styled properly, it's now possible to see that you have other functions nested in your timeout function.