Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Trening Combo - Poziomy


Rekomendowane odpowiedzi

Opublikowano

Cześć. Poniższy dif zmienia poziomy, na których można czytać Księgi Combo. Testowane, działa.

 

Jak edytować difa pod siebie?

To proste. Funkcja działa w taki sposób, że sprawdza czy poziom jest większy od tego na którym można czytać -1. Inaczej, sprawdza, czy poziom jest większy od 29 i 49 (bo można czytać na 30 i 50). Dlatego jeśli chcemy, żeby księgi można było czytać od np. 15, musimy wpisać 14 (oczywiście w hexie!).

 

Psource:

 

 

Dif zmienia liczby 29 i 49

[size=4]if ( v82 >= 0xC480 )[/size]
{
if ( *(_DWORD *)(a1 + 236) )
{
v83 = (char *)locale_find((unsigned int)&unk_833EF68);
CHARACTER::ChatPacket(a1, 1, v83, v700);
LOBYTE(v8) = 0;
goto LABEL_20;
}
if ( !CHARACTER::GetSkillLevel(a1, 122) && (signed int)*(_BYTE *)(a1 + 1290) <= 29 )
{
v549 = (char *)locale_find((unsigned int)&unk_833F230);
CHARACTER::ChatPacket(a1, 1, v549, v700);
LOBYTE(v8) = 0;
goto LABEL_20;
}
if ( CHARACTER::GetSkillLevel(a1, 122) == 1 && (signed int)*(_BYTE *)(a1 + 1290) <= 49 )
{
v565 = (char *)locale_find((unsigned int)&unk_833F268);
CHARACTER::ChatPacket(a1, 1, v565, v700);
LOBYTE(v8) = 0;
goto LABEL_20;
}
if ( CHARACTER::GetSkillLevel(a1, 122) > 1 )
{
v543 = (char *)locale_find((unsigned int)&unk_833F2A0);
CHARACTER::ChatPacket(a1, 1, v543, v700);
LOBYTE(v8) = 0;
goto LABEL_20;
}
v561 = CItem::GetValue(a2, 0);
if ( (unsigned __int8)CHARACTER::LearnSkillByBook(a1, 122, v561) )
{
if ( !singleton<ITEM_MANAGER>::ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
ITEM_MANAGER::RemoveItem(singleton<ITEM_MANAGER>::ms_singleton, a2, 0);
v562 = number_ex(32, 108000, (int)"char_item.cpp", 2647);
v563 = v562;
if ( distribution_test_server )
v563 = v562 / 3;
v564 = get_global_time();
CHARACTER::SetSkillNextReadTime(a1, 122, v563 + v564);
LOBYTE(v8) = 1;
goto LABEL_20;
}
goto LABEL_36;
}

 

 

 

This difference file has been created by JachuPL

game_r2089M_32
00057EE8: 1D 00
000583E5: 31 00

 

 

//edit: jak było to wypierdolić jak proboszcz ministranta

57199140501148694665.png

Opublikowano

Dobra robota. Swoją drogą mogli zrobić czy jest większy lub równy, zamiast paprać się z -1.

 

no w zasadzie to tak zrobili (czy jest większy, bez warunku równy), zgodnie z prawami działań na zbiorach liczba włącza się tylko gdy jest większa LUB równa, tam stoi sama większa, dlatego aby mieć poziom 40 trzeba odjąć 1 (bo sprawdza, czy jest większa od 39)

 

//edit:

azjaci.jpg

57199140501148694665.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...