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!

How to auto give new players premium, stats, mapcodes etc

The Dinosaur
Loyal Member
Joined
Jun 29, 2008
Messages
5,028
Reaction score
999
There are several different ways of giving mapcodes, stats, alz and other things but all require several individual edits. There is a much much easier way but i have not seen anybody share it yet so here you are.

Most people know you can make all new accounts premium my editing the cabal_tool_registeraccount stored procedure in the account database but in case you don't look for this line in the stored procedure...

Code:
values(@UserNum, [COLOR=Red]0[/COLOR], [COLOR=Blue]DATEADD(day, 100 , getdate())[/COLOR], 0)

The red number is the account type. 0 is a free account and 1 is charged (premium). The blue number is the expiry date (the dateadd function is adding 100 days to today's date). Simply change the 0 to 1 to make all new chars premium and change the 100 if you want them to have more than 100 days of prem.

Here are the prem types from SAUR0N's client synch patch:
chumpywumpy - How to auto give new players premium, stats, mapcodes etc - RaGEZONE Forums


I have squashed the columns up a bit to get it all in but the actual column titles (in left to right order) are:

[DurationSvc] = The row index. This always starts at 0 and increments by values of 1.
DurationSvcIdx = The premium ServiceIdx number
Type = Not completely sure. I *think* 0 means premium expires by expiry date and 1 uses the PayMinutes values and counts down the minutes until expiry.
Exp = Bonus EXP
SklExp = Bonus Skill EXP
Drop = Bonus droprate
Craft = Bonus craft EXP
CraftSuccess = Bonus craft success
Inventory = Extra inventory tab
Warehouse = Extra warehouse tab
Str = Bonus STR
Dex = Bonus DEX
Int = Bonus INT
Attk = Bonus Attack
MgAttk = Bonus Magic Attack
AR = Bonus Attack Rate
DR = Bonus Defense rate
Defense = Bonus DEF
MoveSpeed = Bonus move speed
SP = Bonus EXP
UseSP = Not sure
BombAlz = Bonus Alz bomb rate
Inventory2 = 2nd extra inventory tab
Warehouse2 = 2nd extra warehouse tab
dummy = Use of training dummies

So, from this you can tell that a DurationSvcIdx of 1 gives you an extra 25% to all exp and drop rates and 200% Alz bomb but no training dummies. DurationSvcIdx of 2 give you the same, but Skill EXP is at 50%, you get 2 extra inventory tabs, 1 extra warehouse tab and access to training dummies.

Now comes the interesting bit. Execute the following statement in the account database and then try making a new char, it should be level 150 with a full mithril set and lots of points to add.

Code:
update cabal_newflagdata_table set chardataidx=8, etcdataidx=8 where channel=25
All very interesting, but why does it do that? To find out you need to look at some other tables in the account database...

chumpywumpy - How to auto give new players premium, stats, mapcodes etc - RaGEZONE Forums


cabal_character_count_table is the first place to look. Find an existing userid on your server and check the server idx, don't assume the server idx will be 24 like your configs.

chumpywumpy - How to auto give new players premium, stats, mapcodes etc - RaGEZONE Forums


If i look through cabal_newflagdata_table i can see my channel number has a chardataidx and an etcdataidx of 8 (we just changed this to 8 from 10). These 2 values are important as it tells the server what set of new character stats/equips etc. to use when creating new chars.

chumpywumpy - How to auto give new players premium, stats, mapcodes etc - RaGEZONE Forums


This table (cabal_newchardata_table for those that can't read title bars) holds the default stats, alz, mapcodes and a whole bunch of other stuff that gets used for new chars. Inventory, equips, quest data and some other stuff can be found in cabal_newetcdata. We have just told the server to use set 8 which you can see are not noobie stats, it was using 10 before just below the area i hilighted which are the normal new char stats.

If you look through these tables you will see that there are several different configurations. You can even mix and match the 2 values to use combinations of newchardata and newetcdata. You can even modify the sets using the info in darkxl's sticky to suit your own server, or even have multiple sets to have different new char data for high and low rate servers.

Warning: Most of the higher sets here have the equips already equipped but your stats aren't actually high enough to wear them as all of your points are unassigned. This does cause errors in the server logs and i have not done much testing for problems if you don't assign your stats high enough for the equips, but if you raise the stats straight away it should be fine. Obviously the better way is to alter the stats in the cabal_newchardata_table to match the kit the chars will be wearing though ;)
 
Last edited:
Newbie Spellweaver
Joined
Aug 6, 2008
Messages
64
Reaction score
0
this guide rocks.. good job sir chumpy...^^
 
Newbie Spellweaver
Joined
Oct 23, 2007
Messages
8
Reaction score
0
thanks for this good guide. And what statement I should do to disable that function?
 
Experienced Elementalist
Joined
Jan 29, 2005
Messages
210
Reaction score
3
hi nice guide... just tip...
type
Code:
0 = normal player
1 = charged/premium state
2 = Free time (everyday PM 21~22)/old style not f2p
3~? = is same type 1
here u set premium type
servicekind
server: etc/cabal/data/const.scp
Code:
[DurationSvc]	DurationSvcIdx	Type	Exp	SklExp	Drop	Craft	CraftSuccess	Inventory	Warehouse	Str	Dex	Int	Attk	MgAttk	AR	DR	Defense	MoveSpeed	SP	UseSP	BombAlz	Inventory2	Warehouse2	dummy
0	0	0	25	25	25	25	0	0	0	0	0	0	0	0	0	0	0	0	0	0	200	0	0	0
1	1	0	0	0	0	25	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
2	2	0	25	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
3	3	0	0	0	25	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
4	4	0	0	25	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
5	5	0	25	25	25	25	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
6	6	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
7	7	0	0	25	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
8	8	0	50	50	50	50	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
ps: u dont use chinese client... u need sync server side for u client...
 
Banned
Banned
Joined
Sep 6, 2007
Messages
834
Reaction score
167
i love the procedures and db ++
Nice release
 
Custom Title Activated
Loyal Member
Joined
Feb 27, 2004
Messages
1,378
Reaction score
50
for those who still don't get it.

this is editing the character templates. every time you create a hero... it will go to this and read from it.
 
Newbie Spellweaver
Joined
Jul 23, 2008
Messages
17
Reaction score
0
wut i done this thing and create character and see for yourself LOL :p

chumpywumpy - How to auto give new players premium, stats, mapcodes etc - RaGEZONE Forums



i only edited to add ALZ and maps and see what hapened ;/





OK FIXED !!!
i use 1 ;/ and now it's 10 and working
 
Experienced Elementalist
Loyal Member
Joined
Jun 11, 2006
Messages
214
Reaction score
0
how do i revert back to defualt becuase i used this querry and don't like the idea players being level 150 with all this stuff update cabal_newflagdata_table set chardataidx=8, etcdataidx=8 where channel=25
 
The Dinosaur
Loyal Member
Joined
Jun 29, 2008
Messages
5,028
Reaction score
999
Use the same query, but set chardataidx and etcdataidx back to 10.
 
The Cat in the Hat
Legend
Joined
Oct 26, 2005
Messages
4,475
Reaction score
677
I should have watched my mouth and not said/talked poop to DeadlyData telling him things like your are not welcome here because then I become the one who is truly not welcome here.
 
The Cat in the Hat
Legend
Joined
Oct 26, 2005
Messages
4,475
Reaction score
677
I should have watched my mouth and not said/talked poop to DeadlyData telling him things like your are not welcome here because then I become the one who is truly not welcome here.
 
Back
Top