Here's what I suggest you do to reach your goal.
1) Learn LUA 5.0.2 and practice it. LUA is a scripting language that Bully uses. It is NOT exclusive to Bully at all either, so you can easily practice it outside of Bully if you'd like. I actually suggest you do practice it outside of Bully first instead of skipping straight to Bully, but that's up to you. The version of LUA that Bully uses is a modified version of LUA 5.0.2. What I mean by "modified version" is that Rockstar did not include all the standard library functions that LUA 5.0.2 normally provides, and there is also some other minor things. This modified version of LUA 5.0.2 also only runs compiled scripts (normally LUA should be able to run from source as well), and you'll have to use a different compiler than the one that comes with LUA 5.0.2 to work with Bully. I will list below a link for downloading LUA 5.0.2. Inside of it you will find 2 files of interest, both inside of "bin". lua.exe and luac.exe. lua.exe will run a lua script (whether from source or compiled). luac.exe will compile a script, however remember that this is not the same compiler you should use for Bully. Use lua.exe and luac.exe with the command prompt so you can give lua/luac command line arguments. (If you don't know how to use the command prompt, you should definitely look that up)
LUA 5.0.2:
https://www.mediafire.com/?cjanmhovm3muc24 LUA 5.0.2 manual:
http://www.lua.org/manual/5.0/ Notepad++:
https://notepad-plus-plus.org/2) After you are comfortable with how LUA works, it is time to start modding Bully! You'll need to get the LUA compiler for Bully's modified version of LUA 5.0.2 in order to compile your scripts. You'll also need an IMG tool to add/remove/replace scripts from the Scripts.img archive that holds all of Bully's scripts. When you compile a Bully LUA script, use the file extension ".lur". Bully will add many functions for you to use to LUA, functions to interact with Bully. For example there is a function to set the player's health, his position, spawn a character, set a character's action tree (basically fighting style), etc. Bully also expects certain types of scripts to provide certain functions. For example a mission script is expected to include 3 functions: "MissionSetup", "MissionCleanup", and "main". Bully will first call "MissionSetup", then when that finishes, "main", then when the mission is finished or ends for any reason, "MissionCleanup" is called. A script that is often modified by beginners is ArcRace1.lur, and I suggest you start there as well. ArcRace1.lur is the script used for the arcade racing minigame in the Boy's dorm. The script will start when you use the arcade machine. ArcRace1.lur is a mission script (I know it's not really a mission but Bully expects the same functions as it does for a mission). This means you'll have to include the 3 functions I talked about before in your script. When you compile the script and replace it with ArcRace1.lur in Scripts.img, your modified script will be used when you use the arcade machine instead of the regular one, meaning you're running your modified code. However there is... one more thing you have to do with an ArcRace1.lur script. I don't entirely understand why this is needed, but if you don't do it you'll get an infinite loading screen. In your "MissionSetup" function, you should use the "AreaTransitionXYZ" function to transition to a different area, outside is probably best. AreaTransitionXYZ is a function provided by Bully that takes 4 arguments and will transition the player somewhere else. The first argument is the area code (use 0 for outside), and the next 3 are coordinates. (use 270,-110,6 for outside the dorm). Make sure you can successfully make, compile, and run a modified script inside of Bully then move on.
Bully LUA compiler:
http://www.bully-board.com/index.php?action=downloads;sa=view;down=60 Bully IMG tool:
http://www.bully-board.com/index.php?action=downloads;sa=view;down=1593) Now that you've learned LUA, and have successfully replaced a Bully script, it's time to practice a bit more and learn some more functions that Bully provides for you. Go
here for a very incomplete list of functions, I really need to update it more often. Then since your goal is to give yourself Johnny's full stlye, you should go
here to learn about action trees and action nodes and how to set them. You will need to learn and master how Bully's action nodes and action trees work if you hope to give Jimmy Johnny's fighting style since it's not so simple to just set it on the player since Rockstar didn't make it very usable by the player, only by AI.
4) Ask your fellow modders for help if you really need it, but don't give yourself the title of another needy modder who doesn't try. We'll gladly help you but make sure you try your hardest and show that you tried before asking for help, or you may not get many people that want to help you.
If you fail to make the Johnny style that you want, you can also practice simpler things first and make some other fun scripts and slowly work your way up.
Good luck, and have fun.