Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: unkown337 poslato Avgust 18, 2020, 17:20:42 POSLE PODNE

Naslov: ID 0 bug
Poruka od: unkown337 poslato Avgust 18, 2020, 17:20:42 POSLE PODNE
Problem(error/warning): Problem je u tome kada ja udjem na server meni server dodeli id 0, zatim kada moj prijatelj udje njemu normalno dodeli id 1, prvo sam ovo primetio na admin listi (/admini), Moj prijatelj i ja imamo setanog admina, i vidimo se na listi, ali kada ja kao id 0 izadjem sa servera, ja ostanem na admin listi, pise mi id 0, admin level, ali ime ne prikazuje, a zatim kada udjem na server meni vraca id 0 i tjt, a kada moj prijatelj koji je id 1 njemu sve normalno radi, kada izadje nestane s liste i tjt, ako ima neko ko zna neka pomogne.
Deo skripte: [pawn]Dacu sta bude trebalo[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Nista//
Naslov: Odg: ID 0 bug
Poruka od: daddyDOT poslato Avgust 18, 2020, 17:29:08 POSLE PODNE
Whaaaat?
Prvom igraču koji se konektuje na server naravno da će mu dodijeliti ID 0, svakom narednom za 1 više.
Dalje, pojasni bolje u vezi admin liste, ti kao id 0 ostaješ na listi i kada se disconnectuješ ili šta?
Pošalji komandu ovdje i bolje objasni.
Naslov: Odg: ID 0 bug
Poruka od: V01D poslato Avgust 18, 2020, 17:33:09 POSLE PODNE
Posalji komandu za admin listu
Naslov: Odg: ID 0 bug
Poruka od: unkown337 poslato Avgust 18, 2020, 17:35:51 POSLE PODNE
Citat: daddy. poslato Avgust 18, 2020, 17:29:08 POSLE PODNE
Whaaaat?
Prvom igraču koji se konektuje na server naravno da će mu dodijeliti ID 0, svakom narednom za 1 više.
Dalje, pojasni bolje u vezi admin liste, ti kao id 0 ostaješ na listi i kada se disconnectuješ ili šta?
Pošalji komandu ovdje i bolje objasni.
Da dodeli mu id 0 to ok, ali kada se disconnektujem kao id 0 ja ostajem na admin listi bez imena, nije do komande jer sam i pregledavao u drugim skriptama da li se razlikuje i nije do toga, ne znam jel bi moglo da bude do nekog include-a. Jos nesto, imam komandu srecni id, koja proverava koliko ima online igraca, i daje im nagradu, ja kad se disconnectujem, moj prijatelj ostane sam na serveru, i komanda ucitava kao da je i id 0 na serveru..
Naslov: Odg: ID 0 bug
Poruka od: daddyDOT poslato Avgust 18, 2020, 17:42:24 POSLE PODNE
Postavi komandu ovdje da vidimo
Naslov: Odg: ID 0 bug
Poruka od: unkown337 poslato Avgust 18, 2020, 17:47:10 POSLE PODNE
Citat: daddy. poslato Avgust 18, 2020, 17:42:24 POSLE PODNE
Postavi komandu ovdje da vidimo
[pawn]CMD:admini(playerid, params[])
{
   new string[1024],atext[20];
   format(string, sizeof(string), "");
   for(new i = 0; i <= GetPlayerPoolSize(); i++)
   {
      if (PlayerInfo[pAdmin] >= 1)
      {
         format(atext, sizeof(atext), "{FFFFFF}ID: %d ", i);
         strcat(string, atext);
         strcat(string, "{607ca8}| ");
         strcat(string, "{FFFFFF}");
            strcat(string, GetName(i));
         strcat(string, "{607ca8} | ");
         if(PlayerInfo[playerid][pAdmin] == 10)
         {
            format(atext, sizeof(atext), "{FFFFFF}Vlasnik ");
            strcat(string, atext);
         }
         else if(PlayerInfo[playerid][pAdmin] > 0 && PlayerInfo[playerid][pAdmin] < 8)
         {
            strcat(string, "{FFFFFF}Admin Level: ");
            format(atext, sizeof(atext), "%d ", PlayerInfo[pAdmin]);
            strcat(string, atext);   
         }
            if(AdminDuty == 0)
          {
               strcat(string, "{607ca8}| {FFFFFF}Duty: {f81414}Off");
            }
            if(AdminDuty == 1)
           {
               strcat(string, "{607ca8}| {FFFFFF}Duty: {00ff04}On");
            }
         strcat(string, "\n");
      }
   }
   if(strlen(string) == 0) return Error(playerid, "{FFFFFF}Trenutno nema online Admina!");
   g_SPD(playerid, D_STLIST, DIALOG_STYLE_MSGBOX, "{607ca8}Online Administratori", string, "OK", "");
   return 1;
}[/pawn]
Naslov: Odg: ID 0 bug
Poruka od: N.D poslato Avgust 18, 2020, 17:57:01 POSLE PODNE
[pawn]CMD:admins(playerid, params[])
{
    new count = 0, string19[256];
    SendClientMessage(playerid, COLOR_GREEN, "");
    SendClientMessage(playerid, COLOR_GREEN, "|======== Online Admins =======|"); 
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
    if(IsPlayerConnected(i))
    {
    if(pInfo[Adminlevel] == 1)
    {
    format(string19, sizeof(string19), "Trial Moderator : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    if(pInfo[Adminlevel] == 2)
    {
    format(string19, sizeof(string19), "Moderator : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19); 
    count++;
    }
    if(pInfo[Adminlevel] == 3)
    {
    format(string19, sizeof(string19), "Admin : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    if(pInfo[Adminlevel] == 4)
    {
    format(string19, sizeof(string19), "Server Manager : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    if(pInfo[Adminlevel] == 5)
    {
    format(string19, sizeof(string19), "Server Owner : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    }
    }
    if(count == 0)
    SendClientMessage(playerid, COLOR_WHITE, "- No Admins Online at this Time!");
    SendClientMessage(playerid, COLOR_GREEN, "|==============================|");
    SendClientMessage(playerid, COLOR_GREEN, "");
    return 1;


stock GetName(playerid)
{
     new pname[MAX_PLAYER_NAME];
     GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
     return pname;
}[/pawn]

https://forum.sa-mp.com/showthread.php?t=568180
Naslov: Odg: ID 0 bug
Poruka od: unkown337 poslato Avgust 18, 2020, 17:59:20 POSLE PODNE
Citat: N.D poslato Avgust 18, 2020, 17:57:01 POSLE PODNE
[pawn]CMD:admins(playerid, params[])
{
    new count = 0, string19[256];
    SendClientMessage(playerid, COLOR_GREEN, "");
    SendClientMessage(playerid, COLOR_GREEN, "|======== Online Admins =======|"); 
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
    if(IsPlayerConnected(i))
    {
    if(pInfo[Adminlevel] == 1)
    {
    format(string19, sizeof(string19), "Trial Moderator : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    if(pInfo[Adminlevel] == 2)
    {
    format(string19, sizeof(string19), "Moderator : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19); 
    count++;
    }
    if(pInfo[Adminlevel] == 3)
    {
    format(string19, sizeof(string19), "Admin : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    if(pInfo[Adminlevel] == 4)
    {
    format(string19, sizeof(string19), "Server Manager : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    if(pInfo[Adminlevel] == 5)
    {
    format(string19, sizeof(string19), "Server Owner : %s (%i)",GetName(i), i);
    SendClientMessage(playerid, COLOR_WHITE, string19);
    count++;
    }
    }
    }
    if(count == 0)
    SendClientMessage(playerid, COLOR_WHITE, "- No Admins Online at this Time!");
    SendClientMessage(playerid, COLOR_GREEN, "|==============================|");
    SendClientMessage(playerid, COLOR_GREEN, "");
    return 1;


stock GetName(playerid)
{
     new pname[MAX_PLAYER_NAME];
     GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
     return pname;
}[/pawn]

https://forum.sa-mp.com/showthread.php?t=568180
Brate nije meni to problem, ne citas lepo, ja kada izadjem meni cuva id 0, i zato mi ispisuje na admin listi, nije problem do admin liste, vec do necega sto ima veze s onplayerdisconnect/onplayerconnect a ne znam sta..
Naslov: Odg: ID 0 bug
Poruka od: N.D poslato Avgust 18, 2020, 18:10:14 POSLE PODNE
Citat: unkown337 poslato Avgust 18, 2020, 17:59:20 POSLE PODNE
Brate nije meni to problem, ne citas lepo, ja kada izadjem meni cuva id 0, i zato mi ispisuje na admin listi, nije problem do admin liste, vec do necega sto ima veze s onplayerdisconnect/onplayerconnect a ne znam sta..

Pa posalji nam onda to , objasnio si gore toliko nepovazano...
Naslov: Odg: ID 0 bug
Poruka od: ᗪ卂乂 poslato Avgust 18, 2020, 18:58:20 POSLE PODNE
Verovatno ti fali sačuvavanje negde sa sve igrače tj

[pawn]
for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
           
        }
    }
    return 1;
}
[/pawn]
Naslov: Odg: ID 0 bug
Poruka od: Terza Lazarevic poslato Avgust 18, 2020, 19:10:05 POSLE PODNE
Bolje koristi foreach umesto ovoga.
Pročitaj na wiki šta vraća funkcija `GetPlayerPoolSize()`

[pawn]
for (new i = GetPlayerPoolSize(); i >= 0; i --) {
   
    if (IsPlayerConnected(i)) {
        ...
    }
}
[/pawn]
Naslov: Odg: ID 0 bug
Poruka od: unkown337 poslato Avgust 18, 2020, 19:19:15 POSLE PODNE
Citat: Terza Lazarevic poslato Avgust 18, 2020, 19:10:05 POSLE PODNE
Bolje koristi foreach umesto ovoga.
Pročitaj na wiki šta vraća funkcija `GetPlayerPoolSize()`

[pawn]
for (new i = GetPlayerPoolSize(); i >= 0; i --) {
   
    if (IsPlayerConnected(i)) {
        ...
    }
}
[/pawn]
Resio sam s admin listom, umesto getplayerpoolsize stavio sam foreach, ja sam zamenio sve getplayerpoolsize funkcije s foreach, jel to dobro ili?
Naslov: Odg: ID 0 bug
Poruka od: Terza Lazarevic poslato Avgust 18, 2020, 19:21:08 POSLE PODNE
Citat: unkown337 poslato Avgust 18, 2020, 19:19:15 POSLE PODNE
Resio sam s admin listom, umesto getplayerpoolsize stavio sam foreach, ja sam zamenio sve getplayerpoolsize funkcije s foreach, jel to dobro ili?
Da