GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: pinouf42 le 13 Juillet 2008, 19:29:38

Titre: Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 13 Juillet 2008, 19:29:38
Bonjour, en fait, j'ai fait un DM et je souhaiterais que lorsque quelqu'un y va, sa rajoute à son pseudo _DM donc sa c'est fait, mais quand il en sort, comment faire pour que son pseudo revienne normal ??
merci
Finalement, j'ai trouvé dans la recherche un sujet qui disait pareil sauf que je n'y arrive pas, ça ne marche pas :(
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: D@viD le 14 Juillet 2008, 12:21:59
prend sa

Code: (cpp) [Sélectionner]
    if(strcmp(cmdtext,"/dmquit", true)==0){
    new pname[24];
    new string[256];
    SetPlayerName(playerid, OldName[playerid]);
    GetPlayerName(playerid, pname, sizeof(pname));
    dm[playerid] = 0;
    IsInDm[playerid] = 0;
    format(string, sizeof(string), "| %s | A quitter le Death Match.", pname);
    SendClientMessageToAll(COLOR_YELLOW, string);
    SetPlayerInterior(playerid,0);
    return 1;
}

mais les variable ... recopie pas bétement réfléchi   ;)
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 14 Juillet 2008, 12:28:51
le problème c'est que le DM, on le quitte par changement de joueur et non pas par une commande.
Titre: Re : Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Nikko™ le 16 Juillet 2008, 14:22:51
prend sa

Code: (cpp) [Sélectionner]
    if(strcmp(cmdtext,"/dmquit", true)==0){
    new pname[24];
    new string[256];
    SetPlayerName(playerid, OldName[playerid]);
    GetPlayerName(playerid, pname, sizeof(pname));
    dm[playerid] = 0;
    IsInDm[playerid] = 0;
    format(string, sizeof(string), "| %s | A quitter le Death Match.", pname);
    SendClientMessageToAll(COLOR_YELLOW, string);
    SetPlayerInterior(playerid,0);
    return 1;
}

mais les variable ... recopie pas bétement réfléchi   ;)

Cest pas mon code ca ??

Pinouf, tu met un stock player name qui sauve le nom du joueur quand il entre, et tu lui redonne quand il ressort  ;)
Jai galéré a totu scripter, mais il faut pas oublier toute les varable a rajouter ...

++
nikko
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Bayshore le 16 Juillet 2008, 22:18:24
Non ne stocke pas le nom du joueur, Syg a dit dans un précédent topic que ça bouffait de la place pour rien.

Pour redonner le nom original ~> http://streetplaya.hopto.org/SAMP_Wiki/wiki.sa-mp.com/wiki/Scripting_Functions_Old.html#strmid
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: D@viD le 16 Juillet 2008, 22:19:54
Non s'est pas ton code je  suis inpirer mais j'ai fais le mien juge pas avant de pas savoir
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Bayshore le 16 Juillet 2008, 22:23:23
Il ne t'as pas jugé il t'a posé une question, certainement car il avait dû donner quelque chose de semblable sur un autre topic.
Titre: Re : Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Nikko™ le 16 Juillet 2008, 22:27:06

Code: (cpp) [Sélectionner]
    if(strcmp(cmdtext,"/dmquit", true)==0){
    dm[playerid] = 0;
    IsInDm[playerid] = 0;

Car jai la meme chose, Alex a raison  ;)

++
nikko
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 17 Juillet 2008, 10:39:21
Ouah ton function old la c'est super compliqué  :blink lol !
Bon je vais essayer mais je ne garanti rien ^^
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Bayshore le 17 Juillet 2008, 17:53:23
Petit exemple tiré du script PEN1, qui sert à obtenir le password d'un fchier de sauvegarde :

strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);

• Le string qui contiendra les caractères extraits. Dans notre cas celui qu'on mettra dans SetPlayerName (sans le _DM).
• Le string sur lequel on travaille. Dans notre cas le nom obtenu avec GetPlayerName (avec le _DM).
• Le caractères duquel on démarre. Dans notre cas 0.
• Le caractère où on s'arrête. Dans notre cas la taille du nom du joueur - 3 (vu que _DM contient trois caractères).
• La taille maximum du string de destination (le premier argument), cet argument n'est pas obligatoire et vaudra sizeof(string de destination) par défaut.
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Nikko™ le 17 Juillet 2008, 18:25:08
Et suffit de mettre ca dans la command quit ??
Pas mal ...

++
nikko
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 17 Juillet 2008, 19:59:50
 :blink Moi =  :boulet
J'ai rien compris lol vraiment désolé je suis très pénible.
Ce qui m'embrouille c'est il y a plein de choses qui ne vont pas y être, tu pourrais pas mettre un exemple de ce que je veux pour que je vois un peu parce que la je t'avoue que je ne comprend pas tout
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Nikko™ le 17 Juillet 2008, 20:36:57
En gros, il te dit de mettre ca:

strmid(SetPlayerName[playerid], GetPlayerName[playerid], 0, strlen(valtmp)-3, 255);   ;)

++
nikko
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 17 Juillet 2008, 20:48:00
J'ai pas de commande /quit, on quitte le DM en changeant de joueur
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Nikko™ le 17 Juillet 2008, 20:50:04
Bah cré en une ...
ou tu met le code dans oneplayer requestclass ;)

++
nikko
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 17 Juillet 2008, 20:55:19
Ahhhhh ok je vois ce que sa fait, sa recupere le nom du joueur et sa lui supprime trois caractères ! Ouaiii nikel !
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 17 Juillet 2008, 21:00:32
sa me met sa: je vois comprend pas:

C:\DOCUME~1\GTASAN~1\Bureau\SERVEU~1\GAMEMO~1\Serveur.pwn(899) : error 028: invalid subscript (not an array or too many subscripts): "SetPlayerName"
C:\DOCUME~1\GTASAN~1\Bureau\SERVEU~1\GAMEMO~1\Serveur.pwn(899) : warning 215: expression has no effect
C:\DOCUME~1\GTASAN~1\Bureau\SERVEU~1\GAMEMO~1\Serveur.pwn(899) : error 001: expected token: ";", but found "]"
C:\DOCUME~1\GTASAN~1\Bureau\SERVEU~1\GAMEMO~1\Serveur.pwn(899) : error 029: invalid expression, assumed zero
C:\DOCUME~1\GTASAN~1\Bureau\SERVEU~1\GAMEMO~1\Serveur.pwn(899) : fatal error 107: too many error messages on one line


ligne 898 à 890:
897   if(DM[playerid] == 0)
898    {
899   strmid(SetPlayerName[playerid], GetPlayerName[playerid], 0, strlen(valtmp)-3, 255);
900    SetPlayerWorldBounds(playerid, 2977.858, -2989.536, 2989.536, -2942.825);
901    }
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: Bayshore le 17 Juillet 2008, 21:44:29
Ton Get/SetPlayerName[] ne veut rien dire. :blink

Tu dois d'abord récupérer le nom du joueur avec la fonction GetPlayerName puis mettre le string qui contient le nom du joueur là où tu as mis GetPlayerName[playerid].

Il faut aussi créer un autre string qui contiendra le nom du joueur sans le "_DM", donc tu recrée un string (ou tu réutilises l'autre qui a servi à obtenir le nom du joueur) et tu met le nom de ce string là où tu as mis SetPlayerName[playerid].


Et non je ne te donnerais pas d'exemple car apparemment tu as copie/collé le code de Nikko vite fait sans chercher à comprendre avant ce que ce bout de code voulait dire.
Titre: Re : Joueur dans un DM rajoute _DM au pseudo mais quand il en sort ???
Posté par: pinouf42 le 18 Juillet 2008, 10:21:03
Si je l'avais copié coller vite fait, aurais-je compris que cet action récuperais le nom du joueur puis lui enlevais 3 caractères. Non ! Je souhaite comprendre pour le refaire plus tard car j'en aurais besoin pour beaucoup de choses. Désolé si j'ai donné l'impression d'un copié collé