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");
}
}


Dodatki SourceMod




cod_bank.amxx








