aleksandr 21 Report post Posted March 28, 2016 (edited) Здравствуйте, уважаемые участники форума. Возникают некоторые проблемы при установке максимального уровня. Например я хочу сделать максимальный уровень 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 March 28, 2016 by aleksandr Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 29, 2016 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. Можно даже не удалять те значения которые ты удалил, опыт и очки опыта не будут идти. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 29, 2016 Что-то я не нашел ничего похожего. Гайд тоже смотрел, но там так же нет строчек: if Lv_character Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 29, 2016 53 минуты назад, aleksandr сказал: Что-то я не нашел ничего похожего. Гайд тоже смотрел, но там так же нет строчек: if Lv_character Скинь свою функцию из гайда. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 29, 2016 (edited) 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 March 29, 2016 by aleksandr Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 29, 2016 (edited) 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 March 29, 2016 by NMS3RR 1 Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 29, 2016 @NMS3RR, получилось, но не совсем. В любом случае спасибо, дальше уже буду мудрить сам. 1 Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 29, 2016 Только что, aleksandr сказал: @NMS3RR, получилось, но не совсем. В любом случае спасибо, дальше уже буду мудрить сам. Что не так?) Я тоже ведь хочу разобраться) Просто у меня видимо другая сборка и вылечилось быстро) Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 29, 2016 1 час назад, NMS3RR сказал: Что не так?) Я тоже ведь хочу разобраться) Просто у меня видимо другая сборка и вылечилось быстро) Опыт продолжает расти:http://clip2net.com/clip/m366008/d6ff1-clip-25kb.jpg?nocache=1 Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 29, 2016 4 минуты назад, aleksandr сказал: Опыт продолжает расти:http://clip2net.com/clip/m366008/d6ff1-clip-25kb.jpg?nocache=1 А лол.. допиши там exp=exp Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 29, 2016 Только что, NMS3RR сказал: А лол.. допиши там exp=exp Прости, но где именно? 1 Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 29, 2016 if (exp_up == 0 and retExpState ~= 0) or (Lv_character == 30) then exp = exp SystemNotice ( TurnToCha(t[i]) , "Ваш уровень слишком высок, что бы получать опыт!" ) end Вот так Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 29, 2016 (edited) 10 минуту назад, NMS3RR сказал: if (exp_up == 0 and retExpState ~= 0) or (Lv_character == 30) then exp = exp SystemNotice ( TurnToCha(t[i]) , "Ваш уровень слишком высок, что бы получать опыт!" ) end Вот так К сожалению, ничего не изменилось. Ап уровня не прописывается, но он идёт... Он как бы 45, но статов уже на все 80 уровней) Edited March 29, 2016 by aleksandr Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 29, 2016 exp = exp + exp_up убери + .... и попробуй снова 1 Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 29, 2016 (edited) 1 час назад, NMS3RR сказал: exp = exp + exp_up убери + .... и попробуй снова Все, дошло. Теперь похоже на правду. Спасибо А за что отвечает "+ exp_up"? Рано радовался. У новых персонажей не растёт уровень. Проблему решил (и - с коллегой) другим способом. Если будет интересно могу поделиться. Edited March 29, 2016 by aleksandr Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 30, 2016 8 часов назад, aleksandr сказал: Все, дошло. Теперь похоже на правду. Спасибо А за что отвечает "+ exp_up"? Рано радовался. У новых персонажей не растёт уровень. Проблему решил (и - с коллегой) другим способом. Если будет интересно могу поделиться. Дай предположу, не растет опыт потому что ты вырезал опыт, так? Если вернуть все обратно то опыт будет идти. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 30, 2016 (edited) 1 час назад, NMS3RR сказал: Дай предположу, не растет опыт потому что ты вырезал опыт, так? Если вернуть все обратно то опыт будет идти. Совершенно верно, т.к. удалением строк мы занулили опыт на всех картах. Чтобы не прописывать зануление опыта на каждой карте в отдельности, сделал под наставничеством друга всё проще: exp_up = 0 иначе exp = exp + exp_up * zero_exp где zero_exp - переменная для зануления экспы. В итоге Выше 45 уровня качаться на мобах мы не можем. Теперь возник другой вопрос, как не получать опыт с квестов. Edited March 30, 2016 by aleksandr Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 30, 2016 Только что, aleksandr сказал: Совершенно верно, т.к. удалением строк мы занулили опыт на всех картах. Чтобы не прописывать зануление опыта на каждой карте в отдельности, сделал под наставничеством друга всё проще: exp_up = 0 иначе exp = exp + exp_up * zero_exp где для zero_exp - переменная для зануления экспы. Можно было оставить ту экспу которая была, но просто ограничить что после 30 не идет опыт. С кем вы работаете, если не секрет? Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 30, 2016 Только что, NMS3RR сказал: Можно было оставить ту экспу которая была, но просто ограничить что после 30 не идет опыт. С кем вы работаете, если не секрет? Я спрошу у него, можно ли сообщить это А так работа над сервером довольно условная, чисто для себя на разбор файлов и возможностей, да и научиться чему-нибудь соответственно, а то по работе в игровой индустрии у меня совсем иная направленность (маркетинг и оперирование проектов). Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 30, 2016 Только что, aleksandr сказал: Я спрошу у него, можно ли сообщить это А так работа над сервером довольно условная, чисто для себя на разбор файлов и возможностей, да и научиться чему-нибудь соответственно, а то по работе в игровой индустрии у меня совсем иная направленность (маркетинг и оперирование проектов). Весьма не плохо.. Загадочно)... Желаю вам успехов) Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 30, 2016 1 час назад, NMS3RR сказал: Весьма не плохо.. Загадочно)... Желаю вам успехов) Спасибо У Вас нет идей по поводу того, как урезать получения опыта с квестов? Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 30, 2016 26 минуты назад, aleksandr сказал: Спасибо У Вас нет идей по поводу того, как урезать получения опыта с квестов? Множество. 1. Урезать множитель в Variable 2. В тупую у каждого квеста урезать опыт) Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
aleksandr 21 Report post Posted March 30, 2016 Только что, NMS3RR сказал: Множество. 1. Урезать множитель в Variable 2. В тупую у каждого квеста урезать опыт) Второй вариант слишком страшен А вот по первому, можно ли срезать в 0? Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted March 30, 2016 20 минуты назад, aleksandr сказал: Второй вариант слишком страшен А вот по первому, можно ли срезать в 0? Я сам новичок, я хз) Попробуй, отпишись) Но там вроде нельзя ставить дробные числа. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
V3ct0r 2,121 Report post Posted April 5, 2016 Есть 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 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites