STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228108
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

swfchan turned sixteen years old the day before yesterday! (5may2024)

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/45108528?noj=FRM45108528-7DC" width="1" height="1"></div>

Real-Time interpolated-1.swf

This is the info page for
Flash #105001

(Click the ID number above for more basic data on this flash file.)


Text
M

Your name:

<p align="left"></p>

Send

Connecting.......

<p align="left"></p>

ActionScript [AS3]

Section 1
//Client (playerio.Client) package playerio { import flash.display.*; public interface Client { function get multiplayer():Multiplayer; function get stage():Stage; } }//package playerio
Section 2
//Connection (playerio.Connection) package playerio { public interface Connection { function addMessageHandler(_arg1:String, _arg2:Function):void; function removeMessageHandler(_arg1:String, _arg2:Function):void; function send(_arg1:String, ... _args):void; function get connected():Boolean; function removeDisconnectHandler(_arg1:Function):void; function createMessage(_arg1:String, ... _args):Message; function addDisconnectHandler(_arg1:Function):void; function disconnect():void; function sendMessage(_arg1:Message):void; } }//package playerio
Section 3
//Message (playerio.Message) package playerio { import flash.utils.*; public interface Message { function add(... _args):void; function get length():int; function toString():String; function getString(_arg1:int):String; function getUInt(_arg1:int):uint; function getBoolean(_arg1:int):Boolean; function set type(_arg1:String):void; function getInt(_arg1:int):int; function get type():String; function getByteArray(_arg1:int):ByteArray; function getNumber(_arg1:int):Number; } }//package playerio
Section 4
//Multiplayer (playerio.Multiplayer) package playerio { public interface Multiplayer { function createJoinRoom(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:Object, _arg5:Object, _arg6:Function=null, _arg7:Function=null):void; function joinRoom(_arg1:String, _arg2:Object, _arg3:Function=null, _arg4:Function=null):void; function createRoom(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:Object, _arg5:Function=null, _arg6:Function=null):void; function listRooms(_arg1:String, _arg2:Object, _arg3:int, _arg4:int, _arg5:Function=null, _arg6:Function=null):void; function set developmentServer(_arg1:String):void; } }//package playerio
Section 5
//PlayerIO (playerio.PlayerIO) package playerio { import flash.display.*; import flash.events.*; import flash.system.*; import flash.net.*; public final class PlayerIO { private static var queue:Array = []; private static var wrapper:Loader; private static var apiError:PlayerIOError; public function PlayerIO(){ throw (new Error("You cannot create an instance of the PlayerIO class!")); } private static function emptyQueue(_arg1:Event=null):void{ while (queue.length) { queue.shift()(); }; } public static function connect(_arg1:Stage, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:Function, _arg7:Function=null):void{ proxy("connect", arguments); } private static function proxy(_arg1:String, _arg2:Object):void{ var target = _arg1; var args = _arg2; if (apiError){ throwError(apiError, args[(args.callee.length - 1)]); } else { if (((wrapper) && (wrapper.content))){ try { wrapper.content[target].apply(null, args); } catch(e:Error) { throwError(new PlayerIOError(e.message, e.errorID), args[(args.callee.length - 1)]); }; } else { queue.push(function ():void{ args.callee.apply(null, args); }); }; }; if (!wrapper){ loadAPI(); }; } private static function throwError(_arg1:PlayerIOError, _arg2:Function):void{ if (_arg2 != null){ _arg2(_arg1); } else { throw (PlayerIOError); }; } private static function loadAPI():void{ var loader:URLLoader; wrapper = new Loader(); loader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, function (_arg1:Event):void{ wrapper.contentLoaderInfo.addEventListener(Event.COMPLETE, emptyQueue); wrapper.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError); wrapper.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleLoadError); wrapper.loadBytes(loader.data, new LoaderContext(false, ApplicationDomain.currentDomain)); }); loader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleLoadError); loader.load(new URLRequest("http://api.playerio.com/flashbridge/1")); } private static function handleLoadError(_arg1:Event=null):void{ apiError = new PlayerIOError((("Unable to connect to the API due to " + _arg1.type) + ". Please verify that your internet connection is working!"), 0); emptyQueue(); } } }//package playerio
Section 6
//PlayerIOError (playerio.PlayerIOError) package playerio { public class PlayerIOError extends Error { protected var _type:PlayerIOError; public static const MissingRoomId:PlayerIOError = new PlayerIOError("You can't join the room when the RoomID is null or the empty string", 18); ; public static const NotASearchColumn:PlayerIOError = new PlayerIOError("The key you specified is not set as searchable. You can change the searchable keys in the admin panel for the server type", 20); ; public static const InvalidMessageFormat:PlayerIOError = new PlayerIOError("The message is malformatted", 4); ; public static const NoAvailableServers:PlayerIOError = new PlayerIOError("There are no servers available in the cluster, please try again later (never occurs)", 13); ; public static const MissingValue:PlayerIOError = new PlayerIOError("A value is missing", 5); ; public static const GameRequired:PlayerIOError = new PlayerIOError("A game is required to do this action", 6); ; public static const RoomAlreadyExists:PlayerIOError = new PlayerIOError("You are unable to create room because there is already a room with the specified id", 15); ; public static const UnsupportedMethod:PlayerIOError = new PlayerIOError("The method requested is not supported", 0); ; public static const InvalidAuth:PlayerIOError = new PlayerIOError("The auth given is invalid or malformatted", 12); ; public static const GeneralError:PlayerIOError = new PlayerIOError("A general error occured", 1); ; public static const UnknownServerType:PlayerIOError = new PlayerIOError("The game you're connected to does not have a server type with the specified name", 16); ; public static const UnknownConnection:PlayerIOError = new PlayerIOError("The connection requested is not known by the server", 11); ; public static const InternalError:PlayerIOError = new PlayerIOError("An internal error occured", 2); ; public static const RoomDataTooLarge:PlayerIOError = new PlayerIOError("The room data for the room was over the allowed size limit", 14); ; public static const UnknownRoom:PlayerIOError = new PlayerIOError("There is no room running with that id", 17); ; public static const RoomIsFull:PlayerIOError = new PlayerIOError("The room already has the maxmium amount of users in it.", 19); ; public static const UnknownGame:PlayerIOError = new PlayerIOError("The game requested is not known by the server", 10); ; public static const AccessDenied:PlayerIOError = new PlayerIOError("Access is denied", 3); ; public function PlayerIOError(_arg1:String, _arg2:int){ _type = GeneralError; super(_arg1, _arg2); } public function get type():PlayerIOError{ return (_type); } } }//package playerio
Section 7
//MainTimeline (Real_fla.MainTimeline) package Real_fla { import playerio.*; import flash.utils.*; import flash.display.*; import flash.events.*; import flash.text.*; import flash.system.*; import flash.net.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var finalChar:String; public var keyLeft:Boolean; public var playerName:String; public var nameField:TextField; public var keyUp:Boolean; public var oldStateTime:Number; public var nameButton:SimpleButton; public var keyDown:Boolean; public var chatText:TextField; public var gameID:String; public var players:Array; public var oldTime:Number; public var myDude:MovieClip; public var sendButton:SimpleButton; public var connection:Connection; public var myId:int; public var keyRight:Boolean; public function MainTimeline(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function sendChat(_arg1){ connection.send("chat", chatText.text); chatText.text = ""; } public function pressed(_arg1:KeyboardEvent){ if ((((_arg1.keyCode == 87)) || ((((_arg1.keyCode == 38)) && (!(keyUp)))))){ connection.send("uDown"); keyUp = true; }; if ((((_arg1.keyCode == 83)) || ((((_arg1.keyCode == 40)) && (!(keyDown)))))){ connection.send("dDown"); keyDown = true; }; if ((((_arg1.keyCode == 68)) || ((((_arg1.keyCode == 39)) && (!(keyRight)))))){ connection.send("rDown"); keyRight = true; }; if ((((_arg1.keyCode == 65)) || ((((_arg1.keyCode == 37)) && (!(keyLeft)))))){ connection.send("lDown"); keyLeft = true; }; } public function sendName(_arg1){ playerName = nameField.text; finalChar = playerName.charAt((playerName.length - 1)); if (finalChar == "\r"){ playerName = playerName.substring(0, (playerName.length - 1)); }; if (nameField.text.length == 0){ playerName = "anon"; }; nextFrame(); } public function released(_arg1:KeyboardEvent){ if ((((_arg1.keyCode == 87)) || ((((_arg1.keyCode == 38)) && (keyUp))))){ connection.send("uUp"); keyUp = false; }; if ((((_arg1.keyCode == 83)) || ((((_arg1.keyCode == 40)) && (keyDown))))){ connection.send("dUp"); keyDown = false; }; if ((((_arg1.keyCode == 68)) || ((((_arg1.keyCode == 39)) && (keyRight))))){ connection.send("rUp"); keyRight = false; }; if ((((_arg1.keyCode == 65)) || ((((_arg1.keyCode == 37)) && (keyLeft))))){ connection.send("lUp"); keyLeft = false; }; } function frame3(){ players = new Array(); myId = -1; keyUp = false; keyDown = false; keyRight = false; keyLeft = false; oldTime = new Date().getTime(); oldStateTime = 0; stop(); stage.addEventListener(KeyboardEvent.KEY_DOWN, pressed); stage.addEventListener(KeyboardEvent.KEY_UP, released); addEventListener(Event.ENTER_FRAME, go); sendButton.addEventListener(MouseEvent.MOUSE_DOWN, sendChat); } function frame2(){ stop(); gameID = "4chan-tank-war-ycfjd0vm0gn1ftlg9r5w"; PlayerIO.connect(stage, gameID, "public", playerName, "", handleConnect, function (){ trace("connect error"); }); } public function handleJoin(_arg1:Connection){ trace("joined"); connection = _arg1; connection.addMessageHandler("*", gotMessage); } function frame1(){ stop(); nameButton.addEventListener(MouseEvent.MOUSE_DOWN, sendName); } public function handleConnect(_arg1:Client){ var client = _arg1; trace("Connected to server"); client.multiplayer.createJoinRoom("MyGame", "MyGame", false, {}, {}, handleJoin, function (_arg1){ trace(_arg1); }); nextFrame(); } public function gotMessage(_arg1:Message){ var _local2:int; var _local3:Number; var _local4:Number; var _local5:*; _local3 = new Date().getTime(); _local4 = (_local3 - oldStateTime); switch (_arg1.type){ case "userJoined": players[_arg1.getInt(0)] = new person(); players[_arg1.getInt(0)].Name = _arg1.getString(1); players[_arg1.getInt(0)].x = _arg1.getInt(2); players[_arg1.getInt(0)].y = _arg1.getInt(3); players[_arg1.getInt(0)].keyUp = false; players[_arg1.getInt(0)].keyDown = false; players[_arg1.getInt(0)].keyRight = false; players[_arg1.getInt(0)].keyLeft = false; players[_arg1.getInt(0)].rotateAngle = 0; players[_arg1.getInt(0)].messageTimeout = 0; players[_arg1.getInt(0)].offX = 0; players[_arg1.getInt(0)].offY = 0; players[_arg1.getInt(0)].offStepX = 0; players[_arg1.getInt(0)].offStepY = 0; addChildAt(players[_arg1.getInt(0)], 0); break; case "info": myId = _arg1.getInt(0); myDude = players[myId]; _local2 = 0; while (_local2 < ((_arg1.length - 1) / 9)) { players[_arg1.getInt(((_local2 * 9) + 1))] = new person(); players[_arg1.getInt(((_local2 * 9) + 1))].Name = _arg1.getString(((_local2 * 9) + 2)); players[_arg1.getInt(((_local2 * 9) + 1))].x = _arg1.getInt(((_local2 * 9) + 3)); players[_arg1.getInt(((_local2 * 9) + 1))].y = _arg1.getInt(((_local2 * 9) + 4)); players[_arg1.getInt(((_local2 * 9) + 1))].keyUp = _arg1.getBoolean(((_local2 * 8) + 5)); players[_arg1.getInt(((_local2 * 9) + 1))].keyDown = _arg1.getBoolean(((_local2 * 8) + 6)); players[_arg1.getInt(((_local2 * 9) + 1))].keyRight = _arg1.getBoolean(((_local2 * 8) + 7)); players[_arg1.getInt(((_local2 * 9) + 1))].keyLeft = _arg1.getBoolean(((_local2 * 8) + 8)); players[_arg1.getInt(((_local2 * 9) + 1))].rotateAngle = _arg1.getInt(((_local2 * 9) + 9)); players[_arg1.getInt(((_local2 * 9) + 1))].messageTimeout = 0; players[_arg1.getInt(((_local2 * 9) + 1))].offX = 0; players[_arg1.getInt(((_local2 * 9) + 1))].offY = 0; players[_arg1.getInt(((_local2 * 9) + 1))].offStepX = 0; players[_arg1.getInt(((_local2 * 9) + 1))].offStepY = 0; addChildAt(players[_arg1.getInt(((_local2 * 9) + 1))], 0); _local2++; }; break; case "state": if (oldStateTime == 0){ oldStateTime = new Date().getTime(); return; }; _local2 = 0; while (_local2 < ((_arg1.length - 1) / 4)) { _local5 = _arg1.getInt(((_local2 * 4) + 1)); players[_local5].offX = (((_arg1.getInt(((_local2 * 4) + 2)) - (players[_local5].keyDown) ? (((_local4 - _arg1.getInt(0)) / 15) * Math.sin(((players[_local5].rotateAngle / 180) * Math.PI))) : 0) + (players[_local5].keyUp) ? (((_local4 - _arg1.getInt(0)) / 15) * Math.sin(((players[_local5].rotateAngle / 180) * Math.PI))) : 0) - players[_arg1.getInt(((_local2 * 4) + 1))].x); players[_local5].offY = (((_arg1.getInt(((_local2 * 4) + 3)) + (players[_local5].keyDown) ? (((_local4 - _arg1.getInt(0)) / 15) * Math.cos(((players[_local5].rotateAngle / 180) * Math.PI))) : 0) - (players[_local5].keyUp) ? (((_local4 - _arg1.getInt(0)) / 15) * Math.cos(((players[_local5].rotateAngle / 180) * Math.PI))) : 0) - players[_local5].y); if (players[_local5] != myDude){ players[_local5].offStepX = (players[_local5].offX / 200); players[_local5].offStepY = (players[_local5].offY / 200); } else { players[_local5].offStepX = (players[_local5].offX / 800); players[_local5].offStepY = (players[_local5].offY / 800); }; players[_arg1.getInt(((_local2 * 4) + 1))].rotateAngle = _arg1.getInt(((_local2 * 4) + 4)); _local2++; }; oldStateTime = ((((oldStateTime + _arg1.getInt(0)) * 3) + new Date().getTime()) / 4); break; case "userLeft": removeChild(players[_arg1.getInt(0)]); delete players[_arg1.getInt(0)]; break; case "uDown": players[_arg1.getInt(0)].keyUp = true; break; case "uUp": players[_arg1.getInt(0)].keyUp = false; break; case "dDown": players[_arg1.getInt(0)].keyDown = true; break; case "dUp": players[_arg1.getInt(0)].keyDown = false; break; case "rDown": players[_arg1.getInt(0)].keyRight = true; break; case "rUp": players[_arg1.getInt(0)].keyRight = false; break; case "lDown": players[_arg1.getInt(0)].keyLeft = true; break; case "lUp": players[_arg1.getInt(0)].keyLeft = false; break; case "chat": players[_arg1.getInt(0)].userSays.text = _arg1.getString(1); players[_arg1.getInt(0)].messageTimeout = 90; break; }; } public function go(_arg1){ var _local2:Number; var _local3:Number; var _local4:String; _local2 = new Date().getTime(); _local3 = (_local2 - oldTime); oldTime = _local2; if (myId != -1){ myDude.keyUp = keyUp; myDude.keyDown = keyDown; myDude.keyRight = keyRight; myDude.keyLeft = keyLeft; }; for (_local4 in players) { if (players[_local4].keyUp){ players[_local4].y = (players[_local4].y - ((_local3 / 15) * Math.cos(((players[_local4].rotateAngle / 180) * Math.PI)))); players[_local4].x = (players[_local4].x + ((_local3 / 15) * Math.sin(((players[_local4].rotateAngle / 180) * Math.PI)))); }; if (players[_local4].keyDown){ players[_local4].y = (players[_local4].y + ((_local3 / 15) * Math.cos(((players[_local4].rotateAngle / 180) * Math.PI)))); players[_local4].x = (players[_local4].x - ((_local3 / 15) * Math.sin(((players[_local4].rotateAngle / 180) * Math.PI)))); }; if (players[_local4].y < 0){ players[_local4].y = 0; }; if (players[_local4].x < 0){ players[_local4].x = 0; }; if (players[_local4].y > 600){ players[_local4].y = 600; }; if (players[_local4].x > 600){ players[_local4].x = 600; }; if (players[_local4].keyRight){ }; if (players[_local4].keyLeft){ }; players[_local4].Tank.rotation = players[_local4].rotateAngle; if (players[_local4].messageTimeout > 0){ players[_local4].messageTimeout--; } else { players[_local4].userSays.text = players[_local4].Name; }; if ((((((((players[_local4].offX > 30)) && (!((players[_local4] == myDude))))) || (players[_local4].keyUp))) || (players[_local4].keyDown))){ if (Math.abs(players[_local4].offX) < Math.abs((_local3 * players[_local4].offStepX))){ players[_local4].x = (players[_local4].x + players[_local4].offX); players[_local4].offX = 0; players[_local4].offStepX = 0; } else { players[_local4].x = (players[_local4].x + (players[_local4].offStepX * _local3)); players[_local4].offX = (players[_local4].offX - (players[_local4].offStepX * _local3)); }; }; if ((((((((players[_local4].offY > 30)) && (!((players[_local4] == myDude))))) || (players[_local4].keyUp))) || (players[_local4].keyDown))){ if (Math.abs(players[_local4].offY) < Math.abs((_local3 * players[_local4].offStepY))){ players[_local4].y = (players[_local4].y + players[_local4].offY); players[_local4].offY = 0; players[_local4].offStepY = 0; } else { players[_local4].y = (players[_local4].y + (players[_local4].offStepY * _local3)); players[_local4].offY = (players[_local4].offY - (players[_local4].offStepY * _local3)); }; }; }; } } }//package Real_fla
Section 8
//Arrow (Arrow) package { import flash.display.*; public dynamic class Arrow extends MovieClip { } }//package
Section 9
//Letter (Letter) package { import flash.display.*; import flash.text.*; public dynamic class Letter extends MovieClip { public var letter:TextField; } }//package
Section 10
//person (person) package { import flash.display.*; import flash.text.*; public dynamic class person extends MovieClip { public var Tank:MovieClip; public var userSays:TextField; } }//package

Library Items

Symbol 1 FontUsed by:2 6
Symbol 2 EditableTextUses:1Used by:3
Symbol 3 MovieClip {Letter}Uses:2
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClip {Arrow}Uses:4
Symbol 6 EditableTextUses:1Used by:10
Symbol 7 BitmapUsed by:8
Symbol 8 GraphicUses:7Used by:9
Symbol 9 MovieClipUses:8Used by:10
Symbol 10 MovieClip {person}Uses:6 9
Symbol 11 FontUsed by:12 13 15 17 18
Symbol 12 TextUses:11Used by:Timeline
Symbol 13 EditableTextUses:11Used by:Timeline
Symbol 14 GraphicUsed by:16
Symbol 15 TextUses:11Used by:16
Symbol 16 ButtonUses:14 15Used by:Timeline
Symbol 17 TextUses:11Used by:Timeline
Symbol 18 EditableTextUses:11Used by:Timeline

Instance Names

"nameField"Frame 1Symbol 13 EditableText
"nameButton"Frame 1Symbol 16 Button
"chatText"Frame 3Symbol 18 EditableText
"sendButton"Frame 3Symbol 16 Button
"letter"Symbol 3 MovieClip {Letter} Frame 1Symbol 2 EditableText
"userSays"Symbol 10 MovieClip {person} Frame 1Symbol 6 EditableText
"Tank"Symbol 10 MovieClip {person} Frame 1Symbol 9 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.




http://swfchan.com/22/105001/info.shtml
Created: 17/3 -2019 23:19:51 Last modified: 17/3 -2019 23:19:51 Server time: 07/05 -2024 18:15:47