Advertisement
Guest User

Untitled

a guest
Sep 19th, 2013
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 30.80 KB | None | 0 0
  1. #include <a_samp>
  2. #include <PermissionsEx>
  3. #include <filemanager>
  4.  
  5. #define Rot 0xFF0000FF
  6. #define Gelb 0xFFFF00FF
  7. #define Grun 0x54FF35FF
  8.  
  9. public OnFilterScriptInit()
  10. {
  11.     print("\n-------------------------------------------");
  12.     print("[PermissionsEx]: Loading PermissionsExSystem by Jimmy_Washington...");
  13.     print("[PermissionsEx]: Loading Information...");
  14.     if(!dini_Exists("PermissionsEx.cfg"))
  15.     {
  16.         dini_Create("PermissionsEx.cfg");
  17.         dini_Set("PermissionsEx.cfg","Mode","File");
  18.         dini_Set("PermissionsEx.cfg","IPAddress","127.0.0.1");
  19.         dini_Set("PermissionsEx.cfg","Username","root");
  20.         dini_Set("PermissionsEx.cfg","Password","1234");
  21.         dini_Set("PermissionsEx.cfg","Database","permissions");
  22.         dini_Set("PermissionsEx.cfg","PexDeny","Entweder hast du keine Rechte, um diesen Befehl zu nutzen oder der Befehl existiert nicht!");
  23.         dini_Set("PermissionsEx.cfg","GivePexOK1","Du hast ");
  24.         dini_Set("PermissionsEx.cfg","GivePexOK2"," erfolgreich die Permission ");
  25.         dini_Set("PermissionsEx.cfg","GivePexOK3"," gegeben.");
  26.         dini_Set("PermissionsEx.cfg","GivePexFail1","Konnte ");
  27.         dini_Set("PermissionsEx.cfg","GivePexFail2"," die Permission ");
  28.         dini_Set("PermissionsEx.cfg","GivePexFail3"," nicht geben.");
  29.         dini_Set("PermissionsEx.cfg","GivePexFail4","Konnte ");
  30.         dini_Set("PermissionsEx.cfg","GivePexFail5"," die Permission ");
  31.         dini_Set("PermissionsEx.cfg","GivePexFail6"," nicht geben, weil der User/Gruppe sie schon hat.");
  32.         dini_Set("PermissionsEx.cfg","TakePexOK1","Du hast ");
  33.         dini_Set("PermissionsEx.cfg","TakePexOK2"," die Permission ");
  34.         dini_Set("PermissionsEx.cfg","TakePexOK3"," abgenommen!");
  35.         dini_Set("PermissionsEx.cfg","TakePexFail1","Konnte ");
  36.         dini_Set("PermissionsEx.cfg","TakePexFail2"," die Permission ");
  37.         dini_Set("PermissionsEx.cfg","TakePexFail3"," nicht abnehmen!");
  38.         dini_Set("PermissionsEx.cfg","TakePexFail4","Konnte ");
  39.         dini_Set("PermissionsEx.cfg","TakePexFail5"," die Permission ");
  40.         dini_Set("PermissionsEx.cfg","TakePexFail6"," nicht abnehmen, da der User/Gruppe sie gar nicht hat!");
  41.         dini_Set("PermissionsEx.cfg","HasPexOK"," hat das Recht ");
  42.         dini_Set("PermissionsEx.cfg","HasPexFail"," hat nicht das Recht ");
  43.         dini_Set("PermissionsEx.cfg","GroupCreateOK1","Du hast die Gruppe ");
  44.         dini_Set("PermissionsEx.cfg","GroupCreateOK2"," erfolgreich erstellt!");
  45.         dini_Set("PermissionsEx.cfg","GroupCreateFail1","Die Gruppe ");
  46.         dini_Set("PermissionsEx.cfg","GroupCreateFail2"," konnte nicht erstellt werden!");
  47.         dini_Set("PermissionsEx.cfg","GroupCreateFail3","Die Gruppe ");
  48.         dini_Set("PermissionsEx.cfg","GroupCreateFail4"," existiert bereits!");
  49.         dini_Set("PermissionsEx.cfg","GroupDeleteOK1","Du hast die Gruppe ");
  50.         dini_Set("PermissionsEx.cfg","GroupDeleteOK2"," erfolgreich gelöscht!");
  51.         dini_Set("PermissionsEx.cfg","GroupDeleteFail1","Die Gruppe ");
  52.         dini_Set("PermissionsEx.cfg","GroupDeleteFail2"," konnte nicht gelöscht werden!");
  53.         dini_Set("PermissionsEx.cfg","useraddgroupOK1","Du hast ");
  54.         dini_Set("PermissionsEx.cfg","useraddgroupOK2"," erfolgreich zur Gruppe ");
  55.         dini_Set("PermissionsEx.cfg","useraddgroupOK3"," hinzugefügt!");
  56.         dini_Set("PermissionsEx.cfg","useraddgroupFail1","Konnte ");
  57.         dini_Set("PermissionsEx.cfg","useraddgroupFail2"," nicht zur Gruppe ");
  58.         dini_Set("PermissionsEx.cfg","useraddgroupFail3"," hinzugefügen!");
  59.         dini_Set("PermissionsEx.cfg","useraddgroupFail4","Konnte ");
  60.         dini_Set("PermissionsEx.cfg","useraddgroupFail5"," nicht zur Gruppe ");
  61.         dini_Set("PermissionsEx.cfg","useraddgroupFail6"," hinzugefügen, da der User schon Mitglied ist!");
  62.         dini_Set("PermissionsEx.cfg","userremgroupOK1","Du hast ");
  63.         dini_Set("PermissionsEx.cfg","userremgroupOK2"," erfolgreich aus der Gruppe ");
  64.         dini_Set("PermissionsEx.cfg","userremgroupOK3"," entfernt!");
  65.         dini_Set("PermissionsEx.cfg","userremgroupFail1","Konnte ");
  66.         dini_Set("PermissionsEx.cfg","userremgroupFail2"," nicht aus der Gruppe ");
  67.         dini_Set("PermissionsEx.cfg","userremgroupFail3"," entfernen!");
  68.         dini_Set("PermissionsEx.cfg","userremgroupFail4","Konnte ");
  69.         dini_Set("PermissionsEx.cfg","userremgroupFail5"," nicht aus der Gruppe ");
  70.         dini_Set("PermissionsEx.cfg","userremgroupFail6"," entfernen, da der User gar nicht in dieser Gruppe ist!");
  71.     }
  72.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true,10)==0)
  73.     {
  74.         print("[PermissionsEx]: MySQL-Mode");
  75.         Mode = 1;
  76.         new db[32],ip[16],user[32],password[64];
  77.         format(db,32,"%s",dini_Get("PermissionsEx.cfg","DataBase"));
  78.         format(ip,16,"%s",dini_Get("PermissionsEx.cfg","IPAddress"));
  79.         format(user,32,"%s",dini_Get("PermissionsEx.cfg","Username"));
  80.         format(password,64,"%s",dini_Get("PermissionsEx.cfg","Password"));
  81.         printf("%s,%s,%s,%s",db,ip,user,password);
  82.         print("[PermissionsEx]: Connecting to MySQL-Database...");
  83.         mysql_init();
  84.         mysql_connect(ip,user,password,db);
  85.         new string[128];
  86.         mysql_stat(string);
  87.         if(strcmp(string,"abc",false)==0)
  88.         {
  89.             print("[PermissionsEx]: Failed to connect to MySQL-Database!");
  90.         }
  91.         else
  92.         {
  93.             print("[PermissionsEx]: Successful contected to MySQL-Database!");
  94.             SetTimer("MySQLCheckerPex",5000,1);
  95.         }
  96.     }
  97.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true,10)==0)
  98.     {
  99.         print("[PermissionsEx]: File-Mode");
  100.         Mode = 2;
  101.         if(!dir_exists("scriptfiles/Permissions"))
  102.         {
  103.             dir_create("scriptfiles/Permissions");
  104.         }
  105.         if(!dir_exists("scriptfiles/Permissions/User"))
  106.         {
  107.             dir_create("scriptfiles/Permissions/User");
  108.         }
  109.         if(!dir_exists("scriptfiles/Permissions/Group"))
  110.         {
  111.             dir_create("scriptfiles/Permissions/Group");
  112.         }
  113.     }
  114.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"Database",true,10)==0)
  115.     {
  116.         print("[PermissionsEx]: Database-Mode");
  117.         Mode = 3;
  118.         if(!file_exists("scriptfiles/Permissions.db"))
  119.         {
  120.             print("[PermissionsEx]: There is no Permissions.db! Please create a database for PermissionsSystem and restart the server.");
  121.             Mode=0;
  122.         }
  123.     }
  124.     else
  125.     {
  126.         print("[PermissionsEx]: Unknow-Mode!");
  127.         Mode = 0;
  128.     }
  129.     print("-------------------------------------------\n");
  130.     return 1;
  131. }
  132.  
  133. forward MySQLCheckerPex(ip[],user[],password[],db[]);
  134.  
  135. public MySQLCheckerPex()
  136. {
  137.     new string[128];
  138.     mysql_get_server_info(string);
  139.     if(mysql_ping()==1 || strcmp(string,"0",false)==0)
  140.     {
  141.         Mode=0;
  142.         if(strcmp(dini_Get("PermissionsEx.cfg","DoOnConnectionLost(Reload/Restart/Reconnect)"),"Reconnect",false)==0)
  143.         {
  144.             print("[PermissionsEx]: Not connected to MySQL-Database! Connecting...");
  145.             new db[32],ip[16],user[32],password[64];
  146.             format(db,32,"%s",dini_Get("RegSystem.cfg","DataBase"));
  147.             format(ip,16,"%s",dini_Get("RegSystem.cfg","IPAddress"));
  148.             format(user,32,"%s",dini_Get("RegSystem.cfg","Username"));
  149.             format(password,64,"%s",dini_Get("RegSystem.cfg","Password"));
  150.             mysql_init();
  151.             mysql_connect(ip,user,password,db);
  152.         }
  153.         else if(strcmp(dini_Get("PermissionsEx.cfg","DoOnConnectionLost(Reload/Restart/Reconnect)"),"Reload",false)==0)
  154.         {
  155.             print("[PermissionsEx]: Not connected to MySQL-Database! Reloading RegSystem...");
  156.             SendRconCommand("reloadfs Login");
  157.         }
  158.         else if(strcmp(dini_Get("PermissionsEx.cfg","DoOnConnectionLost(Reload/Restart/Reconnect)"),"Restart",false)==0)
  159.         {
  160.             print("[PermissionsEx]: Not connected to MySQL-Database! Restarting Server...");
  161.             SendRconCommand("gmx");
  162.         }
  163.     }
  164.     else
  165.     {
  166.         if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true,10)==0)
  167.         {
  168.             Mode=1;
  169.         }
  170.         else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true,10)==0)
  171.         {
  172.             Mode=2;
  173.         }
  174.         else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"Database",true,10)==0)
  175.         {
  176.             Mode=3;
  177.         }
  178.     }
  179.     return 1;
  180. }
  181.  
  182. public OnPlayerConnect(playerid)
  183. {
  184.     if(Mode==1)
  185.     {
  186.         if(strcmp(mysql_get("user","name","name",GetSpielerName(playerid)),"23xflwop45",false)==0)
  187.         {
  188.             mysql_insert("user","name",GetSpielerName(playerid));
  189.             mysql_update("user","servergroup","-","name",GetSpielerName(playerid));
  190.             mysql_update("user","permissions","-","name",GetSpielerName(playerid));
  191.         }
  192.     }
  193.     else if(Mode==2)
  194.     {
  195.         new PDat[64];
  196.         format(PDat,64,"/Permissions/User/%s.pex",GetSpielerName(playerid));
  197.         dini_Create(PDat);
  198.         dini_Set(PDat,"servergroup","-");
  199.         dini_Set(PDat,"permissions","-");
  200.     }
  201.     else if(Mode==3)
  202.     {
  203.         if(strcmp(db_get("user","name","name",GetSpielerName(playerid)),"23xflwop45",false)==0)
  204.         {
  205.             db_insert("user","name",GetSpielerName(playerid));
  206.             db_update("user","servergroup","-","name",GetSpielerName(playerid));
  207.             db_update("user","permissions","-","name",GetSpielerName(playerid));
  208.         }
  209.     }
  210.     else
  211.     {
  212.         print("[PermissionsEx]: PermissionsSystem-Mode is unknown!");
  213.         SendClientMessage(playerid,Rot,"PermissionsSystem-Mode is unknown! Please contact an Admin or Supporter.");
  214.     }
  215.     return 1;
  216. }
  217.  
  218. public OnPlayerText(playerid, text[])
  219. {
  220.     return 1;
  221. }
  222.  
  223. public OnPlayerCommandText(playerid, cmdtext[])
  224. {
  225.     new cmd[128],string[128];
  226.     format(cmd,128,"%s",cmdtext);
  227.     strdel(cmd,0,1);
  228.     if(HasPermission(playerid,cmd))
  229.     {
  230.         if(strfind(cmdtext,"/useraddpex", true)>= 0)
  231.         {
  232.             new id,pex[32],cmdex[32];
  233.             if(sscanf(cmdtext,"s[32]ds[32]",cmdex,id,pex))
  234.             {
  235.                 return SendClientMessage(playerid,Gelb,"/useraddpex <playerid> <permission>");
  236.             }
  237.             else
  238.             {
  239.                 if(HasPermission(id,pex)==1)
  240.                 {
  241.                     format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","GivePexFail4"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","GivePexFail5"),pex,dini_Get("PermissionsEx.cfg","GivePexFail6"));
  242.                     return SendClientMessage(playerid,Rot,string);
  243.                 }
  244.                 else
  245.                 {
  246.                     if(GivePermission(id,pex)==1)
  247.                     {
  248.                         printf("[PermissionsEx]: %s has added permission %s to user %s",GetSpielerName(playerid),pex,GetSpielerName(playerid));
  249.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","GivePexOK1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","GivePexOK2"),pex,dini_Get("PermissionsEx.cfg","GivePexOK3"));
  250.                         return SendClientMessage(playerid,Grun,string);
  251.                     }
  252.                     else
  253.                     {
  254.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","GivePexFail1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","GivePexFail2"),pex,dini_Get("PermissionsEx.cfg","GivePexFail3"));
  255.                         return SendClientMessage(playerid,Rot,string);
  256.                     }
  257.                 }
  258.             }
  259.         }
  260.         if(strfind(cmdtext,"/userrempex", true)>= 0)
  261.         {
  262.             new id,pex[32],cmdex[32];
  263.             if(sscanf(cmdtext,"s[32]ds[32]",cmdex,id,pex))
  264.             {
  265.                 return SendClientMessage(playerid,Gelb,"/userrempex <playerid> <permission>");
  266.             }
  267.             else
  268.             {
  269.                 if(HasPermission(id,pex)==1)
  270.                 {
  271.                     if(TakePermission(id,pex)==1)
  272.                     {
  273.                         printf("[PermissionsEx]: %s has removed permission %s from user %s",GetSpielerName(playerid),pex,GetSpielerName(id));
  274.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","TakePexOK1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","TakePexOK2"),pex,dini_Get("PermissionsEx.cfg","TakePexOK3"));
  275.                         return SendClientMessage(playerid,Grun,string);
  276.                     }
  277.                     else
  278.                     {
  279.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","TakePexFail1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","TakePexFail2"),pex,dini_Get("PermissionsEx.cfg","TakePexFail3"));
  280.                         return SendClientMessage(playerid,Rot,string);
  281.                     }
  282.                 }
  283.                 else
  284.                 {
  285.                     format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","TakePexFail4"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","TakePexFail5"),pex,dini_Get("PermissionsEx.cfg","TakePexFail6"));
  286.                     return SendClientMessage(playerid,Rot,string);
  287.                 }
  288.             }
  289.         }
  290.         if(strfind(cmdtext,"/groupaddpex", true)>= 0)
  291.         {
  292.             new pex[32],cmdex[32],group[32];
  293.             if(sscanf(cmdtext,"s[32]s[32]s[32]",cmdex,group,pex))
  294.             {
  295.                 return SendClientMessage(playerid,Gelb,"/groupaddpex <group> <permission>");
  296.             }
  297.             else
  298.             {
  299.                 if(HasPermissionGroup(group,pex)==1)
  300.                 {
  301.                     format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","GivePexFail4"),group,dini_Get("PermissionsEx.cfg","GivePexFail5"),pex,dini_Get("PermissionsEx.cfg","GivePexFail6"));
  302.                     return SendClientMessage(playerid,Rot,string);
  303.                 }
  304.                 else
  305.                 {
  306.                     if(GivePermissionGroup(group,pex)==1)
  307.                     {
  308.                         printf("[PermissionsEx]: %s has added permission %s to group %s",GetSpielerName(playerid),pex,group);
  309.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","GivePexOK1"),group,dini_Get("PermissionsEx.cfg","GivePexOK2"),pex,dini_Get("PermissionsEx.cfg","GivePexOK3"));
  310.                         return SendClientMessage(playerid,Grun,string);
  311.                     }
  312.                     else
  313.                     {
  314.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","GivePexFail1"),group,dini_Get("PermissionsEx.cfg","GivePexFail2"),pex,dini_Get("PermissionsEx.cfg","GivePexFail3"));
  315.                         return SendClientMessage(playerid,Rot,string);
  316.                     }
  317.                 }
  318.             }
  319.         }
  320.         if(strfind(cmdtext,"/grouprempex", true)>= 0)
  321.         {
  322.             new pex[32],cmdex[32],group[32];
  323.             if(sscanf(cmdtext,"s[32]s[32]s[32]",cmdex,group,pex))
  324.             {
  325.                 return SendClientMessage(playerid,Gelb,"/grouprempex <group> <permission>");
  326.             }
  327.             else
  328.             {
  329.                 if(HasPermissionGroup(group,pex)==1)
  330.                 {
  331.                     if(TakePermissionGroup(group,pex)==1)
  332.                     {
  333.                         printf("[PermissionsEx]: %s has removed permission %s from group %s",GetSpielerName(playerid),pex,group);
  334.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","TakePexOK1"),group,dini_Get("PermissionsEx.cfg","TakePexOK2"),pex,dini_Get("PermissionsEx.cfg","TakePexOK3"));
  335.                         return SendClientMessage(playerid,Grun,string);
  336.                     }
  337.                     else
  338.                     {
  339.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","TakePexFail1"),group,dini_Get("PermissionsEx.cfg","TakePexFail2"),pex,dini_Get("PermissionsEx.cfg","TakePexFail3"));
  340.                         return SendClientMessage(playerid,Rot,string);
  341.                     }
  342.                 }
  343.                 else
  344.                 {
  345.                     format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","TakePexFail4"),group,dini_Get("PermissionsEx.cfg","TakePexFail5"),pex,dini_Get("PermissionsEx.cfg","TakePexFail6"));
  346.                     return SendClientMessage(playerid,Rot,string);
  347.                 }
  348.             }
  349.         }
  350.         if(strfind(cmdtext,"/userhaspex", true)>= 0)
  351.         {
  352.             new id,pex[32],cmdex[32];
  353.             if(sscanf(cmdtext,"s[32]ds[32]",cmdex,id,pex))
  354.             {
  355.                 return SendClientMessage(playerid,Gelb,"/userhaspex <playerid> <permission>");
  356.             }
  357.             else
  358.             {
  359.                 if(HasPermission(id,pex)==1)
  360.                 {
  361.                     format(string,128,"%s%s%s",GetSpielerName(playerid),dini_Get("PermissionsEx.cfg","HasPexOK"),pex);
  362.                     return SendClientMessage(playerid,Gelb,string);
  363.                 }
  364.                 else
  365.                 {
  366.                     format(string,128,"%s%s%s",GetSpielerName(playerid),dini_Get("PermissionsEx.cfg","HasPexFail"),pex);
  367.                     return SendClientMessage(playerid,Gelb,string);
  368.                 }
  369.             }
  370.         }
  371.         if(strfind(cmdtext,"/grouphaspex", true)>= 0)
  372.         {
  373.             new group[32],pex[32],cmdex[32];
  374.             if(sscanf(cmdtext,"s[32]ds[32]",cmdex,group,pex))
  375.             {
  376.                 return SendClientMessage(playerid,Gelb,"/grouphaspex <group> <permission>");
  377.             }
  378.             else
  379.             {
  380.                 if(HasPermissionGroup(group,pex)==1)
  381.                 {
  382.                     format(string,128,"%s%s%s",GetSpielerName(playerid),dini_Get("PermissionsEx.cfg","HasPexOK"),pex);
  383.                     return SendClientMessage(playerid,Gelb,string);
  384.                 }
  385.                 else
  386.                 {
  387.                     format(string,128,"%s%s%s",GetSpielerName(playerid),dini_Get("PermissionsEx.cfg","HasPexFail"),pex);
  388.                     return SendClientMessage(playerid,Gelb,string);
  389.                 }
  390.             }
  391.         }
  392.         if(strfind(cmdtext,"/groupcreate", true)>= 0)
  393.         {
  394.             new group[32],cmdex[32],stringg[64];
  395.             if(sscanf(cmdtext,"s[32]s[32]",cmdex,group))
  396.             {
  397.                 return SendClientMessage(playerid,Gelb,"/groupcreate <group>");
  398.             }
  399.             else
  400.             {
  401.                 if(Mode==1)
  402.                 {
  403.                     if(strfind(mysql_get("servergroup","name","name",group),group,false)>=0)
  404.                     {
  405.                         format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateFail3"),group,dini_Get("PermissionsEx.cfg","GroupCreateFail4"));
  406.                         return SendClientMessage(playerid,Rot,string);
  407.                     }
  408.                     else
  409.                     {
  410.                         mysql_insert("servergroup","name",group);
  411.                         if(strcmp(mysql_get("servergroup","name","name",group),"0",false)==0)
  412.                         {
  413.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateFail1"),group,dini_Get("PermissionsEx.cfg","GroupCreateFail2"));
  414.                             return SendClientMessage(playerid,Rot,string);
  415.                         }
  416.                         else
  417.                         {
  418.                             mysql_update("servergroup","user","-","name",group);
  419.                             mysql_update("servergroup","permissions","-","name",group);
  420.                             printf("[PermissionsEx]: %s has created group %s",GetSpielerName(playerid),group);
  421.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateOK1"),group,dini_Get("PermissionsEx.cfg","GroupCreateOK2"));
  422.                             return SendClientMessage(playerid,Grun,string);
  423.                         }
  424.                     }
  425.                 }
  426.                 else if(Mode==2)
  427.                 {
  428.                     format(stringg,64,"/Permissions/Group/%s.grp",group);
  429.                     if(dini_Exists(stringg))
  430.                     {
  431.                         format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateFail3"),group,dini_Get("PermissionsEx.cfg","GroupCreateFail4"));
  432.                         return SendClientMessage(playerid,Rot,string);
  433.                     }
  434.                     else
  435.                     {
  436.                         dini_Create(stringg);
  437.                         dini_Set(stringg,"user","-");
  438.                         dini_Set(stringg,"permissions","-");
  439.                         if(dini_Exists(stringg))
  440.                         {
  441.                             printf("[PermissionsEx]: %s has created group %s",GetSpielerName(playerid),group);
  442.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateOK1"),group,dini_Get("PermissionsEx.cfg","GroupCreateOK2"));
  443.                             return SendClientMessage(playerid,Grun,string);
  444.                         }
  445.                         else
  446.                         {
  447.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateFail1"),group,dini_Get("PermissionsEx.cfg","GroupCreateFail2"));
  448.                             return SendClientMessage(playerid,Rot,string);
  449.                         }
  450.                     }
  451.                 }
  452.                 else if(Mode==3)
  453.                 {
  454.                     if(strfind(db_get("servergroup","name","name",group),group,false)>=0)
  455.                     {
  456.                         format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateFail3"),group,dini_Get("PermissionsEx.cfg","GroupCreateFail4"));
  457.                         return SendClientMessage(playerid,Rot,string);
  458.                     }
  459.                     else
  460.                     {
  461.                         db_insert("servergroup","name",group);
  462.                         if(strcmp(db_get("servergroup","name","name",group),"0",false)==0)
  463.                         {
  464.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateFail1"),group,dini_Get("PermissionsEx.cfg","GroupCreateFail2"));
  465.                             return SendClientMessage(playerid,Rot,string);
  466.                         }
  467.                         else
  468.                         {
  469.                             db_update("servergroup","user","-","name",group);
  470.                             db_update("servergroup","permissions","-","name",group);
  471.                             printf("[PermissionsEx]: %s has created group %s",GetSpielerName(playerid),group);
  472.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateOK1"),group,dini_Get("PermissionsEx.cfg","GroupCreateOK2"));
  473.                             return SendClientMessage(playerid,Grun,string);
  474.                         }
  475.                     }
  476.                 }
  477.                 else
  478.                 {
  479.                     print("[PermissionsEx]: PermissionsSystem-Mode is unknown!");
  480.                     SendClientMessage(playerid,Rot,"PermissionsSystem-Mode is unknown! Please contact an Admin or Supporter.");
  481.                     format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupCreateFail1"),group,dini_Get("PermissionsEx.cfg","GroupCreateFail2"));
  482.                     return SendClientMessage(playerid,Rot,string);
  483.                 }
  484.             }
  485.         }
  486.         if(strfind(cmdtext,"/groupremove", true)>= 0)
  487.         {
  488.             new group[32],cmdex[32],stringg[64];
  489.             if(sscanf(cmdtext,"s[32]s[32]",cmdex,group))
  490.             {
  491.                 return SendClientMessage(playerid,Gelb,"/groupremove <group>");
  492.             }
  493.             else
  494.             {
  495.                 if(DeleteAllFromGroup(group)==1)
  496.                 {
  497.                     if(Mode==1)
  498.                     {
  499.                         mysql_delete("servergroup","name",group);
  500.                         if(strcmp(mysql_get("servergroup","name","name",group),"0",false)==0)
  501.                         {
  502.                             printf("[PermissionsEx]: %s has deleted group %s",GetSpielerName(playerid),group);
  503.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteOK1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteOK2"));
  504.                             return SendClientMessage(playerid,Grun,string);
  505.                         }
  506.                         else
  507.                         {
  508.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteFail1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteFail2"));
  509.                             return SendClientMessage(playerid,Rot,string);
  510.                         }
  511.                     }
  512.                     else if(Mode==2)
  513.                     {
  514.                         format(stringg,64,"/Permissions/Group/%s.grp",group);
  515.                         dini_Remove(stringg);
  516.                         if(!dini_Exists(stringg))
  517.                         {
  518.                             printf("[PermissionsEx]: %s has deleted group %s",GetSpielerName(playerid),group);
  519.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteOK1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteOK2"));
  520.                             return SendClientMessage(playerid,Grun,string);
  521.                         }
  522.                         else
  523.                         {
  524.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteFail1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteFail2"));
  525.                             return SendClientMessage(playerid,Rot,string);
  526.                         }
  527.                     }
  528.                     else if(Mode==3)
  529.                     {
  530.                         db_delete("servergroup","name",group);
  531.                         if(strcmp(db_get("servergroup","name","name",group),"0",false)==0)
  532.                         {
  533.                             printf("[PermissionsEx]: %s has deleted group %s",GetSpielerName(playerid),group);
  534.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteOK1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteOK2"));
  535.                             return SendClientMessage(playerid,Grun,string);
  536.                         }
  537.                         else
  538.                         {
  539.                             format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteFail1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteFail2"));
  540.                             return SendClientMessage(playerid,Rot,string);
  541.                         }
  542.                     }
  543.                     else
  544.                     {
  545.                         print("[PermissionsEx]: PermissionsSystem-Mode is unknown!");
  546.                         SendClientMessage(playerid,Rot,"PermissionsSystem-Mode is unknown! Please contact an Admin or Supporter.");
  547.                         format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteFail1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteFail2"));
  548.                         return SendClientMessage(playerid,Rot,string);
  549.                     }
  550.                 }
  551.                 else
  552.                 {
  553.                     format(string,128,"%s%s%s",dini_Get("PermissionsEx.cfg","GroupDeleteFail1"),group,dini_Get("PermissionsEx.cfg","GroupDeleteFail2"));
  554.                     return SendClientMessage(playerid,Rot,string);
  555.                 }
  556.             }
  557.         }
  558.         if(strfind(cmdtext,"/useraddgroup", true)>= 0)
  559.         {
  560.             if(IsPlayerConnected(playerid))
  561.             {
  562.                 new id,group[32],cmdex[32],PlayerDat[64],GroupDat[64];
  563.                 if(sscanf(cmdtext,"s[32]ds[32]",cmdex,id,group))
  564.                 {
  565.                     return SendClientMessage(playerid,Gelb,"/useraddgroup <playerid> <group>");
  566.                 }
  567.                 else
  568.                 {
  569.                     if(IsInGroup(id,group)==1)
  570.                     {
  571.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","useraddgroupFail4"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","useraddgroupFail5"),group,dini_Get("PermissionsEx.cfg","useraddgroupFail6"));
  572.                         return SendClientMessage(playerid,Rot,string);
  573.                     }
  574.                     else
  575.                     {
  576.                         if(Mode==1)
  577.                         {
  578.                             format(string,128," %s%s-",mysql_get("user","servergroup","name",GetSpielerName(id)),group);
  579.                             mysql_update("user","servergroup",string,"name",GetSpielerName(id));
  580.                             format(string,128," %s%s-",mysql_get("servergroup","user","name",group),GetSpielerName(id));
  581.                             mysql_update("servergroup","User",string,"name",group);
  582.                         }
  583.                         else if(Mode==2)
  584.                         {
  585.                             format(PlayerDat,64,"/Permissions/User/%s.pex",GetSpielerName(id));
  586.                             format(GroupDat,64,"/Permissions/Group/%s.grp",group);
  587.                             format(string,128," %s%s-",dini_Get(PlayerDat,"servergroup"),group);
  588.                             dini_Set(PlayerDat,"servergroup",string);
  589.                             format(string,128," %s%s-",dini_Get(GroupDat,"servergroup"),GetSpielerName(id));
  590.                             dini_Set(GroupDat,"User",string);
  591.                         }
  592.                         else if(Mode==3)
  593.                         {
  594.                             format(string,128,"%s%s-",db_get("user","servergroup","name",GetSpielerName(id)),group);
  595.                             db_update("user","servergroup",string,"name",GetSpielerName(id));
  596.                             format(string,128,"%s%s-",db_get("servergroup","user","name",group),GetSpielerName(id));
  597.                             db_update("servergroup","User",string,"name",group);
  598.                         }
  599.                         else
  600.                         {
  601.                             print("[PermissionsEx]: PermissionsSystem-Mode is unknown!");
  602.                             SendClientMessage(playerid,Rot,"PermissionsSystem-Mode is unknown! Please contact an Admin or Supporter.");
  603.                         }
  604.                         if(IsInGroup(id,group)==0)
  605.                         {
  606.                             format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","useraddgroupFail1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","useraddgroupFail2"),group,dini_Get("PermissionsEx.cfg","useraddgroupFail3"));
  607.                             return SendClientMessage(playerid,Rot,string);
  608.                         }
  609.                         else
  610.                         {
  611.                             format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","useraddgroupOK1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","useraddgroupOK2"),group,dini_Get("PermissionsEx.cfg","useraddgroupOK3"));
  612.                             return SendClientMessage(playerid,Grun,string);
  613.                         }
  614.                     }
  615.                 }
  616.             }
  617.         }
  618.         if(strfind(cmdtext,"/userremgroup", true)>= 0)
  619.         {
  620.             new id,group[32],cmdex[32],PlayerDat[64],GroupDat[64];
  621.             if(IsPlayerConnected(playerid))
  622.             {
  623.                 if(sscanf(cmdtext,"s[32]ds[32]",cmdex,id,group))
  624.                 {
  625.                     return SendClientMessage(playerid,Gelb,"/userremgroup <playerid> <group>");
  626.                 }
  627.                 else
  628.                 {
  629.                     if(IsInGroup(id,group)==1)
  630.                     {
  631.                         if(Mode==1)
  632.                         {
  633.                             format(string,128,"%s%s-",mysql_get("user","servergroup","name",GetSpielerName(id)),group);
  634.                             new startpos = strfind(string,group);
  635.                             new endpos;
  636.                             if(startpos>=0)
  637.                             {
  638.                                 endpos = strfind(string,"-",false,startpos);
  639.                                 strdel(string,startpos-1,endpos);
  640.                                 mysql_update("user","servergroup",string,"name",GetSpielerName(id));
  641.                             }
  642.                             format(string,128,"%s%s-",mysql_get("servergroup","User","name",group),GetSpielerName(id));
  643.                             startpos = strfind(string,group);
  644.                             if(startpos>=0)
  645.                             {
  646.                                 endpos = strfind(string,"-",false,startpos);
  647.                                 strdel(string,startpos-1,endpos);
  648.                                 mysql_update("servergroup","User",string,"name",group);
  649.                             }
  650.                         }
  651.                         else if(Mode==2)
  652.                         {
  653.                             format(PlayerDat,64,"/Permissions/User/%s.pex",GetSpielerName(id));
  654.                             format(GroupDat,64,"/Permissions/Group/%s.grp",group);
  655.                             format(string,128,"%s-",dini_Get(PlayerDat,"servergroup"));
  656.                             new startpos = strfind(string,group);
  657.                             new endpos;
  658.                             if(startpos>=0)
  659.                             {
  660.                                 endpos = strfind(string,"-",false,startpos);
  661.                                 strdel(string,startpos-1,endpos);
  662.                                 dini_Set(PlayerDat,"servergroup",string);
  663.                             }
  664.                             format(string,128,"%s-",dini_Get(GroupDat,"servergroup"));
  665.                             startpos = strfind(string,group);
  666.                             if(startpos>=0)
  667.                             {
  668.                                 endpos = strfind(string,"-",false,startpos);
  669.                                 strdel(string,startpos-1,endpos);
  670.                                 dini_Set(GroupDat,"servergroup",string);
  671.                             }
  672.                         }
  673.                         else if(Mode==3)
  674.                         {
  675.                             format(string,128,"%s%s-",db_get("user","servergroup","name",GetSpielerName(id)),group);
  676.                             new startpos = strfind(string,group);
  677.                             new endpos;
  678.                             if(startpos>=0)
  679.                             {
  680.                                 endpos = strfind(string,"-",false,startpos);
  681.                                 strdel(string,startpos-1,endpos);
  682.                                 db_update("user","servergroup",string,"name",GetSpielerName(id));
  683.                             }
  684.                             format(string,128,"%s%s-",db_get("servergroup","User","name",group),GetSpielerName(id));
  685.                             startpos = strfind(string,group);
  686.                             if(startpos>=0)
  687.                             {
  688.                                 endpos = strfind(string,"-",false,startpos);
  689.                                 strdel(string,startpos-1,endpos);
  690.                                 db_update("servergroup","User",string,"name",group);
  691.                             }
  692.                         }
  693.                         else
  694.                         {
  695.                             print("[PermissionsEx]: PermissionsSystem-Mode is unknown!");
  696.                             SendClientMessage(playerid,Rot,"PermissionsSystem-Mode is unknown! Please contact an Admin or Supporter.");
  697.                         }
  698.                         if(IsInGroup(id,group)==1)
  699.                         {
  700.                             format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","userremgroupFail1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","userremgroupFail2"),group,dini_Get("PermissionsEx.cfg","userremgroupFail3"));
  701.                             return SendClientMessage(playerid,Rot,string);
  702.                         }
  703.                         else
  704.                         {
  705.                             format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","userremgroupOK1"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","userremgroupOK2"),group,dini_Get("PermissionsEx.cfg","userremgroupOK3"));
  706.                             return SendClientMessage(playerid,Grun,string);
  707.                         }
  708.                     }
  709.                     else
  710.                     {
  711.                         format(string,128,"%s%s%s%s%s",dini_Get("PermissionsEx.cfg","userremgroupFail4"),GetSpielerName(id),dini_Get("PermissionsEx.cfg","userremgroupFail5"),group,dini_Get("PermissionsEx.cfg","userremgroupFail6"));
  712.                         return SendClientMessage(playerid,Rot,string);
  713.                     }
  714.                 }
  715.             }
  716.         }
  717.     }
  718.     else
  719.     {
  720.         return SendClientMessage(playerid,Rot,dini_Get("PermissionsEx.cfg","PexDeny"));
  721.     }
  722. }
  723.  
  724. public OnRconCommand(cmd[])
  725. {
  726.     return 1;
  727. }
  728.  
  729. public OnPlayerRequestSpawn(playerid)
  730. {
  731.     return 1;
  732. }
  733.  
  734. public OnRconLoginAttempt(ip[], password[], success)
  735. {
  736.     return 1;
  737. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement