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

C++ Questowa funkcja pc.get_exp_data()


Rekomendowane odpowiedzi

Opublikowano
Przedstawienie działania oraz kilka słów wyjaśnienia

 


 

Jak możesz zobaczyć na filmiku funkcja przechowuje ilość expa, którą otrzymałeś za ostatnio zabitego moba.

Zmienna jest resetowana podczas każdego wejścia do gry (wliczamy w to teleportację).

 

##### HowTo #####


######## Otwórz char.h i wklej to do publicznej klasy ########




int    GivenExpData;
int    GetExpData() const {return GivenExpData;}



 

######## Otwórz char.cpp i wyszukaj ########




void CHARACTER::Initialize()


Gdzieś w środku dodaj



GivenExpData = 0;



 

######## Otwórz char_battle.cpp i wyszukaj ########




to->PointChange(POINT_EXP, iExp, true);


 

Wklej do nowej linii



to->GivenExpData = iExp;



 

######## Otwórz questlua_pc.cpp i dodaj ########




int pc_get_exp_data(lua_State * L)
{
    lua_pushnumber(L, CQuestManager::instance().GetCurrentCharacterPtr()->GetExpData());
    return 1;
}


 

Gdzieś na końcu RegisterPCFunctionTable dodaj



{"get_exp_data", pc_get_exp_data},



 

######## Przykładowy Quest ########

(zauważ, że wersja różni się od tej pokazanej na filmiku)




quest exp begin
state start begin
    when kill with !npc.is_pc() begin
        chat(pc.get_exp_data().." EXP "..mob_name(npc.get_race()))
    end
end
end


 

Przykład wiadomości wyświetlonej po zabiciu moba



999 EXP Wild Dog


 


417711489342956987022.png

Opublikowano

i co dzieki temu mamy ?

Lagi na pc z prockiem 1.6 i karta graficzna 256mb, ogólnie moim zdaniem to całkowicie bezsensowne i niepotrzebne modyfikowanie src.

Opublikowano

Sama funkcja jest ciekawa można dzięki niej zrobić np licznik expa na godzinę. To że wy nie macie żadnych pomysłów to nie zakładajcie że inny nie mają.

Opublikowano

Sama funkcja jest ciekawa można dzięki niej zrobić np licznik expa na godzinę. To że wy nie macie żadnych pomysłów to nie zakładajcie że inny nie mają.

Po co Ci licznik expa w Metinie?-.- Co innego jak by były boty, takie np jak w Tibii. xD

Opublikowano

Po co ta dyskusja, czy ktoś Was zmusza, aby używać tego w podanej formie?

Jak ktoś nie za bardzo ogarnia kodu (gdzie co jest), to może potraktować to jak gotowiec do zwracania jakiś wartości przez Questa. ;)

Opublikowano

Po co Ci licznik expa w Metinie? -.- Co innego jak by były boty, takie np jak w Tibii. xD

Można wykorzystać do expienia peta i oddawania mu x% z otrzymywanego expa, a przynajmniej ja tak zrobiłem u siebie pety.

 

Opublikowano

Można wykorzystać do expienia peta i oddawania mu x% z otrzymywanego expa, a przynajmniej ja tak zrobiłem u siebie pety.

Wsumie to jest dobry patent, ew zrobic se butelki doś w cpp

Opublikowano

Można wykorzystać do expienia peta i oddawania mu x% z otrzymywanego expa, a przynajmniej ja tak zrobiłem u siebie pety.

To nie lepiej przy Reward od razu to zrobić?

vlRm1nY.png

  • 2 tygodnie później...
  • 1 rok później...
  • 3 lata później...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...