nkhook / nkhook5 Goto Github PK
View Code? Open in Web Editor NEWA new repo for the new NKHook5
License: GNU General Public License v3.0
A new repo for the new NKHook5
License: GNU General Public License v3.0
Describe the bug
After making a mod (in this case I got btd evolution to make sure everything was working) and trying to run it using -r, the console outputs: Game termination detected, exiting... Steam also shows the allow this game to run popup, so I am assuming that might be causing it not to run. However, I don't know how to get rid of it or know any other way around it.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The game should boot up with the mod installed and working.
Desktop (please complete the following information):
Additional context
Probably just me being an idiot again.
Is your feature request related to a problem? Please describe.
No, it is more of a request
Describe the solution you'd like
A mod loader for NKHook5, ether that or NKHookC for BMC
The engines I assume are the same except with some minor differences
I wouldn't say this is needed right now, more of a want than a need.
Describe alternatives you've considered
I have not really considered alternatives but I thought it would be nice for BMC modders
Additional context
I unfortunately have no additional context
Describe the bug
When packaging a mod with DevKit.exe, it doesnt check to delete or clear the .nkh file before writing new entries, leading to cases where packaging multiple times for testing or other reasons leads to multiple entries of the same file.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The .nkh file shouldnt have repeated entries
onGame event
What it would look like:
onGame(fun(game)
What it will do:
What it will do is whenever you start a normal game, not a challenge it will do the stuff in the event once.
Make it so that it says which one is loading, and to be able to get the info about the mod from the modinfo.json file.
Make it so that if you have a line like:
gameData.setHealth(gameData.getHealth()-1)
Instead of copy and pasting that in your code 5 times to can do:
gameData.setHealth(gameData.getHealth()-1 multiplier.x5)
So you put:
multiplier.x<how many times you want to multiply)
At the end of the parentheses, you put a space and put that. The reason why I want this is that you don't have code like this:
gameData.setHealth(gameData.getHealth()-1)
gameData.setHealth(gameData.getHealth()-1)
gameData.setHealth(gameData.getHealth()-1)
gameData.setHealth(gameData.getHealth()-1)
gameData.setHealth(gameData.getHealth()-1)
Instead like this:
gameData.setHealth(gameData.getHealth()-1 multiplier.x5)
Describe the bug
JSON merge documents ignore null in both substitutive and insertive mode, but null should be treated in a way that deleted the base property in substitutive mode when it is null.
Expected behavior
JSON Merge documents in substitutive mode should treat null as a signal that if the property is found in the base document, that it should be deleted.
Be able to do something to tell NKHook5 to replace a file instead of always merging them.
Problem: The repo's readme doesn't even hint at how any of this works.
The solution: get a better repo description.
There is no alternative method.
When targeting filters are used and include bloon types, custom bloons are also included when they are not on the list. You are able to exclude the custom bloon, but you still have to change vanilla towers.
Be able to have folders in the "WeaponSprites", "TowerSprites", "BloonSprites" and others similar to these, so that you can organize the folders better, and to make this work when NKHook compiles your mod to move them over to the sprites folder.
Describe the bug
Packaging a mod with no textures causes DevKit to fail to package it
To Reproduce
Expected behavior
DevKit packages a mod without textures that can load as expected
Describe the bug
When NKHook adds towers to save, it will unlock anything in the game that requires you to unlock that tower. Such as in the tower building the towers are normally supposed to have a locked sprite on top of them, but the unlocking system now automatically removes that lock.
Expected behavior
NKHook to not unlock them.
Describe the bug
Failed to find the signatures: "CProjectile_Clone", "CTowerFactory_GetTowerName", "CWeaponFactory_CCTOR", "JsonObject_ReadBoolProperty", and "JsonObject_ReadIntProperty". Also when it tries to apply patches it fails the apply the patches: "CProjectile::Clone", "CTowerFactory::GetTowerName", and "CWeaponFactory::Constructor".
Describe the bug
So when I run the file, a cmd prompt opens for a milisecond before closing and nothing happens.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A setup, or the tool itself should open
Screenshots
NaN
Desktop (please complete the following information):
Additional context
Idk if this is just me being dumb.
Describe the bug
The exe path for BTD5 that the DevKit requests from the user cannot have spaces, or else it will not parse the path properly and find the file(s)
To Reproduce
Expected behavior
The DevKit should properly parse the path and continue with setup without issue
Have custom Damage Types that people can apply to Bloons and that towers can do. Have a folder in the Mod folder named "DamageDefinitions" and a rules file similar to how you did custom status effects. Another feature that would make this good is to have the damage type file be able to specify which Bloons are immune, so that you don't have to edit every Bloons to be immune to the damage type.
Suggestion: Support for tower sprites at upgrade levels other than what's originally supported in vanilla TowerSpriteUpgradeDefinitions. Would preferably, though not necessarily, read from the actual TowerSpriteUpgradeDefinitions JSON files and follow the same pattern that vanilla entries do:
"00" : 0
- 0/0 uses sprite 0
"42" : 5
- 4/2 uses sprite 5
"35" : 25
- 3/5 uses sprite 25
I want if tower thing so something like this:
if(tower == "DartMonkey")
{
//do stuff here
}
Where it says DartMonkey can be replaced with a name or hotkey like:
Dart Monkey is "DartMonkey" or "Q"
Tack Shooter is "TackTower" or "W"
Sniper Monkey is "SniperMonkey" or "E"
Boomerang Thrower is "BoomerangThrower" or "R"
Ninja Monkey is "NinjaMonkey" or "T"
Bomb Tower is "BombTower" or "Y"
Ice Tower is "IceTower" or "A"
Glue Gunner is "GlueGunner" or "S"
Monkey Buccaneer is "MonkeyBuccaneer" or "D"
Monkey Ace is "AcePlane" or "F"
Super Monkey is "SuperMonkey" or "G"
Monkey Apprentice is "MonkeyApprentice" or "H"
Monkey Village is "MonkeyVillage" or "C"
Banana Farm is "BananaFarm" or "V"
Mortar Tower is "MortarTower" or "B"
Dartling Gun is "DartlingGun" or "N"
Spike Factory is "SpikeFactory" or "M"
Heli Pilot is "HeliPilotAircraft" or "J"
Monkey Engineer is "MonkeyEngineer" or "L"
Bloonchipper is "Bloonchipper" or ";"
Monkey Sub is "MonkeySub" or "K"
Describe the bug
NKHook seems to delete the text in game for some things, such as the name of super storm in agents shop or everything related to the wizard or boomerang monkey. Like with the super storm in the shop it has no name or the wizard monkey not having a name, description, upgrade name, or upgrade description.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It actually has text.
Additional context
I tried this without using mods as well. And it shows the text when I remove NKHook from BTD5.
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.