Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: NikolaBL poslato Avgust 06, 2021, 20:43:37 POSLE PODNE

Naslov: Zna neko
Poruka od: NikolaBL poslato Avgust 06, 2021, 20:43:37 POSLE PODNE
Problem(error/warning): Zna li ko kako da napravim listu offline lidera, tojest cmd npr /svilideri  i izadje dialog i lider koje org u INI-u
Deo skripte:
Pawno Code: [Izaberi]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Kod: [Izaberi]
Naslov: Odg: Zna neko
Poruka od: V01D poslato Avgust 06, 2021, 23:44:02 POSLE PODNE
Najbolje bi bilo da, ako su ti organizacije u Y_INI i cuvas ime lidera, da loopujes sve organizacije koje imas i ispises ime lidera. Napravis par provera i dobijes sta ti treba..

[pawn]CMD:offlinelideri( playerid, params[] ) {

    new dialogString[1024], string[128]; //Nova promenljiva za tekst u dialogu i ostatak

   for( new i = 1; i < MAX_ORG; i++ ) { //Loopujemo sve orge ( id-eve )
   
      new oFile[ 40 ];
      format(oFile, sizeof( oFile ), O_FILE, i );
      if( fexist( oFile ) ) { //proverimo da li postoji

         if( strcmp( OI[oLider], "Niko", true ) ) { //Ako organizacija ima lidera

            if(!IsPlayerConnected(GetPlayerIdFromName(OI[oLider]))) { //Koristeci custom funkciju trazimo id igraca na osnovu imena i proveravamo da li je offline
      
                  format( string, sizeof( string ), ""col_white"Ime organizacije %d: "col_crvena"%s | Lider : %s\n", OI[ i ][ oID ], OI[ i ][ oName ], OI[oLider] ); //Formatiramo ono sto nam treba
                strcat( dialogString, string ); //Stavljamo u veci dialog
             }
          }
      }
   }
   ShowPlayerDialog( playerid, 0, DIALOG_STYLE_MSGBOX, "Offline Lideri", dialogString, "OK", "" );
   return 1;
}

GetPlayerIdFromName( playername[] ) { //custom funkcija za trazenje id-a igraca na osnovu imena ( SM MOD )
   foreach( Player, i ) {
      if( IsPlayerConnected( i ) ) {
         new playername2[ MAX_PLAYER_NAME ] ;
         GetPlayerName(i, playername2, sizeof( playername2));
         if( strcmp( playername2, playername, true, strlen( playername) ) == 0 )
         {
            return i;
         }
      }
   }
   return INVALID_PLAYER_ID;
}[/pawn]

Otprilike ovako nesto, radjeno za SM mod, ovo ti je cisto primer kako otprilike da odradis
Naslov: Odg: Zna neko
Poruka od: NikolaBL poslato Avgust 07, 2021, 01:27:01 PRE PODNE
Hvala ti :D
Naslov: Odg: Zna neko
Poruka od: Sage poslato Avgust 07, 2021, 04:01:05 PRE PODNE
foreach( Player, i ) {
if( IsPlayerConnected( i ) ) {