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: 23
Na forum: 3498 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 997

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: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

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: 23
Na forum: 3498 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 997

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: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

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:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » Log na range 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