Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. With “Do you need exfoliation before an instant tan and how should you do it”, people often underestimate skin prep and overestimate how much the shade alone can solve. In my experience, the best results happen when the color depth, dry areas, and aftercare rules are discussed in advance. That usually makes the finish look cleaner and the fade much more even. It would be interesting to compare what actually mattered most for people who have already tried it.
  3. Last week
  4. Советую поделиться — сервис Technguides хорошо подходит для определения цвета пикселя. Онлайн.
  5. Earlier
  6. Проект закрыт. Прошу перенести в архив или удалить тему.
  7. Расскажите пожалуйста как добавить в клиент русский язык что и в каких местах изменить. Пожалуйста
  8. Приветствуем тебя, дорогой друг! Хотим пригласить тебя на уникальный и захватывающий сервер Пиратия Innovation. Здесь ты найдешь новые игровые механики, интересную систему развития, кучу PvP и PvE контента, а также море удовольствия и целый океан впечатлений! Сильно вкратце о нашем сервере: Самоцветы +5, +7, +10, +15 и +20 для начальной стадии игры, самоцветы +25, +30, +35 и +40 для средней стадии игры, самоцветы +45, +50, +55, +60 для продвинутых игроков. Существуют самоцветы и для форжа плаща. Гем Шанса Дропа +1, Гем Бега +10, Гемы Регена ХП и МН. 7 поколений фей: стартовый Бургер, Анжела, Младшая Анжела, Фея Августа и Фея Дракона, Фея Бога и Фея Превосходства. В скором времени планируется введение 8 поколения. Ансилы 100, 200, 300, 400, 500, 600, 700, 800, 900 и 1000. Не за горами дальнейшие сеты. Сеты не выбиваются отдельно, а улучшаются. То есть получаете 100 сет, дальше фармите лут на камни улучшения. 100 сет апается в 200, 200 в 300 и т.д. Присутствуют и питомцы, у каждого свои способности и бонусы. Максимальный уровень персонажа – 1000. За каждые 10 уровней дается 1 поинт характеристик. На сервере есть такая игровая механика, как «ресет». Он позволяет сбросить уровень персонажа и прокачать его заново. Прокачанные характеристики при этом не сбрасываются, а при повторной прокачке до 1000 лвла ты получишь еще +100 поинтов характеристик. На данный момент можно пройти только 10 ресетов, но это только пока. Максимальные Статы: Сила – 1000 Ловкость – 1000 Телосложение – 1000 Точность – 1000 Дух – 1500. Максимальный уровень феи – 1800. Фрукты до 200 лвла можно купить у НПС. Фрукты 200-500 лвл, 500-800 лвл, 800-1000 лвл, 1000-1200 лвл, 1200-1400 лвл, 1400-1600 и 1600-1800 лвл можно выбить с мобов в определенных локациях. При улучшении феи с низшего гена до высшего ее уровень сохраняется. РБ 1, 2 и 3. Автолутер - собирает все выпавшие предметы вам в сумку СУЭ – сундуки улучшения экипировки. В них лежат свитки на хит, додж, деф, атаку и сопротивление. Эти свитки можно применить ко всем вещам, кроме бижи и колец. При улучшении уровня экипировки все свитки остаются в целости и сохранности, не нужно фармить их для каждого сета отдельно. Плащ и крылья/ауры. В них можно вставлять статы при помощи специальных улучшений плаща и крыльев/аур. Также плащ можно форжить гемами на лакбонус, скорость бега, реген ХП/МН. Скоро будут добавлены гемы для форжа крыльев/аур. Наши НПС могут подсказать тебе, жив ли босс, а если нет, то кто его убил и когда, и во сколько он снова заспавнится. Существует также банк гильдии, владелец ГИ может выдавать каждому игроку туда доступ (можно либо только класть в банк лут, либо класть и забирать его). Для хранения лута можно использовать временный инвентарь (который Alt + D). Есть и игровой автомат с полностью переделанными наградами. На нем можно быстро заработать огромное количество золота. Для получения нового сета НЕ обязательно ждать спавн боссов, карты с них можно обменять на обычный лут с мобов, так что теперь не нужно часами пытаться поймать респ боссов. Различные расходники и улучшалки можно открывать через НПС,либо использовать 8 слот сумки(встроенный авто-кликер для всего) На сервере присутствует система кулинарии, 1-5 уровень. Используется для создания кука. Чем выше уровень, тем лучше кук. Локации. Стартовый город – Шайтан. Здесь находятся все данжи для ансов 100-600, гемов +5, +7, +10, +15 и +20. Шахты. Для фарма келей, репутации и золота. Лабиринт. Для фарма гемов +5, рефов, камней заточки и золота. В локации присутствуют мобы, честы и босс. Пустынные Руины. Для фарма гемов +7. В локации присутствуют мобы, честы и босс (его можно призвать убив определенное количество мобов). Остров Хэллоуина. Для фарма гемов +10. В локации присутствуют мобы, честы и боссы (их можно призвать убив определенное количество мобов). Хаос Шайтана. Для фарма гемов +15, мешков улучшения плаща и крыльев/аур, репутации, золота, свитков улучшения дропа, рефов и т.д. 4 волны мобов и сундуков + босс в конце. Остров Богатсва. Для фарма золота и различных расходников и улучшалок Второй город – Город Судьбы. Для средней стадии игры. Здесь находятся все данжи для ансов 700, 800, 900 и 1000, гемов +25, +30, +35 и +40. Лут для фей 5-6 поколения, для ресетов. Тут же вы найдете и Хаос Судьбы (для фарма гемов и рефов в плащ). Третий город – Город Зимы (Ледынь). Здесь можно нафармить лут для 3 РБ и Феи Превосходства (7 ген). Хаос Зимы. Тут можно фармить гемы +45, +50, +55 и +60. Обычные Локации: -Стужа -Испытание 1-5 -Шахты Судьбы -Церковь -Остров Драконов -Остров Пиратов -Край Авроры -Остров Скорби -Остров Рыбаков -Логово -Долина Вулканов -Остров Сокровищ -Райский Остров -Остров Руин -Остров Дурманов -Мираж ОД -Мираж АДА -Мираж ОС -Мировой Босс Шайтана -Мировой Босс Судьбы А также множество других локаций для фарма улучшений ансов, для фарма расходников и многого другого. Более подробную информацию по серверу вы можете узнать на нашем форуме https://piratia-innovation.ru/forum/guides-category Либо задать нам вопрос в группе ВК https://vk.com/piratia.innovation Либо в телеграмме @InnovationPiratia Скачать клиент можно по ссылке https://piratia-innovation.ru/download/ (у кого Windows 10,запускать лаунчер через правую кнопку мыши,от имени администратора) Регистрация аккаунта https://piratia-innovation.ru/register/ (Сначала создаётся аккаунт для сайта\форума,а далее уже игровой) С уважением, команда сервера Пиратия Innovation. Мы ждем тебя, друг!
  9. Объявляю набор на ЗБТ (с функциями ОБТ). Любой желающий может зарегистрироваться на сайты - ссылка. После регистрации создать игровой аккаунт. Лаунер можно скачать на форуме (ссылка) в разделе "Загрузки". Поместить его в пустую папку и запустить. Он автоматически скачает клиент. Обязательное требование к тестерам - присутствие в телеграм канале. Все обсуждения происходят там. Главная задача - тест нового функционала.
  10. С радостью представляем вам первую линейку премиум-маунтов с обновлённой системой окраски! Будьте стильными, выделяйтесь из толпы и катайтесь с шиком!
  11. Что хочется еще видеть и что уже в процессе реализации, но пока на паузе: 1. Экспорт готовой модели; 2. Перевод на Net Core 8; 3. Импорт готовой модели.
  12. Просмотр моделей Зачем же я это начал дорабатывать.. Для того, чтобы не копировать скрины мобов с чьей-либо Базы Данных, а иметь свои скриншоты для своего проекта. И вывести всех монстров, а не только тех, которые есть у "кого-то там на другом проекте". Что изменено: Расположение "пола" под моделями; Добавлена возможность выводить текстуру "пола"; Добавлена возможность выводить "задний фон"; Добавлена возможность выбора текстуры "заднего фона"; Убраны стандартные нопки управления; Добавлено параномирование (движение камеры); Исправлена ошибка в DrawDesert: OpenTK.Graphics.GraphicsErrorException: "StackOverflow"; Левая кнопка мыши теперь отвечает только за перемещение камеры; Правая кнопка мишы теперь отвечает за поворот камеры; Колесико мышки отвечает за зум; Исправлена ошибка "System.IO.EndOfStreamException: "Чтение после конца потока невозможно."; Переписано наложение текстур на модель. Visual Studio 2022 Community. Net Framework 4.8. Цена: 500 USDT. (за исходник). P.S. Если руки дойдут, хочу все таки сделать экспорт хотя бы в какой-нибудь современный аналог для редактирования модели. За покупкой обращаться или в телеграм (https://t.me/ggdevelop) или в Discord (grafulya)
  13. Обновил до версии 0.2. Изменения: Исправлена ошибка парсинга ChaSpn файлов; Добавлен вывод пути до выбранного каталога resource; Добавлен вывод версии; Небольшая перестановка (буквально несколько пикселей) интерфейса; Добавил парсинг файла mlist.lua (то есть всех монстров из resource/script/monster/*); Выведен подсчет количества проверенных файлов (для проверки самого себя). Ссылку обновил
  14. Поиск монстров по картам Вы когда-нибудь задумывались о том, что в игре сотни монстров? Сегодня и я задумался об этом... Потом решил, что хочу знать, какие монстры на каких картах расстановлены.. И тут мне стало грустно перебирать все руками. Поэтому написал программу (net. Core 8). Видео: Видео-17-10-2025 191622.mp4 VirusTotal (https://www.virustotal.com/gui/file/5861fb385921a729f877345e645aa3957c86ba9ce42dd555221f231b37ba5602?nocache=1😞 Почему так выглядит VirusTotal: Скачать (Google Drive)
  15. Небольшой UPDATE Словил баг, что защита сервера выкидывает, при добавлении большого количества статов за раз. По этому добавление внизу, делает мини паузу через каждые 25 статов и с сервера больше не выбрасывает. 1) В функции namespace после static DWORD s_nextTick = 0; вставляем: static int s_holdCount = 0; 2) В static void StartHold(EStatBtn b) после s_nextTick = ::GetTickCount() + s_intervalMs; вставляем: s_holdCount = 0; 3) В FrameMove заменить кусок функции if (now >= s_nextTick) { ... } на: if (now >= s_nextTick) { if (s_holdCount >= 25) { StopHold(); return; } CCharacter* pCha = g_stUIBoat.GetHuman(); if (!pCha) { StopHold(); return; } SGameAttr* ga = pCha->getGameAttr(); if (!ga || ga->get(ATTR_AP) <= 0) { StopHold(); return; } DoAddOne(s_activeBtn); ++s_holdCount; if (s_stage == 0) s_intervalMs = 150; else if (s_stage == 1) s_intervalMs = 100; else s_intervalMs = 80; ++s_stage; s_nextTick = now + s_intervalMs; }
  16. Да, GUI взять с Pirates Fortune, разработчиком которого является Graf
  17. Добрый день! Поправил, сделал просто замены функции по шагам, не трогая целый код!
  18. Плагиат моего GUI осуждаю. Скрин:
  19. @Grim4ik Добрый вечер. Не уверен в корректности "заменить весь код". Хотя бы комментарии добавьте, чтобы люди могли нужные части кода себе перетащить.
  20. UIStateForm.cpp 1) Находим строку: using namespace GUI; Под ней вставляем: namespace { enum class EStatBtn { NONE, STR, AGI, CON, STA, DEX }; static bool s_holdActive = false; static EStatBtn s_activeBtn = EStatBtn::NONE; static int s_stage = 0; static DWORD s_intervalMs = 300; static DWORD s_nextTick = 0; static EStatBtn ResolveStatBtnByName(const std::string& n) { if (n == "btnStr") return EStatBtn::STR; if (n == "btnAgi") return EStatBtn::AGI; if (n == "btnCon") return EStatBtn::CON; if (n == "btnSta") return EStatBtn::STA; if (n == "btnDex") return EStatBtn::DEX; return EStatBtn::NONE; } static int AttrIdFromBtn(EStatBtn b) { switch (b) { case EStatBtn::STR: return ATTR_STR; case EStatBtn::AGI: return ATTR_AGI; case EStatBtn::CON: return ATTR_CON; case EStatBtn::STA: return ATTR_STA; case EStatBtn::DEX: return ATTR_DEX; default: return -1; } } static void DoAddOne(EStatBtn btn) { const int attrId = AttrIdFromBtn(btn); if (attrId < 0) return; CCharacter* pCha = g_stUIBoat.GetHuman(); if (!pCha) return; SGameAttr* ga = pCha->getGameAttr(); if (!ga || ga->get(ATTR_AP) <= 0) return; CChaAttr attr; attr.ResetChangeFlag(); attr.DirectSetAttr(attrId, 1); attr.SetChangeBitFlag(attrId); if (auto* proCir = (CProCirculateCS*)g_NetIF->GetProCir()) proCir->SynBaseAttribute(&attr); } static POINT GetClientCursor(HWND hwnd) { POINT p; ::GetCursorPos(&p); if (hwnd) ::ScreenToClient(hwnd, &p); return p; } static bool IsMouseOverBtn(HWND hwnd, CForm* frm, CGuiData* btn) { if (!frm || !btn || !btn->GetIsShow()) return false; POINT c = GetClientCursor(hwnd); const int x = frm->GetLeft() + btn->GetLeft(); const int y = frm->GetTop() + btn->GetTop(); const int w = btn->GetWidth(); const int h = btn->GetHeight(); return (c.x >= x && c.x < x + w && c.y >= y && c.y < y + h); } static CGuiData* ButtonByEnum(CTextButton* btnStr, CTextButton* btnAgi, CTextButton* btnCon, CTextButton* btnSta, CTextButton* btnDex, EStatBtn b) { switch (b) { case EStatBtn::STR: return btnStr; case EStatBtn::AGI: return btnAgi; case EStatBtn::CON: return btnCon; case EStatBtn::STA: return btnSta; case EStatBtn::DEX: return btnDex; default: return nullptr; } } static void StartHold(EStatBtn b) { s_activeBtn = b; s_holdActive = (b != EStatBtn::NONE); s_stage = 0; s_intervalMs = 300; s_nextTick = ::GetTickCount() + s_intervalMs; } static void StopHold() { s_holdActive = false; s_activeBtn = EStatBtn::NONE; } } 2) Находим существующую функцию: void CStateMgr::FrameMove(DWORD dwTime) { if( frmState->GetIsShow() ) { static CTimeWork time(100); if( time.IsTimeOut( dwTime ) ) RefreshStateFrm(); } } Заменяем целиком функцию на: void CStateMgr::FrameMove(DWORD dwTime) { if (frmState->GetIsShow()) { static CTimeWork time(100); if (time.IsTimeOut(dwTime)) RefreshStateFrm(); } HWND hwnd = ::GetActiveWindow(); const bool lmbDown = (::GetAsyncKeyState(VK_LBUTTON) & 0x8000) != 0; if (lmbDown && !s_holdActive) { if (IsMouseOverBtn(hwnd, frmState, btnStr)) StartHold(EStatBtn::STR); else if (IsMouseOverBtn(hwnd, frmState, btnAgi)) StartHold(EStatBtn::AGI); else if (IsMouseOverBtn(hwnd, frmState, btnCon)) StartHold(EStatBtn::CON); else if (IsMouseOverBtn(hwnd, frmState, btnSta)) StartHold(EStatBtn::STA); else if (IsMouseOverBtn(hwnd, frmState, btnDex)) StartHold(EStatBtn::DEX); } if (s_holdActive) { CGuiData* activeBtnPtr = ButtonByEnum(btnStr, btnAgi, btnCon, btnSta, btnDex, s_activeBtn); const bool stillOver = IsMouseOverBtn(hwnd, frmState, activeBtnPtr); if (!lmbDown || !stillOver) { StopHold(); } } if (s_holdActive) { DWORD now = ::GetTickCount(); if (now >= s_nextTick) { DoAddOne(s_activeBtn); if (s_stage == 0) s_intervalMs = 150; else if (s_stage == 1) s_intervalMs = 100; else s_intervalMs = 80; ++s_stage; s_nextTick = now + s_intervalMs; } } } 3) Найти функцию: void CStateMgr::MainMouseDown(CGuiData *pSender, int x, int y, DWORD key) Если в функции есть строки ниже, их удалить или замутить, остальное без изменения: s_activeBtn = ResolveStatBtnByName(name); // ← ЭТО УДАЛИТЬ, если было s_holdActive = true; // ← ТАКОГО ТОЖЕ БЫТЬ НЕ ДОЛЖНО Это все!
  21. Открываем UIHeadSay.cpp Находим: for (int i(0); i<NAME_PART_NUM; i++) { if( s_dwNamePartsColors[i][1] ) { CGuiFont::s_Font.BRender(s_sNamePart[i], x + iStartPosX, y - iNameHeightStep, s_dwNamePartsColors[i][0], s_dwNamePartsColors[i][1] ); } else { CGuiFont::s_Font.Render(s_sNamePart[i], x + iStartPosX, y - iNameHeightStep, s_dwNamePartsColors[i][0] ); } iStartPosX += CGuiFont::s_Font.GetWidth(s_sNamePart[i]); } Заменяем на: const bool drawLevelLeft = _pOwn->IsPlayer(); const int gap = 6; char lvl[32] = {0}; int lvlW = 0; if (drawLevelLeft) { SGameAttr* ga = _pOwn->getGameAttr(); #ifdef _MSC_VER _snprintf(lvl, sizeof(lvl), "[Lv.%d]", ga ? ga->get(ATTR_LV) : 0); #else snprintf(lvl, sizeof(lvl), "[Lv.%d]", ga ? ga->get(ATTR_LV) : 0); #endif lvlW = CGuiFont::s_Font.GetWidth(lvl); } const int nameW = CGuiFont::s_Font.GetWidth(s_szName); const int leftCombined = x - ((drawLevelLeft ? (lvlW + gap) : 0) + nameW) / 2; if (drawLevelLeft) { const int lvlX = leftCombined; const int lvlY = y - iNameHeightStep; CGuiFont::s_Font.Render(lvl, lvlX, lvlY, COLOR_BLACK); CGuiFont::s_Font.Render(lvl, lvlX - 1, lvlY - 1, 0xFF00FFFF); } iStartPosX = (leftCombined + (drawLevelLeft ? (lvlW + gap) : 0)) - x; for (int i = 0; i < NAME_PART_NUM; ++i) { if (s_dwNamePartsColors[i][1]) { CGuiFont::s_Font.BRender( s_sNamePart[i], x + iStartPosX, y - iNameHeightStep, s_dwNamePartsColors[i][0], s_dwNamePartsColors[i][1] ); } else { CGuiFont::s_Font.Render( s_sNamePart[i], x + iStartPosX, y - iNameHeightStep, s_dwNamePartsColors[i][0] ); } iStartPosX += CGuiFont::s_Font.GetWidth(s_sNamePart[i]); }
  22. Пример сундука с 3 ключами. function ItemUse_LockedChest1 (role, Item) local Cha_Boat = GetCtrlBoat ( role ) if Cha_Boat ~= nil then SystemNotice( role , "Нельзя использовать в море!" ) UseItemFailed ( role ) return end local Item_CanGet = GetChaFreeBagGridNum ( role ) if Item_CanGet < 4 then SystemNotice(role ,"Нужно 5 свободных ячеек") UseItemFailed ( role ) return end local key1 = CheckBagItem( role, 7500 )--Ключи local key2 = CheckBagItem( role, 7501 ) local key3 = CheckBagItem( role, 7502 ) if key1 <= 0 then SystemNotice( role , "Не хватает ключа!" ) UseItemFailed ( role ) return LUA_FALSE end if key2 <= 0 then SystemNotice( role , "Не хватает ключа!" ) UseItemFailed ( role ) return LUA_FALSE end if key3 <= 0 then SystemNotice( role , "Не хватает ключа!" ) UseItemFailed ( role ) return LUA_FALSE end DelBagItem ( role , 7500 , 1 )--ключи DelBagItem ( role , 7501 , 1 ) DelBagItem ( role , 7502 , 1 ) GiveItem ( role , 0 , 7062 , 1 , 20 )--Предметы GiveItem ( role , 0 , 6997 , 1 , 20 ) GiveItem ( role , 0 , 6996 , 1 , 20 ) GiveItem ( role , 0 , 6998 , 1 , 20 ) end
  23. Вот ещё интересный вариант, с ключом (Пурпурный сундук) function ItemUse_TestCest1 (role, Item) local Cha_Boat = GetCtrlBoat ( role ) if Cha_Boat ~= nil then SystemNotice( role , "Нельзя использовать в море!" ) UseItemFailed ( role ) return end local Item_CanGet = GetChaFreeBagGridNum ( role ) if Item_CanGet < 1 then SystemNotice(role ,"Недостаточно места в инвентаре") UseItemFailed ( role ) return end local i= CheckBagItem( role, 7101 ) --ID ключа if i <=0 then SystemNotice( role , "Нужен ключ соответствующего цвета!") UseItemFailed ( role ) return LUA_FALSE end local s = DelBagItem ( role , 7101 , 1 ) --ID ключа local sc = math.random(1,100) local itemname = "" if sc <=50 then GiveItem ( role , 0 , 7114 , 1 , 4 ) itemname = "Зеленый сундук" elseif sc <=65 then GiveItem ( role , 0 , 7102 , 1 , 4 ) itemname = "Зеленый ключ" elseif sc <=80 then GiveItem ( role , 0 , 7085 , 5 , 4 ) itemname = "Загадочная коробка" elseif sc <=95 then GiveItem ( role , 0 , 7084 , 5 , 4 ) itemname = "Сундук королевы феи" else GiveItem ( role , 0 , 7099 , 3 , 4 ) itemname = "Пиастра" end local cha_name = GetChaDefaultName ( role ) Notice ( "Игрок" ..cha_name.." открыл Пурпурный сундук и получил "..itemname ) end
  24. Важные новости от команды Piratia Tech Дорогие игроки! Сегодня мы хотим поделиться с вами очень важным решением, которое определит дальнейшую судьбу проекта. 🎯 После долгих обсуждений и анализа мы пришли к выводу: будущее сервера — за полноценным переходом на исходные коды. И мы с радостью сообщаем, что исходники уже приобретены и успешно запущены! 🚀 🔧 Что это значит для вас? 💠 Стабильность и надёжность 💠 Плавный геймплей — стабильные 60 FPS без визуальных багов 💠 Система ездовых маунтов 💠 Полноценная система браслетов, появсов и наручей ⏳ Конечно, перенос и доработка займут больше времени, чем мы изначально планировали. Но мы уверены — это решение верное. Оно позволит нам создать по-настоящему качественный и стабильный сервер, в который будет приятно играть вам, нашим дорогим игрокам. 💙 Спасибо за вашу поддержку, веру и терпение. Мы продолжаем развиваться — вместе с вами и для вас! С уважением, Администрация Piratia Tech ⚓ 🛠️ Dev-Blog 2 (улучшение предметов): Дорогие игроки! Работа над сервером активно продолжается, и мы хотим рассказать вам о важных изменениях, которые уже добавлены и протестированы. 🔨 Улучшения предметов Теперь все предметы улучшаются в Очаге Бессмертия. ⚙️ При улучшении форж сохраняется, что делает процесс прокачки более стабильным и честным. 🔹 Плащ Адмирала теперь можно улучшать только специальным предметом. 🔹 Маунты тоже требуют отдельный предмет для улучшения. 💰 Новая система золота Теперь все мобы дают золото при убийстве. 📈 Чем выше уровень моба — тем больше он даёт. 💸 На выходных (суббота и воскресенье) автоматически включаются рейты x2 на золото. Если у вас есть VIP, он даёт ещё +1x сверху. 👉 В итоге: с VIP и в выходные — у вас x3 золота с мобов и предметов! Это только начало — впереди много интересного! Спасибо, что следите за разработкой и поддерживаете проект. Мы делаем этот сервер для вас! ❤️ 🛠️ Dev-Blog 3: Обновление VIP-системы Привет, пираты! ⚓ У нас для вас хорошие новости — мы обновили и улучшили VIP-систему на сервере! 👑 Что нового? 🔹 Теперь, если у вас уже есть активный VIP, вы можете использовать ещё один VIP-предмет, и дни просто суммируются! Больше не нужно ждать окончания — продлевайте заранее! 🔹 При активации или продлении VIP теперь появляется уведомление в чате, чтобы вы точно знали, что всё прошло успешно. 🔹 Добавлен новый предмет "VIP Info", который позволяет посмотреть, сколько дней VIP у вас осталось. 🔹 В ближайшее время на сайте появится поиск по никам, где любой желающий сможет ввести имя персонажа и узнать, сколько дней VIP у него осталось. Удобно и прозрачно! Спасибо за поддержку! Команда Piratia Tech
  25. Сайт Discord VK Telegram 🔥 Тип сервера: Фан ⚔️ Макс. уровень персонажа: 150 🧚 Макс. уровень феи: 500 💎 Макс. заточка: lv40 / 210% одним кристалом 🎯 Классы героев Ланс – Мечник/Шарп Чамп – Чемпион Филлис – Шарп Ами – Знахарка 🛡️ Экипировка и бонусы Стартовый шмот у NPC — чтобы уверенно влиться в игру с первых минут. Tech-экипировка [+0] - [+3]: броня, оружие, бижутерия и кольца с возможностью постепенного апгрейда. 6 Аур со статами — занимают 3-й и 4-й слоты рюкзака и дают мощные бусты под ваши нужды. VIP-система: дополнительные бонусы к статам и эксклюзивный значок VIP над головой. Плащ адмирала: 1-4 уровень, дополнительные бонусы к статам и внешний вид 💎 Самоцветы +10 | +20 | +40 к базовым характеристикам +30 к статам (в кольца и бижутерию) 🏪 Система ларьков Уникальная площадка для торговли: Открывайте свой ларёк в любой безопасной зоне. Продавайте за любую серверную валюту или обменивайте на любой предмет в игре. Настраивайте ассортимент и рулите своим бизнесом вместе с друзьями! 💰 Валюты В мире Piratia Tech – пять ключевых ресурсов! 4 из 5 имеется каждый в трёх фасонах (бронза → серебро → золото): Золото (обычные деньги) Жетоны (бронза → серебро → золото) Монеты (бронза → серебро → золото) Ключи (бронза → серебро → золото) Доллары (бронза → серебро → золото) Меняйте бронзовые на серебряные, серебряные на золотые и используйте для прокачки, апгрейда экипировки и покупки редких штук. Валюту можно добывать с обычных мобов, боссов и в AFK-фарме на метеорите.
  26. Здравствуйте, капитан! 🏴‍☠️ В Magicsea Online произошло много интересного — и мы приглашаем вас вернуться в обновлённый мир приключений! ✨ Что нового в игре? • Добавлен Battle Pass с уникальными наградами • Новый режим — Рыбалка • Новые PvP-локации: Ледяная пещера и Хаос • Новые PvE-зоны: Шахты и Ледяная пещера • Более 200 новых заданий с озвучкой • Полностью переработанное обучение 🎯 А в следующем обновлении появится Аукцион и новые эпические локации! 🎁 Подарки ждут вас прямо сейчас! • VIP-статус на 7 дней • Набор зелий • Бесплатный скин Просто напишите нам ваш ник в игре в Telegram, и мы отправим вам подарок: 👉 https://t.me/magicsea_support 🔥 Наш ЧАТ => https://t.me/magicsea_chat Скачать игру: https://promo.magicseaonline.com/go-piratia Сотни игроков уже вернулись. Пора и вам снова выйти в море! 🌊 До встречи в Magicsea Online!
  1. Load more activity

Chat

Chat

Please enter your display name

×
×
  • Create New...