Code:
The first part to add Panic Key, basic.
Open Options.as
add new const:
private static const TABS:Vector.<String> = new <String>["Options.Controls", "Options.HotKeys", "Options.Chat", "Options.Graphics", "Options.Sound", "Options.Friend", "Options.Misc", "Experimental", "Debuffs", "Auto", "World", "Recon", "Visual", "Fame", "Other"];
and var:
public static var hidden:Boolean = false;
in function Options change
_local_7 = TABS;
and replace it after: this.tabs_.push(_local_2);
if (hidden){
_local_2.y = 70;
}
_local_6 = ((hidden) ? (_local_6 + 90) : (_local_6 + 104)); // recommend to set _local_6 = (_local_6 + 90), it's set correct view of some tabs
add new function to toggle tabs:
public static function toggleHacks():void{
TABS.splice(0, TABS.length);
if (!hidden) {
TABS.push("Options.Controls");
TABS.push("Options.HotKeys");
TABS.push("Options.Chat");
TABS.push("Options.Graphics");
TABS.push("Options.Sound");
TABS.push("Options.Friend");
TABS.push("Options.Misc");
TABS.push("Experimental");
hidden = true;
}
else {
TABS.push("Options.Controls");
TABS.push("Options.HotKeys");
TABS.push("Options.Chat");
TABS.push("Options.Graphics");
TABS.push("Options.Sound");
TABS.push("Options.Friend");
TABS.push("Options.Misc");
TABS.push("Experimental");
TABS.push("Debuffs");
TABS.push("Auto");
TABS.push("World");
TABS.push("Recon");
TABS.push("Visual");
TABS.push("Fame");
TABS.push("Other");
}
}
in function addGraphicsOptions add new options after HPBar
this.addOptionAndPosition(new KeyMapper("toggleProjectiles", "Toggle Ally Projectiles", "This key will toggle rendering of friendly projectiles"));
this.addOptionAndPosition(new KeyMapper("toggleMasterParticles", "Toggle Particles", "This key will toggle rendering of nonessential particles (Particles Master option)"));
in function addExperimentalOptions change
from
this.addOptionAndPosition(new ChoiceOption("showHPBarOnAlly", makeOnOffLabels(), [true, false], "HP Bar on Ally", "Toggle showing HP bar on ally players", null));
this.addOptionAndPosition(new ChoiceOption("showFameGain", makeOnOffLabels(), [true, false], "Show Fame Gain", "Shows notifications for each fame gained.", null));
this.addOptionAndPosition(new ChoiceOption("showEXPFameOnAlly", makeOnOffLabels(), [true, false], "Exp/Fame on Ally", "Toggle showing EXP and Fame gain on ally players", null));
to
this.addOptionAndPosition(new ChoiceOption("showFameGain", makeOnOffLabels(), [true, false], "Show Fame Gain", "Shows notifications for each fame gained.", null));
this.addOptionAndPosition(new ChoiceOption("curseIndication", makeOnOffLabels(), [true, false], "Curse Indication", "Makes enemies inflicted by Curse glow red.", null)); //it's new option
if (!hidden) {
this.addOptionAndPosition(new ChoiceOption("showHPBarOnAlly", makeOnOffLabels(), [true, false], "HP Bar on Ally", "Toggle showing HP bar on ally players", null));
this.addOptionAndPosition(new ChoiceOption("showEXPFameOnAlly", makeOnOffLabels(), [true, false], "Exp/Fame on Ally", "Toggle showing EXP and Fame gain on ally players", null));
}
add new options:
in Parameters
setDefault("curseIndication", false);
setDefaultKey("toggleProjectiles", KeyCodes.N);
setDefaultKey("toggleMasterParticles", KeyCodes.M);
in GameObject
from
if (this.isCursed){
to
if (this.isCursed() && Parameters.data_.curseIndication){
and in MapUserInput
add it after toggleHPBar:
case Parameters.data_.toggleProjectiles:
Parameters.data_.disableAllyParticles = (!(Parameters.data_.disableAllyParticles));
break;
case Parameters.data_.toggleMasterParticles:
Parameters.data_.noParticlesMaster = (!(Parameters.data_.noParticlesMaster));
break;
to add shadow in UI go to Map.as
and change from
sidebarGradientOverlay_.x = (_local_20.right - 10);
to
sidebargradientOverlay_.x = (_local_20.right - ((Options.hidden) ? 210 : 10));
in GameObject.as
add trigger to showHPBarOnAlly:
from
if (Parameters.data_.showHPBarOnAlly){
to
if (Parameters.data_.showHPBarOnAlly || Options.hidden){
to add trigger to shoeEXPFameOnAlly
in Player.as
from
if (((!(Parameters.data_.showEXPFameOnAlly)) && (!(this == this.map_.player_)))){
to
if ((!Parameters.data_.showEXPFameOnAlly && !Options.hidden)) && (!this == this.map_.player_)){
and in GameServerConnectionConcrete.as
from
if (Parameters.data_.showEXPFameOnAlly){
to
if (Parameters.data_.showEXPFameOnAlly || Options.hidden){
to enable Visual Debuffs if panic key toggled:
in Options.as replace in function calculateIgnoreBitmask
if (Parameters.data_.ignoreBlind && !Options.hidden){
_local_2 = (_local_2 | (1 << 8));
};
if (Parameters.data_.ignoreHallucinating && !Options.hidden){
_local_2 = (_local_2 | (1 << 9));
};
if (Parameters.data_.ignoreDrunk && !Options.hidden){
_local_2 = (_local_2 | (1 << 10));
};
if (Parameters.data_.ignoreConfused && !Options.hidden){
_local_2 = (_local_2 | (1 << 11));
};
if (Parameters.data_.ignoreUnstable && !Options.hidden){
_local_2 = (_local_2 | (1 << 30));
};
if (Parameters.data_.ignoreDarkness && !Options.hidden){
_local_2 = (_local_2 | (1 << 31));
};
to disable notifications, in Player.as to public function textNotification add
if (Options.hidden) {
return;
}
Optional and not recommend: to disable etherite/colo/cultist staff offsets change
from
if (((_arg_2 == 8608) && (Parameters.data_.ethDisable))){
to
if ((_arg_2 == 8608) && (Parameters.data_.ethDisable && !Options.hidden)){
from
if (((_arg_2 == 596) && (Parameters.data_.offsetColossus))){
to
if ((_arg_2 == 596) && (Parameters.data_.offsetColossus && !Options.hidden)){
(изменено)
from
if (((_arg_2 == 580) && (Parameters.data_.cultiststaffDisable))){
to
if ((_arg_2 == 580) && (Parameters.data_.cultiststaffDisable && !Options.hidden)){
to disable passThroughInvuln in Map.as change
from
var _local_2:uint = ((Parameters.data_.passThroughInvuln) ? 27262976 : 0xA00000);
to
var _local_2:uint = ((Parameters.data_.passThroughInvuln && !Options.hidden) ? 27262976 : 0xA00000);
To add trigger to LowCpuMod and lockfilter
Object3D.as/ConnectedObject.as/Square.as/DoubleWall.as/GameObject (triple)/Particle.as/BitmapParticle.as/Wall.as/GameServerConnectionConcrete.as/MiniMapImp.as
from
if (Parameters.lowCPUMode){
to
if (Parameters.lowCPUMode && !Options.hidden){
Map.as (twice)
from
if (!Parameters.lowCPUMode){
to
if (!Parameters.lowCPUMode || Options.hidden){
MapOverlay.as (twice)
from
if (((Parameters.lowCPUMode) && (!(_arg_1.go_ == _arg_1.go_.map_.player_)))){
to
if ((Parameters.lowCPUMode && !Options.hidden) && (!_arg_1.go_ = _arg_1.go_.map_.player_))
Player.as
from
if (((!(this.starred_)) && ((Parameters.lowCPUMode) || (Parameters.data_.hideLockList)))){
to
if ((!this.starred_) && (!Options.hidden && (Parameters.lowCPUMode || Parameters.data_.hideLockList))){
TextHandler.as
from
if (((Parameters.lowCPUMode) && (_arg_1.recipient_.length == 0))){
to
if ((Parameters.lowCPUMode && !Options.hidden) && (_arg_1.recipient_.length == 0)){
GameServerConnectionConcrete.as
from
if (((Parameters.lowCPUMode) || (Parameters.data_.dmgIgnore))){
to
if ((Parameters.lowCPUMode || Parameters.data_.dmgignore) && (!Options.hidden)){
Optional: Party.as
from
if (_arg_1 < (this.lastUpdate_ + ((Parameters.lowCPUMode) ? 2500 : 500))){
to
if (_arg_1 < (this.lastUpdate_ + ((Parameters.lowCPUMode && !Options.hidden) ? 2500 : 500))){
(изменено)
to add trigger to showQuestBar
GameSprite.as
from
if (((Parameters.data_.showQuestBar) && (this.questBar))){
to
if ((Parameters.data_.showQuestBar && !Options.hidden) && (this.questBar))
(изменено)
to add trigger to HidePets
Pet.as
from
if (!Parameters.data_.hidePets){
to
if (!Parameters.data_.hidePets || Options.hidden){
to add trigger to lootPreview
Container.as (function drawItems)
add
if (Options.hidden) {
return;
}
to add trigger to Show Dealt %
GameObject.as
from
if (((!(this.dead_)) && (Parameters.data_.showDamageOnEnemy))){
to
if ((!this.dead_) && (Parameters.data_.showDamageOnEnemy && !Options.hidden)){
to add trigger to showMobInfo
GameObject.as
from
if (Parameters.data_.showMobInfo){
to
if (Parameters.data_.showMobInfo && !Options.hidden){
Options.as
from
if (((!(Parameters.data_.showMobInfo)) && (this.gs_.map.mapOverlay_))){
to
if ((!Parameters.data_.showMobInfo || Options.hidden) && (this.gs_.map.mapOverlay)){
to add trigger to Reduced Particles
GameObject.as
from
if (!Parameters.data_.liteParticle){
to
if (!Parameters.data_.liteParticle || Options.hidden){
Projectile.as
from
if (((!(Parameters.data_.noParticlesMaster)) || (!(Parameters.data_.liteParticle)))){
to
if ((!Parameters.data_.noParticlesMaster) || (!Parameters.data_.liteParticle || Options.hidden)){
and from
if (!Parameters.data_.liteParticle){
to
if (!Parameters.data_.liteParticle || Options.hidden){
and from
if (((this.projProps_.particleTrail_) && (!((Parameters.data_.noParticlesMaster) || (Parameters.data_.liteParticle))))){
to
((this.projProps_.particleTrail_) && (!Parameters.data_.noParticlesMaster || (!Parameters.ata_.liteParticle || Options.hidden)))
in GameServerConnectionConcrete.as
from
if (Parameters.data_.liteParticle){
to
if (Parameters.data_.liteParticle && !Options.hidden){
to add trigger to ignoreStatusText
GameObject.as
from
if (!Parameters.data_.ignoreStatusText){
to
if (!Parameters.data_.ignoreStatusText && !Options.hidden){
to add trigger to big loot bags (also pls del "ass" from option)
from
if (((this is Container) && ((Parameters.data_.bigLootBags) && ((this as Container).drawMeBig_)))){
to
if ((this is Container) && (!Options.hidden && Parameters.data_.bigLootBags) && ((this as Container).drawMeBig_)){
to add trigger to extended player menu
PlayerMenu.as
from
if (Parameters.data_.extraPlayerMenu){
to
if (Parameters.data_.extraPlayerMenu && !Options.hidden){
trigger to Nintendo mode
SquareFace.as
from
if (((this.animate_ == 0) || (Parameters.data_.n64mode))){
to
if ((this.animate_ == 0) || (Parameters.data_.n64mode && !Options.hidden)){
(изменено)
GlowRedrawer.as
from
if (!Parameters.data_.n64mode){
to
if (!Parameters.data_.n64mode || Options.hidden){
TextureRedrawer.as (twice)
from
if (!Parameters.data_.n64mode){
to
if (!Parameters.data_.n64mode || Options.hidden){
to add trigger to show CHP bar
StatMetersView.as (twice)
from
if (Parameters.data_.showCHbar){
to
if (Parameters.data_.showCHbar && !Options.hidden){
Also need to hide all commands, but i think now it's so hard. It is necessary that the commands were separate from the execute, as in my file.
to add Panic Key
Options.as
add
this.addOptionAndPosition(new KeyMapper("panicKey", "Panic Key", "Toggle visual options to take screenshot."));
Parameters.as
add
setDefaultKey("panicKey", KeyCodes.DELETE);
MapUserInput.as
add
case Parameters.data_.panicKey:
Options.toggleHacks();
break;