bakkesmodorg / bakkesmodsdk Goto Github PK
View Code? Open in Web Editor NEWThe current BakkesModSDK (Unofficial SDK for Rocket League)
Home Page: http://bakkesmod.com
The current BakkesModSDK (Unofficial SDK for Rocket League)
Home Page: http://bakkesmod.com
I'm using the RLCSV plugin, and it seems to always return 600 in the MMR column. After looking at the code (RLCSVPlugin.cpp), it seems that it's just using the value directly from BakkesMod, so it seems like it may be BakkesMod isn't reading the correct value.
I'm using the latest version of BakkesMod. Restarting the game doesn't help, so it isn't like it's getting stuck after the first value read, so I'm not sure what could be causing it.
EDIT: A similar issue seems to occur when attempting to use GetMatchDemolishes, as evidenced in the Statistically Speaking plugin (StatisticallySpeaking.cpp). The value always seems to be 0.
Thanks!
This is potentially the wrong repo - I couldn't figure which one contains the main app / updater.
The issue:
When prompted to update and I accidentally click "update"
It asks me for the rocket league exe or something. I try cancel -> cancel -> cancel because I just wan't this thing to close.
I am now stuck in a loop:
while(true){
"Did not select bakkesmod folder?"
"Unable to find manifest file, ..."
Browser opens.
}
This is somewhat intrusive, as the updater just pops up when my computer starts, and I usually just close it right away
Latest version keeps crashing my games. The following is displayed in the logs:
[2998.09] Critical: appError called: Rendering thread exception:
Fatal error!
Address = 0xcdf3e980 (filename not found) [in C:\WINDOWS\SYSTEM32\d3d11.dll]
Address = 0xc6e8ec2b (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6dbc9cc (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6d77151 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725d54a (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72ce3d2 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72d22bb (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72cbbdd (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725dd1d (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc7299f37 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc7299ba1 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72625b2 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725fce4 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc735701f (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725fe45 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc730b832 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc7291304 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6df5bf8 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6de47ef (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6645c21 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6645db9 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc64ab490 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xd3147034 (filename not found) [in C:\WINDOWS\System32\KERNEL32.DLL]
Address = 0xd471d0d1 (filename not found) [in C:\WINDOWS\SYSTEM32\ntdll.dll]
Address = 0xd471d0d1 (filename not found) [in C:\WINDOWS\SYSTEM32\ntdll.dll]
[2998.09] Critical: Windows GetLastError: The operation completed successfully. (0)
[2998.09] Log: === Critical error: ===
Rendering thread exception:
Fatal error!
Address = 0xcdf3e980 (filename not found) [in C:\WINDOWS\SYSTEM32\d3d11.dll]
Address = 0xc6e8ec2b (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6dbc9cc (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6d77151 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725d54a (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72ce3d2 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72d22bb (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72cbbdd (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725dd1d (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc7299f37 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc7299ba1 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc72625b2 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725fce4 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc735701f (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc725fe45 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc730b832 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc7291304 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6df5bf8 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6de47ef (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6645c21 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc6645db9 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xc64ab490 (filename not found) [in C:\Program Files (x86)\Steam\steamapps\common\rocketleague\Binaries\Win64\RocketLeague.exe]
Address = 0xd3147034 (filename not found) [in C:\WINDOWS\System32\KERNEL32.DLL]
Address = 0xd471d0d1 (filename not found) [in C:\WINDOWS\SYSTEM32\ntdll.dll]
Address = 0xd471d0d1 (filename not found) [in C:\WINDOWS\SYSTEM32\ntdll.dll]`
Have to wait for replay every time to see the speed.
Creating an ActorWrapper with
ActorWrapper cam = gw->GetCamra();
and then attempting to pull the rotation of it using
cam.GetRotation();
causes a crash.
Going to Anonymizer -> Hide all rank information
does not work (i.e. rank is still shown on queue menu).
This has been broken since at least September 26, 2020 based on the thread creation date here: https://www.reddit.com/r/bakkesmod/comments/izzqwp/hide_all_rank_information/
Edit: Also sorry, I'm pretty sure this belongs in https://github.com/bakkesmodorg/BakkesMod2-Plugins instead of here.
Hello,
below the title 'IDE' I would start with the most relevant informations like the IDE (VS 2019) and the programming language needed to develop a plugin (C++?). Furthermore it would save a lot of time downloading things, if you could name the minimum packages that we need to install with VS 2019. The default packages for 'desktop development with C++' are already 7,48 GB (including VS 2019 itself I think). That takes a couple of hours for me to download.
Just wanted to give some kind of feedback. Never had to develop with C++ so maybe I got a few things wrong. Thank you for developing the BakkesMod SDK! I apprecciate it :)
I'm using server.HasPlayerNamed()
in my plugin. When a user named Hazmat used it, the result was always false. When I replaced it with a custom little loop over all the player controllers and their names, comparing the names and seeing if any matched, that worked. This does happen with other names too, though I'm waiting for feedback on what names do it there. I will edit this post to add any further names as I find them.
TO REPRODUCE:
Use server.HasPlayerNamed()
to check if a player in the server is named Hazmat, and set your name to the same. It will return false.
KNOWN PROBLEM NAMES:
For example when training fast kickoff (7EE0-F697-7453-7123) the boost is unlimited, and there is no option to limit boost in game settings. I need to limit boost like in real game to have proper training.
Using the Latest version from Bakkesmod.com as of today 15/11/2020
I play on ME servers so I'm a huge friend of error 71 (Failed to join error)
When Bakkesmod is injected the game crashes before showing that error
Let me know if you need more info
Hello,
I'm working on an application that shows game data on RGB keyboards and I was wondering if it's possible to read current score, player boost etc. while in online games?
I accidentally encountered a scenario recently where -I suspect- installation of a plugin caused client instability, even once disabled.
I was checking out new plugins through the web app, installed a few. Later, the game began to crash 100% under specific circumstances (joining an unranked match via Steam friends list when one of the players was using an octane with a specific item equipped lol?). I unloaded BM, deleted RL caches, reinstalled RL totally, updated drivers. Nothing helped.
The only clue was seeing BM with my config and extra plugins working after re-installation- so I knew that BM's config had persisted. mving it and then reinstalling BM resolved the issue completely. That meant something in the bakkesmod
folder was causing the game to crash even when the client was uncooked.
TL;DR:
Not asking for any help- my issue is resolved but I asked before in Discord but to no avail- how is it possible for plugins (assumed) to impact client stability even even when BM is not running? Is this unusual or actually expected by design?
P.S.: If it is unusual or unexpected I still have a copy of the bakkesmod
folder I can share to replicate the problem.
Sometimes its unable to play 3v3 competitive with 2 players in party: "Rank disparity".
My MMR: 1151
Teammate's MMR: 1101
When restarting without the mod it's fine
I am writing a plugin to help aiming at specific points in the goal (to evade defenders and such) and would like to draw in 3D space.
The current CanvasWrapper provides no way to draw in 3D space.
Perhaps if something like gluProject from OpenGL utils were added, 3D->2D could be achieved easily.
When I select hold boost, it also disables my jump
Disabling boost also disables my jump
Disable jump actually just disables powerslide
Disable powerslide does nothing
Hey, I'm trying to make a plugin using this SDK but having a problem with it due to a missing feature that seems easy to implement if it is existing in RLSDK, the function is to set the custom team name already sanitized, and I think this function should be in TeamWrapper
, I was told to supply a reason for this to be added too, I am planning to release a plugin that shows both team's average MMR, I want to make it look like this, except this was made in RLSDK, which I cannot use to publish a plugin.
Is there a way to change the amounth of boost a player has?
I'm trying to write a plugin to determine the fastest way to kickoff using a evolutionary genetic algorithm. But I can't find a way to reset the boost to 34 after a kickoff.
BakkesModSDK/bakkes_patchplugin.py
Line 8 in dde1a04
Would be a small time saver for all the people working with git, especially when working with multiple setting tabs.
Would it be possible to add spectator controls like:
This plugin would greatly help me out. Many players are trading these days while having their credits locked. This notification will atleast give me a headsup wayyyy before they even tell me about it. Then maybe i can stick around longer or straight up ask him whether he is bartering for it or not.
Do implement this idea if possible. Thanks in advance.
The MMRWrapper does not work for epic, just for steam. Is there a way to fix that?
In need of a UI/UX designer?
I was investigating a plugin idea when I noticed there are no MusicPlayer and MusicMetrics wrappers. Please consider writing these wrappers as it would allow for some new and creative plugins to be made.
Specifying an icon fails to change the modal in game:
ex:
ModalWrapper updateModal = gameWrapper->CreateModal("Plugin Change");
updateModal.SetIcon("gfx_shared.Icon_Warning");
When trying to get members of a team using the GetMembers()
function of TeamWrapper
in an online game, there are 0 members in both teams.
// an event handler for when a goal is being scored hooked to the 'Function TAGame.Team_TA.EventScoreUpdated' event
void CoolPlugin::goalScored()
{
ServerWrapper server = gameWrapper->GetOnlineGame();
ArrayWrapper<TeamWrapper> teams = server.GetTeams();
for (int idxTeam = 0; idxTeam < teams.Count(); idxTeam++) {
TeamWrapper team = teams.Get(idxTeam);
if (!team.IsNull()) {
ArrayWrapper<PriWrapper> teamMembers = team.GetMembers();
for (int idxTeamMember = 0; idxTeamMember < teamMembers.Count(); idxTeamMember++) {
PriWrapper player = teamMembers.Get(idxTeamMember);
}
}
}
}
Loop through the team players and be able to access their data.
We are able to get 2 teams from the server.GetTeams()
function, but teamMembers.Count()
returns 0 and there aren't any members to loop through.
Also teamMembers.Get(0)
returns null.
Bakkesmod causes rank disparity in 3s with my teammate who is literally only 10 mmr away from me.
Im assuming that the price check plugin is causing my game to crash while accessing the trading in window. Please do check it out if possible. I usually need to disable bakkesmod while doing trades in. Hopefully this bug/glitch is fixed.
I play using a mouse, and when I use BakkesMod it will drop mouse clicks where I will have to click many times before it goes through. I've tested it a lot to confirm (like 20 games with 20 games without) and this seems to be the cause.
Currently we have a method of setting items on car loadouts, but no way of setting the anthem, banner, avatar border, or player title.
As I understand it, these are stored under a special "profile loadout" which we have no way of accessing. I think(?) we need TA_Vanity
wrapped, but I'm not certain how to determine that for sure.
Discord discussion here. We attempted setting all of these things on all of the car presets, but that didn't work.
Please update this so we can make plugins for the Epic Games version. Thank you!
Who can make a plugin randomizer presets in itemmod bakkesmod
This include reference:
Should just be #include "TeamInfoWrapper.h"
While going up a directory, then staying in that directory, then going back to the directory we start in is a creative choice, I think the simpler option is probably better
BakkesModSDK/bakkes_patchplugin.py
Line 8 in dde1a04
Plugins using the http wrapper cannot initiate a "curl -k" command to avoid the cert check. In my example, I would like to use curl -k as the webhook I'm sending is going to a server I'd like to keep the FQDN out of my config and just call it by the local IP address, but this causes a cert mismatch and the whole command is dropped because of it. There does not seem to be a way for a plugin to use http request with the insecure setting currently.
Is this codebase FOSS?
I play with someone using split-screen, I use Bakkesmod to create a nice car, my second player wants a black car, which is impossible without Bakkesmod, so can you make it possible to use items to the split-screen players?
I would love to be able to use Bakkesmod on my Mac as I don't play on a windows machine.
after creating the plugin skeleton and configuring the project as indicated in the READme I just try to load it in game and I get this error "LoadLibrary returned NULL. Make sure the DLL is 64 bit and has access to all included libraries. Error code 193"
Bakkesmod obfuscates player inputs and actor info in online matches, to prevent a competitive advantage. That's obviously never going to change, but I'm wondering if you'd consider exposing an API that gives the player inputs well after the fact, to prevent the competitive advantage.
I'm thinking something like the info could be on a fixed delay (240-360 ticks behind), or maybe just a list of them is gettable once the match is over.
My use case would be reconstructing a multiplayer situation in freeplay for training/learning purposes (practice a recovery that I flubbed, or a shot that I missed, etc). Currently you have to reconstruct a scenario from the replay, which suffers from some jankiness due to replays running at a lower tick rate.
Hello, I have been using BakkesMod for a short time, but I have a problem.
I am trying to draw a triangle with CanvasWrapper
using the FillTriangle
method.
But whether I set the color before or in the method, it doesn't take into account the opacity and therefore remains completely opaque.
Do you have a solution to my problem?
PS: Could you add a method for Polygons and Circles? :D
When playing casual and you load into the next game really quick, you enter a sort of freeplay period. Whenever this happens, when the game finally begins after everyone has joined, the color of the wheels are bugged. So far I've noticed it when I'm playing with white zombas using black infiniums via Bakkesmod. The wheels are white infiniums until the first goal is scored, at which point they turn back into black infiniums.
Basically just the title. If you use the SpawnBot()
function with a name
parameter less than 8 characters long, the bot that spawns has a blank name. A name with more characters has a proper name as you'd expect.
I found a workaround by simply forcing it to pad the name with spaces, but this does result in alignment issues.
My BakkesBanners downloaded but when I click spawn or remove it doesn't do it. Help me!
I am developing a plugin (forking OrganizeMyGarageOpenSource) and I noticed a SDK crash in function GetUserLoadoutSave
of class GameWrapper
.
You won't see much from the log, but here it is:
Launch.log
More details:
In the log you can see it crashed in pluginsdk.dll
just after calling GarageModel::EquipPresetPrivate()
. The line in which it crashes is this:
const auto presetWrapper = gw->GetUserLoadoutSave();
Setup:
I attached an Event to Function TAGame.GameEvent_Soccar_TA.Destroyed
which calls this function.
Scenario:
This works as intended in offline matches (exhibitions) or leaving freeplay, but if you play a casual/ranked match and click "quick play" or "ready" button after a game is over (to play another game), this event which we hooked to (TAGame.GameEvent_Soccar_TA.Destroyed
) will be triggered at the same moment when game reconnects between servers. My assumption is that this function uses a pointer that is not longer valid (previous server). Hence, the game crashes.
I checked, and the pointer to GameWrapper
is still valid when the function is called.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.