Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- La commande /tester ip entraine le message suivant: Ip déjà enregistré alors qu'elle n'est pas présente dans le fichier.txt. En effet, j'ai même supprimé les IP du genre 127.0.0.10 que j'avais crée
- */
- #include <a_samp>
- #include <dudb>
- #include <Dini>
- #define COLOR_INFO 0x33AA33AA //vert standard
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #pragma unused ret_memcpy
- new string1[256];
- new initialname[100][MAX_PLAYERS];
- new tmp[64],tmpp[16];
- main()
- {
- print(" ");
- print("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
- print(" ");
- print(" [FR] Mode Libre - Serveur Fun");
- print(" ");
- print("Forum: http://lvdm.get-forum.net");
- print("Tout droits réservés");
- print(" ");
- print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(stockerip,9,cmdtext);
- dcmd(verifip,7,cmdtext);
- dcmd(testerip,8,cmdtext);
- return 1;
- }
- public OnGameModeInit()
- {
- }
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid, initialname[playerid], 100);
- return 1;
- }
- dcmd_stockerip(playerid,params[])
- {
- #pragma unused params
- stockerip(playerid);
- return 1;
- }
- dcmd_verifip(playerid,params[])
- {
- #pragma unused params
- verifip(playerid);
- return 1;
- }
- dcmd_testerip(playerid,params[])
- {
- #pragma unused params
- testerip(playerid);
- return 1;
- }
- stock stockerip(playerid)// on sauvegarder toutes les IP
- {
- GetPlayerIp(playerid, tmpp, 16);
- new File:file = fopen("fichier.txt", io_append);
- new string[256];
- fread(file,string);
- fclose(file); // Close the file
- printf("%s",string); // Print what was read
- }
- stock testerip(playerid)
- {
- new File:file = fopen("fichier.txt", io_append );//io_append permet de se placer à la fin du fichier afin d'ajouter des choses à la suite
- new string[256];
- GetPlayerIp(playerid, tmpp, 32);
- if(file)
- {
- fread(file, string);
- if(strcmp(string, tmpp, true) == 0) //si une des lignes corresponds à l'ip du joueur, fermeture du fichier puis kick
- {
- fclose(file);
- SendClientMessage(playerid,COLOR_INFO, "Ip déjà enregistré");
- }
- else
- {
- GetPlayerIp(playerid, tmpp, 16);
- format(tmp, sizeof(tmp), "%s\r\n",tmpp);//donc on format les informations à entrer
- fwrite(file, tmp);
- fclose(file);
- SendClientMessage(playerid,COLOR_INFO, "testerip");
- }
- }
- }
- stock verifip(playerid)// On vérifie si cette IP est présente dans le fichier texte
- {
- GetPlayerIp(playerid, tmpp, 32);
- new File:file = fopen("fichier.txt", io_append);
- new string[256];
- if(file)
- {
- while(fread(file, string)) //lecture du fichier ligne par ligne
- {
- if(strcmp(string, tmpp, true) == 0) //si une des lignes corresponds à l'ip du joueur, fermeture du fichier puis kick
- {
- fclose (file);
- format(string1, sizeof(string1), "[ADMIN] %s (ID: %d) a été kické pour double compte", initialname[playerid],playerid);
- SendClientMessage(playerid,COLOR_INFO, string1);
- Kick(playerid);
- SendClientMessage(playerid,COLOR_INFO, "verifip 0");
- }
- else
- {
- format(tmp, sizeof(tmp), "%s\r\n",tmpp);
- fwrite(file, tmp);
- fclose(file);
- SendClientMessage(playerid,COLOR_INFO, tmp);
- SendClientMessage(playerid,COLOR_INFO, "verifip 1");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement