Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Źle pobiera nick gracza przy banowaniu


  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 Andrzejek

    Ucze się :]

  • Power User

Reputacja: 131
Zaawansowany

  • Postów:1300
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Wadowice
Offline

Napisano 15.02.2014 18:12

Witam, mam taki problem że wybieram w menu np. Nazwa Gracza 1 a banuje w ogóle innego gracza np. Nazwa Gracza 2

public menuBanowania(id) {
    if(!access(id, ADMIN_CVAR))    {
        client_print(id, print_console, "Nie masz dostepu do tej komendy");
        return PLUGIN_HANDLED;
    }
    
    new menu=menu_create("Wybierz gracza do zbanowania", "handleBanowanie");
    
    new Player[32], iPlayers, pid, szName[32], szBuff[2];
    get_players(Player, iPlayers)
    
    for(new i=0; i<iPlayers; i++) {
        pid=Player[i];
        if(is_user_connected(pid)) {
            formatex(szBuff, 1, "%d", pid);
            get_user_name(pid, szName, 31);
            menu_additem(menu, szName, szBuff);
        }
    }
    
    menu_display(id, menu);
    
    
    return PLUGIN_HANDLED;
}
public handleBanowanie(id, menu, item) {
    if(item==MENU_EXIT)
        return PLUGIN_HANDLED;
    
    new access,data[2],szName[32],callback,pid;
    menu_item_getinfo(menu, item, access, data,1, szName, 31, callback);
    
    pid=str_to_num(data);
    
    zbanujGracza(id, pid);
    
    return PLUGIN_HANDLED;
}
public zbanujGracza(aid, pid) {
    if(!is_user_connected(pid)) {
        return;
    }
    new szName[32], szName2[32], szSid[32], szSid2[32], szDate[32];
    get_time("%H:%M:%S %d-%m-%Y", szDate, 31);
    
    get_user_name(pid, szName, 31);
    
    get_user_name(aid, szName2, 31);
    
    ColorChat(aid, TEAM_COLOR, "[Ban]^x01 Gracz^x04 %s^x01 zostal pomyslnie zbanowany!", szName);
    ColorChat(pid, TEAM_COLOR, "[Ban]^x04 %s^x01, zostales zbanowany!", szName);
}

  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#2 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 15.02.2014 20:04

http://amxx.pl/topic...tworzenia-menu/

http://amxx.pl/topic...menu-przykłady/

 

formatex(szBuff, 1, "%d", pid);

Według Ciebie każde id gracza posiada tylko jedną cyfrę?


  • +
  • -
  • 1
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#3 kyriuch

    Zaawansowany

  • Użytkownik

Reputacja: -6
Mniej niż zer0.

  • Postów:82
  • GG:
  • Imię:Tomek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 15.02.2014 20:16


formatex(szBuff, 1, "%d", pid);
Według Ciebie każde id gracza posiada tylko jedną cyfrę?

 

troszkę fail, tablica przechowuje dwa znaki, jej elementami są 0 i 1 więc len = 1, kolega dobrze napisał :)
jak na razie mogę zasugerować

 formatex(szBuff, 1, "%d", pid);

zastąpić na
 

 num_to_str(pid, szBuff, 1);

i zobaczyć, czy działa :)


  • +
  • -
  • -3

#4 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 15.02.2014 20:18

formatex(szBuff, 1, "%d", pid);
Według Ciebie każde id gracza posiada tylko jedną cyfrę?

 
troszkę fail, tablica przechowuje dwa znaki, jej elementami są 0 i 1 więc len = 1, kolega dobrze napisał :)
jak na razie mogę zasugerować
 formatex(szBuff, 1, "%d", pid);
zastąpić na
 
 num_to_str(pid, szBuff, 1);
i zobaczyć, czy działa :)

Czyli według was, np. liczba 23 ma 1 znak... Brawo, nie wiedziałem, że nawet po zwróceniu uwagi, ktoś może tego nie zauważyć :facepalm:
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#5 kyriuch

    Zaawansowany

  • Użytkownik

Reputacja: -6
Mniej niż zer0.

  • Postów:82
  • GG:
  • Imię:Tomek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 15.02.2014 20:19

przecież masz szBuff[2] czyli maxlen = 1 bo od 0 do 1, o co Ci chodzi? szBuff[0] = 2 szBuff[1] = 3 dla liczby 23, maxlen = 1? Czasami zwykły user też może mieć racje :o


Użytkownik kyriuch edytował ten post 15.02.2014 20:21

  • +
  • -
  • -3

#6 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 15.02.2014 20:22

O to, że liczby mogą mieć więcej niż jedną cyfrę/znak? Chociażby wspomniana wcześniej przeze mnie liczba 23 ma 2 znaki, a nie 1... wydawało mi się, że jest to "oczywista oczywistość", ale jednak się myliłem.

 

@EDIT

Omg... akurat nie masz w niczym racji.

szBuff[2]

Taka zmienna ma dwa znaki, ale ostatni to znak kończący, czyli 0, w dodatku tutaj

formatex(szBuff, 1, "%d", pid);

jest napisane, żeby zapisać tylko 1 znak. Aby było poprawnie należy zrobić tak

szBuff[3];

formatex(szBuff, 2, "%d", pid);

 

I nie kompromituj się więcej, tylko do książek uczyć się podstaw.


  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#7 kyriuch

    Zaawansowany

  • Użytkownik

Reputacja: -6
Mniej niż zer0.

  • Postów:82
  • GG:
  • Imię:Tomek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 15.02.2014 20:24

A kto powiedział, że ma jeden znak? O co Ci chodzi? chyba nie znasz drugiego parametru funkcji format :) PRZY MAXLEN RÓWNYM 1 MÓWIMY O 2 ZNAKACH BO TABLICA ZACZYNA SIĘ OD ELEMENTU 0

 

@up

bez komentarza, jesteś idiotą :) daj mi jeszcze warna poza tymi trzema minusami


sebul (15.02.2014 20:26):
Przeczytaj mój wcześniejszy post i przemyśl to jeszcze raz...

Użytkownik kyriuch edytował ten post 15.02.2014 20:28

  • +
  • -
  • -4

#8 exexe

    Pomocny

  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:63
  • Lokalizacja::)
Offline

Napisano 15.02.2014 20:37

#include <amxmodx>

public plugin_init() {
    register_plugin("t", "0", "t")
    
    register_clcmd("say /int", "int_test");
}

public int_test(id)
{
    new int1[3], int2[2];
    
    num_to_str(23, int1, 2);
    num_to_str(23, int2, 1);
    
    client_print(id, 3, "%s - %s", int1, int2);
    client_print(id, 3, "%s%s%s", int1[0], int1[1], int1[2]);
    client_print(id, 3, "%s%s", int2[0], int2[1]);
}

 

Wyniki:

23 - 2
23
2

Tą walkę wygrywa sebul, przykro mi kyriuch.


  • +
  • -
  • 4

#9 kyriuch

    Zaawansowany

  • Użytkownik

Reputacja: -6
Mniej niż zer0.

  • Postów:82
  • GG:
  • Imię:Tomek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 15.02.2014 20:39

właśnie też napisałem

#include <amxmodx>

public plugin_init() 
{
	register_clcmd("/test", "test");
}

public test(id)
{
	new s_test[2];
	
	for(new i = 1; i <= 32; i++)
	{
		formatex(s_test, 1, "%i", i);
		client_print(id, print_console, "%s", s_test);
	}
	return 1;
}

aż mnie zatkało :o zwracam honor sebul  :D good to know :o a i żeby trzymać się tematu, to weź tam tak kolego popraw xD to jest ten błąd xD


Użytkownik kyriuch edytował ten post 15.02.2014 20:41

  • +
  • -
  • 0

#10 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6033
Godlike

  • Postów:10826
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 15.02.2014 23:25

Offtopic

Genialny temat na poprawę humoru :D
  • +
  • -
  • 1

#11 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 131
Zaawansowany

  • Postów:1300
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Wadowice
Offline

Napisano 15.02.2014 23:54

O to, że liczby mogą mieć więcej niż jedną cyfrę/znak? Chociażby wspomniana wcześniej przeze mnie liczba 23 ma 2 znaki, a nie 1... wydawało mi się, że jest to "oczywista oczywistość", ale jednak się myliłem.

 

@EDIT

Omg... akurat nie masz w niczym racji.

szBuff[2]

Taka zmienna ma dwa znaki, ale ostatni to znak kończący, czyli 0, w dodatku tutaj

formatex(szBuff, 1, "%d", pid);

jest napisane, żeby zapisać tylko 1 znak. Aby było poprawnie należy zrobić tak

szBuff[3];

formatex(szBuff, 2, "%d", pid);

 

I nie kompromituj się więcej, tylko do książek uczyć się podstaw.

 

Tylko ja już tak testowałem przed założeniem tego tematu i to nic nie pomogło, prawdopodobnie błąd leży w tym, że gracz jest zbanowany o takim nicku ale widzi go jako nie zbanowanego.


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#12 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 16.02.2014 00:00

Widocznie nie przeczytałeś całego mojego postu, w którym były linki do tematów, które mówią o tym jak poprawnie tworzyć menu z graczami.


  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#13 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 131
Zaawansowany

  • Postów:1300
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Wadowice
Offline

Napisano 16.02.2014 00:04

Widocznie nie przeczytałeś całego mojego postu, w którym były linki do tematów, które mówią o tym jak poprawnie tworzyć menu z graczami.

 

Przeczytałem dokładnie twoje posty i tematy do których podałeś linka, ale chodzi mi o to że błąd leży po stronie SQL bo jest na zapis SQL. Ale będę jeszcze kombinować


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#14 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 16.02.2014 07:24

Wracając do menu z graczami, ja najczęściej używam takiego:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "speedkill"

new g_MaxPlayers;

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

public plugin_cfg(){
	g_MaxPlayers = get_maxplayers();
}

public ShowUserMenu(id){
	new g_UserName[64],
		g_Menu = menu_create("Wybierz gracza:", "PlayerChoose");
	
	for(new i = 1; i <= g_MaxPlayers; i++){
		if(is_user_connected(i) && is_real_user(i) && i != id){
			get_user_name(i, g_UserName, charsmax(g_UserName));
			menu_additem(g_Menu, g_UserName);
		}
	}
	menu_setprop(g_Menu, MPROP_BACKNAME, "Powrot");
	menu_setprop(g_Menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(g_Menu, MPROP_EXITNAME, "Wyjscie");
	
	menu_display(id, g_Menu);
}

public PlayerChoose(id, g_Menu, g_Item){
	if(g_Item == MENU_EXIT){
		menu_destroy(g_Menu);
		return PLUGIN_HANDLED;
	}
	new g_Data[6], 
		g_UserName[64],
		g_Access,
		g_CallBack;
		
	menu_item_getinfo(g_Menu, g_Item, g_Access, g_Data, charsmax(g_Data), g_UserName, charsmax(g_UserName), g_CallBack);
	new g_UserIndex = get_user_index(g_UserName); // Index gracza wybranego...
	
	menu_destroy(g_Menu);
	return PLUGIN_HANDLED;
}

stock is_real_user(id){
	if(is_user_bot(id) || is_user_hltv(id)){
		return false;
	}
	return true;
}

GwynBleidD (16.02.2014 19:17):
Wchodzi gościu na serwer, okazuje się, że ktoś siedzi na serwerze na jego nicku, napisał od adminów, żeby tego ktosia wyrzucili, admini go znają i lubią, więc wyrzucają... Jednak jednemu adminowi trochę zeszło, bo musiał odpisać na GG, wszedł w menu i nie wybrał gościa do wyrzucenia od razu, w tym czasie 2 admin zdążył wyrzucić z serwera tego "podszywającego się", a gracz który o to poprosił zmienił nick na właściwy. Dalej mam opowiadać co się stało?

  • +
  • -
  • 0

If you can dream it, you can do it.


#15 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 131
Zaawansowany

  • Postów:1300
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Wadowice
Offline

Napisano 16.02.2014 14:13

@speedkill, dzięki sprawdzę to

 

close


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#16 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 16.02.2014 14:20

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 1

If you can dream it, you can do it.





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

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