Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

cod targ problem nie wyswietlaja sie oferty

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 ChrisN

    Wszechpomocny

  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 25.06.2018 20:37

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

  • +
  • -
  • 0

#2 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 26.06.2018 10:51

Znalazłem problem, tylko nie wiem dlaczego tak się dzieje.

 

Mianowicie te dwie linijki zamieniłem na colorchat

 

ColorChat(id, GREEN, "[%s]^x04 Niepoprawna kwota! (Max %i)", MAX_VALUE);

ColorChat(id, GREEN, "[%s]^x04 Wystawiles przedmiot na targu.");

 

I dlatego przestało działać wystawianie ;/ Oryginalnie są tak

 

client_print(id, print_center, "Niepoprawna wartosc (MIN. %i)", MAX_VALUE)

client_print(id, print_center, "Wystawiles Perk na rynku");


  • +
  • -
  • 0

#3 K@MILOVVSKY

    Zaawansowany

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:118
  • Steam:steam
  • Imię:Kamil
Offline

Napisano 26.06.2018 11:42

Widzę tutaj pełno niezdefiniowanych zmiennych w tych ColorChat'ach, np: 

ColorChat(id, GREEN, "[%s]^x04 Wystawiles przedmiot na targu.");

Jest tam [%s], ale nie jest ono zdefiniowane po przecinku, gdy skończy się tekst. Więc pousuwaj to [%s] tam gdzie nie trzeba. 


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych