Jump to content

Exc

Resident
  • Posts

    348
  • Joined

  • Last visited

  • Days Won

    19

Posts posted by Exc

  1. 10 часов назад, Катафал сказал:

    если брать дино сигл так он дает именно маг защиту...там четко так и написано...и всегда давал...но работает он так как веспер сейчас.. с вероятностью режет маг демаг...а должен давать Мдеф

    5.png.c64f723917da56b0f73edffc54c697c5.png

  2. В 24.12.2021 в 06:57, thereandnow сказал:

    2021.12.24 01:47:36
    OS : Windows 10 (64-bit) 10.0 (Build: 19043)
    CPU : AuthenticAMD  AMD Ryzen 3 5300U with Radeon Graphics          @ 2596 MHz 2047MB RAM
    Video : AMD Radeon(TM) Graphics (8)
    PosCode : LS8(268) 0:0:0 8/0 [789]

    General protection fault!

    History: UOrcMove::CalculateCRC32 <- 1.510000::0 <- UGameEngine::Init <- InitEngine

    Битый файл, удаляешь 3 паки ( system, SysTextures,Textures) и делаешь обновление.

  3. х15 давно должен был превратиться в какой нибудь х1000 , где легко и быстро всё делается ( релакс пвп сервер ) . 

    Играл на одном сервере там был лоу и пвп сервер , народ бегал и там и там . Охота мобов по крабить?  на лоу серв, Оли или замесы ? на пвп .

    Но, наврятли это про клуди

  4. 47 минут назад, Jie сказал:

    enchantLevel = itemToEnchant->m_d.m_sharedData->enchantLevel; if ( itemToEnchant->vtable->m_v.IsWeapon(itemToEnchant) ) { constSharedData = itemToEnchant->m_d.m_constSharedData; if ( constSharedData->crystalType >= 2 && constSharedData->isMagicWeapon ) это шанс магической { chance = 100.0 - 60.0; if ( enchantLevel < 3 ) { LABEL_11:

    100 - 60 = 40% с 4 до 15

    у физической 
    100 - 30 = 70% с 4 до 15 

    после 15 шанс снижается на 70 * 0.5 = 35% это физическое оружие
    после 15 шанс снижается на 40 * 0.5 = 20% это магическое оружие

    Извиняюсь, моя тупой. Думал что написаны (chance = 100.0 - 60.0) уже значения шансов , а это  формула) 

  5. В 18.10.2021 в 23:35, Jie сказал:

    Опечаталась, писала в ручную, для тех кто не сможет понять формулу написанную в коде) 

    И еще если я правильно всю скинутую инфу , то ....

    chance = 100.0 - 60.0;         -это шанс на заточку физ. оружия до + 3 он 100% , далее 60% ( вместо 70% как заявлено)
          if ( enchantLevel < 3 )

     

    }
          if ( enchantLevel >= 15 ) - это точка после +15 , её шанс падает на 50% , т.е. 60/2=30% заточить физ.пуху на 16
          {
            chance = chance * 0.5;

     

    chance = 100.0 - 30.0;
          if ( enchantLevel < 3 )- ну а это маг.пуху так же показано до +3 -100% , далее 30% , после +15 -15%
          {
            goto LABEL_11;
          }
          if ( enchantLevel >= 15 )
          {
            chance = chance * 0.5;
  6. 19 часов назад, Jie сказал:

    Формула заточки на птс:

      Скрыть контент
    char __thiscall CWorldItem::EnchantItem(CWorldItem *this, CWorldItem *itemToEnchant, CWorldUser *user)
    {
      int enchantLevel; // esi@3
      CSharedItemConstData *constSharedData; // eax@4
      CUserSocket *userSocket; // eax@11 MAPDST
      double dice2; // st7@28
      int itemClassId; // [sp-4h] [bp-3Ch]@11 MAPDST
      int v11; // [sp+0h] [bp-38h]@1
      double dice; // [sp+Ch] [bp-2Ch]@9
      double chance; // [sp+14h] [bp-24h]@6
      int *v15; // [sp+28h] [bp-10h]@1
      int v16; // [sp+34h] [bp-4h]@1
    
      v15 = &v11;
      v16 = 0;
      if ( !itemToEnchant )                         // Add lock/unlock!!
      {
        return false;
      }
      enchantLevel = itemToEnchant->m_d.m_sharedData->enchantLevel;
      if ( itemToEnchant->vtable->m_v.IsWeapon(itemToEnchant) )
      {
        constSharedData = itemToEnchant->m_d.m_constSharedData;
        if ( constSharedData->crystalType >= 2 && constSharedData->isMagicWeapon )
        {
          chance = 100.0 - 60.0;
          if ( enchantLevel < 3 )
          {
    LABEL_11:
            userSocket = user->m_d.m_userSocket;
            itemClassId = itemToEnchant->m_d.m_sharedData->itemClassId;
            if ( enchantLevel )
            {
              CServerSocketBase::Send((CServerSocketBase *)userSocket, (const char *)"cdddddd", ServerToClientPacket_SystemMessage, SystemMessageId_s1s2_has_been_successfully_enchanted, 2, 1, enchantLevel, 3, itemClassId);
            }
            else
            {
              CServerSocketBase::Send((CServerSocketBase *)userSocket, (const char *)"cdddd", ServerToClientPacket_SystemMessage, SystemMessageId_s1_has_been_successfully_enchanted, 1, 3, itemClassId);
            }
            CDB::RequestEnchantItem(&g_cacheD, this, itemToEnchant, enchantLevel + 1, user);
            return true;
          }
          if ( enchantLevel >= 15 )
          {
            chance = chance * 0.5;
          }
          dice = Utils::GetRandomNumber(0.0, 100.0);
          if ( dice <= chance )
          {
            CLog::Add(&g_winlog, LOG_REQUEST, L"magic weapon enchant success, prev enchanted[%d], dice[%f], prob[%f]", enchantLevel, dice, chance);
            goto LABEL_11;
          }
          CLog::Add(&g_winlog, LOG_REQUEST, L"magic weapon enchant fail, prev enchanted[%d], dice[%f], prob[%f]", enchantLevel, dice, chance);
        }
        else
        {
          chance = 100.0 - 30.0;
          if ( enchantLevel < 3 )
          {
            goto LABEL_11;
          }
          if ( enchantLevel >= 15 )
          {
            chance = chance * 0.5;
          }
          dice = Utils::GetRandomNumber(0.0, 100.0);
          if ( dice <= chance )
          {
            CLog::Add(&g_winlog, LOG_REQUEST, L"weapon enchant success, prev enchanted[%d], dice[%f], prob[%f]", enchantLevel, dice, chance);
            goto LABEL_11;
          }
          CLog::Add(&g_winlog, LOG_REQUEST, L"weapon enchant fail, prev enchanted[%d], dice[%f], prob[%f]", enchantLevel, dice, chance);
        }
      }
      else
      {
        if ( enchantLevel < 3 )
        {
          goto LABEL_11;
        }
        if ( enchantLevel >= 20 )
        {
          chance = 0.0;
        }
        else
        {
          chance = 100.0 - g_armorEnchantFailureChances[enchantLevel] * 100.0;
        }
        if ( enchantLevel >= 15 )
        {
          chance = chance * 0.5;
        }
        dice2 = Utils::GetRandomNumber(0.0, 100.0);
        dice = dice2;
        if ( enchantLevel < 20 && dice2 <= chance )
        {
          CLog::Add(&g_winlog, LOG_REQUEST, L"armor enchant success, prev enchanted[%d], dice[%f], prob[%f]", enchantLevel, dice, chance);
          goto LABEL_11;
        }
        CLog::Add(&g_winlog, LOG_REQUEST, L"armor enchant fail, prev enchanted[%d], dice[%f], prob[%f]", enchantLevel, dice, chance);
      }
      userSocket = user->m_d.m_userSocket;
      itemClassId = itemToEnchant->m_d.m_sharedData->itemClassId;
      if ( enchantLevel )
      {
        CServerSocketBase::Send((CServerSocketBase *)userSocket, (const char *)"cdddddd", ServerToClientPacket_SystemMessage, SystemMessageId_Enchantment_has_failed_s1s2_has_been_evaporated, 2, 1, enchantLevel, 3, itemClassId);
      }
      else
      {
        CServerSocketBase::Send((CServerSocketBase *)userSocket, (const char *)"cdddd", ServerToClientPacket_SystemMessage, SystemMessageId_Enchantment_has_failed_s1_has_been_evaporated, 1, 3, itemClassId);
      }
      CDB::RequestEnchantItemFail(&g_cacheD, this, itemToEnchant, user);
      return true;
    }

     

    Для простого понимания, расшифровка формулы которая сверху:

    ; таблица шансов на заточку физического оружия (Enchant chance table for physical weapon from +1 to +20)
    PhysicalWeaponEnchantSuccessRateByLevel1  = 100.0
    PhysicalWeaponEnchantSuccessRateByLevel2  = 100.0
    PhysicalWeaponEnchantSuccessRateByLevel3  = 100.0
    PhysicalWeaponEnchantSuccessRateByLevel4  = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel5  = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel6  = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel7  = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel8  = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel9  = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel10 = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel11 = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel12 = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel13 = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel14 = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel15 = 70.0
    PhysicalWeaponEnchantSuccessRateByLevel16 = 35.0
    PhysicalWeaponEnchantSuccessRateByLevel17 = 35.0
    PhysicalWeaponEnchantSuccessRateByLevel18 = 35.0
    PhysicalWeaponEnchantSuccessRateByLevel19 = 35.0
    PhysicalWeaponEnchantSuccessRateByLevel20 = 35.0

    ; таблица шансов на заточку магического оружия (Enchant chance table for magical weapon from +1 to +20)     
    MagicWeaponEnchantSuccessRateByLevel1  = 100.0
    MagicWeaponEnchantSuccessRateByLevel2  = 100.0
    MagicWeaponEnchantSuccessRateByLevel3  = 100.0
    MagicWeaponEnchantSuccessRateByLevel4  = 40.0
    MagicWeaponEnchantSuccessRateByLevel5  = 40.0
    MagicWeaponEnchantSuccessRateByLevel6  = 40.0
    MagicWeaponEnchantSuccessRateByLevel7  = 40.0
    MagicWeaponEnchantSuccessRateByLevel8  = 40.0
    MagicWeaponEnchantSuccessRateByLevel9  = 40.0
    MagicWeaponEnchantSuccessRateByLevel10 = 40.0
    MagicWeaponEnchantSuccessRateByLevel11 = 40.0
    MagicWeaponEnchantSuccessRateByLevel12 = 40.0
    MagicWeaponEnchantSuccessRateByLevel13 = 40.0
    MagicWeaponEnchantSuccessRateByLevel14 = 40.0
    MagicWeaponEnchantSuccessRateByLevel15 = 40.0
    MagicWeaponEnchantSuccessRateByLevel16 = 20.0
    MagicWeaponEnchantSuccessRateByLevel17 = 20.0
    MagicWeaponEnchantSuccessRateByLevel18 = 20.0
    MagicWeaponEnchantSuccessRateByLevel19 = 20.0
    MagicWeaponEnchantSuccessRateByLevel20 = 20.0

    ; таблица шансов на заточку бижутерии (Enchant chance table for accessary from +1 to +20)
    AccessaryEnchantSuccessRateByLevel1  = 100
    AccessaryEnchantSuccessRateByLevel2  = 100
    AccessaryEnchantSuccessRateByLevel3  = 100
    AccessaryEnchantSuccessRateByLevel4  = 66.6
    AccessaryEnchantSuccessRateByLevel5  = 33.3
    AccessaryEnchantSuccessRateByLevel6  = 25  
    AccessaryEnchantSuccessRateByLevel7  = 20  
    AccessaryEnchantSuccessRateByLevel8  = 16.6
    AccessaryEnchantSuccessRateByLevel9  = 14.3
    AccessaryEnchantSuccessRateByLevel10 = 12.5
    AccessaryEnchantSuccessRateByLevel11 = 11.2
    AccessaryEnchantSuccessRateByLevel12 = 10  
    AccessaryEnchantSuccessRateByLevel13 = 9.1
    AccessaryEnchantSuccessRateByLevel14 = 8.3
    AccessaryEnchantSuccessRateByLevel15 = 7.7
    AccessaryEnchantSuccessRateByLevel16 = 7.1
    AccessaryEnchantSuccessRateByLevel17 = 6.6
    AccessaryEnchantSuccessRateByLevel18 = 6.25
    AccessaryEnchantSuccessRateByLevel19 = 5.88
    AccessaryEnchantSuccessRateByLevel20 = 5.5

    ; таблица шансов на заточку брони (Enchant chance table for armors from +1 to +20)
    ArmorEnchantSuccessRateByLevel1  = 100
    ArmorEnchantSuccessRateByLevel2  = 100
    ArmorEnchantSuccessRateByLevel3  = 100
    ArmorEnchantSuccessRateByLevel4  = 66.6
    ArmorEnchantSuccessRateByLevel5  = 33.3
    ArmorEnchantSuccessRateByLevel6  = 25  
    ArmorEnchantSuccessRateByLevel7  = 20  
    ArmorEnchantSuccessRateByLevel8  = 16.6
    ArmorEnchantSuccessRateByLevel9  = 14.3
    ArmorEnchantSuccessRateByLevel10 = 12.5
    ArmorEnchantSuccessRateByLevel11 = 11.2
    ArmorEnchantSuccessRateByLevel12 = 10  
    ArmorEnchantSuccessRateByLevel13 = 9.1
    ArmorEnchantSuccessRateByLevel14 = 8.3
    ArmorEnchantSuccessRateByLevel15 = 7.7
    ArmorEnchantSuccessRateByLevel16 = 7.1
    ArmorEnchantSuccessRateByLevel17 = 6.6
    ArmorEnchantSuccessRateByLevel18 = 6.25
    ArmorEnchantSuccessRateByLevel19 = 5.88
    ArmorEnchantSuccessRateByLevel20 = 5.5

    ; таблица шансов на заточку FullBody арморов от +1 до +20 (Enchant chance table for FullBody armors from +1 to +20)
    FullArmorEnchantSuccessRateByLevel1  = 100
    FullArmorEnchantSuccessRateByLevel2  = 100
    FullArmorEnchantSuccessRateByLevel3  = 100
    FullArmorEnchantSuccessRateByLevel4  = 100
    FullArmorEnchantSuccessRateByLevel5  = 66.6
    FullArmorEnchantSuccessRateByLevel6  = 33.3
    FullArmorEnchantSuccessRateByLevel7  = 25
    FullArmorEnchantSuccessRateByLevel8  = 20
    FullArmorEnchantSuccessRateByLevel9  = 16.6
    FullArmorEnchantSuccessRateByLevel10 = 14.3
    FullArmorEnchantSuccessRateByLevel11 = 12.5
    FullArmorEnchantSuccessRateByLevel12 = 11.2
    FullArmorEnchantSuccessRateByLevel13 = 10
    FullArmorEnchantSuccessRateByLevel14 = 9.1
    FullArmorEnchantSuccessRateByLevel15 = 8.3
    FullArmorEnchantSuccessRateByLevel16 = 7.7
    FullArmorEnchantSuccessRateByLevel17 = 7.1
    FullArmorEnchantSuccessRateByLevel18 = 6.6
    FullArmorEnchantSuccessRateByLevel19 = 6.25
    FullArmorEnchantSuccessRateByLevel20 = 5.88
     

    Все вещи и пухи точатся на +3 - 100% , а не как у вас птс база)

    • Like 2
  7. Только что, Flylink сказал:

    понял, я так понимаю и от магических скилов вампиризм не работает об подобные объекты?

    не проверял , но думаю вампиризм должен работать только об живых нпс и мобов которые могут наносить урон

     

  8. Когда вел  Клакиеса в тот угол он тоже проваливался , малость поменял место и все было норм.  Пытайтесь не бить одиночных мобов(рб) рядом со стенами , углами и т.д.

  9. 8 часов назад, ГрязныйРамирес сказал:

    Так. Я затянул баг-репорт с пиками. Видео записано немного криво, но очень понятно. За лаги-извиняюсь, у меня после N-ых событий гребет провайдер.
    1)https://youtu.be/zvRPLqfKD_8 
    Мы-наш сервер. Всё очень четко видно. Я даже открыл резисты/сопротивления класса, и это ВЛ, а не спойл. Спойла не видел смысла даже писать, ибо там темнее лес вообще.
    итак-описание проблемы:
    1)У нас пика не работает в радиусе перед персонажем, то ли это проблема геодаты, то ли это проблема с Программной частью сервера. 
    2)Пика не регенит ХП, как должно быть, а регенит лишь малую часть в %, так же видно какой отжор в % с баффами(я искренне надеюсь что тупых нет-и увидят что за баффы висят на ВЛе и какой должен быть отжор)
    Я долго собирал инфу-и нашел определенные нюансы(опираясь на базу HF5 Central Info, которая близка к ПТСу)
    1)https://hf5.l2central.info/Владение_Древковым_Оружием_-_Копейщик
    2)https://hf5.l2central.info/Свирепое_Нападение_-_Копейщик 
    https://www.youtube.com/watch?v=z15ZgnSAuk4 ==> Четко видно, как ВЛ бьет перед собой цели
    Если нужно-могу собрать больше информации.

     

    Нужна инфа как работает вампиризм с копьём в зависимости от количества целей ( типо 1 цель 100% вампиризм, 2 цели 70% и т.д.)

  10. 2) Получают Репутацию:

    - зарегистрированные участники осады замков, фортов (крепостей), клан холлов, а так же участники территориальных войн

    - установившая победный рекорд в "фестивале тьмы" партия получает славу.

    - победители в битвах подземного колизей получают репутацию. (но он почему-то не работает) Ранив исправить бы, тикет я создавал еще в марте.

    - билеты дворянина можно обменять на репутацию у старшего управляющего олимпиады  - этого нет в хф

  11. 9 минут назад, Magical Mystical Fairy сказал:

    Большинство почему-то искренне думают, что чистый клиент других серверов или проектов подходит для игры. Поэтому для "тщательного" изучения механик/способов я решил сделать так. Ну-просто уже были прецеденты когда люди качают клиент наш, и не могут зайти. Я сам не понял немного, но решил проверить рабочий способ. 
    Да и опять же-не у всех стоят свежие и новые драйвера и обновления для системы, хорошо хоть DLL файлы не просят докачать 🙂

    Мне лень делать подобные гайды , Можно админу делать ссылку на тему и всех отправлять сюда☺️ . Автору пожалуй даже лайк прожму )

  12. В 04.11.2020 в 21:21, Exc сказал:

    По опыту скажу , что простое сделать проверку часто не помогает . Для начала надо удалять папки с проблемными файлами ( обычно это System, SysTextures, Textures) а потом запускать проверку 

    Видно такую писанину не всем по силам понять , специально для вас автор решил сделать более подробную инструкцию и с картинками ☺️

  13. Не понимаю что вы прицепились к этим банкам , тем более если они работают как по птс и добываются довольно легким путем ( зачем делать что то не по птс когда уклон на птс). Как бы не настроили банки всегда будут какие имбы на определённых настройка не одни так другие. И люди которые плохо разбираются в игре постоянно будут на что то жаловаться ( это норм ). 

  14. 1 час назад, BloodSlayer сказал:

    Вчера драйвера обновил

    2020.11.7 10:13:06
    OS : No OS
    CPU : GenuineIntel          Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz @ 3201 MHz 2047MB RAM
    Video : AMD Radeon HD 5450 (1433)
    PosCode : LS8(268) 152163:107670:-5035 4/1 [265]

    Insufficient Memory.
    Please check the Virtual Memory Option and avilable hard drive space.
    You can check them by going to : Control Panel->System->Advanced->Performance->Settings->Advanced->Virtual memory.

    History: FMallocWindows::Malloc <- Size 2097152 FArray <- FMallocWindows::Realloc <- 00000000 2097152 FArray <- FArray::Realloc <- 2097152*1 <- UTexture::Init <- (Texture Transient.Texture) <- FCanvasUtil::EndCapture <- UCanvas::EndCapture <- UCanvas::DrawTexture <- UCanvas::DrawTexture <- UCanvas::CaptureSplit9Textures <- NConsoleWnd::Tick <- UGameEngine::Tick <- UpdateWorld <- MainLoop

    Скорей всего у тебя конфликт DrawTexture с видео драйверами , пробуй удалить текстуры и заново их обновить или перебирай разные версии драйверов видеокарты( по этой причине у тебя восстание гномок)

×
×
  • Create New...