Jump to content

aleksandr

Community
  • Content Count

    132
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by aleksandr

  1. Опыт продолжает расти: http://clip2net.com/clip/m366008/d6ff1-clip-25kb.jpg?nocache=1
  2. @NMS3RR, получилось, но не совсем. В любом случае спасибо, дальше уже буду мудрить сам.
  3. 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
  4. Что-то я не нашел ничего похожего. Гайд тоже смотрел, но там так же нет строчек: if Lv_character
  5. Over 7 years of experience in the gaming industry, I did not learn any programming language ^ - ^

  6. Здравствуйте, уважаемые участники форума. Возникают некоторые проблемы при установке максимального уровня. Например я хочу сделать максимальный уровень 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
  7. Ту сборку Вы уже не найдете, т.к. она была только у членов команды Tales of Symphony Та что была выложена - это "недосборка", в ней лишь показаны примеры того, что можно было сделать и как.
  8. Скорее всего там только наброски AI (но они так же работали), я уже не помню, т.к. данный проект делали в 2012 или 2013 году. Полноценную сборку тогда так и не выложили, а мной она была утеряна...
  9. К сожалению, в шаре сейчас такого уже нет. В основном это затрагивало Chine-s проекты. В русскоязычном проекте, видел только в одном. IshidaRex (Константин) в своё время делал AI боссов и они очень даже работали.
  10. Уже осуществлялось в проектах PKO. Разрабатывались боссы с самописным AI. Босс прекрасно в нужный момент кидал тот или иной скилл, отбегал, бил по нужному классу и т.д., так что данная тема уже не нова.
  11. Можно написать довольно простую программу, а можно воспользоваться готовой. Вот одна из них. В конфиге пишем IP, имя баз данных и пароль без шифрования. New IGS Shop.rar И да, не стоит пользоваться имом из шары
  12. Смотря о каком именно ИМ Вы говорите. Внутреигровом или через сайт.
  13. Ого, это реально клёво! Большое спасибо
  14. @V3ct0r, спасибо! Можно закрывать тему, думаю может многим новичкам пригодиться.
  15. @V3ct0r, к сожалению, как всегда ZendServer начал закачивать файл test.php с таким текстом. Хамп бы выдал просто ошибку, что нет подключения к базам. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>200 OK</title> </head><body> <h1>OK</h1> <p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p> <p>Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.</p> <p>More information about this error may be available in the server error log.</p> </body></html> В интернете инфа говорит, что надо настроить .htacess, но проблема явно не в нём, т.к. xampp просто выдаёт ошибку подключения к базам. Да и все шаблоны которые есть в шаре, выдают данную ошибку, хотя на Sql 2000 идут без проблем.
  16. Есть сомнения, что какая-то из Sql служб коннектится не туда. Вот список: Все ли так? Приношу извинения за флуд, время на редактирование сообщения не так много.
  17. UPD* Включил все службы Sql вошел в игру, сайт по прежнему не может установить коннект с базами.
  18. Результат не сдвинулся к сожалению: Накрутил что-то Sql Server conf. manager, теперь не могу войти под персонажа, идет бесконечная загрузка. Чувствую придётся полностью сносить Sql и устанавливать по новой, ох, давно я этого не делал
  19. Пока думаю над вопросом "С подключением баз", возник другой вопрос. У сайтов существует проверка на то, что подключены ли базы, т.е. если база не будет подключена мы получим сообщение вроде - Проверьте подключены ли базы и белый титульный лист. Как сделать так, чтобы обязательная проверка баз игнорировалась (но работала когда базы подключены) и сайт загружался без подключения к ним?
  20. Даже если все выпавшие вещи поднимал один человек, предмет может достаться кому угодно из пати, некий бросок кубика, у кого больше, тому и достается вещь. А сейчас действует такая система - у кого пинг меньше до сервера, тот все и получит
  21. Не могли бы Вы подсказать, как снести полностью MS SQL? А то запчасти от него все равно остаются в системе, переустанавливать из-за этого Win не охото, а то компьютер на половину рабочий
  22. Соединение с базами пошло, но эффект тот же: Если вводить логин и пароль, то получается вот так:
  23. Sqlexpress - отключен, использую вместо него экземпляр 2012, имя входа использую Home-PC. Пробовал в конфиге вводить Home-PC вместо 127.0.0.1, результат оставался тем же. Если брать в расчет Sql server configuration manager , то при включении всех служб Sql сервер перестает запускаться. Отключая некоторые из них, сервер без проблем запускается. Думаю, что проблема кроется именно там.
  24. Использую (local) или имя PC - Home-PC С VS установился еще Sql 2005 Exp., но у него вход если не ошибаюсь home-pc/sqlexpress
×
×
  • Create New...