Opublikowano 27 Listopada 202427 Lis Programista Dzisiaj coś nieco innego niż zwykle. Ustawianie grupek potworów, czy też dropu nie należy do przyjemnych zajęć, a tym bardziej, gdy pomylimy się w kolejności ich ID co może powodować różne błędy. Wychodząc naprzeciw skryptowi dość popularnego twórcy: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Postanowiłem nieco "rozbudować" CTextFileLoader i jednocześnie przyspieszyć pracę nad ustawianiem dropu czy też grupek potworów. Na czym polega zmiana? Nie będę się rozpisywał, po prostu pokażę: Oczywiście obsługiwane są oba typy formatowania/składni naszej konfiguracji żebyście nie musieli przerabiać wszystkieg od zera. A zatem przejdźmy do działania. Otwieramy plik: /common/CommonDefines.h lub /common/service.h 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Otwieramy plik: /game/src/item_manager_read_tables.h 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Otwieramy plik: /game/src/mob_manager.cpp 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Otwieramy plik: /game/src/text_file_loader.cpp 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Otwieramy plik: /game/src/text_file_loader.h 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się To by było na tyle. Jeśli napotkacie jakieś błędy to piszcie. Ja jedynie sprawdziłem czy działa na grupy potworów.
Opublikowano 27 Listopada 202427 Lis Autor Programista Tutaj dodatkowe rozwiązanie, myślę że też wygodne (zastosowane tylko do grup potworów): Otwieramy plik: /game/src/mob_manager.cpp // Search for: sys_log(0, "GROUP: %-5d %s", iVnum, stName.c_str()); sys_log(0, " %s %s", pTok->at(0).c_str(), pTok->at(1).c_str()); // Add under: if (loader.GetTokenVector("mobs", &pTok)) { for (const auto& data : *pTok) { uint32_t mob_vnum; str_to_number(mob_vnum, data.c_str()); if (!Get(mob_vnum)) continue; pkGroup->AddMember(mob_vnum); } loader.SetParentNode(); m_map_pkMobGroup.emplace(iVnum, pkGroup); continue; } Edytowane 27 Listopada 202427 Lis przez KoYGeR
Opublikowano 27 Listopada 202427 Lis Klasa, fajnie że zrobiłeś poradnik bezpośrednio na forum. 👍 Brakuje tu tylko skryptu aby zrobić konwersję.
Opublikowano 27 Listopada 202427 Lis Czyli dzięki temu mogę pozbyć się irytujących cyferek w mob_drop_item? 🤩 Dziękuje Szymon, niech bozia wynagrodzi w Euro i Dolarach Edytowane 27 Listopada 202427 Lis przez mrvns
Opublikowano 27 Listopada 202427 Lis Autor Programista 6 minut temu, mrvns napisał(a): Czyli dzięki temu mogę pozbyć się irytujących cyferek w mob_drop_item? 🤩 Dokładnie
Opublikowano 28 Listopada 202428 Lis Kolejna fajna wstawka, trzeba doceniać każdego kto robi coś więcej jak przekleja zipa z turka ;) Dzięki wielkie! Edytowane 28 Listopada 202428 Lis przez HeskuGame
Opublikowano 24 Grudnia 202424 Gru Fajnie jakby było przystosowane do innego typu dropu np. limit. Edytowane 24 Grudnia 202424 Gru przez avertus
Opublikowano 2 Stycznia2 Sty First of all, I greet you, and excuse me if I don't speak your language. I wanted to point out that even though the mob_drop_item does not have indexes on the drops: example with: 1 50300 1 400 example without: 50300 1 400 In the first case the item will be dropped normally, in the second case it will simply not be counted, even if you do not receive errors or crashes at startup.
Dzisiaj coś nieco innego niż zwykle.
Ustawianie grupek potworów, czy też dropu nie należy do przyjemnych zajęć, a tym bardziej, gdy pomylimy się w kolejności ich ID co może powodować różne błędy.
Wychodząc naprzeciw skryptowi dość popularnego twórcy:
Postanowiłem nieco "rozbudować" CTextFileLoader i jednocześnie przyspieszyć pracę nad ustawianiem dropu czy też grupek potworów.
Na czym polega zmiana? Nie będę się rozpisywał, po prostu pokażę:
Oczywiście obsługiwane są oba typy formatowania/składni naszej konfiguracji żebyście nie musieli przerabiać wszystkieg od zera.
A zatem przejdźmy do działania.
Otwieramy plik: /common/CommonDefines.h lub /common/service.h
Otwieramy plik: /game/src/item_manager_read_tables.h
Otwieramy plik: /game/src/mob_manager.cpp
Otwieramy plik: /game/src/text_file_loader.cpp
Otwieramy plik: /game/src/text_file_loader.h
To by było na tyle. Jeśli napotkacie jakieś błędy to piszcie. Ja jedynie sprawdziłem czy działa na grupy potworów.