GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: John_Montavedro le 03 Juillet 2010, 22:02:53

Titre: Une commande pour parler en tant que fondateur
Posté par: John_Montavedro le 03 Juillet 2010, 22:02:53
Enfaite, j'ai une petite idée : Je voudrais une simple commande pour parler en tant que Fondateur.. exemple :

/123456789adminsuperfort312548 Bonjour tout le monde ;)

et sa donne

Fondateur : Bonjour tout le monde ;)

C'est possible à faire svp?
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: chneubeul le 03 Juillet 2010, 22:10:02
Tu pourrais éviter de postez tous les 5 minutes stp ? On veut bien aider mais pour des problèmes la tu ne cherche pas :s j'sais bien qu'il n'y a pas de wiki, mais il y a des tutos...
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: John_Montavedro le 03 Juillet 2010, 22:11:50
oki :p

Double post
désolé
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: dydjyz le 03 Juillet 2010, 22:40:45
/rcon login MDP

/rcon say taphrase
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: John_Montavedro le 04 Juillet 2010, 10:03:26
Ok, s'il n'y a que cette méthode tant pis :p
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: cristab le 04 Juillet 2010, 10:04:33
tu peu creer la commande c'est une commande BASIQUE a faire
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: John_Montavedro le 04 Juillet 2010, 10:15:10
c'est à dire?
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: TheAlex86 le 13 Juillet 2010, 23:09:41
ouais un genre de asay sans le rcon exemple :
if(strcmp(cmd, "/asay", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] == 0)
        {
            SendClientMessage(playerid,COLOR_RED," Tu n'es pas un Admin ! .");
            return 1;
        }
GetPlayerName(playerid, sendername, sizeof(sendername));
  //format(string, 256, "AdmCmd: %s a utilisé la commande /am.",sendername,GetPlayerVehicleID(playerid));
//ABroadCast(COLOR_MAUVEAD,string,1);
  if(!strlen(cmdtext[idx]))
        {
            SendClientMessage(playerid, COLOR_GREY, "USAGE: /am [message]");
            SendClientMessage(playerid, COLOR_GREY, "FONCTION : parole d'admin.");
            return 1;
        }
if (PlayerInfo[playerid][pAdmin] == 1)
{
        format(string, sizeof(string), " Fondateur : %s", cmdtext[idx]);
        SendClientMessageToAll(COLOR_LIGHTGREEN, string);
        printf("MODO %s:%s",sendername, string);
        GetPlayerName(playerid, sendername, sizeof(sendername));
  format(string, 256, "AdmCmd: %s a utilisé la commande /am.",sendername,GetPlayerVehicleID(playerid));
ABroadCast(COLOR_MAUVEAD,string,1);

}

    return 1;
}


un truc dy style y a ptete des erreur j'ai fait ça vite fait.
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: D0os-Nox le 14 Juillet 2010, 16:58:02
Bonjour, Oui de plus il te fraudait obligatoirement avoir un système de compte pour enregistrer les paramètre à chaque reconnexion d'un joueur !

Les seuls solutions qui me parrait logique sont :

- Utilisez la fonction if(IsPlayerAdmin(playerid)) (( Te permettra de sécurisé la commande au joueur non connecté en rcon ! ))

- Intégrez un système de compte avec les différent paramètre importantes comme " pAdmin ", " pNiveau " Mais tout dépend du mode ...


 :happy D0os-Nox  :dry
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: TheAlex86 le 15 Juillet 2010, 12:19:51
Dizzy-Beno c'est de mon gm et c'est vite fait donc si, ne soit ps si prompt a juger stp et les definitions ça me parrai logique de les faires,...

edith/ SINON Dizzy-Beno quel est ton but en répondant aupost pour ne rien dire? avoir le plus de post possible pour dire je suis atif? car la 'ai vu plusieurde tes réponse elle ne sont pas hyper constructive c'ets une forum d'entre aide donc stviens la pour dire :" ej sais le faire mais jte le diraipas cherche," je voi spa l'interet profond"

(Prend pas sa comme une provocation mais c'est vrai  , tu ne donne aucune aide que des critique et des conseil genre cherche :) :P ...)
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: Leonidas300 le 15 Juillet 2010, 12:27:19
Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/adminmessage", true) == 0 || strcmp(cmd, "/am", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vous devez être connecté!");
            return 1;
        }
if (PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_RED, "Vous n'êtes pas Admin!");
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: /adminmessage [MSG]");
return 1;
}
format(string, sizeof(string), "ADMIN: %s", result);
OOCOff(0xFF6347AA,string);
printf("%s", string);
}
return 1;
}

By moi, modifie le comme tu veux
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: TheAlex86 le 15 Juillet 2010, 13:16:02
chaqun son style
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: D0os-Nox le 15 Juillet 2010, 13:54:30
RE :
Citer
Si c'est pour le faire vite fait personnelement je pense que le mieu serait de ne pas le faire .
On est là pour aider , t'as essayé d'aider en donner un ok merci mais il manque des fonction il faut
le préciser parce que quand la personne va compiler elle va trouver des erreur et elles saura pas faire ^^
Moi j'ai une commande pour admin qui est vraiment simplifiée comparé à vous regarde ça :

En haut du script :
Code:

enum InfosDuJoueur
         {
          Admin
          };
new InfosJoueur[MAX_PLAYERS][InfosDuJoueur];


Ensuite on crée la commande :
Code:

CMD:say(playerid, params[])
{
   if(!InfosJoueur[playerid][Admin]) return SendClientMessage(playerid,ROUGE,"Tu n'es pas admin , désolé tu n'as pas accès a cette commande !"); // Si le joueur n'est pas admin.

   if(isnull(params)) // Si le message n'est pas tapé
   {
      SendClientMessage(playerid, ROUGE, "Syntaxe: /say <message>");
      return 1;
   }
   new string[160];
   format(string, sizeof(string), "Admin Général : %s", params); // La on prévoie c'que sa va envoyer.
   SendClientMessageToAll(BLEU_ADMIN, string);// la on envoie a tout les joueur c'quon a tapé.
   return 1;
}


Sans oublié la couleur :
Code:

#define BLEU_ADMIN      0x2587CE72
#define ROUGE         0xFF2F2489


Bref tu vois que c'est vachement simplifié comparé à toi ^^

EDIT : il vous faut sscanf ^^
Posté le: Aujourd'hui à 12:27:19
Posté par: Leonidas300
Citer ce message
Code: (pawn)

if(strcmp(cmd, "/adminmessage", true) == 0 || strcmp(cmd, "/am", true) == 0)
   {
       if(IsPlayerConnected(playerid))
       {
           if(gPlayerLogged[playerid] == 0)
           {
               SendClientMessage(playerid, COLOR_GREY, "Vous devez être connecté!");
               return 1;
           }
         if (PlayerInfo[playerid][pAdmin] < 1)
         {
            SendClientMessage(playerid, COLOR_RED, "Vous n'êtes pas Admin!");
            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: /adminmessage [MSG]");
            return 1;
         }
         format(string, sizeof(string), "ADMIN: %s", result);
         OOCOff(0xFF6347AA,string);
         printf("%s", string);
      }
      return 1;
   }


By moi, modifie le comme tu veux

Ta solution se résulte à un problème qui se réfère à ma 2éme solution dit précédemment : - Intégrez un système de compte avec les différent paramètre importantes comme " pAdmin ", " pNiveau " Mais tout dépend du mode ...

Donc, Le problème qui se pose c'est l'information du joueur, comment veut-tu qu'il soit admin à sa connexion  ?

Bas, en prenant compte de la 2éme solution c'est-a-dire créer ou intégrer un système de compte en utilisant une commande du genre /enregistrer ...

Sinon, Ce n'est pas la meilleur solution, créer une commande secrète pour se mettre admin, en prenant exemple sur Dizzy cela donnerai :
if (strcmp("/semettreadmin", cmdtext, true, 10) == 0)
{
        InfosJoueur[playerid][Admin] = 1;
return 1;
}

 :happy D0os-Nox  :dry
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: D0os-Nox le 15 Juillet 2010, 14:32:28
RE : Oui mais, tout le monde ne sont pas sur du script LARP ... Sa peut aider plusieurs personnes qui veulent faire la même chose mais de A à Z .


Voilà, Parce-Que des copier coller à l'arrache, sa plait pas beaucoup  :dry


 :happy D0os-Nox  :laugh
Titre: Re : Une commande pour parler en tant que fondateur
Posté par: TheAlex86 le 15 Juillet 2010, 16:41:00
OK