WVWMK
Community-
Content Count
507 -
Joined
-
Last visited
-
Days Won
26
Everything posted by WVWMK
-
ну тогда хексить, обратитесь к @V3ct0r
-
не понятна формулировка, если я правильно понимаю вас то: У вас квест на 12 частей и каждая часть у нового НПС и у каждого нового НПС добавляется новое задание, а прошлое остается? Смотрите исторический квест. У вас каждое новое задание у каждого нового нпс должно убирать предыдущее.
-
https://yadi.sk/d/E8X80RGj3PLQfe Вроде оно, но не уверен
-
1)variable.lua (поиск по LV_LIMIT) 2)exp_and_lvl.lua (поиск по exp=exp) детально просмотреть эти функции: GetExp_PKM ShareTeamExp или 3)function.lua,variable.lua не заполнены массивы DEXP ={} или GetExp = {}
-
Как вариант - можно выложить "кастрированного" бота, вдруг у кого руки дойдут доделать или фишки новые прикрутить
-
Проблема такова - устанавливаю чистый клиент пиратии(от мейла), меняю IP на локальный(127.0.0.1) или на любой другой(любого сервера) и клиент попросту не запускает. В диспетчере доходит до загрузки в оперативку до 170-200мб и крашится. Иногда вылетает сообщение : Что очень странно, ибо раньше все было нормально(месяца полтора назад), пользовался и IP Changer(старым) и от @V3ct0r, пытался и сам компилировать его, итог один - краш, кто сталкивался? Для примера - IP по которому стучусь 178.46.158.20 PS пробовал и через ссылку, все равно краш. PPS такое не только у меня, еще у пары человек.
-
Обращайся к нам чаще и все будет понятно) Сами такими были. Закрыто
-
Как и в первой функции нужно только 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 как бы с ковкой та же фигня что и с комбайном.
-
Насколько мне известно - нет, но проблема эта возникает не у всех и не на всех клиентах
-
Респ хранится в файлах карты или в папке .\Server\[4]GameServer\resource\script\monster CreateCha(ID, X*100, Y*100, УГОЛ ПОВОРОТА, ВРЕМЯ РЕСПА) А ХП хранится в CharacterInfo.txt, как написано выше
-
analyze resource file [scripts/tables/iteminfo.txt] failed,account
WVWMK replied to ekans's topic in Пиратия: Помощь
Проверь через exel кол-во ячеек : возьми нормальный доспех, возьми эту строчку и посмотри различия. -
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 вроде так
-
Награждение персонажей за проведенное время в игре
WVWMK replied to e1mer's topic in Пиратия: Документация
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 -
Награждение персонажей за проведенное время в игре
WVWMK replied to e1mer's topic in Пиратия: Документация
Код покажите, Скорей всего вы где то ошиблись или у вас что то не так с серверной машиной. -
forge.lua функция самая первая can_fenjie_item(...)
- 1 reply
-
- 1
-
команда Mordo он использовался на Mordo Hard Похожий интерфейс есть в пиратии 3.0(не помню как она называется)
-
Заменить модель корабля, на модель моба? Если у вас есть трансформация - можете попробовать. В противном случае, где то в шаре лежит ГС с трансформацией. Я не пытался, но скорей всего это возможно, с мобами ведь прокатывает.
-
Можно конечно. Реализация не сложная. По теме : как написали выше - зачем тебе это, если есть сундук и ключ? но вот тебе код: 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
-
@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
-
Я точно не смогу проверить) У меня CharacterInfo в другом формате и iteminfo
-
@Holter mapinfo.txt забыл
-
Больше действий, больше нагрузка, больше рутинной работы по настройке баланса, мобильный банк, если не сделать защиту от Уз любви(узы любви) Тем более опять же, парень 90 уровня придет в ансах 45 и выйдет против 45 в ансах 45 и насует ему, не?
-
Это самый нормальный вариант. Но подбор соперников будет очень долгий, тем более что онлайн на наших серверах оставляет желать лучшего. Но это будет балансное распределение. Мы имеем 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 БК, что заведомо проигрышная ситуация. Вот с классами алгоритм не клеится у меня пока. Ибо рейтинг и уровень - легкая тема. Что там, что там есть диапазон который будет сбалансированно показывать ту или иную команду. Но это вам не Дота где вы потом выбираете себе персонажа.