TREŚĆ

#1 2011-04-16 16:14:43

 zathon

Administrator

Call me!
Zarejestrowany: 2011-04-14
Posty: 500
Punktów :   

Dodawanie frakcji [Cod Stary]

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 musimy jeszcze dodać

new frakcja_gracza[33]




możemy pod np new const nalezy_do

i na koniec musimy podmienić

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;
}




no i kompilujemy i praca skończona [

Offline

 

#2 2011-04-16 21:41:00

szatanista

Nowy użytkownik

Zarejestrowany: 2011-04-16
Posty: 6
Punktów :   

Re: Dodawanie frakcji [Cod Stary]

dzięki wszystko ładnie działa

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.spoleczniak.pun.pl www.akwarium1lo.pun.pl www.technikgeodezji.pun.pl www.pzwmyslenice.pun.pl www.djsoul.pun.pl