Jump to content

WVWMK

Community
  • Content Count

    507
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by WVWMK

  1. ну тогда хексить, обратитесь к @V3ct0r
  2. не понятна формулировка, если я правильно понимаю вас то: У вас квест на 12 частей и каждая часть у нового НПС и у каждого нового НПС добавляется новое задание, а прошлое остается? Смотрите исторический квест. У вас каждое новое задание у каждого нового нпс должно убирать предыдущее.
  3. https://yadi.sk/d/E8X80RGj3PLQfe Вроде оно, но не уверен
  4. 1)variable.lua (поиск по LV_LIMIT) 2)exp_and_lvl.lua (поиск по exp=exp) детально просмотреть эти функции: GetExp_PKM ShareTeamExp или 3)function.lua,variable.lua не заполнены массивы DEXP ={} или GetExp = {}
  5. Как вариант - можно выложить "кастрированного" бота, вдруг у кого руки дойдут доделать или фишки новые прикрутить
  6. Проблема такова - устанавливаю чистый клиент пиратии(от мейла), меняю IP на локальный(127.0.0.1) или на любой другой(любого сервера) и клиент попросту не запускает. В диспетчере доходит до загрузки в оперативку до 170-200мб и крашится. Иногда вылетает сообщение : Что очень странно, ибо раньше все было нормально(месяца полтора назад), пользовался и IP Changer(старым) и от @V3ct0r, пытался и сам компилировать его, итог один - краш, кто сталкивался? Для примера - IP по которому стучусь 178.46.158.20 PS пробовал и через ссылку, все равно краш. PPS такое не только у меня, еще у пары человек.
  7. Обращайся к нам чаще и все будет понятно) Сами такими были. Закрыто
  8. Как и в первой функции нужно только 1 получить if Item_Lv <=9 then b = 1 end local b = 1 return b остальной код я вырезал, ибо он не нужен. Объясню : Мы вызываем функцию и хотим чтоб она вернула нам значение. на примере комбайна: --Комбинирование function begin_unite_item (...) .... --вызываем нашу измененную функцию которая вернет нам 1 local b = Check_CG_HechengBS ( Item2_Lv , ItemType2 , Sklv ) -- тут 1 записываем в б if b == 0 then -- если 0 то удаляем самоцветы i = RemoveChaItem ( role , ItemID2 , 1 , 2 , BagItem2 , 2 , 1 , 0) if i == 0 then ... end local cha_name = GetChaDefaultName ( role ) SystemNotice( role , "К сожалению, комбинирование не удалось. Самоцвет пропал") return 2 end -- если не 0 то все норм -- продолжаем ... return 1 end как бы с ковкой та же фигня что и с комбайном.
  9. Насколько мне известно - нет, но проблема эта возникает не у всех и не на всех клиентах
  10. Респ хранится в файлах карты или в папке .\Server\[4]GameServer\resource\script\monster CreateCha(ID, X*100, Y*100, УГОЛ ПОВОРОТА, ВРЕМЯ РЕСПА) А ХП хранится в CharacterInfo.txt, как написано выше
  11. Проверь через exel кол-во ячеек : возьми нормальный доспех, возьми эту строчку и посмотри различия.
  12. forge.lua --Функция рандома для комбинирования function Check_CG_HechengBS ( Item_Lv , Item_Type , Sklv ) local a = 0 local b = 0 Item_Lv = Item_Lv - 1 if Item_Type == 49 then a = math.max ( 0 , math.min ( 1 , ( 1 - Item_Lv * 0.10 + Sklv * 0.10 ) ) ) b = Percentage_Random ( a ) if Item_Lv <=9 then b = 1 end return b else LG( "Hecheng_BS","probability check determine item type is not a gem" ) return 0 end end -Функция рандома для вставки самоцветов function Check_CG_Jinglian ( Jinglian_Lv , Stone_Lv , Sklv ) local b = 1 return b end вроде так
  13. local newbie_radom_prize = math.random ( 1, 8 ) if newbie_radom_prize == 1 then end убери вот эти строчки и проверь, код рабочий. тут вероятность 0,125 на то что дальнейший скрипт сработает: if GetChaFreeBagGridNum ( role ) >= 4 then GiveItemX ( role , 0 , 3844 , math.random( 1, 2 ) , 4 ) --Небесная ягода (от 1 до 2 шт.) GiveItemX ( role , 0 , 3845 , math.random( 1, 2 ) , 4 ) --Зачарованная ягода (от 1 до 2 шт.) GiveItemX ( role , 0 , 0227 , math.random( 2, 5 ) , 4 ) --Питание феи (от 5 до 10 шт.) GiveItemX ( role , 0 , 0578 , math.random( 1, 2 ) , 4 ) --Фрукт роста (от 1 до 4 шт.) AddMoney ( role , 0 , math.random( 15000, 30000 )) --Призовое золото PlayEffect (role, 275 ) else BickerNotice(role, "\199\224 \253\242\232 30 \236\232\237\243\242 \239\240\232\231\251 \237\229 \237\224\247\232\241\235\232\237\251. \206\241\226\238\225\238\228\232\242\229 4 \241\235\238\242\224 \226\238 \226\240\229\236\229\237\237\238\236 \236\229\248\234\229") --BickerNotice(role, "За эти 30 минут призы не начислины. Освободите 4 слота во временном мешке") end
  14. Код покажите, Скорей всего вы где то ошиблись или у вас что то не так с серверной машиной.
  15. Нет конечно, сноси (:
  16. forge.lua функция самая первая can_fenjie_item(...)
  17. команда Mordo он использовался на Mordo Hard Похожий интерфейс есть в пиратии 3.0(не помню как она называется)
  18. Изначально ставь формат ячеек текстовый, excel меняет некоторые ячейки
  19. Заменить модель корабля, на модель моба? Если у вас есть трансформация - можете попробовать. В противном случае, где то в шаре лежит ГС с трансформацией. Я не пытался, но скорей всего это возможно, с мобами ведь прокатывает.
  20. Можно конечно. Реализация не сложная. По теме : как написали выше - зачем тебе это, если есть сундук и ключ? но вот тебе код: function GetExp_PKM( dead , atk ) ... local normal_monster = GetChaID(dead) if normal_monster == ID_MOB then --Но вообще, для начала проверить есть ли эти предметы, а потому уже их удалять, но мне лень. if (DelBagItem(role,ID_KEY,1) == 1 and DelBagItem(role,ID_CHEST,1) == 1) then -- где ID_KEY - ID ключа, а ID_CHEST - ID честа local rando = math.random(1,3) if rando == 1 then GiveItem(atk, 0 , ID_ITEM , 1 , 4) end if rando == 2 then GiveItem(atk, 0 , ID_ITEM , 1 , 4) end if rando == 3 then GiveItem(atk, 0 , ID_ITEM , 1 , 4) end end end ... end
  21. @destroger для одного предмета. function GetExp_PKM( dead , atk ) ... local normal_monster = GetChaID(dead) if normal_monster == ID_MOB then -- где ID_MOB - твой куст GiveItem(atk, 0 , ID_ITEM , 1 , 4) -- где ID_ITEM - предмет который хочешь выдать. end ... end для нескольких предметов. function GetExp_PKM( dead , atk ) ... local normal_monster = GetChaID(dead) if normal_monster == ID_MOB then local rando = math.random(1,3) if rando == 1 then GiveItem(atk, 0 , ID_ITEM , 1 , 4) end if rando == 2 then GiveItem(atk, 0 , ID_ITEM , 1 , 4) end if rando == 3 then GiveItem(atk, 0 , ID_ITEM , 1 , 4) end end ... end
  22. Я точно не смогу проверить) У меня CharacterInfo в другом формате и iteminfo
  23. Больше действий, больше нагрузка, больше рутинной работы по настройке баланса, мобильный банк, если не сделать защиту от Уз любви(узы любви) Тем более опять же, парень 90 уровня придет в ансах 45 и выйдет против 45 в ансах 45 и насует ему, не?
  24. Это самый нормальный вариант. Но подбор соперников будет очень долгий, тем более что онлайн на наших серверах оставляет желать лучшего. Но это будет балансное распределение. Мы имеем 10 персонажей с такими уровнями и одинаковым рейтингом(если рейтинг не одинаковый, то сначала сортировка по нему, тем же образом) : Танки : 44\55 Крузы : 48\53 Бк\СМ : 40\50 Шарпы : 47\50 Покорители морей : 50\50 Суммируем все уровни, получаем 487 Итого суммарный уровень одной команды должен быть равен 243. Далее из этого формируется команда методом какой нибудь сортировки. Т.е. мы получаем список уровней по возрастанию: 40, 44 , 47, 48, 50, 50, 50 ,50, 53, 55 44 +53 + 47 + 50 + 50 = 244 40 + 48 + 50 + 55 + 50 =243 Команды сбалансированы, но не по классам, как по классам сортировать, нужно думать. Если уйти от идеальной модели в 5-6 классов, то тогда данная модель будет работать, но не будет исключатся момент, когда в вашей команде 5 шарпов, а в тиме противника 5 БК, что заведомо проигрышная ситуация. Вот с классами алгоритм не клеится у меня пока. Ибо рейтинг и уровень - легкая тема. Что там, что там есть диапазон который будет сбалансированно показывать ту или иную команду. Но это вам не Дота где вы потом выбираете себе персонажа.
×
×
  • Create New...