Skocz do zawartości
Szukaj w
  • Więcej opcji...
Znajdź wyniki, które...
Szukaj wyników w...
LageR#

Problem z menu przelewania kasy

7 odpowiedzi w tym temacie

Rekomendowane odpowiedzi

Znalazłem plugin dotyczący przelewania kasy graczom, gdzie po wpisaniu komendy /przelej otwiera się menu z graczami i wybieramy ilość $ jaką chcemy wysłać danemu graczowi.

#include <amxmodx> 
#include <amxmisc> 
#include <cstrike> 
#include <ColorChat> 

#define PLUGIN "Wymien Bron" 
#define VERSION "1.0" 
#define AUTHOR "MAGNET" 

new przelej_id[33]; 

public plugin_init() { 
    register_plugin(PLUGIN, VERSION, AUTHOR); 
    
    register_clcmd("say /przelej", "Menu_Gracze"); 
} 

public Menu_Gracze(id) 
{ 
    new menu = menu_create("Wybierz Gracza:", "Menu_Gracze_Handler"); 
    for(new i=0, n=0; i<=32; i++) 
    { 
        if(!is_user_connected(i)) 
        continue; 
        przelej_id[n++] = i; 
        new nazwa_gracza[64]; 
        get_user_name(i, nazwa_gracza, 63) 
        menu_additem(menu, nazwa_gracza, "0"); 
    } 
    menu_display(id, menu); 
} 

public Menu_Gracze_Handler(id, menu, item) 
{ 
    if(item == MENU_EXIT) 
    { 
        menu_destroy(menu); 
        return PLUGIN_CONTINUE; 
    } 
    
    if(!is_user_connected(przelej_id[item])){ 
        client_print(id, print_chat, "Nie odnaleziono zadanego gracza."); 
        return PLUGIN_CONTINUE; 
    } 

    Wybierz_Kwote(id) 
    return PLUGIN_CONTINUE; 
} 

public Wybierz_Kwote(id) 
{ 
    new menu = menu_create("Wybierz Gracza:", "Wybierz_Kwote_Handler"); 
    menu_additem(menu, "300$");//1 
    menu_additem(menu, "500$");//2 
    menu_additem(menu, "800$");//3 
    menu_additem(menu, "1500$");//4 
    menu_additem(menu, "2000$");//5 
    menu_additem(menu, "4050$^n");//6 
    menu_additem(menu, "Wlasna Kwota");//7 
    menu_display(id, menu); 
} 
public Wybierz_Kwote_Handler(id, menu, item) 
{ 
    new name[33]; 
    new name2[33]; 
    get_user_name(id,name,32); 
    get_user_name(przelej_id[item], name2,32); 
    if(item == MENU_EXIT) 
    { 
        menu_destroy(menu); 
        return PLUGIN_CONTINUE; 
    } 
    if(!is_user_connected(przelej_id[item])){ 
        ColorChat(id, RED, "[PRZELEW] Nie odnaleziono zadanego gracza."); 
        return PLUGIN_CONTINUE; 
    } 
    switch(item) 
    { 
    case 0: 
        { 
            if(cs_get_user_money(id) < 300) 
            ColorChat(id, RED, "Nie masz tyle pieniedzy!") 
            
            cs_set_user_money(id, cs_get_user_money(id) - 300) 
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 300) 
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 300$ ^x01 od gracza ^x04 %s", name) 
        } 
    case 1: 
        { 
            if(cs_get_user_money(id) < 500) 
            ColorChat(id, RED, "Nie masz tyle pieniedzy!") 
            
            cs_set_user_money(id, cs_get_user_money(id) - 500) 
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 500) 
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 500$ ^x01 od gracza ^x04 %s", name) 
        } 
    case 2: 
        { 
            if(cs_get_user_money(id) < 800) 
            ColorChat(id, RED, "Nie masz tyle pieniedzy!") 
            
            cs_set_user_money(id, cs_get_user_money(id) - 800) 
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 800) 
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 800$ ^x01 od gracza ^x04 %s", name) 
        } 
    case 3: 
        { 
            if(cs_get_user_money(id) < 1500) 
            ColorChat(id, RED, "Nie masz tyle pieniedzy!") 
            
            cs_set_user_money(id, cs_get_user_money(id) - 1500) 
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 1500) 
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 1500$ ^x01 od gracza ^x04 %s", name) 
        } 
    case 4: 
        { 
            if(cs_get_user_money(id) < 2000) 
            ColorChat(id, RED, "Nie masz tyle pieniedzy!") 
            
            cs_set_user_money(id, cs_get_user_money(id) - 2000) 
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 2000) 
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 2000$ ^x01 od gracza ^x04 %s", name) 
        } 
    case 5: 
        { 
            if(cs_get_user_money(id) < 4050) 
            ColorChat(id, RED, "Nie masz tyle pieniedzy!") 
            
            cs_set_user_money(id, cs_get_user_money(id) - 4050) 
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 4050) 
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 4050$ ^x01 od gracza ^x04 %s", name) 
        } 
    } 
    return PLUGIN_CONTINUE; 
}

Jednak jest parę problemów. Np. gdy wybieram już ilość $ np. 300, to w say pokazuję się "Nie odnaleziono żadnego gracza", lub jeśli wybrałem już gracza i wysyłam 300$ to jest napisane "Otrzymałeś 300$ od LageR#". Pomożecie?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem o co Ci chodzi w tym drugim. Zobacz to:

 

 

 

 

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <ColorChat>

#define PLUGIN "Wymien Bron"
#define VERSION "1.0"
#define AUTHOR "MAGNET"

new przelej_id[33];

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_clcmd("say /przelej", "Menu_Gracze");
}

public Menu_Gracze(id)
{
    new menu = menu_create("Wybierz Gracza:", "Menu_Gracze_Handler");
    for(new i=0, n=0; i<=32; i++)
    {
        if(!is_user_connected(i))
        continue;
        przelej_id[n++] = i;
        new nazwa_gracza[64];
        get_user_name(i, nazwa_gracza, 63)
        menu_additem(menu, nazwa_gracza, "0");
    }
    menu_display(id, menu);
}

public Menu_Gracze_Handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }

    new menu = menu_create("Wybierz Gracza:", "Wybierz_Kwote_Handler");
    menu_additem(menu, "300$");//0
    menu_additem(menu, "500$");//1
    menu_additem(menu, "800$");//2
    menu_additem(menu, "1500$");//3
    menu_additem(menu, "2000$");//4
    menu_additem(menu, "4050$^n");//5
    menu_display(id, menu);
    return PLUGIN_CONTINUE;
}

public Wybierz_Kwote_Handler(id, menu, item)
{
    new name[33];
    new name2[33];
    get_user_name(id,name,32);
    get_user_name(przelej_id[item], name2,32);

    switch(item)
    {
    case 0:
        {
            if(cs_get_user_money(id) < 300)
            ColorChat(id, RED, "Nie masz tyle pieniedzy!")
            
            cs_set_user_money(id, cs_get_user_money(id) - 300)
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 300)
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 300$ ^x01 od gracza ^x04 %s", name)
        }
    case 1:
        {
            if(cs_get_user_money(id) < 500)
            ColorChat(id, RED, "Nie masz tyle pieniedzy!")
            
            cs_set_user_money(id, cs_get_user_money(id) - 500)
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 500)
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 500$ ^x01 od gracza ^x04 %s", name)
        }
    case 2:
        {
            if(cs_get_user_money(id) < 800)
            ColorChat(id, RED, "Nie masz tyle pieniedzy!")
            
            cs_set_user_money(id, cs_get_user_money(id) - 800)
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 800)
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 800$ ^x01 od gracza ^x04 %s", name)
        }
    case 3:
        {
            if(cs_get_user_money(id) < 1500)
            ColorChat(id, RED, "Nie masz tyle pieniedzy!")
            
            cs_set_user_money(id, cs_get_user_money(id) - 1500)
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 1500)
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 1500$ ^x01 od gracza ^x04 %s", name)
        }
    case 4:
        {
            if(cs_get_user_money(id) < 2000)
            ColorChat(id, RED, "Nie masz tyle pieniedzy!")
            
            cs_set_user_money(id, cs_get_user_money(id) - 2000)
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 2000)
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 2000$ ^x01 od gracza ^x04 %s", name)
        }
    case 5:
        {
            if(cs_get_user_money(id) < 4050)
            ColorChat(id, RED, "Nie masz tyle pieniedzy!")
            
            cs_set_user_money(id, cs_get_user_money(id) - 4050)
            cs_set_user_money(przelej_id[item], cs_get_user_money(przelej_id[item]) + 4050)
            ColorChat(id, GREEN, "[PRZELEW] ^x01 Pieniadze pomyslnie przelane dla gracza ^x04 %s", name2)
            ColorChat(przelej_id[item], GREEN, "[PRZELEW] ^x01 Otrzymales ^x03 4050$ ^x01 od gracza ^x04 %s", name)
        }
    }
    return PLUGIN_CONTINUE;
}
 

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wyskoczył błąd.

fatal error 100: cannot read from file: "ColorChat"

A w drugim po prostu, jeśli ja wysyłam kasę do innego gracza to jest napisane "Otrzymałeś $ od Lage[R]#"

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Kompiluj lokalnie. W folderze include musisz mieć plik colorchat.inc:

http://www.speedyshare.com/u6zdF/ColorChat.inc

 

Odnośnie pytania, to pojawia ci się to równocześnie z informacją, że przelałeś kasę jakiemuś graczowi? Tamtej osobie też to się pojawia?

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie skompilowało się. Mam plik i nic.


Odnośnie pytania, wyskakuję tylko to, że to niby ja dostałem kasę od siebie. Nie sprawdzałem u nikogo.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie mogłem długo odpalić serwera, więc przetestowałem na Non-Steamie na HLDS.
Opiszę parę problemów.

 

http://www.iv.pl/images/11681572681640383797.png

Przy wybieraniu graczy nie potrzebnie jest ten, kto chce wysłać kase.

 

http://www.iv.pl/images/88014914584826509214.png

Gdy wybrałem już gracza, są podane kwoty. Nie ma opcji "Wlasna kwota". Jednak najlepiej by było, gdyby po wybraniu gracza, byłaby bezpośrednia możliwość wpisania kwoty bez gotowych.

 

http://www.iv.pl/images/32763795902052161698.png

Po wybraniu gracza (Irving), kwoty (300$), pojawia się ten problem, który wyżej opisywałem i nie mogłeś zrozumieć. 

 

Myślę, że da się naprawić, aby sprawnie chodziło.

Edytowane przez LageR#

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 

Przy wybieraniu graczy nie potrzebnie jest ten, kto chce wysłać kase.

Niestety tak musi być. Nie da się z tym nic zrobić, jeżeli chcesz mieć menu wyboru graczy.

 

 

Nie ma opcji "Wlasna kwota".

Niestety nie mam czasu z tym się bawić. Popróbuj dodać to sam.

 

 

który wyżej opisywałem i nie mogłeś zrozumieć

Bo ten problem raczej nie występuje. Po prostu wybierasz sam siebie i jesteś graczem, który wysyła kasę i ją dostaje.

Wyślij ją komuś innemu i tego napisu nie będzie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×