• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Reward System - KalOnline

Joined
Mar 10, 2010
Messages
909
Reaction score
237
Reward System Almost As IntLike.
System Created By eXplode for Genesis-Kal


What left for the system is , a real time addon,
but its good like that for now ;)

eXplode KalOnline (c) 2012 - Reward System - YouTube


the geons as reward was only a test - you can change the rewards to another items.


___________________________________________________________________________
If anyone is selling a real time addon then leave a mesagge with price.​
 
Last edited:
Joined
Sep 10, 2006
Messages
1,243
Reaction score
179
Well, you seem to make a big deal of it.

I can write this in 1 minute:

Hook player update db query with an SP:

STORED PROCEDURE UpdatePlayer
@PID
@NewLevel
etc...
AS

DECLARE @OldLevel int

SET @OldLevel = SELECT [Level] FROM [Player] WHERE PID = @PID

IF(@OldLevel = 1 AND @NewLevel = 2)
begin
@iid = new iid blabla
INSERT INTO Mail ... @iid Money from pid with name servername
@iid = new iid blabla
INSERT INTO Mail ... @iid second item from pid with name servername
end

I surely want to see the realtime version ;)
 

ASN

Please STAHP!
Joined
Dec 21, 2010
Messages
919
Reaction score
729
Well, you seem to make a big deal of it.

I can write this in 1 minute:

Hook player update db query with an SP:

STORED PROCEDURE UpdatePlayer
@PID
@NewLevel
etc...
AS

DECLARE @OldLevel int

SET @OldLevel = SELECT [Level] FROM [Player] WHERE PID = @PID

IF(@OldLevel = 1 AND @NewLevel = 2)
begin
@iid = new iid blabla
INSERT INTO Mail ... @iid Money from pid with name servername
@iid = new iid blabla
INSERT INTO Mail ... @iid second item from pid with name servername
end

I surely want to see the realtime version ;)


"If anyone is selling a real time addon then leave a mesagge with price." xD

I bet we won't ever see the realtime version of it (ONLY IN CASE OF GENESIS KAL SERVER- edited for xiris aka umadbro)
 
Last edited:
Master Summoner
Joined
Feb 8, 2011
Messages
506
Reaction score
79
we had a realtime version :tongue:

though, very simpe poop

;) sirix you can get every thing so :p
but sirix please add me again on msn i want now learning c++ etc for kalonline so i dont know to start i got problems pls nice sir <3 xD
 
Joined
Sep 10, 2006
Messages
1,243
Reaction score
179
And the full SP of course:

Dbserver changes offset 2BFB0
PHP:
EXEC UpdatePlayer %d,%d,%d,%I64d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d

Stored procedure:
PHP:
CREATE PROCEDURE [dbo].[UpdatePlayer]

@Level int,
@Specialty int,
@Contribute int,
@Exp int,
@GRole int,
@Strength int,
@Health int,
@Intelligence int,
@Wisdom int,
@Dexterity int,
@CurHP int,
@CurMP int,
@PUPoint int,
@SUPoint int,
@Killed int,
@Map int,
@X int,
@Y int,
@Z int,
@Rage int,
@PID int

AS

DECLARE @CurrentLevel int
DECLARE @iid int
DECLARE @AdminPID int
DECLARE @TimetS int
DECLARE @TimetE int
DECLARE @OldLevel int
DECLARE @Name varchar(14)

SET @TimetS = (SELECT DATEDIFF(s, '19700101', GETDATE()))
SET @TimetE = @TimetS + 172800;
SET @AdminPID = 28980; --admin pid you want to send gifts from
SET @OldLevel = (SELECT TOP 1 [Level] FROM Player WHERE PID = @PID)
SET @Name = (SELECT TOP 1 [Name] FROM Player WHERE PID = @PID)

IF(@OldLevel < 50 AND @Level >= 50) --change this to the level you want reward on, in this example it is level 50
BEGIN
SET @iid = (SELECT TOP 1 IID FROM Item WHERE IID < 1500000000 ORDER BY IID DESC) + 1 --my method of adding IIDs that dont duplicate, add a random item with IID 1500000000 before running the dbserver and mainserver

INSERT INTO Item ( [PID], [IID], [Index], [Prefix], [Info], [Num], [MaxEnd], [CurEnd], [SetGem], [XAttack], [XMagic], [XDefense], [XHit], [XDodge], [UpgrLevel], [UpgrRate], [Protect])
 VALUES ( @AdminPID, @iid, 31, 0, 0, 1000000, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0) --inserting money to admin pid

INSERT INTO Mail ([TimetS], [TimetE], [Priority], [Type], [Status], [SPID], [SName], [RPID], [RName], [IID], [Ver], [Index], [Prefix], [Num], [Pay], [Msg]) 
VALUES ( @TimetS, @TimetE, 0, 1, 0, @AdminPID, 'New World Kal', @PID, @Name, 0, 0, 31, 0, 1000000, 0, 'test') --inserting mail

UPDATE Player SET [Level] = @Level, [Specialty] = @Specialty, [Contribute] = @Contribute, [Exp] = @Exp, [GRole] = @GRole, [Strength] = @Strength, [Health] = @Health, [Intelligence] = @Intelligence, [Wisdom] = @Wisdom, [Dexterity] = @Dexterity, [CurHP] = @CurHP, [CurMP] = @CurMP, [PUPoint] = @PUPoint, [SUPoint] = @SUPoint, [Killed] = @Killed, [Map] = @Map, [X] = @X, [Y] = @Y, [Z] = @Z, [Rage] = @Rage WHERE [PID] = @PID
END
ELSE
BEGIN
UPDATE Player SET [Level] = @Level, [Specialty] = @Specialty, [Contribute] = @Contribute, [Exp] = @Exp, [GRole] = @GRole, [Strength] = @Strength, [Health] = @Health, [Intelligence] = @Intelligence, [Wisdom] = @Wisdom, [Dexterity] = @Dexterity, [CurHP] = @CurHP, [CurMP] = @CurMP, [PUPoint] = @PUPoint, [SUPoint] = @SUPoint, [Killed] = @Killed, [Map] = @Map, [X] = @X, [Y] = @Y, [Z] = @Z, [Rage] = @Rage WHERE [PID] = @PID
END
 
Joined
Jun 23, 2006
Messages
782
Reaction score
399
;) sirix you can get every thing so :p
but sirix please add me again on msn i want now learning c++ etc for kalonline so i dont know to start i got problems pls nice sir <3 xD
Even if you're on his list, he can't help you at the start.
Buy a C++ book, for VS2010 or whatever you'll use...
Then learn the basics of Asm...
Come back in 1 year.
cplusplus.com - The C++ Resources Network
C++-Programmierung – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher


And the full SP of course:

PHP:
CREATE PROCEDURE [dbo].[UpdatePlayer]

@Level int,
@Specialty int,
@Contribute int,
@Exp int,
@GRole int,
@Strength int,
@Health int,
@Intelligence int,
@Wisdom int,
@Dexterity int,
@CurHP int,
@CurMP int,
@PUPoint int,
@SUPoint int,
@Killed int,
@Map int,
@X int,
@Y int,
@Z int,
@Rage int,
@PID int

AS

DECLARE @CurrentLevel int
DECLARE @iid int
DECLARE @AdminPID int
DECLARE @TimetS int
DECLARE @TimetE int
DECLARE @OldLevel int
DECLARE @Name varchar(14)

SET @TimetS = (SELECT DATEDIFF(s, '19700101', GETDATE()))
SET @TimetE = @TimetS + 172800;
SET @AdminPID = 28980; --admin pid you want to send gifts from
SET @OldLevel = (SELECT TOP 1 [Level] FROM Player WHERE PID = @PID)
SET @Name = (SELECT TOP 1 [Name] FROM Player WHERE PID = @PID)

IF(@OldLevel < 50 AND @Level >= 50) --change this to the level you want reward on, in this example it is level 50
BEGIN
SET @iid = (SELECT TOP 1 IID FROM Item WHERE IID < 1500000000 ORDER BY IID DESC) + 1 --my method of adding IIDs that dont duplicate, add a random item with IID 1500000000 before running the dbserver and mainserver

INSERT INTO Item ( [PID], [IID], [Index], [Prefix], [Info], [Num], [MaxEnd], [CurEnd], [SetGem], [XAttack], [XMagic], [XDefense], [XHit], [XDodge], [UpgrLevel], [UpgrRate], [Protect])
 VALUES ( @AdminPID, @iid, 31, 0, 0, 1000000, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0) --inserting money to admin pid

INSERT INTO Mail ([TimetS], [TimetE], [Priority], [Type], [Status], [SPID], [SName], [RPID], [RName], [IID], [Ver], [Index], [Prefix], [Num], [Pay], [Msg]) 
VALUES ( @TimetS, @TimetE, 0, 1, 0, @AdminPID, 'New World Kal', @PID, @Name, 0, 0, 31, 0, 1000000, 0, 'test') --inserting mail

UPDATE Player SET [Level] = @Level, [Specialty] = @Specialty, [Contribute] = @Contribute, [Exp] = @Exp, [GRole] = @GRole, [Strength] = @Strength, [Health] = @Health, [Intelligence] = @Intelligence, [Wisdom] = @Wisdom, [Dexterity] = @Dexterity, [CurHP] = @CurHP, [CurMP] = @CurMP, [PUPoint] = @PUPoint, [SUPoint] = @SUPoint, [Killed] = @Killed, [Map] = @Map, [X] = @X, [Y] = @Y, [Z] = @Z, [Rage] = @Rage WHERE [PID] = @PID
END
ELSE
BEGIN
UPDATE Player SET [Level] = @Level, [Specialty] = @Specialty, [Contribute] = @Contribute, [Exp] = @Exp, [GRole] = @GRole, [Strength] = @Strength, [Health] = @Health, [Intelligence] = @Intelligence, [Wisdom] = @Wisdom, [Dexterity] = @Dexterity, [CurHP] = @CurHP, [CurMP] = @CurMP, [PUPoint] = @PUPoint, [SUPoint] = @SUPoint, [Killed] = @Killed, [Map] = @Map, [X] = @X, [Y] = @Y, [Z] = @Z, [Rage] = @Rage WHERE [PID] = @PID
END
spatti88 - Reward System - KalOnline - RaGEZONE Forums
 
Experienced Elementalist
Joined
Dec 25, 2011
Messages
256
Reaction score
208
has this been tested against people rolling back there character on purpose from 111 to 109 or 110 or w/e level and then back to 111 again getting the reward again.

The levels i used was just an example but a better example is the 31k overflow issues with higher level users or donors on higher rate servers where they can just leave there armors on and rollback anytime they want to.

dont say fix the rollback issues because the stored procedure fixes i have found dont work for it and i wont use dll crap to fix it so ill just deal with my overflow issues idc about that.

Just want to know if its possible to continue to keep rolling back with this and getting the reward over and over again ?


oh btw this was in regards to the stored procedure not the crappy realtime one the guy was talking about in the start of this post.
 
Joined
Sep 10, 2006
Messages
1,243
Reaction score
179
How can you rollback your level without reborn system?

@Zen: you can't with SP, you need to relog to see the icon.

It works like this:
- Sender sends FL -> Gets added to both mainserver and to DB
- Mainserver processes and sends a packet to Receiver if he's online
- Packet received -> show FL icon
 
Experienced Elementalist
Joined
Dec 25, 2011
Messages
256
Reaction score
208
How can you rollback your level without reborn system?

@Zen: you can't with SP, you need to relog to see the icon.

It works like this:
- Sender sends FL -> Gets added to both mainserver and to DB
- Mainserver processes and sends a packet to Receiver if he's online
- Packet received -> show FL icon



I asked because i do have a reborn system.

Nvm you answered my question anyway. This is worthless for anyone to use unless you run a boring INT rippoff.


95% of kalonline servers are reborn systems now incase no one noticed.

thanks
 

Zen

Custom Title Activated
Loyal Member
Joined
Dec 2, 2006
Messages
1,621
Reaction score
152
How can you rollback your level without reborn system?

@Zen: you can't with SP, you need to relog to see the icon.

It works like this:
- Sender sends FL -> Gets added to both mainserver and to DB
- Mainserver processes and sends a packet to Receiver if he's online
- Packet received -> show FL icon

Thanks Bjorn.


Also, thanks for the PM zadawski, much appreciated! :thumbup:
 
make Love, not War!
Joined
Feb 2, 2008
Messages
511
Reaction score
407
Reward System Almost As IntLike.
System Created By eXplode for Genesis-Kal


What left for the system is , a real time addon,
but its good like that for now ;)

eXplode KalOnline (c) 2012 - Reward System - YouTube


the geons as reward was only a test - you can change the rewards to another items.


___________________________________________________________________________
If anyone is selling a real time addon then leave a mesagge with price.​
The best is in the end of the video: "explode is about to explode" :D :D made my day
 
Experienced Elementalist
Joined
Jul 14, 2011
Messages
239
Reaction score
53
Bjorn u always awesome
 
Back
Top