Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 57.94 KB | None | 0 0
  1.  
  2. CABCONMODDING
  3. Forums
  4. Menu
  5.  
  6. 1
  7. Conversations You Started
  8. ...
  9.  
  10.  
  11.  
  12. Conversations
  13. Your posts aren't public? A moderator need to approve your first post first!
  14. Hey
  15. Edit ConversationMark as UnreadStar ConversationLeave Conversation
  16. < Prev12
  17. vampytwist
  18. vampytwist
  19. Modder
  20. Code:
  21. #include maps\mp\_utility;
  22. #include common_scripts\utility;
  23. #include maps\mp\gametypes_zm\_hud_util;
  24. #include maps\mp\gametypes_zm\_hud_message;
  25. #include maps\_hud_util;
  26. #include maps\_utility;
  27. #include animscripts\utility;
  28.  
  29.  
  30. init()
  31. {
  32.    level thread onPlayerConnect();
  33.    precacheShader("hint_health");
  34. }
  35.  
  36. onPlayerConnect()
  37. {
  38. self.pisbucket = true;
  39.    self.assbucket = true;
  40.    self.GodModeIsOn = false;
  41.    level.godtextshow = true;
  42.    level.modmenulobby = false;
  43.    level.rainstarter = true;
  44.    level.Raindeletetime = false;
  45.    level.Small = false;
  46.    level.BigBoy = false;
  47.    level.InOutAction = false;
  48.    level.NotifyTextDelete = false;
  49.    level.The_Forge_Lobby = false;
  50.    level.primaryProgressBarTextX = 0;
  51.    level.primaryProgressBarTextY = 96;
  52.    level.primaryProgressBarFontSize = 1.3;
  53.    level.lobbyTimer = "^1Not Set";
  54.    level.patch = "Physics 'n' Flex v2 edit";
  55.    level.patchCreator = "Mikeeeyy - Edited by Mikeeeyy";
  56.    level.permissions = strTok("Client;Vip;Admin", ";");
  57.    level.additionTrigs = [];
  58.    level.visions = strTok("berserker;ber1_default;ber2;ber2_collapse;ber2_darksubway;ber2_interior;ber2_lightsubway;ber2_smoke_crouch;ber2_smoke_stand;ber3;ber3b;ber3b_2;cheat_bw;cheat_bw_contrast;cheat_bw_invert;cheat_contrast;cheat_invert;cheat_invert_contrast;default_night;flare;fly_dark;fly_light;fly_mid;grayscale;introscreen;kamikaze;default", ";");
  59.    level.visions2 = strTok("laststand;mak;mak_Fire;mpoutro;oki2;oki3_mortar;pel1;pel1a_intro;pel1a_intro2;pel1_battlefield;pel1b;pel1b_caves;revive;see1;see1_fire;see2;sepia;sniper_inside_fire;sniper_wake;sniper_water;vampire_low;vampire_high;zombie_factory;zombie_turned;default", ";");
  60.    level.prestigeBadges = [];
  61.    level.prestigeBadges[0] = "rank_comm1";
  62.    for (m = 1; m <= 11; m++)
  63.        level.prestigeBadges[m] = "rank_prestige" + m;
  64.    level.ranks = strTok("Private;Private II;Private III;Private First Class;Private First Class I;Private First Class II;Corporal;Corporal I;Corporal II;Sergeant;Sergeant I;Sergeant II;Staff Sergeant;Staff Sergeant I;Staff Sergeant II;Staff Sergeant III;Gunnery Sergeant;Gunnery Sergeant I;Gunnery Sergeant II;Gunnery Sergeant III;Master Sergeant;Master Sergeant I;Master Sergeant II;Master Sergeant III;Sergeant Major;Sergeant Major I;Sergeant Major II;Sergeant Major III;2nd Lieutenant;2nd Lieutenant I;2nd Lieutenant II;2nd Lieutenant III;1st Lieutenant;1st Lieutenant I;1st Lieutenant II;1st Lieutenant III;Captain;Captain I;Captain II;Captain III;Major;Major I;Major II;Major III;Lt. Colonel;Lt. Colonel I;Lt. Colonel II;Lt. Colonel III;Colonel;Colonel I;Colonel II;Colonel III;Brigadier General;Brigadier General I;Brigadier General II;Brigadier General III;Major General;Major General I;Major General II;Major General III;Lieutenant General;Lieutenant General I;Lieutenant General II;Lieutenant General III;Commander", ";");
  65.    level.clanTags = strTok("NERD;FUCK;****;****;NUTS;SLAG;PAKI;{@@};SEX;SEXY;FAG;ARSE;IW;@@@@;DICK;****;ASS;NIGR;JTAG;****;TITS;BOOB;PUSY;****;3ARC;CYCL;MOVE;RAIN;CYLN;KRDR;****;....;BLUE;CYAN;GRN;RED;YELW", ";");
  66.    level.menuWait = .4;
  67.    level.hideSeek_timer = 90;
  68.    level.colr = strTok("Black;Red;Green;Yellow;Blue;Cyan;Orange;White", ";");
  69.    level.cols = strTok("^0;^1;^2;^3;^4;^5;^6;^7", ";");
  70.    level.char = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ";
  71.    level.powerUps = strTok("double_points;insta_kill;full_ammo;nuke;carpenter", ";");
  72.    level.powerUpModels = strTok("zombie_x2_icon;zombie_skull;zombie_ammocan;zombie_bomb;zombie_carpenter", ";");
  73.    level.powerUpProper = strTok("Double Points;Insta-Kill;Max Ammo;Nuke;Carpenter", ";");
  74.    level.maniaMax = 10;
  75.    for(;;)
  76.    {
  77.        level waittill("connected", player);
  78.        player thread onPlayerSpawned();
  79.    }
  80. }
  81.  
  82. onPlayerSpawned()
  83. {
  84.    for (i = 1; i < getPlayers().size; i++) {
  85.        getPlayers()[i] thread grantMenu(level.permissions[0]);
  86.        getPlayers()[i] thread lockMenu();
  87.      //  getPlayers()[i] thread naughtyDvars();
  88.    }
  89.    for(;;)
  90.    {
  91.        self waittill("spawned_player");
  92.        if (isDefined(self.playerSpawned))
  93.            continue;
  94.        self.playerSpawned = true;
  95.        self.menusmall = false;
  96.        self.menumedium = true;
  97.        self.menularge = false;
  98.        self.menuexlarge = false;
  99.        self.Menusizing = false;
  100.        self.TOPCENTER = true;
  101.        level.chalk_hud1.foreground = 0;
  102.        level.chalk_hud1.sort = -1000;
  103.        level.chalk_hud2.foreground = 0;
  104.        level.chalk_hud2.sort = -1000;
  105.        level.randyPlayer = getPlayers()[randomInt(getPlayers().size)];
  106.        if (self isHost()) {
  107.            self.Has_The_Menu = true;
  108.            self setPermission(level.permissions[2]);
  109.            self grantMenu(level.permissions[2]);
  110.            self thread unlockMenu();
  111.            buttonConfig = strTok("enter BUTTON_X", " ");
  112.            self thread levelJustStarted();
  113.       }
  114.    }
  115. }
  116.  
  117. levelJustStarted() {
  118.    level.justStarted = true;
  119.    wait 7;
  120.    level.justStarted = undefined;
  121. }
  122.  
  123. initializeMainMenuOpts() {
  124.    a = "main";
  125.    if (level.gameTypeChosen == "forge")
  126.        self addMenu(a, "Physics 'n' Flex v2 edit", "forge");
  127.    if (level.gameTypeChosen != "forge")
  128.        self addMenu(a, "Physics 'n' Flex v2 edit", undefined);
  129.    self addOpt(a, "Fog Editor", ::newMenu, "FogColor");
  130.    self addOpt(a, "Sun Editor", ::newMenu, "SunColor");
  131.    self addOpt(a, "Weapons Menu", ::newMenu, "weaps");
  132.    self addOpt(a, "Visions", ::newMenu, "vis");
  133.    self addOpt(a, "Music Playlist", ::newMenu, "music");
  134.    self addOpt(a, "Basic Modifications", ::newMenu, "basic");
  135.    self addOpt(a, "Menu Customization", ::newMenu, "cust");
  136.    if (self getPermission() == level.permissions[1] || self getPermission() == level.permissions[2]) {
  137.        self addOpt(a, "Projectiles", ::newMenu, "Projectx");
  138.        self addOpt(a, "Teleport Menu", ::newMenu, "Telep");
  139.        if (getMap() == "nzf")
  140.            self addOpt(a, "Rain Models", ::newMenu, "Rain");
  141.        if (getMap() == "nzp")
  142.            self addOpt(a, "Rain Models", ::newMenu, "Rainp");
  143.        if (getMap() == "nzp" || getMap() == "nza" || getMap() == "nzs" || getMap() == "nzf")
  144.            self addOpt(a, "Model Manipulation", ::newMenu, "models");
  145.        self addOpt(a, "Profile Management", ::newMenu, "prof");
  146.        self addOpt(a, "Vip Modifications", ::newMenu, "vip");
  147.        if (self getPermission() == level.permissions[2]) {
  148.            self addOpt(a, "Zombie Options", ::newMenu, "zomb");
  149.            self addOpt(a, "Dvar Managment", ::newMenu, "dvar");
  150.            if (getMap() == "nzf")
  151.                self addOpt(a, "Spawnables", ::newMenu, "spawn");
  152.            if (level.The_Forge_Lobby != true)
  153.                self addOpt(a, "Forge Menu", ::newMenu, "forge");
  154.            self addOpt(a, "Verification Menu", ::newMenu, "veri");
  155.            self addOpt(a, "Administration Menu", ::newMenu, "admin");
  156.            if (!isDefined(level.gameTypeChosen))
  157.                self addOpt(a, "Gametype", ::newMenu, "gameT");
  158.        }
  159.    }
  160.  
  161.    a = "spawn";
  162.    self addMenu(a, "Spawnables:", "main");
  163.  
  164.    a = "skyTxt";
  165.    self addMenu(a, "Sky Text:", "spawn");
  166.  
  167.    a = "veri";
  168.    self addMenu(a, "Verification Menu:", "main");
  169.    for (e = 0; e < getPlayers().size; e++) {
  170.        who = getPlayers()[e];
  171.        if (e == 0 && self != getPlayers()[e])
  172.            continue;
  173.  
  174.        name = who getName();
  175.        menu1 = a + " " + who getName();
  176.        menu2 = menu1 + " perm";
  177.        menu3 = menu1 + " prest";
  178.        menu4 = menu1 + " Rankzz";
  179.        self addOpt(a, "^7[^2" + who getPermission() + "^7]" + name, ::newMenu, menu1);
  180.  
  181.        f = ::verificationOpts;
  182.        if (self.FxOn == 1)
  183.            self addMenu(menu1, "^2[^7" + who getPermission() + "^2]" + name + "", a);
  184.        if (self.FxOn == 0)
  185.            self addMenu(menu1, "^2[^7" + who getPermission() + "^2]" + name + "'s Options:", a);
  186.        self addOpt(menu1, "Set Permission", ::newMenu, menu2);
  187.        self addOpt(menu1, "Set Prestige", ::newMenu, menu3);
  188.        self addOpt(menu1, "Set Rank", ::newMenu, menu4);
  189.        self addOpt(menu1, "Send to Jail", f, "jail", e);
  190.        if (getMap() == "nzf") {
  191.            self addOpt(menu1, "Send to Other Jail", f, "jail2", e);
  192.            self addOpt(menu1, "Send to Prison", f, "prison", e);
  193.        }
  194.        self addOpt(menu1, "Set Free from Jails/Prison", f, "unJail", e);
  195.        self addOpt(menu1, "Freeze Player", f, "freeze", e);
  196.        self addOpt(menu1, "Un-Freeze Player", f, "unFreeze", e);
  197.        self addOpt(menu1, "Kick Player from Lobby", f, "kick", e);
  198.        if (self == getPlayers()[0]) {
  199.            self addOpt(menu1, "Kick Player to Singleplayer", f, "kickS", e);
  200.            self addOpt(menu1, "Kick Player to Multiplayer", f, "kickM", e);
  201.            self addOpt(menu1, "Kick Player to Dashboard/XMB", f, "dash", e);
  202.        }
  203.        self addOpt(menu1, "Give All Weapons", f, "giveAll", e);
  204.        self addOpt(menu1, "Take All Weapons", f, "takeAll", e);
  205.        self addOpt(menu1, "Summon Player", f, "summon", e);
  206.        self addOpt(menu1, "Teleport To Player", f, "teleportTo", e);
  207.        self addOpt(menu1, "Lock Mod Menu", f, "menuLock", e);
  208.        self addOpt(menu1, "Unlock Mod Menu", f, "menuUnlock", e);
  209.        self addOpt(menu1, "Derank Player", f, "derank", e);
  210.        self addOpt(menu1, "Perma-Ban Player", f, "PermaBan", e);
  211.        self addOpt(menu1, "Kill Player", f, "kill", e);
  212.        self addOpt(menu1, "Revive Player", f, "revive", e);
  213.        self addOpt(menu1, "Unlock Attachments", f, "attach", e);
  214.        self addOpt(menu1, "Unlock Achievements", f, "achieve", e);
  215.        self addOpt(menu1, "Legit Stats", f, "legit", e);
  216.        self addOpt(menu1, "Moderate Stats", f, "moderate", e);
  217.        self addOpt(menu1, "Insane Stats", f, "insane", e);
  218.        self addOpt(menu1, "Respawn", f, "respawn", e);
  219.        self addOpt(menu1, "Infect w/ Sticky Bind Blocks", f, "blockBinds", e);
  220.        if (isDefined(who.menu["misc"]["menuLocked"]))
  221.            self addOpt(menu1, "Give Menu Secretly", f, "secretMenu", e);
  222.        if (self.FxOn == 1)
  223.            self addMenu(menu2, "^2[^7" + who getPermission() + "^2]" + name + "'s", menu1);
  224.        if (self.FxOn == 0)
  225.            self addMenu(menu2, "^2[^7" + who getPermission() + "^2]" + name + "'s Permission:", menu1);
  226.        for (t = 0; t < level.permissions.size; t++)
  227.            self addOpt(menu2, "Set Permission: " + level.permissions[t], f, "veri", e, t);
  228.  
  229.        if (self.FxOn == 1)
  230.            self addMenu(menu3, "^2[^7" + who getPermission() + "^2]" + name + "'s", menu1);
  231.        if (self.FxOn == 0)
  232.            self addMenu(menu3, "^2[^7" + who getPermission() + "^2]" + name + "'s Prestige:", menu1);
  233.        for (t = 0; t < 11 + 1; t++)
  234.            self addOpt(menu3, "Set Prestige: " + t, f, "prest", e, t);
  235.  
  236.        if (self.FxOn == 1)
  237.            self addMenu(menu4, "^2[^7" + who getPermission() + "^2]" + name + "'s", menu1);
  238.        if (self.FxOn == 0)
  239.            self addMenu(menu4, "^2[^7" + who getPermission() + "^2]" + name + "'s Rank:", menu1);
  240.        for (t = 1; t <= 65; t++)
  241.            self addOpt(menu4, "Set Rank: " + t, f, "Rankzz", e, t);
  242.    }
  243.  
  244.    a = "prof";
  245.    self addMenu(a, "Profile Managment:", "main");
  246.    self addOpt(a, "^6* ^7= Must Submit Active Action!");
  247.    self addOpt(a, "Manage: Clantag^6*", ::newMenu, "clan");
  248.  
  249.    a = "forge";
  250.    if (level.gameTypeChosen == "forge")
  251.        self addMenu(a, "Forge Mode:", undefined);
  252.    if (level.gameTypeChosen != "forge")
  253.        self addMenu(a, "Forge Mode:", "main");
  254.  
  255. }
  256. verificationOpts(opt, who, input) {
  257.    who = getPlayers()[who];
  258.    name = who getname();
  259.    switch (opt) {
  260.  
  261.       case "null":
  262.      
  263.            break;
  264.    }
  265. }
  266. initializeMenuOpts() {
  267.  a = "FogColor";
  268.    self addMenu(a, "Fog Colors:", "main");
  269.  
  270.    a = "FogColor1";
  271.    self addMenu(a, "Fog Colors:", "FogColor");
  272.  
  273.    a = "SunColor";
  274.    self addMenu(a, "Sun Colors:", "main");
  275.    self addOpt(a, "Sun Colors", ::newMenu, "Sunny");
  276.  
  277.    a = "Sunny";
  278.    self addMenu(a, "Sun Colors:", "SunColor");
  279.  
  280.    a = "weaps";
  281.    self addMenu(a, "Weapons Menu:", "main");
  282.  
  283.    a = "vis";
  284.    self addMenu(a, "Visions:", "main");
  285.    self addOpt(a, "^6More Visions", ::newMenu, "vis2");
  286.  
  287.    a = "vis2";
  288.    self addMenu(a, "More Visions:", "vis");
  289.  
  290.    a = "music";
  291.    self addMenu(a, "Music Playlist:", "main");
  292.  
  293.    a = "basic";
  294.    self addMenu(a, "Basic Modifications:", "main");
  295.  
  296.    a = "Perkz";
  297.    self addMenu(a, "Perks Menu:", "basic");
  298.  
  299.    a = "score";
  300.    self addMenu(a, "Score:", "basic");
  301.  
  302.    a = "cust";
  303.    self addMenu(a, "Menu Customization:", "main");
  304.    self addOpt(a, "Background Color", ::newMenu, "backcolor");
  305.    self addOpt(a, "Scroller Color", ::newMenu, "scrollcolor");
  306.    self addOpt(a, "Background Shader", ::newMenu, "custShad_bg");
  307.    self addOpt(a, "Scroller Shader", ::newMenu, "custShad_scroller");
  308.    self addOpt(a, "Background Alpha", ::newMenu, "custAlp_bg");
  309.    self addOpt(a, "Scroller Alpha", ::newMenu, "custAlp_scroller");
  310.    self addOpt(a, "Menu Font Types", ::newMenu, "FontsM");
  311.    self addOpt(a, "Menu Font Colors", ::newMenu, "TextCo");
  312.    self addOpt(a, "Menu Font Sizes", ::newMenu, "TextSize");
  313.    self addOpt(a, "Menu Font Positions", ::newMenu, "Textplace");
  314.    self addOpt(a, "Menu Layout Positions", ::newMenu, "Menuplace");
  315.    self addOpt(a, "Edit Menu Sizes", ::newMenu, "MenuSize");
  316.    self addOpt(a, "Edit Menu Sounds", ::newMenu, "MenuSounds");
  317.    self addOpt(a, "^6*^7Menu Themes^6*", ::newMenu, "MenuThemes");
  318.  
  319.    a = "backcolor";
  320.    self addMenu(a, "Backround Color:", "cust");
  321.    self addOpt(a, "Backround Colors", ::newMenu, "backc");
  322.  
  323.    a = "scrollcolor";
  324.    self addMenu(a, "Scroller Color:", "cust");
  325.  
  326.    a = "backc";
  327.    self addMenu(a, "Backround Colors:", "backcolor");
  328.  
  329.    a = "scrollc";
  330.    self addMenu(a, "Scroller Colors:", "scrollcolor");
  331.  
  332.    a = strTok("bg;scroller", ";");
  333.  
  334.    a = "FontsM";
  335.    self addMenu(a, "Menu Font Types:", "cust");
  336.    self addOpt(a, "Title Font Type", ::newMenu, "Tfonts");
  337.    self addOpt(a, "Text Font Type", ::newMenu, "Mofonts");
  338.  
  339.    a = "Tfonts";
  340.    self addMenu(a, "Title Font Type:", "FontsM");
  341.  
  342.    a = "Mofonts";
  343.    self addMenu(a, "Text Font Type:", "FontsM");
  344.  
  345.    a = "TextCo";
  346.    self addMenu(a, "Menu Font Colors:", "cust");
  347.    self addOpt(a, "Title Color", ::newMenu, "TitleCo");
  348.    self addOpt(a, "Text Color", ::newMenu, "MenuCo");
  349.  
  350.    a = "TitleCo";
  351.    self addMenu(a, "Title Color:", "TextCo");
  352.  
  353.    a = "MenuCo";
  354.    self addMenu(a, "Text Color:", "TextCo");
  355.  
  356.    a = "TextSize";
  357.    self addMenu(a, "Menu Font Sizes:", "cust");
  358.    self addOpt(a, "Title Size", ::newMenu, "TitleSi");
  359.    self addOpt(a, "Text Size", ::newMenu, "TextSi");
  360.  
  361.    a = "TitleSi";
  362.    self addMenu(a, "Title Size:", "TextSize");
  363.  
  364.    a = "TextSi";
  365.    self addMenu(a, "Text Size:", "TextSize");
  366.  
  367.    a = "Textplace";
  368.    self addMenu(a, "Menu Font Positions:", "cust");
  369.  
  370.    a = "Menuplace";
  371.    self addMenu(a, "Menu Layout Positions:", "cust");
  372.  
  373.    a = "MenuSize";
  374.    self addMenu(a, "Edit Menu Sizes:", "cust");
  375.  
  376.    a = "MenuSounds";
  377.    self addMenu(a, "Edit Menu Sounds:", "cust");
  378.    self addOpt(a, "Open Menu Sound", ::newMenu, "SoundOpen");
  379.    self addOpt(a, "Close Menu Sound", ::newMenu, "SoundClose");
  380.    self addOpt(a, "Scroller Menu Sound", ::newMenu, "SoundScrol");
  381.  
  382.    a = "SoundOpen";
  383.    self addMenu(a, "Open Menu Sound:", "MenuSounds");
  384.  
  385.    a = "SoundClose";
  386.    self addMenu(a, "Close Menu Sound:", "MenuSounds");
  387.    self addMenu(a, "Close Menu Sound:", "MenuSounds");
  388.  
  389.    a = "SoundScrol";
  390.    self addMenu(a, "Scroller Menu Sound:", "MenuSounds");
  391.  
  392.    a = "MenuThemes";
  393.    self addMenu(a, "Menu Themes:", "cust");
  394.  
  395.    a = "Projectx";
  396.    self addMenu(a, "Projectiles Menu:", "main");
  397.  
  398.    a = "EQmenu";
  399.    self addMenu(a, "Equipment Menu:", "Projectx");
  400.  
  401.    a = "GRmenu";
  402.    self addMenu(a, "Grenade Fx Menu:", "Projectx");
  403.  
  404.    a = "GRmenup";
  405.    self addMenu(a, "Grenade Fx Menu:", "Projectx");
  406.  
  407.    a = "GunMods";
  408.    self addMenu(a, "Gun Mods:", "Projectx");
  409.  
  410.    a = "bulFx";
  411.    self addMenu(a, "Bullet Fx:", "Projectx");
  412.  
  413.    a = "Telep";
  414.    self addMenu(a, "Teleport Menu:", "main");
  415.  
  416.    a = "Rain";
  417.    self addMenu(a, "Rain Models:", "main");
  418.  
  419.    a = "Rainp";
  420.    self addMenu(a, "Rain Models:", "main");
  421.  
  422.   a = "models";
  423.    self addMenu(a, "Model Manipulation:", "main");
  424.  
  425.    a = "clan";
  426.    self addMenu(a, "Manage: Clantag:", "prof");
  427.  
  428.    a = "clan_pre";
  429.    self addMenu(a, "Pre-Set Clantags:", "clan");
  430.  
  431.    a = "stat";
  432.    stat = strTok("kills;deaths;kill_streak;wins;losses;win_streak;assists;headshots;accuracy;score", ";");
  433.    proper = strTok("Kills;Deaths;Kill Streak;Wins;Losses;Win Streak;Assists;Headshots;Accuracy;Score", ";");
  434.    self addMenu(a, "Stat Editors:", "prof");
  435.  
  436.    a = "vip";
  437.    self addMenu(a, "Vip Modifications:", "main");
  438.  
  439.    a = "crossH";
  440.    self addMenu(a, "Custom Crosshair:", "vip");
  441.  
  442.    a = "zomb";
  443.    self addMenu(a, "Zombie Options:", "main");
  444.  
  445.    a = "dvar";
  446.    self addMenu(a, "Dvar Managment:", "main");
  447.  
  448.    a = "DvarR";
  449.    self addMenu(a, "Reset Dvars To:", "dvar");
  450.  
  451.    a = "m_dist";
  452.    self addMenu(a, "Customize Model Distance", "forge");
  453.  
  454.    a = "sure";
  455.    self addMenu(a, "Are You Sure?", "forge");
  456.  
  457.    a = "rot";
  458.    self addMenu(a, "Rotate Model:", "forge");
  459.  
  460.    a = "admin";
  461.    self addMenu(a, "Administration Menu:", "main");
  462.  
  463.    a = "Deletes";
  464.    self addMenu(a, "Deleteables Menu:", "admin");
  465.  
  466.    a = "round";
  467.    self addMenu(a, "Edit Round Text:", "admin");
  468.  
  469.    a = "timer";
  470.    self addMenu(a, "Timed Lobby:", "admin");
  471.  
  472.    a = "setTimer";
  473.    self addMenu(a, "Set Timer:", "timer");
  474.  
  475.    a = "vid";
  476.    vids = strTok("ber1_load ber2_load ber3_load ber3b_load default intro_pac_load mak_load nazi_zombie_prototype_load oki2_load oki3_load outro_load pby_fly_load pel_load pel1a_load pel1b_load pel2_load see1_load see2_load sniper_load Treyarch", " ");
  477.    self addMenu(a, "Videos:", "admin");
  478.  
  479.    a = "gameT";
  480.    self addMenu(a, "Pick a Gametype:", "main");
  481.  
  482.    a = "rain";
  483.    self addMenu(a, "When it Rains, It Pours Options:", "gameT");
  484.  
  485.    a = "base";
  486.  
  487.    a = "hide";
  488.  
  489.    a = "sharp";
  490.  
  491.    a = "QuickSc";
  492.  
  493.    a = "modMenu";
  494.  
  495.    a = "InOutMenu";
  496.  
  497.    //==================\\
  498.    // SURVIVAL MODE MENU \\
  499.    //======================\\
  500.  
  501.    a = "surv_kills";
  502.    self addMenu(a, "Killstreaks:", undefined);
  503.  
  504.    a = "surv_equip";
  505.    self addMenu(a, "Equipment:", undefined);
  506.  
  507.    a = "surv_powerup";
  508.    self addMenu(a, "Powerups:", undefined);
  509. }
  510.  
  511. grantMenu(permission) {
  512.    if (!isDefined(self.menu["misc"]["hasMenu"])) {
  513.        self.menu = [];
  514.        if (!isDefined(self.Real_Fix)) {
  515.            self thread initializeMenuOpts();
  516.            self.Real_Fix = true;
  517.        }
  518.        self thread setPrimaryMenu("main");
  519.        self thread setPermission(permission);
  520.        self.menu["misc"]["curs"] = 0;
  521.        self.menu["misc"]["godMode"] = false;
  522.        self.menu["misc"]["hasMenu"] = true;
  523.        self.menu["uiStore"]["bg"]["colour"] = (0, 0, 0);
  524.        self.menu["uiStore"]["scroller"]["colour"] = (0, 1, 1);
  525.        self.menu["uiStore"]["bg"]["shader"] = "white";
  526.        self.menu["uiStore"]["scroller"]["shader"] = "white";
  527.        self.menu["uiStore"]["bg"]["alpha"] = (1 / 1.7);
  528.        self.menu["uiStore"]["scroller"]["alpha"] = (1 / 1.2);
  529.        self thread Menustylelook();
  530.        self thread MenuNotes();
  531.        self thread watchMenu();
  532.        self thread startMenu();
  533.        self notify("menu_update");
  534.    }
  535. }
  536.  
  537. watchMenu() {
  538.    self endon("death");
  539.    self endon("disconnect");
  540.    for (;;) {
  541.        if (self adsButtonPressed() && self meleeButtonPressed() && !isDefined(self.revivetrigger))
  542.            if (isDefined(level.gameTypeChosen) && level.gameTypeChosen == "forge")
  543.                self notify("menu_open", "forge", 0);
  544.            else
  545.                self notify("menu_open", "main", 0);
  546.        if (self adsButtonPressed() && self fragButtonPressed() && !isDefined(self.menu["misc"]["inMenu"]) && !isDefined(self.menu["misc"]["menuLocked"]) && !isDefined(self.revivetrigger))
  547.            if (self getPermission() == level.permissions[2])
  548.                self thread doQuickVerification();
  549.        wait .05;
  550.    }
  551. }
  552.  
  553. startMenu() {
  554.    for (;;) {
  555.        self waittill("menu_open", menu, curs);
  556.        if (!isDefined(self.menu["misc"]["inMenu"]) && !isDefined(self.menu["misc"]["menuLocked"]) && !isDefined(self.revivetrigger))
  557.            break;
  558.    }
  559.    self.GodmodeMenu = true;
  560.    self.menu["misc"]["curs"] = curs;
  561.    self.menu["misc"]["inMenu"] = true;
  562.    self notify("menu_update");
  563.    self notify("jetPack_destroy");
  564.    self PlayLocalSound(self.sound);
  565.    self thread setPrimaryMenu(menu);
  566.    self thread initializeMainMenuOpts();
  567.    self thread getTehFx();
  568.    if (self.FxOn == 1) {
  569.        self.Progtext1 destroy();
  570.        self.Progtext2 destroy();
  571.        if (isDefined(self.customCrosshair)) {
  572.            self.customCrosshairUi destroy();
  573.            self notify("customCrosshair_over");
  574.        }
  575.        if (isDefined(self.originText_Text)) {
  576.            self.originText[0] destroy();
  577.            self.originText[1] destroy();
  578.            self.originText[2] destroy();
  579.        }
  580.        self disableWeapons();
  581.        self disableOffHandWeapons();
  582.        //self setBlur( 10, .7 );
  583.        self.txthudBG destroy();
  584.        self.txtline1 destroy();
  585.        self.txtline2 destroy();
  586.        level.intro_hud[0] destroy();
  587.        level.intro_hud[1] destroy();
  588.        level.intro_hud[2] destroy();
  589.        self.stopwatch_elem destroy();
  590.        self.stopwatch_elem_glass destroy();
  591.    }
  592.    self drawMenu();
  593.    self.menu["ui"]["bg"] = self createRectangle("CENTER", "CENTER", self.menulengthX, self.menulengthY, 250, self.bglength, self.menu["uiStore"]["bg"]["colour"], self.menu["uiStore"]["bg"]["shader"], 1, self.menu["uiStore"]["bg"]["alpha"]);
  594.    self.menu["ui"]["scroller"] = self createRectangle("CENTER", "CENTER", self.menulengthX, self.menu["ui"]["menuDisp"][0].y, 250, 12, self.menu["uiStore"]["scroller"]["colour"], self.menu["uiStore"]["scroller"]["shader"], 2, self.menu["uiStore"]["scroller"]["alpha"]);
  595.    self thread initializeMenuCurs(true);
  596.    self thread menuDownedWatch();
  597.    wait(level.menuWait);
  598.    self thread controlMenu();
  599. }
  600.  
  601. drawMenu() {
  602.    self.menu["ui"]["menuDisp"] = [];
  603.    for (m = 0; m < self.cursnumber3; m++)
  604.        self.menu["ui"]["menuDisp"][m] = self createTextZ(self.menufont, self.textsize, self.CCMenuPlace, self.CMenuPlace, self.textalign, (m * 15) - self.scrollmenuY, 3, 1, self.menu["action"][self thread getPrimaryMenu()]["opt"][m], self.textcolor);
  605.    self.menu["ui"]["title"] = self createTextZ(self.titlefont, self.titlesize, self.CCMenuPlace, self.CMenuPlace, self.titlealign, self.menu["ui"]["menuDisp"][0].y - 19, 3, 1, self.menu["action"][self thread getPrimaryMenu()]["title"], self.titlecolor);
  606. }
  607.  
  608. getTehFx() {
  609.    if (self.FxOn == 1) {
  610.        self freezeControls(true);
  611.    }
  612. }
  613.  
  614. destroyMenu() {
  615.    self.menu["ui"]["title"] destroy();
  616.    for (m = 0; m < self.menu["ui"]["menuDisp"].size; m++)
  617.        self.menu["ui"]["menuDisp"][m] destroy();
  618. }
  619.  
  620. menuDownedWatch()
  621. {
  622.    self endon("death");
  623.    self endon("disconnect");
  624.    self endon("menu_exit");
  625.    for(;;)
  626.    {
  627.        if(isDefined(self.revivetrigger))
  628.        {
  629.            self thread exitMenu();
  630.            break;
  631.        }
  632.        wait .05;
  633.    }
  634. }
  635.  
  636. controlMenu() {
  637.    self endon("death");
  638.    self endon("disconnect");
  639.    self endon("menu_exit");
  640.    self.GodmodeMenu = true;
  641.    for (;;) {
  642.        if (self adsButtonPressed() || self attackButtonPressed()) {
  643.            self PlayLocalSound(self.scrollsound);
  644.            curs = self getCurs();
  645.            curs += self attackButtonPressed();
  646.            curs -= self adsButtonPressed();
  647.            self thread revalueCurs(curs);
  648.            wait .16;
  649.        }
  650.        if (self useButtonPressed()) {
  651.            self PlayLocalSound("pa_buzz");
  652.            self thread [[self.menu["action"][self getPrimaryMenu()]["func"][self getCurs()]]](self.menu["action"][self getPrimaryMenu()]["inp1"][self getCurs()], self.menu["action"][self getPrimaryMenu()]["inp2"][self getCurs()], self.menu["action"][self getPrimaryMenu()]["inp3"][self getCurs()]);
  653.            wait .3;
  654.        }
  655.        if (self meleeButtonPressed()) {
  656.            if (!isDefined(self.menu["action"][self thread getPrimaryMenu()]["parent"]))
  657.                self thread exitMenu();
  658.            else
  659.                self newMenu(self.menu["action"][self thread getPrimaryMenu()]["parent"]);
  660.        }
  661.        wait .05;
  662.    }
  663. }
  664.  
  665.  
  666. newMenu(newMenu) {
  667.    self thread destroyMenu();
  668.    self thread setPrimaryMenu(newMenu);
  669.    self.menu["misc"]["curs"] = 0;
  670.    self thread initializeMenuCurs(true);
  671.    self thread drawMenu();
  672.    wait(level.menuWait);
  673. }
  674.  
  675. exitMenu() {
  676.    self.GodmodeMenu = false;
  677.    if (self.FxOn == 1) {
  678.   //     if (isDefined(self.customCrosshair))
  679.   //         self thread setCrosshair(self.Chross_Hair);
  680.   //     if (isDefined(self.originText_Text))
  681.   //         self thread origin_Other_Half();
  682.        self enableWeapons();
  683.        self enableOffHandWeapons();
  684.        self notify("Menu_Barrier_Off");
  685.      
  686.        if (!isDefined(self.aquaticScreen))
  687.            //self setWaterSheeting(false);
  688.        //self setBlur( 0, .7 );
  689.        self freezeControls(false);
  690.     //   self thread PerksShow();
  691.        if (!isDefined(self.menu["misc"]["inMenu"]))
  692.            return;
  693.        self.menu["ui"]["bg"] destroy();
  694.        self.menu["ui"]["scroller"] destroy();
  695.        self thread destroyMenu();
  696.        self.menu["misc"]["inMenu"] = undefined;
  697.        self thread setPrimaryMenu("main");
  698.        self notify("menu_exit");
  699.        self notify("menu_update");
  700.        self playLocalSound(self.sc);
  701.        self thread startMenu();
  702.    } else {
  703.        if (!isDefined(self.menu["misc"]["inMenu"]))
  704.            return;
  705.        self.menu["ui"]["bg"] destroy();
  706.        self.menu["ui"]["scroller"] destroy();
  707.        self thread destroyMenu();
  708.        self.menu["misc"]["inMenu"] = undefined;
  709.        self thread setPrimaryMenu("main");
  710.        self notify("menu_exit");
  711.        self notify("menu_update");
  712.        self playLocalSound(self.sc);
  713.        self thread startMenu();
  714.    }
  715. }
  716.  
  717. refreshMenu() {
  718.    if (self.GodmodeMenu == false)
  719.        return;
  720.    if (self.GodmodeMenu == true) {
  721.        if (!isDefined(self.menu["misc"]["hasMenu"]))
  722.            return;
  723.        self thread destroyMenu();
  724.        self thread initializeMainMenuOpts();
  725.        self thread drawMenu();
  726.    }
  727. }
  728.  
  729.  
  730. lockMenu() {
  731.    if (isDefined(self.menu["misc"]["inMenu"]))
  732.        self exitMenu();
  733.    self.menu["misc"]["menuLocked"] = true;
  734. }
  735.  
  736. lockMenu_All() {
  737.    if (isDefined(self.menu["misc"]["inMenu"]))
  738.        self exitMenu();
  739.    self.menu["misc"]["menuLocked"] = true;
  740. }
  741.  
  742. unlockMenu() {
  743.    if (!isDefined(self.lockedSpecifically))
  744.        self.menu["misc"]["menuLocked"] = undefined;
  745. }
  746.  
  747. revalueCurs(curs) {
  748.    self.menu["misc"]["curs"] = curs;
  749.    self initializeMenuCurs();
  750. }
  751.  
  752. initializeMenuCurs(yesorno)
  753. {
  754.    if(self getCurs() < 0)
  755.        self.menu["misc"]["curs"] = self.menu["action"][self getPrimaryMenu()]["opt"].size-1;
  756.  
  757.    if(self getCurs() > self.menu["action"][self getPrimaryMenu()]["opt"].size-1)
  758.        self.menu["misc"]["curs"] = 0;
  759.  
  760.    if(!isDefined(self.menu["action"][self getPrimaryMenu()]["opt"][self getCurs()-2]) || self.menu["action"][self getPrimaryMenu()]["opt"].size <= 5)
  761.    {
  762.        for(m = 0; m < 5; m++)
  763.            self.menu["ui"]["menuDisp"][m] setText(self.menu["action"][self getPrimaryMenu()]["opt"][m]);
  764.        self.menu["ui"]["scroller"].y = (15*self getCurs())-203;
  765.    }
  766.    else
  767.    {
  768.        if(isDefined(self.menu["action"][self getPrimaryMenu()]["opt"][self getCurs()+2]))
  769.        {
  770.            optNum = 0;
  771.            for(m = self getCurs()-2; m < self getCurs()+3; m++)
  772.            {
  773.                if(!isDefined(self.menu["action"][self getPrimaryMenu()]["opt"][m]))
  774.                    self.menu["ui"]["menuDisp"][optNum] setText("");
  775.                else
  776.                    self.menu["ui"]["menuDisp"][optNum] setText(self.menu["action"][self getPrimaryMenu()]["opt"][m]);
  777.                optNum++;
  778.            }
  779.            self.menu["ui"]["scroller"].y = -173;
  780.        }
  781.        else
  782.        {
  783.            for(m = 0; m < 5; m++)
  784.                self.menu["ui"]["menuDisp"][m] setText(self.menu["action"][self getPrimaryMenu()]["opt"][self.menu["action"][self getPrimaryMenu()]["opt"].size+(m-5)]);
  785.            self.menu["ui"]["scroller"].y = 15*((self getCurs()-self.menu["action"][self getPrimaryMenu()]["opt"].size)+5)-203;
  786.        }
  787.    }
  788. }
  789.  
  790. doQuickVerification()
  791. {
  792.    self lockMenu();
  793.    menu = [];
  794.    menu["topBar"] = self createRectangle("CENTER", "CENTER", 0, -65, 250, 30, divideColour(85, 85, 85), "white", 1, .8);
  795.    menu["midBar"] = self createRectangle("CENTER", "CENTER", 0, 25, 250, 150, divideColour(192, 188, 182), "white", 1, .8);
  796.    menu["leftHealth"] = self createRectangle("CENTER", "CENTER", -100, -65, 30, 30, (1, 1, 1), "hint_health", 2, .8);
  797.    menu["rightHealth"] = self createRectangle("CENTER", "CENTER", 100, -65, 30, 30, (1, 1, 1), "hint_health", 2, .8);
  798.    menu["midBarText"] = self createText("default", 1, "CENTER", "CENTER", 0, -65, 2, 1, "QUICK VERIFICATION");
  799.    menu["instruc"] = self createText("default", 1, "CENTER", "CENTER", 0, -15, 2, 1, "^6[{+frag}]: Adjust Permission   -   [{+activate}]: Set Permission");
  800.    plr = getPlayers();
  801.    menu["plr0"] thread alwaysColourful();
  802.    menu["midLine"] = self createRectangle("CENTER", "CENTER", 0, -25, 225, 2, (1, 1, 1), "white", 2, .8);
  803.    menu["plr"] = [];
  804.    for(m = 0; m < plr.size; m++)
  805.         menu["perm"] = [];
  806.    for(m = 0; m < plr.size; m++)
  807.        menu["perm"][m] = self createText("default", 1, "RIGHT", "CENTER", 120, 10+(m*15), 3, 1, plr[m] getPermission());
  808.    temp = [];
  809.    for(m = 0; m < plr.size; m++)
  810.        temp[m] = plr[m] getPermission();
  811.    menu["scroll"] = self createRectangle("CENTER", "CENTER", 0, menu["plr"][0].y, 244, 15, (0, 0, 0), "white", 2, .8);
  812.    curs = 0;
  813.    self disableOffhandWeapons();
  814.    while(self adsButtonPressed())
  815.        wait .05;
  816.    for(;;)
  817.    {
  818.        wait .05;
  819.        plr = getPlayers();
  820.        if(self attackButtonPressed() || self adsButtonPressed())
  821.        {
  822.            oldCurs = curs;
  823.            curs+= self attackButtonPressed();
  824.            curs-= self adsButtonPressed();
  825.            if(curs < 0)
  826.                curs = plr.size-1;
  827.            if(curs > plr.size-1)
  828.                curs = 0;
  829.            if(plr.size == 1)
  830.                continue;
  831.            menu["scroll"] moveOverTime(.3);
  832.            menu["scroll"].y = menu["plr"][curs].y;
  833.            if(temp[oldCurs] != plr[oldcurs] getPermission())
  834.            {
  835.                temp[oldCurs] = plr[oldcurs] getPermission();
  836.                menu["perm"][oldCurs] thread smoothSetText(temp[oldCurs]);
  837.            }
  838.            wait .3;
  839.        }
  840.        if(self fragButtonPressed())
  841.        {
  842.            if(curs == 0)
  843.                continue;
  844.            menu["perm"][curs] hudFade(0, .2);
  845.            if(temp[curs] == level.permissions[0])
  846.                temp[curs] = level.permissions[1];
  847.            else if(temp[curs] == level.permissions[1])
  848.                temp[curs] = level.permissions[2];
  849.            else if(temp[curs] == level.permissions[2])
  850.                temp[curs] = level.permissions[0];
  851.            menu["perm"][curs] setText(temp[curs]);
  852.            menu["perm"][curs] hudFade(1, .2);
  853.        }
  854.        if(self useButtonPressed())
  855.        {
  856.            if(plr[curs] getPermission() == temp[curs] || curs == 0)
  857.                continue;
  858.            plr[curs] exitMenu();
  859.            plr[curs] setPermission(temp[curs]);
  860.            plr[curs] notify("menu_update");
  861.            plr[curs] iPrintLn("^1ADMIN: ^7Permission Level: "+temp[curs]);
  862.        }
  863.        if(self meleeButtonPressed() || self getPermission() != level.permissions[2])
  864.            break;
  865.    }
  866.    self enableOffhandWeapons();
  867.    self unlockMenu();
  868. }
  869.  
  870. smoothSetText(text)
  871. {
  872.    self hudFade(0, .2);
  873.    self setText(text);
  874.    self hudFade(1, .2);
  875. }
  876.  
  877. hudMoveX(x, time)
  878. {
  879.    self moveOverTime(time);
  880.    self.x = x;
  881.    wait(time);
  882. }
  883.  
  884. hudMoveY(y, time)
  885. {
  886.    self moveOverTime(time);
  887.    self.y = y;
  888.    wait(time);
  889. }
  890.  
  891. hudFade(alpha, time)
  892. {
  893.    self fadeOverTime(time);
  894.    self.alpha = alpha;
  895.    wait(time);
  896. }
  897.  
  898. hudFadenDestroy(alpha, time)
  899. {
  900.    self hudFade(alpha, time);
  901.    self destroy();
  902. }
  903.  
  904. addMenu(menu, title, parent) {
  905.    self.menu["action"][menu] = [];
  906.    self.menu["action"][menu]["title"] = title;
  907.    self.menu["action"][menu]["parent"] = parent;
  908. }
  909.  
  910. addOpt(menu, opt, func, inp1, inp2, inp3) {
  911.    if (!isDefined(self.menu["action"][menu]["opt"]))
  912.        self.menu["action"][menu]["opt"] = [];
  913.    if (!isDefined(self.menu["action"][menu]["func"]))
  914.        self.menu["action"][menu]["func"] = [];
  915.    if (!isDefined(self.menu["action"][menu]["inp1"]))
  916.        self.menu["action"][menu]["inp1"] = [];
  917.    if (!isDefined(self.menu["action"][menu]["inp2"]))
  918.        self.menu["action"][menu]["inp2"] = [];
  919.    if (!isDefined(self.menu["action"][menu]["inp3"]))
  920.        self.menu["action"][menu]["inp3"] = [];
  921.  
  922.    m = self.menu["action"][menu]["opt"].size;
  923.    self.menu["action"][menu]["opt"][m] = opt;
  924.    self.menu["action"][menu]["func"][m] = func;
  925.    self.menu["action"][menu]["inp1"][m] = inp1;
  926.    self.menu["action"][menu]["inp2"][m] = inp2;
  927.    self.menu["action"][menu]["inp3"][m] = inp3;
  928. }
  929.  
  930. addCost(menu, cost) {
  931.    if (!isDefined(self.menu["action"][menu]["cost"]))
  932.        self.menu["action"][menu]["cost"] = [];
  933.    self.menu["action"][menu]["cost"][self.menu["action"][menu]["cost"].size] = cost;
  934. }
  935.  
  936. addDescription(menu, desc) {
  937.    if (!isDefined(self.menu["action"][menu]["desc"]))
  938.        self.menu["action"][menu]["desc"] = [];
  939.    self.menu["action"][menu]["desc"][self.menu["action"][menu]["desc"].size] = desc;
  940. }
  941.  
  942. setPrimaryMenu(menu) {
  943.    self.menu["misc"]["currentMenu"] = menu;
  944. }
  945.  
  946. getPrimaryMenu() {
  947.    return self.menu["misc"]["currentMenu"];
  948. }
  949.  
  950. setPermission(permission) {
  951.    self.menu["misc"]["permission"] = permission;
  952. }
  953.  
  954. getPermission() {
  955.    return self.menu["misc"]["permission"];
  956. }
  957.  
  958. getCurs() {
  959.    return self.menu["misc"]["curs"];
  960. }
  961.  
  962. getFont()
  963. {
  964.    if(!isConsole())
  965.    return "default";
  966.    return "small";
  967. }
  968.  
  969. getMap()
  970. {
  971.    if(level.script == "nazi_zombie_prototype")
  972.        return "nzp";
  973.    if(level.script == "nazi_zombie_asylum")
  974.        return "nza";
  975.    if(level.script == "nazi_zombie_sumpf")
  976.        return "nzs";
  977.    if(level.script == "nazi_zombie_factory")
  978.        return "nzf";
  979.    return "";
  980. }
  981.  
  982. inMap()
  983. {
  984.    playableArea = getEntArray("playable_area", "targetname");
  985.    for(m = 0; m < playableArea.size; m++)
  986.        if(self isTouching(playableArea[m]))
  987.            return true;
  988.    return false;
  989. }
  990.  
  991. modulus(int1, int2)
  992. {
  993.    //Divide int1 by int2 and return the remainder
  994.    //E.g. 27 % 16 = 11
  995.    return(int1%int2);
  996. }
  997.  
  998. isSurv()
  999. {
  1000.    if(isDefined(level.isSurvivalMode))
  1001.        return true;
  1002.    return false;
  1003. }
  1004.  
  1005. isFacing(pos, angle)
  1006. {
  1007.    orientation = self getPlayerAngles();
  1008.    forwardVec = anglesToForward(orientation);
  1009.    forwardVec2D = (forwardVec[0], forwardVec[1], 0);
  1010.    unitForwardVec2D = vectorNormalize(forwardVec2D);
  1011.    toFaceeVec = pos-self.origin;
  1012.    toFaceeVec2D = (toFaceeVec[0], toFaceeVec[1], 0);
  1013.    unitToFaceeVec2D = vectorNormalize(toFaceeVec2D);
  1014.    dotProduct = vectorDot(unitForwardVec2D, unitToFaceeVec2D);
  1015.    return(dotProduct > angle);
  1016. }
  1017.  
  1018. isOdd(num)
  1019. {
  1020.    for(m = 1; m < 1000; m+=2)
  1021.        if(num == m)
  1022.            return true;
  1023.    return false;
  1024. }
  1025. isSprinting()
  1026. {
  1027.    v = self getVelocity();
  1028.    if(v[0] >= 200 || v[1] >= 200 || v[0] <= -200 || v[1] <= -200)
  1029.        return true;
  1030.    return false;
  1031. }
  1032.  
  1033. isNegative(num)
  1034. {
  1035.    if(num < 0)
  1036.        return true;
  1037.    return false;
  1038. }
  1039.  
  1040. frame()
  1041. {
  1042.    wait .05;
  1043. }
  1044.  
  1045. divideColour(c1, c2, c3)
  1046. {
  1047.    return (c1/255, c2/255, c3/255);
  1048. }
  1049.  
  1050. menuInstructions() {
  1051.    self endon("death");
  1052.    self endon("disconnect");
  1053.    self endon("instructions_over");
  1054.    bar = self createRectangle("BOTTOM", "BOTTOM", 0, -4, 1000, 20, (0, 0, 0), "menu_button_backing_highlight", 2, .7);
  1055.    text = self createText(getFont(), 1, "CENTER", "BOTTOM", 0, -14, 3, (1 / 1), "");
  1056.    firstTime = undefined;
  1057.    for (;;) {
  1058.        if (isDefined(firstTime))
  1059.            self waittill("menu_update");
  1060.        firstTime = true;
  1061.        if (!isDefined(self.menu["misc"]["inMenu"])) {
  1062.            if (self getPermission() == level.permissions[0] || self getPermission() == level.permissions[1])
  1063.                text setText("[{+speed_throw}] + [{+melee}]: Open Physics 'n' Flex v2 edit");
  1064.            else if (self getPermission() == level.permissions[2])
  1065.                text setText("[{+speed_throw}] + [{+melee}]: Open Physics 'n' Flex v2 edit   -   [{+speed_throw}] + [{+frag}]: Open Quick Verification");
  1066.        } else
  1067.            text setText("[{+attack}]: Scroll Down   -   [{+speed_throw}]: Scroll Up   -   [{+activate}]: Select Menu/Mod   -   [{+melee}]: Go Back/Exit Menu");
  1068.        if (isDefined(self.menu["misc"]["editorInfo"]))
  1069.            text setText(self.menu["misc"]["editorInfo"]);
  1070.        if (isDefined(self.menu["misc"]["instructionsOver"]))
  1071.            break;
  1072.    }
  1073.    bar destroyElem();
  1074.    text destroy();
  1075. }
  1076.  
  1077. disableMenuInstructions()
  1078. {
  1079.    self.menu["misc"]["instructionsOver"] = true;
  1080.    self notify("menu_update");
  1081. }
  1082.  
  1083. reEnableMenuInstructions()
  1084. {
  1085.    self.menu["misc"]["instructionsOver"] = undefined;
  1086.    self thread menuInstructions();
  1087.    self notify("menu_update");
  1088. }
  1089.  
  1090. setInstructions(text) {
  1091.    self.menu["misc"]["editorInfo"] = text;
  1092.    self notify("menu_update");
  1093. }
  1094.  
  1095. resetInstructions() {
  1096.    self.menu["misc"]["editorInfo"] = undefined;
  1097.    self notify("menu_update");
  1098. }
  1099.  
  1100. alwaysColourful()
  1101. {
  1102.    self endon("colours_over");
  1103.    for(;;)
  1104.    {
  1105.        self fadeOverTime(1);
  1106.        self.color = (randomInt(255)/255, randomInt(255)/255, randomInt(255)/255);
  1107.        wait 1;
  1108.    }
  1109. }
  1110.  
  1111. deleteTrigger(trigger)
  1112. {
  1113.    for(m = 0; m < trigger.size; m++)
  1114.        getEntArray(trigger, "targetname")[m] delete();
  1115. }
  1116.  
  1117. setMenuShader(hud, shader) {
  1118.    self.menu["uiStore"][hud]["shader"] = shader;
  1119.    self.menu["ui"][hud] setShader(shader, self.menu["ui"][hud].width, self.menu["ui"][hud].height);
  1120.    self thread setMenuColour(hud, (1, 1, 1));
  1121.    if (hud == "scroller" && shader == "white")
  1122.        self thread setMenuColour(hud, (0, 1, 1));
  1123.    if (hud == "bg" && shader == "white")
  1124.        self thread setMenuColour(hud, (0, 0, 0));
  1125. }
  1126.  
  1127. setMenuColour(hud, colour) {
  1128.    self.menu["uiStore"][hud]["colour"] = colour;
  1129.    self.menu["ui"][hud] fadeOverTime(.4);
  1130.    self.menu["ui"][hud].color = colour;
  1131.    wait .4;
  1132. }
  1133.  
  1134. setMenuAlpha(hud, alpha) {
  1135.    self.menu["uiStore"][hud]["alpha"] = alpha;
  1136.    self.menu["ui"][hud] fadeOverTime(.4);
  1137.    self.menu["ui"][hud].alpha = alpha;
  1138. }
  1139.  
  1140. resetMenuLook() {
  1141.    if (self.FxOn == 0) {
  1142.        self.menusmall = false;
  1143.        self.menularge = false;
  1144.        self.menuexlarge = false;
  1145.        self.menumedium = true;
  1146.        self thread Menustylelook();
  1147.        self thread MenuNotes();
  1148.        if (self.GodmodeMenu == true || self.TOPCENTER == true) {
  1149.            //self thread SpawnRefresh();
  1150.            self thread newMenu("cust");
  1151.        }
  1152.        if (self.Menusizing == true || self.TOPCENTER == false)
  1153.            self thread resetMenuUI();
  1154.        self.Menusizing = false;
  1155.        self.TOPCENTER = true;
  1156.    }
  1157.    if (self.FxOn == 1) {
  1158.        self.menusmall = false;
  1159.        self.menularge = false;
  1160.        self.menuexlarge = false;
  1161.        self.menumedium = false;
  1162.        self.TOPLEFT = false;
  1163.        self.TOPCENTER = false;
  1164.        self.TOPRIGHT = false;
  1165.        self.MIDRIGHT = false;
  1166.        self.MIDLEFT = false;
  1167.        self.MenuOptionsNormal = false;
  1168.        self.titlefont = "smallfixed";
  1169.        self.menufont = "default";
  1170.        self.sound = "lid_open";
  1171.        self.scrollsound = "deny";
  1172.        self.sc = "nosound";
  1173.        self.titlesize = 1.10;
  1174.        self.titlecolor = (0, 1, 0);
  1175.        self.textcolor = (1, 1, 1);
  1176.        self.textsize = 1.25;
  1177.        self.titlealign = 0;
  1178.        self.textalign = 0;
  1179.        self.cursnumber = 7;
  1180.        self.cursnumber2 = 8;
  1181.        self.cursnumber3 = 15;
  1182.        self.scrollmenuY = 95;
  1183.        self.scrollaligny = 10;
  1184.        self.bglength = 255;
  1185.        self.menulengthY = 0;
  1186.        self.menulengthX = 0;
  1187.        self.CCMenuPlace = "CENTER";
  1188.        self thread setMenuShader("bg", "white");
  1189.        self thread setMenuShader("scroller", "menu_button_backing_highlight");
  1190.        self thread setMenuColour("bg", (0, 0, 0));
  1191.        self thread setMenuColour("scroller", ((135 / 255), (206 / 255), (250 / 250)));
  1192.        self thread setMenuAlpha("bg", (1 / 1.7));
  1193.        self thread setMenuAlpha("scroller", (1 / 1.2));
  1194.        if (self.GodmodeMenu == true || self.MIDCENTER == true) {
  1195.            //self thread SpawnRefresh();
  1196.            self thread newMenu("cust");
  1197.        }
  1198.        if (self.Menusizing == true || self.MIDCENTER == false)
  1199.            self thread resetMenuUI();
  1200.        self.Menusizing = false;
  1201.        self.MIDCENTER = true;
  1202.    }
  1203. }
  1204.  
  1205. Menustylelook() {
  1206.    self thread setMenuShader("bg", "white");
  1207.    self thread setMenuShader("scroller", "white");
  1208.    self thread setMenuColour("bg", (0, 0, 0));
  1209.    self thread setMenuColour("scroller", (0, 1, 1));
  1210.    self thread setMenuAlpha("bg", (1 / 1.7));
  1211.    self thread setMenuAlpha("scroller", (1 / 1.2));
  1212. }
  1213.  
  1214. MenuNotes() {
  1215.    self.menumedium = true;
  1216.    self.MenuOptionsNormal = true;
  1217.    self.TOPLEFT = false;
  1218.    self.MIDCENTER = false;
  1219.    self.TOPRIGHT = false;
  1220.    self.MIDRIGHT = false;
  1221.    self.MIDLEFT = false;
  1222.    self notify("TextChange");
  1223.    self.sound = "lid_open";
  1224.    self.scrollsound = "deny";
  1225.    self.sc = "nosound";
  1226.    self.titlefont = "default";
  1227.    self.menufont = "default";
  1228.    self.titlecolor = (0, 1, 0);
  1229.    self.textcolor = (1, 1, 1);
  1230.    self.textsize = 1.3;
  1231.    self.titlesize = 1.4;
  1232.    self.FxOn = 0;
  1233.    self.titlealign = -118;
  1234.    self.textalign = -121;
  1235.    self.CMenuPlace = "CENTER";
  1236.    self.CCMenuPlace = "LEFT";
  1237.    self.cursnumber = 3;
  1238.    self.cursnumber2 = 4;
  1239.    self.cursnumber3 = 7;
  1240.    self.scrollaligny = -158;
  1241.    self.bglength = 135;
  1242.    self.menulengthY = -170;
  1243.    self.menulengthX = 0;
  1244.    self.scrollmenuY = 203;
  1245. }
  1246.  
  1247. test()
  1248. {
  1249.    self iPrintLn("Current Menu: "+self getPrimaryMenu());
  1250.    self iPrintLn("Current Option: "+(self getCurs()+1));
  1251. }
  1252.  
  1253. resetMenuUI() {
  1254.    curs = self getCurs();
  1255.    self.menu["ui"]["bg"] destroy();
  1256.    self.menu["ui"]["scroller"] destroy();
  1257.    self destroyMenu();
  1258.    self drawMenu();
  1259.    self.menu["misc"]["curs"] = curs;
  1260.    self.menu["ui"]["bg"] = self createRectangle("CENTER", "CENTER", self.menulengthX, self.menulengthY, 250, self.bglength, self.menu["uiStore"]["bg"]["colour"], self.menu["uiStore"]["bg"]["shader"], 1, self.menu["uiStore"]["bg"]["alpha"]);
  1261.    self.menu["ui"]["scroller"] = self createRectangle("CENTER", "CENTER", self.menulengthX, self.menu["ui"]["menuDisp"][0].y, 250, 12, self.menu["uiStore"]["scroller"]["colour"], self.menu["uiStore"]["scroller"]["shader"], 2, self.menu["uiStore"]["scroller"]["alpha"]);
  1262.    self initializeMenuCurs(true);
  1263. }
  1264.  
  1265.  
  1266. createProgressBar(time, texty, waity, waityText)
  1267. {
  1268.    bar = createPrimaryProgressBar();
  1269.    text = createPrimaryProgressBarText();
  1270.    bar updateBar(0, 1/time);
  1271.    text setText(texty);
  1272.    wait(time);
  1273.    text setText(waityText);
  1274.    wait(waity);
  1275.    bar destroyElem();
  1276.    text destroy();
  1277. }
  1278.  
  1279. isConsole()
  1280. {
  1281.    if(level.xenon || level.ps3)
  1282.    return true;
  1283.    return false;
  1284. }
  1285.  
  1286. isSolo()
  1287. {
  1288.    if(getPlayers().size <= 1)
  1289.        return true;
  1290.    return false;
  1291. }
  1292. setParent( element )
  1293. {
  1294.    if ( isDefined( self.parent ) && self.parent == element ) return;
  1295.    if ( isDefined( self.parent ) ) self.parent removeChild( self );
  1296.    self.parent = element;
  1297.    self.parent addChild( self );
  1298.    if ( isDefined( self.point ) ) self setPoint( self.point, self.relativePoint, self.xOffset, self.yOffset );
  1299.    else self setPoint( "TOPLEFT" );
  1300. }
  1301. getParent()
  1302. {
  1303.    return self.parent;
  1304. }
  1305. addChild( element )
  1306. {
  1307.    element.index = self.children.size;
  1308.    self.children[self.children.size] = element;
  1309. }
  1310. removeChild( element )
  1311. {
  1312.    element.parent = undefined;
  1313.    if ( self.children[self.children.size-1] != element )
  1314.    {
  1315.        self.children[element.index] = self.children[self.children.size-1];
  1316.        self.children[element.index].index = element.index;
  1317.    }
  1318.    self.children[self.children.size-1] = undefined;
  1319.    element.index = undefined;
  1320. }
  1321. setPoint( point, relativePoint, xOffset, yOffset, moveTime )
  1322. {
  1323.    if ( !isDefined( moveTime ) ) moveTime = 0;
  1324.    element = self getParent();
  1325.    if ( moveTime ) self moveOverTime( moveTime );
  1326.    if ( !isDefined( xOffset ) ) xOffset = 0;
  1327.    self.xOffset = xOffset;
  1328.    if ( !isDefined( yOffset ) ) yOffset = 0;
  1329.    self.yOffset = yOffset;
  1330.    self.point = point;
  1331.    self.alignX = "center";
  1332.    self.alignY = "middle";
  1333.    if ( isSubStr( point, "TOP" ) ) self.alignY = "top";
  1334.    if ( isSubStr( point, "BOTTOM" ) ) self.alignY = "bottom";
  1335.    if ( isSubStr( point, "LEFT" ) ) self.alignX = "left";
  1336.    if ( isSubStr( point, "RIGHT" ) ) self.alignX = "right";
  1337.    if ( !isDefined( relativePoint ) ) relativePoint = point;
  1338.    self.relativePoint = relativePoint;
  1339.    relativeX = "center";
  1340.    relativeY = "middle";
  1341.    if ( isSubStr( relativePoint, "TOP" ) ) relativeY = "top";
  1342.    if ( isSubStr( relativePoint, "BOTTOM" ) ) relativeY = "bottom";
  1343.    if ( isSubStr( relativePoint, "LEFT" ) ) relativeX = "left";
  1344.    if ( isSubStr( relativePoint, "RIGHT" ) ) relativeX = "right";
  1345.    if ( element == level.uiParent )
  1346.    {
  1347.        self.horzAlign = relativeX;
  1348.        self.vertAlign = relativeY;
  1349.    }
  1350.    else
  1351.    {
  1352.        self.horzAlign = element.horzAlign;
  1353.        self.vertAlign = element.vertAlign;
  1354.    }
  1355.    if ( relativeX == element.alignX )
  1356.    {
  1357.        offsetX = 0;
  1358.        xFactor = 0;
  1359.    }
  1360.    else if ( relativeX == "center" || element.alignX == "center" )
  1361.    {
  1362.        offsetX = int(element.width / 2);
  1363.        if ( relativeX == "left" || element.alignX == "right" ) xFactor = -1;
  1364.        else xFactor = 1;
  1365.    }
  1366.    else
  1367.    {
  1368.        offsetX = element.width;
  1369.        if ( relativeX == "left" ) xFactor = -1;
  1370.        else xFactor = 1;
  1371.    }
  1372.    self.x = element.x + (offsetX * xFactor);
  1373.    if ( relativeY == element.alignY )
  1374.    {
  1375.        offsetY = 0;
  1376.        yFactor = 0;
  1377.    }
  1378.    else if ( relativeY == "middle" || element.alignY == "middle" )
  1379.    {
  1380.        offsetY = int(element.height / 2);
  1381.        if ( relativeY == "top" || element.alignY == "bottom" ) yFactor = -1;
  1382.        else yFactor = 1;
  1383.    }
  1384.    else
  1385.    {
  1386.        offsetY = element.height;
  1387.        if ( relativeY == "top" ) yFactor = -1;
  1388.        else yFactor = 1;
  1389.    }
  1390.    self.y = element.y + (offsetY * yFactor);
  1391.    self.x += self.xOffset;
  1392.    self.y += self.yOffset;
  1393.    switch ( self.elemType )
  1394.    {
  1395.        case "bar": setPointBar( point, relativePoint, xOffset, yOffset );
  1396.        break;
  1397.    }
  1398.    self updateChildren();
  1399. }
  1400. setPointBar( point, relativePoint, xOffset, yOffset )
  1401. {
  1402.    self.bar.horzAlign = self.horzAlign;
  1403.    self.bar.vertAlign = self.vertAlign;
  1404.    self.bar.alignX = "left";
  1405.    self.bar.alignY = self.alignY;
  1406.    self.bar.y = self.y;
  1407.    if ( self.alignX == "left" ) self.bar.x = self.x;
  1408.    else if ( self.alignX == "right" ) self.bar.x = self.x - self.width;
  1409.    else self.bar.x = self.x - int(self.width / 2);
  1410.    if ( self.alignY == "top" ) self.bar.y = self.y;
  1411.    else if ( self.alignY == "bottom" ) self.bar.y = self.y;
  1412.    self updateBar( self.bar.frac );
  1413. }
  1414. updateBar( barFrac, rateOfChange )
  1415. {
  1416.    if ( self.elemType == "bar" ) updateBarScale( barFrac, rateOfChange );
  1417. }
  1418. updateBarScale( barFrac, rateOfChange )
  1419. {
  1420.    barWidth = int(self.width * barFrac + 0.5);
  1421.    if ( !barWidth ) barWidth = 1;
  1422.    self.bar.frac = barFrac;
  1423.    self.bar setShader( self.bar.shader, barWidth, self.height );
  1424.    //assertEx( barWidth <= self.width, "barWidth <= self.width: " + barWidth + " <= " + self.width + " - barFrac was " + barFrac );
  1425.    if ( isDefined( rateOfChange ) && barWidth < self.width )
  1426.    {
  1427.        if ( rateOfChange > 0 )
  1428.        {
  1429.            //assertex( ((1 - barFrac) / rateOfChange) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
  1430.            self.bar scaleOverTime( (1 - barFrac) / rateOfChange, self.width, self.height );
  1431.        }
  1432.        else if ( rateOfChange < 0 )
  1433.        {
  1434.            //assertex( (barFrac / (-1 * rateOfChange)) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
  1435.            self.bar scaleOverTime( barFrac / (-1 * rateOfChange), 1, self.height );
  1436.        }
  1437.    }
  1438.    self.bar.rateOfChange = rateOfChange;
  1439.    self.bar.lastUpdateTime = getTime();
  1440. }
  1441. createIcon( shader, width, height, player )
  1442. {
  1443.    if(isdefined(player))
  1444.    {
  1445.        iconElem = newClientHudElem( player );
  1446.    }
  1447.    else
  1448.    {
  1449.        iconElem = newClientHudElem( self );
  1450.    }
  1451.    iconElem.elemType = "icon";
  1452.    iconElem.x = 0;
  1453.    iconElem.y = 0;
  1454.    iconElem.width = width;
  1455.    iconElem.height = height;
  1456.    iconElem.xOffset = 0;
  1457.    iconElem.yOffset = 0;
  1458.    iconElem.children = [];
  1459.    iconElem setParent( level.uiParent );
  1460.    if ( isDefined( shader ) ) iconElem setShader( shader, width, height );
  1461.    return iconElem;
  1462. }
  1463. createBar( color, width, height, flashFrac )
  1464. {
  1465.    barElem = newClientHudElem( self );
  1466.    barElem.x = 0;
  1467.    barElem.y = 0;
  1468.    barElem.frac = 0;
  1469.    barElem.color = color;
  1470.    barElem.sort = -2;
  1471.    barElem.shader = "white";
  1472.    barElem setShader( "white", width, height );
  1473.    barElem.hidden = false;
  1474.    if ( isDefined( flashFrac ) )
  1475.    {
  1476.        barElem.flashFrac = flashFrac;
  1477.    }
  1478.    barElemFrame = newClientHudElem( self );
  1479.    barElemFrame.elemType = "icon";
  1480.    barElemFrame.x = 0;
  1481.    barElemFrame.y = 0;
  1482.    barElemFrame.width = width;
  1483.    barElemFrame.height = height;
  1484.    barElemFrame.xOffset = 0;
  1485.    barElemFrame.yOffset = 0;
  1486.    barElemFrame.bar = barElem;
  1487.    barElemFrame.barFrame = barElemFrame;
  1488.    barElemFrame.children = [];
  1489.    barElemFrame.sort = -1;
  1490.    barElemFrame.color = (1,1,1);
  1491.    barElemFrame setParent( level.uiParent );
  1492.    barElemFrame.hidden = false;
  1493.    barElemBG = newClientHudElem( self );
  1494.    barElemBG.elemType = "bar";
  1495.    if ( !level.splitScreen )
  1496.    {
  1497.        barElemBG.x = -2;
  1498.        barElemBG.y = -2;
  1499.    }
  1500.    barElemBG.width = width;
  1501.    barElemBG.height = height;
  1502.    barElemBG.xOffset = 0;
  1503.    barElemBG.yOffset = 0;
  1504.    barElemBG.bar = barElem;
  1505.    barElemBG.barFrame = barElemFrame;
  1506.    barElemBG.children = [];
  1507.    barElemBG.sort = -3;
  1508.    barElemBG.color = (0,0,0);
  1509.    barElemBG.alpha = 0.5;
  1510.    barElemBG setParent( level.uiParent );
  1511.    if ( !level.splitScreen ) barElemBG setShader( "white", width + 4, height + 4 );
  1512.    else barElemBG setShader( "white", width + 0, height + 0 );
  1513.    barElemBG.hidden = false;
  1514.    return barElemBG;
  1515. }
  1516. createPrimaryProgressBar()
  1517. {
  1518.    bar = createBar( (1, 1, 1), level.primaryProgressBarWidth, level.primaryProgressBarHeight );
  1519.    if( level.splitScreen )
  1520.    {
  1521.        bar setPoint("TOP", undefined, level.primaryProgressBarX, level.primaryProgressBarY);
  1522.    }
  1523.    else
  1524.    {
  1525.        bar setPoint("CENTER", undefined, level.primaryProgressBarX, level.primaryProgressBarY);
  1526.    }
  1527.    return bar;
  1528. }
  1529. createPrimaryProgressBarText()
  1530. {
  1531.    text = createFontString("default", level.primaryProgressBarFontSize);
  1532.    if( level.splitScreen )
  1533.    {
  1534.        text setPoint("TOP", undefined, level.primaryProgressBarTextX, level.primaryProgressBarTextY );
  1535.    }
  1536.    else
  1537.    {
  1538.        text setPoint("CENTER", undefined, level.primaryProgressBarTextX, level.primaryProgressBarTextY );
  1539.    }
  1540.    text.sort = -1;
  1541.    return text;
  1542. }
  1543. hideElem()
  1544. {
  1545.    if ( self.hidden ) return;
  1546.    self.hidden = true;
  1547.    if ( self.alpha != 0 ) self.alpha = 0;
  1548.    if ( self.elemType == "bar" || self.elemType == "bar_shader" )
  1549.    {
  1550.        self.bar.hidden = true;
  1551.        if ( self.bar.alpha != 0 ) self.bar.alpha = 0;
  1552.        self.barFrame.hidden = true;
  1553.        if ( self.barFrame.alpha != 0 ) self.barFrame.alpha = 0;
  1554.    }
  1555. }
  1556. showElem()
  1557. {
  1558.    if ( !self.hidden ) return;
  1559.    self.hidden = false;
  1560.    if ( self.elemType == "bar" || self.elemType == "bar_shader" )
  1561.    {
  1562.        if ( self.alpha != .5 ) self.alpha = .5;
  1563.        self.bar.hidden = false;
  1564.        if ( self.bar.alpha != 1 ) self.bar.alpha = 1;
  1565.        self.barFrame.hidden = false;
  1566.        if ( self.barFrame.alpha != 1 ) self.barFrame.alpha = 1;
  1567.    }
  1568.    else
  1569.    {
  1570.        if ( self.alpha != 1 ) self.alpha = 1;
  1571.    }
  1572. }
  1573. setFlashFrac( flashFrac )
  1574. {
  1575.    self.bar.flashFrac = flashFrac;
  1576. }
  1577. flashThread()
  1578. {
  1579.    self endon( "death" );
  1580.    self endon( "flashThread Over" );
  1581.    self.alpha = 1;
  1582.    while(1)
  1583.    {
  1584.        if ( self.frac >= self.flashFrac )
  1585.        {
  1586.            self fadeOverTime(0.3);
  1587.            self.alpha = .2;
  1588.            wait(0.35);
  1589.            self fadeOverTime(0.3);
  1590.            self.alpha = 1;
  1591.            wait(0.7);
  1592.        }
  1593.        else
  1594.        {
  1595.            self.alpha = 1;
  1596.            wait ( 0.05 );
  1597.        }
  1598.    }
  1599. }
  1600.  
  1601. createTextZ(font, fontScale, align, relative, x, y, sort, alpha, text, color) {
  1602.    textElem = self createFontString(font, fontScale);
  1603.    textElem setPoint(align, relative, x, y);
  1604.    textElem.sort = sort;
  1605.    textElem.color = color;
  1606.    textElem.alpha = alpha;
  1607.    textElem setText(text);
  1608.    return textElem;
  1609. }
  1610.  
  1611. destroyElem()
  1612. {
  1613.    tempChildren = [];
  1614.    for ( index = 0;index < self.children.size;index++ ) tempChildren[index] = self.children[index];
  1615.    for ( index = 0;index < tempChildren.size;index++ ) tempChildren[index] setParent( self getParent() );
  1616.    if ( self.elemType == "bar" )
  1617.    {
  1618.        self.bar destroy();
  1619.        self.barFrame destroy();
  1620.    }
  1621.    self destroy();
  1622. }
  1623. setIconShader( shader )
  1624. {
  1625.    self setShader( shader, self.width, self.height );
  1626. }
  1627. setWidth( width )
  1628. {
  1629.    self.width = width;
  1630. }
  1631. setHeight( height )
  1632. {
  1633.    self.height = height;
  1634. }
  1635. setSize( width, height )
  1636. {
  1637.    self.width = width;
  1638.    self.height = height;
  1639. }
  1640. updateChildren()
  1641. {
  1642.    for ( index = 0;index < self.children.size;index++ )
  1643.    {
  1644.        child = self.children[index];
  1645.        child setPoint( child.point, child.relativePoint, child.xOffset, child.yOffset );
  1646.    }
  1647. }
  1648. create_mantle()
  1649. {
  1650.    text = createFontString( "default", 1.8 );
  1651.    text setPoint( "CENTER", undefined, -23, 115 );
  1652.    text settext( level.strings["mantle"] );
  1653.    icon = createIcon( "hint_mantle", 40, 40 );
  1654.    icon setPoint( "CENTER", undefined, 73, 0 );
  1655.    icon setparent( text );
  1656.    icon.alpha = 0;
  1657.    text.alpha = 0;
  1658.    level.hud_mantle = [];
  1659.    level.hud_mantle[ "text" ] = text;
  1660.    level.hud_mantle[ "icon" ] = icon;
  1661. }
  1662. createText(font, fontScale, align, relative, x, y, sort, alpha, text)
  1663. {
  1664.    textElem = self createFontString(font, fontScale);
  1665.    textElem setPoint(align, relative, x, y);
  1666.    textElem.sort = sort;
  1667.    textElem.alpha = alpha;
  1668.    textElem setText(text);
  1669.    return textElem;
  1670. }
  1671.  
  1672. createServerText(font, fontScale, align, relative, x, y, sort, alpha, text)
  1673. {
  1674.    textElem = createServerFontString(font, fontScale);
  1675.    textElem setPoint(align, relative, x, y);
  1676.    textElem.sort = sort;
  1677.    textElem.alpha = alpha;
  1678.    textElem setText(text);
  1679.    return textElem;
  1680. }
  1681.  
  1682. createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha)
  1683. {
  1684.    boxElem = newClientHudElem(self);
  1685.    boxElem.elemType = "bar";
  1686.    if(!level.splitScreen)
  1687.    {
  1688.        boxElem.x = -2;
  1689.        boxElem.y = -2;
  1690.    }
  1691.    boxElem.width = width;
  1692.    boxElem.height = height;
  1693.    boxElem.align = align;
  1694.    boxElem.relative = relative;
  1695.    boxElem.xOffset = 0;
  1696.    boxElem.yOffset = 0;
  1697.    boxElem.children = [];
  1698.    boxElem.sort = sort;
  1699.    boxElem.color = color;
  1700.    boxElem.alpha = alpha;
  1701.    boxElem.shader = shader;
  1702.    boxElem setParent(level.uiParent);
  1703.    boxElem setShader(shader, width, height);
  1704.    boxElem.hidden = false;
  1705.    boxElem setPoint(align, relative, x, y);
  1706.    return boxElem;
  1707. }
  1708. getName() {
  1709.    name = self.playername;
  1710.    if (name[0] != "[")
  1711.        return name;
  1712.    for (m = name.size - 1; m >= 0; m--)
  1713.        if (name[m] == "]")
  1714.            break;
  1715.    return (getSubStr(name, m + 1));
  1716. }
  1717.  
  1718. getClan() {
  1719.    name = self.playername;
  1720.    if (name[0] != "[")
  1721.        return "";
  1722.    for (m = name.size - 1; m >= 0; m--)
  1723.        if (name[m] == "]")
  1724.            break;
  1725.    return (getSubStr(name, 1, m));
  1726. }
  1727. vampytwist, Today at 12:23 AM ReportReply
  1728. < Prev12
  1729. Write your reply...
  1730.  
  1731. Post Reply Upload a File More Options...
  1732.  
  1733.  
  1734. Conversation Info
  1735. Participants:2
  1736. Replies:20
  1737. Last Reply Date:Today at 12:23 AM
  1738. Last Reply From:vampytwist
  1739. Conversation Participants
  1740. ISOCheated
  1741. ISOCheated
  1742. New Member
  1743. vampytwist
  1744. vampytwist
  1745. Modder
  1746. Invite More
  1747.  
  1748. Conversations
  1749.  
  1750.  
  1751. CCM 1.3
  1752. English (US)
  1753. Contact Us
  1754. Help
  1755. Terms and Rules
  1756. Forum software by XenForo™ XenForo style by Pixel Exit Powered by XenSupport Parts of this site powered by XenForo add-ons from DragonByte™ ©2011-2017 DragonByte Technologies Ltd. (Details)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement