Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2017-03-15, 17:31


Adis.exe

LUA Developer






Wiek: 19
Na forum: 1848 dni
Posty: 295
Nick w MP: Adiś.exe

Piwa: 1441

Respekt: 110,3
Respekt: 110,3


Witam, ostatnio zrobiłem logowanie się na rangę, ale nie wiem jak zrobić to że jak Admin nie jest zalogowany to dostaje rangę gracz, a jak sie zaloguję, to dostaje swoją rangę administratora...
Zmienne
Pawn

PlayerCache[playerid][pRanga// W tej zmiennej jest zapisana ranga gracza
new bool:ZalogowanyRanga[MAX_PLAYERS] = false;

Wyświetlanie rang:
Pawn

public OnPlayerText(playeridtext[])
{
    if(Muted[playerid] == false)
    {    
        new Gname[MAX_PLAYER_NAME];
        GetPlayerName(playerid,Gname,sizeof(Gname));
        new ranga PlayerCache[playerid][pRanga];
        new wiadomosc[500];
        new RangaText[64];
        if(ranga == 0){RangaText "{bababa}Nowy";}
        if(ranga == 1){RangaText "{a0a0a0}Gracz";}
        if(ranga == 2){RangaText "{2000c1}Doświadczony";}
        if(ranga == 3){RangaText "{9989ff}Legenda";}
        if(ranga == 4){RangaText "VIP";}    
        if(ranga == 5){RangaText "{ffd89b}Sponsor{ffb400}";}
        if(ranga == 6){RangaText "{87f975}Test Moderator{ffb400}";}
        if(ranga == 7){RangaText "{26ff05}Junior Moderator{ffb400}";}
        if(ranga == 8){RangaText "{17af00}Moderator{ffb400}";}
        if(ranga == 9){RangaText "{0292f2}Junior Admin{ffb400}";}
        if(ranga == 10){RangaText "{0069af}Admin{ffb400}";}
        if(ranga == 11){RangaText "{ed8a00}Global Admin{36ff00}";}
        if(ranga == 12){RangaText "{820000}Vice HeadAdmin{36ff00}";}
        if(ranga == 13){RangaText "{e20000}HeadAdmin{36ff00}";}    
        format(wiadomoscsizeof(wiadomosc), "{FFFFFF}(ID:%d) {BF0000}%s{FFFFFF}(%s): %s",playerid,Gname,RangaText,text);
        SendClientMessageToAll(COLOR_WHITEwiadomosc);
        print(" ");
        print(wiadomosc);
        print(" ");
    }
    else 
    {
        SendClientMessage(playeridCOLOR_RED"Jestes wyciszony !");
    }    
    return 0;
}


[ Dodano: 2017-03-15, 17:49 ]
Pawn

if(dialogid == D_LOGRANG)
    {
        if(response == 1)
        {
            switch(listitem)
            {
                case 0//logowanie
                {
                    if(ZalogowanyRanga[playerid] == false)
                    {
                        if(PlayerCache[playerid][pRanga] >= 5)
                        {
                            ZalogowanyRanga true;
                        }
                        else
                        {
                            SendClientMessage(playeridCOLOR_RED"Nie masz uprawnien aby sie zalogowac !");
                        }    
                    }
                    else
                    {
                        SendClientMessage(playeridCOLOR_RED"Juz jestes zalogowany !");
                    }    
                }
                case 1://Wylogowywanie
                {
                    if(ZalogowanyRanga[playerid] == true)
                    {
                        ZalogowanyRanga[playerid] = false;
                    }
                    else
                    {
                        SendClientMessage(playeridCOLOR_RED"Nie jestes zalogowany !");
                    }    
                }
            }
        }    
    }


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-15, 17:55


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Dodajesz na początku warunek sprawdzający, czy gracz jest zalogowany

Kod:

if(!ZalogowanyRanga[playerid]) strcat(RangaText, "Niezalogowany");
else if(ranga == 0) ...
else if(renga == 1) ...


To do kwestii rozwiązania problemu. Co do kwestii układania kodu. nie rób mnóstwo warunków if odnoszących się do wartości jednej zmiennej, od tego służy switch. Kolejna sprawa to przypisywanie ciągu znaków do tablicy. Tak jak to robisz aktualnie, się tego nie robi - użyj funkcji strcat, przykład podany wyżej.

Kod:

if(!ZalogowanyRanga[playerid])
{
strcat(RangaText, "Niezalogowany");
}
else
{
switch(ranga)
{
case 0: strcat(RangaText, "{bababa}Nowy");
case 1: strcat(RangaText, "{a0a0a0}Gracz");
...
}
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-15, 18:22


Adis.exe

LUA Developer






Wiek: 19
Na forum: 1848 dni
Posty: 295
Nick w MP: Adiś.exe

Piwa: 1441

Respekt: 110,3
Respekt: 110,3


za bardzo nie rozumiem, można jasniej ? Uczę się krótko pawn

Podpis

KONTAKT:
GG: 60968224
Discord: Adiś.exe#3828

Użytkownik: 05.11.2016
GTAO Member: 20.02.2019
Support-Team: 25.07.2018
Support-Team: 19.01.2019
Test Mod: 08.02.2019

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-15, 19:24


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Czego nie rozumiesz? Po prostu zamień swój aktualny kod w OnPlayerText na ten, który podałem + uzupełnij rangi w switch. Pobierz sobie jakiś GM, ucz się na edycji, a nie tylko na tym, co jest na forum.

Postaw piwo autorowi tego posta
 

 
Tagi: log :: range
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:








Wyświetl posty z ostatnich:   

Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku

Skocz do: