home *** CD-ROM | disk | FTP | other *** search
- symbols
- message startup
- message taken
- message used
- message pulse
- message activate
- message arrived
-
- thing smallGghost1 mask=0x100 linkid=4
- thing smallGghost2 mask=0x100 linkid=5
- thing medGghost mask=0x100 linkid=3
-
- thing largeGear1 linkid=1
- thing largeGear2 linkid=2
-
- surface conveyor nolink
- surface fakeconveyor nolink
-
- vector vector1
- vector vector2
-
- template smallGearT
- template medGearT
-
- flex convspeed=3.0 local
- end
-
-
-
- code
- startup:
- player=getlocalplayerthing();
- lg2x=vectorx(getthingpos(largegear2));
- middleX=lg2x+.08;
- mediumgear=creatething(medgearT, medGghost);
- capturething(mediumgear);
- mediumgearishere=1;
- smallgear1ishere==0;
- smallgear2ishere==0;
- rotatepivot(mediumgear, 1, -1);
- rotatepivot(largegear1, 1, 1);
- rotatepivot(largegear2, 1, 1);
- conv=slidewall(conveyor, vector1, convspeed);
- conv2=slidewall(fakeconveyor, vector1, convspeed);
- LG1Track=0;
- LG2Track=0;
- medTrack=0;
- SG1Track=0;
- SG2Track=0;
- smallgear1move=0;
- smallgear2move=0;
- largegear1move=1;
- largegear2move=1;
- mediumgearmove=1;
- return;
-
- arrived:
- if (getsenderid()==2) {
- LG2track=LG2track+1;
- if (LG2track%10==0) jumptoframe(largegear2, 0, getthingsector(largegear2));
- if (largegear2move==1) rotatepivot(largegear2, 1, 1);
- }
- if (getsenderref()==mediumgear) {
- medtrack=medtrack+1;
- if (medtrack%10==0) jumptoframe(mediumgear, 0, getthingsector(mediumgear));
- if (mediumgearmove==1) rotatepivot(mediumgear, 1, -1);
- }
- if (getsenderid()==1) {
- LG1track=LG1track+1;
- if (LG1track%10==0) jumptoframe(largegear1, 0, getthingsector(largegear1));
- if (largegear1move==1) rotatepivot(largegear1, 1, 1);
- if (largegear1move==-1) rotatepivot(largegear1, 1, -1);
- }
- if (getsenderref()==smallgear1) {
- SG1track=SG1track+1;
- if (SG1track%10==0) jumptoframe(smallgear1, 0, getthingsector(smallgear1));
- if (smallgear1move==1) rotatepivot(smallgear1, 1, -1);
- }
- if (getsenderref()==smallgear2) {
- SG2track=SG2track+1;
- if (SG2track%10==0) jumptoframe(smallgear2, 0, getthingsector(smallgear2));
- if (smallgear2move==1) rotatepivot(smallgear2, 1, 1);
- }
- return;
-
-
-
- used:
- if (dwGetActivateBin()==26) {
- if (getinv(player, 26)>0) {
- call CreateMediumGear;
- }
- }
- else if (dwGetActivateBin()==25) {
- if (getinv(player, 25)>0) {
- call CreateSmallGear;
- }
- }
- return;
-
- createmediumgear:
- print("creating medium gear");
- mediumgear=creatething(medgearT, medGghost);
- capturething(mediumgear);
- mediumgearishere=1;
- changeInv(player, 26, -1);
- if (getinv(player, 26)==0) SetInvAvailable(player, 26, 0);
- call stopgears;
- return;
-
- createSmallGear:
- print("creating small gear");
- if (smallgear1ishere==0) { // create small gear 1
- smallgear1=creatething(smallgearT, smallGghost1);
- capturething(smallgear1);
- smallgear1ishere=1;
- changeInv(player, 25, -1);
- if (getinv(player, 25)==0) SetInvAvailable(player, 25, 0);
- call stopgears;
- }
- else if ( (smallgear1ishere==1)&&(smallgear2ishere==0) ){
- smallgear2=creatething(smallgearT, smallGghost2);
- capturething(smallgear2);
- smallgear2ishere=1;
- changeInv(player, 25, -1);
- if (getinv(player, 25)==0) SetInvAvailable(player, 25, 0);
- call stopgears;
- }
- return;
-
-
-
- taken:
- print("taken");
- playerX=vectorX(getthingpos(player));
- printflex(playerX);
- printflex(MiddleX);
- if (playerX<MiddleX) { //Taking the medium gear
- print("trying to take the medium gear");
- if (mediumgearishere==1) {
- print("taking the medium gear");
- mediumgearishere=0;
- destroything(mediumgear);
- dwFlashInventory();
- SetInvAvailable(player, 26, 1);
- changeInv(player, 26, 1);
- call stopgears;
- }
- }
- else {
- print("trying to take the small gear");
- if (smallgear2ishere==1) {
- print("taking smallgear2");
- smallgear2ishere=0;
- destroything(smallgear2);
- dwFlashInventory();
- SetInvAvailable(player, 25, 1);
- changeInv(player, 25, 1);
- call stopgears;
- }
- else if (smallgear1ishere==1) {
- print("taking to smallgear1");
- smallgear1ishere=0;
- destroything(smallgear1);
- dwFlashInventory();
- SetInvAvailable(player, 25, 1);
- changeInv(player, 25, 1);
- call stopgears;
- }
- }
- return;
-
- stopgears:
- print("stopping the gears");
- print("smallgear1ishere equals");
- printint(smallgear1ishere);
- print("smallgear2ishere equals");
- printint(smallgear2ishere);
- print("mediumgearishere equals");
- printint(mediumgearishere);
-
- if ( (smallgear1ishere==1)&&(smallgear2ishere==1)&&(mediumgearishere==1) ) {
- stopanim(conv);
- stopanim(conv2);
- largegear2move=0;
- largegear1move=0;
- smallgear1move=0;
- smallgear2move=0;
- mediumgearmove=0;
- }
- if ( (smallgear1ishere==1)&&(smallgear2ishere==1)&&(mediumgearishere==0) ) {
- stopanim(conv);
- stopanim(conv2);
- conv=slidewall(conveyor, vector2, convspeed);
- conv2=slidewall(fakeconveyor, vector2, convspeed);
-
- rotatepivot(smallgear1, 1, -1);
- rotatepivot(smallgear2, 1, 1);
- rotatepivot(largegear1, 1, -1);
- rotatepivot(largegear2, 1, 1);
- largegear2move=1;
- largegear1move=-1;
- smallgear1move=1;
- smallgear2move=1;
- mediumgearmove=0;
- }
- if ( (smallgear1ishere==0)&&(smallgear2ishere==0)&&(mediumgearishere==1) ) {
- stopanim(conv);
- stopanim(conv2);
- conv=slidewall(conveyor, vector1, convspeed);
- conv2=slidewall(fakeconveyor, vector1, convspeed);
-
- rotatepivot(mediumgear, 1, -1);
- rotatepivot(largegear1, 1, 1);
- rotatepivot(largegear2, 1, 1);
- largegear2move=1;
- largegear1move=1;
- smallgear1move=0;
- smallgear2move=0;
- mediumgearmove=1;
- }
- if ( (smallgear1ishere==1)&&(smallgear2ishere==0)&&(mediumgearishere==0) ) {
- stopanim(conv);
- stopanim(conv2);
-
- rotatepivot(smallgear1, 1, -1);
- rotatepivot(largegear2, 1, 1);
- largegear2move=1;
- largegear1move=0;
- smallgear1move=1;
- smallgear2move=0;
- mediumgearmove=0;
- }
- if ( (smallgear1ishere==0)&&(smallgear2ishere==0)&&(mediumgearishere==0) ) {
- stopanim(conv);
- stopanim(conv2);
-
- rotatepivot(largegear2, 1, 1);
- largegear2move=1;
- largegear1move=0;
- smallgear1move=0;
- smallgear2move=0;
- mediumgearmove=0;
- }
- if ( (smallgear1ishere==1)&&(smallgear2ishere==0)&&(mediumgearishere==1) ) {
- stopanim(conv);
- stopanim(conv2);
- conv=slidewall(conveyor, vector1, convspeed);
- conv2=slidewall(fakeconveyor, vector1, convspeed);
-
- rotatepivot(largegear2, 1, 1);
- rotatepivot(mediumgear, 1, -1);
- rotatepivot(largegear1, 1, 1);
- rotatepivot(smallgear1, 1, -1);
- largegear2move=1;
- largegear1move=1;
- smallgear1move=1;
- smallgear2move=0;
- mediumgearmove=1;
- }
- if ( (smallgear1ishere==0)&&(smallgear2ishere==1)&&(mediumgearishere==1) ) {
- stopanim(conv);
- stopanim(conv2);
- conv=slidewall(conveyor, vector1, convspeed);
- conv2=slidewall(fakeconveyor, vector1, convspeed);
-
- rotatepivot(largegear2, 1, 1);
- rotatepivot(mediumgear, 1, -1);
- rotatepivot(largegear1, 1, 1);
- largegear2move=1;
- largegear1move=1;
- smallgear1move=0;
- smallgear2move=0;
- mediumgearmove=1;
- }
-
-
-
- return;
-
- end
-