Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: .варнинг poslato Jun 01, 2019, 19:35:55 POSLE PODNE

Naslov: LastSeen komanda bug
Poruka od: .варнинг poslato Jun 01, 2019, 19:35:55 POSLE PODNE
Problem(error/warning): Znaci nasao sam negde na ovom forumu /lastseen kao na ostalim serverima i sada kada ukucam npr /lastseen Warning ono normalno ispise sve ali doda na pocetak recenice " 8" dole je slika
Deo skripte: Eo sve:[pawn]CMD:lastseen(playerid, params[]) {
   if (isnull(params)) return SendUsageMessage(playerid, "/lastseen [ Ime_Prezime ]");
   new buff[128];
   format(buff, sizeof(buff), "%s", returnLastSeen(params));
   SCM(playerid, -1, buff);
   return 1;
}
// -- //
updateLastSeen(playerid, on_player_connect = 0) {
   new buffer[128];

   GetPlayerName(playerid, buffer, MAX_PLAYER_NAME);
   format(buffer, sizeof buffer, "Last_Seen/%s.txt", buffer);

   if (fexist(buffer)) fremove(buffer);

   new File:handle = fopen(buffer, io_write);

   new igrac = GetPlayerName(playerid, buffer, MAX_PLAYER_NAME);

   if (handle) {
      if (!on_player_connect) {
            new day, month, year,
               hour, minute, second;

            gettime(hour, minute, second);
            getdate(year, month, day);

            format(buffer, sizeof buffer, "{FFFF00}%s{FFFFFF} je zadnji put prijavljen {FFFF00}%02d/%02d/%d {FFFFFF}u {FFFF00}%02d:%02d:%02d", igrac,day, month, year, hour, minute, second);

            fwrite(handle, buffer);
            fclose(handle);
      }
      else {
         format(buffer, sizeof buffer, "{FFFF00}%s{FFFFFF} je {FFFF00}ONLINE", igrac);
         
         fwrite(handle, buffer);
         fclose(handle);
      }
   }
   else return printf("[error] Proveri da li imas 'Last_Seen' folder u 'scriptfiles'");
   return 1;
}

returnLastSeen(username[]) {
   new buffer[128];

   format(buffer, sizeof buffer, "Last_Seen/%s.txt", username);

   new File:handle = fopen(buffer, io_read);
   if (handle) {
      fread(handle, buffer);
      fclose(handle);
   }
   else buffer = "Nepoznat nalog";
   return buffer;
}
// -- //[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): Fajl iz LastSeen foldera - http://prntscr.com/nwcn69 IG SLIKA - http://prntscr.com/nwco3j
Naslov: Odg: LastSeen komanda bug
Poruka od: ριηςн.αмχ poslato Jun 02, 2019, 16:23:05 POSLE PODNE
Zasto uopste cuvas u .txt folderu ???

Javi se PRIV i pošalji ANYDESK / TW da ti napravim :)
Naslov: Odg: LastSeen komanda bug
Poruka od: .варнинг poslato Jun 02, 2019, 16:28:35 POSLE PODNE
Citat: ριηÏ,н.αмχ poslato Jun 02, 2019, 16:23:05 POSLE PODNE
Zasto uopste cuvas u .txt folderu ???

Javi se PRIV i pošalji ANYDESK / TW da ti napravim :)
Ne bih mogao ovih dana, videću u petak/za vikend, hvl svakako.
Naslov: Odg: LastSeen komanda bug
Poruka od: ριηςн.αмχ poslato Jun 02, 2019, 16:28:57 POSLE PODNE
Citat: .паÑ,оÑ,,на poslato Jun 02, 2019, 16:28:35 POSLE PODNE
Ne bih mogao ovih dana, videću u petak/za vikend, hvl svakako.
Evo ja cu ti napraviti, samo jel koristis Y_INI ili SQL?
Naslov: Odg: LastSeen komanda bug
Poruka od: .варнинг poslato Jun 02, 2019, 16:31:31 POSLE PODNE
Citat: ριηÏ,н.αмχ poslato Jun 02, 2019, 16:28:57 POSLE PODNE
Evo ja cu ti napraviti, samo jel koristis Y_INI ili SQL?
Yini
Naslov: Odg: LastSeen komanda bug
Poruka od: ριηςн.αмχ poslato Jun 02, 2019, 16:54:44 POSLE PODNE
[pawn]// Kreiramo varijablu u kojoj cuvamo last seen
new lastSeen[MAX_PLAYERS][32];

// Kreiramo funkciju koja apdejtuje last seen ( ovo stavis npr kada se logina ili kada zelis da se promeni varijabla )
updateLastSeen(playerid)
{
   new hour, minute, day, month, year,;
   gettime(hour, minute);
   getdate(year, month, day);
   format(lastSeen[playerid], sizeof(lastSeen[playerid]), "%02d.%02d.%d u %02d:%02d", day, month, year, hour, minute);

   new INI:File = INI_Open(put_do_igracevog_foldera); // Ovde stavis put do foldera tipa Users/%s.ini samo formatiraj pre ovoga ili ako imas vec funkciju kao u UP-u Korisnici(playerid)
   INI_WriteString(File, "LastSeen", lastSeen[playerid]);
   INI_Close(File);

   return 1;
}

getLastSeen( const name[] )
{
   new buffer[32];
   inline LoadLastSeen(string:name[], string:value[])
   {
      INI_String("LastSeen", buffer);
   }
   if(fexist(put_do_igracevog_foldera))
   {
      INI_ParseFile(put_do_igracevog_foldera, using inline "LoadLastSeen");
   }
   else buffer = "Nepoznati igrac";
   return buffer; // Ili kreiras &buffer i onda unutar komande varijablu.
}

CMD:lastseen(playerid, params[])
{
   if(!params[0]) return SendClientMessage(playerid, -1, "Koristi /lastseen [ Ime Igraca ]");
   if(FindPlayerByName(params[0]) != INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Taj igrac je online!");
   // Mrzelo me da pisem format hehe, samo formatiraj ako nemas ovo :)
   SendClientMessagef(playerid, -1, "Igrac %s je poslednji put bio online %s!", params[0], getLastSeen(params[0]));
   return 1;
}

stock FindPlayerByName( const name[] )
{
    foreach(new i : Player)
    {
        new name2[24];
        GetPlayerName( i, name2, 24 );
        if(!strcmp(name2, name, false, sizeof(name2)))
        {
            return true;
        }
    }
    return false;
}[/pawn]
Nisam testirao, izvoli :)
Naslov: Odg: LastSeen komanda bug
Poruka od: .варнинг poslato Jun 02, 2019, 18:14:30 POSLE PODNE
Citat: ριηÏ,н.αмχ poslato Jun 02, 2019, 16:54:44 POSLE PODNE
[pawn]// Kreiramo varijablu u kojoj cuvamo last seen
new lastSeen[MAX_PLAYERS][32];

// Kreiramo funkciju koja apdejtuje last seen ( ovo stavis npr kada se logina ili kada zelis da se promeni varijabla )
updateLastSeen(playerid)
{
   new hour, minute, day, month, year,;
   gettime(hour, minute);
   getdate(year, month, day);
   format(lastSeen[playerid], sizeof(lastSeen[playerid]), "%02d.%02d.%d u %02d:%02d", day, month, year, hour, minute);

   new INI:File = INI_Open(put_do_igracevog_foldera); // Ovde stavis put do foldera tipa Users/%s.ini samo formatiraj pre ovoga ili ako imas vec funkciju kao u UP-u Korisnici(playerid)
   INI_WriteString(File, "LastSeen", lastSeen[playerid]);
   INI_Close(File);

   return 1;
}

getLastSeen( const name[] )
{
   new buffer[32];
   inline LoadLastSeen(string:name[], string:value[])
   {
      INI_String("LastSeen", buffer);
   }
   if(fexist(put_do_igracevog_foldera))
   {
      INI_ParseFile(put_do_igracevog_foldera, using inline "LoadLastSeen");
   }
   else buffer = "Nepoznati igrac";
   return buffer; // Ili kreiras &buffer i onda unutar komande varijablu.
}

CMD:lastseen(playerid, params[])
{
   if(!params[0]) return SendClientMessage(playerid, -1, "Koristi /lastseen [ Ime Igraca ]");
   if(FindPlayerByName(params[0]) != INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Taj igrac je online!");
   // Mrzelo me da pisem format hehe, samo formatiraj ako nemas ovo :)
   SendClientMessagef(playerid, -1, "Igrac %s je poslednji put bio online %s!", params[0], getLastSeen(params[0]));
   return 1;
}

stock FindPlayerByName( const name[] )
{
    foreach(new i : Player)
    {
        new name2[24];
        GetPlayerName( i, name2, 24 );
        if(!strcmp(name2, name, false, sizeof(name2)))
        {
            return true;
        }
    }
    return false;
}[/pawn]
Nisam testirao, izvoli :)
Hvalaa <3 Testiraću za vikend.