Preview jZm - Black Ops II Manipulation Framework [Teaser]
#1


This project is still under active development

What you're looking at here is:
  • Plugin-based system
  • Fully opensource
  • Fully C#
  • Fully .NET 4.0
  • Fully external (no injection etc)
  • Players
  • DVars
  • DVars contents
  • Entities
  • Portals
  • Kick, Ignite, Electrocute, IPrintLn, Tell, SetClientDVar, etc
  • Console & GUI interface (2 executables)
  • Several events
  • Will never need a update based on a new version of the game, It can 'recognize' the addresses

Still planned:
  • More events
  • More events
  • More.... events?
  • Entity adding/spawning
  • Better entity control (move zombies, etc?)
  • Ideas are more than welcome, post as many as you can think of, even if they're really stupid

Docs are available here if you want to have a peek:
http://jariz.github.com/jZmDocs/Index.html (outdated atm, will recompile tomorrow)

Github here:
http://github.com/jariz/jZm/

Contributors:
Plugin example (portal testing plugin)

Portal testing plugin:
Code:
; ZombieAPI API; public void Init(ZombieAPI API) { this.API = API; Portal p = new Portal(-6865.08154f, 5076.141f, 50f); p.PortalTriggered += new PortalHandler(p_PortalTriggered); API.Portals.Add(p); } void p_PortalTriggered(Portal portal, Player player) { float[] bus = API.GetBus().Origin; bus[2] += 200; player.World.Origin = bus; player.Ignite(); }

'Mod' featured in gameplay (Sharpshooter):
Just a example, not done yet
Code:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ZombieAPI; using ZombieAPI.GameObjects; namespace Sharpshooter { public class Plugin : jZmPlugin { public string Name { get { return "Sharpshooter"; } } public string Desc { get { return "Simple sharpshooter mod. Switches the player's weapons every 30 seconds. Very light."; } } public string Author { get { return "JariZ"; } } string[] Restricted_Weapons = new string[] { "defaultweapon_mp" }; ZombieAPI.ZombieAPI API; List<string> Weaps = new List<string>(); bool Run = false; public void Init(ZombieAPI.ZombieAPI API) { this.API = API; API.OnFrame += new OnFrameHandler(API_OnFrame); API.OnMapLoad += new MapHandler(API_OnMapLoad); API.OnMapDestroy += new MapHandler(API_OnMapDestroy); } void API_OnMapDestroy() { Run = false; } void API_OnMapLoad() { Run = true; current_weapon_index = 0; last_tick = -1; } long last_tick = -1; int current_weapon_index = 0; void API_OnFrame() { if (!Run) return; if (Weaps.Count == 0 && API.Weapons.Count != 0) { foreach(KeyValuePair<int,string> Wep in API.Weapons) { if (!Restricted_Weapons.Contains(Wep.Value)) Weaps.Add(Wep.Value); } Randomize(); } if (last_tick == -1) last_tick = DateTime.Now.Ticks; int seconds = new DateTime(DateTime.Now.Ticks - last_tick).Second; int ms = new DateTime(DateTime.Now.Ticks - last_tick).Millisecond; bool warned = false; if (seconds >= 30) { foreach (Player player in API.GetPlayers()) { current_weapon_index++; if (current_weapon_index == Weaps.Count -2) { Randomize(); current_weapon_index = 0; } player.Electrocute(); player.iPrintBoldLn("^" + (int)ColorCodes.Yellow + "WEAPONS CYCLED"); player.Weapons.PrimaryWeapon = Weaps[current_weapon_index]; player.Weapons.CurrentWeapon = Weaps[current_weapon_index]; player.Weapons.PrimaryAmmoStock = 255; } warned = false; last_tick = DateTime.Now.Ticks; } else if (seconds <= 20 && warned == false) { foreach (Player player in API.GetPlayers()) { player.iPrintLn("^" + (int)ColorCodes.Green + "10 seconds^" + (int)ColorCodes.White + " until your weapon will be cycled!"); } warned = true; } else { foreach (Player player in API.GetPlayers()) { if (Weaps.Count > 0) { player.Weapons.PrimaryWeapon = Weaps[current_weapon_index]; player.Weapons.CurrentWeapon = Weaps[current_weapon_index]; player.Weapons.TacticalWeapon = ""; player.Weapons.SecondaryWeapon = ""; player.Weapons.LethalWeapon = ""; } } } } void Randomize() { Weaps = Weaps.OrderBy(wep => new Random().Next()).ToList(); } } }
Reply

#2
Looks badass, and inb4kb on your accounts :<. Also thought about being able to get players to be able to shoot at each other?
Do not take life too seriously. You will never get out of it alive.
[Image: UGPjFJa.jpg]
Reply

#3
(03-07-2013, 23:58)JariZ Wrote: [*]@master131 (I think?)

If you used some of the code or structs from barata's ZM hack, then yes, credits to me, I found the model index field and reversed most of the fields. I looked at the github code and noticed "Nukem.txt". I can't recall if I helped him or not but I'm pretty sure he did it himself.

Quote:newOrigin
Not sure what this is, If you've got any idea, contact me. D:

Pretty sure it's the origin used by the game's prediction functions which guesses what the next position of the entity will be to avoid lag.

Quote:The first ET_VEHICLE it can find. KEEP IN MIND THAT: If none found, It'll return null (this means on all non-transit maps)

You can also find the position of the hatch on top of the bus by iterating through all entities and returning the one with a model index of 44.

Quote:DO NOT CALL FROM A PLUGIN. This function is called from the jZm frontend and you should not call it from a plugin.

Perhaps you should mark it as internal and add the InternalsVisibleTo attribute.

Quote:Kick, Ignite, Electrocute, IPrintLn, Tell, SetClientDVar, etc

Lies, those don't exist yet >:[

Also, inb4TACban.
[Image: 30xhrep.png]

A casual conversation between barata and I about Nukem.
Reply

#4
1. That's why I added you, I was quite sure you helped barata.
2. Interesting, Thanks.
3. I know, But this is made to return the bus entity, not the hatch.
4. Thing is, The jZm 'frontend' programs (console and GUI) aren't part of the library, so I believe this isn't possible
5. Oh, but I do think so
6. TAC seems to be mostly report based, I've done all sorts of shit but it hasn't picked up a single thing so far so I highly doubt that.
This is not designed to be used on public lobby's so if you actually do get banned, you deserve it.
7. (Irrelevant)If you could help out with some of the issues barata is having with chat hooking, that'd be absolutely sweet (perhaps even create a pull request if you can just add it yourself)
Reply

#5
(03-08-2013, 10:13)JariZ Wrote: 5. Oh, but I do think so

I couldn't find it. Tongue

(03-08-2013, 10:13)JariZ Wrote: 7. (Irrelevant)If you could help out with some of the issues barata is having with chat hooking, that'd be absolutely sweet (perhaps even create a pull request if you can just add it yourself)

I remember him asking me about it a while ago, I'll see what you guys did. Also, the remote code execution I see in ServerCommand I assume was added by barata. I helped him with that code so yeah.
[Image: 30xhrep.png]

A casual conversation between barata and I about Nukem.
Reply

#6
It seems connect command is still working.
You should make some party manager( rcon, some kind of that ) and connect to ip by program... Would be supercool.
C++/Obj-Cdeveloper. Neko engine wip
Steam: Click
Reply

#7
@master131 That'd be absolutely great. Barata seems to be quite busy last few weeks and I have absolutely no clue on how to do this myself.
Please ask him for the code if you spot him on steam/itsmods because I don't have it.
@sailormoon That is a great idea! I'll check out if something like this is possible.

Documentation updated
Reply

#8
so this would aloow people to use the console, devmap ect?
Reply

#9
Yes. I hope.
C++/Obj-Cdeveloper. Neko engine wip
Steam: Click
Reply

#10
oh my jesus,would love the ability to use console on bo2 for movie making purposes
Big Grin gonn bookmark this thread anyhow! would donate if i could
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  Black Ops 2 Custom background? jotape99 10 18,221 10-29-2013, 07:22
Last Post: xInfinity.
  Black ops Help Bluexephos 4 7,134 10-06-2013, 16:24
Last Post: Nekochan
  [Release] Black Ops 1 "External" Console barata 16 26,356 07-19-2013, 21:15
Last Post: Jakeyellis
  [Release] Black Ops FF Explorer master131 37 55,018 07-11-2013, 04:07
Last Post: Jake625
  A question about the Call of Duty Black Ops king_dom 1 6,374 07-08-2013, 05:26
Last Post: DidUknowiPwn
  Black Ops 1 External Console meowgasm 8 13,469 07-04-2013, 00:57
Last Post: Nekochan
  [Release] Black Ops Single Player/Zombie Trainer V3.6 Craig87 52 101,665 07-01-2013, 15:12
Last Post: explosivebanana55
Wink Preview Black ops 2 - CFG file dump SLiiTH3R 11 25,973 06-09-2013, 16:01
Last Post: dylankrajewski
Sad Help Minecraft-Mojang Loading Screen, Than Black Screen mans123 6 8,680 06-01-2013, 19:40
Last Post: Shreddie
  [Release] Black Ops 2 Camos in MW2 V3.0 -(Cyborg, Dragon, Comic, Paladin, and Ghosts)- DidUknowiPwn 10 17,004 05-25-2013, 07:00
Last Post: DidUknowiPwn

Forum Jump:


Users browsing this thread:

Forum Powered By MyBB, Theme by © 2002-2026 Melroy van den Berg.