• 24 Avril 2025, 05:39:16


Auteur Sujet: Suppression de ce qu'il y a avant une lettre.  (Lu 1817 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Suppression de ce qu'il y a avant une lettre.
« Réponse #15 le: 26 Août 2009, 13:55:58 »
Pourquoi ne remplaces-tu pas simplement le "_" par un espace dans le nom du joueur :
new idx5;
idx5 = strfind (name, "_");
name[idx5] = ' ';

Ensuite, tu peux utiliser name directement :
format (string, sizeof(string), "%s dit: %s", name, text);
++
Syg
Courtesy of GtaManiac

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Suppression de ce qu'il y a avant une lettre.
« Réponse #16 le: 26 Août 2009, 17:19:41 »
Encore merci à toi Syg !  :-*

Hors ligne manathann

  • *
  • Tueur
  • Messages: 90
    • Voir le profil
Re : Suppression de ce qu'il y a avant une lettre.
« Réponse #17 le: 02 Septembre 2009, 23:49:41 »
Je rajoute ce que vous avez cités mais j'ai ca :s

C:UsersValentinDocumentssamp02Xserver.win32gamemodesD-RP.pwn(11758) : error 017: undefined symbol "name"
C:UsersValentinDocumentssamp02Xserver.win32gamemodesD-RP.pwn(11759) : error 017: undefined symbol "name"
C:UsersValentinDocumentssamp02Xserver.win32gamemodesD-RP.pwn(11759) : warning 215: expression has no effect
C:UsersValentinDocumentssamp02Xserver.win32gamemodesD-RP.pwn(11759) : error 001: expected token: ";", but found "]"
C:UsersValentinDocumentssamp02Xserver.win32gamemodesD-RP.pwn(11759) : error 029: invalid expression, assumed zero
C:UsersValentinDocumentssamp02Xserver.win32gamemodesD-RP.pwn(11759) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

EDIT : Voici la commande :

//----------------------------------[Local]-----------------------------------------------
if(strcmp(cmd, "/local", true) == 0 || strcmp(cmd, "/l", true) == 0 || strcmp(cmd, "/say", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "   Vous devez être connecté avant !");
            return 1;
        }
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/l)ocal [local chat]");
return 1;
}
new idx5;
idx5 = strfind (name, "_");
name[idx5] = ' ';
format (string, sizeof(string), "%s dit: %s", name, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
printf("%s", string);
}
return 1;
}

Double post
STOP, j'ai trouvé !

Au final j'ai rien changé d'autre que ca :

new idx5;
idx5 = strfind (name, "_");
name[idx5] = ' ';

Sauf que c'est devenu ca :

new idx5;
idx5 = strfind (sendername, "_");
sendername[idx5] = ' ';




Double post
Par contre...

Quand on parle normalement, c'est où exactement dans mon GM ???  :blink


Car je fait

"t" "mon texte" "ENTRER"

et je me retrouve avec "Cristian_Walter: mon texte"

J'ai cherché en faisant "%s: %s" je trouve rien :s
« Modifié: 03 Septembre 2009, 00:17:21 par manathann »

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Suppression de ce qu'il y a avant une lettre.
« Réponse #18 le: 03 Septembre 2009, 01:42:00 »
Salut,

évite les double post, encore plus les triple post :lock

pour ce qui concerne ton problème, recherche la callback OnPlayerText et tu trouvera ton bonheur (ctrl+f recommandé)

++Sim++





Hors ligne manathann

  • *
  • Tueur
  • Messages: 90
    • Voir le profil
Re : Suppression de ce qu'il y a avant une lettre.
« Réponse #19 le: 03 Septembre 2009, 10:54:52 »
Merci Sim  :-*


EDIT :

Punaise c'est compliqué : j'ai trouvé telephone ( ca va ) et plus bas je crois que c'est "realchat" :

if (realchat)
{
   if(gPlayerLogged[playerid] == 0)
   {
       return 0;
       }
              new idx5;
idx5 = strfind (sendername, "_");
sendername[idx5] = ' ';
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s dit: %s", sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
return 0;
}

Sauf que ca marche pas et quand je fait un texte normal ca fait normalement

%s: %s            Le premier étant le nom et le deuxième le texte


J'ai screené pour que vous voyiez


J'attends votre aide :s

« Modifié: 03 Septembre 2009, 11:41:34 par manathann »