Advertisement
rhsCZ

deleteacc_mod

Jul 14th, 2014
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.45 KB | None | 0 0
  1. //--includes--
  2. #include <a_samp>
  3. #include <dini>
  4. //--definies--
  5. #define uc(%0); new u[34];format(u,34,"ucty/%s.ini",name(%0));
  6. #define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  7. #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
  8. #define d_log 56
  9. #define d_reg 55
  10. #define d_reg2 54
  11. //--forwards--
  12. forward deleteACC();
  13. //--enums--
  14. enum pinfo
  15. {
  16. money,
  17. alvl,
  18. lastvisit[40],
  19. temppass[50]
  20. //atd atd...........
  21. };
  22.  
  23. //news
  24. new info[MAX_PLAYERS][pinfo];
  25.  
  26.  
  27. //--own stocks/functions--
  28. stock name(id)
  29. {
  30. new n[24];
  31. GetPlayerName(id,n,24);
  32. return n;
  33. }
  34. stock hash(buf[]) {
  35.     new length=strlen(buf);
  36.     new s1 = 1;
  37.     new s2 = 0;
  38.     new n;
  39.     for (n=0; n<length; n++)
  40.     {
  41.        s1 = (s1 + buf[n]) % 65521;
  42.        s2 = (s2 + s1)     % 65521;
  43.     }
  44.     return (s2 << 16) + s1;
  45. }
  46. //--mod--
  47. main()
  48. {
  49.     print("\n----------------------------------");
  50.     print(" Test mode");
  51.     print("----------------------------------\n");
  52. }
  53.  
  54.  
  55. public OnGameModeInit()
  56. {
  57.     SetGameModeText("test mode");
  58.     SetTimer("deleteACC",86400000,true);
  59.     return 1;
  60. }
  61.  
  62. public OnGameModeExit()
  63. {
  64.     return 1;
  65. }
  66. public deleteACC()
  67. {
  68. new time = gettime();
  69. for(new i;i<MAX_PLAYERS;i++)
  70. {
  71.     new istr[4];
  72.     valstr(istr,i);
  73.     if(strcmp("0",dini_Get("ucty/ucty.dat",istr),true) != 0)
  74.     {
  75.         new nameacc[24],timeacc,u[34],rozdil;
  76.         format(nameacc,24,"%s",dini_Get("ucty/ucty.dat",istr));
  77.         format(u,34,"ucty/%s.ini",nameacc);
  78.         timeacc = dini_Int(u,"lastvisit");
  79.         rozdil = time-timeacc;
  80.         if(rozdil > 1209600)
  81.         {
  82.             new str[120];
  83.             dini_Remove(u);
  84.             format(str,120,"[kontrola]hráč %s byl neaktivní více jak 2 týdny, a proto byl jeho účet smazán!![kontrola]",nameacc);
  85.             print(str);
  86.         }
  87.        
  88.     }
  89. }
  90. return 1;
  91. }
  92.  
  93. public OnPlayerConnect(playerid)
  94. {
  95.     uc(playerid);
  96.     new s[22 + MAX_PLAYER_NAME];
  97.     format(s, sizeof(s), "Hráč %s se připojil na server!", name(playerid));
  98.     if(dini_Exists(u))
  99.     {
  100.         ShowPlayerDialog(playerid,d_log,DIALOG_STYLE_PASSWORD,"Login","prosím přihlašte se","OK","Storno");
  101.     } else
  102.     {
  103.         ShowPlayerDialog(playerid,d_reg,DIALOG_STYLE_PASSWORD,"Register","prosím zaregistrujte se zadáním hesla","OK","Storno");
  104.     }
  105.     return 1;
  106. }
  107.  
  108. public OnPlayerDisconnect(playerid, reason)
  109. {
  110.     uc(playerid);
  111.     new string[39 + MAX_PLAYER_NAME];
  112.     switch(reason)
  113.     {
  114.         case 0: format(string, sizeof(string), "%s se odpojil ze serveru. (Pád hry)", name(playerid));
  115.         case 1: format(string, sizeof(string), "%s se odpojil ze serveru. (Odešel)", name(playerid));
  116.         case 2: format(string, sizeof(string), "%s se odpojil ze serveru. (Kick/Ban)", name(playerid));
  117.     }
  118.     SendClientMessageToAll(0x00FF88AA, string);
  119.     if(dini_Exists(u))
  120.     {
  121.         dini_IntSet(u,"Money",info[playerid][money]);
  122.         dini_IntSet(u,"Alvl",info[playerid][alvl]);
  123.         dini_IntSet(u,"LastVisit",gettime());
  124.     }
  125.     return 1;
  126. }
  127.  
  128. public OnPlayerSpawn(playerid)
  129. {
  130.     return 1;
  131. }
  132.  
  133. public OnPlayerDeath(playerid, killerid, reason)
  134. {
  135.     return 1;
  136. }
  137.  
  138. public OnVehicleSpawn(vehicleid)
  139. {
  140.     return 1;
  141. }
  142.  
  143. public OnVehicleDeath(vehicleid, killerid)
  144. {
  145.     return 1;
  146. }
  147.  
  148. public OnPlayerText(playerid, text[])
  149. {
  150.     return 1;
  151. }
  152.  
  153. public OnPlayerCommandText(playerid, cmdtext[])
  154. {
  155.  
  156.     return 0;
  157. }
  158.  
  159. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  160. {
  161.     return 1;
  162. }
  163.  
  164. public OnPlayerExitVehicle(playerid, vehicleid)
  165. {
  166.     return 1;
  167. }
  168.  
  169. public OnPlayerStateChange(playerid, newstate, oldstate)
  170. {
  171.     return 1;
  172. }
  173.  
  174. public OnPlayerEnterCheckpoint(playerid)
  175. {
  176.     return 1;
  177. }
  178.  
  179. public OnPlayerLeaveCheckpoint(playerid)
  180. {
  181.     return 1;
  182. }
  183.  
  184. public OnPlayerEnterRaceCheckpoint(playerid)
  185. {
  186.     return 1;
  187. }
  188.  
  189. public OnPlayerLeaveRaceCheckpoint(playerid)
  190. {
  191.     return 1;
  192. }
  193.  
  194. public OnRconCommand(cmd[])
  195. {
  196.     return 1;
  197. }
  198.  
  199. public OnPlayerRequestSpawn(playerid)
  200. {
  201.     return 1;
  202. }
  203.  
  204. public OnObjectMoved(objectid)
  205. {
  206.     return 1;
  207. }
  208.  
  209. public OnPlayerObjectMoved(playerid, objectid)
  210. {
  211.     return 1;
  212. }
  213.  
  214. public OnPlayerPickUpPickup(playerid, pickupid)
  215. {
  216.     return 1;
  217. }
  218.  
  219. public OnVehicleMod(playerid, vehicleid, componentid)
  220. {
  221.     return 1;
  222. }
  223.  
  224. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  225. {
  226.     return 1;
  227. }
  228.  
  229. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  230. {
  231.     return 1;
  232. }
  233.  
  234. public OnPlayerSelectedMenuRow(playerid, row)
  235. {
  236.     return 1;
  237. }
  238.  
  239. public OnPlayerExitedMenu(playerid)
  240. {
  241.     return 1;
  242. }
  243.  
  244. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  245. {
  246.     return 1;
  247. }
  248.  
  249. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  250. {
  251.     return 1;
  252. }
  253.  
  254. public OnRconLoginAttempt(ip[], password[], success)
  255. {
  256.     return 1;
  257. }
  258.  
  259. public OnPlayerUpdate(playerid)
  260. {
  261.     return 1;
  262. }
  263.  
  264.  
  265.  
  266. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  267. {
  268.  
  269.     switch(dialogid)
  270.     {
  271.         case d_log:
  272.         {
  273.             uc(playerid);
  274.             if(response == 1)
  275.             {
  276.                 if(isnull(inputtext))
  277.                 {
  278.                     ShowPlayerDialog(playerid,d_log,DIALOG_STYLE_PASSWORD,"Login","Prosím musíte zadat heslo","OK","Storno");
  279.                 } else
  280.                 {
  281.                     new pass[50];
  282.                     valstr(pass,hash(inputtext));
  283.                     if(!strcmp(pass,dini_Get(u,"pass_hash"),true))
  284.                     {
  285.                         info[playerid][money] = dini_Int(u,"Money");
  286.                         info[playerid][alvl] = dini_Int(u,"Alvl");
  287.                         info[playerid][lastvisit] = dini_Int(u,"LastVisit");
  288.                         SendClientMessage(playerid,-1,"úspěšně přihlášen");
  289.                     } else
  290.                     {
  291.                         ShowPlayerDialog(playerid,d_log,DIALOG_STYLE_PASSWORD,"Login","heslo ne","OK","Storno");
  292.  
  293.                     }
  294.                 }
  295.             } else
  296.             {
  297.                 Kick(playerid);
  298.             }
  299.             return 1;
  300.         }
  301.         case d_reg:
  302.         {
  303.             if(response == 1)
  304.             {
  305.                 if(isnull(inputtext))
  306.                 {
  307.                     ShowPlayerDialog(playerid,d_reg,DIALOG_STYLE_PASSWORD,"Register","Prosím musíte zadat heslo","OK","Storno");
  308.                 } else
  309.                 {
  310.                     ShowPlayerDialog(playerid,d_reg2,DIALOG_STYLE_PASSWORD,"Register","Prosím pro kontrolu zadejte heslo znova","OK","Storno");
  311.                     format(info[playerid][temppass],50,"%s",inputtext);
  312.                 }
  313.             } else
  314.             {
  315.                 Kick(playerid);
  316.             }
  317.             return 1;
  318.         }
  319.         case d_reg2:
  320.         {
  321.             uc(playerid);
  322.             if(response == 1)
  323.             {
  324.                 if(isnull(inputtext))
  325.                 {
  326.                     ShowPlayerDialog(playerid,d_reg,DIALOG_STYLE_PASSWORD,"Register","Prosím musíte zadat heslo","OK","Storno");
  327.                 } else
  328.                 {
  329.                     if(!strcmp(inputtext,info[playerid][temppass],false))
  330.                     {
  331.                         dini_Create(u);
  332.                         dini_IntSet(u,"Money",0);
  333.                         dini_IntSet(u,"Alvl",0);
  334.                         dini_IntSet(u,"LastVisit",0);
  335.                         dini_IntSet(u,"pass_hash",hash(inputtext));
  336.                         info[playerid][money] = 0;
  337.                         info[playerid][alvl] = 0;
  338.                         info[playerid][lastvisit] = 0;
  339.                         for(new i;i<MAX_PLAYERS;i++)
  340.                         {
  341.                             new istr[4];
  342.                             valstr(istr,i);
  343.                             if(!strcmp("0",dini_Get("ucty/ucty.dat",istr),true))
  344.                             {
  345.                             dini_Set("ucty/ucty.dat",istr,name(playerid));
  346.                             break;
  347.                             }
  348.  
  349.  
  350.                         }
  351.                     } else
  352.                     {
  353.                         ShowPlayerDialog(playerid,d_reg2,DIALOG_STYLE_PASSWORD,"Register","zadal jsi špatné heslo(heslo se neshoduje s prvním),Prosím zkus to znova","OK","Storno");
  354.  
  355.                     }
  356.  
  357.  
  358.                 }
  359.             } else
  360.             {
  361.                 Kick(playerid);
  362.             }
  363.             return 1;
  364.         }
  365.  
  366.     }
  367.  
  368.     return 0;
  369. }
  370.  
  371. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  372. {
  373.     return 1;
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement