Guest User

Bebro Admin sistema. Source code.

a guest
Jul 24th, 2013
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.31 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_commands>
  3. #include <YSI\y_master>
  4. #include <sscanf2>
  5.  
  6. #define RED     0xFF0000FF
  7. #define ORANGE  0xFF8000FF
  8. #define YELLOW  0xFFFF00FF
  9. #define GREEN   0x00FF00FF
  10.  
  11. native IsValidVehicle(vehicleid);
  12.  
  13. static a_level[MAX_PLAYERS][21];
  14. static a_transport[MAX_PLAYERS];
  15.  
  16. main()
  17. {
  18.     print("\n\nBebro admin sistema pakrauta");
  19. }
  20.  
  21. public OnFilterScriptInit()
  22. {
  23.     new File:file;
  24.     file=fopen("users.cfg",io_readwrite);
  25.     fwrite(file,"/*\r\nBebro Admin sistema\r\nLeidimai\r\n \
  26.     a - Komanda ismesti\r\n \
  27.     b - Komanda Ban\r\n \
  28.     c - Komandos global/adminu\r\n \
  29.     d - Komandos to/get \
  30.     e - Komanda tr \r\n\r\n \
  31.     Naudojimas: Žaidėjo_vardas_be_tarpų \"Žaidėjo titulas(iki 20simbolių)\" leidimai_be_tarpų\r\n\r\n \
  32.     PVZ:\r\n\r\nBebras \"Dievas\" abcd\r\n \
  33.     Tai leistų vartotojui \"Bebras\"naudoti visas 4 komandas\r\n\r\n\r\n \
  34.     Laukite naujų versijų!*/");
  35.     fclose(file);
  36.     return 1;
  37. }
  38. public OnPlayerConnect(playerid)
  39. {
  40.     new pname[MAX_PLAYER_NAME],File:file=fopen("users.cfg",io_read),string[64];
  41.     GetPlayerName(playerid,pname,sizeof(pname));
  42.     while(fread(file,string))
  43.     {
  44.         new index = strfind(string,pname);
  45.         if(index != -1)
  46.         {
  47.             strdel(string,index,strlen(pname));
  48.             index = strfind(string,"\"");//"
  49.             new index2 = strfind(string,"\"",true,index+1); //"
  50.             if(index != -1 && index2 != -1)
  51.             {
  52.                 strmid(a_level[playerid],string,index+1,index2);
  53.                 strdel(string,index,index2+1);
  54.             }
  55.             else strins(a_level[playerid],"Administratorius",0);
  56.             if(strfind(string,"a") != -1) Command_SetPlayerNamed("ismesti",playerid,true);
  57.             if(strfind(string,"b") != -1) Command_SetPlayerNamed("ban",playerid,true);
  58.             if(strfind(string,"c") != -1)
  59.             {
  60.                 Command_SetPlayerNamed("global",playerid,true);
  61.                 Command_SetPlayerNamed("adminu",playerid,true);
  62.             }
  63.             if(strfind(string,"d") != -1)
  64.             {
  65.                 Command_SetPlayerNamed("to",playerid,true);
  66.                 Command_SetPlayerNamed("get",playerid,true);
  67.             }
  68.             if(strfind(string,"e") != -1) Command_SetPlayerNamed("tr",playerid,true);
  69.             fclose(file);
  70.             return 1;
  71.         }
  72.     }      
  73.     Command_SetPlayerNamed("ismesti",playerid,false);
  74.     Command_SetPlayerNamed("ban",playerid,false);
  75.     Command_SetPlayerNamed("global",playerid,false);
  76.     Command_SetPlayerNamed("adminu",playerid,false);
  77.     Command_SetPlayerNamed("to",playerid,false);
  78.     Command_SetPlayerNamed("get",playerid,false);
  79.     Command_SetPlayerNamed("tr",playerid,false);
  80.     fclose(file);
  81.     return 1;
  82. }
  83. public OnPlayerDisconnect(playerid,reason)
  84. {
  85.     if(IsValidVehicle(a_transport[playerid])) DestroyVehicle(a_transport[playerid]);
  86.     return 1;
  87. }
  88. public OnPlayerExitVehicle(playerid,vehicleid)
  89. {
  90.     if(vehicleid == a_transport[playerid]) DestroyVehicle(a_transport[playerid]);
  91.     return 1;
  92. }
  93. YCMD:to(playerid,params[],help)
  94. {
  95.     new id,Float:pos[3];
  96.     if(help) return SendClientMessage(playerid,ORANGE,"Komanda nukelia jus pas nurodytą žaidėją");
  97.     else if(sscanf(params,"u",id)) return SendClientMessage(playerid,ORANGE,"Naudojimas /to [ŽaidėjoID/DalisVardo]");
  98.     else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,RED,"Tokio žaidėjo nėra");
  99.     GetPlayerPos(id,pos[0],pos[1],pos[2]);
  100.     if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid),pos[0],pos[1],pos[2]+2);
  101.     else SetPlayerPos(playerid,pos[0],pos[1],pos[2]+2);
  102.     return 1;
  103. }
  104. YCMD:get(playerid,params[],help)
  105. {
  106.     new id,Float:pos[3];
  107.     if(help) return SendClientMessage(playerid,ORANGE,"Komanda atkels žaidėją prie jūsų");
  108.     else if(sscanf(params,"u",id)) return SendClientMessage(playerid,ORANGE,"Naudojimas /get [ŽaidėjoID/DalisVardo]");
  109.     else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,RED,"Tokio žaidėjo nėra");
  110.     GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  111.     if(GetPlayerState(id)==PLAYER_STATE_DRIVER) SetVehiclePos(GetPlayerVehicleID(id),pos[0],pos[1],pos[2]+2);
  112.     else SetPlayerPos(id,pos[0],pos[1],pos[2]);
  113.     SendClientMessage(id,GREEN,"Jūs buvote nuteleportuotas administratoriaus");
  114.     return 1;
  115. }
  116. YCMD:ban(playerid,params[],help)
  117. {
  118.     new id,reason[80],string[128],name[MAX_PLAYER_NAME];
  119.     if(help) return SendClientMessage(playerid,ORANGE,"Komanda uždraudžia žaidėjui lankytis serveryje su priežastimi");
  120.     else if(sscanf(params,"us[80]",id,reason)) return SendClientMessage(playerid,ORANGE,"Naudojimas  /ban [ŽaidėjoID/DalisVardo] [Priežastis]");
  121.     else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,RED,"Tokio žaidėjo nėra");
  122.     GetPlayerName(playerid,string,sizeof(string));
  123.     GetPlayerName(id,name,sizeof(name));
  124.     format(string,sizeof(string),"{000000}[Serveris]{FF00FF}%s %s užbanino %s, priežastis:%s",a_level,string,name,reason);
  125.     SendClientMessageToAll(GREEN,string);
  126.     print(string);
  127.     SetTimerEx("DelayBan",3000,false,"i",id);
  128.     return 1;
  129. }
  130.  
  131. YCMD:global(playerid,params[],help)
  132. {
  133.     if(help) return SendClientMessage(playerid,ORANGE,"Komanda nusiunčia žinutę visiems žaidėjams");
  134.     else if(isnull(params)) return SendClientMessage(playerid,ORANGE,"Naudojimas /global [Žinutė]");
  135.     new string[128];
  136.     GetPlayerName(playerid,string,sizeof(string));
  137.     format(string,sizeof(string),"![%s]%s:%s",a_level[playerid],string,params);
  138.     SendClientMessageToAll(GREEN,string);
  139.     return 1;
  140. }
  141.    
  142. YCMD:tr(playerid,params[],help)
  143. {
  144.     new vehid,Float:pos[4];
  145.     if(help) return SendClientMessage(playerid,ORANGE,"Komanda išspawnins transporto priemonę pagal ID");
  146.     else if(sscanf(params,"d",vehid)) return SendClientMessage(playerid,ORANGE,"Naudojimas /tr [TransportoPriemonėsID]");
  147.     else if(vehid > 611 || vehid < 400) return SendClientMessage(playerid,ORANGE,"Galimi transporto priemonių ID: 400-611");
  148.     else if(IsValidVehicle(a_transport[playerid])) DestroyVehicle(a_transport[playerid]);
  149.     GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  150.     if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid),pos[3]);
  151.     else GetPlayerFacingAngle(playerid,pos[3]);
  152.     PutPlayerInVehicle(playerid,a_transport[playerid],0);
  153.     a_transport[playerid] = CreateVehicle(vehid,pos[0],pos[1],pos[2],pos[3],random(255),random(255),-1);
  154.     return 1;
  155. }
  156. YCMD:adminu(playerid,params[],help)
  157. {
  158.     if(help) return SendClientMessage(playerid,ORANGE,"Komanda nusiunčia žinutę kitiems administratoriams");
  159.     else if(isnull(params)) return SendClientMessage(playerid,ORANGE,"Naudojimas /adminu [Žinutė]");
  160.     new string[128];
  161.     GetPlayerName(playerid,string,sizeof(string));
  162.     format(string,sizeof(string),"[Administracija]%s sako:%s",string,params);
  163.     for(new i; i<MAX_PLAYERS; i++)
  164.     {
  165.         if(IsPlayerConnected(i) && !isnull(a_level[playerid])) SendClientMessage(i,GREEN,string);
  166.     }
  167.     return 1;
  168. }
  169.  
  170. YCMD:ismesti(playerid,params[],help)
  171. {
  172.     new id,reason[100];
  173.     if(help) return SendClientMessage(playerid,ORANGE,"Išmeta žaidėja iš serverio");
  174.     else if(sscanf(params,"us[100]",id,reason)) return SendClientMessage(playerid,ORANGE,"Naudojimas: /ismesti [ŽaidėjoID/DalisVardo] [Priežastis]");
  175.     else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,RED,"Tokio žaidėjo nėra");
  176.     new string[128],name[MAX_PLAYER_NAME];
  177.     GetPlayerName(playerid,string,sizeof(string));
  178.     GetPlayerName(id,name,sizeof(name));
  179.     format(string,sizeof(string),"{000000}[Serveris]{FF00FF}%s %s išmetė %s, priežastis:%s",a_level[playerid],string,name,reason);
  180.     SendClientMessageToAll(GREEN,string);
  181.     return 1;
  182. }
  183. forward BanDelay(playerid);
  184. public BanDelay(playerid)
  185. {
  186.     Ban(playerid);
  187.     return 1;
  188. }
Advertisement
Add Comment
Please, Sign In to add comment