Hey, pobrałem cod rynek i pozmieniałem tylko client printy na colorchat, lecz chyba gdzieś coś źle zrobiłem bo przy wystawianiu perk znika, jest mozliwy do usuniecia z rynku ale nie wyswietla sie do zakupu oraz nie wyswietla sie wiadomosc ze gracz x wystawil perk za x kredytow ;/
#include <amxmodx> #include <codmod> #include <ColorChat> #include <cstrike> new const PREFIX[] = "COD" native cod_set_user_coins(id, wartosc); native cod_get_user_coins(id); #define MAX_VALUE 500 ///maxymalna cena za perk enum e_Player { PLAYER_PERK_ID, PLAYER_PERK_PRICE, PLAYER_PERK_NAME[33] } new iPlayer[33][e_Player]; new id2[33]; new ilosc_ofert; public plugin_init() { register_plugin("CoD Rynek", "1.2", "MAGNET (pomoc - GT Team)"); register_clcmd("say /targ", "Rynek"); register_clcmd("cena", "Wystawienie"); } public client_connect(id) { iPlayer[id][PLAYER_PERK_PRICE] = 0; iPlayer[id][PLAYER_PERK_ID] = 0; iPlayer[id][PLAYER_PERK_NAME] = 0; } public Rynek(id) { new tytul[128]; formatex(tytul, charsmax(tytul), "COD TARG"); new menu = menu_create(tytul, "Rynek_Handler"); new cb = menu_makecallback("Rynek_Callback"); if(!cod_get_user_perk(id)) formatex(tytul, charsmax(tytul), "Brak przedmiotu do wystawienia"); else if(iPlayer[id][PLAYER_PERK_ID]) formatex(tytul, charsmax(tytul), "Masz juz wystawiony przedmiot"); else if(cod_get_user_perk(id) && !iPlayer[id][PLAYER_PERK_ID]) formatex(tytul, charsmax(tytul), "Wystaw przedmiot"); menu_additem(menu, tytul, _, _, cb); formatex(tytul, charsmax(tytul), "%s", ilosc_ofert ? "Kup Przedmiot" : "Brak Ofert Kupna"); menu_additem(menu, tytul, _, _, cb); formatex(tytul, charsmax(tytul), "Usun Przedmiot z Targu"); menu_additem(menu, tytul, _, _, cb); menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER); menu_setprop(menu, MPROP_EXIT, 0); menu_display(id, menu); return PLUGIN_CONTINUE; } public Rynek_Handler(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } switch(item) { case 0: Rynek_Sprzedaz(id); case 1: Rynek_Kupno(id); case 2: Rynek_Usun(id); } return PLUGIN_CONTINUE; } public Rynek_Callback(id, menu, item) { if((item == 0 && (!cod_get_user_perk(id) || iPlayer[id][PLAYER_PERK_ID])) || item == 1 && !ilosc_ofert || item == 2 && !iPlayer[id][PLAYER_PERK_ID]) return ITEM_DISABLED; return ITEM_ENABLED; } public Rynek_Sprzedaz(id) { if(!cod_get_user_perk(id)) { client_print(id, print_center, "Nie masz zadnego perku!"); Rynek(id); return PLUGIN_CONTINUE; } if(iPlayer[id][PLAYER_PERK_ID]) { client_print(id, print_center, "Mozesz wystawic tylko 1 Perk!"); Rynek(id); return PLUGIN_CONTINUE; } client_print(id, print_center, "Podaj cene:"); client_cmd(id, "messagemode cena"); return PLUGIN_CONTINUE; } public Wystawienie(id) { new szIle[5], ile; new nick[33]; get_user_name(id, nick, 32); read_argv(1, szIle, charsmax(szIle)); remove_quotes(szIle); ile = str_to_num(szIle); if(!(0 < ile <= MAX_VALUE)) { ColorChat(id, GREEN, "[%s]^x04 Niepoprawna kwota! (Max %i)", MAX_VALUE) Rynek(id); return PLUGIN_CONTINUE; } iPlayer[id][PLAYER_PERK_PRICE] = ile; iPlayer[id][PLAYER_PERK_ID] = cod_get_user_perk(id); cod_get_perk_name(cod_get_user_perk(id), iPlayer[id][PLAYER_PERK_NAME], 32); cod_set_user_perk(id, 0); ColorChat(id, GREEN, "[%s]^x04 Wystawiles przedmiot na targu."); ColorChat(0, GREEN, "[%s]^x04 Gracz^x03 %s^x04 wystawil przedmiot^x03 %s^x04 na targu za^x03 %i^x04 kredytow.", PREFIX, nick, iPlayer[id][PLAYER_PERK_NAME], ile); ilosc_ofert++; return PLUGIN_CONTINUE; } public Rynek_Kupno(id) { new tytul[128]; formatex(tytul, charsmax(tytul), "\yDostepne Oferty:"); new menu = menu_create(tytul, "Rynek_Kupno_Handler"); for(new i=1;i<32;i++) { if(!iPlayer[i][PLAYER_PERK_ID] || !is_user_connected(i)) continue; new szData[4] new name[33]; num_to_str(i, szData, 3) get_user_name(i, name, 32); formatex(tytul, charsmax(tytul), "%s\y [%s]\w Cena:\r [%i Kredytow]", name, iPlayer[i][PLAYER_PERK_NAME],iPlayer[i][PLAYER_PERK_PRICE]); menu_additem(menu, tytul, szData); } menu_setprop(menu, MPROP_BACKNAME, "Wstecz"); menu_setprop(menu, MPROP_NEXTNAME, "Dalej"); menu_setprop(menu, MPROP_EXIT, "Wyjscie"); menu_display(id, menu); return PLUGIN_CONTINUE; } public Rynek_Kupno_Handler(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new acces,cb, szData[4], szName[2] menu_item_getinfo(menu, item, acces, szData, 3, szName, 1, cb) id2[id] = str_to_num(szData) if(!is_user_connected(id2[id])) { ColorChat(id, GREEN, "[%s]^x04 Sprzedajacy wyszedl z serwera.") Rynek_Kupno(id); return PLUGIN_CONTINUE; } if(!iPlayer[id2[id]][PLAYER_PERK_ID]) { ColorChat(id, GREEN, "[%s]^x04 Przedmiot zostal juz sprzedany."); Rynek_Kupno(id); return PLUGIN_CONTINUE; } new tytul[128]; new opis[64]; new name[33]; get_user_name(id2[id], name, 32); cod_get_perk_desc(iPlayer[id2[id]][PLAYER_PERK_ID], opis, charsmax(opis)); formatex(tytul, charsmax(tytul), "Potwierdzenie kupna przedmiotu od %s", name); new menu = menu_create(tytul, "Rynek_Kupno_Potwierdzenie"); new cbb = menu_makecallback("CallBack") format(tytul, charsmax(tytul), "Przedmiot: \r[%s]", iPlayer[id2[id]][PLAYER_PERK_NAME]); menu_additem(menu, tytul, _, _, cbb); format(tytul, charsmax(tytul), "Opis : \r[%s]^n^n\wCzy chcesz kupic ten przedmiot?", opis) menu_additem(menu, tytul, _, _, cbb); menu_additem(menu, "Tak"); menu_additem(menu, "Nie"); menu_setprop(menu, MPROP_EXIT, 0); menu_display(id, menu); return PLUGIN_CONTINUE; } public Rynek_Kupno_Potwierdzenie(id, menu, item) { if(item == MENU_EXIT || item == 3) { Rynek_Kupno(id); return PLUGIN_HANDLED; } if(!is_user_connected(id2[id])) { ColorChat(id, GREEN, "[%s]^x04 Sprzedajacy wyszedl z serwera."); Rynek_Kupno(id); return PLUGIN_CONTINUE; } if(!iPlayer[id2[id]][PLAYER_PERK_ID]) { ColorChat(id, GREEN, "[%s]^x04 Przedmiot zostal juz sprzedany."); Rynek_Kupno(id); return PLUGIN_CONTINUE; } if(cod_get_user_coins(id) < iPlayer[id2[id]][PLAYER_PERK_PRICE]) { Rynek_Kupno(id); ColorChat(id, GREEN, "[%s]^x04 Masz za malo kredytow!"); } else { new nick[33]; get_user_name(id, nick, 32); cod_set_user_coins(id, cod_get_user_coins(id) - iPlayer[id2[id]][PLAYER_PERK_PRICE]); cod_set_user_coins(id2[id], cod_get_user_coins(id2[id]) +iPlayer[id2[id]][PLAYER_PERK_PRICE]); cod_set_user_perk(id, iPlayer[id2[id]][PLAYER_PERK_ID]); ColorChat(id, GREEN, "[%s]^x04 Przedmiot zakupiony.", PREFIX); ColorChat(id2[id], GREEN, "[%s] - [%s]^x04 Twoj przedmiot zostal zakupiony przez^x03 %s^x04. Otrzymujesz^x03 %i^x04 Kredytow.", PREFIX, nick, iPlayer[id2[id]][PLAYER_PERK_PRICE]); iPlayer[id2[id]][PLAYER_PERK_PRICE] = 0; iPlayer[id2[id]][PLAYER_PERK_ID] = 0; iPlayer[id2[id]][PLAYER_PERK_NAME] = 0; } if(ilosc_ofert) ilosc_ofert--; return PLUGIN_CONTINUE; } public CallBack(id, menu, item) { if(item == 0 || item == 1) return ITEM_DISABLED return ITEM_DISABLED; } public Rynek_Usun(id) { new tytul[64]; formatex(tytul, charsmax(tytul), "\yNa pewno chcesz usunac przedmiot z targu?"); new menu = menu_create(tytul, "Rynek_Usun_Handler"); formatex(tytul, charsmax(tytul), "Tak"); menu_additem(menu, tytul); formatex(tytul, charsmax(tytul), "Nie"); menu_additem(menu, tytul); menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER); menu_setprop(menu, MPROP_EXIT, 0); menu_display(id, menu); return PLUGIN_CONTINUE; } public Rynek_Usun_Handler(id, menu, item) { if(item == MENU_EXIT || item == 1) { menu_destroy(menu); return PLUGIN_HANDLED; } iPlayer[id][PLAYER_PERK_PRICE] = 0; iPlayer[id][PLAYER_PERK_ID] = 0; iPlayer[id][PLAYER_PERK_NAME] = 0; ColorChat(id, GREEN, "[%s]^x04 Przedmiot zostal usuniety z targu.", PREFIX) Rynek(id); return PLUGIN_CONTINUE; }