Dejavu

From Hack Wars Wiki

Jump to: navigation, search

A game remake started by Surfpup. It was never completed- some sprites/objects may be complicated to implement. Please note that this code is outdated and may not work with the new scripting engine.


Sprite: Hand

int x=getX();
int y=getY();
int z=getZ();
 
int room=getGlobal("room");
int ycalc=getGlobal("roomy"); ycalc=ycalc-5;
int xcalc=getGlobal("roomx"); xcalc=xcalc-10;
int ysp=y-ycalc+32;
int xsp=x-xcalc+32;
int zero=-10;
int border=105;
int bordery=112;
string gametext=getGlobal("gametext");
 
int button1x=getX(1)+2;
int lowbuttonsy=getY(1)+10;
int button2x=getX(2)+2;
int button3x=getX(3)+2;
int button4x=getX(4)+2;
int button5x=getX(5)+2;
int button6x=getX(6)+2;
int button7x=getX(7)+2;
int button8x=getX(8)+2;
int button9x=getX(9)+2;
int button9y=getY(9)+10;
 
int movetime=10;
 
int moveamount=5;
int movebamount=-5;
 
int movex=0;
int movey=0;
int dirtime=0;
dirtime=checkTimeStamp("move");
string button=getGlobal("button");
string selected=getGlobal("selected");
movex=getLocal("movex");
movey=getLocal("movey");
 
if (button!="none") movetime=200;
gametext=getGlobal("gametext");
if (gametext!="null" || getGlobal("gametext1")!="null") {
int a=0;
int b=0;
int c=0; int bc=0; int be=0; int d=0; int f=0; int e=0; int ec=0;
if (getGlobal("textbox")!="created") {
a=112+ycalc-32;
b=0;
bc=getGlobal("bc");
be=36;
c=5;
d=0+getGlobal("roomx")-32;
dd=d;
f=15;
e=0;
ec=4;
while (e<=ec) {
	b=b+1;
	bc=bc+1;
	setX(bc,d); setY(bc,a);
	d=d+32;
	if (b==c) {
		b=0;
		a=a+32;
		d=dd;
		e=e+1;
	}
}
setGlobal("textbox", "created");
messageSprite(14, "gametext", "started");
}
int a=getGlobal("text1");
if (a>0) {
	b=getGlobal("b");
	d=0;
	e=127;
	c=0;
	string line="";
	while (b<=a) {
		drawText(getGlobal("gametext"+b),"courier",11,0,e,0,0,0,255);
		d=c;
		b=b+1;
		e=e+11;
	}
	a=1;
}
if (a==0) drawText(gametext,"courier",11,0,127,0,0,0,255);
}
 
int downcount=getKeyDownCount();
if(downcount>0){
	int key=getNextKeyDown();
	if (gametext=="null") {
		if (key==37) { 
			if (x>zero) setLocal("movex",movebamount);
			setLocal("dir", "left");
		}
		if (key==39) { setLocal("movex", moveamount); setLocal("dir", "right");  }
		if (key==40) { setLocal("movey",moveamount); setLocal("dir", "down"); }
		if (key==38) {
			if (y>zero) setLocal("movey",movebamount);
			setLocal("dir", "up");
		}
	}
	if (key==65) {
		if (gametext=="null" && getGlobal("gametext1")=="null") {
			if (button != "none" && selected!="none") {
					if (button != selected) {
						if (selected=="eye") setFrame(1,0);
						if (selected=="use") setFrame(2,2);
						if (selected=="take") setFrame(3,4);
						if (selected=="open") setFrame(4,6);
						if (selected=="close") setFrame(5,0);
						if (selected=="talk") setFrame(6,2);
						if (selected=="fist") setFrame(7,4);
						if (selected=="trash") setFrame(8,6);
						setGlobal("selected", "none");
						selected="none";
					}
				}
			if (selected=="none" && button!="none") {
				if (button=="eye") setFrame(1,1);
				if (button=="use") setFrame(2,3);
				if (button=="take") setFrame(3,5);
				if (button=="open") setFrame(4,7);
				if (button=="close") setFrame(5,1);
				if (button=="talk") setFrame(6,3);
				if (button=="fist") setFrame(7,5);
				if (button=="trash") setFrame(8,7);
				setGlobal("selected", button);
			}
			if (selected!="none") {
				messageSprite(13, selected, xsp);
				messageSprite(13, selected, ysp);
				gametext=getGlobal("gametext");
			}
		}
		else {
			if (getGlobal("text2")>0 && getGlobal("text2b")!="done") {
				setGlobal("gametext", "eh");
 
				int bla=getGlobal("text2d")+1;
				setGlobal("b", getGlobal("text1")+1);
				setGlobal("text1", getGlobal("text"+bla));
				setGlobal("text2d", getGlobal("text2d")+1);
				if (getGlobal("text2d")==getGlobal("text2n")) { setGlobal("text2d", 0); setGlobal("text2n", 1); setGlobal("text2b", "done"); }
			}
			else {
				gametext="null"; setGlobal("gametext", "null"); setGlobal("gametext1", "null"); setGlobal("b", 1); setGlobal("text1", 0);
				messageSprite(14, "gametext", "done");
				int a=0;
				int b=0;
				int bc=getGlobal("bc");
				int be=36;
				int c=5;
				int d=160+getGlobal("roomx")-32;
				int dd=d;
				int f=15;
				int e=0;
				int ec=4;
				while (e<=ec) {
					b=b+1;
					bc=bc+1;
					setX(bc,d); setY(bc,a);
					d=d+32;
					if (b==c) {
						b=0;
						a=a+32;
						d=dd;
						e=e+1;
					}
				}
				setGlobal("textbox", "destroyed");
			}
		}
	}
	deleteTimeStamp("move");
	createTimeStamp("move");
}
 
string direction=getLocal("dir");
 
int bla=0;
int bla2=0;
if (movex!=0) { 
	bla=x+movex;
	bla2=xsp+movex;
	if (dirtime>=movetime) {
	if (button=="none") {
		if (bla2<=border && bla2>=0) {
			setX(bla);
		}
		if (bla2>=105) {
			if (ysp<=106 && ysp>=85) {
				setX(button9x); setY(button9y); setGlobal("button", "walk");
			}
		}
	}
	if (getGlobal("button")=="map") {
		if (bla2<=153 && bla2>=120) {
			if (direction=="left") setX(x-2);
			if (direction=="right") setX(x+2);
		}
		if (bla2<120 && direction=="left") { setX(x-20); setGlobal("button", "none"); }
	}
	if (button=="eye") {
		if (direction=="right") { setX(button2x); setGlobal("button", "use"); }
	}
	if (button=="use") {
		if (direction=="left") { setX(button1x); setGlobal("button", "eye"); }
		if (direction=="right") { setX(button3x); setGlobal("button", "take"); }
	}
	if (button=="take") {
		if (direction=="left") { setX(button2x); setGlobal("button", "use"); }
		if (direction=="right") { setX(button4x); setGlobal("button", "open"); }
	}
	if (button=="open") {
		if (direction=="left") { setX(button3x); setGlobal("button", "take"); }
		if (direction=="right") { setX(button5x); setGlobal("button", "close"); }
	}
	if (button=="close") {
		if (direction=="left") { setX(button4x); setGlobal("button", "open"); }
		if (direction=="right") { setX(button6x); setGlobal("button", "talk"); }
	}
	if (button=="talk") {
		if (direction=="left") { setX(button5x); setGlobal("button", "close"); }
		if (direction=="right") { setX(button7x); setGlobal("button", "fist"); }
	}
	if (button=="fist") {
		if (direction=="left") { setX(button6x); setGlobal("button", "talk"); }
		if (direction=="right") { setX(button8x); setGlobal("button", "trash"); }
	}
	if (button=="trash") {
		if (direction=="left") { setX(button6x); setGlobal("button", "fist"); }
	}
	if (button=="walk") {
		if (direction=="left") { setX(x-32); setGlobal("button", "none"); }
	}
	if (button=="L_Inv") {
		if (direction=="right") { setX(126); setGlobal("button", "R_Inv"); }
	}
	if (button=="R_Inv") {
		if (direction=="left") { setX(-10); setGlobal("button", "L_Inv"); }
	}
	deleteTimeStamp("move");
	createTimeStamp("move"); 
	}
}
if (movey!=0) {
	bla=y+movey;
	bla2=ysp+movey;
	if (getGlobal("button")=="map") {
		if (bla2<=80 && bla2>=47) {
			if (direction=="up") setY(y-2);
			if (direction=="down") setY(y+2);
		}
		if (bla2>80 && direction=="down") { setY(button9y); setX(button9x); setGlobal("button", "walk"); }
	}
	if (getGlobal("button")=="none") {
		if (bla2<=border && bla2>=0) { 
			if (dirtime>=movetime) {
				setY(bla);
				deleteTimeStamp("move");
				createTimeStamp("move");
			}
		}
		if (bla2<=113 && bla2>border) {
			if (direction=="down") {
				if (xsp<=17) {
					setX(button1x); setY(lowbuttonsy);
					setGlobal("button", "eye");
				}
				if (xsp<=33 && xsp>17) {
					setX(button2x); setY(lowbuttonsy);
					setGlobal("button", "use");
				}
				if (xsp<=52 && xsp>33) {
					setX(button3x); setY(lowbuttonsy);
					setGlobal("button", "take");
				}
				if (xsp>=57 && xsp<=72) {
					setX(button4x); setY(lowbuttonsy);
					setGlobal("button", "open");
				}
				if (xsp>72 && xsp<=92) {
					setX(button5x); setY(lowbuttonsy);
					setGlobal("button", "close");
				}
				if (xsp>92 && xsp<=border) {
					setX(button6x); setY(lowbuttonsy);
					setGlobal("button", "talk");
				}
			}
		}
	}
	if (direction=="up") {
		if (button=="eye" || button=="use" || button=="take" || button=="open" || button=="close") {
			setY(y-28); setGlobal("button", "none");
		}
		if (button=="talk" || button=="fist" || button=="trash") {
			setX(button9x); setY(button9y); setGlobal("button", "walk");
		}
		if (button=="walk") {
			setY(y-20);
			setGlobal("button", "map");
		}
		if (button=="L_Inv") {
			setY(lowbuttonsy);
			setX(button1x);
			setGlobal("button", "eye");
		}
		if (button=="R_Inv") {
			setY(lowbuttonsy);
			setX(button6x);
			setGlobal("button", "talk");
		}
	}
	if (direction=="down") {
		if (button=="walk") {
			setY(lowbuttonsy);
			setGlobal("button", "trash");
		}
		if (button=="eye" || button=="use" || button=="take" || button=="open" || button=="close") {
			setX(-10); setY(y+25); setGlobal("button", "L_Inv");
		}
		if (button=="talk" || button=="fist" || button=="trash") {
			setX(126); setY(y+25); setGlobal("button", "R_Inv");
		}
	}
}
 
while(getKeyUpCount()>0) {
	int key=getNextKeyUp();
 
	if (key==37 || key==39) {
		setLocal("movex",0);
	}
	if (key==40 || key==38) {
		setLocal("movey",0);
	}
}