Advertisement
Guest User

help

a guest
Feb 24th, 2014
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.81 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_ini>
  3.  
  4. native WP_Hash(buffer[],len,const str[]);  
  5.  
  6. #define dregister 2011
  7. #define dlogin 2012
  8. #define UserPath "Users/%s.ini"
  9.  
  10. new pInfo[MAX_PLAYERS][PlayerInfo];
  11.  
  12. enum PlayerInfo
  13. {
  14.     Pass[129],
  15.     Adminlevel,
  16.     VIPlevel,
  17.     TrustedPlayerlevel,
  18.     Money,
  19.     Scores,
  20.     Kills,
  21.     Deaths
  22. }
  23.  
  24. main()
  25. {
  26.     print("\n----------------------------------");
  27.     print(" Cops and Robbers by Brad Nunchr,AKA. Mriss");
  28.     print("----------------------------------\n");
  29. }
  30.  
  31. public OnGameModeInit()
  32. {
  33.     // Don't use these lines if it's a filterscript
  34.     SetGameModeText("Cops and Robbers[0.3z]");
  35.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  36.     return 1;
  37. }
  38.  
  39. public OnGameModeExit()
  40. {
  41.     return 1;
  42. }
  43.  
  44. public OnPlayerRequestClass(playerid, classid)
  45. {
  46.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  47.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  48.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  49.     return 1;
  50. }
  51.  
  52. public OnPlayerConnect(playerid)
  53. {
  54.     new name[MAX_PLAYER_NAME];
  55.     GetPlayerName(playerid,name,sizeof(name));
  56.     if(fexist(Path(playerid)))
  57.     {
  58.         INI_ParseFile(Path(playerid),"loadaccount_%s", .bExtra = true, .extra = playerid);
  59.         ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Login","Welcome back. This account is registered. \nInsert your password to login to your account","Login","Quit");/*A dialog with input style will appear so you can insert your password to login.*/
  60.     }
  61.     else
  62.     {
  63.         ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"Register","Welcome! This account is not registered.\nEnter your own password to create a new account.","Register","Quit");
  64.         return 1;
  65.     }
  66.     return 1;
  67. }
  68.  
  69. public OnPlayerDisconnect(playerid, reason)
  70. {
  71.         new INI:file = INI_Open(Path(playerid));
  72.         INI_SetTag(file,"Player's Data");
  73.         INI_WriteInt(file,"AdminLevel",pInfo[playerid][Adminlevel]);
  74.         INI_WriteInt(file,"VIPLevel",pInfo[playerid][VIPlevel]);
  75.         INI_WriteInt(file,"TrustedPlayerLevel",pInfo[playerid][TrustedPlayerlevel]);
  76.         INI_WriteInt(file,"Money",GetPlayerMoney(playerid));
  77.         INI_WriteInt(file,"Scores",GetPlayerScore(playerid));
  78.         INI_WriteInt(file,"Kills",pInfo[playerid][Kills]);
  79.         INI_WriteInt(file,"Deaths",pInfo[playerid][Deaths]);
  80.         INI_Close(file);
  81.     return 1;
  82. }
  83.  
  84. public OnPlayerSpawn(playerid)
  85. {
  86.     return 1;
  87. }
  88.  
  89. public OnPlayerDeath(playerid, killerid, reason)
  90. {
  91.     SendDeathMessage(killerid,killee,weapon);
  92.     pInfo[killerid][Kills]++;
  93.     pInfo[playerid][Deaths]++;
  94.     return 1;
  95. }
  96.  
  97. public OnVehicleSpawn(vehicleid)
  98. {
  99.     return 1;
  100. }
  101.  
  102. public OnVehicleDeath(vehicleid, killerid)
  103. {
  104.     return 1;
  105. }
  106.  
  107. public OnPlayerText(playerid, text[])
  108. {
  109.     return 1;
  110. }
  111.  
  112. public OnPlayerCommandText(playerid, cmdtext[])
  113. {
  114.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  115.     {
  116.         // Do something here
  117.         return 1;
  118.     }
  119.     return 0;
  120. }
  121.  
  122. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  123. {
  124.     return 1;
  125. }
  126.  
  127. public OnPlayerExitVehicle(playerid, vehicleid)
  128. {
  129.     return 1;
  130. }
  131.  
  132. public OnPlayerStateChange(playerid, newstate, oldstate)
  133. {
  134.     return 1;
  135. }
  136.  
  137. public OnPlayerEnterCheckpoint(playerid)
  138. {
  139.     return 1;
  140. }
  141.  
  142. public OnPlayerLeaveCheckpoint(playerid)
  143. {
  144.     return 1;
  145. }
  146.  
  147. public OnPlayerEnterRaceCheckpoint(playerid)
  148. {
  149.     return 1;
  150. }
  151.  
  152. public OnPlayerLeaveRaceCheckpoint(playerid)
  153. {
  154.     return 1;
  155. }
  156.  
  157. public OnRconCommand(cmd[])
  158. {
  159.     return 1;
  160. }
  161.  
  162. public OnPlayerRequestSpawn(playerid)
  163. {
  164.     return 1;
  165. }
  166.  
  167. public OnObjectMoved(objectid)
  168. {
  169.     return 1;
  170. }
  171.  
  172. public OnPlayerObjectMoved(playerid, objectid)
  173. {
  174.     return 1;
  175. }
  176.  
  177. public OnPlayerPickUpPickup(playerid, pickupid)
  178. {
  179.     return 1;
  180. }
  181.  
  182. public OnVehicleMod(playerid, vehicleid, componentid)
  183. {
  184.     return 1;
  185. }
  186.  
  187. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  188. {
  189.     return 1;
  190. }
  191.  
  192. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  193. {
  194.     return 1;
  195. }
  196.  
  197. public OnPlayerSelectedMenuRow(playerid, row)
  198. {
  199.     return 1;
  200. }
  201.  
  202. public OnPlayerExitedMenu(playerid)
  203. {
  204.     return 1;
  205. }
  206.  
  207. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  208. {
  209.     return 1;
  210. }
  211.  
  212. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  213. {
  214.     return 1;
  215. }
  216.  
  217. public OnRconLoginAttempt(ip[], password[], success)
  218. {
  219.     return 1;
  220. }
  221.  
  222. public OnPlayerUpdate(playerid)
  223. {
  224.     return 1;
  225. }
  226.  
  227. public OnPlayerStreamIn(playerid, forplayerid)
  228. {
  229.     return 1;
  230. }
  231.  
  232. public OnPlayerStreamOut(playerid, forplayerid)
  233. {
  234.     return 1;
  235. }
  236.  
  237. public OnVehicleStreamIn(vehicleid, forplayerid)
  238. {
  239.     return 1;
  240. }
  241.  
  242. public OnVehicleStreamOut(vehicleid, forplayerid)
  243. {
  244.     return 1;
  245. }
  246.  
  247. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  248. {
  249.     if(dialogid == dregister)
  250.     {
  251.         if(!response) return Kick(playerid);
  252.         if(response)
  253.         {
  254.             if(!strlen(inputtext))
  255.             {
  256.                 ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"Register","Welcome! This account is not registered.\nEnter your own password to create a new account.\nPlease enter the password!","Register","Quit");
  257.                 return 1;
  258.             }
  259.             new hashpass[129];
  260.             WP_Hash(hashpass,sizeof(hashpass),inputtext);
  261.             new INI:file = INI_Open(Path(playerid));
  262.             INI_SetTag(file,"Player's Data");
  263.             INI_WriteString(file,"Password",hashpass);
  264.             INI_WriteInt(file,"AdminLevel",0);
  265.             INI_WriteInt(file,"VIPLevel",0);
  266.             INI_WriteInt(file,"TrustedPlayerLevel",0);
  267.             INI_WriteInt(file,"Money",0);
  268.             INI_WriteInt(file,"Scores",0);
  269.             INI_WriteInt(file,"Kills",0);
  270.             INI_WriteInt(file,"Deaths",0);
  271.             INI_Close(file);
  272.             SendClientMessage(playerid,-1,"Thank you for registering,/n Success!");
  273.             return 1;
  274.         }
  275.     }
  276.     if(dialogid == dlogin)
  277.     {//then
  278.         if(!response) return Kick(playerid);
  279.         if(response)
  280.         {
  281.             new hashpass[129];
  282.             WP_Hash(hashpass,sizeof(hashpass),inputtext);
  283.             if(!strcmp(hashpass, pInfo[playerid][Pass], false))
  284.             {//then
  285.                 INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
  286.                 SetPlayerScore(playerid,pInfo[playerid][Scores]);
  287.                 GivePlayerMoney(playerid,pInfo[playerid][Money]);
  288.                 SendClientMessage(playerid,-1,"Welcome back! You have successfully logged in");//Tell them that they've successfully logged in
  289.             }
  290.             else
  291.             {
  292.                 ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Login","Welcome back. This account is registered. \nInsert your password to login to your account.\nIncorrect password!","Login","Quit");//We will tell to them that they've entered an incorrect password
  293.                 return 1;
  294.             }
  295.         }
  296.     }
  297.     return 1;
  298. }
  299.  
  300. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  301. {
  302.     return 1;
  303. }
  304.  
  305. stock Path(playerid) //Will create a new stock so we can easily use it later to load/save user's data in user's path
  306. {
  307.     new str[128],name[MAX_PLAYER_NAME];
  308.     GetPlayerName(playerid,name,sizeof(name));
  309.     format(str,sizeof(str),UserPath,name);
  310.     return str;
  311. }
  312.  
  313. forward loadaccount_user(playerid, name[], value[]);
  314. public loadaccount_user(playerid, name[], value[])
  315. {
  316.     INI_String("Password", pInfo[playerid][Pass],129);
  317.     INI_Int("AdminLevel",pInfo[playerid][Adminlevel]);
  318.     INI_Int("VIPLevel",pInfo[playerid][VIPlevel]);
  319.     INI_Int("TrustedPlayerlevel",pInfo[playerid][TrustedPlayerlevel]);
  320.     INI_Int("Money",pInfo[playerid][Money]);
  321.     INI_Int("Scores",pInfo[playerid][Scores]);
  322.     INI_Int("Kills",pInfo[playerid][Kills]);
  323.     INI_Int("Deaths",pInfo[playerid][Deaths]);
  324.     return 1;
  325. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement