GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Paradize le 26 Mai 2010, 18:09:08
-
Bonjour à tous ! :)
J'aimerais faire de façon à que suivant le Grade admin, quand on fait ' /a ', sa marque soit " Admin ", " Modo "...etc, mais sa marche pas..
//----------------------------------[ Chat des administrateurs ]-----------------------------------------------
if(strcmp(cmd, "/a", true) == 0 || strcmp(cmd, "/admin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
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: (/a)dmin [admin chat]");
return 1;
}
format(string, sizeof(string), "* Admin %s: %s", PlayerInfo[playerid][pAdmin], sendername, result);
if (PlayerInfo[playerid][pAdmin] >= 2)
{
SendAdminMessage(1, COLOR_PURPLE, string);
}
return 1;
}
if (PlayerInfo[playerid][pAdmin] == 2)
{
format(string, sizeof(string), "Modérateur en test: %s", PlayerInfo[playerid][pAdmin], sendername, result);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Modérateur %s: %s", sendername, result);
}
else if (PlayerInfo[playerid][pAdmin] == 3)
{
format(string, sizeof(string), "Modérateur: %s", PlayerInfo[playerid][pAdmin], sendername, result);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Modérateur %s: %s", sendername, result);
}
else if (PlayerInfo[playerid][pAdmin] == 4)
{
format(string, sizeof(string), "Super-Modérateur: %s", PlayerInfo[playerid][pAdmin], sendername, result);;
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Admin %s: %s", sendername, result);
}
else if (PlayerInfo[playerid][pAdmin] == 5)
{
format(string, sizeof(string), "Administrateur: %s", PlayerInfo[playerid][pAdmin], sendername, result);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Admin %s: %s", sendername, result);
}
else if (PlayerInfo[playerid][pAdmin] == 69)
{
format(string, sizeof(string), "Administrateur-Boulet: %s", PlayerInfo[playerid][pAdmin], sendername, result);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Admin %s: %s", sendername, result);
}
else if (PlayerInfo[playerid][pAdmin] == 1000)
{
format(string, sizeof(string), "Administrateur Général: %s", PlayerInfo[playerid][pAdmin], sendername, result);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Admin %s: %s", sendername, result);
}
else if (PlayerInfo[playerid][pAdmin] == 2000)
{
format(string, sizeof(string), "Fondateur: %s", PlayerInfo[playerid][pAdmin], sendername, result);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Admin %s: %s", sendername, result);
}
else if (PlayerInfo[playerid][pAdmin] == 3000)
{
format(string, sizeof(string), "Scripteur: %s", PlayerInfo[playerid][pAdmin], sendername, result);
SendClientMessageToAll(COLOR_LIGHTGREEN, string);
printf("Admin %s: %s", sendername, result);
}
return 1;
}
Merci de m'aidez si vous pouvez :-\
-
Tien change par sa
if(strcmp(cmd, "/asayadmin", true) == 0 || strcmp(cmd, "/asay", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas encore connecté !");
return 1;
}
if (PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Commande réservées aux admins");
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, "[CMD]: (/asay)oc (texte)");
return 1;
}
if (PlayerInfo[playerid][pAdmin] == 1000)
{
format(string, sizeof(string), "||Modo: %s .))" ,result);
OOCOff(0x66FFFFAA,string);
printf("%s", string);
}
else if (PlayerInfo[playerid][pAdmin] == 2000)
{
format(string, sizeof(string), "||Modo: %s .))" ,result);
OOCOff(0x66FFFFAA,string);
printf("%s", string);
}
else if (PlayerInfo[playerid][pAdmin] == 3000)
{
format(string, sizeof(string), "|>Admin: %s .))" ,result);
OOCOff(0x00FF00AA,string);
printf("%s", string);
}
else if (PlayerInfo[playerid][pAdmin] == 4000)
{
format(string, sizeof(string), ">Admin général: %s.< " ,result);
OOCOff(0xFF8800AA,string);
printf("%s", string);
}
else if (PlayerInfo[playerid][pAdmin] == 9999)
{
format(string, sizeof(string), "~||Fondateur: %s .||~" ,result);
OOCOff(0xFF0000AA,string);
printf("%s", string);
}
}
return 1;
}
PS : NOUBLIE PAS DE CHANGER LES NIVEAUS ADMIN
-
Merci sa à l'air de marcher ^^
Je le modifie à mon goût ^^
-
Pas de problèmes ;)
-
Re :happy
J'ai le même soucis avec mon système d'aide pour les nouveaux joueurs :
//------------------------------------------[ Newbie Chat ]---------------------------------------------------------------
if(strcmp(cmd, "/newbie", true) == 0 || strcmp(cmd, "/n", true) == 0)
{
if(IsPlayerConnected(playerid))
{
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: (/n)ewbie [Texte]");
SendClientMessage(playerid, COLOR_WHITE, "FONCTION: Permet à un nouveau joueur de demander de l'aide");
return 1;
}
if ((nooon) && PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Le canel pour les nouveaux à été désactivé par un administrateur !");
return 1;
}
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas identifié !");
return 1;
}
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Tu peux pas parler, tu as été silencé par un administrateur !");
return 1;
}
if(gNewb[playerid] == 0)
{
PlayerInfo[playerid][pNewbTimer] = 12;
if (PlayerInfo[playerid][pAdmin] >= 3000)
format(string, sizeof(string), "(( Scripteur %s : %s ))", sendername, playerid ,result);
if (PlayerInfo[playerid][pAdmin] >= 1000)
format(string, sizeof(string), "(( Administrateur %s : %s ))", sendername, playerid ,result);
if (PlayerInfo[playerid][pAdmin] >= 4)
format(string, sizeof(string), "(( Super Modérateur %s : %s ))", sendername, playerid ,result);
if (PlayerInfo[playerid][pAdmin] >= 3)
format(string, sizeof(string), "(( Modérateur %s : %s ))", sendername, playerid ,result);
if (PlayerInfo[playerid][pAdmin] >= 2)
format(string, sizeof(string), "(( Modérateur %s : %s ))", sendername, playerid ,result);
else if (PlayerInfo[playerid][pHelper] == 0)
format(string, sizeof(string), "(( Nouveau %s : %s ))", sendername, playerid , result);
else if (PlayerInfo[playerid][pAdmin] == 1)
format(string, sizeof(string), "(( MDC %s : %s ))", sendername, playerid , result);
else if (PlayerInfo[playerid][pDonateRank] > 0)
format(string, sizeof(string), "(( VIP %s : %s ))", sendername, playerid , result);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLevel] <= 3 || PlayerInfo[i][pAdmin] > 0 || gNewb[i] == 1)
{
SendClientMessage(i, COLOR_GREEN, string);
ntimer[playerid] = 60;
}
}
}
printf("%s", string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, " You must toggle that Channel to On! (/tognewb)");
return 1;
}
}
return 1;
}
Suivant le grade administrateur, çà met toujours " Modérateur ", peut-on m'aider ? :-\
-
tu procede de la sorte
Si le joueur est niveau admin x ( le plus petit )
ou si le joueur est niveau admin Y ( un peux plus haut)
if
else if
else if
else if....