Jump to content
aleksandr

Ограничение уровня

Recommended Posts

Здравствуйте, уважаемые участники форума.
Возникают некоторые проблемы при установке максимального уровня.

Например я хочу сделать максимальный уровень 30.
Ставлю следующие параметры в следующих файлах.
Init_Attr.lua

SetChaAttrMax( ATTR_LV            ,    30                )    -- Максимальный Уровень Персонажа

variable.lua

LV_LIMIT                     = 30
DEXP_Num     = 30

	DEXP        ={}

	DEXP[1]        = 0                  

	DEXP[2]        = 5                  

	DEXP[3]        = 15                

	DEXP[4]        = 35                

	DEXP[5]        = 101               

	DEXP[6]        = 250               

	DEXP[7]        = 500               

	DEXP[8]        = 1000             

	DEXP[9]        = 1974             

	DEXP[10]    = 3208             

	DEXP[11]    = 4986             

	DEXP[12]    = 7468             

	DEXP[13]    = 10844           

	DEXP[14]    = 15338           

	DEXP[15]    = 21210           

	DEXP[16]    = 28766           

	DEXP[17]    = 38356           

	DEXP[18]    = 50382           

	DEXP[19]    = 65306           

	DEXP[20]    = 83656           

	DEXP[21]    = 106032         

	DEXP[22]    = 133112         

	DEXP[23]    = 165668         

	DEXP[24]    = 204564         

	DEXP[25]    = 250780         

	DEXP[26]    = 305412         

	DEXP[27]    = 369692         

	DEXP[28]    = 444998         

	DEXP[29]    = 532870         

	DEXP[30]    = 635026

Character_Lvup

	1    1    0

	2    2    5

	3    3    15

	4    4    35

	5    5    101

	6    6    250

	7    7    500

	8    8    1000

	9    9    1974

	10    10    3208

	11    11    4986

	12    12    7468

	13    13    10844

	14    14    15338

	15    15    21210

	16    16    28766

	17    17    38356

	18    18    50382

	19    19    65306

	20    20    83656

	21    21    106032

	22    22    133112

	23    23    165668

	24    24    204564

	25    25    250780

	26    26    305412

	27    27    369692

	28    28    444998

	29    29    532870

	30    30    635026

 

В зависимости от значений, либо опыт не идет вообще, либо возникает проблема с тем, что опыт идет после максимального уровня. Что-то мне подсказывает, что надо менять значения в файле:exp_and_level.lua

if exp<DEXP[80] and (exp+exp_up)>DEXP[80] then

	                exp_up =math.floor((DEXP[80]-exp) +(exp_up-(DEXP[80]-exp))/50)

	            end

 
Edited by aleksandr

Share this post


Link to post
Share on other sites

1.Идешь в exp_and_level
2.Ищешь там exp=exp
 

.......	
exp_up =exp_up *GetExpState(t[i])/100
			local Lv_character = Lv ( TurnToCha(t[i]) )
			local map_name = GetChaMapName ( TurnToCha(t[i]) )
			local item_stop = CheckBagItem ( TurnToCha(t[i]), 1812 )
			if map_name == "abandonedcity" or map_name == "abandonedcity2" or map_name == "abandonedcity3" then
				if Lv_character == 45 then
					exp = exp
				end
			elseif map_name == "darkswamp" then
				if Lv_character == 55 then
					exp = exp
				end
			else
				if Lv_character == 60 then --Изменил лимит
					exp = exp
				else
					if item_stop >= 1 then
						exp = exp
					else
						local EXP_NEW_LVL = 1
						if Lv_character >= 1 and Lv_character <= 50 then
							EXP_NEW_LVL = 7
......

3. Меняешь на свое значение.
4. Можно даже не удалять те значения которые ты удалил, опыт и очки опыта не будут идти.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
53 минуты назад, aleksandr сказал:

Что-то я не нашел ничего похожего. Гайд тоже смотрел, но там так же нет строчек: 


if Lv_character

Скинь свою функцию из гайда.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
1 час назад, NMS3RR сказал:

Скинь свою функцию из гайда.

 

function ShareTeamExp ( dead , team_atker , dead_exp , The_Killer) 
    local cha_name1100 = GetChaDefaultName (team_atker )    
    local star111=GetChaAttr (  team_atker , ATTR_CEXP )
    LG("star_exp" , "Player"..cha_name1100.."Current Experience is"..star111.."Starts ShareTeamExp" ) 
    local atker_role = ChaIsBoat ( team_atker ) 
    local monster_location = IsChaInLand ( dead ) 
    if atker_role == 1 and monster_location == 1 then 
        dead_exp = math.floor ( dead_exp / 5 + 1 ) 
    end 
    local dead_lv = GetChaAttrI( dead , ATTR_LV )
    local t = {} 
    t[0] = team_atker  
    if ValidCha (team_atker) == 0 then 
        LG ( "luascript_err" , "function ShareTeamExp : party experience source as null" ) 
        return 
    end 
    t[1] = GetTeamCha(team_atker, 0 )  
    t[2] = GetTeamCha(team_atker, 1 )   
    t[3] = GetTeamCha(team_atker, 2 )    
    t[4] = GetTeamCha(team_atker, 3 )
    local count = 0 
    local NewPlayer_CanGet = 0
    local NewPlayer_Lv = 0
    local NewPlayer_Lv_dif = -100
    local Check_Killer = 0
    if t[0] == The_Killer then
        Check_Killer = 1
    end
    for i = 0 , 4 , 1 do    
        if ValidCha( t[i] )== 1  then
            a = CheckExpShare ( t[i] , team_atker ) 
            if a == 1 then 
                count = count + 1 
                NewPlayer_Lv = Lv( TurnToCha(t[i]) )
                NewPlayer_Lv_dif = dead_lv - NewPlayer_Lv
                if NewPlayer_Lv <=30 and NewPlayer_Lv >= 10 and NewPlayer_Lv_dif >= -5 then
                    NewPlayer_CanGet = NewPlayer_CanGet + 1
                end
            end 
        end 
        end 
    if count == 0 then 
        LG ("luascript_err" , "function ShareTeamExp : Member total count as 0 " )
        return 
    end 
    local TeamExp_Increas = 0.25 * TeamExp_RAID
    LG("exp" , "deadlv = " , dead_lv ) 
    LG("exp" , "dead_exp = " , dead_exp ) 
    LG("exp" , "teamer_count = " , count ) 
    local exp_add = math.floor( dead_exp * ( 1 + (count -1 )* TeamExp_Increas ) )
    local exp_increase = math.floor ( dead_exp * (count -1 )* TeamExp_Increas )
    LG("exp" , "exp_add = " , exp_add ) 
    if count >=2 then
        exp_add = exp_add * InTeamGetExp_RAID
    end
    local exp_up
    for i = 0 , 4 , 1 do    
        if ValidCha(t[i])==1 then
            local a = 1
            local b = 1
            LG("exp" , "loop = " , i ) 
            if i >= 1 then 
                a = CheckExpShare ( t[i] , team_atker )
                LG("exp" , "experience distribution test a =  " , a ) 
                exp_up = math.max (1,  math.floor ( exp_add/count ) )  * a 
                LG("exp" , "exp_up1  =  " , exp_up ) 
            else 
                exp_up = math.max ( 1, math.floor ( exp_add/count ) )  
                LG("exp" , "exp_up1  =  " , exp_up ) 
            end 
            t_lv = GetChaAttrI ( TurnToCha(t[i]) , ATTR_LV ) 
            lv_dis =  t_lv - dead_lv
            LG ( "exp" , " t_lv = " , t_lv , "  dead_lv = " , dead_lv , "  lv_dis = " , lv_dis ) 
            if lv_dis >= 4 then 
                b = math.min ( 10 , 1 + ( math.abs ( lv_dis - 4 ) * 0.4 ) )
            elseif lv_dis <= -1 * 10 then 
                b = math.min ( 4 , 1 + math.abs ( lv_dis - 10)  * 0.1 )
            end 
            LG ( "exp" , "exp_up2 =  " , exp_up , " b = " , b , " a = ", a ) 
            exp_up = math.floor ( math.max ( 1 , exp_up / b ) ) * a 
            LG ( "exp" , "exp_up3 =  " , exp_up) 
            if count >=3 and NewPlayer_CanGet <= 0 and Check_Killer == 1 then
                if lv_dis <=3 then
                    Add_RYZ_TeamPoint ( TurnToCha(t[i]) , count , 1)
                end
            end
            if t_lv >= 50 and NewPlayer_CanGet > 0 and Check_Killer == 1 then
                Add_RYZ_TeamPoint ( TurnToCha(t[i]) , 6 , NewPlayer_CanGet)
            end
            exp = GetChaAttrI ( TurnToCha(t[i]) , ATTR_CEXP ) 
            LG("exp" , "exp_original = " , exp ) 
            local EXP_RAID_STATE = 1
            local StateLv = GetChaStateLv ( t[i] , STATE_SBJYGZ )
            if StateLv > 0 and StateLv <= 10 then
                if StateLv == 1 then
                    EXP_RAID_STATE = StateLv + 1
                end
                if StateLv == 2 then
                    EXP_RAID_STATE = 2
                end
                if StateLv == 3    then
                    EXP_RAID_STATE = 2.5
                end
                if StateLv == 4    then
                    EXP_RAID_STATE = 3
                end
                if StateLv == 5    then
                    EXP_RAID_STATE = 5
                end
                if StateLv == 6    then
                    EXP_RAID_STATE = 10
                end
                if StateLv == 7    then
                    EXP_RAID_STATE = 20
                end
            end
            if StateLv > 1 then
                local CheckLucky = 0
                CheckLucky = CheckLuckyFinish ( StateLv )
                if CheckLucky == 1 then
                    EXP_RAID_STATE = EXP_RAID_STATE * 2
                    SystemNotice ( TurnToCha(t[i]) , "Счастливый удар! Опыт увеличивается в два раза " )
                end
                if CheckLucky == 2 then
                    EXP_RAID_STATE = 10
                    SystemNotice ( TurnToCha(t[i]) , "Супер Счастливый удар! Опыт увеличивается в 10 раз " )
                end
            end

            if exp_up == 0 then 
                LG ( "exp" , "No experience growth" ) 
                return 
            end
            exp_up = exp_up * EXP_RAID_STATE
                    local Item_bg = GetChaItem ( t[i] , 2 , 1  ) 
                    local Get_Item_Type = GetItemType ( Item_bg ) 
                    if Get_Item_Type==59 then
                        local  Item_ID = GetItemID ( Item_bg )    
                        local str = GetItemAttr( Item_bg ,ITEMATTR_VAL_STR )
                        local con = GetItemAttr( Item_bg ,ITEMATTR_VAL_CON )
                        local agi = GetItemAttr( Item_bg ,ITEMATTR_VAL_AGI )
                        local dex = GetItemAttr( Item_bg ,ITEMATTR_VAL_DEX )
                        local sta = GetItemAttr( Item_bg ,ITEMATTR_VAL_STA )
                        local URE = GetItemAttr( Item_bg ,ITEMATTR_URE )
                        local MAXURE = GetItemAttr( Item_bg ,ITEMATTR_MAXURE )
                        local lv_JL = str + con + agi + dex + sta
                        local Num_JL = GetItemForgeParam ( Item_bg , 1 )
                        local Part1 = GetNum_Part1 ( Num_JL )
                        local Part2 = GetNum_Part2 ( Num_JL )
                        local Part3 = GetNum_Part3 ( Num_JL )
                        local StateLv1 = GetChaStateLv (t[i] , STATE_JLFT7 )
                        local StateLv2 = GetChaStateLv (t[i] , STATE_JLFT8 )
                        local flag=0
                        if Item_ID==237 and StateLv1~=0 then
                            flag=1
                        end
                        if Item_ID==681 and StateLv2~=0 then
                            flag=1
                        end
                        if flag==1  then
                            if StateLv1 ~= 0 then
                                exp_up =exp_up*(lv_JL*0.03+1)
                            end
                            if StateLv2 ~= 0 then 
                                exp_up = exp_up*(lv_JL*0.02+1)
                            end
                        end
                        SetItemAttr ( Item_bg , ITEMATTR_URE , URE )
                    end
            local Check = {}
                Check[0] = t[i]  
                Check[1] = GetTeamCha( t[i] , 0 )  
                Check[2] = GetTeamCha( t[i] , 1 )   
                Check[3] = GetTeamCha( t[i] , 2 )    
                Check[4] = GetTeamCha( t[i] , 3 )
            for j = 0 , 4 , 1 do
                if ValidCha( Check[j] )== 1  then
                    local star = IsTeamLeader( Check[j] )
                    if    star==1 then
                        local StateLv = GetChaStateLv ( Check[j] , STATE_ZDSBJYGZ )
                        local    Isshare = CheckExpShare ( t[i] , Check[j])
                        if StateLv == 1 and Isshare == 1 then
                            exp_up = 1.5*exp_up
                        end
                    end
                end
            end
     local map_name_atk = GetChaMapName ( The_Killer )
     local map_name_def = GetChaMapName ( dead )
     if map_name_atk == "guildwar" or map_name_def == "guildwar" then
       local normal_monster =  GetChaID(dead)
       if normal_monster == 220 then
       AddState ( The_Killer , The_Killer , STATE_HFZQ , 10 , 10 )
       end
       if normal_monster == 219 then
           AddState ( The_Killer , The_Killer , STATE_QINGZ , 10 , 300 )
       end
       if normal_monster == 217 then
           AddState ( The_Killer , The_Killer , STATE_JRQKL , 10 , 180 )
       end
       if normal_monster == 218 then
           AddState ( The_Killer , The_Killer , STATE_YS , 10 , 300 )
       end
      elseif map_name_atk == "guildwar2" or map_name_def == "guildwar2" then
       local normal_monster =  GetChaID(dead)
       if normal_monster == 220 then
       AddState ( The_Killer , The_Killer , STATE_HFZQ , 10 , 10 )
       end
       if normal_monster == 219 then
           AddState ( The_Killer , The_Killer , STATE_QINGZ , 10 , 300 )
       end
       if normal_monster == 217 then
           AddState ( The_Killer , The_Killer , STATE_JRQKL , 10 , 180 )
       end
       if normal_monster == 218 then
           AddState ( The_Killer , The_Killer , STATE_YS , 10 , 300 )
       end
     end
        local expGetNow = exp_up
        local expCanGive = 0
        t[i] = TurnToCha ( t[i]  )
        local ptnItem = GetEquipItemP( t[i] , 8)
        local IdItem = GetItemID ( ptnItem )    
        local lvPerson = GetChaAttr(t[i] , ATTR_LV)
        if IdItem==1034 and lvPerson < 41 then
            local expItemNow = GetItemAttr( ptnItem , ITEMATTR_URE)*10
            local expItemMax = GetItemAttr ( ptnItem , ITEMATTR_MAXURE)*10
            local retIsInTeam = IsInTeam(t[i] )
            if retIsInTeam ~= LUA_TRUE then
                expItemNow = expItemNow + expGetNow
                if expItemNow >= expItemMax then
                    expItemNow = expItemMax
                end
            else
                if HasTeammate(t[i] ,0, 5) == LUA_TRUE then
                    local ptnLowLvPlayer = returnLowLVPlayer( t[i], t[0], t[1], t[2], t[3], t[4])
                    if ValidCha(ptnLowLvPlayer) == 1 then
                        local expCanUse = expItemNow - 1000
                            if expGetNow * 2>= expCanUse then
                                expCanGive = expCanUse
                                expItemNow = 1000
                            else
                                expItemNow = expItemNow - expGetNow*2
                                expCanGive = expGetNow * 2
                            end
                            if expItemNow <= 1000 then
                                expItemNow = 1000
                            end
                        exp_up = exp_up + expCanGive
                    else
                        expCanGive = 0
                        exp_up = exp_up + expCanGive
                    end
                    local expCanUse = expItemNow - 1000
                end
            end
            expItemNow= math.floor(expItemNow/10)
            SetItemAttr ( ptnItem ,ITEMATTR_URE , expItemNow )
        end            
            if exp_up > 20000 then
                local cha_name = GetChaDefaultName ( TurnToCha(t[i]) )
                local Monster_name = GetChaDefaultName ( dead )
                LG ( "Big_exp" ,"Character"..cha_name.."Attack"..Monster_name.."Obtained"..exp_up.."EXP" )
            end
            if exp<DEXP[80] and (exp+exp_up)>DEXP[80] then
                exp_up =math.floor((DEXP[80]-exp) +(exp_up-(DEXP[80]-exp))/50)
            end
            if Lv ( TurnToCha(t[i]) ) >= 80 then 
                exp_up = math.floor ( exp_up / 50 ) 
            end 

            if exp_up == 0 and retExpState ~= 0 then 
                SystemNotice ( TurnToCha(t[i]) , "Ваш уровень слишком высок, что бы получать опыт!" )
            end 
            exp = exp + exp_up  
            SetChaAttrI ( TurnToCha(t[i]) , ATTR_CEXP, exp ) 
            LG("exp" , "exp_now = " , exp ) 
        else 
        end 
    end 
    local star112=GetChaAttr (  team_atker , ATTR_CEXP )
    LG("star_exp" , "Player"..cha_name1100.."Current Experience is"..star112.."End ShareTeamExp" ) 
    LG("exp" , "end getexp " )
end 

 

 

Edited by aleksandr

Share this post


Link to post
Share on other sites
   if exp_up == 0 and retExpState ~= 0 then 
                SystemNotice ( TurnToCha(t[i]) , "Ваш уровень слишком высок, что бы получать опыт!" )
            end 

Добавь перед ним

local Lv_character = Lv ( TurnToCha(t[i]) )

и напиши так

if (exp_up == 0 and retExpState ~= 0) or (Lv_character == 30) then 
                SystemNotice ( TurnToCha(t[i]) , "Ваш уровень слишком высок, что бы получать опыт!" )
Edited by NMS3RR
  • Like 1

Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
Только что, aleksandr сказал:

@NMS3RR, получилось, но не совсем. В любом случае спасибо, дальше уже буду мудрить сам.

Что не так?)
Я тоже ведь хочу разобраться)
Просто у меня видимо другая сборка и вылечилось быстро)


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
if (exp_up == 0 and retExpState ~= 0) or (Lv_character == 30) then 
				exp = exp 
                SystemNotice ( TurnToCha(t[i]) , "Ваш уровень слишком высок, что бы получать опыт!" )
end

Вот так


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
10 минуту назад, NMS3RR сказал:

if (exp_up == 0 and retExpState ~= 0) or (Lv_character == 30) then 
				exp = exp 
                SystemNotice ( TurnToCha(t[i]) , "Ваш уровень слишком высок, что бы получать опыт!" )
end

Вот так

К сожалению, ничего не изменилось.
Ап уровня не прописывается, но он идёт... Он как бы 45, но статов уже на все 80 уровней)

Edited by aleksandr

Share this post


Link to post
Share on other sites
 exp = exp + exp_up  

 убери + .... и попробуй снова

  • Like 1

Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
1 час назад, NMS3RR сказал:

 exp = exp + exp_up  

 убери + .... и попробуй снова

Все, дошло.
Теперь похоже на правду.
Спасибо ^_^ А за что отвечает "+ exp_up"?

Рано радовался.
У новых персонажей не растёт уровень.

Проблему решил (и - с коллегой) другим способом.
Если будет интересно могу поделиться.

Edited by aleksandr

Share this post


Link to post
Share on other sites
8 часов назад, aleksandr сказал:

Все, дошло.
Теперь похоже на правду.
Спасибо ^_^ А за что отвечает "+ exp_up"?

Рано радовался.
У новых персонажей не растёт уровень.

Проблему решил (и - с коллегой) другим способом.
Если будет интересно могу поделиться.

Дай предположу, не растет опыт потому что ты вырезал опыт, так?
Если вернуть все обратно то опыт будет идти.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
1 час назад, NMS3RR сказал:

Дай предположу, не растет опыт потому что ты вырезал опыт, так?
Если вернуть все обратно то опыт будет идти.

Совершенно верно, т.к. удалением строк мы занулили опыт на всех картах.
Чтобы не прописывать зануление опыта на каждой карте в отдельности, сделал под наставничеством друга всё проще:
exp_up = 0
иначе
exp = exp + exp_up * zero_exp
где zero_exp - переменная для зануления экспы.
В итоге Выше 45 уровня качаться на мобах мы не можем.
Теперь возник другой вопрос, как не получать опыт с квестов.

Edited by aleksandr

Share this post


Link to post
Share on other sites
Только что, aleksandr сказал:

Совершенно верно, т.к. удалением строк мы занулили опыт на всех картах.
Чтобы не прописывать зануление опыта на каждой карте в отдельности, сделал под наставничеством друга всё проще:
exp_up = 0
иначе
exp = exp + exp_up * zero_exp
где для zero_exp - переменная для зануления экспы.

Можно было оставить ту экспу которая была, но просто ограничить что после 30 не идет опыт.
С кем вы работаете, если не секрет?


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
Только что, NMS3RR сказал:

Можно было оставить ту экспу которая была, но просто ограничить что после 30 не идет опыт.
С кем вы работаете, если не секрет?

Я спрошу у него, можно ли сообщить это ;)
А так работа над сервером довольно условная, чисто для себя на разбор файлов и возможностей, да и научиться чему-нибудь соответственно, а то по работе в игровой индустрии у меня совсем иная направленность (маркетинг и оперирование проектов).

Share this post


Link to post
Share on other sites
Только что, aleksandr сказал:

Я спрошу у него, можно ли сообщить это ;)
А так работа над сервером довольно условная, чисто для себя на разбор файлов и возможностей, да и научиться чему-нибудь соответственно, а то по работе в игровой индустрии у меня совсем иная направленность (маркетинг и оперирование проектов).

Весьма не плохо..
Загадочно)...
Желаю вам успехов)


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
1 час назад, NMS3RR сказал:

Весьма не плохо..
Загадочно)...
Желаю вам успехов)

Спасибо xD
У Вас нет идей по поводу того, как урезать получения опыта с квестов?

Share this post


Link to post
Share on other sites
26 минуты назад, aleksandr сказал:

Спасибо xD
У Вас нет идей по поводу того, как урезать получения опыта с квестов?

Множество.
1. Урезать множитель в Variable
2. В тупую у каждого квеста урезать опыт)


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites
Только что, NMS3RR сказал:

Множество.
1. Урезать множитель в Variable
2. В тупую у каждого квеста урезать опыт)

Второй вариант слишком страшен ^_^
А вот по первому, можно ли срезать в 0?

Share this post


Link to post
Share on other sites
20 минуты назад, aleksandr сказал:

Второй вариант слишком страшен ^_^
А вот по первому, можно ли срезать в 0?

Я сам новичок, я хз)
Попробуй, отпишись)
Но там вроде нельзя ставить дробные числа.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites

Есть 1 способ как убрать опыт с квестов. Квесты используют функцию AddExp

Идем в MissionSdk.lua и ищем

		elseif actions[i].func == AddExp then
			PRINT( "ActionProc:AddExp, p1 = , p2 = ", actions[i].p1, actions[i].p2 )
			local retExpState = GetExpState(character)

			actions[i].p1 = actions[i].p1  *GetExpState(character) /100
			actions[i].p2 = actions[i].p2  *GetExpState(character) /100
			local ret = AddExp( character, npc, actions[i].p1, actions[i].p2 )
			if ret ~= LUA_TRUE then
				PRINT( "ActionProc: AddExp failed!" )
				SystemNotice( character, "ActionProc: AddExp Add Exp failed!" )
				return LUA_FALSE
			end

заменяем:

elseif actions[i].func == AddExp then
	if (Lv(character) < 30) then
		PRINT( "ActionProc:AddExp, p1 = , p2 = ", actions[i].p1, actions[i].p2 )
		local retExpState = GetExpState(character)

		actions[i].p1 = actions[i].p1  *GetExpState(character) /100
		actions[i].p2 = actions[i].p2  *GetExpState(character) /100
		local ret = AddExp( character, npc, actions[i].p1, actions[i].p2 )
		if ret ~= LUA_TRUE then
			PRINT( "ActionProc: AddExp failed!" )
			SystemNotice( character, "ActionProc: AddExp Add Exp failed!" )
			return LUA_FALSE
		end
	else
		SystemNotice(character, "Вы достигли максимального уровня и не можете получить опыт!")
	end

 

 


Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...