Code:
stop();
_root.Town=new Sound();
_root.Town.attachSound("Town");
Town.start(0,999);
_root.yesbutton1._visible = false;
_root.yesbutton2._visible = false;
_root.yesbutton3._visible = false;
_root.yesbutton4._visible = false;
_root.nobutton1._visible = false;
_root.nobutton2._visible = false;
_root.nobutton3._visible = false;
_root.nobutton4._visible = false;
fscommand("allowscale", false);
fscommand("allowscale", false);
myMap1 = [[42, 42, 43, 38, 39, 42, 43, 43], [44, 44, 45, 40, 41, 44, 45, 45], [7, 0, 0, 0, 0, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 36, 4, 4, 0, 0, 7], [7, 0, 37, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 7, 7, 9, 9, 7, 7, 7]];
myMap2 = [[7, 28, 29, 7, 7, 7, 7, 7], [7, 30, 31, 0, 0, 0, 0, 7], [7, 4, 4, 0, 0, 0, 0, 7], [7, 4, 4, 0, 0, 0, 0, 7], [7, 4, 4, 4, 4, 4, 4, 11], [7, 4, 4, 4, 4, 4, 4, 11], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 7, 7, 15, 15, 7, 7, 7]];
myMap3 = [[7, 7, 7, 10, 10, 7, 7, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [12, 4, 4, 4, 4, 4, 4, 13], [12, 4, 4, 4, 4, 4, 4, 13], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 7, 7, 17, 17, 7, 7, 7]];
myMap4 = [[3, 3, 3, 3, 3, 3, 3, 7], [3, 3, 3, 3, 3, 3, 3, 7], [3, 3, 3, 3, 3, 3, 3, 7], [1, 1, 1, 0, 1, 1, 1, 7], [14, 4, 4, 4, 4, 4, 0, 7], [14, 4, 4, 4, 4, 4, 0, 7], [7, 0, 0, 0, 4, 4, 0, 7], [7, 0, 0, 0, 4, 4, 0, 7], [7, 7, 7, 7, 19, 19, 7, 7]];
myMap5 = [[7, 7, 7, 16, 16, 7, 7, 7], [7, 28, 29, 4, 4, 0, 0, 7], [7, 30, 31, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 4, 4, 21], [7, 0, 0, 4, 4, 4, 4, 21], [7, 0, 0, 0, 0, 0, 0, 7], [7, 0, 0, 0, 0, 0, 0, 7], [5, 5, 5, 5, 5, 5, 5, 5]];
myMap6 = [[7, 7, 7, 18, 18, 7, 7, 7], [7, 0, 0, 4, 4, 32, 33, 7], [7, 0, 0, 4, 4, 34, 35, 7], [7, 0, 0, 4, 4, 0, 0, 7], [22, 4, 4, 4, 4, 4, 4, 23], [22, 4, 4, 4, 4, 4, 4, 23], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 0, 0, 7], [5, 5, 5, 5, 5, 5, 5, 5]];
myMap7 = [[7, 7, 7, 20, 20, 7, 7, 7], [7, 0, 0, 4, 4, 0, 0, 7], [7, 0, 0, 4, 4, 32, 33, 7], [7, 0, 0, 4, 4, 34, 35, 7], [24, 4, 4, 4, 4, 0, 0, 7], [24, 4, 4, 4, 4, 0, 0, 0], [7, 0, 0, 0, 0, 0, 0, 7], [7, 0, 0, 0, 0, 0, 0, 7], [5, 5, 5, 5, 5, 5, 5, 5]];
game = {tilesW:30, tilesH:30, currentMap:2, money : game.money +_root.score};
game.tiles0 = function () { };
game.tiles0.prototype.walkable = true;
game.tiles0.prototype.frame = 1;
game.tiles1 = function () { };
game.tiles1.prototype.walkable = false;
game.tiles1.prototype.frame = 2;
game.Doors = function (newmap, newchar3x, newchar3y) { this.newmap = newmap;this.newchar3x = newchar3x;this.newchar3y = newchar3y;};
game.Doors.prototype.walkable = true;
game.Doors.prototype.frame = 10;
game.Doors.prototype.door = true;
game.tiles2 = function () { };
game.tiles2.prototype.walkable = false;
game.tiles2.prototype.frame = 3;
game.tiles3 = function () { };
game.tiles3.prototype.walkable = false;
game.tiles3.prototype.frame = 4;
game.tiles4 = function () { };
game.tiles4.prototype.walkable = true;
game.tiles4.prototype.frame = 5;
game.tiles5 = function () { };
game.tiles5.prototype.walkable = false;
game.tiles5.prototype.frame = 6;
game.tiles6 = function () { };
game.tiles6.prototype.walkable = false;
game.tiles6.prototype.frame = 7;
game.tiles7 = function () { };
game.tiles7.prototype.walkable = false;
game.tiles7.prototype.frame = 8;
game.tiles8 = function () { };
game.tiles8.prototype.walkable = false;
game.tiles8.prototype.frame = 9;
game.tiles28 = function () { };
game.tiles28.prototype.walkable = false;
game.tiles28.prototype.frame = 29;
game.tiles29 = function () { };
game.tiles29.prototype.walkable = false;
game.tiles29.prototype.frame = 30;
game.tiles30= function () { };
game.tiles30.prototype.walkable = false;
game.tiles30.prototype.frame = 31;
game.tiles31 = function () { };
game.tiles31.prototype.walkable = false;
game.tiles31.prototype.frame = 32;
game.tiles32 = function () { };
game.tiles32.prototype.walkable = false;
game.tiles32.prototype.frame = 33;
game.tiles33 = function () { };
game.tiles33.prototype.walkable = false;
game.tiles33.prototype.frame = 34;
game.tiles34 = function () { };
game.tiles34.prototype.walkable = false;
game.tiles34.prototype.frame = 35;
game.tiles35 = function () { };
game.tiles35.prototype.walkable = false;
game.tiles35.prototype.frame = 36;
game.tiles36 = function () { };
game.tiles36.prototype.walkable = false;
game.tiles36.prototype.frame = 37;
game.tiles37 = function () { };
game.tiles37.prototype.walkable = false;
game.tiles37.prototype.frame = 38;
game.tiles38 = function () { };
game.tiles38.prototype.walkable = false;
game.tiles38.prototype.frame = 39;
game.tiles39 = function () { };
game.tiles39.prototype.walkable = false;
game.tiles39.prototype.frame = 40;
game.tiles40 = function () { };
game.tiles40.prototype.walkable = false;
game.tiles40.prototype.frame = 41;
game.tiles41 = function () { };
game.tiles41.prototype.walkable = false;
game.tiles41.prototype.frame = 42;
game.tiles42 = function () { };
game.tiles42.prototype.walkable = false;
game.tiles42.prototype.frame = 43;
game.tiles43 = function () { };
game.tiles43.prototype.walkable = false;
game.tiles43.prototype.frame = 44;
game.tiles44 = function () { };
game.tiles44.prototype.walkable = false;
game.tiles44.prototype.frame = 45;
game.tiles45 = function () { };
game.tiles45.prototype.walkable = false;
game.tiles45.prototype.frame = 46;
game.tiles46 = function () { };
game.tiles46.prototype.walkable = false;
game.tiles46.prototype.frame = 47;
game.Tiles9 = function () { };
game.Tiles9.prototype = new game.Doors(3, 4, 1);
game.Tiles10 = function () { };
game.Tiles10.prototype = new game.Doors(1, 4, 7);
game.Tiles11 = function () { };
game.Tiles11.prototype = new game.Doors(3, 1, 5);
game.Tiles12 = function () { };
game.Tiles12.prototype = new game.Doors(2, 6, 5);
game.Tiles13 = function () { };
game.Tiles13.prototype = new game.Doors(4, 1, 5);
game.Tiles14 = function () { };
game.Tiles14.prototype = new game.Doors(3, 6, 5);
game.Tiles15 = function () { };
game.Tiles15.prototype = new game.Doors(5, 5, 1);
game.Tiles16 = function () { };
game.Tiles16.prototype = new game.Doors(2, 5, 7);
game.Tiles17 = function () { };
game.Tiles17.prototype = new game.Doors(6, 4, 1);
game.Tiles18 = function () { };
game.Tiles18.prototype = new game.Doors(3, 4, 7);
game.Tiles19 = function () { };
game.Tiles19.prototype = new game.Doors(7, 4, 2);
game.Tiles20 = function () { };
game.Tiles20.prototype = new game.Doors(4, 5, 7);
game.Tiles21 = function () { };
game.Tiles21.prototype = new game.Doors(6, 1, 5);
game.Tiles22 = function () { };
game.Tiles22.prototype = new game.Doors(5, 6, 5);
game.Tiles23 = function () { };
game.Tiles23.prototype = new game.Doors(7, 1, 5);
game.Tiles24 = function () { };
game.Tiles24.prototype = new game.Doors(6, 6, 5);
mynpcs = [[0],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[12, 1, 4]], [[],[],[],[],[],[],[],[],[],[],[],[],[],[13, 2, 4]],[[],[],[],[],[],[],[],[],[8, 6, 6]],[[],[],[],[],[],[],[],[7 ,3 ,3]],[[],[],[],[3, 2 ,6]],[[],[],[],[],[4, 6, 7]],[[],[],[],[],[],[],[6, 7, 5]]];
game.talk = ["" , "","","","I have a task for you,If you do it,I will give some reward?, how about it?, It's an easy task, just catching some apple for me.","It is a nice day isn't it ? do you like to do some chores?","","Do you want to get some money, help me to hunt some Pig will you ?","My crops is damaged because of the crow,can you help me?","Go Away, I'm not a suspicious person, leave now, don't bother me. ","","","","Do you want to enter for the Knight's trial ?,it will cost you 25000 gold.","This game have 3 mini games in total you can repeat, 2 other mini games is unlocked if you have enough money." ];
game.npcp0 = function () { };
game.npcp0.prototype.xMove = 0;
game.npcp0.prototype.yMove = 0;
game.npcp0.prototype.speed = 0;
game.npcp13 = function () { };
game.npcp13.prototype.xMove = 0;
game.npcp13.prototype.yMove = 0;
game.npcp13.prototype.speed = 0;
game.npcp14 = function () { };
game.npcp14.prototype.xMove = 0;
game.npcp14.prototype.yMove = 0;
game.npcp14.prototype.speed = 0;
game.npcp3 = function () { } ;
game.npcp3.prototype.xMove = 0;
game.npcp3.prototype.yMove = 0;
game.npcp3.prototype.speed = 0;
game.npcp4 = function () { } ;
game.npcp4.prototype.xMove = 0;
game.npcp4.prototype.yMove = 0;
game.npcp4.prototype.speed = 0;
game.npcp5 = function () { } ;
game.npcp5.prototype.xMove = 0;
game.npcp5.prototype.yMove = 0;
game.npcp5.prototype.speed = 0;
game.npcp6 = function () { } ;
game.npcp6.prototype.xMove = 0;
game.npcp6.prototype.yMove = 0;
game.npcp6.prototype.speed = 0;
game.npcp7 = function () { } ;
game.npcp7.prototype.xMove = 0;
game.npcp7.prototype.yMove = 0;
game.npcp7.prototype.speed = 0;
game.npcp8 = function () { } ;
game.npcp8.prototype.xMove = 0;
game.npcp8.prototype.yMove = 0;
game.npcp8.prototype.speed = 0;
game.npcp9 = function () { } ;
game.npcp9.prototype.xMove = 0;
game.npcp9.prototype.yMove = 0;
game.npcp9.prototype.speed = 0;
game.npcp10 = function () { } ;
game.npcp10.prototype.xMove = 0;
game.npcp10.prototype.yMove = 0;
game.npcp10.prototype.speed = 0;
game.npcp10.prototype.talk = 10;
game.npcp11 = function () { } ;
game.npcp11.prototype.xMove = 0;
game.npcp11.prototype.yMove = 0;
game.npcp11.prototype.speed = 0;
game.npcp12 = function () { } ;
game.npcp12.prototype.xMove = 0;
game.npcp12.prototype.yMove = 0;
game.npcp12.prototype.speed = 0;
char3 = {xtiles:3, ytiles:3, speed:4};
function buildMap(map) {
_root.attachMovie("empty", "tiles", 1);
_root.money = game.money;
game.clip = _root.tiles;
var mapWidth = map[0].length;
var mapHeight = map.length;
for (var i = 0; i<mapHeight; ++i) {
for (var j = 0; j<mapWidth; ++j) {
var name = "t_"+i+"_"+j;
game[name] = new game["tiles"+map[i][j]]();
game.clip.attachMovie("tiles", name, i*100+j*2);
game.clip[name]._x = (j*game.tilesW);
game.clip[name]._y = (i*game.tilesH);
game.clip[name].gotoAndStop(game[name].frame);
}
}
var npcs = mynpcs[game.currentMap];
game.currentnpcs = npcs.length;
for (var i = 0; i<game.currentnpcs; i++) {
var name = "npc" +i;
game[name] = new game["npcp"+npcs[i][0]]();
game.clip.attachMovie("npc"+npcs[i][0], name, 10001+i);
game[name].clip = game.clip[name];
game[name].xtiles = npcs[i][1];
game[name].ytiles = npcs[i][2];
game[name].width = game.clip[name]._width/2;
game[name].height = game.clip[name]._height/2;
game[name].x = (game[name].xtiles*game.tilesW)+game.tilesW/2;
game[name].y = (game[name].ytiles*game.tilesH)+game.tilesH/2;
game[name].clip._x = game[name].x;
game[name].clip._y = game[name].y;
}
game.clip.attachMovie("char3", "char3", 1000);
char3.clip = game.clip.char3;
char3.x = (char3.xtiles*game.tilesW)+game.tilesW/2;
char3.y = (char3.ytiles*game.tilesH)+game.tilesH/2;
char3.width = char3.clip._width/2;
char3.height = char3.clip._height/2;
char3.clip._x = char3.x;
char3.clip._y = char3.y;
char3.clip.gotoAndStop(char3.frame);
}
function changeMap(ob) {
var name = "t_"+ob.ytiles+"_"+ob.xtiles;
game.currentMap = game[name].newMap;
ob.ytiles = game[name].newchar3y;
ob.xtiles = game[name].newchar3x;
_root.texts.visible = false;
texts.hideObject = true;
text.hide = true;
_root.text.visible = false;
_root.yesbutton1._visible = false;
_root.yesbutton2._visible = false;
_root.yesbutton3._visible = false;
_root.yesbutton4._visible = false;
_root.nobutton1._visible = false;
_root.nobutton2._visible = false;
_root.nobutton3._visible = false;
_root.nobutton4._visible = false;
ob.frame = ob.clip._currentframe;
buildMap(_root["myMap"+game.currentMap]);
}
function getMyCorners(x, y, ob) {
ob.downY = Math.floor((y+ob.height-1)/game.tilesH);
ob.upY = Math.floor((y-ob.height)/game.tilesH);
ob.leftX = Math.floor((x-ob.width)/game.tilesW);
ob.rightX = Math.floor((x+ob.width-1)/game.tilesW);
ob.upleft = game["t_"+ob.upY+"_"+ob.leftX].walkable;
ob.downleft = game["t_"+ob.downY+"_"+ob.leftX].walkable;
ob.upright = game["t_"+ob.upY+"_"+ob.rightX].walkable;
ob.downright = game["t_"+ob.downY+"_"+ob.rightX].walkable;
}
function movechar3(ob, dirx, diry) {
getMyCorners(ob.x, ob.y+ob.speed*diry, ob);
if (diry == -1) {
if (ob.upleft and ob.upright) {
ob.y += ob.speed*diry;
} else {
ob.y = ob.ytiles*game.tilesH+ob.height;
}
}
if (diry == 1) {
if (ob.downleft and ob.downright) {
ob.y += ob.speed*diry;
} else {
ob.y = (ob.ytiles+1)*game.tilesH-ob.height;
}
}
getMyCorners(ob.x+ob.speed*dirx, ob.y, ob);
if (dirx == -1) {
if (ob.downleft and ob.upleft) {
ob.x += ob.speed*dirx;
} else {
ob.x = ob.xtiles*game.tilesW+ob.width;
}
}
if (dirx == 1) {
if (ob.upright and ob.downright) {
ob.x += ob.speed*dirx;
} else {
ob.x = (ob.xtiles+1)*game.tilesW-ob.width;
}
}
ob.clip._x = ob.x;
ob.clip._y = ob.y;
ob.clip.gotoAndStop(dirx+diry*2+3);
ob.xtiles = Math.floor(ob.clip._x/game.tilesW);
ob.ytiles = Math.floor(ob.clip._y/game.tilesH);
if (game["t_"+ob.ytiles+"_"+ob.xtiles].door and ob == _root.char3) {
changeMap(ob);
}
return (true);
}