Lucrez la un plugin de anti-spam. Ideea din spatele pluginului este ca daca un player trimite acelasi mesaj de 3 ori consecutiv pe chat in mai putin de 10 secunde, sa primeasca gag.
Ce m-ar interesa sa stiu este cum pot sa "salvez" temporar mesajul unui client, astfel incat sa rezolv urmatoarea problema:
Code-ul pe care l-am scris momentan se comporta in felul urmator:
Player1: asdasd
Player1: asdasd
AltPlayer: asd
Player1: asdasd
Player1 nu va primi gag, fiindca AltPlayer a scris ceva in chat, desi Player1 a scris acelasi lucru de 3 ori la rand. -- Aici este problema pe care incerc sa o rezolv
Code: https://pastebin.com/HBLRJZj5
Re: Anti-Spam
#2char playermessage[200];
char samemessage[200];
astea trebuie indexate per player
adica:
char playermessage[MAXPLAYERS + 1][200];
char samemessage[MAXPLAYERS + 1][200];
char samemessage[200];
astea trebuie indexate per player
adica:
char playermessage[MAXPLAYERS + 1][200];
char samemessage[MAXPLAYERS + 1][200];
Re: Anti-Spam
#3Am indexat per player atat playermessage cat si samemessage, iar totul functioneaza bine.
Codul arata asa acum: https://pastebin.com/hR4uuMYv
Multumesc frumos pentru ajutor, Ilusion.
Codul arata asa acum: https://pastebin.com/hR4uuMYv
Multumesc frumos pentru ajutor, Ilusion.
Re: Anti-Spam
#4IMPORTANT: Acesta este doar un snippet creat cu scopul de a ma familiariza mai bine cu sourcepawn. NU este o varianta release, si NU recomand sa fie folosit pe servere. Gag-ul dandu-se prin ServerCommand, si pe baza de nume, daca cineva are ";quit" in nume si spameaza, o sa iti inchida serverul. Scriu asta abia acum fiindca am observat ca acest snippet este folosit pe un server din comunitate.
Nu mentionez serverul ca sa nu fie atacat. In schimb am lasat un mesaj in privat ownerului.
Nu mentionez serverul ca sa nu fie atacat. In schimb am lasat un mesaj in privat ownerului.