Guest User

Premium

a guest
Oct 17th, 2010
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.02 KB | None | 0 0
  1. // SunnyBoy's Premium Players script
  2. #include <a_samp>
  3. #include <zcmd>
  4. #include <dini>
  5. #include <sscanf>
  6. #include <dudb>
  7. #include <core>
  8. #include <string>
  9. #include <file>
  10. #include <time>
  11. #include <datagram>
  12. #include <a_players>
  13. #include <a_vehicles>
  14. #include <a_objects>
  15. #include <a_samp>
  16. #include <dutils>
  17. #include <float>
  18.  
  19. //Defines
  20. #define red 0xE21F1FFF
  21. #define yellow 0xFFFF00FF
  22. #define blue 0x1229FAFF
  23. #define orange 0xF97804FF
  24. #define grey 0xCECECEFF
  25. #define gold 0xB8860BAA
  26.  
  27. #define mustlogin
  28. #define autologin
  29. #define logchat
  30. #define joinmes
  31. #define leavemes
  32. //Declaring New
  33. new level[MAX_PLAYERS];
  34. new logged[MAX_PLAYERS];
  35.  
  36.  
  37. //Anti Warning
  38. #pragma unused strtok
  39. #pragma unused ret_memcpy
  40. //
  41.  
  42. public OnFilterScriptInit()
  43. {
  44.     print("Premium System loaded!");
  45.     return 1;
  46. }
  47.  
  48. public OnFilterScriptExit()
  49. {
  50.     print("Premium System unloaded!");
  51.     return 1;
  52. }
  53.  
  54. public OnPlayerConnect(playerid)
  55. {
  56.     new pname[MAX_PLAYER_NAME];
  57.     #if defined joinmes
  58.     new string[180];
  59.     GetPlayerName(playerid, pname, sizeof(pname));
  60.     format(string, sizeof(string), "%s Hat den Server Betreten.",pname);
  61.     SendClientMessageToAll(grey, string);
  62.     #endif
  63.     new playerfile[100];
  64.     GetPlayerName(playerid, pname, sizeof(pname));
  65.     format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
  66.     if(!dini_Exists(playerfile)) SendClientMessage(playerid, orange, "Tippe /register um einen Account zu ertsellen.");
  67.     else if(dini_Exists(playerfile)) SendClientMessage(playerid, orange, "Du bist nun Registriert! Tippe /login um dich einzuloggen.");
  68.     if(dini_Int(playerfile, "Banned") == 1)
  69.     {
  70.     new string1[126];
  71.     format(string1, sizeof(string1), "[SERVER]%s has been kicked for ban evasion.", pname);
  72.     SendClientMessageToAll(red, string1);
  73.     }
  74.     return 1;
  75. }
  76.  
  77. public OnPlayerDisconnect(playerid, reason)
  78. {
  79.     if(logged[playerid] == 1)
  80.     {
  81.     new playerfile[100], pname[MAX_PLAYER_NAME];
  82.     GetPlayerName(playerid, pname, sizeof(pname));
  83.     format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
  84.     dini_IntSet(playerfile, "Level", level[playerid]);
  85.     dini_IntSet(playerfile, "Cash", GetPlayerMoney(playerid));
  86.     dini_IntSet(playerfile, "Score", GetPlayerScore(playerid));
  87.     }
  88.     level[playerid] = 0;
  89.     logged[playerid] = 0;
  90.     #if defined leavemes
  91.     new string[180], pname[MAX_PLAYER_NAME];
  92.     GetPlayerName(playerid, pname, sizeof(pname));
  93.     format(string, sizeof(string), "%s Hat den Server verlassen.",pname);
  94.     SendClientMessageToAll(grey, string);
  95.     #endif
  96.     return 1;
  97. }
  98. public OnPlayerSpawn(playerid)
  99. {
  100.     return 1;
  101. }
  102.  
  103. public OnPlayerDeath(playerid, killerid, reason)
  104. {
  105.  
  106.     return 1;
  107. }
  108.  
  109. public OnPlayerText(playerid, text[])
  110. {
  111.     #if defined mustlogin
  112.         if(logged[playerid] == 0)
  113.         {
  114.         new playerfile[100], pname[MAX_PLAYER_NAME];
  115.         GetPlayerName(playerid, pname, sizeof(pname));
  116.         format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
  117.         if(dini_Exists(playerfile)) SendClientMessage(playerid, red, "Bitte erst einloggen. /login");
  118.         else SendClientMessage(playerid, red, "Bitte erst registrieren. /register");
  119.         return 0;
  120.         }
  121.     #endif
  122.     return 1;
  123. }
  124.  
  125. public OnPlayerRequestSpawn(playerid)
  126. {
  127.     #if defined mustlogin
  128.     if(logged[playerid] == 0)
  129.     {
  130.     new playerfile[100], pname[MAX_PLAYER_NAME];
  131.     GetPlayerName(playerid, pname, sizeof(pname));
  132.     format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
  133.     #if defined autologin
  134.     if(dini_Exists(playerfile))
  135.     {
  136.     new ip[16];
  137.     GetPlayerIp(playerid, ip, sizeof(ip));
  138.     if(!strcmp(dini_Get(playerfile, "Ip"), ip, true))
  139.     {
  140.         new playerip[20];
  141.         GetPlayerIp(playerid, playerip, sizeof(playerip));
  142.         level[playerid] = dini_Int(playerfile, "Level");
  143.         logged[playerid] = 1;
  144.         dini_Set(playerfile, "Ip", playerip);
  145.         GivePlayerMoney(playerid, dini_Int(playerfile, "Cash"));
  146.         SetPlayerScore(playerid, dini_Int(playerfile, "Score"));
  147.         logged[playerid] = 1;
  148.         SendClientMessage(playerid, yellow, "Du wurdest automatisch eingeloggt!");
  149.         SpawnPlayer(playerid);
  150.         return 1;
  151.     }
  152.     }
  153.     #endif
  154.     if(dini_Exists(playerfile)) SendClientMessage(playerid, red, "Bitte erst einloggen. /login");
  155.     else SendClientMessage(playerid, red, "Bitte erst Registrieren. /register");
  156.     return 0;
  157.     }
  158.     #endif
  159.     return 1;
  160. }
  161.  
  162. //Account Commands
  163. COMMAND:login(playerid, params[])
  164. {
  165.     if(logged[playerid] == 1) return SendClientMessage(playerid, red, "Du bist schon eingeloggt.");
  166.     ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"Login","Tippe das Passwort ein!","Login","Abbrechen");
  167.     return 1;
  168. }
  169.  
  170. COMMAND:register(playerid, params[])
  171. {
  172.     ShowPlayerDialog(playerid,201,DIALOG_STYLE_INPUT,"Registration","Tippe ein Passwort ein um dich zu Registrieren!","Registrieren","Abbrechen");
  173.     return 1;
  174. }
  175.  
  176. /*Premium Commands*/
  177. COMMAND:pcmds(playerid, params[])
  178. {
  179.     if(level[playerid] >= 1)
  180.     {
  181.     SendClientMessage(playerid, blue, "Premium Commands:");
  182.     SendClientMessage(playerid, gold, "heal,armour,flip,nos,hyd");
  183.     } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diese Commands zu benutzen.");
  184.     return 1;
  185. }
  186. COMMAND:heal(playerid, params[])
  187. {
  188.     if(level[playerid] >= 1)
  189.     {
  190.     SetPlayerHealth(playerid, 100.00);
  191.     SendClientMessage(playerid, blue, "Leben Regeneriert");
  192.     } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
  193.     return 1;
  194. }
  195. COMMAND:armour(playerid, params[])
  196. {
  197.     if(level[playerid] >= 1)
  198.     {
  199.     SetPlayerArmour(playerid, 100.00);
  200.     SendClientMessage(playerid, blue, "Schutzweste Repariert");
  201.     } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
  202.     return 1;
  203. }
  204. COMMAND:flip(playerid, params[])
  205. {
  206.     if(level[playerid] >= 1)
  207.     {
  208.     new VehicleID, Float:X, Float:Y, Float:Z;
  209.     GetPlayerPos(playerid, X, Y, Z);
  210.     VehicleID = GetPlayerVehicleID(playerid);
  211.     SetVehiclePos(VehicleID, X, Y, Z);
  212.     SetVehicleZAngle(VehicleID, 0);
  213.     SendClientMessage(playerid, blue, "Auto gedreht!");
  214.     } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
  215.     return 1;
  216. }
  217. COMMAND:nos(playerid, params[])
  218. {
  219.     if(level[playerid] >= 1)
  220.     if(IsPlayerConnected(playerid))
  221.     if(IsPlayerInAnyVehicle(playerid))
  222.     {
  223.     AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  224.     SendClientMessage(playerid, blue, "Du hast jetzt Nitro !");
  225.     } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
  226.     return 1;
  227. }
  228. COMMAND:hyd(playerid, params[])
  229. {
  230.     if(level[playerid] >= 1)
  231.     if(IsPlayerConnected(playerid))
  232.     if(IsPlayerInAnyVehicle(playerid))
  233.     {
  234.     AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
  235.     SendClientMessage(playerid, blue, "Du hast nun Hydraulik !");
  236.     } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
  237.     return 1;
  238. }
  239.  
  240.  
  241. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  242. {
  243.     if(dialogid == 201)
  244.     {
  245.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,201,DIALOG_STYLE_INPUT,"Registration","ERROR: Du hast kein Passwort eingegeben.\nBitte Tippe ein Passwort ein um dich zu Registrieren !","Register","Abbrechen");
  246.         new playerfile[128], pname[MAX_PLAYER_NAME];
  247.         GetPlayerName(playerid, pname, sizeof(pname));
  248.         format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
  249.         if(dini_Exists(playerfile)) return SendClientMessage(playerid, red, "Du bist schon registriert!");
  250.         new playerip[20];
  251.         GetPlayerIp(playerid, playerip, sizeof(playerip));
  252.         dini_Create(playerfile);
  253.         dini_IntSet(playerfile, "Password", udb_hash(inputtext));
  254.         dini_Set(playerfile, "Ip", playerip);
  255.         dini_IntSet(playerfile, "Level", 0);
  256.         dini_IntSet(playerfile, "Cash", 0);
  257.         dini_IntSet(playerfile, "Score", 0);
  258.         logged[playerid] = 1;
  259.         SendClientMessage(playerid, yellow, "Du hast dich Registriert! Du wurdest automatisch eingeloggt.");
  260.     }
  261.     if(dialogid == 200)
  262.     {
  263.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"Login","ERROR: Du hast kein Passwort eingegeben.\nTippe ein Passwort ein um dich einzuloggen!","Login","Abbrechen");
  264.         new playerfile[100], pname[MAX_PLAYER_NAME];
  265.         GetPlayerName(playerid, pname, sizeof(pname));
  266.         format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
  267.         if(!dini_Exists(playerfile)) return SendClientMessage(playerid, red, "Dieser Benutztername ist nicht Registriert /register.");
  268.         new tmp[256];
  269.         tmp = dini_Get(playerfile, "Password");
  270.         if(udb_hash(inputtext) == strval(tmp))
  271.         {
  272.         new playerip[20];
  273.         GetPlayerIp(playerid, playerip, sizeof(playerip));
  274.         level[playerid] = dini_Int(playerfile, "Level");
  275.         logged[playerid] = 1;
  276.         dini_Set(playerfile, "Ip", playerip);
  277.         GivePlayerMoney(playerid, dini_Int(playerfile, "Cash"));
  278.         SetPlayerScore(playerid, dini_Int(playerfile, "Score"));
  279.         logged[playerid] = 1;
  280.         SendClientMessage(playerid, yellow, "You have logged in!");
  281.         } else return ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"Login","ERROR: Falsches Passwort.\nTippe ein Passwort ein um dich einzuloggen!","Login","Abbrechen");
  282.     }
  283.     return 1;
  284. }
Add Comment
Please, Sign In to add comment