1. sayfa (Toplam 1 sayfa)

Strtol hk.

Gönderilme zamanı: Çrş Şub 17, 2021 5:39 pm
gönderen PawNod
Eklentimde say kısmına gönderiği mesajda belli bi satır sayı varsa engellemesini istedim fakat sayılar arasına harf girince engellemiyor num to str olarak da çektirdim fakat yine de olmadı örnek veriyorum 2348283 yazınca engelliyor 828382jsjxjs yazınca engelliyor fakat jsjcjs383838 yazınca engellemiyor stringin içerisindeki sayıları nasıl çekebilirim?
Eklenti;

Kod: Tümünü seç

read_args(iMessage, charsmax(iMessage)); 	
remove_quotes(iMessage);
new iNumed = str_to_num(iMessage),NTS[7]; 	
num_to_str(iNumed,NTS , charsmax(NTS));
if(iMessage[0] == '@' || iMessage[0] == '.' || iMessage[0] == '/' || iMessage[0] == '!' || equal(iMessage, "")) 
return PLUGIN_CONTINUE;
new strtola;
strtol(NTS,strtola);
if(strtola > 5) { 
	client_print_color(iP_ID, iP_ID, "%s ^1Reklam yapmaya calistiginiz icin engellendiniz.",sD_Tag[SayTag]); 	
	return PLUGIN_HANDLED; 	
}

Strtol hk.

Gönderilme zamanı: Çrş Şub 17, 2021 8:43 pm
gönderen Ömer TELLİ
Kullanım çok yanlış olmuş, yeni bir şeyler öğretebilmek amacı ile regex ile nasıl yapabileceğini göstereyim

Kod: Tümünü seç

#include <amxmodx>
#include <regex>

public plugin_init()
{
    register_clcmd("say","sayHook")
}

public sayHook(id)
{
    new szMessage[256];
    read_args(szMessage, charsmax(szMessage));
    remove_quotes(szMessage)
  
    new ret, szError[128], sonuc
    new rSayCheck = regex_compile("[0-9]", ret, szError, charsmax(szError))
    sonuc = regex_match_all_c(szMessage, rSayCheck, ret)
    regex_free(rSayCheck);

    if(sonuc > 5){
        client_print_color(id, id, "^1Reklam yapmaya calistiginiz icin engellendiniz."); 
        return PLUGIN_HANDLED; 
    }

    return PLUGIN_CONTINUE; 
}
regex kullanmak istemiyorsan gelen mesaj stringini döngü içerisine alıp, karakter karakter isdigit ile karşılaştırmasını yapıp sayacı arttırabilirsin

https://www.amxmodx.org/api/string/isdigit

Strtol hk.

Gönderilme zamanı: Çrş Şub 17, 2021 8:45 pm
gönderen PawNod
Tamam çok teşekkürler deneyeceğim :)