Frame 1
maxU = 3;
loadNotes = new LoadVars();
loadNotes.onLoad = function (success) {
if (success) {
trace(this.note);
_root.mpNote = this.note;
} else {
trace("failed");
}
};
loadNotes.load("http://www.psychogoldfish.com/SSnotes.php");
SS.close();
stop();
Instance of Symbol 19 MovieClip in Frame 1
onClipEvent (enterFrame) {
p = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
if (p < 100) {
gotoAndStop (1);
} else {
gotoAndStop (2);
}
bar._xscale = p;
}
Frame 2
fscommand ("allowscale", false);
_global.pallette = new Array();
_global.pallette1 = new Array();
_global.pallette2 = new Array();
_global.fonts = new Array();
i = 0;
while (i < 12) {
pallette1.push(this["b" + i].filters);
pallette2.push(this["c" + i].filters);
i++;
}
fonts.push("#FFFFFF");
fonts.push("#00FFFF");
fonts.push("#3399FF");
fonts.push("#845AFF");
fonts.push("#DB62FF");
fonts.push("#FD0B0B");
fonts.push("#FB840D");
fonts.push("#FFEA33");
fonts.push("#33ff33");
fonts.push("#01B101");
fonts.push("#B6B857");
fonts.push("#888888");
_global.pallette = palette1;
SS.singleMode = false;
stop();
Instance of Symbol 70 MovieClip in Frame 2
onClipEvent (enterFrame) {
if (_root.mpNote) {
note = _root.mpNote;
}
}
Instance of Symbol 98 MovieClip "kickOut" in Frame 2
onClipEvent (keyDown) {
if ((Key.isDown(34) and Key.isDown(33)) and Key.isDown(32)) {
gotoAndStop (2);
}
}
Frame 3
SS.singleMode = false;
SS.onEvent.areaExited = function () {
trace("exited?");
gotoAndStop (3);
};
SS.onEvent.areaCreated = function (dat) {
SS.createAreaVar("color", new Object());
SS.createAreaVar("course", "course1");
};
SS.onEvent.areaPropertiesLoaded = function () {
trace("GOT PROPS YO");
if (SS.areaProperties.v != _root.v) {
badV.play();
}
};
stop();
Frame 4
SS.singleMode = false;
SS.onEvent.areaPropertyUpdated = function (dat) {
trace((dat.name + " = ") + SS.areaProperties[dat.name]);
if ((dat.name == "mode") and (SS.areaProperties.mode == "start")) {
gotoAndStop ("game");
}
};
_global.pallette = pallette1;
if (SS.isOwner()) {
SS.updateAreaProperty("locked", 0);
}
debug = new Array();
stop();
Instance of Symbol 212 MovieClip in Frame 4
onClipEvent (enterFrame) {
_parent.inviteLink = SS.areaProperties.link;
if (SS.areaProperties.owner == SS.localUser) {
if (int(SS.userList.length) < 1) {
gotoAndStop (2);
} else {
gotoAndStop (3);
}
} else {
gotoAndStop (1);
}
i = 0;
while (i < 8) {
u = SS.userList[i];
if (u != undefined) {
col = fonts[int(SS.remoteAreaVars.color[u])];
this["n" + i].gotoAndStop(1);
this["n" + i].name = ((("<font color=\"" + col) + "\"><b>") + u) + "</b></font>";
this["n" + i].ball.filters = pallette[int(SS.remoteAreaVars.color[u])];
} else {
this["n" + i].gotoAndStop(2);
}
i++;
}
this.mine.filters = pallette[color];
}
onClipEvent (load) {
function updateMyColor() {
SS.appendToAreaVar("color", color, SS.localUser);
}
function updateCourse() {
SS.updateAreaVar("course", "course" + course);
}
courses = 2;
course = 1;
if (!SS.remoteAreaVars.color[SS.localUser]) {
color = 0;
} else {
color = int(SS.remoteAreaVars.color[SS.localUser]);
}
}
Frame 5
function kickUser(u) {
kickOut.user = u;
kickOut.gotoAndStop(2);
}
stop();
SS.singleMode = true;
SS.createUserVar("testies", "123");
SS.updateUserVar("testies", "321");
Instance of Symbol 610 MovieClip "course" in Frame 5
/* no clip actions */
Instance of Symbol 702 MovieClip "scorecard" in Frame 5
onClipEvent (load) {
trace("sup");
_global.newList = new Array();
i = 0;
while (i < SS.userList.length) {
newList.push({user:SS.userList[i], score:0});
i++;
}
}
Instance of Symbol 727 MovieClip "chat" in Frame 5
onClipEvent (keyUp) {
key = Key.getCode();
if (key == 17) {
play();
}
}
Symbol 9 MovieClip [ball] Frame 1
#initclip 11
Object.registerClass("ball", golfBall);
#endinitclip
type = "ball";
area = "area";
objects = _parent.objects;
stop();
Symbol 17 Button
on (release) {
_parent.play();
}
Symbol 740 MovieClip [__Packages.ballEngine] Frame 0
class ballEngine extends MovieClip
{
var friction, mode, rotation, blip1, blip2, calc, padding, _width, speed, xSpeed, ySpeed, _parent, _x, _y, area, forceY, angle, _rotation;
function ballEngine (rotate) {
super();
friction = 0;
mode = "stop";
rotation = rotate;
blip1 = new Object();
blip2 = new Object();
calc = new gameMath();
padding = Math.ceil(_width / 2);
calc.test();
configMe();
}
function reportHit() {
}
function reportStop() {
}
function onEnterFrame() {
ballRolls();
}
function ballRolls() {
if (mode == "roll") {
var _local10 = Math.ceil(speed / padding);
var _local9 = 0;
while (_local9 < _local10) {
var _local3 = xSpeed / _local10;
var _local2 = ySpeed / _local10;
var _local5 = false;
var _local4;
var _local7;
var _local6;
var _local8;
for (var _local11 in _parent.objects) {
if (_parent[_local11].solid == true) {
if (_parent[_local11].hitTest(_x + _local3, _y + _local2, true)) {
_local5 = true;
_local4 = _local11;
}
} else if (_parent[_local11].friction > 0) {
if (_parent[_local11].hitTest(_x + _local3, _y + _local2, true)) {
_local8 = _local11;
}
} else if (_parent[_local11].xgrad or _parent[_local11].ygrad) {
if (_parent[_local11].hitTest(_x + _local3, _y + _local2, true)) {
_local7 = _local11;
}
} else if (_parent[_local11].grad) {
if (_parent[_local11].hitTest(_x + _local3, _y + _local2, true)) {
_local6 = _local11;
}
}
}
if (_parent[area].hitTest(_x + _local3, _y + _local2, true) and (_local5 == false)) {
_x = _x + _local3;
_y = _y + _local2;
if ((forceY and (_local2 < 1)) and (_local2 > -1)) {
if (random(100) < 50) {
_local2 = 2;
} else {
_local2 = -2;
}
}
} else {
getNewAngle(_local4);
configMe();
reportHit(_local4);
}
_local9++;
}
if (_local8 != undefined) {
xSpeed = xSpeed * (1 - _parent[_local8].friction);
ySpeed = ySpeed * (1 - _parent[_local8].friction);
}
if (_local7 != undefined) {
xSpeed = xSpeed + _parent[_local7].xgrad;
ySpeed = ySpeed + _parent[_local7].ygrad;
configMe();
}
if (_local6 != undefined) {
var _local13 = _x - _parent[_local6]._x;
var _local12 = _y - _parent[_local6]._y;
var _local14 = Math.sqrt((_local13 * _local13) + (_local12 * _local12));
var _local15 = _local13 / _local14;
var _local16 = _local12 / _local14;
xSpeed = xSpeed + (Math.round((_parent[_local6].grad * _local15) * 100) / 100);
ySpeed = ySpeed + (Math.round((_parent[_local6].grad * _local16) * 100) / 100);
}
if (friction > 0) {
xSpeed = xSpeed * (1 - friction);
ySpeed = ySpeed * (1 - friction);
speed = Math.round(Math.sqrt(Math.pow(xSpeed, 2) + Math.pow(ySpeed, 2)));
if ((speed < 0.05) and (_local7 == undefined)) {
mode = "stop";
reportStop();
}
}
}
}
function getNewAngle(hit) {
var _local8 = calc.getXY(angle + 90);
blip1.x = _x + (_local8.x * 3);
blip1.y = _y + (_local8.y * 3);
blip2.x = _x + (_local8.x * -3);
blip2.y = _y + (_local8.y * -3);
var _local2 = 1;
while (_local2 <= 2) {
if (hit == undefined) {
if (_parent[area].hitTest(this["blip" + _local2].x, this["blip" + _local2].y, true)) {
var _local6 = (xSpeed / speed) * 0.25;
var _local5 = (ySpeed / speed) * 0.25;
var _local7 = true;
} else {
var _local6 = (-(xSpeed / speed)) * 0.25;
var _local5 = (-(ySpeed / speed)) * 0.25;
var _local7 = false;
}
var _local4 = 80;
do {
if (!_parent[area].hitTest(this["blip" + _local2].x, this["blip" + _local2].y, true)) {
break;
}
this["blip" + _local2].x = this["blip" + _local2].x + _local6;
this["blip" + _local2].y = this["blip" + _local2].y + _local5;
_local4--;
} while (_local4 >= 1);
} else {
if (!_parent[hit].hitTest(this["blip" + _local2].x, this["blip" + _local2].y, true)) {
var _local6 = (xSpeed / speed) * 0.25;
var _local5 = (ySpeed / speed) * 0.25;
var _local7 = true;
} else {
var _local6 = (-(xSpeed / speed)) * 0.25;
var _local5 = (-(ySpeed / speed)) * 0.25;
var _local7 = false;
}
var _local4 = 80;
do {
if (_parent[hit].hitTest(this["blip" + _local2].x, this["blip" + _local2].y, true)) {
break;
}
this["blip" + _local2].x = this["blip" + _local2].x + _local6;
this["blip" + _local2].y = this["blip" + _local2].y + _local5;
_local4--;
} while (_local4 >= 1);
_local4 = 200;
do {
if (!_parent[hit].hitTest(this["blip" + _local2].x, this["blip" + _local2].y, true)) {
break;
}
var _local6 = (xSpeed / speed) * 0.25;
var _local5 = (ySpeed / speed) * 0.25;
var _local7 = true;
_local4--;
} while (_local4 >= 1);
}
_local2++;
}
var _local10 = calc.getAngle(blip2.x - blip1.x, blip2.y - blip1.y);
var _local11 = _local10 + (_local10 - angle);
var _local9 = calc.getXY(_local11);
xSpeed = speed * _local9.x;
ySpeed = speed * _local9.y;
}
function configMe() {
speed = Math.round(Math.sqrt(Math.pow(xSpeed, 2) + Math.pow(ySpeed, 2)));
angle = calc.getAngle(xSpeed, ySpeed);
if (rotation) {
_rotation = angle;
}
}
}
Symbol 741 MovieClip [__Packages.gameMath] Frame 0
class gameMath
{
function gameMath () {
}
function getAngle(x, y) {
var _local1 = Math.atan2(y, x);
var _local2 = (_local1 * 180) / Math.PI;
return(_local2);
}
function test() {
trace("works");
}
function getXY(angle) {
angle = (angle * -1) + 90;
if (angle < 0) {
angle = angle + 360;
} else if (angle > 360) {
angle = angle - 360;
}
var _local6 = (angle * Math.PI) / 180;
var _local5 = 100 * Math.sin(_local6);
var _local2 = _local5;
if (_local2 < 0) {
_local2 = _local2 * -1;
}
var _local4 = Math.sqrt(10000 - (_local2 * _local2));
if ((Math.round(angle) < 270) and (Math.round(angle) >= 90)) {
_local4 = _local4 * -1;
}
var _local3 = new Object();
_local3.x = Math.round(_local5) / 100;
_local3.y = Math.round(_local4) / 100;
return(_local3);
}
}
Symbol 742 MovieClip [__Packages.golfBall] Frame 0
class golfBall extends ballEngine
{
var strokes, xe, ye, xxs, yys, spread, friction, maxSpeed, delay, owner, mode, _x, _parent, _y, _alpha, timer, removeMovieClip, mode2, xSpeed, ySpeed, configMe, ballRolls, speed, gotoAndStop;
function golfBall () {
super();
strokes = 0;
xe = 0;
ye = 0;
xxs = 0;
yys = 0;
spread = 3;
friction = 0.04;
maxSpeed = 36;
delay = 0;
}
function reportHit(h) {
if (owner == _global.SS.localUser) {
sendSync();
}
}
function reportStop() {
if (owner == _global.SS.localUser) {
if (strokes < 10) {
sendSync();
var _local3 = new Object();
_local3.c = "endTurn";
_local3.p = _global.SS.localUser;
_global.SS.sendPrivateMsg(_local3, _global.SS.areaProperties.owner);
} else {
var _local3 = new Object();
strokes = 0;
mode = "sunk";
reportSunk();
}
}
}
function reportSunk() {
if (owner == _global.SS.localUser) {
var _local4 = new Object();
_local4.c = "sunk";
_local4.p = new Object();
_local4.p.p = _global.SS.localUser;
_local4.p.s = strokes;
_local4.h = _global.SS.remoteAreaVars.sde;
var _local5 = new Object();
_local5.p = com.meychi.ascrypt.Base64.encode(JSON.stringify(_local4));
_local5.c = "dec";
trace((" I SENT A " + strokes) + " strokes");
_global.SS.sendAreaMsg(_local5);
}
_root.course.game.run.playSunk();
initKill();
}
function initKill() {
_x = _parent.hole._x;
_y = _parent.hole._y;
_alpha = 66;
startKill();
}
function startKill() {
timer = setInterval(this, "killMe", 1000);
}
function killMe() {
_y = -9999;
clearInterval(timer);
removeMovieClip();
}
function onMouseDown() {
if ((((_global.SS.isOwner() and (_root.chat.ison == true)) and (_root._xmouse > 240)) and (_root._xmouse < 344)) and (_root._ymouse < (9 + (20 * _global.SS.userList.length)))) {
trace("over kicks");
} else if (((_root._ymouse >= 440) and (_root._xmouse <= 350)) and (_root.chat.ison == true)) {
trace("over chat box");
} else if (((_root._ymouse <= 32) and (_root._xmouse >= 550)) and (_root.chat.ison == true)) {
trace("over exit button");
} else if ((_root.exit.noclick == true) or (_root.kickOut.noclick == true)) {
trace("exit box open");
} else if ((mode2 == "drop") and (owner == _global.SS.localUser)) {
mode2 = "aim";
sendSync();
} else if ((mode2 == "aim") and (owner == _global.SS.localUser)) {
_root.course.game.run.updateScore();
_root.course.game.run.hitSound();
var _local4 = new Object();
_local4.c = "hitSound";
_local4.p = _global.SS.localUser;
_global.SS.silentAreaMsg(_local4);
mode2 = "mat";
getAim();
xSpeed = xxs;
ySpeed = yys;
mode = "roll";
configMe();
sendSync();
delay = 3;
_root.course._x = 0;
_root.course._y = 0;
}
}
function sendSync() {
if (owner == _global.SS.localUser) {
var _local3 = new Object();
_local3.c = "syncBall";
_local3.p = new Object();
_local3.p.p = owner;
_local3.p.m = mode;
_local3.p.x = _x;
_local3.p.y = _y;
_local3.p.xs = xSpeed;
_local3.p.ys = ySpeed;
_global.SS.silentAreaMsg(_local3);
}
}
function getAim() {
var _local2 = spread;
var _local4 = maxSpeed * _local2;
xe = _x - _parent._xmouse;
ye = _y - _parent._ymouse;
var _local3 = Math.sqrt((xe * xe) + (ye * ye));
if (_local3 > _local4) {
xe = (xe / _local3) * _local4;
ye = (ye / _local3) * _local4;
}
xe = Math.round(xe * 100) / 100;
ye = Math.round(ye * 100) / 100;
xxs = xe / _local2;
yys = ye / _local2;
}
function onEnterFrame() {
if (owner == _global.SS.localUser) {
if (mode2 == "aim") {
if (((_root._ymouse >= 440) and (_root._xmouse <= 350)) and (_root.chat.ison == true)) {
trace("over chat box");
} else if (((_root._ymouse <= 32) and (_root._xmouse >= 550)) and (_root.chat.ison == true)) {
trace("over exit button");
} else if (_root.exit.noclick == true) {
trace("exit box open");
} else {
if ((_root._xmouse < 50) and (_root.course._x < 100)) {
_root.course._x = _root.course._x + 2;
} else if ((_root._xmouse > 590) and (_root.course._x > -100)) {
_root.course._x = _root.course._x - 2;
}
if ((_root._ymouse < 50) and (_root.course._y < 100)) {
_root.course._y = _root.course._y + 2;
} else if ((_root._ymouse > 430) and (_root.course._y > -100)) {
_root.course._y = _root.course._y - 2;
}
}
} else {
_root.course._x = 0;
_root.course._y = 0;
}
}
if (delay > 0) {
delay--;
} else if (mode2 == "drop") {
if (_parent.mat.hitTest(_parent._xmouse, _parent._ymouse, true)) {
_x = _parent._xmouse;
_y = _parent._ymouse;
}
} else if (mode2 == "aim") {
getAim();
var _local4 = 1;
while (_local4 <= 5) {
this["a" + _local4]._x = (xe / spread) * _local4;
this["a" + _local4]._y = (ye / spread) * _local4;
_local4++;
}
} else {
ballRolls();
if (mode != "sunk") {
if (_parent.hole.hitTest(_x, _y, true)) {
trace("on hole");
if (speed > 10) {
if (random(100) < 50) {
xSpeed = xSpeed * 0.5;
} else {
ySpeed = ySpeed * 0.5;
}
configMe();
sendSync();
} else if (owner == _global.SS.localUser) {
mode = "sunk";
reportSunk();
} else {
xSpeed = 0;
ySpeed = 0;
}
}
}
}
(gotoAndStop(mode2));// not popped
}
}
Symbol 743 MovieClip [__Packages.com.meychi.ascrypt.Base64] Frame 0
class com.meychi.ascrypt.Base64
{
function Base64 () {
}
static function encode(src) {
var _local1 = 0;
var _local8 = new String("");
var _local6;
var _local4;
var _local3;
var _local10;
var _local9;
var _local7;
var _local2;
while (_local1 < src.length) {
_local6 = src.charCodeAt(_local1++);
_local4 = src.charCodeAt(_local1++);
_local3 = src.charCodeAt(_local1++);
_local10 = _local6 >> 2;
_local9 = ((_local6 & 3) << 4) | (_local4 >> 4);
_local7 = ((_local4 & 15) << 2) | (_local3 >> 6);
_local2 = _local3 & 63;
if (isNaN(_local4)) {
_local2 = 64;
_local7 = _local2;
} else if (isNaN(_local3)) {
_local2 = 64;
}
_local8 = _local8 + (base64chars.charAt(_local10) + base64chars.charAt(_local9));
_local8 = _local8 + (base64chars.charAt(_local7) + base64chars.charAt(_local2));
}
return(_local8);
}
static function decode(src) {
var _local2 = 0;
var _local1 = new String("");
var _local7;
var _local10;
var _local9;
var _local8;
var _local6;
var _local4;
var _local5;
while (_local2 < src.length) {
_local8 = base64chars.indexOf(src.charAt(_local2++));
_local6 = base64chars.indexOf(src.charAt(_local2++));
_local4 = base64chars.indexOf(src.charAt(_local2++));
_local5 = base64chars.indexOf(src.charAt(_local2++));
_local7 = (_local8 << 2) | (_local6 >> 4);
_local10 = ((_local6 & 15) << 4) | (_local4 >> 2);
_local9 = ((_local4 & 3) << 6) | _local5;
_local1 = _local1 + String.fromCharCode(_local7);
if (_local4 != 64) {
_local1 = _local1 + String.fromCharCode(_local10);
}
if (_local5 != 64) {
_local1 = _local1 + String.fromCharCode(_local9);
}
}
return(_local1);
}
static var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
}
Symbol 744 MovieClip [__Packages.JSON] Frame 0
class JSON
{
function JSON () {
}
static function stringify(arg) {
var _local3;
var _local2;
var _local6;
var _local1 = "";
var _local4;
switch (typeof(arg)) {
case "object" :
if (arg) {
if (arg instanceof Array) {
_local2 = 0;
while (_local2 < arg.length) {
_local4 = stringify(arg[_local2]);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + _local4;
_local2++;
}
return(("[" + _local1) + "]");
}
if (typeof(arg.toString) != "undefined") {
for (_local2 in arg) {
_local4 = arg[_local2];
if ((typeof(_local4) != "undefined") && (typeof(_local4) != "function")) {
_local4 = stringify(_local4);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + ((stringify(_local2) + ":") + _local4);
}
}
return(("{" + _local1) + "}");
}
}
return("null");
case "number" :
return((isFinite(arg) ? (String(arg)) : "null"));
case "string" :
_local6 = arg.length;
_local1 = "\"";
_local2 = 0;
while (_local2 < _local6) {
_local3 = arg.charAt(_local2);
if (_local3 >= " ") {
if ((_local3 == "\\") || (_local3 == "\"")) {
_local1 = _local1 + "\\";
}
_local1 = _local1 + _local3;
} else {
switch (_local3) {
case "\b" :
_local1 = _local1 + "\\b";
break;
case "\f" :
_local1 = _local1 + "\\f";
break;
case newline :
_local1 = _local1 + "\\n";
break;
case "\r" :
_local1 = _local1 + "\\r";
break;
case "\t" :
_local1 = _local1 + "\\t";
break;
default :
_local3 = _local3.charCodeAt();
_local1 = _local1 + (("\\u00" + Math.floor(_local3 / 16).toString(16)) + (_local3 % 16).toString(16));
}
}
_local2 = _local2 + 1;
}
return(_local1 + "\"");
case "boolean" :
return(String(arg));
}
return("null");
}
static function parse(text) {
var at = 0;
var ch = " ";
var _value;
var _error = function (m) {
throw {name:"JSONError", message:m, at:at - 1, text:text};
};
var _next = function () {
ch = text.charAt(at);
at = at + 1;
return(ch);
};
var _white = function () {
while (ch) {
if (ch <= " ") {
_next();
} else if (ch == "/") {
switch (_next()) {
case "/" :
while ((_next() && (ch != newline)) && (ch != "\r")) {
}
break;
case "*" :
_next();
for(;;){
if (ch) {
if (ch == "*") {
if (_next() == "/") {
_next();
// unexpected jump
}
} else {
_next();
}
} else {
_error("Unterminated comment");
}
};
break;
default :
_error("Syntax error");
}
} else {
return;
}
}
};
var _string = function () {
var _local4;
var _local1 = "";
var _local3;
var _local2;
var _local5 = false;
if (ch == "\"") {
while (_next()) {
if (ch == "\"") {
_next();
return(_local1);
}
if (ch == "\\") {
switch (_next()) {
case "b" :
_local1 = _local1 + "\b";
break;
case "f" :
_local1 = _local1 + "\f";
break;
case "n" :
_local1 = _local1 + newline;
break;
case "r" :
_local1 = _local1 + "\r";
break;
case "t" :
_local1 = _local1 + "\t";
break;
case "u" :
_local2 = 0;
_local4 = 0;
while (_local4 < 4) {
_local3 = parseInt(_next(), 16);
if (!isFinite(_local3)) {
_local5 = true;
break;
}
_local2 = (_local2 * 16) + _local3;
_local4 = _local4 + 1;
}
if (_local5) {
_local5 = false;
break;
}
_local1 = _local1 + String.fromCharCode(_local2);
break;
default :
_local1 = _local1 + ch;
}
} else {
_local1 = _local1 + ch;
}
}
}
_error("Bad string");
};
var _array = function () {
var _local1 = [];
if (ch == "[") {
_next();
_white();
if (ch == "]") {
_next();
return(_local1);
}
while (ch) {
_local1.push(_value());
_white();
if (ch == "]") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad array");
};
var _object = function () {
var _local2;
var _local1 = {};
if (ch == "{") {
_next();
_white();
if (ch == "}") {
_next();
return(_local1);
}
while (ch) {
_local2 = _string();
_white();
if (ch != ":") {
break;
}
_next();
_local1[_local2] = _value();
_white();
if (ch == "}") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad object");
};
var _number = function () {
var _local1 = "";
var _local2;
if (ch == "-") {
_local1 = "-";
_next();
}
while ((ch >= "0") && (ch <= "9")) {
_local1 = _local1 + ch;
_next();
}
if (ch == ".") {
_local1 = _local1 + ".";
while ((_next() && (ch >= "0")) && (ch <= "9")) {
_local1 = _local1 + ch;
}
}
_local2 = 1 * _local1;
if (!isFinite(_local2)) {
_error("Bad number");
} else {
return(_local2);
}
};
var _word = function () {
switch (ch) {
case "t" :
if (((_next() == "r") && (_next() == "u")) && (_next() == "e")) {
_next();
return(true);
}
break;
case "f" :
if ((((_next() == "a") && (_next() == "l")) && (_next() == "s")) && (_next() == "e")) {
_next();
return(false);
}
break;
case "n" :
if (!(((_next() == "u") && (_next() == "l")) && (_next() == "l"))) {
break;
}
_next();
return(null);
}
_error("Syntax error");
};
_value = function () {
_white();
switch (ch) {
case "{" :
return(_object());
case "[" :
return(_array());
case "\"" :
return(_string());
case "-" :
return(_number());
}
return((((ch >= "0") && (ch <= "9")) ? (_number()) : (_word())));
};
return(_value());
}
}
Symbol 745 MovieClip [__Packages.SServer] Frame 0
class SServer extends XMLSocket
{
var singleMode, devID, eKey, areas, a_ids, u_ids, users, debug, timeOutLimit, timeout, gameID, connect, bwLog, bwMonitor, bwSwitch, log, bw, bwCycles, pingTimer, close, localUser, currentArea, token, commands, send, events, lastData;
function SServer (ns, d) {
super();
singleMode = false;
defineCommands();
defineEvents();
devID = "PG";
eKey = "r98sdjf3w0r89";
areas = new Object();
a_ids = new Object();
u_ids = new Object();
users = new Object();
debug = d;
mx.events.EventDispatcher.initialize(this);
addEventListener("connected", onEvent);
addEventListener("disconnected", onEvent);
addEventListener("loggedIn", onEvent);
addEventListener("areaCreated", onEvent);
addEventListener("areaEntered", onEvent);
addEventListener("areaExited", onEvent);
addEventListener("userListLoaded", onEvent);
addEventListener("userListUpdated", onEvent);
addEventListener("userEntered", onEvent);
addEventListener("userExited", onEvent);
addEventListener("userKicked", onEvent);
addEventListener("kicked", onEvent);
addEventListener("serverMsg", onEvent);
addEventListener("userKilled", onEvent);
addEventListener("areaMsgReceived", onEvent);
addEventListener("privateMsgReceived", onEvent);
addEventListener("areaDataReceived", onEvent);
addEventListener("privateDataReceived", onEvent);
addEventListener("areaListLoaded", onEvent);
addEventListener("error", onEvent);
addEventListener("userVarCreated", onEvent);
addEventListener("userVarDeleted", onEvent);
addEventListener("userVarUpdated", onEvent);
addEventListener("userVarLoaded", onEvent);
addEventListener("userVarsLoaded", onEvent);
addEventListener("areaVarLoaded", onEvent);
addEventListener("areaVarsLoaded", onEvent);
addEventListener("areaVarCreated", onEvent);
addEventListener("areaVarUpdated", onEvent);
addEventListener("areaVarDeleted", onEvent);
addEventListener("areaPropertyCreated", onEvent);
addEventListener("areaPropertyUpdated", onEvent);
addEventListener("areaPropertiesLoaded", onEvent);
addEventListener("areaPropertyDeleted", onEvent);
addEventListener("areaOwnerUpdated", onEvent);
timeOutLimit = 1800000 /* 0x1B7740 */;
timeout = setInterval(this, "timedOut", timeOutLimit);
var _local3 = "pgf-sserv-01.psychogoldfish.com";
var _local4 = 4000;
gameID = ns;
echo((((("connecting to " + _local3) + " on port ") + _local4) + ", game ID: ") + gameID);
connect(_local3, _local4);
bwLog = 0;
bwMonitor = new Object();
bwMonitor.stream = 0;
bwMonitor.average = 0;
bwMonitor.total = 0;
bwSwitch = false;
log = new Array();
}
function dispatchEvent() {
}
function addEventListener() {
}
function removeEventListener() {
}
function parseAttributes() {
}
function base64encode(str) {
return(com.meychi.ascrypt.Base64.encode(str));
}
function base64decode(str) {
return(com.meychi.ascrypt.Base64.decode(str));
}
function startBwMonitor() {
clearInterval(bw);
bwCycles = 0;
bw = setInterval(this, "dumpBw", 1000);
bwSwitch = true;
}
function stopBWMonitor() {
clearInterval(bw);
bwSwitch = false;
}
function dumpBw() {
bwMonitor.stream = Math.round((bwLog / 128) * 100) / 100;
bwMonitor.total = bwMonitor.total + (Math.round((bwLog / 128) * 100) / 100);
if (bwLog > 0) {
bwCycles++;
bwMonitor.average = Math.round((bwMonitor.total / bwCycles) * 100) / 100;
}
bwLog = 0;
}
function timedOut() {
clearInterval(timeout);
trace(">>>>>>>>>>>>>>>>>>>>>>>>>>>>> YOU TIMED OUT <<<<<<<<<<<<<<<<<<<<<<<<<<<");
echo("Connection closed");
var _local2 = {type:"disconnected", success:false};
dispatchEvent(_local2);
clearInterval(pingTimer);
close();
}
function get remoteUserVars() {
return(users[localUser].remoteVars);
}
function get localUserVars() {
return(users[localUser].localVars);
}
function get localAreaVars() {
return(areas[currentArea].localVars);
}
function get remoteAreaVars() {
return(areas[currentArea].remoteVars);
}
function get areaProperties() {
return(areas[currentArea].properties);
}
function get userList() {
return(areas[currentArea].userList);
}
function echo(txt) {
if (debug) {
trace("{DEBUG_OUTPUT} " + txt);
log.push(txt);
if (log.length > 500) {
log.shift();
}
}
}
function dumpLog(dump) {
if (debug) {
var _local2 = new Object();
_local2.name = "errorLog";
if (dump) {
_local2.value = dump;
} else {
_local2.value = log;
}
_local2.gameID = gameID;
postData(_local2);
}
log = new Array();
}
function isOwner(user, area) {
if (!user) {
user = localUser;
}
if (!area) {
area = currentArea;
}
if (areas[area].properties.owner == localUser) {
return(true);
}
return(false);
}
function isAdmin(user) {
if (!user) {
user = localUser;
}
if (users[user].remoteVars.developerAdmin > 0) {
return(true);
}
return(false);
}
function getToken() {
var _local2 = new Object();
_local2.developerID = devID;
sendCommand(_local2);
}
function login(user, pass) {
if (!pass) {
pass = "password";
if (user.length > 18) {
user = substring(user, 0, 18);
}
user = user + "_GUEST";
}
if (user) {
var _local2 = new Object();
_local2.u = user;
localUser = user;
_local2.p = com.meychi.ascrypt.MD5.calculate(pass);
_local2.t = token;
_local2.n = gameID;
var _local5 = JSON.stringify(_local2);
var _local4 = new Object();
_local4.c = "secureLogin";
_local4.d = com.meychi.ascrypt.RC4.encrypt(_local5.toString(), eKey);
sendCommand(_local4);
} else {
genericErrors("login");
}
}
function getAreaList() {
var _local2 = new Object();
_local2.c = "getAreaList";
sendCommand(_local2);
}
function deleteArea(area) {
if (!area) {
area = currentArea;
}
var _local2 = new Object();
_local2.c = "deleteArea";
_local2.a = area;
sendCommand(_local2);
}
function createArea(area, properties) {
var _local3 = true;
if (!properties) {
properties = new Object();
}
if (properties.al == undefined) {
properties.al = Number(0);
}
for (var _local5 in properties) {
if (_local5.length > 16) {
_local3 = false;
break;
}
}
if (_local3 == false) {
genericErrors("createArea", "Property names must be 16 chars or less");
} else if (area) {
var _local4 = new Object();
_local4.c = "createArea";
_local4.n = area;
if (!properties.password) {
properties.password = "";
}
if (!properties.description) {
properties.description = "";
}
_local4.p = properties;
sendCommand(_local4);
} else {
genericErrors("createArea");
}
}
function enterArea(area, pass) {
if (area) {
if (!pass) {
pass = "";
}
var _local2 = new Object();
_local2.c = "enterArea";
_local2.p = pass;
_local2.n = area;
sendCommand(_local2);
} else {
genericErrors("enterArea");
}
}
function exitArea(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "exitArea";
_local2.n = area;
sendCommand(_local2);
} else {
genericErrors("exitArea");
}
}
function getUserList(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "getUserList";
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("getUserList");
}
}
function getAreaProperties(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "getAreaProperties";
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("getAreaProperties");
}
}
function createAreaProperty(name, value, area) {
if (!area) {
area = currentArea;
}
if (name.length > 16) {
genericErrors("createAreaProperty", "Property names must be 16 chars or less");
} else if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "createAreaProperty";
_local2.i = areas[area].id;
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("createAreaProperty");
}
}
function updateAreaProperty(name, value, key, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "updateAreaProperty";
if (!key) {
key = "";
}
_local2.k = key;
_local2.i = areas[area].id;
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("updateAreaProperty");
}
}
function deleteAreaProperty(name, area) {
if (!area) {
area = currentArea;
}
if (area and name) {
var _local2 = new Object();
_local2.c = "deleteAreaProperty";
_local2.a = area;
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("deleteAreaProperty");
}
}
function addToAreaProperty(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "addToAreaProperty";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("addToAreaProperty");
}
}
function appendToAreaProperty(name, value, key, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "appendToAreaProperty";
_local2.n = name;
if (!key) {
key = "";
}
_local2.k = key;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("appendToAreaProperty");
}
}
function getAreaVars(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "getAreaVariables";
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("getAreaVars");
}
}
function getAreaVar(name, area) {
if (!area) {
area = currentArea;
}
if (area and name) {
var _local2 = new Object();
_local2.c = "getAreaVariable";
_local2.a = area;
_local2.k = "";
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("getAreaVar");
}
}
function createAreaVar(name, value, area) {
if (!area) {
area = currentArea;
}
if (name.length > 16) {
genericErrors("createAreaVar", "Var names must be 16 chars or less");
} else if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "createAreaVariable";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("createAreaVar");
}
}
function updateAreaVar(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "updateAreaVariable";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("updateAreaVar");
}
}
function appendToAreaVar(name, value, key, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "appendToAreaVariable";
_local2.n = name;
if (!key) {
key = "";
}
_local2.k = key;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("appendToAreaVar");
}
}
function addToAreaVar(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "addToAreaVariable";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("addToAreaVar");
}
}
function deleteAreaVar(name, area) {
if (!area) {
area = currentArea;
}
if (area and name) {
var _local2 = new Object();
_local2.c = "deleteAreaVariable";
_local2.n = name;
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("deleteAreaVar");
}
}
function resetAreaVars(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "resetAreaVariables";
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("resetAreaVars");
}
}
function getUserVar(name, user) {
if (!user) {
user = localUser;
}
var _local2 = new Object();
_local2.c = "getUserVariable";
if (user and name) {
_local2.u = user;
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("getUserVar");
}
}
function getUserVars(user) {
if (!user) {
user = localUser;
}
var _local2 = new Object();
_local2.c = "getUserVariables";
if (user) {
_local2.u = user;
sendCommand(_local2);
} else {
genericErrors("getUserVars");
}
}
function createUserVar(name, value, readonly) {
if (!readonly) {
readonly = false;
}
if (name.length > 16) {
genericErrors("createUserVar", "Var names must be 16 chars or less");
} else if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "createUserVariable";
_local2.n = name;
_local2.v = value;
_local2.r = readonly;
sendCommand(_local2);
} else {
genericErrors("setUserVar");
}
}
function updateUserVar(name, value) {
if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "updateUserVariable";
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("setUserVar");
}
}
function deleteUserVar(name) {
if (name) {
var _local2 = new Object();
_local2.c = "deleteUserVariable";
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("deleteUserVar");
}
}
function addToUserVar(name, value, area) {
if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "addToUserVariable";
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("addToUserVar");
}
}
function appendToUserVar(name, value, key) {
if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "appendToUserVariable";
_local2.n = name;
if (!key) {
key = "";
}
_local2.k = key;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("appendToUserVar");
}
}
function sendAreaMsg(msg, area, enc) {
if (!area) {
area = currentArea;
}
if (area and msg) {
var _local2 = new Object();
_local2.c = "sendAreaMessage";
_local2.i = areas[area].id;
_local2.q = 0;
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("sendAreaMsg");
}
}
function silentAreaMsg(msg, area) {
if (!area) {
area = currentArea;
}
if (area and msg) {
var _local2 = new Object();
_local2.c = "sendAreaMessage";
_local2.i = areas[area].id;
_local2.q = 1;
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("silentAreaMsg");
}
}
function sendServerMsg(msg) {
if (msg) {
var _local2 = new Object();
_local2.c = "sendServerMessage";
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("sendServerMsg");
}
}
function sendAreaData(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and value) {
var _local2 = new Object();
_local2.n = name;
_local2.v = value;
silentAreaMsg(_local2, area);
} else {
genericErrors("sendAreaData");
}
}
function silentAreaData(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and value) {
var _local2 = new Object();
_local2.n = name;
_local2.v = value;
sendAreaMsg(_local2, area);
} else {
genericErrors("silentAreaData");
}
}
function sendPrivateMsg(msg, users) {
if (users and msg) {
var _local2 = new Object();
_local2.c = "sendPrivateMessage";
_local2.a = currentArea;
if (typeof(users) == "string") {
_local2.u = new Array();
_local2.u = users.split(",");
} else {
_local2.u = users;
}
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("sendPrivateMsg");
}
}
function postData(obj) {
if (obj) {
var _local2 = new Object();
_local2.c = "postData";
_local2.d = obj;
sendCommand(_local2);
} else {
genericErrors("postData");
}
}
function kickUser(user, reason, area) {
if (!area) {
area = currentArea;
}
if (!reason) {
reason = "user has been kicked";
}
if ((area and user) and reason) {
var _local2 = new Object();
_local2.c = "kick";
_local2.a = area;
_local2.u = user;
_local2.r = reason;
sendCommand(_local2);
} else {
genericErrors("kickUser");
}
}
function killUser(user, reason) {
if (!reason) {
reason = "user has been killed";
}
if (user and reason) {
var _local2 = new Object();
_local2.c = "ban";
_local2.u = user;
_local2.r = reason;
sendCommand(_local2);
} else {
trace("angry");
genericErrors("killUser");
}
}
function genericErrors(command, msg) {
if (!msg) {
msg = "missing required field(s)";
}
var _local3 = {type:"error", info:{commandName:command, message:msg}};
dispatchEvent(_local3);
echo((("ERROR in " + command) + ": ") + msg);
}
function updateTimestamp() {
var _local2 = new Object();
_local2.c = "updateTimestamp";
sendCommand(_local2);
}
function authTokenReceived(command) {
token = com.meychi.ascrypt.RC4.decrypt(command.t, eKey);
echo("your token is " + token);
var _local2 = {type:"connected", success:true};
dispatchEvent(_local2);
}
function loginSuccessful(command) {
buildUser(localUser, command.u.id);
users[localUser].remoteVars = command.u;
var _local2 = {type:"loggedIn", msg:command.m};
dispatchEvent(_local2);
pingTimer = setInterval(this, "updateTimestamp", 20000);
updateTimestamp();
}
function error(command) {
echo("==============ERROR================");
if (command.c != "updateTimestamp") {
var _local2 = {type:"error", info:command};
dispatchEvent(_local2);
}
}
function areaListReceived(command) {
var _local5 = new Object();
var _local2 = 0;
while (_local2 < command.l.length) {
var _local3 = command.l[_local2].na;
buildArea(_local3, command.l[_local2].i);
_local5[_local3] = new Object();
_local5[_local3].desc = command.l[_local2].d;
_local5[_local3].priv = command.l[_local2].p;
_local5[_local3].maxUsers = command.l[_local2].m;
_local5[_local3].numUsers = command.l[_local2].n;
_local2++;
}
var _local6 = {type:"areaListLoaded", areaList:_local5};
dispatchEvent(_local6);
}
function areaCreated(command) {
currentArea = command.n;
buildArea(currentArea, command.p.id);
areas[currentArea].properties = command.p;
var _local2 = {type:"areaCreated", area:currentArea};
dispatchEvent(_local2);
}
function areaEntered(command) {
currentArea = command.n;
buildArea(currentArea, command.i);
var _local2 = {type:"areaEntered", area:currentArea};
dispatchEvent(_local2);
}
function areaExited(command) {
if (currentArea == command.n) {
currentArea = undefined;
}
areas[command.n] = undefined;
var _local2 = {type:"areaExited", area:command.n};
dispatchEvent(_local2);
}
function userListReceived(command) {
var _local3 = a_ids[command.i];
areas[_local3].userList = new Array();
for (var _local4 in command.l) {
buildUser(command.l[_local4].u, command.l[_local4].i);
areas[_local3].userList.push(command.l[_local4].u);
}
areas[_local3].userList.sort(Array.CASEINSENSITIVE);
var _local5 = {type:"userListLoaded", area:command.a};
dispatchEvent(_local5);
_local5 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local5);
}
function userEntered(command) {
buildUser(command.u, command.i);
areas[command.a].userList.push(command.u);
areas[command.a].userList.sort(Array.CASEINSENSITIVE);
var _local3 = {type:"userEntered", area:command.a, user:command.u};
dispatchEvent(_local3);
_local3 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local3);
}
function userExited(command) {
var _local3 = areas[command.a].userList;
areas[command.a].userList = new Array();
var _local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2] != command.u) {
areas[command.a].userList.push(_local3[_local2]);
}
_local2++;
}
var _local5 = {type:"userExited", area:command.a, user:command.u};
dispatchEvent(_local5);
_local5 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local5);
}
function areaPropertiesReceived(command) {
if (!areas[command.a]) {
buildArea(command.a, command.id);
}
areas[command.a].properties = command.p;
var _local3 = {type:"areaPropertiesLoaded", area:command.a};
dispatchEvent(_local3);
}
function areaPropertyCreated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].properties[command.n] = command.v;
var _local3 = {type:"areaPropertyCreated", user:u_ids[command.u], area:a_ids[command.i], name:command.n};
dispatchEvent(_local3);
}
function areaPropertyUpdated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].properties[command.n] = command.v;
var _local3 = {type:"areaPropertyUpdated", user:u_ids[command.u], area:a_ids[command.i], name:command.n};
dispatchEvent(_local3);
}
function areaPropertyDeleted(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].properties[command.n] = undefined;
var _local3 = {type:"areaPropertyDeleted", user:command.u, area:command.a, name:command.n};
dispatchEvent(_local3);
}
function areaVariableReceived(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].remoteVars[command.n] = command.v;
var _local3 = {type:"areaVarLoaded", area:command.a, name:command.n};
dispatchEvent(_local3);
}
function areaVariablesReceived(command) {
if (!areas[command.a]) {
buildArea(command.a, command.id);
}
areas[command.a].remoteVars = command.v;
var _local3 = {type:"areaVarsLoaded", area:command.a};
dispatchEvent(_local3);
}
function areaVariableUpdated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].remoteVars[command.n] = command.v;
var _local3 = {type:"areaVarUpdated", area:a_ids[command.i], name:command.n, user:u_ids[command.u]};
dispatchEvent(_local3);
}
function areaVariableDeleted(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].remoteVars[command.n] = undefined;
var _local3 = {type:"areaVarDeleted", area:command.a, name:command.n, user:command.u};
dispatchEvent(_local3);
}
function areaVariableCreated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].remoteVars[command.n] = command.v;
var _local3 = {type:"areaVarCreated", area:a_ids[command.i], name:command.n, user:u_ids[command.u]};
dispatchEvent(_local3);
}
function userVariableReceived(command) {
buildUser(command.u);
users[command.u].remoteVars[command.n] = command.v;
var _local3 = {type:"userVarLoaded", user:command.u, name:command.n};
dispatchEvent(_local3);
}
function userVariablesReceived(command) {
buildUser(command.u);
users[command.u].remoteVars = command.v;
var _local3 = {type:"userVarsLoaded", user:command.u};
dispatchEvent(_local3);
}
function userVariableCreated(command) {
users[localUser].remoteVars[command.n] = command.v;
var _local2 = {type:"userVarCreated", name:command.n};
dispatchEvent(_local2);
}
function userVariableUpdated(command) {
users[localUser].remoteVars[command.n] = command.v;
var _local2 = {type:"userVarUpdated", name:command.n};
dispatchEvent(_local2);
}
function userVariableDeleted(command) {
users[localUser].remoteVars[command.n] = undefined;
var _local2 = {type:"userVarDeleted", name:command.n};
dispatchEvent(_local2);
}
function areaMessageReceived(command) {
if (typeof(command.m) == "string") {
var _local3 = {type:"areaMsgReceived", area:a_ids[command.a], user:u_ids[command.u], msg:command.m};
dispatchEvent(_local3);
} else {
var _local3 = {type:"areaDataReceived", area:a_ids[command.a], user:u_ids[command.u], data:command.m};
dispatchEvent(_local3);
}
}
function privateMessageReceived(command) {
if (typeof(command.m) == "string") {
var _local3 = {type:"privateMsgReceived", user:command.u, msg:command.m};
dispatchEvent(_local3);
} else {
var _local3 = {type:"privateDataReceived", user:command.u, data:command.m};
dispatchEvent(_local3);
}
}
function userKicked(command) {
var _local4 = areas[command.a].userList;
areas[command.a].userList = new Array();
var _local2 = 0;
while (_local2 < _local4.length) {
if (_local4[_local2] != command.u) {
areas[command.a].userList.push(_local4[_local2]);
}
_local2++;
}
if (command.u == localUser) {
var _local5 = {type:"areaExited", area:command.a};
dispatchEvent(_local5);
_local5 = {type:"kicked", area:command.a, kickedBy:command.b, reason:command.r};
dispatchEvent(_local5);
} else {
var _local5 = {type:"userExited", area:command.a, user:command.u};
dispatchEvent(_local5);
_local5 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local5);
_local5 = {type:"userKicked", area:command.a, kickedBy:command.b, user:command.u, reason:command.r};
dispatchEvent(_local5);
}
}
function userBanned(command) {
var _local4 = areas[command.a].userList;
areas[command.a].userList = new Array();
var _local2 = 0;
while (_local2 < _local4.length) {
if (_local4[_local2] != command.u) {
areas[command.a].userList.push(_local4[_local2]);
}
_local2++;
}
users[command.u] = undefined;
var _local5 = {type:"userKilled", area:command.a, kickedBy:command.b, user:command.u, reason:command.r};
dispatchEvent(_local5);
_local5 = {type:"userExited", area:command.a, user:command.u};
dispatchEvent(_local5);
_local5 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local5);
}
function areaOwnerUpdated(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].properties.owner = command.u;
var _local3 = {type:"areaOwnerUpdated", user:command.u, area:command.a};
dispatchEvent(_local3);
_local3 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local3);
}
function serverMessageReceived(command) {
trace("<<<<<<<<<<<<<<<<<<<<<<<<<< SERVER MESSAGE >>>>>>>>>>>>>>>>>>>>>>>>>>>");
trace(command.m);
var _local2 = {type:"serverMsg", msg:command.m};
dispatchEvent(_local2);
}
function buildUser(user, id) {
if (!users[user]) {
users[user] = new Object();
users[user].localVars = new Object();
users[user].remoteVars = new Object();
}
users[user].id = id;
u_ids[id] = user;
}
function buildArea(area, id) {
if (!areas[area]) {
areas[area] = new Object();
areas[area].localVars = new Object();
areas[area].remoteVars = new Object();
areas[area].properties = new Object();
}
areas[area].id = id;
a_ids[id] = area;
}
function resetTimeout() {
clearInterval(timeout);
timeout = setInterval(this, "timedOut", timeOutLimit);
}
function sendCommand(command) {
if (command.c != "updateTimestamp") {
resetTimeout();
} else {
trace("SKIPPING TIMESTAMP UPDATE");
}
if (debug) {
echo("===========================================================");
echo("Sending Command: " + command.c);
echo("");
for (var _local4 in command) {
if (_local4 == "v") {
for (var _local3 in command[_local4]) {
echo(((" v['" + _local3) + "'] -> ") + command[_local4][_local3]);
}
} else if (_local4 == "m") {
for (var _local3 in command[_local4]) {
echo(((" m['" + _local3) + "'] -> ") + command[_local4][_local3]);
}
} else if (_local4 != "c") {
echo(((" " + _local4) + " -> ") + command[_local4]);
}
}
}
if (!checkSinglePlayer(command)) {
command.c = commands[command.c];
var _local5 = JSON.stringify(command);
if (bwSwitch == true) {
bwLog = bwLog + _local5.length;
}
send(_local5);
}
}
function checkSinglePlayer(c) {
if (singleMode != true) {
return(false);
}
if (c.i) {
var _local5 = a_ids[c.i];
if (areas[_local5].userList.length > 1) {
return(false);
}
if (c.c == "sendAreaMessage") {
echo(("By passing " + c.c) + " to SServer via single player mode");
var _local3 = new Object();
_local3.m = c.m;
_local3.a = c.i;
_local3.u = users[localUser].id;
areaMessageReceived(_local3);
return(true);
}
if (c.c == "createAreaVariable") {
echo(("By passing " + c.c) + " to SServer via single player mode");
var _local3 = new Object();
_local3.n = c.n;
_local3.v = c.v;
_local3.i = c.i;
_local3.u = users[localUser].id;
areaVariableCreated(_local3);
return(true);
}
if (c.c == "updateAreaVariable") {
echo(("By passing " + c.c) + " to SServer via single player mode");
var _local3 = new Object();
_local3.n = c.n;
_local3.v = c.v;
_local3.i = c.i;
_local3.u = users[localUser].id;
areaVariableUpdated(_local3);
return(true);
}
if (c.c == "appendToAreaVariable") {
echo(("By passing " + c.c) + " to SServer via single player mode");
var _local3 = new Object();
var _local4 = areas[_local5].remoteVars[c.n];
if (!_local4) {
_local4 = new Object();
}
_local4[c.k] = c.v;
_local3.n = c.n;
_local3.v = _local4;
_local3.i = c.i;
_local3.u = users[localUser].id;
areaVariableUpdated(_local3);
return(true);
}
return(false);
}
return(false);
}
function defineCommands() {
commands = new Object();
commands.addToAreaProperty = 0;
commands.addToAreaVariable = 1;
commands.addToUserVariable = 2;
commands.appendToAreaProperty = 3;
commands.appendToAreaVariable = 4;
commands.appendToUserVariable = 5;
commands.ban = 6;
commands.closeArea = 7;
commands.createArea = 8;
commands.createAreaProperty = 9;
commands.createAreaVariable = 10;
commands.createSession = 11;
commands.createUserVariable = 12;
commands.deleteAreaProperty = 13;
commands.deleteAreaVariable = 14;
commands.deleteUserVariable = 15;
commands.enterArea = 16;
commands.exitArea = 17;
commands.getAreaList = 18;
commands.getAreaProperty = 19;
commands.getAreaProperties = 20;
commands.getAreaVariable = 21;
commands.getAreaVariables = 22;
commands.getServerStatistics = 23;
commands.getServerTime = 24;
commands.getUserList = 25;
commands.getUserVariable = 26;
commands.getUserVariables = 27;
commands.kick = 28;
commands.popAreaProperty = 29;
commands.popAreaVariable = 30;
commands.popUserVariable = 31;
commands.postData = 32;
commands.resetAreaVariables = 33;
commands.secureLogin = 34;
commands.sendAreaMessage = 35;
commands.sendPrivateMessage = 36;
commands.sendServerMessage = 37;
commands.updateAreaProperty = 38;
commands.updateAreaVariable = 39;
commands.updateTimestamp = 40;
commands.updateUserVariable = 41;
}
function defineEvents() {
events = new Array();
events[0] = "error";
events[1] = "areaClosed";
events[2] = "areaCreated";
events[3] = "areaEntered";
events[4] = "areaExited";
events[5] = "areaListReceived";
events[6] = "areaMessageReceived";
events[7] = "areaOwnerUpdated";
events[8] = "areaPropertiesReceived";
events[9] = "areaPropertyCreated";
events[10] = "areaPropertyDeleted";
events[11] = "areaPropertyPopped";
events[12] = "areaPropertyReceived";
events[13] = "areaPropertyUpdated";
events[14] = "areaVariableCreated";
events[15] = "areaVariableDeleted";
events[16] = "areaVariablePopped";
events[17] = "areaVariableReceived";
events[18] = "areaVariablesReceived";
events[19] = "areaVariablesReset";
events[20] = "areaVariableUpdated";
events[21] = "authTokenReceived";
events[22] = "dataPosted";
events[23] = "loginSuccessful";
events[24] = "privateMessageReceived";
events[25] = "serverMessageReceived";
events[26] = "serverStatisticsReceived";
events[27] = "serverTimeReceived";
events[28] = "success";
events[29] = "userBanned";
events[30] = "userEntered";
events[31] = "userExited";
events[32] = "userKicked";
events[33] = "userListReceived";
events[34] = "userVariableCreated";
events[35] = "userVariableDeleted";
events[36] = "userVariablePopped";
events[37] = "userVariableReceived";
events[38] = "userVariablesReceived";
events[39] = "userVariableUpdated";
}
function onConnect(success) {
if (success) {
echo("Connection successful, awaiting token");
lastData = getTimer();
getToken();
} else {
genericErrors("connect", "Could not connect to server");
}
}
function onClose() {
echo("Connection closed");
var _local2 = {type:"disconnected", success:false};
dispatchEvent(_local2);
clearInterval(pingTimer);
}
function dumpObject(name, obj) {
if (((typeof(obj) == "string") or (typeof(obj) == "boolean")) or (typeof(obj) == "number")) {
echo((name + " <- ") + obj);
} else {
for (var _local4 in obj) {
if (obj[_local4]) {
dumpObject(((name + "[") + _local4) + "]", obj[_local4]);
} else {
echo(((name + "['") + _local4) + "'] <- undefined");
}
}
}
}
function onData(raw) {
bufferEvent(raw);
}
function bufferEvent(raw) {
var _local2 = JSON.parse(raw);
lastData = getTimer();
_local2.e = events[_local2.e];
if (_local2.e) {
if (debug) {
echo("===========================================================");
echo("Event Received: " + _local2.e);
echo("");
for (var _local3 in _local2) {
if (_local3 != "e") {
dumpObject(" " + _local3, _local2[_local3]);
}
}
}
this[_local2.e](_local2);
} else {
echo("Raw Data Received:");
echo(raw) + newline;
}
}
var onEvent = new Object();
}
Symbol 746 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 747 MovieClip [__Packages.com.meychi.ascrypt.MD5] Frame 0
class com.meychi.ascrypt.MD5
{
function MD5 () {
}
static function calculate(src) {
return(hex_md5(src));
}
static function hex_md5(src) {
return(binl2hex(core_md5(str2binl(src), src.length * 8)));
}
static function core_md5(x, len) {
x[len >> 5] = x[len >> 5] | (128 << (len % 32));
x[(((len + 64) >>> 9) << 4) + 14] = len;
var _local4 = 1732584193 /* 0x67452301 */;
var _local3 = -271733879;
var _local2 = -1732584194;
var _local1 = 271733878 /* 0x10325476 */;
var _local5 = 0;
while (_local5 < x.length) {
var _local10 = _local4;
var _local9 = _local3;
var _local8 = _local2;
var _local7 = _local1;
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 0], 7, -680876936);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 1], 12, -389564586);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 2], 17, 606105819);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 3], 22, -1044525330);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 4], 7, -176418897);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 5], 12, 1200080426);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 6], 17, -1473231341);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 7], 22, -45705983);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 8], 7, 1770035416);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 9], 12, -1958414417);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 10], 17, -42063);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 11], 22, -1990404162);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 12], 7, 1804603682);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 13], 12, -40341101);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 14], 17, -1502002290);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 15], 22, 1236535329);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 1], 5, -165796510);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 6], 9, -1069501632);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 11], 14, 643717713);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 0], 20, -373897302);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 5], 5, -701558691);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 10], 9, 38016083);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 15], 14, -660478335);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 4], 20, -405537848);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 9], 5, 568446438);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 14], 9, -1019803690);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 3], 14, -187363961);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 8], 20, 1163531501);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 13], 5, -1444681467);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 2], 9, -51403784);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 7], 14, 1735328473);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 12], 20, -1926607734);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 5], 4, -378558);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 8], 11, -2022574463);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 11], 16, 1839030562);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 14], 23, -35309556);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 1], 4, -1530992060);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 4], 11, 1272893353);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 7], 16, -155497632);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 10], 23, -1094730640);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 13], 4, 681279174);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 0], 11, -358537222);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 3], 16, -722521979);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 6], 23, 76029189);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 9], 4, -640364487);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 12], 11, -421815835);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 15], 16, 530742520);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 2], 23, -995338651);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 0], 6, -198630844);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 7], 10, 1126891415);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 14], 15, -1416354905);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 5], 21, -57434055);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 12], 6, 1700485571);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 3], 10, -1894986606);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 10], 15, -1051523);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 1], 21, -2054922799);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 8], 6, 1873313359);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 15], 10, -30611744);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 6], 15, -1560198380);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 13], 21, 1309151649);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 4], 6, -145523070);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 11], 10, -1120210379);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 2], 15, 718787259);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 9], 21, -343485551);
_local4 = safe_add(_local4, _local10);
_local3 = safe_add(_local3, _local9);
_local2 = safe_add(_local2, _local8);
_local1 = safe_add(_local1, _local7);
_local5 = _local5 + 16;
}
return(new Array(_local4, _local3, _local2, _local1));
}
static function md5_cmn(q, a, b, x, s, t) {
return(safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b));
}
static function md5_ff(a, b, c, d, x, s, t) {
return(md5_cmn((b & c) | ((~b) & d), a, b, x, s, t));
}
static function md5_gg(a, b, c, d, x, s, t) {
return(md5_cmn((b & d) | (c & (~d)), a, b, x, s, t));
}
static function md5_hh(a, b, c, d, x, s, t) {
return(md5_cmn((b ^ c) ^ d, a, b, x, s, t));
}
static function md5_ii(a, b, c, d, x, s, t) {
return(md5_cmn(c ^ (b | (~d)), a, b, x, s, t));
}
static function bit_rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
static function safe_add(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
static function str2binl(str) {
var _local3 = new Array();
var _local4 = 255;
var _local1 = 0;
while (_local1 < (str.length * 8)) {
_local3[_local1 >> 5] = _local3[_local1 >> 5] | ((str.charCodeAt(_local1 / 8) & _local4) << (_local1 % 32));
_local1 = _local1 + 8;
}
return(_local3);
}
static function binl2hex(binarray) {
var _local4 = new String("");
var _local3 = new String("0123456789abcdef");
var _local1 = 0;
while (_local1 < (binarray.length * 4)) {
_local4 = _local4 + (_local3.charAt((binarray[_local1 >> 2] >> (((_local1 % 4) * 8) + 4)) & 15) + _local3.charAt((binarray[_local1 >> 2] >> ((_local1 % 4) * 8)) & 15));
_local1++;
}
return(_local4);
}
}
Symbol 748 MovieClip [__Packages.com.meychi.ascrypt.RC4] Frame 0
class com.meychi.ascrypt.RC4
{
function RC4 () {
}
static function encrypt(src, key) {
var _local3 = strToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(charsToHex(_local2));
}
static function decrypt(src, key) {
var _local3 = hexToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(charsToStr(_local2));
}
static function initialize(pwd) {
var _local2 = 0;
var _local3;
var _local4 = pwd.length;
var _local1 = 0;
while (_local1 <= 255) {
mykey[_local1] = pwd[_local1 % _local4];
sbox[_local1] = _local1;
_local1++;
}
_local1 = 0;
while (_local1 <= 255) {
_local2 = ((_local2 + sbox[_local1]) + mykey[_local1]) % 256;
_local3 = sbox[_local1];
sbox[_local1] = sbox[_local2];
sbox[_local2] = _local3;
_local1++;
}
}
static function calculate(plaintxt, psw) {
initialize(psw);
var _local1 = 0;
var _local2 = 0;
var _local9 = new Array();
var _local7;
var _local5;
var _local6;
var _local3 = 0;
while (_local3 < plaintxt.length) {
_local1 = (_local1 + 1) % 256;
_local2 = (_local2 + sbox[_local1]) % 256;
_local5 = sbox[_local1];
sbox[_local1] = sbox[_local2];
sbox[_local2] = _local5;
var _local4 = (sbox[_local1] + sbox[_local2]) % 256;
_local7 = sbox[_local4];
_local6 = plaintxt[_local3] ^ _local7;
_local9.push(_local6);
_local3++;
}
return(_local9);
}
static function charsToHex(chars) {
var _local4 = new String("");
var _local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
var _local1 = 0;
while (_local1 < chars.length) {
_local4 = _local4 + (_local3[chars[_local1] >> 4] + _local3[chars[_local1] & 15]);
_local1++;
}
return(_local4);
}
static function hexToChars(hex) {
var _local3 = new Array();
var _local1 = ((hex.substr(0, 2) == "0x") ? 2 : 0);
while (_local1 < hex.length) {
_local3.push(parseInt(hex.substr(_local1, 2), 16));
_local1 = _local1 + 2;
}
return(_local3);
}
static function charsToStr(chars) {
var _local3 = new String("");
var _local1 = 0;
while (_local1 < chars.length) {
_local3 = _local3 + String.fromCharCode(chars[_local1]);
_local1++;
}
return(_local3);
}
static function strToChars(str) {
var _local3 = new Array();
var _local1 = 0;
while (_local1 < str.length) {
_local3.push(str.charCodeAt(_local1));
_local1++;
}
return(_local3);
}
static var sbox = new Array(255);
static var mykey = new Array(255);
}
Symbol 749 MovieClip [__Packages.gameClasses.miniPutt] Frame 0
class gameClasses.miniPutt
{
var depth, timer, timer1, online, turn, shotName, strokes, currentPlayer, cache, hole, order;
function miniPutt (o) {
depth = 100;
timer = new Number();
timer1 = new Number();
online = o;
turn = 0;
_global.SS.remoteAreaVars.hole = 0;
_global.SS.createAreaVar("scores", new Object());
shotName = new Array();
shotName[2] = "Double Bogey";
shotName[1] = "Bogey";
shotName[0] = "Par";
shotName[-1] = "Birdie";
shotName[-2] = "Eagle";
shotName[-3] = "Albatross";
}
function endGame() {
var _local7 = new Object();
var _local4 = 0;
while (_local4 < _global.SS.userList.length) {
var _local6 = 0;
var _local3 = 1;
while (_local3 <= 18) {
var _local5 = _global.SS.remoteAreaVars.scores[(("h" + _local3) + "_") + _global.SS.userList[_local4]];
_local6 = _local6 + _local5;
_local3++;
}
_local7[_global.SS.userList[_local4]] = _local6;
timer = setInterval(this, "finishUp", 4000);
_local4++;
}
}
function exitNow() {
_root.gotoAndStop("room");
}
function finishUp() {
clearInterval(timer);
var _local3 = new Object();
_local3.c = "exitNow";
_global.SS.sendAreaMsg(_local3);
}
function newCmd(c, p) {
this[c](p);
}
function dec(p) {
trace("decryption " + com.meychi.ascrypt.Base64.decode(p));
var _local4 = JSON.parse(com.meychi.ascrypt.Base64.decode(p));
if (_local4.h == _global.SS.remoteAreaVars.sde) {
newCmd(_local4.c, _local4.p);
} else {
trace((_local4.h + " vs ") + _global.SS.remoteAreaVars.sde);
_root.course.chatLog.push("Offset Packet: user may be cheating");
_root.course.chatBox = _root.course.chatLog.join(newline);
_root.course.chatBox.scroll = _root.course.chatBox.maxscroll;
}
}
function config() {
strokes = 0;
depth = 100;
_root.course.game.hole.objects = new Object();
for (var _local4 in _root.course.game.hole) {
if (typeof(_root.course.game.hole[_local4]) == "movieclip") {
_root.course.game.hole.objects[_local4] = true;
}
}
_root.course.game.hole.overlay.swapDepths(3000);
_global.SS.createAreaVar("sde", random(99) + 1);
}
function initPlayers() {
if (_global.SS.isOwner()) {
currentPlayer = 0;
_global.SS.createAreaVar("currentPlayer", currentPlayer);
var _local7 = new Array();
var _local4 = new Array();
var _local8 = int(_global.SS.remoteAreaVars.hole);
var _local3 = 0;
while (_local3 < _global.SS.userList.length) {
var _local5 = _global.SS.userList[_local3];
var _local6 = int(_global.SS.remoteAreaVars.scores[(("h" + _local8) + "_") + _local5]);
trace((("BUILDING ORDER LIST: USER-> " + _local5) + " = ") + _local6);
_local4.push({u:_local5, s:_local6});
_local3++;
}
_local4.sortOn(["s", "u"], [Array.NUMERIC, Array.CASEINSENSITIVE]);
_local3 = 0;
while (_local3 < _local4.length) {
_local7.push(_local4[_local3].u);
_local3++;
}
_global.SS.remoteAreaVars.order = _local7;
_global.SS.createAreaVar("order", _local7);
_global.SS.createAreaVar("hole", int(_global.SS.remoteAreaVars.hole) + 1);
timer = setInterval(this, "firstPlayer", 2000);
}
}
function updateScore() {
strokes++;
_root.course.game.hole["ball" + _global.SS.localUser].strokes++;
_global.SS.appendToAreaVar("scores", strokes, (("h" + _global.SS.remoteAreaVars.hole) + "_") + _global.SS.localUser);
}
function firstPlayer() {
clearInterval(timer);
startTurn(_global.SS.remoteAreaVars.currentPlayer);
}
function syncBall(p) {
if (p.p != _global.SS.localUser) {
var _local3 = "ball" + p.p;
_root.course.game.hole[_local3]._x = p.x;
_root.course.game.hole[_local3]._y = p.y;
_root.course.game.hole[_local3].xSpeed = p.xs;
_root.course.game.hole[_local3].ySpeed = p.ys;
_root.course.game.hole[_local3].mode = p.m;
_root.course.game.hole[_local3].configMe();
}
}
function newBall(p) {
_root.debug.push(("function newBall('" + p) + "')");
initPlayer(p);
if (p == _global.SS.localUser) {
_root.debug.push((p + " == ") + _global.SS.localUser);
_root.course.game.hole["ball" + p].mode2 = "drop";
} else {
_root.debug.push((p + " != ") + _global.SS.localUser);
}
}
function startTurn(p) {
trace("player = " + p);
var _local4 = _global.SS.remoteAreaVars.order[p];
if (_local4 == undefined) {
var _local3 = 0;
while (_local3 < _global.SS.remoteAreaVars.order.length) {
trace((("player " + _local3) + " = ") + _global.SS.remoteAreaVars.order[_local3]);
_local3++;
}
}
if (_global.SS.userList.length > 1) {
_root.nowshooting.shoot.name = _local4;
_root.nowshooting.gotoAndPlay(2);
}
if ((!_root.course.game.hole["ball" + _local4]) and _global.SS.isOwner()) {
var _local5 = new Object();
_local5.c = "newBall";
_local5.p = _local4;
_global.SS.sendAreaMsg(_local5);
trace("I SENT OUT A NEWBALL COMMAND FOR " + _local4);
} else if (_local4 == _global.SS.localUser) {
_root.course.game.hole["ball" + _local4].mode2 = "aim";
}
}
function initPlayer(p) {
_root.course.game.hole["ball" + p].removeMovieClip();
_root.course.game.hole.attachMovie("ball", "ball" + p, depth);
_root.debug.push((("attaching ball" + p) + " on depth ") + depth);
_root.debug.push(typeof(_root.course.game.hole["ball" + p]));
_root.debug.push("=====================================================");
depth++;
_root.course.game.hole["ball" + p]._x = _root.course.game.hole.mat._x;
_root.course.game.hole["ball" + p]._y = _root.course.game.hole.mat._y;
_root.course.game.hole["ball" + p].owner = p;
_root.course.game.hole["ball" + p].strokes = 0;
if (p == _global.SS.localUser) {
_root.course.game.hole["ball" + p].mode2 = "drop";
}
_root.course.game.hole["ball" + p].filters = _global.pallette[int(_global.SS.remoteAreaVars.color[p])];
trace("ball generated: ball" + p);
cache = p;
timer1 = setInterval(this, "fixInit", 100);
}
function fixInit() {
clearInterval(timer1);
if (!_root.course.game.hole["ball" + cache]) {
initPlayer(cache);
}
}
function nextHole(p) {
hole = p;
_root.scorecard.runScores();
_root.course.game.play();
}
function endTurn(p) {
if (_global.SS.isOwner()) {
if (_global.SS.remoteAreaVars.order.length < 1) {
timer = setInterval(this, "endHole", 2000);
} else {
order = _global.SS.remoteAreaVars.order;
currentPlayer = _global.SS.remoteAreaVars.currentPlayer;
currentPlayer++;
if (currentPlayer >= order.length) {
currentPlayer = 0;
}
_global.SS.createAreaVar("currentPlayer", currentPlayer);
var _local3 = new Object();
_local3.c = "startTurn";
_local3.p = currentPlayer;
_global.SS.sendAreaMsg(_local3);
}
}
}
function endHole() {
clearInterval(timer);
var _local3 = new Object();
_local3.c = "nextHole";
_local3.p = _global.SS.remoteAreaVars.hole + 1;
_global.SS.sendAreaMsg(_local3);
}
function playMax() {
_root.tenStroke.msg = "10 Stroke Limit";
_root.tenStroke.play();
}
function sunk(p) {
if (p.p != _global.SS.localuser) {
playSunk();
_root.course.game.hole["ball" + p.p]._x = _root.course.game.hole.hole._x;
_root.course.game.hole["ball" + p.p]._y = _root.course.game.hole.hole._y;
_root.course.game.hole["ball" + p.p].mode = "sunk";
_root.course.game.hole["ball" + p.p].initKill();
}
var _local9 = int(p.s) - _root.course.par[_global.SS.remoteAreaVars.hole];
var _local8 = new String();
if (p.s < 1) {
_local8 = "10 Stroke Limit";
} else if (p.s == 1) {
_local8 = "Hole in One!";
} else if (_local9 <= 2) {
_local8 = shotName[int(_local9)];
} else {
_local8 = p.s + " Strokes";
}
_root.tenStroke.msg = _local8;
_root.tenStroke.play();
if (_global.SS.isOwner()) {
var _local6 = _global.SS.remoteAreaVars.currentPlayer;
var _local7 = new Array();
var _local4 = 0;
while (_local4 < _global.SS.remoteAreaVars.order.length) {
if (_global.SS.remoteAreaVars.order[_local4] == p.p) {
_local6--;
} else {
_local7.push(_global.SS.remoteAreaVars.order[_local4]);
}
_local4++;
}
if (_local6 < 0) {
_local6 = 0;
}
_global.SS.remoteAreaVars.order = _local7;
_global.SS.remoteAreaVars.currentPlayer = _local6;
_global.SS.createAreaVar("order", _local7);
_global.SS.createAreaVar("currentPlayer", _local6);
endTurn(p);
}
}
function fixOrder(p) {
if (p) {
trace(("attempting to fix players and resync: " + p) + " left");
_root.course.game.hole["ball" + p].removeMovieClip();
if (_global.SS.remoteAreaVars.order[_global.SS.remoteAreaVars.currentPlayer] == p) {
var _local7 = true;
trace(p + " is in order array");
} else {
var _local7 = false;
}
}
var _local5 = new Object();
var _local4 = 0;
while (_local4 < _global.SS.userList.length) {
_local5[_global.SS.userList[_local4]] = 1;
trace("User Alive: " + _global.SS.userList[_local4]);
_local4++;
}
order = new Array();
_local4 = 0;
while (_local4 < _global.SS.remoteAreaVars.order.length) {
if (_local5[_global.SS.remoteAreaVars.order[_local4]] == 1) {
order.push(_global.SS.remoteAreaVars.order[_local4]);
} else {
trace(("removing " + _global.SS.remoteAreaVars.order[_local4]) + " from the players array");
}
_local4++;
}
_global.SS.remoteAreaVars.order = order;
if (_global.SS.isOwner()) {
_global.SS.createAreaVar("order", order);
if (_local7) {
trace("seting new turn");
_global.SS.remoteAreaVars.currentPlayer--;
if (_global.SS.remoteAreaVars.currentPlayer < 0) {
_global.SS.remoteAreaVars.currentPlayer = 0;
}
endTurn();
}
}
}
function playSunk() {
var _local1 = new Sound();
_local1.attachSound("sunk");
_local1.start();
}
function hitSound(p) {
if (p != _global.SS.localUser) {
var _local2 = new Sound();
_local2.attachSound("hit");
_local2.start();
}
}
}
Symbol 35 MovieClip Frame 1
onEnterFrame = function () {
_rotation = (_rotation + 15);
};
Symbol 40 Button
on (release) {
gotoAndPlay (1);
}
Symbol 43 Button
on (release, keyPress "<Enter>") {
if (user.length > 2) {
if (remember) {
so.data.user = user;
so.data.pass = pass;
so.data.remember = remember;
so.flush();
} else {
so.data.user = undefined;
so.data.pass = undefined;
so.data.remember = false;
so.flush();
}
SS.login(user, pass);
nextFrame();
}
}
Symbol 57 Button
on (release) {
if (_parent[variable] == true) {
_parent[variable] = false;
} else {
_parent[variable] = true;
}
}
Symbol 59 MovieClip Frame 1
onEnterFrame = function () {
if (variable) {
if (_parent[variable] == true) {
gotoAndStop (2);
} else {
gotoAndStop (1);
}
}
};
stop();
Symbol 62 MovieClip Frame 1
remember = false;
var so = SharedObject.getLocal("login");
_global.SS = new SServer("MiniPutt", true);
SS.singleMode = false;
SS.onEvent.connected = function (dat) {
gotoAndStop ("login");
};
SS.onEvent.disconnected = function (dat) {
_root.error = "You have been disconnected from the server.";
trace(_root.error);
_root.gotoAndStop(1);
};
SS.onEvent.error = function (dat) {
error = dat.info.message;
gotoAndStop ("retry");
};
stop();
Symbol 62 MovieClip Frame 3
SS.onEvent.loggedIn = function (dat) {
_parent.play();
};
Selection.setFocus("Cbar");
if (so.data.user) {
user = so.data.user;
pass = so.data.pass;
remember = so.data.remember;
}
Instance of Symbol 59 MovieClip in Symbol 62 MovieClip Frame 3
onClipEvent (load) {
variable = "remember";
}
Symbol 67 Button
on (release) {
getURL ("http://www.psychogoldfish.com", "_blank");
}
Symbol 71 MovieClip Frame 1
function reportHit(x) {
_root.game.run.newBounce(_name, _x, _y, xSpeed, ySpeed, angle);
}
mode = "roll";
type = "ball";
area = "area";
objects = _parent.objects;
tmp = new gameMath();
speed = 20;
cc = tmp.getXY(random(360));
xSpeed = speed * cc.x;
ySpeed = speed * cc.y;
configMe();
Symbol 74 Button
on (release) {
gotoAndStop (1);
}
Symbol 76 Button
on (release) {
getURL ("http://www.psychogoldfish.com/multiplayer_games", "_blank");
gotoAndStop (1);
}
Symbol 78 MovieClip Frame 1
stop();
Symbol 78 MovieClip Frame 2
SS.exitArea();
stop();
Symbol 81 Button
on (release) {
gotoAndStop (1);
}
Symbol 85 MovieClip Frame 1
SS.onEvent.kicked = function (d) {
msg = ("You were kicked by " + d.kickedBy) + newline;
msg = msg + ("Reason: " + d.reason);
gotoAndStop (2);
};
stop();
Symbol 86 Button
on (release) {
_parent.gotoAndStop(3);
}
Symbol 89 Button
on (release) {
SS.killUser(user, msg);
gotoAndStop (1);
}
Symbol 91 Button
on (release) {
gotoAndStop (1);
}
Symbol 98 MovieClip Frame 1
noclick = false;
stop();
Instance of Symbol 88 MovieClip in Symbol 98 MovieClip Frame 1
onClipEvent (enterFrame) {
if (SS.isAdmin()) {
gotoAndStop (2);
} else {
gotoAndStop (1);
}
}
Symbol 98 MovieClip Frame 2
noclick = true;
stop();
Symbol 99 Button
on (release) {
getURL ("http://www.psychogoldfish.com/members/register", "_blank");
_root.gotoAndPlay(1);
}
Symbol 101 Button
on (release) {
gotoAndStop (1);
}
Symbol 104 MovieClip Frame 1
stop();
Symbol 104 MovieClip Frame 2
stop();
Symbol 107 Button
on (release) {
gotoAndStop (1);
}
Symbol 110 Button
on (release) {
if (msg) {
SS.sendServerMsg(msg);
msg = undefined;
gotoAndStop (1);
}
}
Symbol 114 MovieClip Frame 1
SS.onEvent.serverMsg = function (c) {
msg = c.msg;
gotoAndStop (2);
};
stop();
Instance of Symbol 106 MovieClip in Symbol 114 MovieClip Frame 1
onClipEvent (enterFrame) {
if (SS.isAdmin()) {
gotoAndStop (2);
} else {
gotoAndStop (1);
}
}
Symbol 114 MovieClip Frame 2
stop();
Symbol 120 Button
on (release) {
gotoAndStop (1);
}
Symbol 128 Button
on (press) {
scrollMe = -1;
}
Symbol 129 Button
on (press) {
scrollMe = 1;
}
Symbol 130 Button
on (press) {
ys = bar._y - _ymouse;
dragBar = true;
}
Symbol 133 MovieClip Frame 1
scrollMe = 0;
scrollPos = 0;
row = 0;
min = top._y + 36;
max = bot._y - 36;
range = max - min;
Instance of Symbol 125 MovieClip in Symbol 133 MovieClip Frame 1
onClipEvent (mouseUp) {
_parent.scrollMe = 0;
_parent.dragBar = false;
}
Symbol 135 Button
on (release) {
_parent.selectRoom(a, p, l);
}
Symbol 142 MovieClip Frame 1
p = 0;
l = 0;
Symbol 142 MovieClip Frame 2
p = 1;
l = 0;
Symbol 142 MovieClip Frame 3
p = 0;
l = 1;
Symbol 142 MovieClip Frame 4
p = 1;
l = 1;
Symbol 146 Button
on (release) {
_parent.joinRoom(area, pass);
}
Symbol 150 Button
on (release) {
if (pass != "") {
_parent.joinRoom(area, pass);
}
}
Symbol 156 MovieClip Frame 1
pass = "";
Symbol 156 MovieClip Frame 2
pass = "";
Symbol 158 Button
on (release) {
if (SS.remoteUserVars.al < 1) {
_root.noGuest.play();
} else {
properties = new Object();
properties.mode = "setup";
properties.v = _root.v;
if (acc == true) {
properties.al = Number(0);
} else {
properties.al = Number(1);
}
if (cpass) {
properties.password = cpass;
}
if (cdesc) {
properties.description = cdesc;
}
link = new Object();
link.a = carea;
link.p = cpass;
link = JSON.stringify(link);
properties.link = "http://www.psychogoldfish.com/multiplayer_games/view/Mini_Putt_Online/invite/" + SS.base64encode(link);
properties.maxUsers = _root.maxU;
SS.createArea(carea, properties);
gotoAndStop ("wait");
}
}
Symbol 167 MovieClip Frame 1
function joinRoom(a, pass) {
area = a;
SS.enterArea(area, pass);
gotoAndStop ("wait");
}
if (_root.invite) {
inv = SS.base64decode(_root.invite);
_root.invite = undefined;
} else {
inv = undefined;
}
if (inv) {
inv = JSON.parse(inv);
joinRoom(inv.a, inv.p);
} else {
SS.getAreaList();
}
areas = new Array();
row = 0;
cpass = "";
carea = SS.localUser + "'s Room";
SS.onEvent.areaListLoaded = function (dat) {
for (i in dat.areaList) {
areas.push({a:i, d:dat.areaList[i].desc, p:dat.areaList[i].priv, m:dat.areaList[i].maxUsers, n:dat.areaList[i].numUsers});
}
areas.sortOn(["l", "p", "a"], Array.CASEINSENSITIVE);
gotoAndStop ("list");
};
SS.onEvent.areaEntered = function () {
if (!SS.isOwner()) {
trace("faggot");
SS.getAreaProperties();
}
SS.getAreaVars();
_parent.play();
};
SS.onEvent.error = function (dat) {
trace((("should be an error: " + dat.info.commandName) + " ") + dat.info.m);
error = (("Error joining " + area) + ":") + newline;
error = error + dat.info.m;
gotoAndStop ("error");
};
stop();
Instance of Symbol 35 MovieClip in Symbol 167 MovieClip Frame 1
onClipEvent (load) {
loops = 0;
}
onClipEvent (enterFrame) {
loops++;
if (loops == 300) {
SS.sendPrivateMsg("bump", SS.localUser);
_parent.error = "Error reading room list.";
_parent.gotoAndStop("error");
}
}
Symbol 167 MovieClip Frame 5
function selectRoom(a, p, l) {
if (!l) {
opt.area = a;
if (p) {
opt.gotoAndStop(2);
} else {
opt.gotoAndStop(1);
}
} else {
opt.gotoAndStop(3);
}
}
acc = true;
Instance of Symbol 133 MovieClip in Symbol 167 MovieClip Frame 5
onClipEvent (enterFrame) {
lines = 9;
rows = _parent.areas.length;
spacing = rows - lines;
if (scrollMe != 0) {
row = row + scrollMe;
if (row > (rows - lines)) {
row = rows - lines;
scrollMe = 0;
}
if (row < 0) {
row = 0;
scrollMe = 0;
}
if ((spacing > 0) and (row > 0)) {
perc = row / spacing;
} else {
perc = 0;
}
bar._y = min + (range * perc);
} else if (dragBar and (spacing > 0)) {
yy = ys + _ymouse;
if (yy > max) {
yy = max;
}
if (yy < min) {
yy = min;
}
yr = yy - min;
perc = yr / range;
row = Math.round(spacing * perc);
bar._y = yy;
}
i = 0;
while (i < lines) {
r = i + row;
if (r < rows) {
if (_parent.areas[r].l and _parent.areas[r].p) {
f = 4;
} else if (_parent.areas[r].l) {
f = 3;
} else if (_parent.areas[r].p) {
f = 2;
} else {
f = 1;
}
_parent["row" + i].gotoAndStop(f);
_parent["row" + i].a = _parent.areas[r].a;
_parent["row" + i].d = _parent.areas[r].d;
_parent["row" + i].u = int(_parent.areas[r].n);
if (_parent.areas[r].m) {
_parent["row" + i].u = _parent["row" + i].u + ("/" + int(_parent.areas[r].m));
}
} else {
_parent["row" + i].gotoAndStop(5);
}
i++;
}
}
Instance of Symbol 156 MovieClip "opt" in Symbol 167 MovieClip Frame 5
onClipEvent (load) {
gotoAndStop (3);
}
Instance of Symbol 59 MovieClip in Symbol 167 MovieClip Frame 5
onClipEvent (load) {
variable = "acc";
}
Symbol 174 Button
on (press) {
ys = bar._y - _ymouse;
dragBar = true;
}
Symbol 175 MovieClip Frame 1
scrollMe = 0;
scrollPos = 0;
row = 0;
min = top._y + 12;
max = bot._y - 12;
range = max - min;
Instance of Symbol 125 MovieClip in Symbol 175 MovieClip Frame 1
onClipEvent (mouseUp) {
_parent.scrollMe = 0;
_parent.dragBar = false;
}
Symbol 176 Button
on (release, keyPress "<Enter>") {
if (msg != "") {
stripHtml = msg.split("<");
msg = stripHtml.join("<");
precheck = msg.split(" ");
if (msg == "/clear") {
chatter = "";
chatLog = new Array();
chatscroll.auto = true;
} else if (((precheck.length > 1) and (precheck[0] == "/kick")) and (SS.isOwner() or SS.isAdmin())) {
cmd = precheck.shift();
usr = precheck.shift();
SS.kickUser(usr, precheck.join(" "));
} else if ((precheck.length > 2) and (precheck[0] == "/msg")) {
cmd = precheck.shift();
usr = precheck.shift();
SS.sendPrivateMsg(precheck.join(" "), usr);
row = (("<font color=\"#00ffff\"><b>Private Message to " + usr) + ": </b></font>") + precheck.join(" ");
chatLog.push(row);
if (chatLog.length > chatBuffer) {
chatLog.shift();
}
chatter = chatLog.join(newline);
} else {
SS.sendAreaMsg(msg);
}
msg = "";
}
}
Symbol 182 Button
on (release) {
selectUser(0);
}
Symbol 183 Button
on (release) {
selectUser(1);
}
Symbol 184 Button
on (release) {
selectUser(2);
}
Symbol 185 Button
on (release) {
selectUser(3);
}
Symbol 186 MovieClip Frame 1
function selectUser(n) {
u = (n + ulist.scroll) - 1;
if (SS.userList[u] != SS.localUser) {
if ((((substring(msg, 0, 5)) == "/msg ") and (SS.userList[u] != undefined)) and (SS.isOwner() or SS.isAdmin())) {
Selection.setFocus("Cbar");
msg = ("/kick " + SS.userList[u]) + " ";
} else if ((((msg == "") or ((substring(msg, 0, 5)) == "/msg ")) or ((substring(msg, 0, 6)) == "/kick ")) and (SS.userList[u] != undefined)) {
Selection.setFocus("Cbar");
msg = ("/msg " + SS.userList[u]) + " ";
}
}
}
roomName = SS.currentArea;
SS.getUserList();
chatter = "";
chatLog = new Array();
msg = "";
chatBuffer = 60;
SS.onEvent.areaOwnerUpdated = function () {
row = ("<i>" + SS.areaProperties.owner) + " is hosting this game</i>";
chatLog.push(row);
if (chatLog.length > chatBuffer) {
chatLog.shift();
}
chatter = chatLog.join(newline);
};
SS.onEvent.areaPropertiesLoaded = function () {
if (SS.areaProperties.v != _root.v) {
_root.badV.play();
}
row = ("<i>" + SS.areaProperties.owner) + " is now hosting the game</i>";
chatLog.push(row);
if (chatLog.length > chatBuffer) {
chatLog.shift();
}
chatter = chatLog.join(newline);
};
SS.onEvent.areaMsgReceived = function (dat) {
if (!dat.msg.c) {
row = (("<b>" + dat.user) + ": </b>") + dat.msg;
chatLog.push(row);
if (chatLog.length > chatBuffer) {
chatLog.shift();
}
chatter = chatLog.join(newline);
}
};
SS.onEvent.userEntered = function (dat) {
if (!dat.c) {
row = ("<i>" + dat.user) + " has joined</i>";
chatLog.push(row);
if (chatLog.length > chatBuffer) {
chatLog.shift();
}
chatter = chatLog.join(newline);
}
};
SS.onEvent.userExited = function (dat) {
row = ("<i>" + dat.user) + " has left</i>";
chatLog.push(row);
if (chatLog.length > chatBuffer) {
chatLog.shift();
}
chatter = chatLog.join(newline);
};
SS.onEvent.privateMsgReceived = function (dat) {
row = (("<font color=\"#FFff00\"><b>Private Message from " + dat.user) + ": </b></font>") + dat.msg;
chatLog.push(row);
if (chatLog.length > chatBuffer) {
chatLog.shift();
}
chatter = chatLog.join(newline);
};
SS.onEvent.userListUpdated = function () {
ulist = "";
i = 0;
while (i < SS.userList.length) {
if (SS.userList[i] == SS.areaProperties.owner) {
ulist = ulist + ((("<b>" + SS.userList[i]) + "</b>") + newline);
} else {
ulist = ulist + (SS.userList[i] + newline);
}
i++;
}
};
Selection.setFocus("Cbar");
Instance of Symbol 175 MovieClip "chatscroll" in Symbol 186 MovieClip Frame 1
onClipEvent (load) {
line = 1;
auto = true;
}
onClipEvent (enterFrame) {
rows = _parent.chatter.maxscroll;
if (scrollMe != 0) {
auto = false;
line = line + scrollMe;
if (line < 1) {
line = 1;
}
if (line > rows) {
line = rows;
auto = true;
}
perc = line / rows;
bar._y = min + (range * perc);
} else if (dragBar and (rows > 1)) {
auto = false;
yy = ys + _parent._ymouse;
if (yy > max) {
yy = max;
}
if (yy < min) {
yy = min;
}
yr = yy - min;
perc = yr / range;
bar._y = yy;
line = Math.round((rows - 1) * perc) + 1;
if (line >= rows) {
auto = true;
}
} else if (auto and (rows > 1)) {
bar._y = max;
line = rows;
}
if (rows > 1) {
bar._alpha = 100;
} else {
bar._alpha = 0;
}
_parent.chatter.scroll = line;
oldmsg = _parent.msg;
}
Instance of Symbol 175 MovieClip "uscroll" in Symbol 186 MovieClip Frame 1
onClipEvent (load) {
line = 1;
auto = true;
}
onClipEvent (enterFrame) {
rows = _parent.ulist.maxscroll;
if (scrollMe != 0) {
auto = false;
line = line + scrollMe;
if (line < 1) {
line = 1;
}
if (line > rows) {
line = rows;
auto = true;
}
perc = line / rows;
bar._y = min + (range * perc);
} else if (dragBar and (rows > 1)) {
auto = false;
yy = ys + _parent._ymouse;
if (yy > max) {
yy = max;
}
if (yy < min) {
yy = min;
}
yr = yy - min;
perc = yr / range;
bar._y = yy;
line = Math.round((rows - 1) * perc) + 1;
if (line >= rows) {
auto = true;
}
} else if (auto and (rows > 1)) {
bar._y = max;
line = rows;
}
if (rows > 1) {
bar._alpha = 100;
} else {
bar._alpha = 0;
}
_parent.ulist.scroll = line;
oldmsg = _parent.msg;
}
Symbol 191 Button
on (release) {
SS.exitArea();
}
Symbol 199 MovieClip Frame 1
stop();
Symbol 203 Button
on (release) {
color++;
if (color >= pallette.length) {
color = 0;
}
updateMyColor();
}
Symbol 204 Button
on (release) {
color--;
if (color < 0) {
color = pallette.length - 1;
}
updateMyColor();
}
Symbol 208 Button
on (release) {
course++;
if (course > courses) {
course = 1;
}
updateCourse();
}
Symbol 209 Button
on (release) {
course--;
if (course < 1) {
course = courses;
}
updateCourse();
}
Symbol 210 Button
on (release) {
SS.updateAreaProperty("locked", 1);
SS.updateAreaProperty("mode", "start");
SS.createAreaProperty("seed", random(50) + 10);
}
Instance of Symbol 199 MovieClip in Symbol 212 MovieClip Frame 1
onClipEvent (enterFrame) {
gotoAndStop(SS.remoteAreaVars.course);
}
Symbol 223 MovieClip Frame 1
type = "area";
Symbol 225 MovieClip Frame 1
type = "hole";
Symbol 227 MovieClip Frame 1
type = "mat";
Symbol 229 MovieClip Frame 1
type = "slope";
Instance of Symbol 229 MovieClip in Symbol 234 MovieClip Frame 1
onClipEvent (load) {
ygrad = 0.1;
xgrad = -0.6;
}
Symbol 236 MovieClip Frame 1
type = "area";
Symbol 238 MovieClip Frame 1
type = "slope";
Symbol 240 MovieClip Frame 1
type = "ring";
Instance of Symbol 238 MovieClip in Symbol 244 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.2;
ygrad = 0;
}
Instance of Symbol 240 MovieClip in Symbol 244 MovieClip Frame 1
onClipEvent (load) {
grad = -0.3;
}
Symbol 246 MovieClip Frame 1
type = "area";
Symbol 248 MovieClip Frame 1
type = "slope";
Instance of Symbol 248 MovieClip in Symbol 253 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.3;
ygrad = 0;
}
Instance of Symbol 238 MovieClip in Symbol 253 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.2;
}
Instance of Symbol 248 MovieClip in Symbol 253 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.4;
}
Symbol 255 MovieClip Frame 1
type = "area";
Instance of Symbol 238 MovieClip in Symbol 259 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.2;
ygrad = 0;
}
Symbol 261 MovieClip Frame 1
type = "area";
Symbol 263 MovieClip Frame 1
type = "ring";
Instance of Symbol 248 MovieClip in Symbol 267 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.2;
ygrad = -0.2;
}
Instance of Symbol 238 MovieClip in Symbol 267 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.2;
ygrad = -0.2;
}
Instance of Symbol 263 MovieClip in Symbol 267 MovieClip Frame 1
onClipEvent (load) {
grad = -0.3;
}
Symbol 269 MovieClip Frame 1
type = "area";
Symbol 271 MovieClip Frame 1
type = "wall";
solid = true;
Symbol 273 MovieClip Frame 1
type = "slope";
Instance of Symbol 273 MovieClip in Symbol 277 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.4;
ygrad = 0;
}
Instance of Symbol 273 MovieClip in Symbol 277 MovieClip Frame 1
onClipEvent (load) {
ygrad = -0.4;
xgrad = 0;
}
Symbol 279 MovieClip Frame 1
type = "area";
Symbol 281 MovieClip Frame 1
type = "slope";
Symbol 283 MovieClip Frame 1
type = "slope";
Instance of Symbol 248 MovieClip in Symbol 287 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.2;
ygrad = 0;
}
Instance of Symbol 238 MovieClip in Symbol 287 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.2;
ygrad = 0;
}
Instance of Symbol 248 MovieClip in Symbol 287 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.6;
ygrad = 0;
}
Instance of Symbol 281 MovieClip in Symbol 287 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.4;
ygrad = 0.4;
}
Instance of Symbol 283 MovieClip in Symbol 287 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.4;
ygrad = 0.4;
}
Instance of Symbol 281 MovieClip in Symbol 287 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.4;
ygrad = -0.4;
}
Instance of Symbol 283 MovieClip in Symbol 287 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.4;
ygrad = -0.4;
}
Symbol 289 MovieClip Frame 1
type = "area";
Instance of Symbol 263 MovieClip in Symbol 293 MovieClip Frame 1
onClipEvent (load) {
grad = 0.5;
}
Symbol 295 MovieClip Frame 1
type = "area";
Symbol 297 MovieClip Frame 1
type = "slope";
Symbol 299 MovieClip Frame 1
type = "slope";
Instance of Symbol 297 MovieClip in Symbol 303 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.8;
}
Instance of Symbol 299 MovieClip in Symbol 303 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.8;
}
Symbol 305 MovieClip Frame 1
type = "area";
Symbol 307 MovieClip Frame 1
type = "ring";
Instance of Symbol 307 MovieClip in Symbol 311 MovieClip Frame 1
onClipEvent (load) {
grad = 0.7;
}
Symbol 313 MovieClip Frame 1
type = "area";
Instance of Symbol 315 MovieClip in Symbol 323 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.7;
ygrad = 0;
}
Instance of Symbol 317 MovieClip in Symbol 323 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.4;
ygrad = -0.25;
}
Instance of Symbol 317 MovieClip in Symbol 323 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.4;
ygrad = -0.25;
}
Instance of Symbol 319 MovieClip in Symbol 323 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.4;
ygrad = 0.25;
}
Instance of Symbol 248 MovieClip in Symbol 323 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = 0;
}
Instance of Symbol 248 MovieClip in Symbol 323 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = 0;
}
Symbol 325 MovieClip Frame 1
type = "area";
Symbol 349 MovieClip Frame 41
gotoAndPlay (1);
Symbol 351 MovieClip Frame 1
type = "wall";
solid = true;
Symbol 351 MovieClip Frame 41
gotoAndPlay (1);
Symbol 359 MovieClip Frame 41
gotoAndPlay (1);
Symbol 363 MovieClip Frame 1
type = "area";
Symbol 365 MovieClip Frame 1
type = "ring";
Symbol 367 MovieClip Frame 1
type = "ring";
Instance of Symbol 365 MovieClip in Symbol 371 MovieClip Frame 1
onClipEvent (load) {
grad = 0.7;
}
Instance of Symbol 367 MovieClip in Symbol 371 MovieClip Frame 1
onClipEvent (load) {
grad = 0.7;
}
Instance of Symbol 263 MovieClip in Symbol 371 MovieClip Frame 1
onClipEvent (load) {
grad = 0.4;
}
Instance of Symbol 263 MovieClip in Symbol 371 MovieClip Frame 1
onClipEvent (load) {
grad = 0.4;
}
Symbol 373 MovieClip Frame 1
type = "area";
Symbol 375 MovieClip Frame 1
type = "ring";
Instance of Symbol 375 MovieClip in Symbol 379 MovieClip Frame 1
onClipEvent (load) {
grad = -0.7;
}
Symbol 381 MovieClip Frame 1
type = "area";
Instance of Symbol 248 MovieClip in Symbol 385 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.7;
}
Instance of Symbol 248 MovieClip in Symbol 385 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.7;
}
Symbol 387 MovieClip Frame 1
type = "area";
Instance of Symbol 389 MovieClip in Symbol 403 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = 0;
}
Instance of Symbol 391 MovieClip in Symbol 403 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = 0;
}
Instance of Symbol 393 MovieClip in Symbol 403 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.8;
}
Instance of Symbol 395 MovieClip in Symbol 403 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.8;
}
Instance of Symbol 397 MovieClip in Symbol 403 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.8;
ygrad = 0;
}
Instance of Symbol 399 MovieClip in Symbol 403 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.8;
ygrad = 0;
}
Symbol 405 MovieClip Frame 1
type = "area";
Symbol 407 MovieClip Frame 1
type = "ring";
Symbol 409 MovieClip Frame 1
type = "ring";
Symbol 411 MovieClip Frame 1
type = "ring";
Symbol 413 MovieClip Frame 1
type = "wall";
solid = true;
Symbol 415 MovieClip Frame 1
type = "terrain";
friction = 0.2;
Instance of Symbol 407 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
grad = -0.6;
}
Instance of Symbol 409 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
grad = -0.6;
}
Instance of Symbol 411 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
grad = 0.3;
}
Instance of Symbol 238 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
ygrad = -0.3;
xgrad = -0.3;
}
Instance of Symbol 248 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
ygrad = -0.3;
xgrad = 0.3;
}
Instance of Symbol 248 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
ygrad = -0.3;
xgrad = 0.3;
}
Instance of Symbol 238 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
ygrad = -0.3;
xgrad = -0.3;
}
Instance of Symbol 238 MovieClip in Symbol 419 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.7;
}
Symbol 421 MovieClip Frame 1
type = "area";
Instance of Symbol 248 MovieClip in Symbol 427 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.7;
ygrad = 0;
}
Instance of Symbol 238 MovieClip in Symbol 427 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.7;
ygrad = 0;
}
Instance of Symbol 423 MovieClip in Symbol 427 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.5;
}
Symbol 428 MovieClip Frame 1
run = new gameClasses.miniPutt(true);
SS.onEvent.areaDataReceived = function (dat) {
trace("DATA IN " + dat.data.c);
run.newCmd(dat.data.c, dat.data.p);
};
SS.onEvent.areaMsgReceived = function (dat) {
trace("MSG IN " + dat.msg);
_root.chat.chatter(dat.user, dat.msg);
};
SS.onEvent.privateDataReceived = function (dat) {
run.newCmd(dat.data.c, dat.data.p);
};
SS.onEvent.userExited = function (dat) {
for (i in dat) {
trace((i + " = ") + dat[i]);
}
run.fixOrder(dat.user);
_root.chat.chatLog.push(dat.user + " has left the game");
};
SS.onEvent.areaOwnerUpdated = function () {
run.fixOrder();
};
Symbol 428 MovieClip Frame 2
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 63
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 124
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 185
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 246
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 307
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 368
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 429
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 490
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 551
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 612
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 673
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 734
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 795
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 856
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 917
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 984
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 1045
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 428 MovieClip Frame 1046
if (SS.isOwner) {
run.endGame();
}
stop();
Symbol 432 MovieClip Frame 1
type = "area";
Symbol 434 MovieClip Frame 1
type = "ring";
Symbol 436 MovieClip Frame 1
type = "hole";
Symbol 438 MovieClip Frame 1
type = "mat";
Symbol 445 MovieClip Frame 1
type = "area";
Symbol 450 MovieClip Frame 1
type = "area";
Symbol 455 MovieClip Frame 1
type = "area";
Symbol 457 MovieClip Frame 1
type = "slope";
Symbol 459 MovieClip Frame 1
type = "slope";
Symbol 461 MovieClip Frame 1
type = "slope";
Symbol 463 MovieClip Frame 1
type = "slope";
Symbol 468 MovieClip Frame 1
type = "area";
Symbol 473 MovieClip Frame 1
type = "area";
Symbol 478 MovieClip Frame 1
type = "area";
Symbol 491 MovieClip Frame 1
type = "area";
Symbol 496 MovieClip Frame 1
type = "area";
Symbol 501 MovieClip Frame 1
type = "area";
Symbol 506 MovieClip Frame 1
type = "area";
Symbol 508 MovieClip Frame 1
type = "ring";
Symbol 515 MovieClip Frame 1
type = "area";
Symbol 524 MovieClip Frame 1
type = "area";
Symbol 526 MovieClip Frame 1
type = "ring";
Symbol 531 MovieClip Frame 1
type = "area";
Symbol 538 MovieClip Frame 1
type = "area";
Symbol 549 MovieClip Frame 1
type = "area";
Symbol 554 MovieClip Frame 1
type = "area";
Symbol 561 MovieClip Frame 1
type = "area";
Instance of Symbol 434 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
grad = 0.8;
}
Instance of Symbol 443 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.3;
ygrad = 0.3;
}
Instance of Symbol 457 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.4;
ygrad = -1.8;
}
Instance of Symbol 459 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -2;
}
Instance of Symbol 461 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.4;
ygrad = -1.8;
}
Instance of Symbol 463 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.8;
}
Instance of Symbol 480 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.4;
}
Instance of Symbol 482 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = -0.1;
}
Instance of Symbol 484 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.8;
ygrad = -0.1;
}
Instance of Symbol 486 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.2;
}
Instance of Symbol 508 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
grad = 1.2;
}
Instance of Symbol 526 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
grad = 0.6;
}
Instance of Symbol 534 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = -0.8;
}
Instance of Symbol 541 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 1;
}
Instance of Symbol 543 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 1;
}
Instance of Symbol 545 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -1.2;
}
Instance of Symbol 563 MovieClip in Symbol 590 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.2;
ygrad = 0.2;
}
Instance of Symbol 434 MovieClip in Symbol 591 MovieClip Frame 1
onClipEvent (load) {
grad = 0.8;
}
Instance of Symbol 443 MovieClip in Symbol 591 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.3;
ygrad = 0.3;
}
Instance of Symbol 457 MovieClip in Symbol 594 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.4;
ygrad = -1.8;
}
Instance of Symbol 459 MovieClip in Symbol 594 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -2;
}
Instance of Symbol 461 MovieClip in Symbol 594 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.4;
ygrad = -1.8;
}
Instance of Symbol 463 MovieClip in Symbol 594 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.8;
}
Instance of Symbol 480 MovieClip in Symbol 597 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 0.4;
}
Instance of Symbol 482 MovieClip in Symbol 597 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = -0.1;
}
Instance of Symbol 484 MovieClip in Symbol 597 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.8;
ygrad = -0.1;
}
Instance of Symbol 486 MovieClip in Symbol 597 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -0.2;
}
Instance of Symbol 508 MovieClip in Symbol 601 MovieClip Frame 1
onClipEvent (load) {
grad = 1.2;
}
Instance of Symbol 526 MovieClip in Symbol 603 MovieClip Frame 1
onClipEvent (load) {
grad = 0.6;
}
Instance of Symbol 534 MovieClip in Symbol 604 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0.8;
ygrad = -0.8;
}
Instance of Symbol 541 MovieClip in Symbol 605 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 1;
}
Instance of Symbol 543 MovieClip in Symbol 605 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = 1;
}
Instance of Symbol 545 MovieClip in Symbol 605 MovieClip Frame 1
onClipEvent (load) {
xgrad = 0;
ygrad = -1.2;
}
Instance of Symbol 563 MovieClip in Symbol 608 MovieClip Frame 1
onClipEvent (load) {
xgrad = -0.2;
ygrad = 0.2;
}
Symbol 609 MovieClip Frame 1
run = new gameClasses.miniPutt(true);
SS.onEvent.areaDataReceived = function (dat) {
trace("DATA IN " + dat.data.c);
run.newCmd(dat.data.c, dat.data.p);
};
SS.onEvent.areaMsgReceived = function (dat) {
trace("MSG IN " + dat.msg);
_root.chat.chatter(dat.user, dat.msg);
};
SS.onEvent.privateDataReceived = function (dat) {
run.newCmd(dat.data.c, dat.data.p);
};
SS.onEvent.userExited = function (dat) {
for (i in dat) {
trace((i + " = ") + dat[i]);
}
run.fixOrder(dat.user);
_root.chat.chatLog.push(dat.user + " has left the game");
};
SS.onEvent.areaOwnerUpdated = function () {
run.fixOrder();
};
Symbol 609 MovieClip Frame 68
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 135
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 202
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 269
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 336
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 403
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 470
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 537
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 604
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 671
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 738
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 805
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 872
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 939
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 1006
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 1073
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 1140
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 1207
if (SS.isOwner) {
run.initPlayers();
}
run.config("hole");
stop();
Symbol 609 MovieClip Frame 1208
if (SS.isOwner) {
run.endGame();
}
Symbol 609 MovieClip Frame 1274
stop();
Symbol 610 MovieClip Frame 1
gotoAndStop(SS.remoteAreaVars.course);
Symbol 610 MovieClip Frame 2
par = new Array();
par[1] = 2;
par[2] = 2;
par[3] = 3;
par[4] = 2;
par[5] = 3;
par[6] = 3;
par[7] = 3;
par[8] = 2;
par[9] = 3;
par[10] = 2;
par[11] = 3;
par[12] = 2;
par[13] = 2;
par[14] = 3;
par[15] = 4;
par[16] = 2;
par[17] = 2;
par[18] = 3;
stop();
Symbol 610 MovieClip Frame 3
par = new Array();
_global.pallette = pallette2;
par[1] = 2;
par[2] = 3;
par[3] = 2;
par[4] = 2;
par[5] = 2;
par[6] = 3;
par[7] = 3;
par[8] = 4;
par[9] = 3;
par[10] = 4;
par[11] = 2;
par[12] = 2;
par[13] = 4;
par[14] = 2;
par[15] = 3;
par[16] = 3;
par[17] = 3;
par[18] = 3;
stop();
Symbol 612 MovieClip Frame 1
msg = _parent.msg;
Symbol 613 MovieClip Frame 1
stop();
Symbol 701 MovieClip Frame 1
gotoAndStop(SS.remoteAreaVars.course);
Symbol 702 MovieClip Frame 1
function runScores() {
trace("I AM UPDATING THE SCORES");
_global.newList = new Array();
i = 0;
while (i < SS.userList.length) {
p = SS.userList[i];
t = 0;
h = 1;
while (h <= 18) {
s = SS.remoteAreaVars.scores[(("h" + h) + "_") + p];
if (s != undefined) {
card["p" + c]["h" + h] = (setFont + s) + endFont;
t = t + s;
} else {
card["p" + c]["h" + h] = "";
}
h++;
}
newList.push({user:p, score:t});
i++;
}
newList.sortOn(["score", "user"], [Array.NUMERIC, Array.CASEINSENSITIVE]);
i = 0;
while (i < 8) {
p = newList[i].user;
trace("player " + p);
if (i < newList.length) {
c = i + 1;
col = fonts[int(SS.remoteAreaVars.color[p])];
setFont = ("<font color=\"" + col) + "\"><b>";
endFont = "</b></font>";
card["p" + c].player = (setFont + p) + endFont;
t = newList[i].score;
par = 0;
h = 1;
while (h <= 18) {
card.par["h" + h] = _root.course.par[h];
par = par + _root.course.par[h];
s = SS.remoteAreaVars.scores[(("h" + h) + "_") + p];
if (s != undefined) {
card["p" + c]["h" + h] = (setFont + s) + endFont;
} else {
card["p" + c]["h" + h] = "";
}
h++;
}
card.par.t = par;
card["p" + c].t = (setFont + t) + endFont;
} else {
c = i + 1;
card["p" + c].player = "";
card["p" + c].t = "";
h = 1;
while (h <= 18) {
card["p" + c]["h" + h] = "";
h++;
}
}
i++;
}
play();
}
stop();
Symbol 706 MovieClip Frame 1
stop();
Symbol 711 Button
on (release, keyPress "<Enter>") {
if (msg != "") {
stripHtml = msg.split("<");
msg = stripHtml.join("<");
SS.silentAreaMsg(msg);
chatter(SS.localUser, msg);
msg = "";
}
}
Symbol 717 Button
on (release) {
_root.exit.gotoAndStop(2);
}
Symbol 722 Button
on (release) {
_root.kickUser(kick);
}
Symbol 727 MovieClip Frame 1
function chatter(user, msg) {
color = fonts[int(SS.remoteAreaVars.color[user])];
if ((substring(msg, 0, 4)) == "/me ") {
chatLog.push(((((("<i><font color=\"" + color) + "\">") + user) + " ") + (substring(msg, 4, 128))) + "</font></i>");
} else {
chatLog.push((((("<b><font color=\"" + color) + "\">") + user) + ":</font></b> ") + msg);
}
if (chatLog.length > 30) {
chatLog.shift();
}
chatBox = chatLog.join(newline);
chatBox.scroll = chatBox.maxscroll;
}
if (!init) {
messages = 0;
basex = -632;
basey = -24;
spacing = 34;
chatLog = new Array();
init = 1;
chatBox = "";
}
ison = false;
chatBox.scroll = chatBox.maxscroll;
stop();
Symbol 727 MovieClip Frame 2
ison = true;
chatBox.scroll = chatBox.maxscroll;
Selection.setFocus("Cbar");
stop();
Instance of Symbol 726 MovieClip in Symbol 727 MovieClip Frame 2
onClipEvent (enterFrame) {
if (SS.isOwner() or SS.isAdmin()) {
gotoAndStop (2);
} else {
gotoAndStop (1);
}
i = 0;
while (i < 8) {
r = i + 1;
if (newList[i] != undefined) {
if ((SS.isOwner() or SS.isAdmin()) and (newList[i].user != SS.localUser)) {
this["r" + r].gotoAndStop(2);
} else {
this["r" + r].gotoAndStop(1);
}
color = fonts[int(SS.remoteAreaVars.color[newList[i].user])];
st = ("<font color=\"" + color) + "\"><b>";
en = "</b></font>";
this["r" + r].ball.filters = pallette[int(SS.remoteAreaVars.color[newList[i].user])];
this["r" + r].user = (st + newList[i].user) + en;
this["r" + r].kick = newList[i].user;
this["r" + r].score = (st + newList[i].score) + en;
} else {
this["r" + r].gotoAndStop(3);
}
i++;
}
}
Symbol 729 Button
on (release) {
gotoAndStop (1);
}
Symbol 732 MovieClip Frame 1
noclick = false;
stop();
Symbol 732 MovieClip Frame 2
noclick = true;
stop();
Symbol 733 Button
on (release) {
SS.kickUser(user, msg);
gotoAndStop (1);
}
Symbol 735 Button
on (release) {
gotoAndStop (1);
}
Symbol 739 MovieClip Frame 1
noclick = false;
stop();
Symbol 739 MovieClip Frame 2
noclick = true;
stop();