Advertisement
LePtitClown

Untitled

May 3rd, 2012
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.68 KB | None | 0 0
  1. /*
  2. 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
  3. */
  4.  
  5. #include <a_samp>
  6. #include <dudb>
  7. #include <Dini>
  8. #define COLOR_INFO 0x33AA33AA //vert standard
  9. #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
  10. #pragma unused ret_memcpy
  11.  
  12.  
  13. new string1[256];
  14. new initialname[100][MAX_PLAYERS];
  15. new tmp[64],tmpp[16];
  16.  
  17.  
  18. main()
  19. {
  20. print(" ");
  21. print("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  22. print(" ");
  23. print("          [FR] Mode Libre - Serveur Fun");
  24. print(" ");
  25. print("Copyright 2005-2012, LePtitClown, [email protected]");
  26. print("Forum: http://lvdm.get-forum.net");
  27. print("Tout droits réservés");
  28. print(" ");
  29. print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
  30. }
  31.  
  32. public OnPlayerCommandText(playerid, cmdtext[])
  33. {
  34.     dcmd(stockerip,9,cmdtext);
  35.     dcmd(verifip,7,cmdtext);
  36.     dcmd(testerip,8,cmdtext);
  37.     return 1;
  38. }
  39.  
  40.  
  41. public OnGameModeInit()
  42. {
  43.  
  44. }
  45.  
  46. public OnPlayerConnect(playerid)
  47. {
  48.     GetPlayerName(playerid, initialname[playerid], 100);
  49.     return 1;
  50. }
  51.    
  52. dcmd_stockerip(playerid,params[])
  53. {
  54.     #pragma unused params
  55.     stockerip(playerid);
  56.     return 1;
  57. }
  58.  
  59. dcmd_verifip(playerid,params[])
  60. {
  61.     #pragma unused params
  62.     verifip(playerid);
  63.     return 1;
  64. }
  65.  
  66. dcmd_testerip(playerid,params[])
  67. {
  68.     #pragma unused params
  69.     testerip(playerid);
  70.     return 1;
  71. }
  72.  
  73.  
  74.  
  75. stock stockerip(playerid)// on sauvegarder toutes les IP
  76. {
  77.     GetPlayerIp(playerid, tmpp, 16);
  78.     new File:file = fopen("fichier.txt", io_append);
  79.     new string[256];
  80.     fread(file,string);
  81.     fclose(file); // Close the file
  82.     printf("%s",string); // Print what was read
  83. }
  84.  
  85. stock testerip(playerid)
  86. {
  87.     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
  88.     new string[256];
  89.     GetPlayerIp(playerid, tmpp, 32);
  90.     if(file)
  91.     {
  92.         fread(file, string);
  93.         if(strcmp(string, tmpp, true) == 0) //si une des lignes corresponds à l'ip du joueur, fermeture du fichier puis kick
  94.         {
  95.             fclose(file);
  96.             SendClientMessage(playerid,COLOR_INFO, "Ip déjà enregistré");
  97.         }
  98.         else
  99.         {
  100.             GetPlayerIp(playerid, tmpp, 16);
  101.             format(tmp, sizeof(tmp), "%s\r\n",tmpp);//donc on format les informations à entrer
  102.             fwrite(file, tmp);
  103.             fclose(file);
  104.             SendClientMessage(playerid,COLOR_INFO, "testerip");
  105.         }
  106.        
  107.     }
  108. }
  109.  
  110. stock verifip(playerid)// On vérifie si cette IP est présente dans le fichier texte
  111. {
  112.     GetPlayerIp(playerid, tmpp, 32);
  113.     new File:file = fopen("fichier.txt", io_append);
  114.     new string[256];
  115.     if(file)
  116.     {
  117.         while(fread(file, string)) //lecture du fichier ligne par ligne
  118.         {
  119.             if(strcmp(string, tmpp, true) == 0) //si une des lignes corresponds à l'ip du joueur, fermeture du fichier puis kick
  120.             {
  121.                 fclose (file);
  122.                 format(string1, sizeof(string1), "[ADMIN] %s (ID: %d) a été kické pour double compte", initialname[playerid],playerid);
  123.                 SendClientMessage(playerid,COLOR_INFO, string1);
  124.                 Kick(playerid);
  125.                 SendClientMessage(playerid,COLOR_INFO, "verifip 0");
  126.             }
  127.             else
  128.             {
  129.                 format(tmp, sizeof(tmp), "%s\r\n",tmpp);
  130.                 fwrite(file, tmp);
  131.                 fclose(file);
  132.                 SendClientMessage(playerid,COLOR_INFO, tmp);
  133.                 SendClientMessage(playerid,COLOR_INFO, "verifip 1");
  134.             }
  135.         }
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement