GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nikko™ le 21 Août 2008, 14:53:53

Titre: Question de bug...
Posté par: Nikko™ le 21 Août 2008, 14:53:53
Cucu tout le monde,

Sur mon serveur comme sur tout les serveur, il arrive que des joueurs bugs.
Mais sur mon serveur, quand on bug en étant en dm (joueur_DM) et que le joueur revient tout de suite apres, il a toujour le "_DM"
Est ce qu'il existe un truc pour vérifier quand un joueur se connecte, sil a le "_DM" a son nom et que ca s'enleve.
Merci bien

++
nikko
Titre: Re : Question de bug...
Posté par: NatiVe™ le 21 Août 2008, 20:25:51
Tu fait la même chose que ce qu'il y a dans ta commande "/dm quit" ;)

NV.

Titre: Re : Question de bug...
Posté par: Nikko™ le 22 Août 2008, 10:50:54
Jy avais pensé mais moi dans ma commande dm quit, ca récupere le nom stocker dans une variable créé dans ma commande /dm...

++
nikko
Titre: Re : Question de bug...
Posté par: madinina972 le 22 Août 2008, 17:09:41
ba comme di native ta laisser le DM quand le joueur quite le dm je vois pas d'autre solution ;) ::)
Titre: Re : Question de bug...
Posté par: Nikko™ le 22 Août 2008, 17:24:41
Je crois que tu na pas bien compris

++
nikko
Titre: Re : Question de bug...
Posté par: madinina972 le 22 Août 2008, 17:26:24
ah oui autant pour moi  :boulz :bangin :jesors
Titre: Re : Question de bug...
Posté par: Bayshore le 22 Août 2008, 18:12:25
strfind + strmid
Titre: Re : Question de bug...
Posté par: Nikko™ le 23 Août 2008, 12:56:43
Tu pourrai redonner la fonction stp  :)
Merci

++
nikko
Titre: Re : Question de bug...
Posté par: D@viD le 23 Août 2008, 13:58:45
essaye de réflechir s'est pas dure, [reflechir a... un gros probleme ....]
Titre: Re : Question de bug...
Posté par: Nikko™ le 23 Août 2008, 15:11:09
En recherchant un peu jai trouver ca:

strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);>> Exemple que tu avait donné a pinouf42.

new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
new pseudo = strfind(sendername, "Fu**", true);
if(pseudo == 1)
{
SetPlayerName(playerid, "Pas_Bien");
return 1;
}
>> Exemple de feldbrau pour reconnaitre des mauvais pseudo.

Mais le probleme cest que pas tout le monde arrive sur le serveur avec _DM, donc je vois pas trop comment faire...

jai esseyer de faire ca:
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
new pseudo = strfind(sendername, "_DM", true);                               >> Je bloque ici
strmid(GetPlayerName[playerid], valtmp, 0, strlen(valtmp)-3, 255);
return 1;
}

++
nikko
Titre: Re : Question de bug...
Posté par: MrFredo le 23 Août 2008, 17:08:52
Tu fait un strfind sur le nom du joueur en recherchant si dans son pseudo ya "_DM" si oui (le strfind retourne 1 je pense)

Alor tu t'arrange pour couper le pseudo du joueur et enlever le "_DM" et tu lui fait un SetPlayerName avec le pseudo "nettoyer"


Titre: Re : Re : Question de bug...
Posté par: Nikko™ le 24 Août 2008, 12:27:30
Tu fait un strfind sur le nom du joueur en recherchant si dans son pseudo ya "_DM" si oui (le strfind retourne 1 je pense)

Justement je cherche a créé cette condition ...  :-X

++
nikko
Titre: Re : Question de bug...
Posté par: MrFredo le 25 Août 2008, 03:09:18
Pas dur

Code: (pawn) [Sélectionner]
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new namestring = strfind(plname, "_DM", true);
if(namestring != -1)
{
//chose a faire si on trouve "_DM" dans le pseudo
}

Bon je suis pas sur que c'est corect mais sa doit etre un truc dans le genre

Titre: Re : Question de bug...
Posté par: Syg le 25 Août 2008, 14:27:26
Sinon, il y a plus simple.
Il suffit d'utiliser la fonction strreplace qui remplace un morceau de chaine par un autre.

Exemple :
new name[256];

GetPlayerName (playerid, name, sizeof(name));
name = strreplace ("_DM", "", name); // On remplace "_DM" par "" et si "_DM" n'est pas trouvé, cette fonction ne fait rien
SetPlayerName (playerid, name);

++
Syg
Titre: Re : Question de bug...
Posté par: Nikko™ le 26 Août 2008, 14:21:57
Merci bien ..  :)

++
nikko