Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › MultiPlayer Game Hacks & Cheats › Realm of the Mad God Hacks & Cheats › Realm of the Mad God Private Servers › Realm of the Mad God Private Servers Tutorials/Source Code › Fullscreen V3

Fullscreen V3

Posts 1–15 of 23 · Page 1 of 2
wycuhmi
wycuhmi
Fullscreen V3
ok gamers, you might know me as melan from shot's realm, or somewhere else. but today, im going to give a full tutorial on Fullscreen V3, this should work in any client your using, please note that if you're using NR 27.7.X13, you're better off using NR 27.7.X13 Fullscreen-Adjustments, and skip through the tutorial until you see a file named ParseChatMessageComand.

File 1: WebMain.as

First, you want to declare these two variables inside WebMain.as
Code:
public static var sWidth:Number = 800;
    public static var sHeight:Number = 600;
Inside of 'public function Webmain', above 'this.setup()' you want to add this line of code,
Code:
stage.addEventListener(Event.RESIZE, this.onStageResize);
the 'onStageResize' will appear red, but we're going to add onStageResize with this code.
Code:
public function onStageResize(_arg_1:Event):void
    {
        if (stage.scaleMode == StageScaleMode.NO_SCALE)
        {
            this.scaleX = (stage.stageWidth / 800);
            this.scaleY = (stage.stageHeight / 600);
            this.x = ((800 - stage.stageWidth) / 2);
            this.y = ((600 - stage.stageHeight) / 2);
        }
        else
        {
            this.scaleX = 1;
            this.scaleY = 1;
            this.x = 0;
            this.y = 0;
        }
        sWidth = stage.stageWidth;
        sHeight = stage.stageHeight;
    }
File 2: Camera.as (com/company/assembleegameclient/map/Camera.as)

This should be relatively simple (since im providing all the code for you lmao), you want to replace the function 'configureCamera' with this,
Code:
public function configureCamera(_arg_1:GameObject, _arg_2:Boolean):void
	{
		var _local_3:Rectangle = this.correctViewingArea(Parameters.data_.centerOnPlayer);
		var _local_4:Number = Parameters.data_.cameraAngle;
		this.configure(_arg_1.x_, _arg_1.y_, 12, _local_4, _local_3);
		this.isHallucinating_ = _arg_2;
	}

	public function correctViewingArea(_arg_1:Boolean):Rectangle
	{
		var _local_2:Number;
		var _local_3:Number;
		var _local_4:Number;
		var _local_5:Number;
		_local_2 = Parameters.data_.mscale;
		_local_3 = (WebMain.sWidth / _local_2);
		_local_4 = (WebMain.sHeight / _local_2);
		_local_5 = ((Parameters.data_.uiscale) ? Number((((200 * WebMain.sHeight) / 600) / _local_2)) : Number((200 / _local_2)));
		if (_arg_1)
		{
			return (new Rectangle(-((_local_3 - _local_5) / 2), -((_local_4 * 13) / 24), _local_3, _local_4));
		}
		return (new Rectangle(-((_local_3 - _local_5) / 2), -((_local_4 * 3) / 4), _local_3, _local_4));
	}
you'll notice that i added another function with this, that was on purpose.

File 3: Map.as (com/company/assembleegameclient/map/Map.as)

now I could tell you which parts of another function you'd need to delete and add. but the variables are all weird and fucked up so im just going to give the two functions you want to add, you want to find 'override public function draw' and replace the entire function with these two functions,
Code:
public function correctMapView(_arg_1:Camera):Point
	{
		var _local_2:Rectangle = _arg_1.clipRect_;
		if (stage.scaleMode == StageScaleMode.NO_SCALE)
		{
			x = ((-(_local_2.x) * 800) / (WebMain.sWidth / Parameters.data_.mscale));
			y = ((-(_local_2.y) * 600) / (WebMain.sHeight / Parameters.data_.mscale));
		}
		else
		{
			x = (-(_local_2.x) * Parameters.data_.mscale);
			y = (-(_local_2.y) * Parameters.data_.mscale);
		}
		var _local_3:Number = ((-(_local_2.x) - (_local_2.width / 2)) / 50);
		var _local_4:Number = ((-(_local_2.y) - (_local_2.height / 2)) / 50);
		var _local_5:Number = Math.sqrt(((_local_3 * _local_3) + (_local_4 * _local_4)));
		var _local_6:Number = ((_arg_1.angleRad_ - (Math.PI / 2)) - Math.atan2(_local_3, _local_4));
		return (new Point((_arg_1.x_ + (_local_5 * Math.cos(_local_6))), (_arg_1.y_ + (_local_5 * Math.sin(_local_6)))));
	}

	override public function draw(_arg_1:Camera, _arg_2:int):void
	{
		var _local_3:Square;
		var _local_4:GameObject;
		var _local_5:BasicObject;
		var _local_6:int;
		var _local_12:uint;
		var _local_13:Render3D;
		var _local_14:int;
		var _local_15:Array;
		var _local_7:Number = NaN;
		var _local_8:Number = NaN;
		var _local_9:Number = NaN;
		var _local_10:Number = NaN;
		var _local_11:Number = NaN;
		var _local_16:Number = NaN;
		if (wasLastFrameGpu != Parameters.isGpuRender())
		{
			if ((((wasLastFrameGpu == true) && (!(WebMain.STAGE.stage3Ds[0].context3D == null))) && (!((!(WebMain.STAGE.stage3Ds[0].context3D == null)) && (!(WebMain.STAGE.stage3Ds[0].context3D.driverInfo.toLowerCase().indexOf("disposed") == -1))))))
			{
				WebMain.STAGE.stage3Ds[0].context3D.clear();
				WebMain.STAGE.stage3Ds[0].context3D.present();
			}
			else
			{
				map_.graphics.clear();
			}
			signalRenderSwitch.dispatch(wasLastFrameGpu);
			wasLastFrameGpu = Parameters.isGpuRender();
		}
		var _local_17:Rectangle = _arg_1.clipRect_;
		x = -(_local_17.x);
		y = -(_local_17.y);
		var _local_18:Number = ((-(_local_17.y) - (_local_17.height / 2)) / 50);
		var _local_19:Point = this.correctMapView(_arg_1);
		this.visible_.length = 0;
		this.visibleUnder_.length = 0;
		this.visibleSquares_.length = 0;
		this.topSquares_.length = 0;
		var _local_20:int = _arg_1.maxDist_;
		var _local_21:int = Math.max(0, (_local_19.x - _local_20));
		var _local_22:int = Math.min((width_ - 1), (_local_19.x + _local_20));
		var _local_23:int = Math.max(0, (_local_19.y - _local_20));
		var _local_24:int = Math.min((height_ - 1), (_local_19.y + _local_20));
		this.graphicsData_.length = 0;
		this.graphicsDataStageSoftware_.length = 0;
		this.graphicsData3d_.length = 0;
		var _local_25:int = _local_21;
		while (_local_25 <= _local_22)
		{
			_local_6 = _local_23;
			while (_local_6 <= _local_24)
			{
				_local_3 = squares_[(_local_25 + (_local_6 * width_))];
				if (_local_3 != null)
				{
					_local_7 = (_local_19.x - _local_3.center_.x);
					_local_8 = (_local_19.y - _local_3.center_.y);
					_local_9 = ((_local_7 * _local_7) + (_local_8 * _local_8));
					if (_local_9 <= _arg_1.maxDistSq_)
					{
						_local_3.lastVisible_ = _arg_2;
						_local_3.draw(this.graphicsData_, _arg_1, _arg_2);
						this.visibleSquares_.push(_local_3);
						if (_local_3.topFace_ != null)
						{
							this.topSquares_.push(_local_3);
						}
					}
				}
				_local_6++;
			}
			_local_25++;
		}
		for each (_local_4 in goDict_)
		{
			_local_4.drawn_ = false;
			if (!_local_4.dead_)
			{
				_local_3 = _local_4.square_;
				if (!((_local_3 == null) || (!(_local_3.lastVisible_ == _arg_2))))
				{
					_local_4.drawn_ = true;
					_local_4.computeSortVal(_arg_1);
					if (_local_4.props_.drawUnder_)
					{
						if (_local_4.props_.drawOnGround_)
						{
							_local_4.draw(this.graphicsData_, _arg_1, _arg_2);
						}
						else
						{
							this.visibleUnder_.push(_local_4);
						}
					}
					else
					{
						this.visible_.push(_local_4);
					}
				}
			}
		}
		for each (_local_5 in boDict_)
		{
			_local_5.drawn_ = false;
			_local_3 = _local_5.square_;
			if (!((_local_3 == null) || (!(_local_3.lastVisible_ == _arg_2))))
			{
				_local_5.drawn_ = true;
				_local_5.computeSortVal(_arg_1);
				this.visible_.push(_local_5);
			}
		}
		if (this.visibleUnder_.length > 0)
		{
			this.visibleUnder_.sortOn(VISIBLE_SORT_FIELDS, VISIBLE_SORT_PARAMS);
			for each (_local_5 in this.visibleUnder_)
			{
				_local_5.draw(this.graphicsData_, _arg_1, _arg_2);
			}
		}
		this.visible_.sortOn(VISIBLE_SORT_FIELDS, VISIBLE_SORT_PARAMS);
		if (Parameters.data_.drawShadows)
		{
			for each (_local_5 in this.visible_)
			{
				if (_local_5.hasShadow_)
				{
					_local_5.drawShadow(this.graphicsData_, _arg_1, _arg_2);
				}
			}
		}
		for each (_local_5 in this.visible_)
		{
			_local_5.draw(this.graphicsData_, _arg_1, _arg_2);
			if (Parameters.isGpuRender())
			{
				_local_5.draw3d(this.graphicsData3d_);
			}
		}
		if (this.topSquares_.length > 0)
		{
			for each (_local_3 in this.topSquares_)
			{
				_local_3.drawTop(this.graphicsData_, _arg_1, _arg_2);
			}
		}
		if ((((!(player_ == null)) && (player_.breath_ >= 0)) && (player_.breath_ < Parameters.BREATH_THRESH)))
		{
			_local_10 = ((Parameters.BREATH_THRESH - player_.breath_) / Parameters.BREATH_THRESH);
			_local_11 = (Math.abs(Math.sin((_arg_2 / 300))) * 0.75);
			BREATH_CT.alphaMultiplier = (_local_10 * _local_11);
			hurtOverlay_.transform.colorTransform = BREATH_CT;
			hurtOverlay_.visible = true;
			hurtOverlay_.x = _local_17.left;
			hurtOverlay_.y = _local_17.top;
		}
		else
		{
			hurtOverlay_.visible = false;
		}
		if (((!(player_ == null)) && (!(Parameters.screenShotMode_))))
		{
			gradientOverlay_.x = (_local_17.right - 210);
			gradientOverlay_.y = _local_17.top;
		}
		else
		{
			gradientOverlay_.visible = false;
		}
		if (((Parameters.isGpuRender()) && (Renderer.inGame)))
		{
			_local_12 = this.getFilterIndex();
			_local_13 = StaticInjectorContext.getInjector().getInstance(Render3D);
			_local_13.dispatch(this.graphicsData_, this.graphicsData3d_, width_, height_, _arg_1, _local_12);
			_local_14 = 0;
			while (_local_14 < this.graphicsData_.length)
			{
				if (((this.graphicsData_[_local_14] is GraphicsBitmapFill) && (GraphicsFillExtra.isSoftwareDraw(GraphicsBitmapFill(this.graphicsData_[_local_14])))))
				{
					this.graphicsDataStageSoftware_.push(this.graphicsData_[_local_14]);
					this.graphicsDataStageSoftware_.push(this.graphicsData_[(_local_14 + 1)]);
					this.graphicsDataStageSoftware_.push(this.graphicsData_[(_local_14 + 2)]);
				}
				else
				{
					if (((this.graphicsData_[_local_14] is GraphicsSolidFill) && (GraphicsFillExtra.isSoftwareDrawSolid(GraphicsSolidFill(this.graphicsData_[_local_14])))))
					{
						this.graphicsDataStageSoftware_.push(this.graphicsData_[_local_14]);
						this.graphicsDataStageSoftware_.push(this.graphicsData_[(_local_14 + 1)]);
						this.graphicsDataStageSoftware_.push(this.graphicsData_[(_local_14 + 2)]);
					}
				}
				_local_14++;
			}
			if (this.graphicsDataStageSoftware_.length > 0)
			{
				map_.graphics.clear();
				map_.graphics.drawGraphicsData(this.graphicsDataStageSoftware_);
				if (this.lastSoftwareClear)
				{
					this.lastSoftwareClear = false;
				}
			}
			else
			{
				if (!this.lastSoftwareClear)
				{
					map_.graphics.clear();
					this.lastSoftwareClear = true;
				}
			}
			if ((_arg_2 % 149) == 0)
			{
				GraphicsFillExtra.manageSize();
			}
		}
		else
		{
			map_.graphics.clear();
			map_.graphics.drawGraphicsData(this.graphicsData_);
		}
		map_.filters.length = 0;
		if (((!(player_ == null)) && (!((player_.condition_[ConditionEffect.CE_FIRST_BATCH] & ConditionEffect.MAP_FILTER_BITMASK) == 0))))
		{
			_local_15 = [];
			if (player_.isDrunk())
			{
				_local_16 = (20 + (10 * Math.sin((_arg_2 / 1000))));
				_local_15.push(new BlurFilter(_local_16, _local_16));
			}
			if (player_.isBlind())
			{
				_local_15.push(BLIND_FILTER);
			}
			map_.filters = _local_15;
		}
		else
		{
			if (map_.filters.length > 0)
			{
				map_.filters = [];
			}
		}
		mapOverlay_.draw(_arg_1, _arg_2);
		partyOverlay_.draw(_arg_1, _arg_2);
		if (((player_) && (player_.isDarkness())))
		{
			this.darkness.x = -300;
			this.darkness.y = ((Parameters.data_.centerOnPlayer) ? Number(-525) : Number(-515));
			this.darkness.alpha = 0.95;
			addChild(this.darkness);
		}
		else
		{
			if (contains(this.darkness))
			{
				removeChild(this.darkness);
			}
		}
	}
File 4: GameSprite.as (com/company/assembleegameclient/game/GameSprite.as)

Now this file is really important, this make sures that all the ui is scaled and beautiful when you enter fullscreen. you want to find the two functions, 'public function connect' and 'public function disconnect' and just fuckin' delete em. and replace them with,

Code:
public function onScreenResize(_arg_1:Event):void
    {
        var _local_2:Boolean = Parameters.data_.uiscale;
        var _local_3:Number = (800 / stage.stageWidth);
        var _local_4:Number = (600 / stage.stageHeight);
        var _local_5:Number = (_local_3 / _local_4);
        var _local_6:int = 66;
        if (this.map != null)
        {
            this.map.scaleX = (_local_3 * Parameters.data_.mscale);
            this.map.scaleY = (_local_4 * Parameters.data_.mscale);
        }
        if (this.hudView != null)
        {
            if (_local_2)
            {
                this.hudView.scaleX = _local_5;
                this.hudView.scaleY = 1;
                this.hudView.y = 0;
            }
            else
            {
                this.hudView.scaleX = _local_3;
                this.hudView.scaleY = _local_4;
                this.hudView.y = (300 * (1 - _local_4));
            }
            this.hudView.x = (800 - (200 * this.hudView.scaleX));
            if (this.creditDisplay_ != null)
            {
                this.creditDisplay_.x = (this.hudView.x - (6 * this.creditDisplay_.scaleX));
            }
        }
        if (this.chatBox_ != null)
        {
            if (_local_2)
            {
                this.chatBox_.scaleX = _local_5;
                this.chatBox_.scaleY = 1;
            }
            else
            {
                this.chatBox_.scaleX = _local_3;
                this.chatBox_.scaleY = _local_4;
            }
            this.chatBox_.y = (300 + (300 * (1 - this.chatBox_.scaleY)));
        }
        if (this.rankText_ != null)
        {
            if (_local_2)
            {
                this.rankText_.scaleX = _local_5;
                this.rankText_.scaleY = 1;
            }
            else
            {
                this.rankText_.scaleX = _local_3;
                this.rankText_.scaleY = _local_4;
            }
            this.rankText_.x = (8 * this.rankText_.scaleX);
            this.rankText_.y = (2 * this.rankText_.scaleY);
        }
        if (this.giftStatusDisplay != null)
        {
            if (_local_2)
            {
                this.giftStatusDisplay.scaleX = _local_5;
                this.giftStatusDisplay.scaleY = 1;
            }
            else
            {
                this.giftStatusDisplay.scaleX = _local_3;
                this.giftStatusDisplay.scaleY = _local_4;
            }
            this.giftStatusDisplay.x = (6 * this.giftStatusDisplay.scaleX);
            this.giftStatusDisplay.y = (_local_6 * this.giftStatusDisplay.scaleY);
            _local_6 = (_local_6 + DISPLAY_AREA_Y_SPACE);
        }
        if (this.newsModalButton != null)
        {
            if (_local_2)
            {
                this.newsModalButton.scaleX = _local_5;
                this.newsModalButton.scaleY = 1;
            }
            else
            {
                this.newsModalButton.scaleX = _local_3;
                this.newsModalButton.scaleY = _local_4;
            }
            this.newsModalButton.x = (6 * this.newsModalButton.scaleX);
            this.newsModalButton.y = (_local_6 * this.newsModalButton.scaleY);
            _local_6 = (_local_6 + DISPLAY_AREA_Y_SPACE);
        }
        if (this.guildText_ != null)
        {
            if (_local_2)
            {
                this.guildText_.scaleX = _local_5;
                this.guildText_.scaleY = 1;
            }
            else
            {
                this.guildText_.scaleX = _local_3;
                this.guildText_.scaleY = _local_4;
            }
            this.guildText_.x = (64 * this.guildText_.scaleX);
            this.guildText_.y = (2 * this.guildText_.scaleY);
        }
        if (this.creditDisplay_ != null)
        {
            if (_local_2)
            {
                this.creditDisplay_.scaleX = _local_5;
                this.creditDisplay_.scaleY = 1;
            }
            else
            {
                this.creditDisplay_.scaleX = _local_3;
                this.creditDisplay_.scaleY = _local_4;
            }
        }
    }

    public function connect():void
    {
        if (!this.isGameStarted)
        {
            this.isGameStarted = true;
            Renderer.inGame = true;
            gsc_.connect();
            lastUpdate_ = getTimer();
            stage.addEventListener(MoneyChangedEvent.MONEY_CHANGED, this.onMoneyChanged);
            stage.addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
            this.parent.parent.setChildIndex((this.parent.parent as Layers).top, 0);
            if (Parameters.data_.mscale == undefined)
            {
                Parameters.data_.mscale = "1.0";
            }
            if (Parameters.data_.stageScale == undefined)
            {
                Parameters.data_.stageScale = StageScaleMode.NO_SCALE;
            }
            if (Parameters.data_.uiscale == undefined)
            {
                Parameters.data_.uiscale = true;
            }
            Parameters.save();
            stage.scaleMode = Parameters.data_.stageScale;
            stage.addEventListener(Event.RESIZE, this.onScreenResize);
            stage.dispatchEvent(new Event(Event.RESIZE));
            LoopedProcess.addProcess(new LoopedCallback(100, this.updateNearestInteractive));
        }
    }

    public function disconnect():void
    {
        if (this.isGameStarted)
        {
            this.isGameStarted = false;
            Renderer.inGame = false;
            stage.removeEventListener(MoneyChangedEvent.MONEY_CHANGED, this.onMoneyChanged);
            stage.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
            stage.removeEventListener(Event.RESIZE, this.onScreenResize);
            stage.scaleMode = StageScaleMode.EXACT_FIT;
            stage.dispatchEvent(new Event(Event.RESIZE));
            LoopedProcess.destroyAll();
            ((contains(map)) && (removeChild(map)));
            map.dispose();
            CachingColorTransformer.clear();
            TextureRedrawer.clearCache();
            Projectile.dispose();
            gsc_.disconnect();
        }
    }
You might see that quite a fair amount of code is red, what you want to do is go to the top of the file and add these imports
Code:
import kabam.rotmg.core.view.Layers;
import flash.display.StageScaleMode
and add a const inside of GameSprite,
Code:
public static const DISPLAY_AREA_Y_SPACE = 32;
File 5: GameObjectArrow.as (com/company/assembleegameclient/map/partyoverlay/GameObjectArrow.as)

above 'public function draw', you want to add this function,
Code:
public function correctQuestNote(_arg_1:Rectangle):Rectangle
    {
        var _local_2:Rectangle = _arg_1.clone();
        if (((stage.scaleMode == StageScaleMode.NO_SCALE) && (Parameters.data_.uiscale)))
        {
            this.scaleY = (this.scaleX = ((((stage.stageWidth < stage.stageHeight) ? stage.stageWidth : stage.stageHeight) / Parameters.data_.mscale) / 600));
        }
        else
        {
            this.scaleX = 1;
            this.scaleY = 1;
        }
        _local_2.right = (_local_2.right - ((((800 - this.go_.map_.gs_.hudView.x) * stage.stageWidth) / Parameters.data_.mscale) / 800));
        return (_local_2);
    }
as well as these imports,
Code:
import flash.display.StageScaleMode;
import com.company.assembleegameclient.parameters.Parameters;
now inside the oublic function draw, you want to look for '_local_3 = _arg_2.clipRect_;', and replace it with
Code:
_local_3 = this.correctQuestNote(_arg_2.clipRect_);
File 6: ParseChatMessageCommand.as (kabam/rotmg/chat/control/ParseChatMessageCommand.as)

just replace everything with this, if you spend two seconds actually looking at the code, you'll see what each command does and all that good stuff.
Code:
//kabam.rotmg.cha*****ntrol.ParseChatMessageCommand

    package kabam.rotmg.cha*****ntrol{
    import com.company.assembleegameclient.parameters.Parameters;

    import flash.display.DisplayObject;
    import flash.display.StageScaleMode;
    import flash.events.Event;

    import kabam.rotmg.chat.model.ChatMessage;
    import kabam.rotmg.game.signals.AddTextLineSignal;
    import kabam.rotmg.text.model.TextKey;
    import kabam.rotmg.ui.model.HUDModel;


    public class ParseChatMessageCommand {

        [Inject]
        public var data:String;
        [Inject]
        public var hudModel:HUDModel;
        [Inject]
        public var addTextLine:AddTextLineSignal;

        public function execute():void{
            var _local1:Array;
            var _local2:Number;
            var _local3:Number;
            if (this.fsCommands(this.data))
            {
                return;
            }
            if (this.data.charAt(0) == "/"){
                _local1 = this.data.substr(1, this.data.length).split(" ");
                switch (_local1[0]){
                    case "help":
                        this.addTextLine.dispatch(ChatMessage.make(Parameters.HELP_CHAT_NAME, TextKey.HELP_COMMAND));
                        return;
                };
            };
            this.hudModel.gameSprite.gsc_.playerText(this.data);
        }

        private function fsCommands(_arg_1:String):Boolean
        {
            _arg_1 = _arg_1.toLowerCase();
            var _local_2:DisplayObject = Parameters.root;
            if (_arg_1 == "/fs")
            {
                if (_local_2.stage.scaleMode == StageScaleMode.EXACT_FIT)
                {
                    _local_2.stage.scaleMode = StageScaleMode.NO_SCALE;
                    Parameters.data_.stageScale = StageScaleMode.NO_SCALE;
                    this.addTextLine.dispatch(ChatMessage.make(Parameters.HELP_CHAT_NAME, "Fullscreen: On"));
                }
                else
                {
                    _local_2.stage.scaleMode = StageScaleMode.EXACT_FIT;
                    Parameters.data_.stageScale = StageScaleMode.EXACT_FIT;
                    this.addTextLine.dispatch(ChatMessage.make(Parameters.HELP_CHAT_NAME, "Fullscreen: Off"));
                }
                Parameters.save();
                _local_2.dispatchEvent(new Event(Event.RESIZE));
                return (true);
            }
            if (_arg_1 == "/mscale")
            {
                this.addTextLine.dispatch(ChatMessage.make(Parameters.HELP_CHAT_NAME, (("Map Scale: " + Parameters.data_.mscale) + " - Usage: /mscale <any decimal number>.")));
                return (true);
            }
            var _local_3:Array = _arg_1.match("^/mscale (\\d*\\.*\\d+)$");
            if (_local_3 != null)
            {
                Parameters.data_.mscale = _local_3[1];
                Parameters.save();
                _local_2.dispatchEvent(new Event(Event.RESIZE));
                this.addTextLine.dispatch(ChatMessage.make(Parameters.HELP_CHAT_NAME, ("Map Scale: " + _local_3[1])));
                return (true);
            }
            if (_arg_1 == "/scaleui")
            {
                Parameters.data_.uiscale = (!(Parameters.data_.uiscale));
                Parameters.save();
                _local_2.dispatchEvent(new Event(Event.RESIZE));
                this.addTextLine.dispatch(ChatMessage.make(Parameters.HELP_CHAT_NAME, ("Scale UI: " + Parameters.data_.uiscale)));
                return (true);
            }
            return (false);
        }

    }
}//package kabam.rotmg.cha*****ntrol
If you want a limit on mscale on most current private servers (shot's, rotf, project b. rise), add this at the top of 'private function fsCommands'
Code:
var _local_4:* = undefined;
then, inside of 'if(_local_3 != null)', replace 'Parameters.data_.["mscale"] = _local_3[1];' with,
Code:
_local_4 = Number(_local_3[1]);
            _local_4 = _local_4 > 0.5? _local_4: 0.5;
            _local_4 = _local_4 < 5? _local_4: 5;
            Parameters.data_["mscale"] = _local_4;
That should be it, a thanks would be appreciated if this tutorial helped you!

-edit, sorry im fucking stupid.

File 7: Tooltip.as (com/company/assembleegameclient/ui/tooltip/ToolTip.as)

replace the function 'position' with,
Code:
protected function position():void
    {
        var _local_1:Number;
        var _local_2:Number;
        var _local_3:Number = (800 / stage.stageWidth);
        var _local_4:Number = (600 / stage.stageHeight);
        if ((this.parent is Options))
        {
            _local_1 = ((((stage.mouseX + (stage.stageWidth / 2)) - 400) / stage.stageWidth) * 800);
            _local_2 = ((((stage.mouseY + (stage.stageHeight / 2)) - 300) / stage.stageHeight) * 600);
        }
        else
        {
            _local_1 = (((stage.stageWidth - 800) / 2) + stage.mouseX);
            _local_2 = (((stage.stageHeight - 600) / 2) + stage.mouseY);
            if (((this.parent is TooltipsView) || ((this is PlayerGroupToolTip) && (!(this.parent is PlayerArrow)))))
            {
                if (Parameters.data_.uiscale)
                {
                    this.parent.scaleX = (_local_3 / _local_4);
                    this.parent.scaleY = 1;
                    _local_1 = (_local_1 * _local_4);
                    _local_2 = (_local_2 * _local_4);
                }
                else
                {
                    this.parent.scaleX = _local_3;
                    this.parent.scaleY = _local_4;
                }
            }
        }
        if (stage == null)
        {
            return;
        }
        if (((stage.mouseX + (0.5 * stage.stageWidth)) - 400) < (stage.stageWidth / 2))
        {
            x = (_local_1 + 12);
        }
        else
        {
            x = ((_local_1 - width) - 1);
        }
        if (x < 12)
        {
            x = 12;
        }
        if (((stage.mouseY + (0.5 * stage.stageHeight)) - 300) < (stage.stageHeight / 3))
        {
            y = (_local_2 + 12);
        }
        else
        {
            y = ((_local_2 - height) - 1);
        }
        if (y < 12)
        {
            y = 12;
        }
    }
This makes it so you can see things like item description and the teleport box.

Edit 2: File 8: Options.as (com/company/assembleegameclient/ui/options/Options.as

fin the 'onAddedToStage' function and replace with
Code:
private function onAddedToStage(_arg_1:Event):void
    {
        this.continueButton_.x = 400;
        this.continueButton_.y = Y_POSITION;
        this.resetToDefaultsButton_.x = 20;
        this.resetToDefaultsButton_.y = Y_POSITION;
        this.homeButton_.x = 780;
        this.homeButton_.y = Y_POSITION;
        this.setSelected(this.tabs_[0]);
        stage.addEventListener(KeyboardEvent.KEY_DOWN, this.onKeyDown, false, 1);
        stage.addEventListener(KeyboardEvent.KEY_UP, this.onKeyUp, false, 1);
    }
#1 · edited 7y ago · 7y ago
SA
Sans (bonezone)
I think something's wrong in Camera.as
When i do /mscale in game it changes the health bar size but nothing else.
#2 · 7y ago
OY
Oynxx
Confused
Quote Originally Posted by Sans (bonezone) View Post
I think something's wrong in Camera.as
When i do /mscale in game it changes the health bar size but nothing else.
What does he mean by the first line Declare these 2 variables
#3 · 7y ago
SA
Sans (bonezone)
Quote Originally Posted by Oynxx View Post
What does he mean by the first line Declare these 2 variables
At the top of the class below public static var STAGE:Stage; copy and paste those two lines.
#4 · 7y ago
wycuhmi
wycuhmi
bump /10chars
#5 · 7y ago
toninhorotmg
toninhorotmg
Mine only works on Nexus, in nexus it works perfectly but when i leave nexus the fullscreen breaks and the HPBars too, ill check camera.as ...
#6 · 7y ago
Gravitir3.14
Gravitir3.14
Quote Originally Posted by toninhorotmg View Post
Mine only works on Nexus, in nexus it works perfectly but when i leave nexus the fullscreen breaks and the HPBars too, ill check camera.as ...
Check hardware acceleration.
#7 · 7y ago
toninhorotmg
toninhorotmg
Quote Originally Posted by Gravitir3.14 View Post


Check hardware acceleration.
Oh, Ty, the problem was Hardware acceleration, it was on, i turned off and it started working , Ty
#8 · 7y ago
DA
darken024
i have follow all the step and when i launch my client i have a black screen. do you know why ?
#9 · 7y ago
wycuhmi
wycuhmi
@darken024 I don't think thats an issue pertaining to fsv3. Have you added custom items yet?
#10 · 7y ago
DA
darken024
yes but not in the binary just in addition.xml and the client work perfectly before
#11 · 7y ago
wycuhmi
wycuhmi
To be honest, I can't tell what the issue would be. The only time I have those issues is if there is assets that aren't called in the source. Maybe do it over again?
#12 · 7y ago
toninhorotmg
toninhorotmg
Quote Originally Posted by darken024 View Post
yes but not in the binary just in addition.xml and the client work perfectly before
Your client is broken, i recommend using a debug flash player.
https :// fpdownload.macromedia(dot)com/pub/flashplayer/updaters/32/flashplayer_32_sa_debug(dot)exe

in that link you can find a debug flash player !

#13 · edited 7y ago · 7y ago
DE
DerpyDose
After doing your tutorial, I'm having a few errors all in ToolTip.as which I don't know how to solve, any help?
https://i(dot)imgur.com/quOKC9z(dot)png
#14 · 7y ago
Gravitir3.14
Gravitir3.14
Quote Originally Posted by DerpyDose View Post
After doing your tutorial, I'm having a few errors all in ToolTip.as which I don't know how to solve, any help?
https://i(dot)imgur.com/quOKC9z(dot)png
Check your imports.
#15 · 7y ago
Posts 1–15 of 23 · Page 1 of 2

Post a Reply

Similar Threads

  • Fullscreen on rs2By Skurdz in Runescape Hacks / Bots
    33Last post 16y ago
  • RS FullScreen ToolBy cag147 in Runescape Hacks / Bots
    2Last post 16y ago
  • How do you inject it since CF is fullscreen?By HsiX in CrossFire Hacks & Cheats
    17Last post 16y ago
  • [help]fullscreen glitch[help]By mnpeep in Visual Basic Programming
    14Last post 16y ago
  • RuneScape FULLSCREEN ModeBy [username] in Runescape Hacks / Bots
    1Last post 16y ago

Tags for this Thread

None