• 23 Avril 2025, 13:08:56


Auteur Sujet: Commande ' /pm ' et ' /apm '  (Lu 1168 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Bankai_Rodriguez

  • *
  • Tueur
  • Messages: 54
    • Voir le profil
Commande ' /pm ' et ' /apm '
« le: 14 Mars 2010, 13:05:54 »
Bonjour à tous !

J'aimerais qu'on me donne le code du ' /pm ' (MP des joueurs) et ' /apm ' (MP des admins) pour mettre dans mon GM, le godfather.

Je le trouve pas

Merci  ;)

Double post
Code du PM :

Citer
//-------------------------------[ Message Personnel ]--------------------------------------------------------------------------

     if(strcmp("/pm", cmd, true) == 0)
     {
         tmp = strtok(cmdtext,idx);

         if(!strlen(tmp) || strlen(tmp) > 5) {
            SendClientMessage(playerid,COLOR_GRAD1,"USAGE : /pm [playerID/PartieduNom] [Message]");
            return 1;
         }

         new id = strval(tmp);
           gMessage = strrest(cmdtext,idx);

         if(!strlen(gMessage)) {
            SendClientMessage(playerid,COLOR_GRAD1,"USAGE : /pm [playerID/PartieduNom] [Message]");
            return 1;
         }

         if(!IsPlayerConnected(id)) {
            SendClientMessage(playerid,COLOR_GRAD1," Aucun joueur trouvé");
            return 1;
         }

         if(playerid != id) {
            if(PMToggled[id] == 0 && PlayerInfo[playerid][pAdmin] == 0 || PlayerInfo[playerid][pModerator] == 0)
             {
                 SendClientMessage(playerid,COLOR_GRAD1,"Ce joueur à bloqué sa messagerie personnel");
               return 1;
             }
            GetPlayerName(id,iName,sizeof(iName));
            GetPlayerName(playerid,pName,sizeof(pName));
            format(Message,sizeof(Message),"Message envoyé à - %s(%d): %s",iName,id,gMessage);
            SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
            format(Message,sizeof(Message),"Message reçu de - %s(%d): %s",pName,playerid,gMessage);
            SendClientMessage(id,PM_INCOMING_COLOR,Message);
            PlayerPlaySound(id,1085,0.0,0.0,0.0);

            printf("Message personnel : %s",Message);

         }
         else {
            SendClientMessage(playerid,COLOR_GRAD1,"Vous ne pouvez pas vous envoyer des messages personnels !");
         }
         return 1;
      }


Erreur à la compilation :

Citer
D:\Serveur local\gamemodes\Paradize.pwn(9307) : warning 217: loose indentation
D:\Serveur local\gamemodes\Paradize.pwn(9317) : error 017: undefined symbol "gMessage"
D:\Serveur local\gamemodes\Paradize.pwn(9317) : error 017: undefined symbol "strrest"
D:\Serveur local\gamemodes\Paradize.pwn(9319) : error 017: undefined symbol "gMessage"
D:\Serveur local\gamemodes\Paradize.pwn(9330) : error 017: undefined symbol "PMToggled"
D:\Serveur local\gamemodes\Paradize.pwn(9330) : warning 215: expression has no effect
D:\Serveur local\gamemodes\Paradize.pwn(9330) : error 001: expected token: ";", but found "]"
D:\Serveur local\gamemodes\Paradize.pwn(9330) : error 029: invalid expression, assumed zero
D:\Serveur local\gamemodes\Paradize.pwn(9330) : fatal error 107: too many error messages on one line

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


7 Errors.
« Modifié: 14 Mars 2010, 13:07:52 par Bankai_Rodriguez »

Hors ligne BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : Commande ' /pm ' et ' /apm '
« Réponse #1 le: 14 Mars 2010, 13:18:49 »
Il y a le FS base.pwn qui la regarde dans

ıllıllı вυвυησ ıllıllı


Hors ligne Bankai_Rodriguez

  • *
  • Tueur
  • Messages: 54
    • Voir le profil
Re : Commande ' /pm ' et ' /apm '
« Réponse #2 le: 14 Mars 2010, 13:21:16 »
J'aimerais le mettre dans le GM directement, je fais comment ?

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Commande ' /pm ' et ' /apm '
« Réponse #3 le: 14 Mars 2010, 14:05:44 »
si tu look bien tout ce qui te manque et dans le fichier common.inc
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Bankai_Rodriguez

  • *
  • Tueur
  • Messages: 54
    • Voir le profil
Re : Commande ' /pm ' et ' /apm '
« Réponse #4 le: 14 Mars 2010, 19:16:11 »
Citer
if(strcmp(cmd, "/apm", true) == 0)
   {
       if(IsPlayerConnected(playerid))
       {
           if (PlayerInfo[playerid][pAdmin] >= 1)
           {
              if(gPlayerLogged[playerid] == 0)
              {
                  SendClientMessage(playerid, COLOR_GREY, "Vous devez être connecté !");
                  return 1;
              }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
               SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /apm [playerID/PartieduNom] [Texte]");
               return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(HidePM[giveplayerid] > 0)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Ce joueur à bloqué les messages personnels");
                        return 1;
                    }
                  {
                     SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /apm [playerid/PartOfName] [text]");
                     return 1;
                  }
                  format(string, sizeof(string), "L'Admin %s mp: %s", sendername, (result));
                  SendClientMessage(giveplayerid, 0xBBA033AA, string);
                  format(string, sizeof(string), "Message privé envoié à [ID:%d]%s: %s", giveplayerid, giveplayer, (result));
                  SendClientMessage(playerid,  0xE5C43EAA, string);
                  return 1;
               }
            }
            else
            {
               format(string, sizeof(string), " L'ID %d n'est pas connecté.", giveplayerid);
               SendClientMessage(playerid, COLOR_GRAD1, string);
            }
         }
          else
          {
            SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas autorisé a utiliser cette commande!");
          }
      }
      return 1;

Erreur :

Citer
veur local\gamemodes\Paradize.pwn(9339) : warning 225: unreachable code
D:\Serveur local\gamemodes\Paradize.pwn(9339) : error 017: undefined symbol "result"
D:\Serveur local\gamemodes\Paradize.pwn(9341) : error 017: undefined symbol "result"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

On peut m'aider ??  :-[

Hors ligne Jawitt

  • Scripteur PAWN/PHP
  • *
  • Tueur
  • Scripteur de LS-Paradise
  • Messages: 53
    • Voir le profil
Re : Commande ' /pm ' et ' /apm '
« Réponse #5 le: 14 Mars 2010, 21:33:42 »
Salut,

if(strcmp(cmd, "/apm", true) == 0 || strcmp(cmd, "/pma", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
       if(PlayerInfo[playerid][pAdmin] >= 1)
       {
           SendClientMessage(playerid, COLOR_GREY, "   Vous n'êtes pas un administrateur !");
           return 1;
       }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/p)me [playerid/PartOfName] [text]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (IsPlayerConnected(giveplayerid))
{
   if(giveplayerid != INVALID_PLAYER_ID)
   {
       if(HidePM[giveplayerid] > 0)
       {
           SendClientMessage(playerid, COLOR_GREY, "   Le joueur à bloqué les PMs !");
           return 1;
       }
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
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: /apm [playerid/PartOfName] [texte]");
return 1;
}
format(string, sizeof(string), "Message Privé de : Admin %s(ID:%d): %s", sendername, playerid, (result));
SendClientMessage(giveplayerid, 0xBBA033AA, string);
format(string, sizeof(string), "PM Envoyé à [ID:%d] %s: %s", giveplayerid, giveplayer, (result));
SendClientMessage(playerid,  0xE5C43EAA, string);
return 1;
}
}
else
{
format(string, sizeof(string), "   %d n'est pas un joueur actif.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}

Je te l'ai même retouché un peu

Jawitt.

Hors ligne Bankai_Rodriguez

  • *
  • Tueur
  • Messages: 54
    • Voir le profil
Re : Commande ' /pm ' et ' /apm '
« Réponse #6 le: 17 Mars 2010, 17:04:37 »
Merci !

Mais si j'ai bien compris le code, les joueurs peuvent couper leurs messageries ?

Double post
Dans le jeu sa marche pas............Sa marque :

" Vous n'êtes pas administrateur "
« Modifié: 17 Mars 2010, 18:44:50 par Bankai_Rodriguez »

Hors ligne Jawitt

  • Scripteur PAWN/PHP
  • *
  • Tueur
  • Scripteur de LS-Paradise
  • Messages: 53
    • Voir le profil
Re : Commande ' /pm ' et ' /apm '
« Réponse #7 le: 17 Mars 2010, 20:42:10 »
Salut,

Si tu n'essaye pas d'arranger le code, et donc de regarder ce qu'il pose problème, tu ne t'en sortiras pas.

( Oui tu as une fonction dans ton GM POUR )

Jawitt.