• 22 Avril 2025, 14:36:28


Auteur Sujet: [Script] RolePlay NameV2 !!  (Lu 2438 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne karimos

  • *
  • Nouveau
  • Messages: 15
    • Voir le profil
[Script] RolePlay NameV2 !!
« le: 25 Juin 2012, 15:02:27 »
bonjours je suis entrain de développer mon propre GM , et j'ai decidé de partager quelque bout de code donc voici un script pour verifier si le nom du joueur est RP, je precise que je me suis inspiré d'un GM appelé vortex :

PS : je précise que je l'ai posté sur un autre forum avec un compte nommé "Dead-Zone"

V1
Citer
/**** RolePlay Name Check ****/
new charCount[4], playerName[MAX_PLAYER_NAME];
GetPlayerName(playeridplayerNameMAX_PLAYER_NAME);
for(new 
0MAX_PLAYER_NAMEi++)

{
	
switch(
playerName[i])
	

	
{
	
	
case 
'['']''('')' charCount[0]++;
	
	
case 
'0' .. '9' charCount[1]++;
	
	
case 
'a' .. 'z' charCount[2]++;
	
	
case 
'A' .. 'Z' charCount[3]++;
	
	

	
}
	

}

if(
charCount[0])
{
	
SendClientMessage(playeridCOLOR_RED"Votre nom est invalide. \nil contient un caractére interdit.");
	
SendClientMessage(playeridCOLOR_ORANGE"Exemple de nom_prenom valide : John_Carter");
	
return 
Kick(playerid);
	

}

if(
charCount[1])
{
	
SendClientMessage(playeridCOLOR_RED"Votre nom est invalide.\n il contient un chiffre.");
	
SendClientMessage(playeridCOLOR_ORANGE"Exemple de nom_prenom valide : John_Carter");
	
return 
Kick(playerid);
	

}

if(
charCount[2] < 3)
{
	
SendClientMessage(playeridCOLOR_RED"un nom doit contenir au minimum 3 caractéres minuscules");
	
SendClientMessage(playeridCOLOR_ORANGE"Exemple de nom_prenom valide : John_Carter");
	
return 
Kick(playerid);
	

}

if(
charCount[3] != 2)
{
	
SendClientMessage(playeridCOLOR_RED"un nom_prenom doivent commencer par des majuscules");
	
SendClientMessage(playeridCOLOR_ORANGE"Exemple de nom_prenom valide : John_Carter");
	
return 
Kick(playerid);
	

}
else 
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_LIST"Menu Inscription""Suivre le tutoriel RolePlay\nS'incrire""Choisir""Annuler");

V2 - Utilisation des regex -- Lien du plugin : http://forum.sa-mp.com/showthread.php?t=247893
Citer

if(regex_match(playerName"^[A-Z]{1}[a-zA-Z]{2,12}_[A-Z]{1}[a-z]{2,12}$")) 
{
                      / **** 
que faire si le nom est valide ****/
}
else 
// nom invalide
{
    
SendClientMessage(playeridCOLOR_RED"Votre est incorrect. veuillez inserer un nom correct");
    
SendClientMessage(playeridCOLOR_ORANGE"Exemple : John_Carter");

}

« Modifié: 26 Juin 2012, 13:31:56 par karimos »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : RolePlay Name[Script]
« Réponse #1 le: 25 Juin 2012, 16:42:44 »
Le test n'est absolument pas complet est peut valider les noms suivant:

A__b__c__D__e__f
ABcdef__________
__________ABcdef

Ensuite, le fait de continuer à boucler lorsqu'un utilisateur à un nom déjà invalide est inutile.

Hors ligne karimos

  • *
  • Nouveau
  • Messages: 15
    • Voir le profil
Re : RolePlay Name[Script]
« Réponse #2 le: 25 Juin 2012, 20:01:05 »
merci pour l'info. je vais utiliser plutôt les regex je viens de télécharger le plugin^^

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Script] RolePlay NameV2 !!
« Réponse #3 le: 27 Juin 2012, 21:16:49 »
Évite les dépendances pour les scripts que tu partage.