Advertisement
Guest User

[FS] IGFE In Game File Editor par KonVict92x

a guest
Sep 8th, 2012
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //===================== Crédits =======================
  2. //=====================================================
  3. //====================== IGFE =========================
  4. //=============== In Game File Editor =================
  5. //=====================================================
  6. //======================= par =========================
  7. //==================== KonVict92x =====================
  8. //=====================================================
  9.  
  10. //=====================================================
  11. #include <a_samp>
  12. #include <dini>
  13. #if defined FILTERSCRIPT
  14. #endif
  15.  
  16. //=============== OnPlayerCommandText =================
  17. public OnPlayerCommandText(playerid, cmdtext[])
  18. {
  19.     new cmd[128], tmp[128], idx;
  20.     cmd = strtok(cmdtext, idx);
  21.    
  22.     if(strcmp(cmd,"/file",true)==0)
  23.     {
  24.         if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xE60000F6, "Erreur, vous n'etes pas admin !");
  25.         new ligne[128], text[128], contenu[128], message[128], file[128];
  26.         tmp = strtok(cmdtext, idx);
  27.         text = strtok(cmdtext, idx);
  28.         ligne = strtok(cmdtext, idx);
  29.         contenu = strtok(cmdtext, idx);
  30.         format(file, sizeof(file), "%s.txt",text);
  31.         if(strlen(tmp) == 0) return SendClientMessage(playerid,0xE27507FF, "Usage : /file <CREATE/WRITE/REMOVE/FIND> <NOMDUFICHIER>");
  32.         if(strlen(text) == 0) return SendClientMessage(playerid,0xE27507FF, "Usage : /file <CREATE/WRITE/REMOVE/FIND> <NOMDUFICHIER>");
  33.         if(strlen(ligne) == 0 && strcmp(tmp,"write",true)==0) return SendClientMessage(playerid, 0xE60000F6, "Usage : /file write <NOMDUFICHIER> <NOMDELALIGNE> <CONTENU>");
  34.         if(strlen(contenu) == 0 && strcmp(tmp,"write",true)==0) return SendClientMessage(playerid, 0xE60000F6, "Usage : /file write <NOMDUFICHIER> <NOMDELALIGNE> <CONTENU>");
  35.         if(strcmp(tmp,"remove",true)==0 && strlen(text) == 0) return SendClientMessage(playerid, 0xE60000F6, "Usage : /file remove <NOMDUFICHIER> <NOMDELALIGNE(Optionnel)>");
  36.         if(strcmp(tmp,"create",true)==0 && strlen(text) == 0) return SendClientMessage(playerid, 0xE60000F6, "Usage : /file create <NOMDUFICHIER>");
  37.         if(strcmp(tmp,"create",true)==0)
  38.         {
  39.             dini_Create(file);
  40.             format(message,sizeof(message), "Le fichier %s.txt a bien été creer !", text);
  41.             SendClientMessage(playerid, 0x33AA33AA, message);
  42.         }
  43.         if(strcmp(tmp,"write",true)==0)
  44.         {
  45.             if(!dini_Isset(file,ligne)) format(message,sizeof(message), "La ligne %s a été creer dans le fichier %s avec comme contenu : %s", ligne, text, contenu);
  46.             else format(message,sizeof(message), "%s a été integrer a la ligne %s du fichier %s.txt", contenu, ligne, text);
  47.             dini_Set(file,ligne,contenu);
  48.             SendClientMessage(playerid, 0x33AA33AA, message);
  49.         }
  50.         if(strcmp(tmp,"remove",true)==0)
  51.         {
  52.             if(strlen(ligne) == 0)
  53.             {
  54.                 dini_Remove(file);
  55.                 format(message,sizeof(message), "Le fichier %s.txt a bien été supprimer !", text);
  56.             }
  57.             if(!dini_Isset(file,ligne)) return SendClientMessage(playerid, 0xE60000F6, "Erreur, la ligne entrée n'existe pas !");
  58.             if(strlen(ligne) !=0)
  59.             {
  60.                 format(message,sizeof(message), "La ligne %s du fichier %s a bien été supprimée", ligne, text);
  61.                 dini_Unset(file,ligne);
  62.             }
  63.             SendClientMessage(playerid, 0x33AA33AA, message);
  64.         }
  65.         if(strcmp(tmp,"find",true)==0)
  66.         {
  67.             if(strlen(ligne) == 0 && fexist(file)) format(message,sizeof(message), "Le fichier %s.txt est present.", text);
  68.             if(!fexist(file)) format(message,sizeof(message), "Le fichier %s.txt n'est pas present.", text);
  69.             if(strlen(ligne) != 0 && dini_Isset(file,ligne)) format(message,sizeof(message), "La ligne %s est presente dans le fichier %s.txt", ligne, text);
  70.             if(strlen(ligne) != 0 && !dini_Isset(file,ligne)) format(message,sizeof(message), "La ligne %s n'est pas presente dans le fichier %s.txt", ligne, text);
  71.             if(fexist(file) && strlen(ligne) != 0 && !dini_Isset(file,ligne)) format(message, sizeof(message), "Le fichier %s existe mais la ligne %s n'existe pas", text, ligne);
  72.             SendClientMessage(playerid, 0xE27507FF, message);
  73.         }
  74.         return 1;
  75.     }
  76.     return 0;
  77. }
  78.  
  79.  
  80. //======= Ce code permet d'eviter d'inserer une include, ne surtout pas y toucher, sinon le code ne marcherai plus ===============
  81. strtok(const string[], &index)
  82. {
  83.     new length = strlen(string);
  84.     while ((index < length) && (string[index] <= ' '))
  85.     {
  86.         index++;
  87.     }
  88.  
  89.     new offset = index;
  90.     new result[20];
  91.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  92.     {
  93.         result[index - offset] = string[index];
  94.         index++;
  95.     }
  96.     result[index - offset] = EOS;
  97.     return result;
  98. }
  99.  
  100. stock strrest(const string[], &index)
  101. {
  102.     new length = strlen(string);
  103.     while ((index < length) && (string[index] <= ' '))
  104.     {
  105.         index++;
  106.     }
  107.     new offset = index;
  108.     new result[128];
  109.     while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
  110.     {
  111.         result[index - offset] = string[index];
  112.         index++;
  113.     }
  114.     result[index - offset] = EOS;
  115.     return result;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement