Advertisement
Jimmy_Washington

PermissionsEx by Jimmy_Washington

Sep 19th, 2013
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 18.08 KB | None | 0 0
  1. //Include
  2. #include <a_samp>
  3. #include <dini>
  4. #include <mysql_stock>
  5. #include <db_stock_pex>
  6. #include <string>
  7. #include <sscanf2>
  8.  
  9. #pragma dynamic 50000
  10.  
  11. new Mode;
  12.  
  13. stock HasPermissionGroup(group[],pex[])
  14. {
  15.     new perm[4096], cmd[512];
  16.     format(cmd,512,"%s-",pex);
  17.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  18.     {
  19.         Mode = 0;
  20.     }
  21.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  22.     {
  23.         Mode = 1;
  24.     }
  25.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  26.     {
  27.         Mode = 2;
  28.     }
  29.     else
  30.     {
  31.         Mode = 3;
  32.     }
  33.     if(Mode==1)
  34.     {
  35.         format(perm,4096,"%s",mysql_get("servergroup","permissions","name",group));
  36.         if(strfind(perm,cmd)>=0 || strfind(perm,"*",false)>=0)
  37.         {
  38.             return 1;
  39.         }
  40.         else
  41.         {
  42.             return 0;
  43.         }
  44.     }
  45.     else if(Mode==2)
  46.     {
  47.         new GDat[64];
  48.         format(GDat,64,"/Permissions/Group/%s.grp",group);
  49.         format(perm,4096,"%s",dini_Get(GDat,"Permissions"));
  50.         if(strfind(perm,cmd)>=0 || strfind(perm,"*",false)>=0)
  51.         {
  52.             return 1;
  53.         }
  54.         else
  55.         {
  56.             return 0;
  57.         }
  58.     }
  59.     else if(Mode==3)
  60.     {
  61.         format(perm,4096,"%s",db_get("servergroup","permissions","name",group));
  62.         if(strfind(perm,cmd)>=0 || strfind(perm,"*",false)>=0)
  63.         {
  64.             return 1;
  65.         }
  66.         else
  67.         {
  68.             return 0;
  69.         }
  70.     }
  71.     else
  72.     {
  73.         return 0;
  74.     }
  75. }
  76.  
  77. stock HasPermission(playerid,pex[])
  78. {
  79.     new cmd[512];
  80.     format(cmd,512,"%s-",pex);
  81.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  82.     {
  83.         Mode = 0;
  84.     }
  85.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  86.     {
  87.         Mode = 1;
  88.     }
  89.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  90.     {
  91.         Mode = 2;
  92.     }
  93.     else
  94.     {
  95.         Mode = 3;
  96.     }  
  97.     if(Mode==1)
  98.     {
  99.         if(strfind(mysql_get("user","permissions","name",GetSpielerName(playerid)),cmd)>=0 || strfind(mysql_get("user","permissions","name",GetSpielerName(playerid)),"*",false)>=0)
  100.         {
  101.             return 1;
  102.         }
  103.         else
  104.         {
  105.             if(strcmp(mysql_get("user","servergroup","name",GetSpielerName(playerid)),"-",false)==0)
  106.             {
  107.                 return 0;
  108.             }
  109.             else
  110.             {
  111.                 new endpos,i=0,string[4096],group[32];
  112.                 format(string,4096,"%s",mysql_get("user","servergroup","name",GetSpielerName(playerid)));
  113.                 while(endpos!=-1)
  114.                 {
  115.                     new startpos = strfind(string,"-");
  116.                     endpos = strfind(string,"-",false,startpos+1);
  117.                     strmid(group,string,startpos+1,endpos);
  118.                     strdel(string,startpos,endpos);
  119.                     if(HasPermissionGroup(group,pex)==1)
  120.                     {
  121.                         i = 1;
  122.                         break;
  123.                     }
  124.                     else
  125.                     {
  126.                         i = 0;
  127.                     }
  128.                 }
  129.                 return i;
  130.             }
  131.         }
  132.     }
  133.     else if(Mode==2)
  134.     {
  135.         new PlayerDat[64];
  136.         format(PlayerDat,64,"/Permissions/User/%s.pex",GetSpielerName(playerid));
  137.         if(strfind(dini_Get(PlayerDat,"Permissions"),cmd,false)>=0  || strfind(dini_Get(PlayerDat,"permissions"),"*",false)>=0)
  138.         {
  139.             return 1;
  140.         }
  141.         else
  142.         {
  143.             if(strcmp(dini_Get(PlayerDat,"Permissions"),"-",false)==0)
  144.             {
  145.                 return 0;
  146.             }
  147.             else
  148.             {
  149.                 new i=0,endpos,string[4096],group[32];
  150.                 format(string,4096,"%s",dini_Get(PlayerDat,"Permissions"));
  151.                 while(endpos!=-1)
  152.                 {
  153.                     new startpos = strfind(string,"-");
  154.                     endpos = strfind(string,"-",false,startpos+1);
  155.                     strmid(group,string,startpos+1,endpos);
  156.                     strdel(string,startpos,endpos);
  157.                     if(HasPermissionGroup(group,pex)==1)
  158.                     {
  159.                         i = 1;
  160.                         break;
  161.                     }
  162.                     else
  163.                     {
  164.                         i = 0;
  165.                     }
  166.                 }
  167.                 return i;
  168.             }
  169.         }
  170.     }
  171.     else if(Mode==3)
  172.     {
  173.         if(strfind(db_get("user","permissions","name",GetSpielerName(playerid)),cmd)>=0 || strfind(db_get("user","permissions","name",GetSpielerName(playerid)),"*",false)>=0)
  174.         {
  175.             print("1");
  176.             return 1;
  177.         }
  178.         else
  179.         {
  180.             if(strcmp(db_get("user","servergroup","name",GetSpielerName(playerid)),"-",false)==0)
  181.             {
  182.                 return 0;
  183.             }
  184.             else
  185.             {
  186.                 new i=0,endpos,string[4096],group[32];
  187.                 format(string,4096,"%s",db_get("user","servergroup","name",GetSpielerName(playerid)));
  188.                 while(endpos!=-1)
  189.                 {
  190.                     new startpos = strfind(string,"-");
  191.                     endpos = strfind(string,"-",false,startpos+1);
  192.                     strmid(group,string,startpos+1,endpos);
  193.                     strdel(string,startpos,endpos);
  194.                     if(HasPermissionGroup(group,pex)==1)
  195.                     {
  196.                         i = 1;
  197.                         break;
  198.                     }
  199.                     else
  200.                     {
  201.                         i = 0;
  202.                     }
  203.                 }
  204.                 return i;
  205.             }
  206.         }
  207.     }
  208.     else
  209.     {
  210.         return 0;
  211.     }
  212. }
  213.  
  214. stock GivePermission(playerid,pex[])
  215. {
  216.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  217.     {
  218.         Mode = 0;
  219.     }
  220.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  221.     {
  222.         Mode = 1;
  223.     }
  224.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  225.     {
  226.         Mode = 2;
  227.     }
  228.     else
  229.     {
  230.         Mode = 3;
  231.     }
  232.     if(strcmp(pex,"lkwnljwalnk",true)!=0)
  233.     {
  234.         if(Mode==1)
  235.         {
  236.             if(strcmp(mysql_get("user","name","name",GetSpielerName(playerid)),"0",true)==0)
  237.             {
  238.                 return 0;
  239.             }
  240.             else
  241.             {
  242.                 new string[4096];
  243.                 format(string,4096,"%s%s-",mysql_get("user","permissions","name",GetSpielerName(playerid)),pex);
  244.                 mysql_update("user","permissions",string,"name",GetSpielerName(playerid));
  245.                 if(strcmp(mysql_get("user","permissions","name",GetSpielerName(playerid)),"0",false)==0)
  246.                 {
  247.                     return 0;
  248.                 }
  249.                 else if(strcmp(mysql_get("user","permissions","name",GetSpielerName(playerid)),string,false)!=0)
  250.                 {
  251.                     return 0;
  252.                 }
  253.                 else
  254.                 {
  255.                     return 1;
  256.                 }
  257.             }
  258.         }
  259.         else if(Mode==2)
  260.         {
  261.             new PlayerDat[64], newpex[4096];
  262.             format(PlayerDat,64,"/Permissions/User/%s.pex",GetSpielerName(playerid));
  263.             format(newpex,4096,"%s%s-",dini_Get(PlayerDat,"Permissions"),pex);
  264.             dini_Set(PlayerDat,"Permissions",newpex);
  265.             if(strcmp(dini_Get(PlayerDat,"Permissions"),"0",true)==0)
  266.             {
  267.                 return 0;
  268.             }
  269.             else if(strcmp(dini_Get(PlayerDat,"Permissions"),newpex,false)==0 && strfind(dini_Get(PlayerDat,"Permissions"),pex)>=0)
  270.             {
  271.                 return 1;
  272.             }
  273.             else
  274.             {
  275.                 return 0;
  276.             }
  277.         }
  278.         else if(Mode==3)
  279.         {
  280.             if(strcmp(db_get("user","name","name",GetSpielerName(playerid)),"0",true)==0)
  281.             {
  282.                 return 0;
  283.             }
  284.             else
  285.             {
  286.                 new string[4096];
  287.                 format(string,4096,"%s%s-",db_get("user","permissions","name",GetSpielerName(playerid)),pex);
  288.                 db_update("user","permissions",string,"name",GetSpielerName(playerid));
  289.                 if(strcmp(db_get("user","permissions","name",GetSpielerName(playerid)),"0",false)==0)
  290.                 {
  291.                     return 0;
  292.                 }
  293.                 else if(strcmp(db_get("user","permissions","name",GetSpielerName(playerid)),string,false)!=0)
  294.                 {
  295.                     return 0;
  296.                 }
  297.                 else
  298.                 {
  299.                     return 1;
  300.                 }
  301.             }
  302.         }
  303.         else
  304.         {
  305.             return 0;
  306.         }
  307.     }
  308.     else
  309.     {
  310.         return 0;
  311.     }
  312. }
  313.  
  314. stock TakePermission(playerid,pex[])
  315. {
  316.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  317.     {
  318.         Mode = 0;
  319.     }
  320.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  321.     {
  322.         Mode = 1;
  323.     }
  324.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  325.     {
  326.         Mode = 2;
  327.     }
  328.     else
  329.     {
  330.         Mode = 3;
  331.     }
  332.     if(strcmp(pex,"jwdlkjnbawd",true)!=0)
  333.     {
  334.         if(Mode==1)
  335.         {
  336.             if(strcmp(mysql_get("user","name","name",GetSpielerName(playerid)),"0",true)==0)
  337.             {
  338.                 return 0;
  339.             }
  340.             else
  341.             {
  342.                 new string[4096];
  343.                 format(string,4096,"%s",mysql_get("user","permissions","name",GetSpielerName(playerid)));
  344.                 new startpos = strfind(string,pex);
  345.                 if(startpos>=0)
  346.                 {
  347.                     new endpos = strfind(string,"-",false,startpos);
  348.                     strdel(string,startpos-1,endpos);
  349.                     mysql_update("user","permissions",string,"name",GetSpielerName(playerid));
  350.                     if(strcmp(mysql_get("user","permissions","name",GetSpielerName(playerid)),"0",false)==0)
  351.                     {
  352.                         return 0;
  353.                     }
  354.                     else if(strcmp(mysql_get("user","permissions","name",GetSpielerName(playerid)),string,false)!=0)
  355.                     {
  356.                         return 0;
  357.                     }
  358.                     else
  359.                     {
  360.                         return 1;
  361.                     }
  362.                 }
  363.                 else
  364.                 {
  365.                     return 0;
  366.                 }
  367.             }
  368.         }
  369.         else if(Mode==2)
  370.         {
  371.             new PlayerDat[64], string[4096];
  372.             format(PlayerDat,64,"/Permissions/User/%s.pex",GetSpielerName(playerid));
  373.             format(string,4096,"%s",dini_Get(PlayerDat,"Permissions"));
  374.             new startpos = strfind(string,pex);
  375.             if(startpos>=0)
  376.             {
  377.                 new endpos = strfind(string,"-",false,startpos);
  378.                 strdel(string,startpos-1,endpos);
  379.                 dini_Set(PlayerDat,"Permissions",string);
  380.                 if(strcmp(dini_Get(PlayerDat,"Permissions"),"0",true)==0)
  381.                 {
  382.                     return 0;
  383.                 }
  384.                 else if(strcmp(dini_Get(PlayerDat,"Permissions"),string,false)==0 && strfind(dini_Get(PlayerDat,"Permissions"),pex)==-1)
  385.                 {
  386.                     return 1;
  387.                 }
  388.                 else
  389.                 {
  390.                     return 0;
  391.                 }
  392.             }
  393.             else
  394.             {
  395.                 return 0;
  396.             }
  397.         }
  398.         else if(Mode==3)
  399.         {
  400.             if(strcmp(db_get("user","name","name",GetSpielerName(playerid)),"0",true)==0)
  401.             {
  402.                 return 0;
  403.             }
  404.             else
  405.             {
  406.                 new string[4096];
  407.                 format(string,4096,"%s",db_get("user","permissions","name",GetSpielerName(playerid)));
  408.                 new startpos = strfind(string,pex);
  409.                 if(startpos>=0)
  410.                 {
  411.                     print("1");
  412.                     new endpos = strfind(string,"-",false,startpos);
  413.                     strdel(string,startpos-1,endpos);
  414.                     db_update("user","permissions",string,"name",GetSpielerName(playerid));
  415.                     if(strcmp(db_get("user","permissions","name",GetSpielerName(playerid)),"0",false)==0)
  416.                     {
  417.                         return 0;
  418.                     }
  419.                     else if(strcmp(db_get("user","permissions","name",GetSpielerName(playerid)),string,false)!=0)
  420.                     {
  421.                         return 0;
  422.                     }
  423.                     else
  424.                     {
  425.                         return 1;
  426.                     }
  427.                 }
  428.                 else
  429.                 {
  430.                     print("No found");
  431.                     return 0;
  432.                 }
  433.             }
  434.         }
  435.         else
  436.         {
  437.             return 0;
  438.         }
  439.     }
  440.     else
  441.     {
  442.         return 0;
  443.     }
  444. }
  445.  
  446. stock GivePermissionGroup(group[],pex[])
  447. {
  448.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  449.     {
  450.         Mode = 0;
  451.     }
  452.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  453.     {
  454.         Mode = 1;
  455.     }
  456.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  457.     {
  458.         Mode = 2;
  459.     }
  460.     else
  461.     {
  462.         Mode = 3;
  463.     }
  464.     if(strcmp(pex,"uwadkjbwadlk",true)!=0)
  465.     {
  466.         if(Mode==1)
  467.         {
  468.             if(strcmp(mysql_get("servergroup","name","name",group),"0",true)==0)
  469.             {
  470.                 return 0;
  471.             }
  472.             else
  473.             {
  474.                 new string[4096];
  475.                 format(string,4096,"%s%s-",mysql_get("servergroup","permissions","name",group),pex);
  476.                 mysql_update("servergroup","permissions",string,"name",group);
  477.                 if(strcmp(mysql_get("servergroup","permissions","name",group),"0",false)==0)
  478.                 {
  479.                     return 0;
  480.                 }
  481.                 else if(strcmp(mysql_get("servergroup","permissions","name",group),string,false)!=0)
  482.                 {
  483.                     return 0;
  484.                 }
  485.                 else
  486.                 {
  487.                     return 1;
  488.                 }
  489.             }
  490.         }
  491.         else if(Mode==2)
  492.         {
  493.             new GroupDat[64];
  494.             format(GroupDat,64,"/Permissions/Group/%s.grp",group);
  495.             if(dini_Exists(GroupDat))
  496.             {
  497.                 new string[4096];
  498.                 format(string,4096,"%s%s-",db_get("servergroup","permissions","name",group),pex);
  499.                 dini_Set(GroupDat,"Permissions",string);
  500.                 if(strcmp(dini_Get(GroupDat,"Permissions"),"0",true)==0 || strcmp(dini_Get(GroupDat,"Permissions"),string)!=0)
  501.                 {
  502.                     return 0;
  503.                 }
  504.                 else
  505.                 {
  506.                     return 1;
  507.                 }
  508.             }
  509.             else
  510.             {
  511.                 return 0;
  512.             }
  513.         }
  514.         else if(Mode==3)
  515.         {
  516.             if(strcmp(db_get("servergroup","name","name",group),"0",true)==0)
  517.             {
  518.                 return 0;
  519.             }
  520.             else
  521.             {
  522.                 new string[4096];
  523.                 format(string,4096,"%s%s-",db_get("servergroup","permissions","name",group),pex);
  524.                 db_update("servergroup","permissions",string,"name",group);
  525.                 if(strcmp(db_get("servergroup","permissions","name",group),"0",false)==0)
  526.                 {
  527.                     return 0;
  528.                 }
  529.                 else if(strcmp(db_get("servergroup","permissions","name",group),string,false)!=0)
  530.                 {
  531.                     return 0;
  532.                 }
  533.                 else
  534.                 {
  535.                     return 1;
  536.                 }
  537.             }
  538.         }
  539.         else
  540.         {
  541.             return 0;
  542.         }
  543.     }
  544.     else
  545.     {
  546.         return 0;
  547.     }
  548. }
  549.  
  550. stock TakePermissionGroup(group[],pex[])
  551. {
  552.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  553.     {
  554.         Mode = 0;
  555.     }
  556.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  557.     {
  558.         Mode = 1;
  559.     }
  560.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  561.     {
  562.         Mode = 2;
  563.     }
  564.     else
  565.     {
  566.         Mode = 3;
  567.     }
  568.     if(strcmp(pex,"lnkwdnlkj",true)!=0)
  569.     {
  570.         if(Mode==1)
  571.         {
  572.             if(strcmp(mysql_get("servergroup","name","name",group),"0",true)==0)
  573.             {
  574.                 return 0;
  575.             }
  576.             else
  577.             {
  578.                 new string[4096];
  579.                 format(string,4096,"%s",mysql_get("servergroup","permissions","name",group));
  580.                 new startpos = strfind(string,pex);
  581.                 if(startpos>=0)
  582.                 {
  583.                     new endpos = strfind(string,"-",false,startpos);
  584.                     strdel(string,startpos-1,endpos);
  585.                     mysql_update("servergroup","permissions",string,"name",group);
  586.                     if(strcmp(mysql_get("servergroup","permissions","name",group),"0",false)==0)
  587.                     {
  588.                         return 0;
  589.                     }
  590.                     else if(strcmp(mysql_get("servergroup","permissions","name",group),string,false)!=0)
  591.                     {
  592.                         return 0;
  593.                     }
  594.                     else
  595.                     {
  596.                         return 1;
  597.                     }
  598.                 }
  599.                 else
  600.                 {
  601.                     return 0;
  602.                 }
  603.             }
  604.         }
  605.         else if(Mode==2)
  606.         {
  607.             new GroupDat[64], string[4096];
  608.             format(GroupDat,64,"/Permissions/Group/%s.grp",group);
  609.             format(string,4096,"%s",dini_Get(GroupDat,"Permissions"));
  610.             new startpos = strfind(string,pex);
  611.             if(startpos>=0)
  612.             {
  613.                 new endpos = strfind(string,"-",false,startpos);
  614.                 strdel(string,startpos-1,endpos);
  615.                 dini_Set(GroupDat,"Permissions",string);
  616.                 if(strcmp(dini_Get(GroupDat,"Permissions"),"0",true)==0)
  617.                 {
  618.                     return 0;
  619.                 }
  620.                 else if(strcmp(dini_Get(GroupDat,"Permissions"),string,false)==0 && strfind(dini_Get(GroupDat,"Permissions"),pex)==-1)
  621.                 {
  622.                     return 1;
  623.                 }
  624.                 else
  625.                 {
  626.                     return 0;
  627.                 }
  628.             }
  629.             else
  630.             {
  631.                 return 0;
  632.             }
  633.         }
  634.         else if(Mode==3)
  635.         {
  636.             if(strcmp(db_get("servergroup","name","name",group),"0",true)==0)
  637.             {
  638.                 return 0;
  639.             }
  640.             else
  641.             {
  642.                 new string[4096];
  643.                 format(string,4096,"%s",db_get("servergroup","permissions","name",group));
  644.                 new startpos = strfind(string,pex);
  645.                 if(startpos>=0)
  646.                 {
  647.                     new endpos = strfind(string,"-",false,startpos);
  648.                     strdel(string,startpos-1,endpos);
  649.                     db_update("servergroup","permissions",string,"name",group);
  650.                     if(strcmp(db_get("servergroup","permissions","name",group),"0",false)==0)
  651.                     {
  652.                         return 0;
  653.                     }
  654.                     else if(strcmp(db_get("servergroup","permissions","name",group),string,false)!=0)
  655.                     {
  656.                         return 0;
  657.                     }
  658.                     else
  659.                     {
  660.                         return 1;
  661.                     }
  662.                 }
  663.                 else
  664.                 {
  665.                     return 0;
  666.                 }
  667.             }
  668.         }
  669.         else
  670.         {
  671.             return 0;
  672.         }
  673.     }
  674.     else
  675.     {
  676.         return 0;
  677.     }
  678. }
  679.  
  680. stock IsInGroup(playerid,group[])
  681. {
  682.     new string[4096];
  683.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  684.     {
  685.         Mode = 0;
  686.     }
  687.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  688.     {
  689.         Mode = 1;
  690.     }
  691.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  692.     {
  693.         Mode = 2;
  694.     }
  695.     else
  696.     {
  697.         Mode = 3;
  698.     }
  699.     if(Mode==1)
  700.     {
  701.         format(string,4096,"%s",mysql_get("user","servergroup","name",GetSpielerName(playerid)));
  702.         if(strfind(string,group)>=0)
  703.         {
  704.             return 1;
  705.         }
  706.         else
  707.         {
  708.             return 0;
  709.         }
  710.     }
  711.     else if(Mode==2)
  712.     {
  713.         new PlayerDat[64];
  714.         format(PlayerDat,64,"/Permissions/User/%s.pex",GetSpielerName(playerid));
  715.         format(string,4096,"%s",dini_Get(PlayerDat,"servergroup"));
  716.         if(strfind(string,group)>=0)
  717.         {
  718.             return 1;
  719.         }
  720.         else
  721.         {
  722.             return 0;
  723.         }
  724.     }
  725.     else if(Mode==3)
  726.     {
  727.         format(string,4096,"%s",db_get("user","servergroup","name",GetSpielerName(playerid)));
  728.         if(strfind(string,group)>=0)
  729.         {
  730.             return 1;
  731.         }
  732.         else
  733.         {
  734.             return 0;
  735.         }
  736.     }
  737.     else
  738.     {
  739.         return 0;
  740.     }
  741. }
  742.  
  743. stock DeleteAllFromGroup(group[])
  744. {
  745.     if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"0",true)==0)
  746.     {
  747.         Mode = 0;
  748.     }
  749.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"MySQL",true)==0)
  750.     {
  751.         Mode = 1;
  752.     }
  753.     else if(strcmp(dini_Get("PermissionsEx.cfg","Mode"),"File",true)==0)
  754.     {
  755.         Mode = 2;
  756.     }
  757.     else
  758.     {
  759.         Mode = 3;
  760.     }
  761.     if(Mode==1)
  762.     {
  763.         new string[4096];
  764.         format(string,4096,"%s",mysql_get("servergroup","user","name",group));
  765.         if(strcmp(string,"-",false)==0)
  766.         {
  767.             return 0;
  768.         }
  769.         else
  770.         {
  771.             new endpos,user[32];
  772.             while(endpos!=-1)
  773.             {
  774.                 new startpos = strfind(string,"-");
  775.                 endpos = strfind(string,"-",false,startpos+1);
  776.                 strmid(user,string,startpos+1,endpos);
  777.                 new groupstring[4096];
  778.                 format(groupstring,4096,"%s",mysql_get("user","servergroup","name",user));
  779.                 new stpos = strfind(groupstring,group);
  780.                 new epos = strfind(groupstring,"-",false,stpos);
  781.                 strdel(groupstring,stpos,epos+1);
  782.                 mysql_update("user","servergroup",groupstring,"name",user);
  783.                 strdel(string,startpos,endpos);
  784.             }
  785.             return 1;
  786.         }
  787.     }
  788.     else if(Mode==2)
  789.     {
  790.         new string[4096],GroupDat[64],PlayerDat[64];
  791.         format(GroupDat,64,"/Permissions/Group/%s.grp",group);
  792.         format(string,4096,"%s",dini_Get(GroupDat,"user"));
  793.         if(strcmp(string,"-",false)==0)
  794.         {
  795.             return 0;
  796.         }
  797.         else
  798.         {
  799.             new endpos,user[32];
  800.             while(endpos!=-1)
  801.             {
  802.                 new startpos = strfind(string,"-");
  803.                 endpos = strfind(string,"-",false,startpos+1);
  804.                 strmid(user,string,startpos+1,endpos);
  805.                 format(PlayerDat,64,"/Permissions/Group/%s.pex",user);
  806.                 new groupstring[4096];
  807.                 format(groupstring,4096,"%s",dini_Get(PlayerDat,"servergroup"));
  808.                 new stpos = strfind(groupstring,group);
  809.                 new epos = strfind(groupstring,"-",false,stpos);
  810.                 strdel(groupstring,stpos,epos+1);
  811.                 dini_Set(PlayerDat,"servergroup",groupstring);
  812.                 strdel(string,startpos,endpos);
  813.             }
  814.             return 1;
  815.         }
  816.     }
  817.     else if(Mode==3)
  818.     {
  819.         new string[4096];
  820.         format(string,4096,"%s",db_get("servergroup","user","name",group));
  821.         if(strcmp(string,"-",false)==0)
  822.         {
  823.             return 0;
  824.         }
  825.         else
  826.         {
  827.             new endpos,user[32];
  828.             while(endpos!=-1)
  829.             {
  830.                 new startpos = strfind(string,"-");
  831.                 endpos = strfind(string,"-",false,startpos+1);
  832.                 strmid(user,string,startpos+1,endpos);
  833.                 new groupstring[4096];
  834.                 format(groupstring,4096,"%s",db_get("user","servergroup","name",user));
  835.                 new stpos = strfind(groupstring,group);
  836.                 new epos = strfind(groupstring,"-",false,stpos);
  837.                 strdel(groupstring,stpos,epos+1);
  838.                 db_update("user","servergroup",groupstring,"name",user);
  839.                 strdel(string,startpos,endpos);
  840.             }
  841.             return 1;
  842.         }
  843.     }
  844.     else
  845.     {
  846.         return 0;
  847.     }
  848. }
  849.  
  850. stock GetSpielerName(playerid)
  851. {
  852.     new get[32];
  853.     GetPlayerName(playerid,get,32);
  854.     return get;
  855. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement