Jump to content

[Share]Easier Life For Aion Ninja Users


Recommended Posts

Posted

As you all know, ninja needs you to run the game at 1024x768 windowed full with low graphics settings so that it can read the pixels proper. It also changes some other options.... When I play manually, i have all graphics settings maxed out and way diff controls... i got tired of changing the options every time i want to play or want to bot... so i made 2 system.cfg files.. one good, one for ninja.. and then swapped them in and out.... then i got tired of that too... so i wrote a program in c++ that does it for me.

 

 

 

What you need to do:

 

1. Go in game and set your options how you like them.

 

2. Exit game and copy ...\NCSoft\Aion\system.cfg to any folder and call it "Good".

 

3. Go back in game and set all the ninja options. (easiest way is probly just using the autosetup feature of ninja) and then exit game.

 

4. Copy the same file again to a folder called "Ninja"

 

 

 

5. add the paths of each of those files to the top section of the following code:

 


//libraries

#include <iostream>

#include <string>

#include <conio.h>

#include <windows.h>

#include <fstream>

//namespaces

using namespace std;

//prototypes

void swap(string, string); //copys the files

void flush(void); //flush kb buffer



int main(void)

{

//vars

string strGood="REPLACE THIS TEXT WITH THE FILEPATH TO YOUR GOOD FILE"; //be sure to use a double \\ for the slashes or c++ will hate you

string strNinja="REPLACE THIS TEXT WITH THE FILEPATH TO YOUR NINJA FILE"; //be sure to use a double \\ for the slashes or c++ will hate you

char chrUserInput=0; //holds user input

bool bDone=false; //exit flag



do

{

cout << "Chose a mode:\n1)Ninja\n2)Good\n'q' to quit\n>"; //prompt for user input

flush(); //flush kb buffer

chrUserInput=getch(); //store input in a var

if (chrUserInput!='1' && chrUserInput!='2')

{

tolower(chrUserInput); //converts user input to lower case

}



switch (chrUserInput)

{

case '1':

swap("ninja",strNinja); //swap in ninja cfg

break;

case '2':

swap("good",strGood); //swap in good cfg

break;

case 'q':

bDone++; //raise exit flag

break;

default:

cout << "\n\nINVALID SELECTION!"; //advise user they're a moron

} 

} while(!bDone);

return 0;

}

void swap(string strNinjaGood, string strSourcePath)

{

//vars

bool bBadInput=false;

char chrUserInput='\0';

system("cls"); //clear screen

do

{

bBadInput=false; //reset bad input flag

cout << "Are you using a 64bit OS(y\\n)\n> "; //prompt user for 64/32 bit

flush(); //flush kb buffer

chrUserInput=getch(); //store user input in var

tolower(chrUserInput); //converts user input to lower case

if (chrUserInput!='n' && chrUserInput!='y')

{

bBadInput++; //raises bad input flag

cout << "\n\nINVALID INPUT!\n\n"; //flog user

}

} while (bBadInput==true);

if (chrUserInput=='y') //64 bit path

{

ifstream f1(strSourcePath.c_str(), fstream::binary);

ofstream f2("C:\\Program Files (x86)\\NCSoft\\Aion\\system.cfg", fstream::trunc|fstream::binary);

f2 << f1.rdbuf();

}

else //32 bit path

{

ifstream f1(strSourcePath.c_str(), fstream::binary);

ofstream f2("C:\\Program Files\\NCSoft\\Aion\\system.cfg", fstream::trunc|fstream::binary);

f2 << f1.rdbuf();

}

system("cls"); //clear screen

cout << "Success!\n\n"; //give user a cookie

} 

void flush(void)

{

::FlushConsoleInputBuffer(::GetStdHandle(STD_INPUT_HANDLE));

}

 

 

 

5. Compile and Enjoy! Now it's a one click jobby

 

 

 

6. If you want a compiled version, pm me and I'll email it. I just didn't want to post an exe on the site :P

 

 

 

edit: i have better formatting then that, this forum killed all my indentation... and double spaced it for some reason... :P

 

  • 3 weeks later...
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Hey MaxCheaters! 👋 Introducing L2Soon.com — a free international platform for Lineage 2 server announcements.   Why L2Soon? No more searching through dozens of forums and Discord servers. All new L2 server openings are in one place — updated daily, with real player online counts so you always know where people actually play.   Features: 🔔 Telegram Bot (@l2Soon_bot) — alerts 24h & 1h before server launch 📅 Accurate launch times — in your local timezone ⚔️ All chronicles — Interlude, High Five, GoD, Classic, Essence, Grand Crusade and more 🎯 Filters — by chronicle, rates (x1–x1000+) and server type (PvP, RvR, GvE, Craft, Low Rate...) ⭐ VIP servers — verified projects pinned at the top 🌍 Multi-language — EN, UK, RU, PT   Listing is completely FREE. 🔗 https://l2soon.com/en Feedback welcome — drop a comment or contact us via Telegram @l2Soon_bot
    • Download Lobby u need island for lobby Download Crow Island  
    • Website: https://l2elixir.org/ Discord: https://discord.gg/5ydPHvhbxs    
    • L2-LORENA x100 MID RATE   Interlude Nostalgia Meets Modern Gameplay   OFFICIAL OPENING:  April 4 (Saturday)  19:00 UTC+1 ⸻  MAIN INFORMATION  Adena: x5  Drop: x10  Spoil: x10  Raid Boss: x10  Seal Stones: x2  Quests: x10 ⸻  FEATURES  GM Shop up to B-Grade  Full Buffer  Premium System (x2 bonuses)  AutoFarm – FREE for everyone ⸻  SERVER CONCEPT  Classic Interlude nostalgia  Enhanced with modern interface & mechanics  Balanced PvP & PvE gameplay  Active development & custom features ⸻  WHY JOIN L2-LORENA?  No Pay-to-Win  Smooth gameplay & stable server  Competitive PvP environment  Friendly & active community ⸻  JOIN US NOW L2-LORENA 100X <<< LINK Discord: https://discord.gg/TYZ88Tgx4b  Facebook: https://www.facebook.com/share/18kwbkaYZY/?mibextid=wwXIfr   L2-LORENA Link << Discord: https://discord.gg/TYZ88Tgx4b  Facebook: https://www.facebook.com/share/18kwbkaYZY/?mibextid=wwXIfr
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..