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
GmAMXBans

[ROZWIĄZANY] [] [0] color_chat.inl::ColorChat (line 7

gmamxbans

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

#1 MaxiKINGer

    Banned

  • Zbanowany

Reputacja: 35
Życzliwy

  • Postów:307
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Kartuzy
Offline

Napisano 30.07.2012 12:50

[] [0] color_chat.inl::ColorChat (line 72)
[] [1] check_player.inl::prebanned_check_ (line 64)


Może nareszcie ktoś weźmie to na poważnie i zajmie się tym błędem proszę ...

Wgrałem to: http://amxx.pl/topic...guracja-dproto/ + "poprawiona" funkcja z tego tematu: http://amxx.pl/topic...rebanned-check/
Wszystkie pliki macie w obu tematach, więc nie bd tutaj podawał...

iii ...
L 07/30/2012 - 13:34:58: [] Displaying debug trace (plugin "amxbans_main.amxx")
L 07/30/2012 - 13:34:58: [] Run time error 25: parameter error
L 07/30/2012 - 13:34:58: [] [0] color_chat.inl::ColorChat (line 72)
L 07/30/2012 - 13:34:58: [] [1] check_player.inl::prebanned_check_ (line 64)
Wszystko sprowadza się do tego, że gdy ktoś wcześniej zbanowany (potem odbanowany) wbija na serwer sypią się te logi.
Przez to g...no raz przynajmniej w ciągu dnia pada serwer (pamięć ...)

@ pliczek podany w poprzednim temacie nie działa jbc (.inl)

Linia nr 72 w pliczku color_chat.inl:
    vformat(message[1], 191, msg, 4);
Cała funkcja z tą linią:
public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
    new message[ 192 ];

    switch(type)
    {
        case YELLOW: // Yellow
        {
            message[0] = 0x01;
        }
        case GREEN: // Green
        {
            message[0] = 0x04;
        }
        default: // White, Red, Blue
        {
            message[0] = 0x03;
        }
    }

    vformat(message[1], 191, msg, 4);

    // Make sure message is not longer than 192 character. Will crash the server.
    message[189] = '^0';

    new team, ColorChange, index, MSG_Type;
    
    if(!id)
    {
        index = FindPlayer();
        MSG_Type = MSG_ALL;
    
    } else {
        MSG_Type = MSG_ONE;
        index = id;
    }
    
    team = get_user_team(index);    
    ColorChange = ColorSelection(index, MSG_Type, type);

    ShowColorMessage(index, MSG_Type, message);
        
    if(ColorChange)
    {
        Team_Info(index, MSG_Type, TeamName[team]);
    }
}

Użytkownik MaxiKINGer edytował ten post 30.07.2012 13:06

Pomogłem? Postaw z łaski swojej plusa...
Wbijaj! www.Mocny-Trick.pl
Dołączona grafikaDołączona grafika
Dołączona grafikaDołączona grafika

Dołączona grafika


#2 Hleb

    FC Barcelona <3

  • Użytkownik

Reputacja: 991
Master

  • Postów:405
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Sochaczew
Offline

Napisano 30.07.2012 13:45

poproszę o linijkę nr 64 z funkcji prebanned_check
  • +
  • -
  • 1

Sprzedam:

System odznak premium do BF2 Rank Mod (dodatkowy sposób na zarobek)

 

Więcej Informacji na STEAM/GG/PW

 

 


#3 MaxiKINGer

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 35
Życzliwy

  • Postów:307
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Kartuzy
Offline

Napisano 30.07.2012 14:07

public prebanned_check_(failstate, Handle:query, error[], errnum, data[], size) {
    new id = data[0]
    
    if (failstate) {
        new szQuery[256]
        MySqlX_ThreadError( szQuery, error, errnum, failstate, 16 )
        return PLUGIN_HANDLED
    }
    
    new ban_count=SQL_ReadResult(query, 0)
    
    if(ban_count < get_pcvar_num(pcvar_show_prebanned_num))
        return PLUGIN_HANDLED
        
    new name[32], player_steamid[35]
    get_user_authid(id, player_steamid, 34)
    get_user_name(id, name, 31)
    
    for(new i=1;i<=plnum;i++) {
        if(is_user_bot(i) || is_user_hltv(i) || !is_user_connected(i) || i==id)
            continue
        if(get_user_flags(i) & ADMIN_CHAT) {
            ColorChat(i, RED, "[AMXBans] ^x01%L",i, "PLAYER_BANNED_BEFORE", name, player_steamid, ban_count)
        }
    }
    log_amx("[AMXBans] %L",LANG_SERVER, "PLAYER_BANNED_BEFORE", name, player_steamid, ban_count)
    
    return PLUGIN_HANDLED
}

Dokładnie:
ColorChat(i, RED, "[AMXBans] ^x01%L",i, "PLAYER_BANNED_BEFORE", name, player_steamid, ban_count)

Pomogłem? Postaw z łaski swojej plusa...
Wbijaj! www.Mocny-Trick.pl
Dołączona grafikaDołączona grafika
Dołączona grafikaDołączona grafika

Dołączona grafika


#4 Hleb

    FC Barcelona <3

  • Użytkownik

Reputacja: 991
Master

  • Postów:405
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Sochaczew
Offline

Napisano 30.07.2012 14:28

Zobacz do czego doszedłem

 ColorChat(i, RED, "[AMXBans] ^x01%L",i, "PLAYER_BANNED_BEFORE", name, player_steamid, ban_count) 


funkcja ta ma 3 argumenty, licząc po "PLAYER_BANNED_BEFORE".

Zobaczyłem plik tekstowy z tłumaczeniem dla amxbansa

PLAYER_BANNED_BEFORE = [AMXBans]<%s> %s %s zostal wczesniej zbanowany %i razy.

tekst wymaga 4 argumentów: 3 na znaki, 1 na liczbę całkowitą. Prościej pisząc, brakuje 1 argumentu.
Jak później się dowiedziałem, chodzi o adres IP gracza.

Rozwiązanie nr 1

Usunąc z linijki PLAYER_BANNED_BEFORE w pliku amxbans.txt (znajdziesz go w addons -> amxmodx -> data -> lang) "%s". Czyli ma wyglądać tak

PLAYER_BANNED_BEFORE = [AMXBans]<%s> %s zostal wczesniej zbanowany %i razy.

Rozwiązanie nr 2

funkcję prebanned_check_ zamienić na to

public prebanned_check_(failstate, Handle:query, error[], errnum, data[], size) {
new id = data[0]

if (failstate) {
new szQuery[256]
MySqlX_ThreadError( szQuery, error, errnum, failstate, 16 )
return PLUGIN_HANDLED
}

new ban_count=SQL_ReadResult(query, 0)

if(ban_count < get_pcvar_num(pcvar_show_prebanned_num))
return PLUGIN_HANDLED

new name[32], player_steamid[35], player_ip[20];
get_user_authid(id, player_steamid, 34)
get_user_name(id, name, 31)
get_user_ip(id, player_ip, 19, 1)

for(new i=1;i<=plnum;i++) {
if(is_user_bot(i) || is_user_hltv(i) || !is_user_connected(i) || i==id)
continue
if(get_user_flags(i) & ADMIN_CHAT) {
ColorChat(i, RED, "[AMXBans] ^x01%L",i, "PLAYER_BANNED_BEFORE", name, player_ip, player_steamid, ban_count)
}
}
log_amx("[AMXBans] %L",LANG_SERVER, "PLAYER_BANNED_BEFORE", name, player_ip, player_steamid, ban_count)

return PLUGIN_HANDLED
}

To jakie rozwiązanie wybierzesz, to już tylko od Ciebie zależne

Dziękuję.
Kawon (30.07.2012 14:52):
Hah, że nikt na to wcześniej nie wpadł ;P

  • +
  • -
  • 3

Sprzedam:

System odznak premium do BF2 Rank Mod (dodatkowy sposób na zarobek)

 

Więcej Informacji na STEAM/GG/PW

 

 


#5 MaxiKINGer

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 35
Życzliwy

  • Postów:307
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Kartuzy
Offline

Napisano 30.07.2012 14:46

Oczywiście zmieniłem lang (bo to szybsze ... ) ;>

Działa kochanie Ty moje najdroższe! ^D^ ^D^ ^D^
Dziękuję, wielkie dzięki....
Logi czyste, crash`y już nie będzie, jeszcze raz wielkie dzięki...

Moderator czy inny ktoś niech to przypnie, bo takie błędy się ludziom zdarzają.
Do zamknięcia

Użytkownik MaxiKINGer edytował ten post 30.07.2012 14:47

Pomogłem? Postaw z łaski swojej plusa...
Wbijaj! www.Mocny-Trick.pl
Dołączona grafikaDołączona grafika
Dołączona grafikaDołączona grafika

Dołączona grafika


#6 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 30.07.2012 14:53

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


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

DarkGL to mój autorytet.






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

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