Opublikowano 9 Września 20231 r 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 w ten post, i wykonajcie to, co @Sevence 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. 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 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. 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 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. 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Poradnik powstał dzięki @Sevence! 🍻
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.