Opublikowano 9 Września 20232 l Cześć! 👋 Chciałbym wam pokazać sposób na dodanie permanentnych lub czasowych bonusów dla postaci, na przykład z wykonanego zadania u biologa. *** Na początek wejdźcie sobie , i wykonajcie to, co podrzucił. W dalszej części poradnika będziemy operować tylko na dwóch plikach (właściwie to jednym), jednym z nich będzie sam quest do którego chcemy dodać przyznawanie bonusu, a drugim będzie constants.cpp w source serwera (ten natomiast służy nam tylko do zerkanie jakie id ma dany bonus, nic w nim nie edytujemy). Nie jest to tutorial odnośnie questów, także wrzucę Wam prosty quest, w którym sekundę po wejściu na serwer zostaje nam nadany bonus (a nawet dwa, jeden z id 72 to średnie obrażenia, a drugi id 1 to maks. ilość życia), na okres 60 lat. 😅 Otwieramy sobie wyżej wspomniany constants.cpp który znajduje się w source serwera. Tylko zalogowani Zaloguj się, aby wyświetlić chronioną treść Ten post zawiera treści dostępne tylko dla członków. Zaloguj się lub utwórz konto, aby odblokować całą zawartość tego posta. Zaloguj się Utwórz konto i to w sumie tyle do czego nam się przyda plik constants.cpp, musimy po prostu z niego wyciągać identyfikatory bonusów które nas interesują, myślę, że są one nazwane dość zrozumiale. Skoro już wiemy który identyfikator będzie nam potrzebny, przejdźmy do dodania odpowiedniej funkcji w quescie która sprawi, że po jej wykonaniu otrzymamy bonus czasowy/stały. Tak naprawdę to wszystkie te bonusy są czasowe, a wspominam tu o stałym, gdyż raczej żaden serwer nie będzie stał 60 lat, przyjmijmy więc, że to jest nasz stały czas. Funkcję w quescie dodającą bonus dla postaci wywołujemy w ten sposób, poniżej wytłumaczona każda wartość, oczywiście modyfikujemy to sobie według potrzeb. 580 - unikalny identyfikator affectu. Każdy dodany "affect", czyli bonus postaci musi mieć inne id, w przeciwnym wypadku będą występować różne dziwne sytuacje, jak np. nadpisywanie tych bonusów, także gdy dodajemy to do questa, zerknijmy sobie w bazie danych czy już nie ma takiego id. 1 - id bonusu z pliku constants.cpp. 2000 - wartość bonusu. 60*60*24*365*60 - czas trwania bonusu w sekundach, w tym przykładzie jest podane 60 lat, uznajmy to więc za bonus stały. Gdybyśmy chcieli zrobić bonus na np. tydzień, zapiszemy to w ten sposób 60*60*24*7 (sekundy*minuty*godziny*dni). Na koniec krótki przykład wykonania tej funkcji w quescie. Po sekundzie od zalogowania na postać zostaną nam przypisane dwa bonusy stałe, jeden to średnie obrażenia o wartości 200%, drugi to maksymalne życie o wartości 2000. Poradnik powstał dzięki ! 🍻
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto