Advertisement
Guest User

Bank System

a guest
Jun 25th, 2013
1,247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.05 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3. #define PlayerFile "Bank/%s.ini"
  4. #define COLOR_RED 0xAA3333AA
  5. #define COLOR_YELLOW 0xFFFF00AA
  6.  
  7. enum PLAYER_MAIN {
  8. Deposit,
  9. };
  10. new pInfo[MAX_PLAYERS][PLAYER_MAIN];
  11. new chosenpid;
  12. //Bank PIck UP
  13. new BankCP1;
  14. new BankCP2;
  15. new BankCP3;
  16. public OnFilterScriptInit()
  17. {
  18. BankCP1 = CreatePickup(1318, 15,-1896.0736,487.0648,35.1719);
  19. BankCP2 = CreatePickup(1318, 15,390.6521,173.8838,1008.3828);
  20. BankCP3 = CreatePickup(1318, 15,361.8299,173.5145,1008.3828);
  21. SetTimer("Contack",1,0);
  22. return 1;
  23. }
  24. forward Contack(playerid);
  25. public Contack(playerid)
  26. {
  27. for(new i = 0; i < MAX_PLAYERS; i++)
  28. {
  29. OnPlayerConnect(i);
  30. }
  31. return 1;
  32. }
  33. public OnPlayerConnect(playerid)
  34. {
  35. new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
  36. if(!dini_Exists(file)) {
  37. dini_Create(file);
  38. dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
  39. }
  40. else if(dini_Exists(file))
  41. {
  42. pInfo[playerid][Deposit] = dini_Int(file,"Deposit");
  43. }
  44. return 1;
  45. }
  46.  
  47. public OnPlayerDisconnect(playerid, reason)
  48. {
  49. new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
  50. dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
  51. return 1;
  52. }
  53. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  54. {
  55. if(dialogid == 1122) //deposit
  56. {
  57. new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
  58. if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  59. else if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid,COLOR_RED,"You Don't Have That Amount!");
  60. else if(!IsNumeric(inputtext))
  61. {
  62. new string[128];
  63. format(string,sizeof(string),"How much?",pInfo[playerid][Deposit]);
  64. ShowPlayerDialog(playerid,1122,DIALOG_STYLE_INPUT,"Please Insert an Amount",string,"Confirm","Back");
  65. SendClientMessage(playerid,COLOR_RED,"Please Use Numbers");
  66. }
  67. else
  68. {
  69. GivePlayerMoney(playerid,-strval(inputtext));
  70. pInfo[playerid][Deposit] += strval(inputtext);
  71. new string[128];
  72. format(string,sizeof(string),"ยป Bank deposit: %d$",strval(inputtext));
  73. SendClientMessage(playerid,0xE89B5BBB,string);
  74. dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
  75. ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  76. }
  77. return 1;
  78. }
  79. if(dialogid == 1123) //withdraw
  80. {
  81. new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
  82. if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  83. else if(strval(inputtext) > pInfo[playerid][Deposit]) return SendClientMessage(playerid,COLOR_RED,"You Don't Have That Amount In Bank!");
  84. else if(!IsNumeric(inputtext))
  85. {
  86. new string[128];
  87. format(string,sizeof(string),"How much?",pInfo[playerid][Deposit]);
  88. ShowPlayerDialog(playerid,1123,DIALOG_STYLE_INPUT,"Please Insert an Amount",string,"Confirm","Back");
  89. SendClientMessage(playerid,COLOR_RED,"Please Use Numbers");
  90. }
  91. else
  92. {
  93. GivePlayerMoney(playerid,strval(inputtext));
  94. pInfo[playerid][Deposit] -= strval(inputtext);
  95. new string[128];
  96. format(string,sizeof(string),"ยป Bank withdrawal: %d$",strval(inputtext));
  97. SendClientMessage(playerid,0xE89B5BBB,string);
  98. dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
  99. ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  100. }
  101. return 1;
  102. }
  103. if(dialogid == 1124)
  104. {
  105. if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  106. else
  107. {
  108. ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  109. }
  110. return 1;
  111. }
  112. if(dialogid == 1130) //transfer (choose playerid)
  113. {
  114. if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  115. else if(strval(inputtext) == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player Not Online");
  116. else if(!IsNumeric(inputtext))
  117. {
  118. new string[128];
  119. format(string,sizeof(string),"Your Current Balance Is :%d$\nEnter The Player ID You Want To Transfer To Below :",pInfo[playerid][Deposit]);
  120. ShowPlayerDialog(playerid,1130,DIALOG_STYLE_INPUT,"Transfer",string,"Next","Back");
  121. SendClientMessage(playerid,COLOR_RED,"Please Use ID Not Name");
  122. }
  123. else
  124. {
  125. chosenpid = strval(inputtext);
  126. new string[128];
  127. format(string,sizeof(string),"Balance : %d\nChosen Player ID : %d\nNow Enter The Amount You Want To Transfer",pInfo[playerid][Deposit],chosenpid);
  128. ShowPlayerDialog(playerid,1131,DIALOG_STYLE_INPUT,"Transfer",string,"Transfer","Back");
  129. }
  130. return 1;
  131. }
  132. if(dialogid == 1131) //transfer (choose amount)
  133. {
  134. new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
  135. if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  136. else if(strval(inputtext) > pInfo[playerid][Deposit]) return SendClientMessage(playerid,COLOR_RED,"You Don't Have That Amount In Bank To Transfer");
  137. else if(!IsNumeric(inputtext))
  138. {
  139. new string[128];
  140. format(string,sizeof(string),"Chosen Player ID : %d\nNow Enter The Amount You Want To Transfer",chosenpid);
  141. ShowPlayerDialog(playerid,1131,DIALOG_STYLE_INPUT,"Transfer",string,"Transfer","Back");
  142. SendClientMessage(playerid,COLOR_RED,"Please Use Numbers");
  143. }
  144. else
  145. {
  146. pInfo[playerid][Deposit] -= strval(inputtext);
  147. pInfo[chosenpid][Deposit] += strval(inputtext);
  148. new string[128];
  149. format(string,sizeof(string),"You Transfered %d$ To ID %d Bank Account",strval(inputtext),chosenpid);
  150. SendClientMessage(playerid,COLOR_YELLOW,string);
  151. dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
  152. new string2[128]; format(string2,128,"Your New Balance Is : %d$",pInfo[playerid][Deposit]);
  153. SendClientMessage(playerid,COLOR_YELLOW,string2);
  154. new string3[128]; format(string3,128,"ID : %d Transfered %d$ To Your Bank Account",playerid,strval(inputtext));
  155. SendClientMessage(chosenpid,COLOR_YELLOW,string3);
  156. new string4[128]; format(string4,128,"Your New Balance : %d$",pInfo[chosenpid][Deposit]);
  157. SendClientMessage(chosenpid,COLOR_YELLOW,string4);
  158. ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  159. }
  160. return 1;
  161. }
  162. if(dialogid == 1125 && response) // /bank
  163. {
  164. switch(listitem)
  165. {
  166. case 0:
  167. {
  168. new string[128];
  169. format(string,sizeof(string),"How much?",pInfo[playerid][Deposit]);
  170. ShowPlayerDialog(playerid,1122,DIALOG_STYLE_INPUT,"Please Insert an Amount",string,"Confirm","Back");
  171.  
  172. }
  173. case 1:
  174. {
  175. new string[128];
  176. format(string,sizeof(string),"How much?",pInfo[playerid][Deposit]);
  177. ShowPlayerDialog(playerid,1123,DIALOG_STYLE_INPUT,"Please Insert an Amount",string,"Confirm","Back");
  178. }
  179. case 2:
  180. {
  181. new string[128];
  182. format(string,sizeof(string),"Your Balance Is %d$",pInfo[playerid][Deposit]);
  183. ShowPlayerDialog(playerid,1124,DIALOG_STYLE_MSGBOX,"SF Bank - Current Balance",string,"Ok","Back");
  184. }
  185. case 3:
  186. {
  187. new string[128];
  188. format(string,sizeof(string),"Please Insert an Amount",pInfo[playerid][Deposit]);
  189. ShowPlayerDialog(playerid,1130,DIALOG_STYLE_INPUT,"Transfer",string,"Next","Back");
  190. }
  191. }
  192. }
  193. return 0;
  194. }
  195. stock IsNumeric(string[])
  196. {
  197. for (new i = 0, j = strlen(string); i < j; i++)
  198. {
  199. if (string[i] > '9' || string[i] < '0') return 0;
  200. }
  201. return 1;
  202. }
  203. public OnPlayerPickUpPickup(playerid, pickupid)
  204. {
  205. if(pickupid == BankCP1)
  206. SetCameraBehindPlayer(playerid);
  207. if(pickupid == BankCP1)
  208. SetPlayerFacingAngle(playerid, 92.6405);
  209. if(pickupid == BankCP1)
  210. SetPlayerPos(playerid, 388.6320,173.8655,1008.3828);
  211. if(pickupid == BankCP1)
  212. SetPlayerInterior(playerid, 3);
  213. if(pickupid == BankCP2)
  214. SetPlayerFacingAngle(playerid, 88.0201);
  215. if(pickupid == BankCP2)
  216. SetCameraBehindPlayer(playerid);
  217. if(pickupid == BankCP2)
  218. SetPlayerPos(playerid, -1897.6342,487.0141,35.1719);
  219. if(pickupid == BankCP3)
  220. ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"San Fierro Bank","Deposit\nWithdraw\nBalance","Select","Cancel");
  221. if(pickupid == BankCP3)
  222. SetPlayerInterior(playerid, 3);
  223. if(pickupid == BankCP3)
  224. SetPlayerFacingAngle(playerid, 87.3700);
  225. if(pickupid == BankCP3)
  226. SetCameraBehindPlayer(playerid);
  227. return 1;
  228. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement