vot tebe drugaja togda sistema posmotri Intaljacuju (IMG:
style_emoticons/default/smile.gif)
[code]
//INSTALLATION:
//Just place the script in your sphere directory
//To all monsters you want to add experience to you
//need to add TEVENTS=e_exp with the events and
//add TAG.EXPVALUE=## where ## is its exp value
//under ON=@CREATE of your monsters script
//for a more random exp use TAG.EXPVALUE=<eval {# ##}>
//where # is the lowest exp and ## is the highest.
//but if you use the random numbers remember to turn off expvary
//or your exp will get wacky.
//After that you should change all the options to your
//liking and your shards tastes
[DEFNAME LEVEL_EXP]
l_two 100
l_three 200
l_four 300
l_five 500
l_six 800
l_seven 1300
l_eight 2100
l_nine 3400
l_ten 5500
l_eleven 8900
l_twelve 14400
l_thirteen 23300
l_fourteen 37700
l_fifteen 61000
l_sixteen 98700
l_seventeen 159700
l_eighteen 258400
l_nineteen 418100
l_twenty 676500
l_twentyone 1094600
l_twentytwo 1771100
l_twentythree 2865700
l_twentyfour 4636800
l_twentyfive 7502500
l_twentysix 12139300
l_twentyseven 19641800
l_twentyeight 31781100
l_twentynine 51422900
l_thirty 83204000
[DEFNAME EXP_OPTIONS]//0 is off 1 is on (some take higher values)
opt_exptitle 1 //place level and exp info in the players title
opt_titleexp 1 //show exp in title
opt_titlerank 0 //show ranking in Title
opt_titlelev 1 //show level in title
opt_exptag 1 //place level info in a tag above a players head
opt_showrank 0 //show ranking in tag
opt_showlev 1 //show level in tag
opt_showexp 0 //show exp in tag
opt_expvary 1 //varies the amount of exp gained from set exp by 1/8th up or down
opt_gainstat 0 //gain stats on level up
opt_strgain 5 //amount of str gained on a level up use {# ##} for a random number between # and ##
opt_dexgain 4 //amount of dex gained on a level up use {# ##} for a random number between # and ##
opt_intgain 3 //amount of int gained on a level up use {# ##} for a random number between # and ##
opt_lowerexp 0 //lowers exp by the amount necesary to have gained that level
opt_divideexp 0 //divide exp between the players getting it
opt_gainskill 0 //gain skills on a level up
opt_skillpoints 5 //The number of skill points you gain on a level up
opt_skillraised 10 //this set the amount that each skill point will raise
opt_bonuspoints 1 //use BONUS points, these can raise stats and other things
opt_bonustoskill 1 //how many skill points can you change a bonus in for
opt_bonusskill 50 //the amount of skill a bonus point will raise 50 is 5.0 and 5 is .5 etc...
opt_bonusdouble 5 //the amount of bonus points for a double exp potion
opt_bonustriple 25 //the amount of bonus points for a triple exp potion
opt_bonusquadruple 50 //the amount of bonus points for a quadruple exp potion
opt_specials 1 //use special moves (bash,critical hits,mana surge,etc)
opt_statrez 0 //allow rez for stats
opt_exprez 1 //allow rez for exp
opt_statrezstr 0 //str lost on stat rez
opt_statrezdex 0 //dex lost on stat rez
opt_statrezint 0 //int lost on stat rez
opt_exprezloss 100 //amount of exp lost on a rez per level
opt_showlvltoall 1 //send a message to everyone when a player levels up
opt_ooc_chat 0 //Allow the ooc(out of character) chat to be used
opt_auction_chat 0 //allow auction chat to be used
opt_doubleexptime 60*60 //time for the double experience to last in seconds 60*60 is one hour
opt_tripleexptime 30*60 //time for the triple experience to last in seconds 30*60 is half an hour
opt_quadrupleexptime 15*60 //time for the quadruple experience to last in seconds 15*60 is 15 minutes
opt_chance_critical 50 //the chance to make a critical hit, 50 would make the chance 1 in 50
opt_chance_energy 50 //the chance to get energy burst, 50 would make the chance 1 in 50
opt_firstlevelgain 1 //do you want the first level (no exp needed) to gain stats and skillpoints
opt_necromancy 1 //do you have necromancy on your shard?
opt_rank_timer 5*60 //time between rank checks on the ranking system the faster the more accurate
opt_levelmenu 1 //use the leveling menu
[PLEVEL 1]
sac
level
auction
ooc
skillmenu
bonusmenu
[PLEVEL 4]
oocban
auctionban
oocunban
auctionunban
[ITEMDEF i_exp_give]
ID=i_handr_1
TYPE=t_eq_script
NAME=EXPGIVER
WEIGHT=0
LAYER=30
ON=@CREATE
attr=0002
TIMER=1
ON=@TIMER
IF opt_expvary == 1
TAG.EXPVALUE={<eval (<TAG.EXPVALUE>-(<TAG.EXPVALUE>/8))> <eval (<TAG.EXPVALUE>+(<TAG.EXPVALUE>/8))>}
ENDIF
IF opt_divideexp == 1
TAG.EXPGIVEN=<eval <eval <TAG.EXPVALUE>>/<eval <MOREX>>>
ELSE
TAG.EXPGIVEN=<EVAL <TAG.EXPVALUE>>
ENDIF
TAG.EXPGIVEN=<eval <TAG.EXPGIVEN>>
IF <MOREX>>0
CONT=<TAG.UID1>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved!
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
IF <MOREX>>1
CONT=<TAG.UID2>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
IF <MOREX>>2
CONT=<TAG.UID3>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
IF <MOREX>>3
CONT=<TAG.UID4>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
IF <MOREX>>4
CONT=<TAG.UID5>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
IF <MOREX>>5
CONT=<TAG.UID6>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
IF <MOREX>>6
CONT=<TAG.UID7>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
IF <MOREX>>7
CONT=<TAG.UID8>
IF <CONT.TAG.EXPQUADRUPLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*4> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*4)>
ELSEIF <CONT.TAG.EXPTRIPlE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*3> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*3)>
ELSEIF <CONT.TAG.EXPDOUBLE>==1
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>*2> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+(<TAG.EXPGIVEN>*2)>
ELSE
CONT.SYSMESSAGE <eval <TAG.EXPGIVEN>> Exp recieved
CONT.TAG.EXP=<eval <CONT.TAG.EXP>+<TAG.EXPGIVEN>>
ENDIF
CONT.LEV
ENDIF
REMOVE
[EVENTS e_exp]
ON=@DEATH
SRC.NEWITEM=i_exp_give
SRC.ACT.CONT=<TAG.UID1>
SRC.ACT.TAG.UID1=<TAG.UID1>
SRC.ACT.TAG.UID2=<TAG.UID2>
SRC.ACT.TAG.UID3=<TAG.UID3>
SRC.ACT.TAG.UID4=<TAG.UID4>
SRC.ACT.TAG.UID5=<TAG.UID5>
SRC.ACT.TAG.UID6=<TAG.UID6>
SRC.ACT.TAG.UID7=<TAG.UID7>
SRC.ACT.TAG.UID8=<TAG.UID8>
SRC.ACT.MOREX=<SRC.TAG.MOREX>
SRC.ACT.TAG.EXPVALUE=<eval <TAG.EXPVALUE>>
ON=@GETHIT
IF <SRC.UID.<TAG.LINK>.TAG.tesse>==0
SRC.NEWITEM=i_memory_exp
SRC.ACT.CONT=<UID>
TAG.MOREX=1
TAG.UID1=<SRC.UID>
TAG.LINK=<SRC.ACT.UID>
RETURN 0
ENDIF
FINDID.i_memory_exp.TIMER=30
IF <TAG.UID1>==<SRC.UID>
RETURN 0
ELSEIF <TAG.UID2>==<SRC.UID>
RETURN 0
ELSEIF <TAG.UID3>==<SRC.UID>
RETURN 0
ELSEIF <TAG.UID4>==<SRC.UID>
RETURN 0
ELSEIF <TAG.UID5>==<SRC.UID>
RETURN 0
ELSEIF <TAG.UID6>==<SRC.UID>
RETURN 0
ELSEIF <TAG.UID7>==<SRC.UID>
RETURN 0
ELSEIF <TAG.UID8>==<SRC.UID>
RETURN 0
ENDIF
IF <TAG.MOREX>==1
TAG.MOREX=2
TAG.UID2=<SRC.UID>
RETURN 0
ELSEIF <TAG.MOREX>==2
TAG.MOREX=3
TAG.UID3=<SRC.UID>
RETURN 0
ELSEIF <TAG.MOREX>==3
TAG.MOREX=4
TAG.UID4=<SRC.UID>
RETURN 0
ELSEIF <TAG.MOREX>==4
TAG.MOREX=5
TAG.UID5=<SRC.UID>
RETURN 0
ELSEIF <TAG.MOREX>==5
TAG.MOREX=6
TAG.UID6=<SRC.UID>
RETURN 0
ELSEIF <TAG.MOREX>==6
TAG.MOREX=7
TAG.UID7=<SRC.UID>
RETURN 0
ELSEIF <TAG.MOREX>==7
TAG.MOREX=8
TAG.UID8=<SRC.UID>
RETURN 0
ENDIF
[ITEMDEF i_memory_exp]
ID=i_gold
NAME=EXPMEMORY
TYPE=t_eq_script
LAYER=30
ON=@CREATE
attr=0002
TAG.tesse=2
TIMER=30
ON=@TIMER
REMOVE
RETURN 0
[FUNCTION lev]
EVENTS=+e_expplayer
IF <TAG.LEVEL>==0
SRC.SYSMESSAGE You are now level 1
TAG.LEVEL=1
TAG.EXP=0
IF opt_firstlevelgain == 1
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_two)&&(<eval <TAG.LEVEL>> < 2 )
SYSMESSAGE LEVEL 2
TAG.LEVEL=2
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_two>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_three)&&(<eval <TAG.LEVEL>> < 3 )
SYSMESSAGE LEVEL 3
TAG.LEVEL=3
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_three>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_four)&&(<eval <TAG.LEVEL>> < 4 )
SYSMESSAGE LEVEL 4
TAG.LEVEL=4
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_four>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_five)&&(<eval <TAG.LEVEL>> < 5 )
SYSMESSAGE LEVEL 5
TAG.LEVEL=5
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_five>
ENDIF
IF opt_gainskill == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_six)&&(<eval <TAG.LEVEL>> < 6 )
SYSMESSAGE LEVEL 6
TAG.LEVEL=6
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_six>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_seven)&&(<eval <TAG.LEVEL>> < 7 )
SYSMESSAGE LEVEL 7
TAG.LEVEL=7
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_seven>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_eight)&&(<eval <TAG.LEVEL>> < 8 )
SYSMESSAGE LEVEL 8
TAG.LEVEL=8
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_eight>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_nine)&&(<eval <TAG.LEVEL>> < 9 )
SYSMESSAGE LEVEL 9
TAG.LEVEL=9
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_nine>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_ten)&&(<eval <TAG.LEVEL>> < 10 )
SYSMESSAGE LEVEL 10
TAG.LEVEL=10
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_ten>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_eleven)&&(<eval <TAG.LEVEL>> < 11 )
SYSMESSAGE LEVEL 11
TAG.LEVEL=11
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_eleven>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twelve)&&(<eval <TAG.LEVEL>> < 12 )
SYSMESSAGE LEVEL 12
TAG.LEVEL=12
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twelve>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_thirteen)&&(<eval <TAG.LEVEL>> < 13 )
SYSMESSAGE LEVEL 13
TAG.LEVEL=13
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_thirteen>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_fourteen)&&(<eval <TAG.LEVEL>> < 14 )
SYSMESSAGE LEVEL 14
TAG.LEVEL=14
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_fourteen>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_fifteen)&&(<eval <TAG.LEVEL>> < 15 )
SYSMESSAGE LEVEL 15
TAG.LEVEL=15
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_fifteen>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_sixteen)&&(<eval <TAG.LEVEL>> < 16 )
SYSMESSAGE LEVEL 16
TAG.LEVEL=16
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_sixteen>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_seventeen)&&(<eval <TAG.LEVEL>> < 17 )
SYSMESSAGE LEVEL 17
TAG.LEVEL=17
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_seventeen>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_eighteen)&&(<eval <TAG.LEVEL>> < 18 )
SYSMESSAGE LEVEL 18
TAG.LEVEL=18
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_eighteen>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_nineteen)&&(<eval <TAG.LEVEL>> < 19 )
SYSMESSAGE LEVEL 19
TAG.LEVEL=19
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_nineteen>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twenty)&&(<eval <TAG.LEVEL>> < 20 )
SYSMESSAGE LEVEL 20
TAG.LEVEL=20
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twenty>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentyone)&&(<eval <TAG.LEVEL>> < 21 )
SYSMESSAGE LEVEL 21
TAG.LEVEL=21
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentyone>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentytwo)&&(<eval <TAG.LEVEL>> < 22 )
SYSMESSAGE LEVEL 22
TAG.LEVEL=22
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentytwo>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentythree)&&(<eval <TAG.LEVEL>> < 23 )
SYSMESSAGE LEVEL 23
TAG.LEVEL=23
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentythree>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentyfour)&&(<eval <TAG.LEVEL>> < 24 )
SYSMESSAGE LEVEL 24
TAG.LEVEL=24
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentyfour>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentyfive)&&(<eval <TAG.LEVEL>> < 25 )
SYSMESSAGE LEVEL 25
TAG.LEVEL=25
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentyfive>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentysix)&&(<eval <TAG.LEVEL>> < 26 )
SYSMESSAGE LEVEL 26
TAG.LEVEL=26
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentysix>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentyseven)&&(<eval <TAG.LEVEL>> < 27 )
SYSMESSAGE LEVEL 27
TAG.LEVEL=27
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentyseven>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentyeight)&&(<eval <TAG.LEVEL>> < 28 )
SYSMESSAGE LEVEL 28
TAG.LEVEL=28
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentyeight>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_twentynine)&&(<eval <TAG.LEVEL>> < 29 )
SYSMESSAGE LEVEL 29
TAG.LEVEL=29
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_twentynine>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
IF (<eval <TAG.EXP>> >= l_thirty)&&(<eval <TAG.LEVEL>> < 30 )
SYSMESSAGE LEVEL 30
TAG.LEVEL=30
IF opt_lowerexp == 1
TAG.EXP=<eval <TAG.EXP>-l_thirty>
ENDIF
IF opt_gainstat == 1
STR=<STR>+opt_strgain
DEX=<DEX>+opt_dexgain
INT=<INT>+opt_intgain
ENDIF
IF opt_showlvltoall == 1
SERV.ALLCLIENTS SYSMESSAGE <NAME> is now level <eval <TAG.LEVEL>>
ENDIF
IF opt_gainskill == 1
TAG.SKILLPOINTS=<EVAL <TAG.SKILLPOINTS>+opt_skillpoints>
ENDIF
ENDIF
UPDATETITLE
SKILLMENU
[FUNCTION updatetitle]
IF opt_exptitle == 1
TAG.INFO=
IF opt_titlelev
TAG.INFO=Level-<eval <TAG.LEVEL>>
ENDIF
IF opt_titleexp
TAG.INFO=<TAG.INFO> Exp-<eval <TAG.EXP>>
ENDIF
IF opt_titlerank == 1
IF <TAG.RANK>==0
ELSE
TAG.INFO=<TAG.INFO> Rank-<eval <TAG.RANK>>
ENDIF
ENDIF
ELSE
SRC.FIX
ENDIF
[EVENTS e_expplayer]
ON=@CLICK
TAG.INFO=
IF opt_exptag==1
IF opt_showlev == 1
TAG.INFO=<TAG.INFO> [Level <eval <TAG.LEVEL>> ]
//SRC.SYSMESSAGE Your Experience <eval <TAG.EXP>> // experience
//SRC.SYSMESSAGE <TAG.INFO>
//SRC.SYSMESSAGE Now Exp <eval <TAG.EXP>>/Need Exp for Next Level <eval <TAG.EXPINFO>>.//<eval <TAG.EXPTONEXTLEVEL>>
ENDIF
IF opt_showexp == 1
TAG.INFO=<TAG.INFO> [Exp <eval <TAG.EXP>>]
ENDIF
IF opt_showrank == 1
IF <TAG.RANK>==0
ELSE
TAG.INFO=<TAG.INFO> [Rank <eval <TAG.RANK>>]
ENDIF
ENDIF
MESSAGE <TAG.INFO>
ENDIF
ON=@HitMiss
SYSMESSAGE The Exp is Down!
ON=@HIT
IF opt_specials == 1
// place special attacking moves here
IF <eval RAND(opt_chance_critical)> == 1
SYSMESSAGE CRITICAL HIT!
SRC.HITS=<SRC.HITS>-<STR>
ENDIF
ENDIF
ON=@GETHIT
IF opt_specials == 1
// place special defense moves here
IF <eval RAND(opt_chance_energy)> == 1
SYSMESSAGE You feel a burst of energy!
HITS=<HITS>+<STAM>
ENDIF
ENDIF
ON=@LogIn
SYSMESSAGE You are Playing on <Serv.Name>
ON=@DEATH
NEWITEM=i_exprezthing
ACT.EQUIP
[ITEMDEF i_exprezthing]
ID=i_handr_1
NAME=EXP rex thing
Type=t_eq_script
WEIGHT=0
LAYER=30
ON=@CREATE
attr=0002
TIMER=10
ON=@EQUIP
TIMER=10
ON=@TIMER
IF ((opt_statrez == 1) && (opt_exprez == 1))
CONT.Dialog D_statandexprez
ELSEIF opt_statrez == 1
CONT.MENU Dialog D_statrez
ELSEIF opt_exprez == 1
CONT.DIALOG D_exprez
ENDIF
REMOVE
[Dialog D_statandexprez] // MENU m_statandexprez
70, 70
noclose
nomove
resizepic 140 120 2600 425 160
resizepic 170 150 3000 365 100
text 200 130 13 0
text 230 160 13 1
text 230 190 35 2
text 230 220 45 3
button 200 160 210 211 1 0 1
button 200 190 210 211 1 0 2
button 200 220 210 211 1 0 3
[Dialog d_statandexprez TEXT]
What do you want to do <SRC.NAME>?
Resurrect for Stat Loss
Rez for exp loss <eval opt_exprezloss * <eval <SRC.TAG.LEVEL>>>
Stay Dead
[Dialog d_statandexprez BUTTON]
ONBUTTON=0
ONBUTTON=1
SRC.STR=<SRC.STR>-opt_statrezstr
IF <SRC.STR> <= 0
SRC.STR=1
ENDIF
SRC.DEX=<SRC.DEX>-opt_statrezdex
IF <SRC.STR> <= 0
SRC.STR=1
ENDIF
INT=<SRC.INT>-opt_statrezint
IF <SRC.INT> <= 0
SRC.INT=1
ENDIF
SRC.RESURRECT
ONBUTTON=2
IF <SRC.TAG.EXP> < <eval opt_exprezloss * <eval <SRC.TAG.LEVEL>>>
SRC.SYSMESSAGE You do not have enough experience
SRC.MENU Dialog d_statandexprez
ELSE
SRC.TAG.EXP=<eval <SRC.TAG.EXP>-<eval opt_exprezloss * <eval <SRC.TAG.LEVEL>>>>
SRC.RESURRECT
ENDIF
ONBUTTON=3
[Dialog D_statrez] // MENU m_statrez
70, 70
noclose
nomove
resizepic 140 120 2600 425 130
resizepic 170 150 3000 365 70
text 200 130 13 0
text 230 160 13 1
text 230 190 35 2
button 200 160 210 211 1 0 1
button 200 190 210 211 1 0 2
[Dialog D_statrez TEXT]
What do you want to do?
Resurrect for Stat Loss
Stay Dead
[Dialog D_statrez BUTTON]
ONBUTTON=0
ONBUTTON=1
SRC.STR=<SRC.STR>-opt_statrezstr
IF <SRC.STR> <= 0
SRC.STR=1
ENDIF
SRC.DEX=<SRC.DEX>-opt_statrezdex
IF <SRC.DEX> <= 0
SRC.DEX=1
ENDIF
SRC.INT=<SRC.INT>-opt_statrezint
IF <SRC.INT> <= 0
SRC.INT=1
ENDIF
SRC.RESURRECT
ONBUTTON=2
[Dialog D_exprez] // MENU m_exprez
70, 70
noclose
nomove
resizepic 140 120 2600 425 130
resizepic 170 150 3000 365 70
text 200 130 13 0
text 230 160 13 1
text 230 190 35 2
button 200 160 210 211 1 0 1
button 200 190 210 211 1 0 2
[Dialog D_exprez TEXT]
What do you want to do?
Rez for exp loss <eval opt_exprezloss * <eval <SRC.TAG.LEVEL>>> exp
Stay Dead
[Dialog D_exprez BUTTON]
ONBUTTON=0
ONBUTTON=1
IF <SRC.TAG.EXP> < <eval opt_exprezloss * <eval <SRC.TAG.LEVEL>>>
SRC.SYSMESSAGE You do not have enough experience
ELSE
SRC.TAG.EXP=<eval <SRC.TAG.EXP>-<eval opt_exprezloss * <eval <SRC.TAG.LEVEL>>>>
SRC.RESURRECT
ENDIF
ONBUTTON=2
[ITEMDEF i_doubleexp]
ID=i_bottle
NAME=Double Exp
Type=t_eq_script
WEIGHT=0
ON=@DCLICK
IF <SRC.TAG.EXPQUADRUPLE> == 1
SRC.SYSMESSAGE You must wait until your quadruple exp time is over!
RETURN 1
ENDIF
IF <SRC.TAG.EXPTRIPLE> == 1
SRC.SYSMESSAGE You must wait untill your triple exp time is over!
RETURN 1
ENDIF
IF <SRC.TAG.EXPDOUBLE> == 1
SRC.SYSMESSAGE You must wait untill your double exp time is over!
RETURN 1
ENDIF
SRC.SYSMESSAGE You now have double the experience for one hour.
SRC.TAG.EXPDUOBLE=1
SRC.NEWITEM=i_doubleexp_timer
SRC.ACT.EQUIP
REMOVE
RETURN 1
[ITEMDEF i_doubleexp_timer]
ID=i_handr_1
NAME=DOUBLE EXP
TYPE=t_eq_script
WEIGHT=0
LAYER=30
ON=@CREATE
attr=0002
TIMER=opt_doubleexptime
ON=@TIMER
CONT.SYSMESSAGE Yo