• 02 Mai 2025, 13:26:06


Auteur Sujet: Aide [/serviceadmin]  (Lu 1881 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Komolos

  • *
  • Tueur en série
  • Messages: 190
    • Voir le profil
Aide [/serviceadmin]
« le: 22 Août 2010, 16:34:35 »
Bonjour,
J'ai un problème je voudrai des variable pour que ça fasse qu'ont on parle. Administrateur, modérateur etc...
J'ai essaille pleins de choses mais des erreur :s
Je voudrai que qu'ont on tape /serviceadmin, que quand il écrive on voit : Administrateur dit : Salut, etc...

if(!strcmp(cmdtext, "/serviceadmin", true)) // By Ellis
{
if(IsPlayerConnected(playerid))
{
   if(gPlayerLogged[playerid] == 0)
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous devez d'abord ouvrir une session !");
return 1;
   }
   if(PlayerInfo[playerid][pAdmin] > 2)
   {
       if(AdminDuty[playerid] == 0)
       {
           AdminDuty[playerid] = 1;
           SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "[ID:%d] %s se met en service d'Admin", playerid, sendername);
SendClientMessageToAll(COLOR_YELLOW, string);
if(PlayerInfo[playerid][pAdmin] >= 1337)
{
   for(new i = 0; i < sizeof(CarInfo); i++)
{
SetVehicleParamsForPlayer(i,playerid,0,0);
}
}
return 1;
       }
       else if(AdminDuty[playerid] == 1)
       {
           AdminDuty[playerid] = 0;
           SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100);
SetPlayerColor(playerid,TEAM_HIT_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "[ID:%d]%s n'est plus en service d'Admin", playerid, sendername);
SendClientMessageToAll(COLOR_YELLOW,string);
return 1;
       }
   }
   else
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous n'êtes pas Admin !");
       return 1;
   }
}
   return 1;
}
« Modifié: 22 Août 2010, 19:42:50 par Komolos »

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Aide [/serviceadmin]
« Réponse #1 le: 22 Août 2010, 18:46:45 »
Rien compris

Hors ligne [viruz]rider_77

  • *
  • Mafioso
  • C/C++ programming
  • Messages: 2154
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #2 le: 22 Août 2010, 18:54:55 »
J'ai utiliser un soft pour décrypter et je crois comprendre que tu veux une couleur différente selon le rang du joueur...

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #3 le: 22 Août 2010, 18:57:37 »
Hum, j'ai pas vraiment compris ce que tu voulais mais si c'est ce qu'a dit Rider, un peu de recherche suffira, ce problème à déjà été résolu plusieurs fois ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne robyn59

  • *
  • Tueur en série
  • Messages: 108
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #4 le: 22 Août 2010, 19:02:50 »
il veut que quand les admin font /serviceadmin que quand il parle en tchat local sa ecrive Modo ou ADMIN a la place de leur nom

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #5 le: 22 Août 2010, 19:20:47 »
sufie de crée un if quand le joueur parle...




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne Komolos

  • *
  • Tueur en série
  • Messages: 190
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #6 le: 22 Août 2010, 19:43:08 »
J'ai editer mon sujet, désolés, si vous n'avez rien compris.

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Re : Aide [/serviceadmin]
« Réponse #7 le: 22 Août 2010, 20:47:25 »
J'ai utiliser un soft pour décrypter et je crois comprendre que tu veux une couleur différente selon le rang du joueur...
lol faudras que tu me le passe xd

Sinon utilise OnPlayerText :
public OnPlayerText(playerid, text[])
{
if(ADMINMODO=VALEUR)
{
new string[128];
format(string, sizeof(string),"Administrateur :%s", text);
SendClientMessageToAll(COULEUR,string);
return 0;
}
return 1;
}

Hors ligne dydjyz

  • *
  • Bandit
  • Messages: 278
    • Voir le profil
    • OriginalRP - SAMP
Re : Aide [/serviceadmin]
« Réponse #8 le: 22 Août 2010, 20:51:27 »
J'ai fait sa pour les faction moi, suit l'exemple:


public OnPlayerText(playerid, text[])
{
  if(realchat)
  {
  new string[128];
   new sendername[MAX_PLAYER_NAME];
     GetPlayerName(playerid, sendername, sizeof(sendername));
   if (stats[playerid][Faction] == 1)
   {
     format(string, sizeof(string), "Policier %s dit: %s", sendername, text);
}
   else if (stats[playerid][Faction] == 0)
   {
     format(string, sizeof(string), "%s dit: %s", sendername, text);
}
   else if (stats[playerid][Faction] == 2)
   {
     format(string, sizeof(string), "Ambulancier %s dit: %s", sendername, text);
}
   else if (stats[playerid][Faction] == 3)
   {
     format(string, sizeof(string), "Pompier %s dit: %s", sendername, text);
}
     SetPlayerChatBubble(playerid, string, TEAM_ORANGE, 100.0, 10000);
  ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  }
return 0;
}
Il te faut le prox detector.

Hors ligne minimicro

  • *
  • Tueur
  • Codeur Php / Mysql / Pawno
  • Messages: 53
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #9 le: 22 Août 2010, 20:58:19 »
Ouaip, ou avec une fonction :

Dans tes forwards :

Code: (pawn) [Sélectionner]
forward GetAdminRankName(rankInt, rankName[32]);
Dans les fonctions :

Code: (pawn) [Sélectionner]
public GetAdminRankName(rankInt, rankName[32])
{
      if(rankInt == 1)
            {memcpy(rankName, "Modérateur", 0, sizeof(rankName)*4, sizeof(rankName)*4);}
      else if(rankInt == 2)
            {memcpy(rankName, "Admin level X", 0, sizeof(rankName)*4, sizeof(rankName)*4);}
      ...
      else
            {memcpy(rankName, "Rang inconnu", 0, sizeof(rankName)*4, sizeof(rankName)*4);}
}

Puis, dans ton OnPlayerText :

Appelons var_admin, la variable du joueur actuel qui definit le niveau d'administration du joueur (pAdmin par exemple ... suivant le GM).

Code: (pawn) [Sélectionner]
if(var_admin >= LEVEL MINIMUM ADMIN)
{
      new rankName[32], playername[MAX_PLAYER_NAME]; (peut etre string[128] si ce n'est pas defini ailleurs)
      GetAdminRankName(var_admin, rankName);
      GetPlayerName(playerid, playername, sizeof(playername));
      format(string, sizeof(string), "%s %s: %s", rankName, playername, text);
      SendClientMessageToAll(COULEUR, string);
      return false;
}


On evite le copier/coller ainsi.
Codeur Php / Pawno / MySql - Administration et maintenance serveur

Hors ligne dydjyz

  • *
  • Bandit
  • Messages: 278
    • Voir le profil
    • OriginalRP - SAMP
Re : Aide [/serviceadmin]
« Réponse #10 le: 22 Août 2010, 21:15:10 »
Mon code est quand meme vachement plus simple pour les débutant, moi meme en étant un.

Hors ligne minimicro

  • *
  • Tueur
  • Codeur Php / Mysql / Pawno
  • Messages: 53
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #11 le: 22 Août 2010, 21:24:25 »
En gardant ton code, je suggere une petite choses, tu utilises les else if, mais je suggère un else pour le dernier, avec une situation par défault.

En effet, tu crée une string, vide, jusque la, tout va bien.
Maintenant, tu formate dedans ce que tu souhaite, suivant différents status du joueur, maintenant, imagine que pour une raison quelconque (il faut savoir tout imaginer), la variable faction soit négative, ou supérieure a 4, et bien, tu ne rempliras pas ta string, et tu utilisera donc une variable vide, et cela peux te faire crasher, certaines fonctions (je pense au SendClientMessage) n'apprécie pas ce genre de variable vide. Cela ne va pas forcement arriver tout de suite, mais il faut savoir anticiper.

Ce que tu peux faire, c'est soit remplacer la dernière condition par un else, soit rajouter un else qui envoit au joueur "Erreur variable faction, contactez un scripteur", un truc dans le genre.
Codeur Php / Pawno / MySql - Administration et maintenance serveur

Hors ligne dydjyz

  • *
  • Bandit
  • Messages: 278
    • Voir le profil
    • OriginalRP - SAMP
Re : Aide [/serviceadmin]
« Réponse #12 le: 22 Août 2010, 21:56:05 »

  else if (stats[playerid][Faction] >= 5)
  {
     format(string, sizeof(string), " %s dit: %s", sendername, text);
}

Et le tour est joué.

Hors ligne minimicro

  • *
  • Tueur
  • Codeur Php / Mysql / Pawno
  • Messages: 53
    • Voir le profil
Re : Aide [/serviceadmin]
« Réponse #13 le: 23 Août 2010, 10:19:19 »
Et sans vouloir te faire chier, si la variable est négative ?

Essaye plutot :

Code: (pawn) [Sélectionner]
else
{
      format(string, sizeof(string), " %s dit: %s", sendername, text);
}

Comme ca, tu es sur que ca peut prendre n'importe quelle autre valeur !
Codeur Php / Pawno / MySql - Administration et maintenance serveur

Hors ligne dydjyz

  • *
  • Bandit
  • Messages: 278
    • Voir le profil
    • OriginalRP - SAMP
Re : Aide [/serviceadmin]
« Réponse #14 le: 23 Août 2010, 10:41:29 »
Oui pas bete, jvai mettre sa dans mon code ^^