Advertisement
Samp-Pawn

Bank System - Samp

May 23rd, 2012
1,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.44 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3. #include <Double-O-Files 2>
  4. #include <CPStream>
  5.  
  6. #define CRed 0xff0033ff
  7. #if defined FILTERSCRIPT
  8.  
  9. main()
  10. {
  11. print(" Bank System ");
  12. }
  13. #endif
  14.  
  15. new str[256],CpBank;
  16.  
  17. enum PlayerInfo
  18. {
  19. BMoney,BankKills
  20. }
  21. new PInfo[MAX_PLAYERS][PlayerInfo];
  22.  
  23. public OnFilterScriptInit()
  24. {
  25. CpBank = CPS_AddCheckpoint(2144.1709,1639.9510,993.5761,2.5,50);
  26. DOF2_SaveFile();
  27. return 1;
  28. }
  29.  
  30. public OnPlayerConnect(playerid)
  31. {
  32. format(str,80,"123YovelSapir áùøú æä éù îòøëú áð÷ ùðáðúä òì éãé %s áøåê äáà",GetName(playerid));
  33. SendClientMessage(playerid,0x0000FF33,str);
  34. if(!DOF2_FileExists(GetFile(playerid)))
  35. {
  36. DOF2_CreateFile(GetFile(playerid));
  37. PInfo[playerid][BMoney] = 0;
  38. } else {
  39. PInfo[playerid][BMoney] = DOF2_GetInt(GetFile(playerid),"Money");
  40. }
  41. return 1;
  42. }
  43.  
  44. public OnPlayerDisconnect(playerid, reason) return DOF2_SaveFile();
  45.  
  46. public OnPlayerCommandText(playerid, cmdtext[])
  47. {
  48. new cmd[256], idx;
  49. cmd = strtok(cmdtext, idx);
  50. if(!strcmp(cmdtext,"/Bank", true))
  51. {
  52. SetPlayerPos(playerid,2144.2148,1630.1636,993.5761);
  53. SetPlayerFacingAngle(playerid,357.1255);
  54. SetPlayerInterior(playerid,1);
  55. SendClientMessage(playerid,0xFFFF00AA,"äâòú ìáð÷ ùì äùøú!");
  56. PlayerPlaySound(playerid,1063,0.0,0.0,0.0);
  57. return 1;
  58. }
  59. if(!strcmp(cmd,"/SetBMoney", true))
  60. {
  61. if(!IsPlayerAdmin(playerid)) return 0;
  62. new tmp[256];
  63. tmp = strtok(cmdtext, idx);
  64. if(!strlen(tmp)) return SendClientMessage(playerid,0xFF3399AB,"/SetBMoney [playerid] [Money]");
  65. new id = strval(tmp);
  66. if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0xFF33AB33,"àééãé ìà îçåáø");
  67. tmp = strtok(cmdtext, idx);
  68. if(!strlen(tmp)) return SendClientMessage(playerid,0xFF3399AB,"/SetBMoney [playerid] [Money]");
  69. new SMoney = strval(tmp);
  70. DOF2_SetInt(GetFile(id),"Money",PInfo[id][BMoney] = SMoney);
  71. format(str, sizeof(str),"%d$ òøê ìê àú îàæðï äáð÷ ì %s äàãîéï",SMoney,GetName(playerid));
  72. SendClientMessage(playerid,0xFFFF9900,str);
  73. DOF2_SaveFile();
  74. return 1;
  75. }
  76. if(!strcmp(cmd,"/Deposit", true))
  77. {
  78. new tmp[256];
  79. tmp = strtok(cmdtext, idx);
  80. if(!CPS_IsPlayerInCheckpoint(playerid, CpBank)) return SendClientMessage(playerid,CRed,"/Bank - àúä ìà ðîöà ááð÷,îëãé ìäùúâø ìáð÷ ä÷ù/é");
  81. if(!strlen(tmp)) return SendClientMessage(playerid,CRed,"/Deposit [Money] :öåøú ùéîåù");
  82. new Money = strval(tmp);
  83. if(GetPlayerMoney(playerid) < Money || Money < 1) return SendClientMessage(playerid,CRed,"ñëåí ùâåé");
  84. DOF2_SetInt(GetFile(playerid),"Money",PInfo[playerid][BMoney] += Money);
  85. GivePlayerMoney(playerid, -Money);
  86. format(str,120,"$%d åëòú îàæðê òåîã òì $%d äô÷ãú ìîàæðê %s ùìåí",PInfo[playerid][BMoney],Money,GetName(playerid));
  87. SendClientMessage(playerid,0x009933FF,str);
  88. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  89. DOF2_SaveFile();
  90. return 1;
  91. }
  92.  
  93. if(!strcmp(cmd,"/DepositAll", true))
  94. {
  95. if(!CPS_IsPlayerInCheckpoint(playerid, CpBank)) return SendClientMessage(playerid,CRed,"/Bank - àúä ìà ðîöà ááð÷,îëãé ìäùúâø ìáð÷ ä÷ù/é");
  96. format(str , sizeof(str),"%d$ äô÷ãú ìîàæðê àú ëì ëñôê",GetPlayerMoney(playerid));
  97. SendClientMessage(playerid,0xFF33FFAB,str);
  98. new Money = GetPlayerMoney(playerid);
  99. DOF2_SetInt(GetFile(playerid),"Money",PInfo[playerid][BMoney] += Money);
  100. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  101. ResetPlayerMoney(playerid);
  102. DOF2_SaveFile();
  103. return 1;
  104. }
  105.  
  106. if(!strcmp(cmd,"/WithDraw", true))
  107. {
  108. new tmp[256];
  109. tmp = strtok(cmdtext, idx);
  110. if(!CPS_IsPlayerInCheckpoint(playerid, CpBank)) return SendClientMessage(playerid,CRed,"/Bank - àúä ìà ðîöà ááð÷,îëãé ìäùúâø ìáð÷ ä÷ù/é");
  111. if(!strlen(tmp)) return SendClientMessage(playerid,CRed,"/Deposit [Money] :öåøú ùéîåù");
  112. new Money = strval(tmp);
  113. if(Money < 1) return SendClientMessage(playerid,0xFF0000AA,".ñëåí ùâåé");
  114. if(Money > PInfo[playerid][BMoney]) return SendClientMessage(playerid,0xFF0000AA,".ñëåí ùâåé");
  115. DOF2_SetInt(GetFile(playerid),"Money",PInfo[playerid][BMoney] -= Money);
  116. GivePlayerMoney(playerid, Money);
  117. format(str,120,"$%d åëòú îàæðê òåîã òì $%d îùëú îîàæðê %s ùìåí",PInfo[playerid][BMoney],Money,GetName(playerid));
  118. SendClientMessage(playerid,0x009933FF,str);
  119. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  120. DOF2_SaveFile();
  121. return 1;
  122. }
  123.  
  124. if(!strcmp(cmdtext,"/WithDrawAll", true))
  125. {
  126. if(!CPS_IsPlayerInCheckpoint(playerid, CpBank)) return SendClientMessage(playerid,CRed,"/Bank - àúä ìà ðîöà ááð÷,îëãé ìäùúâø ìáð÷ ä÷ù/é");
  127. format(str , sizeof(str),"%d$ îùëú àú ëì îàæðê ",PInfo[playerid][BMoney]);
  128. SendClientMessage(playerid,0xFF33FFAB,str);
  129. DOF2_SetInt(GetFile(playerid),"Money",PInfo[playerid][BMoney] + GivePlayerMoney(playerid,PInfo[playerid][BMoney]));
  130. DOF2_SetInt(GetFile(playerid),"Money",PInfo[playerid][BMoney] = 0);
  131. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  132. DOF2_SaveFile();
  133. return 1;
  134. }
  135.  
  136. if(!strcmp(cmdtext,"/Balance", true))
  137. {
  138. if(!CPS_IsPlayerInCheckpoint(playerid, CpBank)) return SendClientMessage(playerid,CRed,"/Bank - àúä ìà ðîöà ááð÷,îëãé ìäùúâø ìáð÷ ä÷ù/é");
  139. format(str,120,"$%d îàæðê ááð÷ òåîã òì %s ùìåí",PInfo[playerid][BMoney],GetName(playerid));
  140. SendClientMessage(playerid,0x00FFAB33,str);
  141. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  142. return 1;
  143. }
  144. return 0;
  145. }
  146.  
  147. public OnPlayerEnterCheckpoint(playerid)
  148. {
  149. if(CPS_IsPlayerInCheckpoint(playerid, CpBank))
  150. {
  151. SendClientMessage(playerid, CRed, "!~~~~~~~!îòøëú äáð÷ ùì äùøú~~~~~~~!");
  152. SendClientMessage(playerid,0xFFAB00FF,"/Deposit - ìäô÷éã ñëåí ùì ëñó îñåééí");
  153. SendClientMessage(playerid,0xFFAB00FF,"/WithDraw - ìîùåê ñëåí ùì ëñó îñåééí");
  154. SendClientMessage(playerid,0xFFAB00FF,"/WithDrawAll - ìîùåê àú ëì ëñôê");
  155. SendClientMessage(playerid,0xFFAB00FF,"/DepositAll - ìäô÷éã àú ëì ëñôê");
  156. SendClientMessage(playerid,0xFFAB00FF,"/Balance - ìáãé÷ú îàæðê");
  157. SendClientMessage(playerid, CRed, "!~~~~~~~!îòøëú äáð÷ ùì äùøú~~~~~~~!");
  158. }
  159. return 1;
  160. }
  161.  
  162. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  163. {
  164. if(IsKeyJustDown(KEY_FIRE,newkeys,oldkeys))
  165. {
  166. if(GetPlayerInterior(playerid) == 1)
  167. {
  168. PInfo[playerid][BankKills] = 1;
  169. if(PInfo[playerid][BankKills] == 1)
  170. {
  171. SendClientMessage(playerid,0xFF99FF99,"!àñåø ìéøåú áî÷åîåú ñâåøéí");
  172. SetPlayerHealth(playerid,0.0);
  173. }
  174. }
  175. }
  176. }
  177.  
  178. stock GetName(playerid)
  179. {
  180. new Pname[MAX_PLAYER_NAME];
  181. GetPlayerName(playerid,Pname,sizeof(Pname));
  182. return Pname;
  183. }
  184.  
  185. stock GetFile(playerid)
  186. {
  187. new file[80];
  188. format(file,sizeof(file),"YBank/%s.ini",GetName(playerid));
  189. return file;
  190. }
  191.  
  192. IsKeyJustDown(key, newkeys, oldkeys)
  193. {
  194. if((newkeys & key) && !(oldkeys & key))
  195. return 1;
  196. return 0;
  197. }
  198.  
  199. strtok(const string[], &index)
  200. {
  201. new length = strlen(string); while ((index < length) && (string[index] <= ' ')){index++;}
  202. new offset = index;new result[20];
  203. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))){
  204. result[index - offset] = string[index];index++;}result[index - offset] = EOS;
  205. return result;
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement