Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

[ULEPSZENIE] Klasa od danego lvl v2

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 dredek

    Wszechobecny

  • Użytkownik

Reputacja: 162
Profesjonalista

  • Postów:476
  • GG:
  • Imię:Dawid
  • Lokalizacja:OLK
Offline

Napisano 27.01.2015 22:33

Dodatek: http://amxx.pl/topic...danego-poziomu/

Poradnik różni się tym, że po wejściu na serwer z wymaganym lvl'em nie trzeba pierw wchodzić na klasę z wbitym lvl'em tylko można od razu wybrać klasę od lvl'a i nią grać (takie małe ułatwienie).

 

Dodajemy zmienną:

 

new ma_klase[33];

 

Szukamy:

 

public cod_class_enabled(id)

 

 

Pod tym dodajemy:

 

 

        new dostepna = 101;   /// od ktorego lvla ma byc dostepna klasa

        if(cod_is_user_has_level(id, dostepna) != 1)
        {
                client_print(id, print_chat, "[%s] Klasa dostepna od %i poziomu.", nazwa, dostepna)
                return COD_STOP;
        }

        ma_klase[id] = true;
        return COD_CONTINUE;

 

Na końcu dodajemy stock:

 

stock cod_is_user_has_level(id, level)
{
    static iPlugin, iFunction, bool:iChecked;
    new szFunction[] = "WczytajDane";
    
    if(!iChecked)
    {
        new szPlugin[] = "QTM_CodMod.amxx";
    
        new iPlugins = get_pluginsnum();
        new szPluginName[64];
        for(new i=0;i<iPlugins;i++)
        {
            get_plugin(i, szPluginName, charsmax(szPluginName));
            
            if(equal(szPlugin, szPluginName))
            {
                iPlugin = i;
                break;
            }
        }
        
        iFunction = get_func_id(szFunction, iPlugin);
        
        iChecked = true;
    }
    
    if(iFunction == -1)
    {
        new szMessage[128];
        formatex(szMessage, charsmax(szMessage), "Could not find %s function.", szFunction);
        log_error(AMX_ERR_NOTFOUND, szMessage);
        return -1;
    }
        
    new iClasses = cod_get_classes_num();
    new iPlayerClass = cod_get_user_class(id);
    new iValue;
    
    for(new i=1;i<=iClasses;i++)
    {
        callfunc_begin_i(iFunction, iPlugin);
        callfunc_push_int(id);
        callfunc_push_int(i);
        callfunc_end();
        
        if(cod_get_user_level(id) >= level)
        {
            iValue = 1;
            break;
        }
    }
    callfunc_begin_i(iFunction, iPlugin);
    callfunc_push_int(id);
    callfunc_push_int(iPlayerClass);
    callfunc_end();
    
    return iValue;
}

 

 

Przykładowa klasa od lvl'a:

 

Spoiler

 


  • +
  • -
  • 2





Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych