Szerző Téma: Fájlból információ kiolvasása  (Megtekintve 1545 alkalommal)

Fájlból információ kiolvasása
« Dátum: 2014. szeptember 09. - 15:57:31 »
0 Show voters
Üdv!
Azt, hogy tudnám megcsinálni hogy a kibannolt játékosnak az alábbi dolgokat csatlakozáskor az elmentett fájlból kiolvassa és egy dialogba írja?
 
CMD:ban(playerid, params[])
{   
format( iString,    258, \"===============================================\\r\\n\\
                 Admin: %s\\r\\n\\
                          Level: %d\\r\\n\\
                 Player: %s\\r\\n\\
                 Date: %d/%d/%d at %d:%d\\r\\n\\
                 Reason: %s\\r\\n\\
                 PlayerName2( playerid ),
                 P_DATA[ playerid ][ P_Level ],
                 PlayerName2( params[ 0 ] ),
                 D,
                 M,
                 Y,
                 H,
                 Mi,
                 params[ 1 ] );
 
FILE = fopen(SlogBan, io_append);
if (FILE)
{
fwrite(FILE, iString);
fclose(FILE);
}

 

Public OnPlayerConnect(playerid)
{
new UID = BUD::GetNameUID( PlayerName2( playerid ) );
    if ( UID != BUD::INVALID_UID )
{   new File:FILE;
    SetPVarInt( playerid, \"BANNED\", BUD::GetIntEntry( UID, \"Banned\" ) );
if ( GetPVarInt( playerid, \"BANNED\" ) == 1 )
    {
 
   FormMessage( playerid, COLOR_WHITE, \"Your name is banned from this server! Go away!\",0 );
   FormMessageForAll( COLOR_WHITE, \"[ \\\"%s\\\"] with ID [ \\\"%i\\\" ] has been kicked from the server! [Reason: Banned Account]\",PlayerName2( playerid ), playerid );
   SetTimerEx( \"KickPlayer\", 5000, false, \"i\", playerid );
}
}
« Utoljára szerkesztve: 2014. október 09. - 15:30:29 írta Flash »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Fájlból információ kiolvasása
« Válasz #1 Dátum: 2014. szeptember 09. - 17:29:12 »
0 Show voters
Milyen mentést használsz?

Fájlból információ kiolvasása
« Válasz #2 Dátum: 2014. szeptember 09. - 19:17:20 »
0 Show voters
Fopen,fwrite
http://wiki.sa-mp.com/wiki/Fopen
A parancs, le is menti jól az egészet csak mindig 1 sort tölt be a dialogba tehát csak az Admin Name-t
 

CMD:ban(playerid, params[])
{
format(iString4, sizeof(iString4), \"Admin Name:%s \\n Level:%d\\nPlayer:%s\\nReason:%s\",         PlayerName2( playerid ),P_DATA[ playerid ][ P_Level ],PlayerName2( params[ 0 ] ),params[ 1 ]);
FILE = fopen(SlogBan, io_append);
if (FILE)
{
fwrite(FILE, iString4);
fclose(FILE);
}
Ban(params[0]);
return 1;

 


public OnPlayerConnect(playerid)
{
FILE2 = fopen(SlogBan, io_read);
if (FILE2)
{
fread(FILE2, iString4);
ShowPlayerDialog( playerid, BanDialog, DIALOG_STYLE_MSGBOX, \"{FFFFFF}You\'re banned\", iString4, \"Ok\", \"\");
 

fclose(FILE2);
}
« Utoljára szerkesztve: 2014. szeptember 09. - 19:29:10 írta ViktorZs »

Fájlból információ kiolvasása
« Válasz #3 Dátum: 2014. szeptember 10. - 15:38:15 »
0 Show voters
bekönnyeztem.. végre egy ember aki használja az SQLite-t.. (bár rossz függvénykönyvtárral)  :Cry2:

Fájlból információ kiolvasása
« Válasz #4 Dátum: 2014. szeptember 10. - 19:06:45 »
0 Show voters
:) mért használom rosszul ?
A hibára tudsz megoldást ?

Fájlból információ kiolvasása
« Válasz #5 Dátum: 2014. szeptember 11. - 06:15:58 »
0 Show voters
nem rosszul használtad, hanem rosszat.. én személy szerint az enyémet jobban kedvelem :)
a hiba pedig az, hogy te külön sorba írod az összes elemet (\\r\\n), viszont csak az elsõ sort olvasod ki..
szoval..

    FILE = fopen(SlogBan, io_append);
    if (FILE)
    {
        while(fread(FILE, string)) {
            format(iString, \"%s%s\", iString, string);
        }
    }
    fcolse(FILE);

 
próbáld meg így, nem biztos, hogy jó, mert álmos vagyok :D
[mod]Javítottam a

taget

tagre![/mod]
« Utoljára szerkesztve: 2014. szeptember 11. - 14:00:34 írta Dfoglalo »

Fájlból információ kiolvasása
« Válasz #6 Dátum: 2014. szeptember 11. - 19:48:02 »
0 Show voters
nem jó, 1 hibát ír nem jöttem rá mi lehet a baj vele
 
(9165) : error 035: argument type mismatch (argument 2)

 

   FILE = fopen(SlogBan, io_append);
       FILE = fopen(SlogBan, io_append);
    if (FILE)
    {
        while(fread(FILE, string)) {
            format(iString, \"%s%s\", iString, string); // Ez a hibás sor
        }
    }
    fclose(FILE);

Nem elérhető gbr333

  • 670
    • Profil megtekintése
Fájlból információ kiolvasása
« Válasz #7 Dátum: 2014. szeptember 11. - 19:51:03 »
0 Show voters
format(iString,sizeof(iString), \"%s%s\", iString, string);

 
Így?

Fájlból információ kiolvasása
« Válasz #8 Dátum: 2014. szeptember 11. - 20:42:46 »
+1 Show voters
Idézetet írta: RoLuX date=1410457863\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50558\" data-ipsquote-contentclass=\"forums_Topic

format(iString,sizeof(iString), \"%s%s\", iString, string);

 
Így?
 
ja, ez a baja, írtam is hogy álmos vagyok, szoval ezért hagyhattam ki :D

Fájlból információ kiolvasása
« Válasz #9 Dátum: 2014. szeptember 11. - 21:34:03 »
0 Show voters
Idézetet írta: RoLuX date=1410457863\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50558\" data-ipsquote-contentclass=\"forums_Topic

format(iString,sizeof(iString), \"%s%s\", iString, string);

 
Így?
 
így nincs error de ugyan úgy csak 1 sort tölt be.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Fájlból információ kiolvasása
« Válasz #10 Dátum: 2014. szeptember 11. - 23:39:55 »
0 Show voters
Kéne használni: \\n

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Fájlból információ kiolvasása
« Válasz #11 Dátum: 2014. szeptember 19. - 12:33:19 »
0 Show voters
[mod]Kedves témanyitó! Kérlek ne hanyagold el a témát, ha már megnyitottad![/mod]

Fájlból információ kiolvasása
« Válasz #12 Dátum: 2014. szeptember 19. - 14:56:31 »
0 Show voters
Kedves Témanyitó.. most nézem, hogy append-nél elfelejt olvasni a szerver, szoval OnPlayerConnect alá read-dal nyisd a fájlt.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal