Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: omcho poslato Avgust 06, 2018, 21:17:16 POSLE PODNE

Naslov: Pawn.Regex
Poruka od: omcho poslato Avgust 06, 2018, 21:17:16 POSLE PODNE
Problem(error/warning): Ima li ko da koristi ovaj plugin, treba mi mala pomoc oko njega ? :)
Dio skripte: NONE
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): NONE
Slika/video ingame problema(obavezno ako je ingame problem): NONE...
Naslov: Odg: Pawn.Regex
Poruka od: Don_Marquez poslato Avgust 06, 2018, 21:33:30 POSLE PODNE
Sluzi za stabilizaciju skripte,nezz kako da ti objasnim ali sluzi kao neka biblioteka iz koje vadi neke podatke i to kako sam procitao
Naslov: Odg: Pawn.Regex
Poruka od: omcho poslato Avgust 06, 2018, 21:41:05 POSLE PODNE
Citat: Don_Marquez poslato Avgust 06, 2018, 21:33:30 POSLE PODNE
Sluzi za stabilizaciju skripte,nezz kako da ti objasnim ali sluzi kao neka biblioteka iz koje vadi neke podatke i to kako sam procitao

Ma kakavi bre, toe regex znam za sta sluzi i to ali nmp kako da odradim ovo sto hocu, a to je "anti-reklama" ili kako god se kaze to na naski

[ Regex = Regular expression = https://en.wikipedia.org/wiki/Regular_expression ]
Naslov: Odg: Pawn.Regex
Poruka od: Don_Marquez poslato Avgust 06, 2018, 21:42:56 POSLE PODNE
Nezz na sta tacno mislis,da li mislis primjer ukoliko neko oce da zalijepi ip tj.reklamu na serveru primjer neki igrac da reklamira drugi server da ga automatski ban/kick/mute ili nesto drugo hoces
Naslov: Odg: Pawn.Regex
Poruka od: Ino42O poslato Avgust 06, 2018, 21:46:38 POSLE PODNE
string pattern recimo tako

https://en.wikipedia.org/wiki/Regular_expression

na primjer, imas neki dugi text, koordinate, tipa

[pawn]
2285.481, -2965.881, 1121.594
2285.481, -3013.881, 1124.594
2406.975, -2942.490, 1106.479
2240.975, -3001.491, 1115.235
2316.975, -3001.491, 1115.235
2285.481, -2539.885, 1121.594
2285.481, -2587.885, 1124.594
2405.912, -2569.240, 1113.193
[/pawn]

i zelis pronaci sve te koordinate, koristis regex

[pawn]-?\d{4}.\d{3}, -?\d{4}.\d{3}, -?\d{4}.\d{3}[/pawn]

(https://image.prntscr.com/image/gBfx0l_NQI6BtnkLgRY8bg.png)


To je jedan banalan primjer, putem ovoga bi mogao provjeriti da li igrac koristi RP ime

Ime_Prezime

Te bi mogao jednom linijom koda izdvojiti ime i prezime, primjer
[pawn]
Ime_Prezime
Moje_Ime
Ivan_Ino
Netko_Prezime
InvalidName
KrivoIme
Pravo_Ime
[/pawn]

[pawn]\w+_\w+[/pawn]
(https://image.prntscr.com/image/2rDKtvGWSz_10jPnFc0FfQ.png)

itd
Naslov: Odg: Pawn.Regex
Poruka od: omcho poslato Avgust 06, 2018, 21:52:01 POSLE PODNE
@Ino42O kontao sam da napravim ovo za reklamu e sad ovo mi je prvi put da koristim regex sta bi radio sledeci kod

[pawn]
[0-9][.0-9]+
[/pawn]

Da li bi se ovo ucitalo taj kod?

"127.1.180" ili "127.0.8"

EDIT: Da li bi taj kod sto si naveo za Ime Prezime gore ucitao ovo kao pravilno "ime_prezime"?
Naslov: Odg: Pawn.Regex
Poruka od: Ino42O poslato Avgust 06, 2018, 22:08:24 POSLE PODNE
Citat: omcho poslato Avgust 06, 2018, 21:52:01 POSLE PODNE
@Ino42O kontao sam da napravim ovo za reklamu e sad ovo mi je prvi put da koristim regex sta bi radio sledeci kod

[pawn]
[0-9][.0-9]+
[/pawn]

Da li bi se ovo ucitalo taj kod?

"127.1.180" ili "127.0.8"

EDIT: Da li bi taj kod sto si naveo za Ime Prezime gore ucitao ovo kao pravilno "ime_prezime"?

To za ime_prezime bi proslo, poslao sam ti samo kratak regex, cisto da ti dam ideju za sta ti moze koristiti, a evo ti za IP provjeru

[pawn]\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b[/pawn]

Naravno, tu bi se moglo bolje odraditi, npr ako igrac SPACE koristi izmedju brojeva, ali ovaj ti je za najjednostavniju provjeru
Naslov: Odg: Pawn.Regex
Poruka od: omcho poslato Avgust 06, 2018, 22:13:32 POSLE PODNE
Citat: Ino42O poslato Avgust 06, 2018, 22:08:24 POSLE PODNE
To za ime_prezime bi proslo, poslao sam ti samo kratak regex, cisto da ti dam ideju za sta ti moze koristiti, a evo ti za IP provjeru

[pawn]\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b[/pawn]

Naravno, tu bi se moglo bolje odraditi, npr ako igrac SPACE koristi izmedju brojeva, ali ovaj ti je za najjednostavniju provjeru

Za ime prezime sam uzeo od Shadow-a, probacu ovo za IP-eve ako bude jos nesto javicu ti u PP, Hvala :)