Advertisement
Guest User

Untitled

a guest
Jun 9th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.99 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <nvault>
  4. #include <dhudmessage>
  5. #include <ColorChat>
  6.  
  7. native set_user_zloto(id, ile);
  8. native get_user_zloto(id);
  9.  
  10. new g_vault;
  11. new ilosc[33];
  12. new g_iPlayerCoins[33];
  13. new bool:g_bZalogowany[33];
  14. new g_PlayerName[33][33]
  15.  
  16. new g_szPodaneHaslo[33];
  17.  
  18. new bool:g_bIstnieje[33];
  19.  
  20. new g_iZapisaneOrdery[33];
  21.  
  22. new gracz_id[33];
  23.  
  24. new player_id;
  25.  
  26. new ilosc2[33];
  27.  
  28. new name[33];
  29.  
  30. new g_msg_screenfade;
  31.  
  32. public plugin_init() {
  33. register_plugin("Bank na ordery", "1.0", "Buli edit AstralaS");
  34. register_clcmd("say /bank", "Bank");
  35. register_clcmd("say /login", "Bank");
  36. register_clcmd("say /daj", "przelew")
  37. register_clcmd("say /przelew", "przelew")
  38. register_clcmd("say /zaloguj", "Bank");
  39. register_clcmd("say /wyloguj", "Wyloguj");
  40. register_clcmd("HasloLogowania", "PodajHaslo");
  41. register_clcmd("HasloRejestracji", "ZarejestrujHaslo");
  42. register_clcmd("ile_wplacic", "Wplata");
  43. register_clcmd("ile_wyplacic", "Wyplata");
  44. register_clcmd("ile_przelac","pobierz");
  45. g_vault = nvault_open("Bank");
  46. g_msg_screenfade = get_user_msgid("ScreenFade");
  47. }
  48.  
  49. public plugin_natives()
  50. {
  51. register_native("bb_get_bank_orders", "PobierzOrderyZBanku", 1);
  52. register_native("bb_set_bank_orders", "DodajOrderyDoBanku", 1);
  53. register_native("bb_bank_loggedin", "ZwrocStatusGracza", 1);
  54. register_native("get_show_menu_Bank", "native_get_show_menu_Bank", 1);
  55. }
  56.  
  57. public plugin_end()
  58. {
  59. nvault_close(g_vault);
  60. }
  61.  
  62. public client_authorized(id)
  63. {
  64. get_user_name(id, g_PlayerName[id], 32);
  65. WczytajBank(id);
  66. }
  67.  
  68. public client_connect(id)
  69. {
  70. g_iPlayerCoins[id] = 0;
  71. g_iZapisaneOrdery[id] = 0;
  72. g_bIstnieje[id] = false;
  73. g_bZalogowany[id] = false;
  74.  
  75. set_task(1.5, "Sprawdz", id,_,_,"b");
  76. set_task(0.1, "Sprawdz1", id,_,_,"b");
  77. }
  78.  
  79. public client_disconnect(id)
  80. {
  81. ZapiszBank(id);
  82. g_iPlayerCoins[id] = 0;
  83. g_iZapisaneOrdery[id] = 0;
  84. g_bIstnieje[id] = false;
  85. g_bZalogowany[id] = false;
  86. }
  87. public Sprawdz(id){
  88. if( !is_user_connected(id) || is_user_hltv(id) || has_flag(id,"a"))
  89. {
  90. return PLUGIN_HANDLED;
  91. }
  92. if( !g_bZalogowany[id] ){
  93. set_dhudmessage(255, 0,0, -1.0, 0.27, 0, 0.01, 1.4, 0.2, 0.2)
  94. show_dhudmessage(id, "ZALOGUJ SIE DO BANKU^n/bank lub /konto")
  95. /*if(is_user_alive(id))
  96. ColorChat(id, GREEN, ">>>^x01 Zaloguj sie do banku, jesli nie posiadasz to zaloz konto bankowe^x03 /bank^x04 <<<");
  97. else return PLUGIN_HANDLED*/
  98. }else{
  99. return PLUGIN_HANDLED;
  100. }
  101. return PLUGIN_HANDLED;
  102.  
  103. }
  104. public Sprawdz1(id){
  105. if( !is_user_connected(id) || has_flag(id,"a") || is_user_hltv(id) )
  106. {
  107. return PLUGIN_HANDLED;
  108. }
  109. if( !g_bZalogowany[id] ){
  110. Display_Fade(id,1<<11,1<<11 ,1<<25,0,0,0,255);
  111. Bank(id);
  112. }else{
  113. return PLUGIN_HANDLED;
  114. }
  115. return PLUGIN_HANDLED;
  116.  
  117. }
  118.  
  119.  
  120. public Bank(id)
  121. {
  122. if( !is_user_connected(id) )
  123. {
  124. return PLUGIN_CONTINUE;
  125. }
  126.  
  127. new szTitle[80];
  128. formatex(szTitle, charsmax(szTitle), "\r[BaseBuilder]^n\yTwoj Bank:\d", g_PlayerName[id]);
  129. new menu = menu_create(szTitle, "Bank_Handler");
  130. if( !g_bZalogowany[id] )
  131. {
  132. menu_additem(menu, "Zaloguj sie");
  133. }
  134. else
  135. {
  136. menu_additem(menu, "Przejdz do strefy banku");
  137. }
  138. new key[128], data2[256];
  139. format(key, charsmax(key), "%s", g_PlayerName[id]);
  140. if(nvault_get(g_vault, key, data2, 255))
  141. {
  142. if( !g_bZalogowany[id] )
  143. {
  144. g_bIstnieje[id] = true;
  145. //menu_addblank(menu, 2);
  146. //menu_additem(menu, "\dPodany nick jest juz zarejestrowany", "", -1);
  147. }
  148. }
  149. else
  150. {
  151. if( !g_bZalogowany[id] )
  152. {
  153. g_bIstnieje[id] = false;
  154. //menu_addblank(menu, 2);
  155. menu_additem(menu, "Zaloz konto bankowe");
  156. }
  157. }
  158. menu_display(id, menu);
  159. return PLUGIN_CONTINUE;
  160. }
  161.  
  162. public Bank_Handler(id, menu, item) {
  163. if( !is_user_connected(id) ) {
  164. return PLUGIN_CONTINUE;
  165. }
  166. if( item == MENU_EXIT ) {
  167. return PLUGIN_CONTINUE;
  168. }
  169. switch(item) {
  170. case 0:
  171. {
  172. if( !g_bZalogowany[id] )
  173. {
  174. console_cmd(id, "messagemode HasloLogowania");
  175. }
  176. else
  177. {
  178. BankZalogowany(id)
  179. }
  180. }
  181. case 1:
  182. {
  183. if( !g_bZalogowany[id] )
  184. {
  185. if(!g_bIstnieje[id])
  186. {
  187. console_cmd(id, "messagemode HasloRejestracji");
  188. }
  189. else
  190. {
  191. Bank(id);
  192. }
  193. }
  194. else
  195. {
  196. client_cmd(id, "say /wyloguj")
  197. }
  198. }
  199. }
  200. return PLUGIN_CONTINUE;
  201. }
  202.  
  203. public ZarejestrujHaslo(id) {
  204. if( !is_user_connected(id) ) {
  205. return PLUGIN_CONTINUE;
  206. }
  207. new key[128], data[256], data2[256];
  208. format(key, charsmax(key), "%s", g_PlayerName[id]);
  209.  
  210. if(nvault_get(g_vault, key, data2, 255)) {
  211. ColorChat(id, GREEN, ">>>^x01^x01 Podany nick jest juz zarejestrowany w bazie danych^x04 <<<");
  212. return PLUGIN_CONTINUE;
  213. }
  214. new text[192]
  215. read_argv(1, text, 191)
  216. format(g_szPodaneHaslo[id], charsmax(g_szPodaneHaslo), "%s", text);
  217. g_iZapisaneOrdery[id] = 0;
  218. formatex(data, charsmax(data), "%s %d", g_szPodaneHaslo[id], g_iZapisaneOrdery[id]);
  219. nvault_set(g_vault, key, data);
  220. ColorChat(id, GREEN, ">>>^x01^x01 Zostales pomyslnie zarejestrowany^x04 <<<");
  221. g_bZalogowany[id] = true;
  222. Bank(id);
  223. return PLUGIN_CONTINUE;
  224. }
  225. public PodajHaslo(id)
  226. {
  227. if( !is_user_connected(id) ) {
  228. return PLUGIN_CONTINUE;
  229. }
  230. new text[192]
  231. read_argv(1, text, 191)
  232. format(g_szPodaneHaslo[id], charsmax(g_szPodaneHaslo), "%s", text);
  233. new key[128], data[256], data2[256];
  234. format(key, charsmax(key), "%s", g_PlayerName[id]);
  235. if(!nvault_get(g_vault, key, data2, 255))
  236. {
  237. ColorChat(id, GREEN, ">>>^x01^x01 Konto o tym nicku nie jest zarejestrowane^x04 <<<");
  238. return PLUGIN_CONTINUE;
  239. }
  240. nvault_get(g_vault, key, data, 255);
  241. new szData[2][32];
  242. parse(data, szData[0], 31, szData[1], 31);
  243. g_iZapisaneOrdery[id] = str_to_num(szData[1]);
  244. if(equali(szData[0], g_szPodaneHaslo[id])) {
  245. g_bZalogowany[id] = true;
  246. BankZalogowany(id);
  247. return PLUGIN_CONTINUE;
  248. }
  249. else
  250. {
  251. ColorChat(id, GREEN, ">>>^x01^x01 Podales bledne haslo^x04 <<<");
  252. Bank(id);
  253. return PLUGIN_CONTINUE;
  254. }
  255. return PLUGIN_CONTINUE;
  256. }
  257.  
  258. public BankZalogowany(id) {
  259. if( !is_user_connected(id) ) {
  260. return PLUGIN_CONTINUE;
  261. }
  262. new szTitle[128];
  263. formatex(szTitle, charsmax(szTitle), "\r[BaseBuilder]^n\r[\wGracz:\y %s\r]^n\r[\wMonety w banku -> \y%d\r]", g_PlayerName[id], g_iZapisaneOrdery[id]);
  264. new menu = menu_create(szTitle, "BankZalogowany_handler");
  265. menu_additem(menu, "Wplac Monety \d(Dowolna ilosc)");
  266. menu_additem(menu, "Wyplac Monety \d(Dowolna ilosc)");
  267. menu_additem(menu, "Wplac wszystko");
  268. menu_additem(menu, "Wyplac wszystko");
  269. menu_additem(menu, "\rPrzelew Monet dla innego gracza");
  270. menu_display(id, menu);
  271. return PLUGIN_CONTINUE;
  272. }
  273.  
  274. public BankZalogowany_handler(id, menu, item)
  275. {
  276. g_iPlayerCoins[id] = get_user_zloto(id);
  277.  
  278. if( !is_user_connected(id) )
  279. {
  280. return PLUGIN_CONTINUE;
  281. }
  282. if(item == MENU_EXIT)
  283. {
  284. return PLUGIN_CONTINUE;
  285. }
  286. switch(item) {
  287. case 0: {
  288. console_cmd(id, "messagemode ile_wplacic");
  289. }
  290. case 1: {
  291. console_cmd(id, "messagemode ile_wyplacic");
  292. }
  293. case 2: {
  294. if(g_iPlayerCoins[id] <= 0)
  295. {
  296. ColorChat(id, GREEN, ">>>^x01^x01 Nie masz zadnych Monet^x04 <<<");
  297. return PLUGIN_CONTINUE;
  298. }
  299. else
  300. {
  301. ColorChat(id, GREEN, ">>>^x01^x01 Wplaciles^x03 %d^x01 Monety do banku^x04 <<<", get_user_zloto(id));
  302. g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] + get_user_zloto(id);
  303. set_user_zloto(id, 0);
  304. }
  305. }
  306. case 3: {
  307. if(g_iZapisaneOrdery[id] <= 0)
  308. {
  309. ColorChat(id, GREEN, ">>>^x01^x01 Nie masz Monet w banku^x04 <<<");
  310. return PLUGIN_CONTINUE;
  311. }
  312. else
  313. {
  314. ColorChat(id, GREEN, ">>>^x01^x01 Wyplaciles^x03 %d^x01 Monet z banku^x04 <<<", g_iZapisaneOrdery[id]);
  315. set_user_zloto(id, g_iPlayerCoins[id] + g_iZapisaneOrdery[id]);
  316. g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] - g_iZapisaneOrdery[id];
  317. }
  318. }
  319. case 4: {
  320. przelew(id);
  321. }
  322. }
  323. return PLUGIN_CONTINUE;
  324. }
  325.  
  326. public Wplata(id)
  327. {
  328. if( !is_user_connected(id) ) {
  329. return PLUGIN_CONTINUE;
  330. }
  331. new text[192]
  332. read_argv(1, text, 191)
  333. format(ilosc, charsmax(ilosc), "%s", text);
  334. g_iPlayerCoins[id] = get_user_zloto(id);
  335. if(str_to_num(ilosc) <= 0)
  336. {
  337. ColorChat(id, GREEN, ">>>^x01^x01 Bledna wartosc^x04 <<<");
  338. return PLUGIN_CONTINUE;
  339. }
  340. if(str_to_num(ilosc) + g_iZapisaneOrdery[id] <= 0)
  341. {
  342. ColorChat(id, GREEN, ">>>^x01^x01 Bledna wartosc^x04 <<<");
  343. return PLUGIN_CONTINUE;
  344. }
  345. if(g_iPlayerCoins[id] - str_to_num(ilosc) < 0)
  346. {
  347. ColorChat(id, GREEN, ">>>^x01^x01 Nie masz tylu Monet^x04 <<<");
  348. return PLUGIN_CONTINUE;
  349. }
  350. set_user_zloto(id, g_iPlayerCoins[id] - str_to_num(ilosc));
  351. g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] + str_to_num(ilosc);
  352. if(str_to_num(ilosc) == 1)
  353. {
  354. ColorChat(id, GREEN, ">>>^x01^x01 Wplaciles^x03 %d^x01 Monet do banku^x04 <<<", str_to_num(ilosc));
  355. }
  356. else if(str_to_num(ilosc) == 2 || str_to_num(ilosc) == 3 || str_to_num(ilosc) == 4)
  357. {
  358. ColorChat(id, GREEN, ">>>^x01^x01 Wplaciles^x03 %d^x01 Monet do banku^x04 <<<", str_to_num(ilosc));
  359. }
  360. else
  361. {
  362. ColorChat(id, GREEN, ">>>^x01^x01 Wplaciles^x03 %d^x01 Monet do banku^x04 <<<", str_to_num(ilosc));
  363. }
  364. log_amx("[Funkcja: Wplata()] Gracz %s wplacil %d Monet do banku", g_PlayerName[id], str_to_num(ilosc));
  365. ZapiszBank(id);
  366. return PLUGIN_CONTINUE
  367. }
  368.  
  369. public Wyplata(id)
  370. {
  371. if( !is_user_connected(id) ) {
  372. return PLUGIN_CONTINUE;
  373. }
  374. new text[192]
  375. read_argv(1, text, 191)
  376. format(ilosc, charsmax(ilosc), "%s", text);
  377. g_iPlayerCoins[id] = get_user_zloto(id);
  378. if(str_to_num(ilosc) <= 0)
  379. {
  380. ColorChat(id, GREEN, ">>>^x01^x01 Bledna wartosc^x04 <<<");
  381. return PLUGIN_CONTINUE;
  382. }
  383. if(g_iZapisaneOrdery[id] - str_to_num(ilosc) < 0)
  384. {
  385. ColorChat(id, GREEN, ">>>^x01^x01 Nie masz tylu Monet w banku^x04 <<<");
  386. return PLUGIN_CONTINUE;
  387. }
  388. if(g_iPlayerCoins[id] + str_to_num(ilosc) <= 0)
  389. {
  390. ColorChat(id, GREEN, ">>>^x01^x01 Bledna wartosc^x04 <<<");
  391. return PLUGIN_CONTINUE;
  392. }
  393. set_user_zloto(id, g_iPlayerCoins[id] + str_to_num(ilosc));
  394. g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] - str_to_num(ilosc);
  395. if(str_to_num(ilosc) == 1)
  396. {
  397. ColorChat(id, GREEN, ">>>^x01^x01 Wyplaciles^x03 %d^x01 Monet z banku^x04 <<<", str_to_num(ilosc));
  398. }
  399. else if(str_to_num(ilosc) == 2 || str_to_num(ilosc) == 3 || str_to_num(ilosc) == 4)
  400. {
  401. ColorChat(id, GREEN, ">>>^x01^x01 Wyplaciles^x03 %d^x01 Monet z banku^x04 <<<", str_to_num(ilosc));
  402. }
  403. else
  404. {
  405. ColorChat(id, GREEN, ">>>^x01^x01 Wyplaciles^x03 %d^x01 Monet z banku^x04 <<<", str_to_num(ilosc));
  406. }
  407. log_amx("[Funkcja: Wyplata()] Gracz %s wyplacil %d Monet z banku", g_PlayerName[id], str_to_num(ilosc));
  408. ZapiszBank(id);
  409. return PLUGIN_CONTINUE;
  410. }
  411.  
  412. public WczytajBank(id)
  413. {
  414. new key[128], data2[256];
  415. format(key, charsmax(key), "%s", g_PlayerName[id]);
  416. if( !nvault_get(g_vault, key, data2, 255) )
  417. {
  418. return PLUGIN_CONTINUE;
  419. }
  420. new data[256];
  421. nvault_get(g_vault, key, data, 255);
  422. new szData[2][33];
  423. parse(data, szData[0], 32, szData[1], 32);
  424. g_iZapisaneOrdery[id] = str_to_num(szData[1]);
  425. return PLUGIN_CONTINUE;
  426. }
  427.  
  428. public ZapiszBank(id)
  429. {
  430. new key[128], data2[256];
  431. format(key, charsmax(key), "%s", g_PlayerName[id]);
  432. if( !nvault_get(g_vault, key, data2, 255) )
  433. {
  434. return PLUGIN_CONTINUE;
  435. }
  436. new data[256], data3[256];
  437. nvault_get(g_vault, key, data, 255);
  438. new szData[2][32];
  439. parse(data, szData[0], 31, szData[1], 31);
  440. formatex(data3, charsmax(data3), "%s %d", szData[0], g_iZapisaneOrdery[id]);
  441. nvault_set(g_vault, key, data3);
  442. return PLUGIN_CONTINUE;
  443. }
  444.  
  445. public PobierzOrderyZBanku(id)
  446. {
  447. if(g_bZalogowany[id])
  448. return g_iZapisaneOrdery[id];
  449. return 0;
  450. }
  451.  
  452. public DodajOrderyDoBanku(id, wartosc)
  453. {
  454. if(g_bZalogowany[id])
  455. {
  456. g_iZapisaneOrdery[id] += wartosc
  457. }
  458. }
  459.  
  460. public ZwrocStatusGracza(id)
  461. {
  462. return g_bZalogowany[id];
  463. }
  464. public native_get_show_menu_Bank(id)
  465. {
  466. Bank(id);
  467. }
  468.  
  469. public Wyloguj(id)
  470. {
  471. if( g_bZalogowany[id] )
  472. {
  473. g_bZalogowany[id] = false;
  474. ColorChat(id, GREEN, ">>>^x01^x01 Zostales^x03 wylogowany^x01 z banku^x04 <<<");
  475. ZapiszBank(id)
  476. return PLUGIN_CONTINUE;
  477. }
  478. ColorChat(id, GREEN, ">>>^x01^x01 Nie jestes^x03 zalogowany^x01^x04 <<<");
  479. return PLUGIN_CONTINUE;
  480. }
  481.  
  482. public przelew(id)
  483. {
  484. if(!g_bZalogowany[id]){
  485. ColorChat(id,GREEN,"^x04>>>^x01 Nie mozesz przelac pieniedzy, poniewaz nie zalogowales sie do banku ^x04<<<");
  486. ColorChat(id,GREEN,"^x04>>>^x01 Jezeli nie masz konta zaloz je^x04 /bank^x01, dziekujemy ^x04<<<");
  487. return;
  488. }
  489.  
  490. new menu = menu_create("\yWybierz gracza:", "Przelew_Gracza_handler");
  491.  
  492. for(new i=0, n=0; i<=32; i++)
  493. {
  494. if(!is_user_connected(i))
  495. continue;
  496. if(i == id)
  497. continue;
  498. gracz_id[n++] = i;
  499. new nazwa_gracza[64];
  500. get_user_name(i, nazwa_gracza, 63)
  501. menu_additem(menu, nazwa_gracza, "0", 0);
  502. }
  503. menu_display(id, menu);
  504. }
  505.  
  506. public Przelew_Gracza_handler(id, menu, item)
  507. {
  508. if(item == MENU_EXIT)
  509. {
  510. menu_destroy(menu);
  511. return PLUGIN_CONTINUE;
  512. }
  513.  
  514. player_id = gracz_id[item];
  515. get_user_name(player_id, name, 32);
  516.  
  517. console_cmd(id, "messagemode ile_przelac");
  518. return PLUGIN_CONTINUE;
  519. }
  520.  
  521. public pobierz(id)
  522. {
  523. new text[192]
  524. read_argv(1,text,191)
  525. format(ilosc2, charsmax(ilosc2), "%s", text);
  526. przelej2(id)
  527. }
  528.  
  529. public przelej2(id)
  530. {
  531. new name2[33];
  532. get_user_name(id, name2, 32);
  533.  
  534. if(g_iZapisaneOrdery[id] >= str_to_num(ilosc2) > 0)
  535. {
  536. g_iZapisaneOrdery[player_id] += str_to_num(ilosc2)
  537. g_iZapisaneOrdery[id] -= str_to_num(ilosc2)
  538.  
  539. ColorChat(id, GREEN, ">>>^x01^x01 Przelales na konto gracza^x03 %s^x01 kwote w wysokosci :^x04 %i^x01 Monet^x04 <<<",name,str_to_num(ilosc2));
  540. ColorChat(player_id, RED, "[Base Builder Bank2]^x01 Gracz^x03 %s^x01 przelal na twoje konto:^x04 %i^x01 Monet^x04 <<<",name2,str_to_num(ilosc2));
  541. ZapiszBank(player_id)
  542. }
  543. else if(str_to_num(ilosc2) > g_iZapisaneOrdery[id])
  544. {
  545. ColorChat(id, GREEN, ">>>^x01^x01 Nie masz tyle Monet^x04 <<<");
  546. }
  547.  
  548. else if(g_iZapisaneOrdery[id] >= str_to_num(ilosc2) <= 0)
  549. {
  550. ColorChat(id, GREEN, ">>>^x01^x01 Bledna wartosc^x04 <<<");
  551. }
  552. }
  553.  
  554. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  555.  
  556. {
  557.  
  558. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  559.  
  560. write_short( duration ); // Duration of fadeout
  561.  
  562. write_short( holdtime ); // Hold time of color
  563.  
  564. write_short( fadetype ); // Fade type
  565.  
  566. write_byte ( red ); // Red
  567.  
  568. write_byte ( green ); // Green
  569.  
  570. write_byte ( blue ); // Blue
  571.  
  572. write_byte ( alpha ); // Alpha
  573.  
  574. message_end();
  575.  
  576. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement