Advertisement
Guest User

Untitled

a guest
Sep 5th, 2011
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.88 KB | None | 0 0
  1. //------------------------------------------------------------------
  2. //------------------------------------------------------------------
  3. //Bank System By Omer5198!!! Version 0.3
  4. //------------------------------------------------------------------
  5. //------------------------------------------------------------------
  6. #include <a_samp>
  7. #include <dini>
  8. #define BANK_INFO "oBank/%s.ini"
  9. #define MAXMONEY 5000000 // שנו את זה בשביל לשנות את המקסימום כסף שניתן להכניס בבנק
  10. #define COLOR_YELLOW 0xFFFF00AA
  11. #define COLOR_RED 0xFF0000AA
  12. #define COLOR_WHITE 0xFFFFFFFF
  13. #define COLOR_GREEN 0x33AA33AA
  14. #define COLOR_ORANGE 0xFF9900AA
  15. new BankMoney[MAX_PLAYERS];
  16. new TransferMoney[MAX_PLAYERS];
  17. public OnFilterScriptInit()
  18. {
  19. Create3DTextLabel("חשבון בנק", COLOR_YELLOW, 2312.6035,-2.5269,26.7422, 30.0, 0);
  20. return 1;
  21. }
  22. public OnPlayerConnect(playerid)
  23. {
  24. TransferMoney[playerid] = 0;
  25. SetPlayerCheckpoint(playerid, 2312.6035,-2.5269,26.7422, 1.5);
  26. new file[256];
  27. format(file, sizeof(file), BANK_INFO, GetName(playerid));
  28. if(!dini_Exists(file))
  29. {
  30. dini_Create(file);
  31. dini_Set(file, "Name", GetName(playerid));
  32. dini_IntSet(file, "BankMoney", 0);
  33. BankMoney[playerid] = 0;
  34. }
  35. else return BankMoney[playerid] = dini_Int(file, "BankMoney");
  36. return 1;
  37. }
  38. public OnPlayerDisconnect(playerid, reason)
  39. {
  40. DisablePlayerCheckpoint(playerid);
  41. new file[256];
  42. format(file, sizeof(file), BANK_INFO, GetName(playerid));
  43. if(dini_Exists(file))
  44. {
  45. dini_IntSet(file, "BankMoney", BankMoney[playerid]);
  46. }
  47. return 1;
  48. }
  49. public OnPlayerCommandText(playerid, cmdtext[])
  50. {
  51. new cmd[256], idx;
  52. cmd = strtok(cmdtext, idx);
  53. if(strcmp(cmd, "/bank", true) == 0)
  54. {
  55. SetPlayerPos(playerid,2308.2341,-15.1879,26.7496);
  56. SendClientMessage(playerid, COLOR_YELLOW, "ברוך הבא לבנק");
  57. SendClientMessage(playerid, COLOR_RED, "אזהרה: אסור לאיים / להרביץ בבנק! בכל פעם שתעשו זאת ירדו לכם 20 חיים");
  58. ResetPlayerWeapons(playerid);
  59. return 1;
  60. }
  61. if(strcmp(cmd, "/setplayerbankmoney", true) == 0 || strcmp(cmd, "/spbm", true) == 0)
  62. {
  63. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "אתה חייב להיות מחובר לרקון בשביל להשתמש בפקודה זו");
  64. new tmp[256], tmp2[256];
  65. tmp = strtok(cmdtext, idx);
  66. tmp2 = strtok(cmdtext, idx);
  67. if(!strlen(tmp))
  68. {
  69. SendClientMessage(playerid, COLOR_ORANGE, "/SetPlayerBankMoney(/SPBM) [ID] [Amount] - שימוש");
  70. return 1;
  71. }
  72. if(!strlen(tmp2))
  73. {
  74. SendClientMessage(playerid, COLOR_ORANGE, "/SetPlayerBankMoney(/SPBM) [ID] [Amount] - שימוש");
  75. return 1;
  76. }
  77. new id, money;
  78. id = strval(tmp);
  79. money = strval(tmp2);
  80. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "האיידי שבחרת שגוי");
  81. if(money < 0) return SendClientMessage(playerid, COLOR_RED, "אינך יכול לשנות את הכסף בחשבון הבנק של השחקן שבחרת לפחות מ0");
  82. //if(playerid == id) return SendClientMessage(playerid, COLOR_RED, "אינך יכול לשנות את סכום הכסף שבחשבון הבנק שלך");
  83. //if(IsPlayerAdmin(id)) return SendClientMessage(playerid, COLOR_RED, "אינך יכול לשנות את סכום הכסף שבחשבון הבנק של אדמין אחר");
  84. new string[128];
  85. format(string, sizeof(string), "%d - ל %s שינית בהצלחה את סכום הכסף שבחשבון הבנק של", money, GetName(id));
  86. SendClientMessage(playerid, COLOR_WHITE, string);
  87. format(string, sizeof(string), "על ידי האדמין %d - סכום הכסף שלך שונה ל", money);
  88. SendClientMessage(id, COLOR_YELLOW, string);
  89. return 1;
  90. }
  91. return 0;
  92. }
  93. public OnPlayerEnterCheckpoint(playerid)
  94. {
  95. ShowPlayerDialog(playerid, 1053, DIALOG_STYLE_LIST, "בנק", "Deposit - הפקד כסף\r\nWithdraw - הוצא כסף\r\nDeposit All - הפקד הכל\r\nWithdraw All - הוצא הכל\r\nTransfer Money - העבר כסף\r\nBalance - מאזן", "בחר", "צא");
  96. return 1;
  97. }
  98. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  99. {
  100. if(dialogid == 1053)
  101. {
  102. if(!response) return SendClientMessage(playerid, COLOR_RED, "בחרת לצאת מחשבון הבנק שלך");
  103. switch(listitem)
  104. {
  105. case 0:
  106. {
  107. ShowPlayerDialog(playerid, 1054, DIALOG_STYLE_INPUT, "הפקדת כסף", "כתוב פה את סכום הכסף שאותו אתה רוצה להפקיד", "הפקד כסף", "חזור");
  108. }
  109. case 1:
  110. {
  111. ShowPlayerDialog(playerid, 1055, DIALOG_STYLE_INPUT, "הוצאת כסף", "כתוב פה את הסכום שאותו אתה רוצה להוציא", "הוצא כסף", "חזור");
  112. }
  113. case 2:
  114. {
  115. if(GetPlayerMoney(playerid) == 0) return SendClientMessage(playerid, COLOR_RED, "יש לך 0 כסף בידך ולכן אינך יכול להפקיד את סכום זה");
  116. new string[128];
  117. BankMoney[playerid] += GetPlayerMoney(playerid);
  118. format(string, sizeof(string), "כסף לאחר העמלה %d הפקדת בבנק", GetPlayerMoney(playerid) - (GetPlayerMoney(playerid)/50));
  119. SendClientMessage(playerid, COLOR_WHITE, string);
  120. ResetPlayerMoney(playerid);
  121. }
  122. case 3:
  123. {
  124. if(BankMoney[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "יש לך 0 כסף בבנק ולכן אינך יכול להוציאו");
  125. new string[128];
  126. GivePlayerMoney(playerid, BankMoney[playerid] - (BankMoney[playerid]/50));
  127. format(string, sizeof(string), "הוצאת את כל כספך מהבנק - %d לאחר העמלה", BankMoney[playerid] - (BankMoney[playerid]/50));
  128. SendClientMessage(playerid, COLOR_WHITE, string);
  129. BankMoney[playerid] = 0;
  130. }
  131. case 4:
  132. {
  133. ShowPlayerDialog(playerid, 1057, DIALOG_STYLE_INPUT, "Tansfer Money", "כתוב את הסכום אותו תרצה להעביר", "אישור", "חזור");
  134. }
  135. case 5:
  136. {
  137. new string[128], file[256];
  138. format(file, sizeof(file), BANK_INFO, GetName(playerid));
  139. format(string, sizeof(string), "כסף %d בחשבון הבנק שלך יש", BankMoney[playerid]);
  140. ShowPlayerDialog(playerid, 1056, DIALOG_STYLE_MSGBOX, "מאזן הכסף", string, "אישור", "");
  141. }
  142. }
  143. return 1;
  144. }
  145. if(dialogid == 1054)
  146. {
  147. if(!response) return ShowPlayerDialog(playerid, 1053, DIALOG_STYLE_LIST, "בנק", "Deposit - הפקד כסף\r\nWithdraw - הוצא כסף\r\nDeposit All - הפקד הכל\r\nWithdraw All - הוצא הכל\r\nTransfer Money - העבר כסף\r\nBalance - מאזן", "בחר", "צא");
  148. new bankmoney = strval(inputtext), maxmoney[128];
  149. format(maxmoney, sizeof(maxmoney), "בכל הפקדה %d - ניתן להפקיד בין 1", MAXMONEY);
  150. if(bankmoney > GetPlayerMoney(playerid)) return SendClientMessage(playerid, COLOR_RED, "אין בידך את הסכום אשר ברצונך להפקיד");
  151. if(bankmoney < 1 || bankmoney > MAXMONEY) return SendClientMessage(playerid, COLOR_RED, maxmoney);
  152. new file[256], string[128];
  153. format(file, sizeof(file), BANK_INFO, GetName(playerid));
  154. format(string, sizeof(string), "כסף בבנק לאחר העמלה %d הפקדת", bankmoney - (bankmoney/50));
  155. SendClientMessage(playerid, COLOR_WHITE, string);
  156. GivePlayerMoney(playerid, -bankmoney);
  157. BankMoney[playerid] += (bankmoney - (bankmoney/50));
  158. }
  159. if(dialogid == 1055)
  160. {
  161. if(!response) return ShowPlayerDialog(playerid, 1053, DIALOG_STYLE_LIST, "בנק", "Deposit - הפקד כסף\r\nWithdraw - הוצא כסף\r\nDeposit All - הפקד הכל\r\nWithdraw All - הוצא הכל\r\nTransfer Money - העבר כסף\r\nBalance - מאזן", "בחר", "צא");
  162. new bankmoney = strval(inputtext), maxmoney[128], file[256], string[128];
  163. format(file, sizeof(file), BANK_INFO, GetName(playerid));
  164. format(maxmoney, sizeof(maxmoney), "בכל הוצאה מהבנק %d - 1 ניתן להוציא בין", MAXMONEY);
  165. if(bankmoney > BankMoney[playerid]) return SendClientMessage(playerid, COLOR_RED, "אין לך סכום כזה בבנק");
  166. if(bankmoney < 1 || bankmoney > MAXMONEY) return SendClientMessage(playerid, COLOR_RED, maxmoney);
  167. format(string, sizeof(string), "כסף מהבנק שלך לאחר העמלה %d הוצאת", bankmoney - (bankmoney/50));
  168. SendClientMessage(playerid, COLOR_WHITE, string);
  169. GivePlayerMoney(playerid, bankmoney - (bankmoney/50));
  170. BankMoney[playerid] -= bankmoney;
  171. }
  172. if(dialogid == 1057)
  173. {
  174. if(!response) return ShowPlayerDialog(playerid, 1053, DIALOG_STYLE_LIST, "בנק", "Deposit - הפקד כסף\r\nWithdraw - הוצא כסף\r\nDeposit All - הפקד הכל\r\nWithdraw All - הוצא הכל\r\nTransfer Money - העבר כסף\r\nBalance - מאזן", "בחר", "צא");
  175. new money = strval(inputtext), maxmoney[128];
  176. format(maxmoney, sizeof(maxmoney), "בכל העברה %d - 1 ניתן להעביר בין", MAXMONEY);
  177. if(money > BankMoney[playerid]) return SendClientMessage(playerid, COLOR_RED, "אין לך את הסכום הזה בבנק");
  178. if(money < 1 || money > MAXMONEY) return SendClientMessage(playerid, COLOR_RED, maxmoney);
  179. TransferMoney[playerid] = money;
  180. ShowPlayerDialog(playerid, 1058, DIALOG_STYLE_INPUT, "Transfer Money", "כתוב פה את השם של השחקן אליו תרצה להעביר את סכום הכסף", "אישור", "חזור");
  181. }
  182. if(dialogid == 1058)
  183. {
  184. if(!response) return ShowPlayerDialog(playerid, 1057, DIALOG_STYLE_INPUT, "Tansfer Money", "כתוב את הסכום אותו תרצה להעביר", "אישור", "חזור");
  185. new file[256], string[128];
  186. format(file, sizeof(file), BANK_INFO, inputtext);
  187. if(!dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, "השם שהכנסת שגוי");
  188. format(string, sizeof(string), "%s כסף לחשבון הבנק של %d העברת", inputtext, TransferMoney[playerid]);
  189. SendClientMessage(playerid, COLOR_WHITE, string);
  190. BankMoney[playerid] -= TransferMoney[playerid];
  191. dini_IntSet(file, "BankMoney", dini_Int(file, "BankMoney") + TransferMoney[playerid]);
  192. TransferMoney[playerid] = 0;
  193. }
  194. return 1;
  195. }
  196. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  197. {
  198. #define PRESSED(%0) \
  199. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  200. new Float:x, Float:y, Float:z, Float:health;
  201. GetPlayerPos(playerid, x, y, z);
  202. health = GetPlayerHealth(playerid, health);
  203. if(PRESSED(KEY_FIRE) && x > 2303.1702 && x < 2321.4692 && y > -18.6614 && y < 1.1621 && z > 26.4844 && z < 32.5313)
  204. {
  205. SetPlayerHealth(playerid, health - 20);
  206. }
  207. if(PRESSED(128) && x > 2303.1702 && x < 2321.4692 && y > -18.6614 && y < 1.1621 && z > 26.4844 && z < 32.5313)
  208. {
  209. SetPlayerHealth(playerid, health - 20);
  210. }
  211. return 1;
  212. }
  213. stock GetName(playerid)
  214. {
  215. new name[MAX_PLAYER_NAME];
  216. GetPlayerName(playerid, name, sizeof(name));
  217. return name;
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement