Witam poszukuje pluginu cod_bank , żebym walute ordery , itp... Znalazłem coś fajnego tylko nie moge tego z komplikować i zrobić proszę o odpowiedz,
#include <amxmodx> #include <codmod> #include <nvault> #include <ColorChat> new g_vault; new ilosc[33]; new g_iPlayerCoins[33]; new bool:g_bZalogowany[33]; new g_PlayerName[33][33] new g_szPodaneHaslo[33]; new bool:g_bIstnieje[33]; new g_iZapisaneOrdery[33]; new gracz_id[33]; new player_id; new ilosc2[33]; new name[33]; public plugin_init() { register_plugin("Bank na ordery", "1.0", "Buli edit AstralaS"); register_clcmd("say /bank", "Bank"); register_clcmd("say /login", "Bank"); register_clcmd("say /loguj", "Bank"); register_clcmd("say /zaloguj", "Bank"); register_clcmd("say /wyloguj", "Wyloguj"); register_clcmd("HasloLogowania", "PodajHaslo"); register_clcmd("HasloRejestracji", "ZarejestrujHaslo"); register_clcmd("ile_wplacic", "Wplata"); register_clcmd("ile_wyplacic", "Wyplata"); register_clcmd("ile_przelac","pobierz"); g_vault = nvault_open("Bank"); } public plugin_natives() { register_native("cod_get_bank_orders", "PobierzOrderyZBanku", 1); register_native("cod_set_bank_orders", "DodajOrderyDoBanku", 1); register_native("cod_bank_loggedin", "ZwrocStatusGracza", 1); } public plugin_end() { nvault_close(g_vault); } public client_authorized(id) { get_user_name(id, g_PlayerName[id], 32); WczytajBank(id); } public client_connect(id) { g_iPlayerCoins[id] = 0; g_iZapisaneOrdery[id] = 0; g_bIstnieje[id] = false; g_bZalogowany[id] = false; } public client_disconnect(id) { ZapiszBank(id); g_iPlayerCoins[id] = 0; g_iZapisaneOrdery[id] = 0; g_bIstnieje[id] = false; g_bZalogowany[id] = false; } public Bank(id) { if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } new szTitle[80]; formatex(szTitle, charsmax(szTitle), "^n\wWitaj\y %s!^n\yWybierz jedna z opcji:", g_PlayerName[id]); new menu = menu_create(szTitle, "Bank_Handler"); if( !g_bZalogowany[id] ) { menu_additem(menu, "Zaloguj^n \d- Logowanie do istniejacego juz konta"); } else { menu_additem(menu, "Przejdz do strefy banku"); menu_addblank(menu, 2); menu_additem(menu, "Wyloguj^n \d- Wylogowanie sie z aktywnego konta"); } new key[128], data2[256]; format(key, charsmax(key), "%s", g_PlayerName[id]); if(nvault_get(g_vault, key, data2, 255)) { if( !g_bZalogowany[id] ) { g_bIstnieje[id] = true; menu_addblank(menu, 2); menu_additem(menu, "\dPodany nick jest juz zarejestrowany", "", -1); } } else { if( !g_bZalogowany[id] ) { g_bIstnieje[id] = false; menu_addblank(menu, 2); menu_additem(menu, "Zarejestruj^n \d- Rejestracja nowego konta"); } } menu_display(id, menu); return PLUGIN_CONTINUE; } public Bank_Handler(id, menu, item) { if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } if( item == MENU_EXIT ) { return PLUGIN_CONTINUE; } switch(item) { case 0: { if( !g_bZalogowany[id] ) { console_cmd(id, "messagemode HasloLogowania"); } else { BankZalogowany(id) } } case 1: { if( !g_bZalogowany[id] ) { if(!g_bIstnieje[id]) { console_cmd(id, "messagemode HasloRejestracji"); } else { Bank(id); } } else { client_cmd(id, "say /wyloguj") } } } return PLUGIN_CONTINUE; } public ZarejestrujHaslo(id) { if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } new key[128], data[256], data2[256]; format(key, charsmax(key), "%s", g_PlayerName[id]); if(nvault_get(g_vault, key, data2, 255)) { ColorChat(id, GREEN, "[COD:MW]^x01 Podany nick jest juz zarejestrowany w bazie danych."); return PLUGIN_CONTINUE; } new text[192] read_argv(1, text, 191) format(g_szPodaneHaslo[id], charsmax(g_szPodaneHaslo), "%s", text); g_iZapisaneOrdery[id] = 0; formatex(data, charsmax(data), "%s %d", g_szPodaneHaslo[id], g_iZapisaneOrdery[id]); nvault_set(g_vault, key, data); ColorChat(id, GREEN, "[COD:MW]^x01 Zostales pomyslnie zarejestrowany."); g_bZalogowany[id] = true; Bank(id); return PLUGIN_CONTINUE; } public PodajHaslo(id) { if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } new text[192] read_argv(1, text, 191) format(g_szPodaneHaslo[id], charsmax(g_szPodaneHaslo), "%s", text); new key[128], data[256], data2[256]; format(key, charsmax(key), "%s", g_PlayerName[id]); if(!nvault_get(g_vault, key, data2, 255)) { ColorChat(id, GREEN, "[COD:MW]^x01 Konto o tym nicku nie jest zarejestrowane!"); return PLUGIN_CONTINUE; } nvault_get(g_vault, key, data, 255); new szData[2][32]; parse(data, szData[0], 31, szData[1], 31); g_iZapisaneOrdery[id] = str_to_num(szData[1]); if(equali(szData[0], g_szPodaneHaslo[id])) { g_bZalogowany[id] = true; BankZalogowany(id); return PLUGIN_CONTINUE; } else { ColorChat(id, GREEN, "[COD:MW]^x01 Podales bledne haslo!"); Bank(id); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public BankZalogowany(id) { if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } new szTitle[64]; formatex(szTitle, charsmax(szTitle), "\wKonto:\y %s^n\wOrdery w banku: \y%d", g_PlayerName[id], g_iZapisaneOrdery[id]); new menu = menu_create(szTitle, "BankZalogowany_handler"); menu_additem(menu, "Wplac ordery^n \d- WPLACA ordery do banku"); menu_addblank(menu, 2); menu_additem(menu, "Wyplac ordery^n \d- WYPLACA ordery z banku"); menu_addblank(menu, 3); menu_additem(menu, "Wplac wszystko^n \d- WPLACA wszystkie twoje ordery"); menu_addblank(menu, 4); menu_additem(menu, "Wyplac wszystko^n \d- WYPLACA wszystkie ordery z banku"); menu_addblank(menu, 5); menu_additem(menu, "Przelew^n \d- PRZELEWASZ ordery na konto innej osoby"); menu_display(id, menu); return PLUGIN_CONTINUE; } public BankZalogowany_handler(id, menu, item) { g_iPlayerCoins[id] = cod_get_user_coins(id); if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } if(item == MENU_EXIT) { return PLUGIN_CONTINUE; } switch(item) { case 0: { console_cmd(id, "messagemode ile_wplacic"); } case 1: { console_cmd(id, "messagemode ile_wyplacic"); } case 2: { if(g_iPlayerCoins[id] <= 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Nie masz zadnych orderow!"); return PLUGIN_CONTINUE; } else { ColorChat(id, GREEN, "[COD:MW]^x01 Wplaciles^x03 %d^x01 orderow do banku!", cod_get_user_coins(id)); g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] + cod_get_user_coins(id); cod_set_user_coins(id, 0); } } case 3: { if(g_iZapisaneOrdery[id] <= 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Nie masz orderow w banku!"); return PLUGIN_CONTINUE; } else { ColorChat(id, GREEN, "[COD:MW]^x01 Wyplaciles^x03 %d^x01 orderow z banku!", g_iZapisaneOrdery[id]); cod_set_user_coins(id, g_iPlayerCoins[id] + g_iZapisaneOrdery[id]); g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] - g_iZapisaneOrdery[id]; } } case 4: { przelew(id); } } return PLUGIN_CONTINUE; } public Wplata(id) { if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } new text[192] read_argv(1, text, 191) format(ilosc, charsmax(ilosc), "%s", text); g_iPlayerCoins[id] = cod_get_user_coins(id); if(str_to_num(ilosc) <= 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Bledna wartosc!"); return PLUGIN_CONTINUE; } if(str_to_num(ilosc) + g_iZapisaneOrdery[id] <= 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Bledna wartosc!"); return PLUGIN_CONTINUE; } if(g_iPlayerCoins[id] - str_to_num(ilosc) < 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Nie masz tylu orderow!"); return PLUGIN_CONTINUE; } cod_set_user_coins(id, g_iPlayerCoins[id] - str_to_num(ilosc)); g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] + str_to_num(ilosc); if(str_to_num(ilosc) == 1) { ColorChat(id, GREEN, "[COD:MW]^x01 Wplaciles^x03 %d^x01 order do banku!", str_to_num(ilosc)); } else if(str_to_num(ilosc) == 2 || str_to_num(ilosc) == 3 || str_to_num(ilosc) == 4) { ColorChat(id, GREEN, "[COD:MW]^x01 Wplaciles^x03 %d^x01 ordery do banku!", str_to_num(ilosc)); } else { ColorChat(id, GREEN, "[COD:MW]^x01 Wplaciles^x03 %d^x01 orderow do banku!", str_to_num(ilosc)); } log_amx("[Funkcja: Wplata()] Gracz %s wplacil %d orderow do banku", g_PlayerName[id], str_to_num(ilosc)); ZapiszBank(id); return PLUGIN_CONTINUE } public Wyplata(id) { if( !is_user_connected(id) ) { return PLUGIN_CONTINUE; } new text[192] read_argv(1, text, 191) format(ilosc, charsmax(ilosc), "%s", text); g_iPlayerCoins[id] = cod_get_user_coins(id); if(str_to_num(ilosc) <= 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Bledna wartosc!"); return PLUGIN_CONTINUE; } if(g_iZapisaneOrdery[id] - str_to_num(ilosc) < 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Nie masz tylu orderow w banku."); return PLUGIN_CONTINUE; } if(g_iPlayerCoins[id] + str_to_num(ilosc) <= 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Bledna wartosc!"); return PLUGIN_CONTINUE; } cod_set_user_coins(id, g_iPlayerCoins[id] + str_to_num(ilosc)); g_iZapisaneOrdery[id] = g_iZapisaneOrdery[id] - str_to_num(ilosc); if(str_to_num(ilosc) == 1) { ColorChat(id, GREEN, "[COD:MW]^x01 Wyplaciles^x03 %d^x01 order z banku!", str_to_num(ilosc)); } else if(str_to_num(ilosc) == 2 || str_to_num(ilosc) == 3 || str_to_num(ilosc) == 4) { ColorChat(id, GREEN, "[COD:MW]^x01 Wyplaciles^x03 %d^x01 ordery z banku!", str_to_num(ilosc)); } else { ColorChat(id, GREEN, "[COD:MW]^x01 Wyplaciles^x03 %d^x01 orderow z banku!", str_to_num(ilosc)); } log_amx("[Funkcja: Wyplata()] Gracz %s wyplacil %d orderow z banku", g_PlayerName[id], str_to_num(ilosc)); ZapiszBank(id); return PLUGIN_CONTINUE; } public WczytajBank(id) { new key[128], data2[256]; format(key, charsmax(key), "%s", g_PlayerName[id]); if( !nvault_get(g_vault, key, data2, 255) ) { return PLUGIN_CONTINUE; } new data[256]; nvault_get(g_vault, key, data, 255); new szData[2][33]; parse(data, szData[0], 32, szData[1], 32); g_iZapisaneOrdery[id] = str_to_num(szData[1]); return PLUGIN_CONTINUE; } public ZapiszBank(id) { new key[128], data2[256]; format(key, charsmax(key), "%s", g_PlayerName[id]); if( !nvault_get(g_vault, key, data2, 255) ) { return PLUGIN_CONTINUE; } new data[256], data3[256]; nvault_get(g_vault, key, data, 255); new szData[2][32]; parse(data, szData[0], 31, szData[1], 31); formatex(data3, charsmax(data3), "%s %d", szData[0], g_iZapisaneOrdery[id]); nvault_set(g_vault, key, data3); return PLUGIN_CONTINUE; } public PobierzOrderyZBanku(id) { if(g_bZalogowany[id]) return g_iZapisaneOrdery[id]; return 0; } public DodajOrderyDoBanku(id, wartosc) { if(g_bZalogowany[id]) { g_iZapisaneOrdery[id] += wartosc } } public ZwrocStatusGracza(id) { return g_bZalogowany[id]; } public Wyloguj(id) { if( g_bZalogowany[id] ) { g_bZalogowany[id] = false; ColorChat(id, GREEN, "[COD:MW]^x01 Zostales^x03 wylogowany^x01 z banku."); ZapiszBank(id) return PLUGIN_CONTINUE; } ColorChat(id, GREEN, "[COD:MW]^x01 Nie jestes^x03 zalogowany^x01!"); return PLUGIN_CONTINUE; } public przelew(id) { new menu = menu_create("\yWybierz gracza:", "Przelew_Gracza_handler"); for(new i=0, n=0; i<=32; i++) { if(!is_user_connected(i)) continue; if(i == id) continue; gracz_id[n++] = i; new nazwa_gracza[64]; get_user_name(i, nazwa_gracza, 63) menu_additem(menu, nazwa_gracza, "0", 0); } menu_display(id, menu); } public Przelew_Gracza_handler(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } player_id = gracz_id[item]; get_user_name(player_id, name, 32); console_cmd(id, "messagemode ile_przelac"); return PLUGIN_CONTINUE; } public pobierz(id) { new text[192] read_argv(1,text,191) format(ilosc2, charsmax(ilosc2), "%s", text); przelej2(id) } public przelej2(id) { new name2[33]; get_user_name(id, name2, 32); if(g_iZapisaneOrdery[id] >= str_to_num(ilosc2) > 0) { g_iZapisaneOrdery[player_id] += str_to_num(ilosc2) g_iZapisaneOrdery[id] -= str_to_num(ilosc2) ColorChat(id, GREEN, "[COD:MW]^x01 Przelales na konto gracza^x03 %s^x01 kwote w wysokosci :^x04 %i^x01 orderow",name,str_to_num(ilosc2)); ColorChat(player_id, RED, "[COD:MW2]^x01 Gracz^x03 %s^x01 przelal na twoje konto:^x04 %i^x01 orderow",name2,str_to_num(ilosc2)); ZapiszBank(player_id) } else if(str_to_num(ilosc2) > g_iZapisaneOrdery[id]) { ColorChat(id, GREEN, "[COD:MW]^x01 Nie masz tyle orderow"); } else if(g_iZapisaneOrdery[id] >= str_to_num(ilosc2) <= 0) { ColorChat(id, GREEN, "[COD:MW]^x01 Bledna wartosc"); } }