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

[Fix] Funkcja Prebanned_check_

gmamxbans

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

#1 Hleb

    FC Barcelona <3

  • Użytkownik

Reputacja: 991
Master

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

Napisano 30.07.2012 15:14

*
Popularny

Przedstawiam wam łatkę na funkcję prebanned_check_, jak dobrze wiemy, ta funkcja sypała errorami.

[AMXX] Displaying debug trace (plugin "amxbans_main.amxx")
[AMXX] Run time error 25: parameter error
[AMXX] [0] check_player.inl::prebanned_check_ (line ***)

Po wnikliwej obserwacji doszedłem do takiej sytuacji.


Linijka nr 67 przedstawia się w ten sposób

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


zaś linijka "PLAYER_BANNED_BEFORE" w pliku amxbans.txt przedstawia się w ten sposób

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

Przyczyną tworzenia errorlogów z tej funkcji jest róźnica między wymaganą liczbą argumentów a oferowaną liczbą argumentów w funkcji ColorChat po "PLAYER_BANNED_BEFORE", tekst wymaga 4 argumentów, a funkcja oferuje 3 argumenty. Jak się później dowiedziałem, brakującym argumentem jest 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 wybierzecie, to już jest od Was zależne.

Dziękuję
  • +
  • -
  • 9

Sprzedam:

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

 

Więcej Informacji na STEAM/GG/PW

 

 


#2 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

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

Napisano 30.07.2012 15:18

Ładnie :D Podpinam :)
  • +
  • -
  • 0

DarkGL to mój autorytet.


#3 Szyfrant

    Godlike

  • Przyjaciel

Reputacja: 1 374
Godlike

  • Postów:3 072
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Sztokholm
Offline

Napisano 25.08.2012 09:46

1 Rozwiązanie radze usunąć.
Kiedy usuniemy trzecie "%s" pojawia sie błąd który w say ukazuje wiadomosc

Gracz X zostal wczesniej zbanowany 83 razy.
  • +
  • -
  • 0

#4 Supryk

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:108
  • GG:
  • Imię:Krzysiek
  • Lokalizacja:Śmilowice
Offline

Napisano 16.12.2012 14:30

Po zmianie funkcji nie mogę skopilowac amxbans_main poda ktos gotowca ??
Kawon (18.12.2012 00:05):
Napisz temat w odpowiednim dziale...

  • +
  • -
  • 0

#5 QuahodronN

    Godlike

  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 16.12.2012 15:16

Daj to co edytowałeś to Ci przekompiluje
  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)


#6 Forever Killer

    Początkujący

  • Zbanowany

Reputacja: -3
Nowy

  • Postów:15
  • Lokalizacja:Polska
Offline

Napisano 18.02.2013 12:11

mógłby mi to ktoś zrobić ?? ... bo po 1. nie kompiluje sie po 2. nie ma nic związanego z public prebanned a w konsoli pisze mi ze error i sprawa związana z tym...

Załączone pliki







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

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