Giter Site home page Giter Site logo

ate47 / t8-atian-menu Goto Github PK

View Code? Open in Web Editor NEW
16.0 5.0 5.0 1.51 MB

my mod menu for Black Ops 4/ColdWar with my notes for Call of Duty

Home Page: https://ate47.github.io/t8-atian-menu/

License: MIT License

GSC 99.28% PowerShell 0.72%
blackops4 blackout callofduty gsc-script multiplayer zombies ps4 cold-war

t8-atian-menu's Introduction

Atian menu

YouTube Discord GitHub

Compile scripts

Mod menu and notes for T8 (Black Ops 4) and T9/VM38 (Black Ops Cold War). IF YOU HAVE ANY ISSUE READ THE FAQ FIRST.

Using the compiler: https://github.com/shiversoftdev/t7-compiler (Some required features might not be implemented yet)

Using the sources: https://github.com/ate47/bo4-source

FAQ

  • No test task to run found -> You need to create a .vscode/tasks.json file, I do not ship it with the menu by default, you can copy the default one in the default directory, the .
  • something LAZYLINK -> This menu is using experimental features that might not be implemented in your compiler, they are probably implemented my version of the t8-compiler repo in the latest branch, you need to compile the compiler yourself. (I won't help on how to do it)
  • How to change the default map in blackout -> You Can read the README or you can simply change it in the scripts/config/blackout.gsc file.
  • Error 1670707254 -> Try to redownload the menu completly, otherwise you can create an issue here.

Downloads

Here precompiled versions of my menu with predefined configs. You have to find how to inject them by yourself.

Posts

Posts or videos I've made using these scripts, my notes or the sources:

Config

No available in the precompiled builds

If you don't want to use the menu and only use particular functions from the mod, you can set the value of no_menu to true in scripts/config/global.gsc.

If the config function is empty, nothing will happen in game.

self.no_menu = true;

You can config the mod keys in the scripts/config/keys.gsc file, by default you open it with ADS+Melee.

You can config the mod menu in the scripts/config directory, current tools:

  • General
    • Force character skin
    • Force weapon camo
    • Enable options at startup
    • Set random skin and camo on bots
  • Blackout
    • Force mode
    • Force map
    • Spawn vehicles
    • Set the zombies spawner types (brutus, avogadro or zombies)
    • Spawn the Icarus (config)
    • Quaknarok
    • Set the health of the avogadro
    • Spawn waterballons
    • Spawn snowballs
    • Zombies eyes
    • Give items
  • Multiplayer
    • set draft time
    • Give killstreaks
  • Zombies
    • Allow EEs in custom mutation
    • Custom mutation like config to setup your own zombies
    • Set XP multiplier
    • Quaknarok
    • Open narrative rooms
    • Give perks
    • Give powerups

(and others)

Features

This tool can be paired with the t8-custom-ee mod (PC) to run EE in casual or offline, you don't need it for custom mutations.

  • Tools
    • 3rd person
    • max ammo
    • fly mode (+config for the speeds)
    • no damage
    • Kill all zombies
    • max points (Zombies)
    • max revive (Zombies)
    • set zombies' speed (Zombies)
    • set round (Zombies)
    • ignore me (Zombies)
    • End contracts (Zombies)
    • Set XP multiplier (Zombies)
  • Give weapons
    • All base weapons + upgraded in zombies
    • Killstreaks
    • Wunderwaffe (BO3) (Zombies/Tag der Totten)
    • Tempest/Minigun (BO3) (Multiplayer)
    • Hell retriver, Waterballoons and Snowballs (Blackout)
    • Spectre's Blade (Blackout)
    • Prototypes and remnant from BO3
  • Gun tool (Demo)
    • Drop weapon
    • TP gun
    • Rocket man
    • Rocket gun
    • Armageddon
    • A10 rocket/minigun, Mantis rocket, Hellstorm rocket, Dart (MP)
    • Elephant riders (IX)
    • Gegenees shot (AE)
    • Darts (BoTD)
    • Nova shot (AO)
  • Teleport tool
    • Waypoint tp (Blackout) : TP using the map (need fix for the main map)
    • tp to hot location in your map (wip, not all the maps are available)
  • Loading
    • set map
    • set gametype
  • Customization
    • set characters
    • Set character skin (+unreleased skin)
    • set skin palette
    • set skin warpaint
    • set skin decals
    • Set weapon camo
    • Set weapon reticle
    • Set weapon mastercraft
  • Internal tools
    • GSC system list (+ignored)
    • Loaded EEs list (Zombies)
    • Basic hash_lookup method
    • Entity tp

Dev tools

My notes are in the notes directory.

You also have a doc about the game itself in the doc directory.

Some features might require some modification on the t8-compiler, you can get them here (search the latest branch).

Symbols

You can config the compilation using these options:

  • -DATIAN_MENU_LOOKUP_BIG : Big lookup structure in array explorer
  • -DATIAN_MENU_DEV : Run my dev configs

Color

Using iprintln: ^0: red, ^1: cyan, but only for the whole line.

Using iprintlnbold:

  • ^0 black (hide)
  • ^1 red
  • ^2 green
  • ^3 yellow
  • ^4 blue
  • ^5 cyan
  • ^6 pink
  • ^7 bright yellow

Hash lookup

The hash_lookup(hash_str) function can be used to look for unhashed values, to add a string to this function, add it to the lookup/lookup.txt file and run the build_lookup.ps1 script. The array explorer tool is using the lookup/lookup_structs.txt file to search for structure elements.

If the lookup is too big, the game won't start.

You can explore CSV files from the game using the method get_known_csv_files() in enums.gsc.

Functions

// object type of obj
get_object_type(obj);
// iprintbold msg if the dev mod is activated
<player> debugln(msg);
// test if the dev mod
is_dev_mode();
// test if we are in blackout
is_warzone();
// test if we are in zombies
is_zombies();
// test if we are in multiplayer
is_multiplayer();
// dynamic version of #ifdef _CSC
is_client();
// log message using compiler::nprintln or using the menu log system.
am_log(str);

Create menu

The menu descriptions are usually put in the scripts/core_common/ui/menu_items.gsc script.

To register a menu, you can call this method:

<player> add_menu(menu_id, menu_name, parent_id, create_menu = false, menuenterfunc = undefined);
  • menu_id is the id of your menu.
  • menu_name is the name of your menu.
  • parent_id is the parent of your menu, ie: the menu openned if you go the previous menu in your menu. Can be "" for no parent.
  • create_menu is creating the menu link from the parent to the menu
  • menuenterfunc is the optional function to when the used is entering your menu, it will call it with self set to the player and the menu as an argument.

You can then add elements to your menu using

<player> add_menu_item(menu_id, item_name, action, actiondata = undefined, actiondata2 = undefined, actiondata3 = undefined, actiondata4 = undefined, actiondata5 = undefined);
<player> add_menu_item_menuswitch(menu_id, item_name, new_menu_id);
<player> add_menu_item_modswitch(menu_id, item_name, mod_name);
  • add_menu_item, add an item with the name item_name in the menu menu_id, the action is a function, it will be called with the player as self, the item as a 1st parameter and then the actiondataX as 2nd to 6th parameter.
  • add_menu_item_menuswitch, add an item with the name item_name in the menu menu_id, it will open the menu new_menu_id
  • add_menu_item_modswitch, add an item with the name item_name in the menu menu_id, it will toggle the mod mod_name and set the menu item to activated by putting on/off on it

You can use this function to check if a mod is activated:

<player> is_mod_activated(mod_name);

Key manager

The key manager is in the scripts/core_common/key_mgr.gsc script.

You can register a key binding in the key_mgr_init() function, the syntax is:

<player> key_mgr_compile_key(hash key_name, undefined|string config, array<string>|string default_config);
  • key_name is the hashed name of the key
  • config is the config from the user, it follows the same syntax as explained in scripts/keyconfig.gsc.
  • default_config is the default config, it can be an array or a single key

You can then use the key as you want using these 2 functions:

// get the key config for this player (work with console controller)
<player> key_mgr_get_key_str(hash key_name) -> string;

// test if a key is pressed and if asked, wait until its release
<player> key_mgr_has_key_pressed(hash key_name, bool wait_release = false) -> bool;

t8-atian-menu's People

Contributors

ate47 avatar notnierpea avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

t8-atian-menu's Issues

CW Not Supported

Description of the issue

I have T9 selected and the T7 compiler all setup, did the tasks.json but yet Cold War still doesn't work...

Do I want to contribute to fix it?

Maybe

Something else?

No response

Blackout map auto change

Every time i inject the menu, it load alcatraz night every time, if i try to change, it load the map then it load back to alcatraz night

.vscode dir with absolute path

Someone on Discord got an issue because the compiler directory wasn't the same as the one installed, delete the .vscode directory will fix it.

Error - November 417 Silver Sunrise

Description of the issue

I have problem start BLACKOUT with Core Map + gamemode: heavy and heroes.
When start game show me error - November 417 Silver Sunrise :(

PS: Can I change the value of life? gravity? duration and size of zones?
Thx Fix My Problem! Very Good Job and your WORK! :)

Do I want to contribute to fix it?

None

Something else?

No response

BO4 Zombies Weapon Damage Stats

Description of the request

Hello, this isn't a feature request, but I didn't know which other option to pick. I've looked through this repository as well as your BO4 Source one. I'd like to know how much damage the weapons deal to zombies (both for the base weapons and their pack-a-punched versions), and that information isn't jumping out at me in either of these repos. Do you have that information in one of the files? Or is there a way I can calculate the damage numbers from the information you do have?

Do I want to contribute to make it?

No

Something else?

No response

New Error - Roger 753 Fake Outlaw

Description of the issue

Now... when we start game mode : warzone_heavy_metal_heroes
show me ERROR : Roger 753 Fake Outlaw

Screen :
414769919_1046020856670939_2091580006451342762_n

Do I want to contribute to fix it?

None

Something else?

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.