Dodanie Frakcji

Pokaże w tym tutku jak dodać frakcje do coda starego 😉 Pierwsze co robimy to dodajemy nową tablicę np. pod:
new const nazwy_klas[][] = {"Brak",
"Snajper",
"Komandos",
"Strzelec wyborowy",
"Obronca",
"Medyk",
"Wsparcie ogniowe",
"Saper",
"Demolitions",
"Rusher",
"Rambo (Klasa Premium)"
};
dodajemy
new const frakcje[][]={
"Brak",
"Polacy",
"Rosjanie"
}
zawsze pierwsze musi być Brak potem po przecinkach podajemy nazwy frakcji po ostaniej frakcji przecinka nie ma ilość jest dowolna ale nie przesadzajmy bo potem będzie dużo roboty 😉 dobrze idziemy dalej dodajemy
enum { NONE = 0,polacy,rosjanie}
dodajemy tablice :
new const nalezy_do[]={
NONE,
polacy,
rosjanie,
polacy,
rosjanie,
polacy,
polacy,
rosjanie,
polacy,
polacy,
rosjanie
}
to tutaj ustalamy do której frakcji należy klasa i tak w tym przykładzie Snajper należy do polaków a Komandos do Rosjan Następnie musimy podmienić funkcje
public WybierzKlase(id)
na tą
public WybierzKlase(id)
{
new menu = menu_create("Wybierz frakcje:", "Wybierzfrakcje_Handle");
for(new i = 1;i<sizeof(frakcje);i++){
menu_additem(menu, frakcje[i]);
}
menu_display(id, menu);
}
i dodać tą
public Wybierzfrakcje_Handle(id, menu2, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu2);
return PLUGIN_CONTINUE;
}

item++;
frakcja_gracza[id] = item;
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<sizeof nazwy_klas; i++)
{
if(nalezy_do[i] == item){
WczytajDane(id, i);
format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
menu_additem(menu, klasa);
}
}

WczytajDane(id, klasa_gracza[id]);

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);

client_cmd(id, "spk QTM_CodMod/select");
#if defined BOTY
if(is_user_bot2(id))
WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
#endif

return PLUGIN_CONTINUE;
}
w zmiennych globalnych (np. przed new const nalezy_do[]) musimy jeszcze dodać
new frakcja_gracza[33]
i na koniec musimy podmienić funkcje
WybierzKlase_Handle(id, menu, item)
na
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

item++;

new ile = 0;
for(new i=1; i<sizeof nazwy_klas; i++)
{
if(nalezy_do[i] == frakcja_gracza[id]){
ile++;
}
if(ile == item){
item = i;
break;
}
}

if(item == klasa_gracza[id])
return PLUGIN_CONTINUE;

if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}

if(klasa_gracza[id])
{
nowa_klasa_gracza[id] = item;
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
}
else
{
klasa_gracza[id] = item;
WczytajDane(id, klasa_gracza[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.