Die einfachste Variante wäre die strfind() Funktion.
http://wiki.sa-mp.com/wiki/Strfind
Beispiel:
new bool: legit = false; //Variable, die festlegt, ob der Name korrekt ist
if(strfind(name, ".") != -1){ //Prüfen, ob ein "." im Namen vorhanden ist
if(strfind(name, ".") != (strlen(name) -1) && strfind("name", ".") != 0) legit = true;//Prüfen, ob der Punkt auch nicht an letzter oder erster Stelle ist.
}else if(strfind(name, "_") != -1){ Prüfen, ob ein "_" im Namen vorhandne ist
if(strfind(name, "_") != (strlen(name) -1) && strfind("name", "_") != 0)legit = true; //Prüfen, ob der Unterstrich auch nicht an letzter oder erster Stelle ist.
}
if(legit){ //Wenn legit == true
//Entspricht den Anforderungen
}else{ //Wenn legit == false
//Entspricht nicht den Anforderungen
}
Ungetestet, wenn etwas nicht klappt oder unverständlich ist, sag Bescheid.
Alternativ kannst du noch prüfen, ob vor und nach dem Punkt eine bestimmte Anzahl an Zeichen vorhanden ist.
Das kannst du ebenfalls mit der strfind() Funktion erledigen. Sie returnt die Position des Zeichens im Text.
//E: Fehler korrigiert
//E2: Code optimiert