Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Open Source C++ library!?

Skilled Illusionist
Joined
Mar 20, 2009
Messages
374
Reaction score
378
Hey folks,
I wonder if the kal community is interested in an open source C ++ library.
I would be willing to share my current library with everyone.
But only if there is serious interest.

If there is interest and you are willing to work with me and expand it, I would open a new thread in the development area and post a part of my current library where everyone can post additional features or suggestions for improvement.

I would also be willing to publish everything I have ever programmed for kal.
I do this only when there is serious interest in it.

Together we can achieve more and I would be glad to share my knowledge with everyone.

Let me hear what you all think about the idea.
-Darn
 

ASN

Please STAHP!
Joined
Dec 21, 2010
Messages
919
Reaction score
729
Sure they are, but only to leech it all. Waste of time, everyone can just use cracked r3vo repack which already offers many features. There is no base to work on and even if there was, you'd be probably working on it alone. Can't you see this section is kind of dead?:p r3vo pretty much killed any kind of variety, competition, imagination with his copy paste repack that spread like a virus, no one tries to do anything on their own, zero efforts.

So yea, share it all, but don't forget to release it as ready to use .dlls, cuz that's what you'll be asked to do :D
 
Junior Spellweaver
Joined
Jan 6, 2016
Messages
184
Reaction score
55
Hell yea we need this again. I'm in.
 
Last edited:
Banned
Banned
Joined
Jul 14, 2016
Messages
184
Reaction score
77
Sure they are, but only to leech it all. Waste of time, everyone can just use cracked r3vo repack which already offers many features. There is no base to work on and even if there was, you'd be probably working on it alone. Can't you see this section is kind of dead?:p r3vo pretty much killed any kind of variety, competition, imagination with his copy paste repack that spread like a virus, no one tries to do anything on their own, zero efforts.

So yea, share it all, but don't forget to release it as ready to use .dlls, cuz that's what you'll be asked to do :D
Nobody has any imagination anymore ???

Well if we had a GOOD non backdoored base to work from that is UNIVERSAL and everyone can figure out how to use the fuckin things ( unlike r3vos crappy pack you mentioned ) maybe we could be more creative !!!

I myself am a very creative person with my servers but this has not been able to be done because of the lack of working poop to try and make anything creative with ....

You guys seem to think everyone should be a coder and know how to make everything on their own but the fact is not everyone has that ability !!

The only answers to everything around here anymore is MAKE IT YOURSELF, MAKE A DLL FOR IT, IF YOUR NOT A CODER THEN FORGET ABOUT IT ...

GREAT words of wisdom to keep a community going !!!

Yes there are alot of greedy leechers but there always has been that has NEVER changed and NEVER will but if you allow that to kill a whole community then you clearly were never part of the "community" to begin with !!


Back on point of this thread ....

I think this would be a great idea to not only further the community but to also get more people interested in learning to code especially if they are coding for the same base and can get familiar with working on one project instead of multiples
 
Elite Diviner
Joined
Jun 17, 2012
Messages
422
Reaction score
149
Great idea, i'm very interested in programming and i believe there's a lot of people here interested in it too, so sharing would be good for the kal community to learn, help each other and grow.

good luck everyone :)
 
Initiate Mage
Joined
Feb 10, 2012
Messages
84
Reaction score
10
and ye for whice version of kal old engine ? 2012 , 2016? current 2017? it getting really annoying with unpublic versions of kalonline its better to create a uptodate public server like old people did before with the first released kalonline files its my point of view so we can do things for the current public kalonline version
 
Initiate Mage
Joined
Mar 9, 2007
Messages
52
Reaction score
62
I think it would be kinda cool to compile all the sources everyone has and work out a library concept with those. From what I've seen pretty much everyone has used different approaches for their stuff.

If we had a guideline how to go about adding stuff to the library, that'd be neat.

As someone who has added things here and there to my source over time I'd like to see what you got so far and if I can contribute anything.

I'd also like to create some sort of checklist for the new client files: Fixes necessary, Missing features server side etc. compared to what we already have.
 
Last edited:
Initiate Mage
Joined
Dec 16, 2008
Messages
55
Reaction score
20
Nice to see that all the 'old' developers are replying back. The reason I stopped working on my addons is because there isn't a stable base around there atm. Only something you have to pay 250 euro for, which is kind a ridiculous in my opinion.

I suggest we should create a clean stable repack, like Exe's repack a back while, but then with the new client.
Put some basic functionality like the current addons in it and build it up from there. I'm willing to contribute my time and effort again If i have a stable base to work from, and not a base that has backdoors everywhere.

Well anyway, I hope you guys feel the same and maybe we can bring the Kal Community back to life
 
off@kal. - on@gw2/d3 :)
Joined
May 30, 2009
Messages
772
Reaction score
480
Nice to see that all the 'old' developers are replying back. The reason I stopped working on my addons is because there isn't a stable base around there atm. Only something you have to pay 250 euro for, which is kind a ridiculous in my opinion.

I suggest we should create a clean stable repack, like Exe's repack a back while, but then with the new client.
Put some basic functionality like the current addons in it and build it up from there. I'm willing to contribute my time and effort again If i have a stable base to work from, and not a base that has backdoors everywhere.

Well anyway, I hope you guys feel the same and maybe we can bring the Kal Community back to life

NWK files include basic functions, and it is opensource, but not stable
 
off@kal. - on@gw2/d3 :)
Joined
May 30, 2009
Messages
772
Reaction score
480
i did released it? no lol, was a project from kealy, erik, sirix, alexei etc.

it was the first "new engine" project in kal developed by members from ragezone, they made it completely opensource then, after that others did start to work with it or learn from it, im not 100% sure but guess all other new engine servers only exist cuz NWK released their files, like bango from revo and lafreak, shinra from akamaru etc

€dit: im not a coder at all, just did made a small addon with alot help from Darn, alexei (Stiker), revo lafreak bloodx etc.. im a noob with that kind of stuff ^^
 
Joined
Sep 10, 2006
Messages
1,243
Reaction score
179
i did released it? no lol, was a project from kealy, erik, sirix, alexei etc.

it was the first "new engine" project in kal developed by members from ragezone, they made it completely opensource then, after that others did start to work with it or learn from it, im not 100% sure but guess all other new engine servers only exist cuz NWK released their files, like bango from revo and lafreak, shinra from akamaru etc

€dit: im not a coder at all, just did made a small addon with alot help from Darn, alexei (Stiker), revo lafreak bloodx etc.. im a noob with that kind of stuff ^^

It was leaked, not really released.
 
Banned
Banned
Joined
Jul 14, 2016
Messages
184
Reaction score
77
i did released it? no lol, was a project from kealy, erik, sirix, alexei etc.

it was the first "new engine" project in kal developed by members from ragezone, they made it completely opensource then, after that others did start to work with it or learn from it, im not 100% sure but guess all other new engine servers only exist cuz NWK released their files, like bango from revo and lafreak, shinra from akamaru etc

€dit: im not a coder at all, just did made a small addon with alot help from Darn, alexei (Stiker), revo lafreak bloodx etc.. im a noob with that kind of stuff ^^

Sorry i wasnt paying attention to the NWK part lol i thought your were referring to your newest nation kal server you made.

Im hoping @Darn decides to create a thread soon with the open source so we can start creating servers again.

I miss building them.

Also i am looking forward to the source for the updater @Darn coded if he releases all his sources he has done up to this point like he said he was going to do if he decides to do this project.

I have coded a pretty cool addon from his old source he released a few years ago and i have been waiting to see if it will actually work on the new engine as well as the old engine.

If it works on the new engine too i will finally be able to release it as working on all engines. It seems like it would be pointless for me to release it as an old engine release if we are all going to start working from the same base.

Then i will just code it again from the new source library included in the new open source project.

Example of Config.ini

Code:
[RewardItem_106]
Level = 106
Index = 25241
Amount = 105
AutoReward_Message1 = *x105 Reward Cash
AutoBuff_Message = &You have been blessed with a G10 hp bless med - Recovers 1000 hp point every second for 10 minutes or untill you die or relog.
AutoExpBoost_Message = &+2000 Experience Points
Exp = 2000


[RewardItem_107]
Level = 107
Index = 25241
Amount = 105
AutoReward_Message1 = *x105 Reward Cash
AutoBuff_Message = &You have been blessed with 30 minute mage buffs +25
AutoExpBoost_Message = &+2000 Experience Points
Exp = 2000


[RewardItem_108]
Level = 108
Index = 25241
Amount = 105
AutoReward_Message1 = *x105 Reward Cash
AutoExpBoost_Message = &+2000 Experience Points
Exp = 2000


[RewardItem_109]
Level = 109
Index = 25241
Amount = 105
AutoReward_Message1 = *x105 Reward Cash
AutoExpBoost_Message = &+2000 Experience Points
Exp = 2000


[RewardItem_110]
Level = 110
Index = 25241
Amount = 110
AutoReward_Message1 = *x110 Reward Cash
AutoExpBoost_Message = &+2000 Experience Points
Exp = 2000


[RewardItem_111]
Level = 111
Index = 663
Amount = 150
AutoReward_Message1 = *x150 Honor Points
AutoRemind_Message = $You are now level 131
AutoExpBoost_Message = &+500000000 Experience Points
Exp = 500000000


[RewardItem_131]
Level = 131
Index =
Amount =
AutoReward_Message1 =


[RewardItem_132]
Level = 132
Index = 25405
Amount = 250
AutoReward_Message1 = *x250 Skillbook Points
AutoBuff_Message = &You have been blessed with a G10 hp bless med - Recovers 1000 hp point every second for 10 minutes or untill you die or relog.
AutoExpBoost_Message = &+781250 Experience Points
Exp = 781250

Features of the addon are:

Auto Gap built in - ( you can set the exp value so you can jump automatically to whatever level you need the gap to be - in my case with my level extension it will auto level you from 111 to 131 so you can start gaining exp and drops again )

Auto Rewards - ( you set item values and amounts in the config so player gets rewards on level up )

Auto Rewards Message - ( the player gets a message telling him or her what they just received as a reward on level up )

Auto Exp Boost - ( set an exp value to give as a bonus boost on level up )

Auto Exp Boost Message - ( the player gets a message telling him or her how much exp they just received as a reward on level up )

Auto Buffs - ( you can set the level value of when the player will receive certain buffs on level up. For example: At level 30 you can make the player receive all kal cash buffs so they do not have to buy them when they first start playing your server, also another example is to give player a crit med buff on level up for whatever amount of time you determine )

Auto Buff Message - ( the player gets a message telling him or her what buffs they just received as a reward on level up )

Auto Teleport - ( you can set the teleport value to teleport a player on level up to a set location. Example of its use: Player turns level 111 time to reborn so he gets auto teleported to a reborn village or w/e its an example )

Auto Teleport Message - ( the player gets a message telling him or her where they just got teleported )



The only problem with this addon is ALOT of it is hardcoded into the source so it is hard to just "release" it as a done project because every server will want different buffs added into the actual source which means different index numbers etc ...

I am not a "coder" like for example Darn and R3vo so i did not know how to really go about adding the buffs into the Config.ini so you can actually manually add the buff indexes of any buff you would want to use.

So i hardcoded it into the source itself since it was just used for my servers i did not need to make it as a Full Config System.

Maybe it will be able to finally be released to the public once the new base @Darn is talking about gets started and i can completely rebuild the code with the help of a few of the more experienced coders in the section.

Its a pretty bad butt addon and has a ton of potential !!
 
Last edited:
Elite Diviner
Joined
Jun 17, 2012
Messages
422
Reaction score
149
The only problem with this addon is ALOT of it is hardcoded into the source so it is hard to just "release" it as a done project because every server will want different buffs added into the actual source which means different index numbers etc ...

I am not a "coder" like for example Darn and R3vo so i did not know how to really go about adding the buffs into the Config.ini so you can actually manually add the buff indexes of any buff you would want to use.

So i hardcoded it into the source itself since it was just used for my servers i did not need to make it as a Full Config System.

Hi,

I've write a small example for you based on your config style, here it is:
Code:
#include "iniConfig.h"

void iniConfig::Load_Config_LevelRewards(){
	CIniReader *reader = new CIniReader(".\\TiMoConfigs\\LevelReward.txt");

	LevelReward_CBuffIndex = reader->ReadInteger("[CustomBuffs]", "BuffIndex", 0);
	LevelReward_CBuffState = reader->ReadInteger("[CustomBuffs]", "BuffState", 0);
	LevelReward_CBuffCD = reader->ReadInteger("[CustomBuffs]", "BuffCD", 0);

	LevelReward_Strength = reader->ReadInteger("BuffReward", "Strength", 0);
	LevelReward_Health = reader->ReadInteger("BuffReward", "Health", 0);
	LevelReward_Agility = reader->ReadInteger("BuffReward", "Agility", 0);
	LevelReward_Intelligence = reader->ReadInteger("BuffReward", "Intelligence", 0);
	LevelReward_Critical = reader->ReadInteger("BuffReward", "Critical", 0);
	LevelReward_Defense = reader->ReadInteger("BuffReward", "Defense", 0);
	LevelReward_Refine = reader->ReadInteger("BuffReward", "Refine", 0);
	LevelReward_Speed = reader->ReadInteger("BuffReward", "Speed", 0);

	LevelReward_Level = reader->ReadInteger("LevelReward", "Level", 0);
	LevelReward_Index = reader->ReadInteger("LevelReward", "Index", 0);
	LevelReward_Amount = reader->ReadInteger("LevelReward", "Amount", 0);
	LevelReward_StatePoint = reader->ReadInteger("LevelReward", "StatePoint", 0);
	LevelReward_SkillPoint = reader->ReadInteger("LevelReward", "SkillPoint", 0);

	LevelReward_Buffs = reader->ReadBoolean("LevelReward", "BuffReward", false);
	LevelReward_CustomBuffs = reader->ReadBoolean("LevelReward", "CustomBuffs", false);

	LevelReward_MsgType = reader->ReadString("LevelReward", "MessageType", "");
	LevelReward_Msg = reader->ReadString("LevelReward", "Message", "");

	delete reader;
}

Code:
void iLevelUp::LevelUpRewards(){
	if (this->player->GetLevel() == this->config->LevelReward_Level){
		this->player->InsertItem(this->config->LevelReward_Index, this->config->LevelReward_Amount);
		this->player->SetStatPoints(this->player->GetStatPoints() + this->config->LevelReward_StatePoints);
		this->player->SetSkillPoints(this->player->GetStatPoints() + this->config->LevelReward_SkillPoints);
		if (this->config->LevelReward_Buffs){
			this->player->CancelallBuffs();
			this->player->InsertallBuffs(this->config->LevelReward_Strength, this->config->LevelReward_Health,
				this->config->LevelReward_Agility, this->config->LevelReward_Intelligence,
				this->config->LevelReward_Critical, this->config->LevelReward_Defense,
				this->config->LevelReward_Refine, this->config->LevelReward_Speed);
		}
		else if (this->config->LevelReward_CustomBuffs){
			this->player->InsertBuff(this->config->LevelReward_CBuffIndex, this->config->LevelReward_CBuffState, this->config->LevelReward_CBuffCD);
		}
		if (this->config->LevelReward_MsgType == "notice"){
			this->player->Notice(this->config->LevelReward_Msg);
		}
		else if (this->config->LevelReward_MsgType == "chatmsg"){
			this->player->ChatMsg("Server", this->config->LevelReward_Msg);
		}
	}
}

CancelallBuffs and InsertallBuffs functions:
Code:
void Player::CancelallBuffs()
{
	Server::CChar::CancelBuff(this->playerpointer, 46);
	Server::CChar::CancelBuff(this->playerpointer, 47);
	Server::CChar::CancelBuff(this->playerpointer, 48);
	Server::CChar::CancelBuff(this->playerpointer, 49);
	Server::CChar::CancelBuff(this->playerpointer, 50);
	Server::CChar::CancelBuff(this->playerpointer, 37);
	Server::CChar::CancelBuff(this->playerpointer, 36);
	Server::CChar::CancelBuff(this->playerpointer, 12);
}

void Player::InsertallBuffs(int str, int hlth, int agi, int intel, int crit, int def, int ref, int speed)
{
		int Strength = Server::CChar::CreateBuff(46, 1800, str, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Strength);

		int Health = Server::CChar::CreateBuff(47, 1800, hlth, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Health);

		int Agility = Server::CChar::CreateBuff(48, 1800, agi, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Agility);

		int Intelligence = Server::CChar::CreateBuff(49, 1800, intel, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Intelligence);

		int Critical = Server::CChar::CreateBuff(50, 1800, crit, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Critical);

		int Defense = Server::CChar::CreateBuff(37, 1800, def, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Defense);

		int Refine = Server::CChar::CreateBuff(36, 1800, ref, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer + 180))(this->playerpointer, Refine);

		int Speed = Server::CChar::CreateBuff(12, 1800, speed, 0);
		(*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Speed);
	
}

and finally LevelReward.txt (config file):
Code:
[CustomBuffs]
BuffIndex = 12
BuffStats = 90
BuffCD = 3600

[BuffReward]
Strength = 20
Health = 20
Agility = 20
Intelligence = 20
Critical = 9
Defense	= 67
Refine = 58
Speed =	80

[LevelReward]
Level = 70
Index = 5007
Amount = 1
StatPoint = 10
SkillPoint = 5
BuffReward = true
CustomBuffs = false
MessageType = chatmsg
Message = $congratulation

Please note that this is a fast-written example and i didn't test it so there could be a mistakes..

also it should work on both engine;.

Hope i helped you :)
 
Banned
Banned
Joined
Jul 14, 2016
Messages
184
Reaction score
77
Hi,

I've write a small example for you based on your config style, here it is:
Code:
#include "iniConfig.h"

void iniConfig::Load_Config_LevelRewards(){
    CIniReader *reader = new CIniReader(".\\TiMoConfigs\\LevelReward.txt");

    LevelReward_CBuffIndex = reader->ReadInteger("[CustomBuffs]", "BuffIndex", 0);
    LevelReward_CBuffState = reader->ReadInteger("[CustomBuffs]", "BuffState", 0);
    LevelReward_CBuffCD = reader->ReadInteger("[CustomBuffs]", "BuffCD", 0);

    LevelReward_Strength = reader->ReadInteger("BuffReward", "Strength", 0);
    LevelReward_Health = reader->ReadInteger("BuffReward", "Health", 0);
    LevelReward_Agility = reader->ReadInteger("BuffReward", "Agility", 0);
    LevelReward_Intelligence = reader->ReadInteger("BuffReward", "Intelligence", 0);
    LevelReward_Critical = reader->ReadInteger("BuffReward", "Critical", 0);
    LevelReward_Defense = reader->ReadInteger("BuffReward", "Defense", 0);
    LevelReward_Refine = reader->ReadInteger("BuffReward", "Refine", 0);
    LevelReward_Speed = reader->ReadInteger("BuffReward", "Speed", 0);

    LevelReward_Level = reader->ReadInteger("LevelReward", "Level", 0);
    LevelReward_Index = reader->ReadInteger("LevelReward", "Index", 0);
    LevelReward_Amount = reader->ReadInteger("LevelReward", "Amount", 0);
    LevelReward_StatePoint = reader->ReadInteger("LevelReward", "StatePoint", 0);
    LevelReward_SkillPoint = reader->ReadInteger("LevelReward", "SkillPoint", 0);

    LevelReward_Buffs = reader->ReadBoolean("LevelReward", "BuffReward", false);
    LevelReward_CustomBuffs = reader->ReadBoolean("LevelReward", "CustomBuffs", false);

    LevelReward_MsgType = reader->ReadString("LevelReward", "MessageType", "");
    LevelReward_Msg = reader->ReadString("LevelReward", "Message", "");

    delete reader;
}

Code:
void iLevelUp::LevelUpRewards(){
    if (this->player->GetLevel() == this->config->LevelReward_Level){
        this->player->InsertItem(this->config->LevelReward_Index, this->config->LevelReward_Amount);
        this->player->SetStatPoints(this->player->GetStatPoints() + this->config->LevelReward_StatePoints);
        this->player->SetSkillPoints(this->player->GetStatPoints() + this->config->LevelReward_SkillPoints);
        if (this->config->LevelReward_Buffs){
            this->player->CancelallBuffs();
            this->player->InsertallBuffs(this->config->LevelReward_Strength, this->config->LevelReward_Health,
                this->config->LevelReward_Agility, this->config->LevelReward_Intelligence,
                this->config->LevelReward_Critical, this->config->LevelReward_Defense,
                this->config->LevelReward_Refine, this->config->LevelReward_Speed);
        }
        else if (this->config->LevelReward_CustomBuffs){
            this->player->InsertBuff(this->config->LevelReward_CBuffIndex, this->config->LevelReward_CBuffState, this->config->LevelReward_CBuffCD);
        }
        if (this->config->LevelReward_MsgType == "notice"){
            this->player->Notice(this->config->LevelReward_Msg);
        }
        else if (this->config->LevelReward_MsgType == "chatmsg"){
            this->player->ChatMsg("Server", this->config->LevelReward_Msg);
        }
    }
}

CancelallBuffs and InsertallBuffs functions:
Code:
void Player::CancelallBuffs()
{
    Server::CChar::CancelBuff(this->playerpointer, 46);
    Server::CChar::CancelBuff(this->playerpointer, 47);
    Server::CChar::CancelBuff(this->playerpointer, 48);
    Server::CChar::CancelBuff(this->playerpointer, 49);
    Server::CChar::CancelBuff(this->playerpointer, 50);
    Server::CChar::CancelBuff(this->playerpointer, 37);
    Server::CChar::CancelBuff(this->playerpointer, 36);
    Server::CChar::CancelBuff(this->playerpointer, 12);
}

void Player::InsertallBuffs(int str, int hlth, int agi, int intel, int crit, int def, int ref, int speed)
{
        int Strength = Server::CChar::CreateBuff(46, 1800, str, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Strength);

        int Health = Server::CChar::CreateBuff(47, 1800, hlth, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Health);

        int Agility = Server::CChar::CreateBuff(48, 1800, agi, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Agility);

        int Intelligence = Server::CChar::CreateBuff(49, 1800, intel, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Intelligence);

        int Critical = Server::CChar::CreateBuff(50, 1800, crit, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Critical);

        int Defense = Server::CChar::CreateBuff(37, 1800, def, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Defense);

        int Refine = Server::CChar::CreateBuff(36, 1800, ref, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer + 180))(this->playerpointer, Refine);

        int Speed = Server::CChar::CreateBuff(12, 1800, speed, 0);
        (*(int(__thiscall **)(void*, unsigned long))(*(unsigned long *)this->playerpointer+ 180))(this->playerpointer, Speed);
    
}

and finally LevelReward.txt (config file):
Code:
[CustomBuffs]
BuffIndex = 12
BuffStats = 90
BuffCD = 3600

[BuffReward]
Strength = 20
Health = 20
Agility = 20
Intelligence = 20
Critical = 9
Defense    = 67
Refine = 58
Speed =    80

[LevelReward]
Level = 70
Index = 5007
Amount = 1
StatPoint = 10
SkillPoint = 5
BuffReward = true
CustomBuffs = false
MessageType = chatmsg
Message = $congratulation

Please note that this is a fast-written example and i didn't test it so there could be a mistakes..

also it should work on both engine;.

Hope i helped you :)

Awesome !!

Yes you helped me alot already since i did not really know where to begin on adding it to the config.

I will adapt your code to mine and see what i come up with and i will post results when i am done testing it.

Thank you very much !!

It is nice to see this ... the community actually coming together to achieve 1 common goal.

I hope it turns into something more than just a thread that gets ignored later.



ah okay, but it was the base from the files today, am right?

Yeah i think pretty much all 4 class servers can thank NWK for their base because without it the whole thief, 3 job etc ... would not be where it is today without that base.

However Madknight and R3vo completely changed how the coders in this section did things and do things today in my opinion and now we are much more capable of making the engines do whatever we want them to do simply by injecting a DLL into the equation and poof ... magic

Sooo crazy how much has changed in even just the last 5 years but some of us have been here even longer than that since back when kal private servers barely even existed and the files were much simpler back then.
 
Joined
Oct 11, 2007
Messages
1,706
Reaction score
517
If you do go ahead with something like this, make sure to make a github.
I mean, at least it would be interesting to see how you did the tooltips, that was a pretty sweet idea :).
 
Back
Top