Advertisement
wenom18

VIP Systém v.1 by Wenom18

Jun 26th, 2013
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.25 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4. new VIP[MAX_PLAYERS];
  5. new VHEAL[MAX_PLAYERS];
  6. new VARMOR[MAX_PLAYERS];
  7. new TABLETA[MAX_PLAYERS];
  8.  
  9. #define CheckTime 1
  10. #define VIP_F "VIP/%s.txt" //cesta k VIP Souboru
  11. #define DIALOG_VIP 2006 //Dialog s popisem VIP Scriptu
  12. #define DIALOG_VIPS 2005 //Dialog s VIP Hracema
  13.  
  14. #define F_CERVENA 0xFF0000AA
  15. #define orange 0xFF9900AA
  16.  
  17. #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
  18.  
  19. public OnFilterScriptInit()
  20. {
  21.     print("\n--------------------------------------");
  22.     print(" VIP System - By Wenom18 skype: pata011 ");
  23.     print("--------------------------------------\n");
  24.     return 1;
  25. }
  26.  
  27.  
  28. public OnPlayerConnect(playerid)
  29. {
  30.     new cesta[50];
  31.     format(cesta,50,"VIP/%s.sav",PlayerName(playerid));
  32.     VIP[playerid] = dini_Int(cesta,"VIP");
  33.    
  34.     if(VIP[playerid] == 1) return SendClientMessage(playerid, F_CERVENA,"Máš aktivovaný VIP účet");
  35.     if(VIP[playerid] == 0) return SendClientMessage(playerid, F_CERVENA,"Nemáš aktivovaný VIP účet");
  36.     if(VIP[playerid] == 1){
  37.     new str[100];
  38.     format(str, 100, "- VIP Hráč %s se připojil na server!",PlayerName(playerid));
  39.     SendClientMessageToAll(F_CERVENA, str);
  40.     }
  41.    
  42.     return 1;//vytvor zložku VIP v scriptfiles a bude to ťahať
  43. }
  44.  
  45. public OnPlayerDisconnect(playerid, reason)
  46. {
  47.     if(VIP[playerid] == 1){
  48.     new str[100];
  49.     format(str, 100, "- VIP Hráč %s se odpojil od serveru!",PlayerName(playerid));
  50.     SendClientMessageToAll(F_CERVENA, str);
  51.     }
  52.    
  53.     new cesta[50];
  54.     format(cesta,50,"VIP/%s.sav",PlayerName(playerid));
  55.     if(!dini_Exists(cesta))
  56.     {
  57.         dini_Create(cesta);
  58.     }
  59.     else
  60.     {
  61.         dini_IntSet(cesta,"VIP",VIP[playerid]);
  62.     }
  63.     return 1;
  64. }
  65.  
  66. public OnPlayerSpawn(playerid)
  67. {
  68.     if(VIP[playerid] == 1) return SetPlayerArmour(playerid, 100);
  69.     if(VIP[playerid] == 1) return SendClientMessage(playerid,-1,"{FF0000}Dostal jsi vestu, protože jsi VIP");
  70.     return 1;
  71. }
  72.  
  73. public OnPlayerDeath(playerid, killerid, reason)
  74. {
  75.     if(VIP[playerid] == 1){
  76.     new Float:X,Float:Y,Float:Z;
  77.     GetPlayerPos(playerid, X,Y,Z);
  78.     CreateExplosion(X,Y,Z,1,5);
  79.     }
  80.     return 1;
  81. }
  82.  
  83. public OnPlayerCommandText(playerid, cmdtext[])
  84. {
  85.     dcmd(vips, 4, cmdtext);
  86.     dcmd(vip, 3, cmdtext);
  87.     dcmd(setvip, 6, cmdtext);
  88.     dcmd(vheal, 5, cmdtext);//nacasovano
  89.     dcmd(varmor, 6, cmdtext);//nacasovano
  90.     dcmd(vr, 2, cmdtext);
  91.     dcmd(tableta, 7, cmdtext);//nacasovano
  92.     dcmd(nos, 3, cmdtext);
  93.     dcmd(flip, 4, cmdtext);
  94.     dcmd(nickcolor, 9, cmdtext);
  95.     dcmd(skin, 4, cmdtext);
  96.     return 0;
  97. }
  98.  
  99.  
  100. dcmd_setvip(playerid, params[])
  101. {
  102.     new ID = strval(params);
  103.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, F_CERVENA,"[ ! ] {ffffff}Nejsi přihlášen přes {ff0000}RCON{ffffff}!");
  104.     if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, F_CERVENA,"[ ! ] {ffffff}Toto ID neni připojeno!");
  105.     if(VIP[ID] == 0)
  106.     {
  107.             VIP[playerid] =1;
  108.             new str[100];
  109.             format(str, 100, "Hráči %s byl přidělen VIP účet!",PlayerName(ID));
  110.             SendClientMessageToAll(F_CERVENA, str);
  111.             new file[100];
  112.             format(file,sizeof(file),VIP_F,PlayerName(ID));
  113.             dini_Create(file);
  114.     }
  115.     else if(VIP[ID] == 1)
  116.     {
  117.             VIP[playerid] =0;
  118.             new str[100];
  119.             format(str, 100, "Hráči %s byl odebrán VIP účet!",PlayerName(ID));
  120.             SendClientMessageToAll(F_CERVENA, str);
  121.             new file[100];
  122.             format(file,sizeof(file),VIP_F,PlayerName(ID));
  123.             dini_Remove(file);
  124.     }
  125.     return 1;
  126. }
  127.  
  128. dcmd_vheal(playerid, params[])
  129. {
  130.     #pragma unused params
  131.     if(VIP[playerid] == 1)
  132.     {
  133.         if(VHEAL[playerid] == 1) return SendClientMessage(playerid,F_CERVENA,"Tento příkaz můžeš použít jednou za 5 minut.");
  134.         VHEAL[playerid] = 1;
  135.         SetPlayerHealth(playerid,100);
  136.         SetTimerEx("VhealTimer", 300000, false, "i", playerid);
  137.         return SendClientMessage(playerid,F_CERVENA,"Dostal jsi plné HP");
  138.     } else return SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  139. }
  140.  
  141. forward VhealTimer();
  142. public VhealTimer()
  143. {
  144.     for(new i; i<MAX_PLAYERS; i++)
  145.     {
  146.         VHEAL[i] = 0;
  147.         SendClientMessage(i,F_CERVENA,"Můžeš znovu použít příkaz /vheal");
  148.     }
  149.     return 1;
  150. }
  151.  
  152. dcmd_flip(playerid,params[])
  153. {
  154.     #pragma unused params
  155.     if(VIP[playerid] == 1)
  156.     {
  157.         if(IsPlayerInAnyVehicle(playerid))
  158.         {
  159.             new VehicleID, Float:X, Float:Y, Float:Z;
  160.             GetPlayerPos(playerid, X, Y, Z);
  161.             VehicleID = GetPlayerVehicleID(playerid);
  162.             SetVehiclePos(VehicleID, X, Y, Z);
  163.             SetVehicleZAngle(VehicleID, 0);
  164.             return SendClientMessage(playerid,F_CERVENA,"Auto flipováno");
  165.         } else return SendClientMessage(playerid,F_CERVENA,"Nejsi ve vozidle");
  166.     } else return SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  167. }
  168.  
  169. dcmd_varmor(playerid, params[])
  170. {
  171.     #pragma unused params
  172.     if(VIP[playerid] == 1)
  173.     {
  174.         if(VARMOR[playerid] == 1) return SendClientMessage(playerid,F_CERVENA,"Tento příkaz můžeš použít jednou za 3 minuty.");
  175.         VARMOR[playerid] = 1;
  176.         SetPlayerArmour(playerid,100);
  177.         SetTimerEx("VarmorTimer", 180000, false, "i", playerid);
  178.         return SendClientMessage(playerid,F_CERVENA,"Dostal jsi plný Armor");
  179.     } else return SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  180. }
  181.  
  182. forward VarmorTimer();
  183. public VarmorTimer()
  184. {
  185.     for(new i; i<MAX_PLAYERS; i++)
  186.     {
  187.         VARMOR[i] = 0;
  188.         SendClientMessage(i,F_CERVENA,"Můžeš znovu použít příkaz /varmor");
  189.     }
  190.     return 1;
  191. }
  192.  
  193. dcmd_nos(playerid,params[]) {
  194.     #pragma unused params
  195.     if(VIP[playerid] == 1)
  196.      {
  197.         if(IsPlayerInAnyVehicle(playerid)) {
  198.             switch(GetVehicleModel( GetPlayerVehicleID(playerid) )) {
  199.                 case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  200.                 return SendClientMessage(playerid,F_CERVENA,"Nemuzes dat nitro do tohoto vozidla!");
  201.             }
  202.             AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  203.             return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  204.         } else return SendClientMessage(playerid,F_CERVENA,"Musis byt ve vozidle.");
  205.     } else return SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  206. }
  207.  
  208. dcmd_skin(playerid, params[])
  209. {
  210.     if(VIP[playerid] == 1)
  211.     {
  212.         new id = strval(params);
  213.         if(!strval(params)) return SendClientMessage(playerid, F_CERVENA, "/skin [skin id]");
  214.         if(id < 0 || id > 299) return SendClientMessage(playerid, F_CERVENA, "Rozmezí skinu je 0 - 299 !");
  215.         SetPlayerSkin(playerid, id);
  216.     } else SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  217.     return 1;
  218. }
  219.  
  220. dcmd_tableta(playerid, params[])
  221. {
  222.     #pragma unused params
  223.     if(VIP[playerid] == 1)
  224.     {
  225.         if(TABLETA[playerid] == 1) return SendClientMessage(playerid,F_CERVENA,"Tento příkaz můžeš použít jednou za 1 minutu.");
  226.         TABLETA[playerid] = 1;
  227.         new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); CreatePickup(1241, 4, x, y, z);
  228.         SetTimerEx("TabletaTimer", 60000, false, "i", playerid);
  229.         return SendClientMessage(playerid,F_CERVENA," Použil jsi příkaz tableta");
  230.     } else return SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  231. }
  232.  
  233. forward TabletaTimer();
  234. public TabletaTimer()
  235. {
  236.     for(new i; i<MAX_PLAYERS; i++)
  237.     {
  238.         TABLETA[i] = 0;
  239.         SendClientMessage(i,F_CERVENA,"Můžeš znovu použít příkaz /tableta");
  240.     }
  241.     return 1;
  242. }
  243.  
  244. dcmd_nickcolor(playerid, params[])
  245. {
  246.     #pragma unused params
  247.     if(VIP[playerid] == 1)// nič to nerobí ? :OOO
  248.     {
  249.         ShowPlayerDialog(playerid, 50, DIALOG_STYLE_LIST, "Color Menu", "Fialová\nŽlutá\nČervená\nSvětlemodrá\nModrá\nOranžová\nZelená\nIndigo\nŽůžová\nČerná\nSvětlezelená\nSvětlečervená\nTan\nLime", "Ok", "Cancel");
  250.         return 1;
  251.  
  252.     } else return SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  253. }
  254.  
  255. dcmd_vr(playerid, params[])
  256. {
  257.     #pragma unused params
  258.     if(VIP[playerid] == 1)
  259.     {
  260.         if (IsPlayerInAnyVehicle(playerid)) {
  261.             SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
  262.             return SendClientMessage(playerid,F_CERVENA,"Vozidlo opraveno");
  263.         } else return SendClientMessage(playerid,F_CERVENA,"Nejsi ve vozidle");
  264.     } else return SendClientMessage(playerid, F_CERVENA, "[ ! ] {ffffff}Nevlastníš {ffff00}VIP{ffffff} účet!");
  265. }
  266.  
  267. dcmd_vip(playerid, params[])
  268. {
  269.     #pragma unused params
  270. new string[2000];
  271. strcat(string, "{FFA500}========= |VIP SYSTEM vytvořil {FF0000}Wenom18 {FFA500}|=========\n");
  272. strcat(string, "{FFA500}/nos {FFFFFF}- Dá vám do vozidla nitro\n");
  273. strcat(string, "{FFA500}/vheal {FFFFFF}- Doplní vám HP\n");
  274. strcat(string, "{FFA500}/varmor {FFFFFF}- Doplní vám vestu\n");
  275. strcat(string, "{FFA500}/skin {FFFFFF}- Nastavíte si váš skin\n");
  276. strcat(string, "{FFA500}/nickcolor {FFFFFF}- Nastavíte si barvu nicku\n");
  277. strcat(string, "{FFA500}/flip {FFFFFF}- Převráti vaše vozidlo opět na kola a opraví ho\n");
  278. strcat(string, "{FFA500}/vr {FFFFFF}- Opraví vám auto\n");
  279. strcat(string, "{FFA500}/tableta {FFFFFF}- Dodá vám rychlost\n");
  280. strcat(string, "{FFA500}- VIP po smrti exploduje\n");
  281. strcat(string, "{FFA500}- Další výhody již brzy\n");
  282. ShowPlayerDialog(playerid,DIALOG_VIP,DIALOG_STYLE_MSGBOX,"VIP Výhody",string,"Ok","");
  283. return 1;
  284. }
  285.  
  286.  
  287. dcmd_vips(playerid, params[])
  288. {
  289.     #pragma unused params
  290.     new str[2000];
  291.     ShowPlayerDialog(playerid,DIALOG_VIPS,DIALOG_STYLE_MSGBOX,"Online VIP","Žádné VIP není online!","Ok","");
  292.     for (new i; i<MAX_PLAYERS; i++)
  293.     {
  294.     if(VIP[i] == 1)
  295.     {
  296.     format(str,sizeof(str), "{FFFFFF}%s %s -> {FF0000}VIP{FFFFFF}\r\n\n",str,PlayerName(i));
  297.     }}
  298.     ShowPlayerDialog(playerid,DIALOG_VIPS,DIALOG_STYLE_MSGBOX,"Online VIP",str,"Ok","");
  299.     return 1;
  300. }
  301.  
  302. stock PlayerName(playerid)
  303. {
  304.     new name[255];
  305.     GetPlayerName(playerid, name, 255);
  306.     return name;
  307. }
  308.  
  309.  
  310. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  311. {
  312.     if(dialogid == 50)
  313.     {
  314.         if(response == 1)
  315.         {
  316.             if(listitem == 0)
  317.             {
  318.                 SetPlayerColor(playerid, 0x800080AA);
  319.             }
  320.             else if(listitem == 1)
  321.             {
  322.                 SetPlayerColor(playerid, 0xFFFF00AA);
  323.             }
  324.             else if(listitem == 2)
  325.             {
  326.                 SetPlayerColor(playerid, 0xff0000ff);
  327.             }
  328.             else if(listitem == 3)
  329.             {
  330.                 SetPlayerColor(playerid, 0x33CCFFAA);
  331.             }
  332.             else if(listitem == 4)
  333.             {
  334.                 SetPlayerColor(playerid, 0xFF9900AA);
  335.             }
  336.             else if(listitem == 5)
  337.             {
  338.                 SetPlayerColor(playerid,0x0000FFFF);
  339.             }
  340.             else if(listitem == 6)
  341.             {
  342.                 SetPlayerColor(playerid, 0x33AA33AA);
  343.             }
  344.             else if(listitem == 7)
  345.             {
  346.                 SetPlayerColor(playerid, 0x4B00B0AA);
  347.             }
  348.             else if(listitem == 8)
  349.             {
  350.                 SetPlayerColor(playerid, 0xFF66FFAA);
  351.             }
  352.             else if(listitem == 9)
  353.             {
  354.                 SetPlayerColor(playerid, 0x00000000);
  355.             }
  356.             else if(listitem == 10)
  357.             {
  358.                 SetPlayerColor(playerid, 0x7CFC00AA);
  359.             }
  360.             else if(listitem == 11)
  361.             {
  362.                 SetPlayerColor(playerid, 0xE60000FF);
  363.             }
  364.             else if(listitem == 12)
  365.             {
  366.                 SetPlayerColor(playerid, 0xFFFFCCAA);
  367.             }
  368.             else if(listitem == 13)
  369.             {
  370.                 SetPlayerColor(playerid, 0x99FF00AA);
  371.             }
  372.             else if(listitem == 14)
  373.             {
  374.                 SetPlayerColor(playerid, 0x9955DEEE);
  375.             }
  376.         }
  377.     }
  378.     return 0;
  379. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement