https://freestylersworld.com/showthr...g-bots-allowed
https://freestylersworld.com/showthr...9-Warm-up-mode
Now that I've confirmed I'm allowed to make this, it's on to the next step. Brainstorming. I am making this bot for myself, but I do not mind sharing. I just want a guilt-free, dedicated training buddy. I'm posting here because I want to bounce ideas off of all of you. With what I know now, I can use computer vision and object recognition to make the bot without any knowledge of the GunZ source code. However, I'm going to take a peek at what I can do with the GunZ 1.5 source code.
Here's some of what I have at the moment. Many things are missing and many things will change. This post will be updated. You can run only one primary command, but you can run as many secondary commands as you want. Secondary commands are where things get interesting. Theoretically you can program the bot in-game to start attacking unsuspecting people on the map.
---------------------------------------------------------------------------------------------------------------------------
Questions
- What do you hate? What do you like? What are some of your ideas?
---------------------------------------------------------------------------------------------------------------------------
Definitions
• Action -The accomplishment of a thing over a period of time.
• Data - Environmental info (ie collision), or bot info (ie health).
• Commands - Player commands issued in chat. ie !turtle
• AI - Artificial Intelligence. Makes decisions based on data.
• Player - You.
• Bot - The mindless robot you abuse in-game. Only follows instructions. Incapable of thinking for itself.
• GunZ Engine - Omniscient entity. Knows everything about the GunZ world and influences the bot.
---------------------------------------------------------------------------------------------------------------------------
Progress

I'm making a lot of assumptions, so this initial plan will likely collapse.
1. Set up working environment.

(Jur13n repack, built with VS2019)
2. Set up testing environment.

Added smoke grenade effects when dashing for testing purposes.

Here's the same thing with nades for fun.
3. Spawn a controllable character.

Bot copies your equips and bodily features. Each person can spawn one bot.
Making some progress, but it's not controllable yet.

Was thinking of teleporting bot to you if it already exists. Now you simply get a warning message.

64 bots. No lag on client side, but my server had a ~500 ms delay.

Client-Sided bots with death mechanics.

Gave all bots their own independent camera. The training bot is starting to become practical.
4. Edit character object to be controlled by simple actions.
<----- I am here.

Pet bots.
5. Grab and process chat data.

Put in some dummy commands to help test bot.
a. Convert commands into actions.
b. Send actions to bot for testing.
6. (Optional) Create a simple AI (Behavior tree) that generates and sends actions to the bot.
a. Constantly get info from the bot and environment.
b. Generate optimal actions to execute base on info.
c. Send actions to bot for testing.
7. (Optional) Create a complex AI that generates and sends actions to the bot.
a. Train a machine learning model using neural networks with genetic algorithm. Based on 1v1 duels.
b. ???
c. Profit.
d. Send data to AI. AI sends actions to bot. Test.
8. Full scale test
9. Peer review
10. Beta test
11. Release
---------------------------------------------------------------------------------------------------------------------------
Commands
Utility
•
/bot help [page or command]
○ Display commands and link to full documentation. Default: page = 1.
Primary (Single Instance)
•
/bot stop [command]
○ Stops doing specified command. Default: stops all active commands and goes to idle state.
○ Dev note: If user typo, throw error instead of stopping everything.
•
/bot turtle [time]
○ Continuous blocks for a specified time in milliseconds. 0 ≤delay ≤ maximum. Default: delay = maximum.
•
/bot flip [delay]
○ Spams flip at specified intervals in milliseconds. Default: delay = none.
•
/bot massive [yaw] [pitch]
○ Massives in specified direction. No charging required.
○ Yaw is looking left to right. 0 ≤ yaw ≤ 360 degrees. Default: no change.
○ Pitch is looking up and down. 0 ≤ pitch ≤ 180 degrees. Default: no change.
•
/bot bf [direction]
○ Butterflies in specified direction. Random is an option. Default: static bf.
•
/bot dbf [direction]
○ Dbfs in specified direction. Random is an option. Default: static dbf.
•
/bot tbf [direction]
○ Tbfs in specified direction. Random is an option. Default: static tbf.
•
/bot insta [delay]
○ Instafalls at specified intervals. Default: delay = none.
•
/bot ss [delay]
○ Slash shots at specified intervals. Use this with /bot aim Default: delay = none.
•
/bot evade [delay]
○ Dashes in random directions at specified intervals. Default: delay = none.
•
/bot attack [delay]
○ Continuously attacks with current weapon at specified intervals. Default: delay = none.
•
/bot change [slot]
○ Changes weapon to specified slot. 1 is melee, 2 is primary gun, etc... Default: Cycles to next weapon.
•
/bot record
○ Records and stores user's inputs until a stop command is issued (/bot stop record).
○ Dev note: See if I can save recording into multiple files (/bot record [file_number]) and allow trading of the files. This would remove the need for stuff like /bot bf and others.
•
/bot play [is_looping]
○ Plays saved recording. If looping, bot saves its location and returns after every loop. Default: is_looping = true.
○ Dev note: If /bot record [file_number] is implemented, then I need /bot play [file_number] [is_ignoring_mouse] that always loops. "random" can be provided as a file_number. Default: Loads random file every loop and bot ignores mouse movement input.
•
/bot copyme
○ Bot looks where you do and mimics your actions in real time.
•
/bot asura
○ All your bots copies your actions live, are always stuck inside you, and are offset from one another by 360/(number of bots + 1) degrees. Making you a multi-headed and multi-limbed demon called an Asura from Hindu mythology. Admins will be unstoppable.
Secondary (Multi-Instance)
•
/bot aim [playername] [delay]
○ Your typical aimbot. Continuously aims at specified player or bot with a delay in milliseconds. Default: aims at you instantly.
•
/bot follow [playername]
○ Follows specified player or bot and teleports to target if too far away. Default: Follows you.
•
/bot hop [delay]
○ Bunny hops at specified intervals in milliseconds. Default: delay = none.
•
/bot counter [yaw] [pitch]
○ Counters with massive in specified direction. If bot gets a massive it turns relative to its current direction and massives.
○ Yaw is looking left and right relative to original position. 0 ≤ yaw ≤ 360 degrees. Default: no change.
○ Pitch is looking up and down relative to original position. 0 ≤ pitch ≤ 180 degrees. Default: no change.
•
/bot god
○ Sets bot HP/AP to 99999999.
•
/bot ammo
○ Sets bot ammo to 99999999 on all guns.
•
/bot anchor [distance]
○ Anchors bot to its current location. Bot teleports to saved location when displaced by a specified distance. Default: Ehhh 10 body widths?
•
/bot reflex [delay]
○ Bot faces attacker after a delay in milliseconds. Default: delay = none.
•
/bot toxic
○ Occasionally BMs players
•
/bot supportive
○ Occasionally GMs players