Skocz do zawartości

Permanentne (lub czasowe) bonusy dla postaci

Opublikowano

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ść 🔐

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ść 🔐

 

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ść 🔐

 

Poradnik powstał dzięki @Sevence🍻

Featured Replies

Opublikowano

dzięki

Opublikowano

SPrawdzmy to 

Opublikowano

Sprawdze póżniej

  • 2 tygodnie później...
Opublikowano

Dzięki

  • 3 tygodnie później...
Opublikowano

dzięki

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ą.

Gość
Dodaj odpowiedź do tematu...