W tym tutku opisze w jaki sposob dodac klase premium do silnika. Najpierw musimy dodac normalna klase, robimy to wedlug tego poradnika. Nastepnie szukamy:
public WybierzKlase_Handler(Handle:classhandle, MenuAction:action, client, Position) {
i w srodku zamieniamy:
if(ma_poziom) { if(klasa_gracza[client]) { nowa_klasa_gracza[client] = Position; PrintToChat(client, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie."); } else { klasa_gracza[client] = Position; WczytajDane(client, klasa_gracza[client]); Odrodzenie(client); } } else { WybierzKlase(client) PrintToChat(client, "[COD:MW] Wybrana klasa dostepna jest od %dLv!", umiejetnosci_klas[Position][0]); }
na:
if(ma_poziom) { if(Position == NAZWA && !(GetUserFlagBits(client) & FLAGA)) { WybierzKlase(client) PrintToChat(client, "[COD:MW] Wybrana klasa dostepna jest tylko dla posiadaczy Uslug Premium!"); } else { if(klasa_gracza[client]) { nowa_klasa_gracza[client] = Position; PrintToChat(client, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie."); } else { klasa_gracza[client] = Position; WczytajDane(client, klasa_gracza[client]); Odrodzenie(client); } } } else { WybierzKlase(client) PrintToChat(client, "[COD:MW] Wybrana klasa dostepna jest od %dLv!", umiejetnosci_klas[Position][0]); }
Zamiast NAZWA musimy podac nazwe klasy ktora ma byc premium. Zamiast FLAGA podajemy flage dla jakiej ma byc dostepna klasa. Oczywiscie mozemy zrobic takze by klasa byla dostepna dopiero po wbiciu okreslonego poziomu i tylko dla posiadaczy flagi. Poziom od ktorego ma byc klasa ustalamy w standardowy sposob. A, jezeli teraz chcielibysmy dodac kilka klas premium zamiast jednej to zamieniamy:
if(Position == NAZWA && !(GetUserFlagBits(client) & FLAGA))
na:
if(Position == NAZWA && !(GetUserFlagBits(client) & FLAGA) || Position == NAZWA && !(GetUserFlagBits(client) & FLAGA))
i tak dalej...
Lista flag: