GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: ViktorZs - 2014. Szeptember 09. - 15:57:31

Cím: Fájlból információ kiolvasása
Írta: ViktorZs - 2014. Szeptember 09. - 15:57:31
Ü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 );
}
}
Cím: Fájlból információ kiolvasása
Írta: ZyZu. - 2014. Szeptember 09. - 17:29:12
Milyen mentést használsz?
Cím: Fájlból információ kiolvasása
Írta: ViktorZs - 2014. Szeptember 09. - 19:17:20
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);
}
Cím: Fájlból információ kiolvasása
Írta: TengeriMalac - 2014. Szeptember 10. - 15:38:15
bekönnyeztem.. végre egy ember aki használja az SQLite-t.. (bár rossz függvénykönyvtárral)  :Cry2:
Cím: Fájlból információ kiolvasása
Írta: ViktorZs - 2014. Szeptember 10. - 19:06:45
:) mért használom rosszul ?
A hibára tudsz megoldást ?
Cím: Fájlból információ kiolvasása
Írta: TengeriMalac - 2014. Szeptember 11. - 06:15:58
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]
Cím: Fájlból információ kiolvasása
Írta: ViktorZs - 2014. Szeptember 11. - 19:48:02
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);
Cím: Fájlból információ kiolvasása
Írta: gbr333 - 2014. Szeptember 11. - 19:51:03
format(iString,sizeof(iString), \"%s%s\", iString, string);

 
Így?
Cím: Fájlból információ kiolvasása
Írta: TengeriMalac - 2014. Szeptember 11. - 20:42:46
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
Cím: Fájlból információ kiolvasása
Írta: ViktorZs - 2014. Szeptember 11. - 21:34:03
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.
Cím: Fájlból információ kiolvasása
Írta: ZyZu. - 2014. Szeptember 11. - 23:39:55
Kéne használni: \\n
Cím: Fájlból információ kiolvasása
Írta: Flash - 2014. Szeptember 19. - 12:33:19
[mod]Kedves témanyitó! Kérlek ne hanyagold el a témát, ha már megnyitottad![/mod]
Cím: Fájlból információ kiolvasása
Írta: TengeriMalac - 2014. Szeptember 19. - 14:56:31
Kedves Témanyitó.. most nézem, hogy append-nél elfelejt olvasni a szerver, szoval OnPlayerConnect alá read-dal nyisd a fájlt.