GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: soizen le 10 Mars 2013, 16:03:26

Titre: /me /do trop cour
Posté par: soizen le 10 Mars 2013, 16:03:26
les /me et les /do sont trop cour quand on les rentre IG j'ai tout fait mes rien donc je demande de l'aide (se qui me fait peur c'est que je suis sur que vous aller trouvé et que c'est le truc le plus évident je suis sur)

le /me
if(strcmp(cmd, "/moi", true) ==0 || strcmp(cmd, "/me", true) == 0)
//if(strcmp(cmd, "/me", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vous devez être connecté!");
            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: /me [action]");
return 1;
}
if(FindIP(result)) /// Anti-Reclama
{
SendClientMessage(playerid, COLOR_RED, "[Anti-PUB] Vous avez été kick pour avoir fait une pub ");
new advertiser[MAX_PLAYER_NAME];
GetPlayerName(playerid, advertiser, sizeof(advertiser));
format(string, sizeof(string), "[Anti-PUB] %s a été expulsé de la ville. Raison: Pub",advertiser);
SendClientMessageToAll(COLOR_LIGHTRED,string);
KickLog(string);
  Kick(playerid);
return 1;
}
if(PlayerInfo[playerid][pMaskuse] == 1)
{
    format(string, sizeof(string), " Inconnu %s", result);
}
else
{
format(string, sizeof(string), "%s %s", sendername, result);
}
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf("%s", string);
}
return 1;

/do
    if(strcmp(cmd, "/fait", true) == 0 || strcmp(cmd, "/do", true) == 0 || strcmp(cmd, "/faire", true) == 0)
//if(strcmp(cmd, "/fait", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vous devez être connecté !");
            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: /do [action]");
return 1;
}
if(FindIP(result)) /// Anti-Reclama
{
SendClientMessage(playerid, COLOR_RED, "[Anti-PUB] Vous avez été kick pour avoir fait une pub ");
new advertiser[MAX_PLAYER_NAME];
GetPlayerName(playerid, advertiser, sizeof(advertiser));
format(string, sizeof(string), "[Anti-PUB] %s a été expulsé de la ville. Raison: Pub",advertiser);
SendClientMessageToAll(COLOR_LIGHTRED,string);
KickLog(string);
  Kick(playerid);
return 1;
}
if(PlayerInfo[playerid][pMaskuse] == 1)
{
    format(string, sizeof(string), "((Inconnu %s ))", result);
}
else
{
format(string, sizeof(string), "(( %s  %s ))", result, sendername);
}
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf("%s", string);
}
return 1;
}


pour voir plus claire http://pastebin.com/DmeUVeHx (http://pastebin.com/DmeUVeHx) :D
Titre: Re : /me /do trop cour
Posté par: ShaDowxx™ le 10 Mars 2013, 16:16:21
Pour les codes, upload les sur ici (http://pastebin.com), s'il te plaît, merci.

Ces codes à "yeux" nus je les reconnais. Et il faut augmenter le nombre de caractères qui sont pris en charge lors de l’exécution de la commande. (y comprit le / et le nom de la commande)

Cordialement. :bye:
Titre: Re : /me /do trop cour
Posté par: soizen le 10 Mars 2013, 16:36:35
Je vois se que tu veut dire mes je dire mais je ne trouve pas :/
Titre: Re : /me /do trop cour
Posté par: ShaDowxx™ le 10 Mars 2013, 16:42:03
Justement il faut faire travailler sa matière grise pour trouver d'où ça vient. (En tout cas moi j'ai trouvé :tongue:)
Titre: Re : /me /do trop cour
Posté par: soizen le 10 Mars 2013, 17:01:05
Je cherche je cherche bah je vais continuer (même pas un indice ^^)
Titre: Re : /me /do trop cour
Posté par: Xolokos le 10 Mars 2013, 19:23:04
Avec du strock et une fonction...
Code: (PAWN) [Sélectionner]
       
if (strcmp(Cmd, "/DO", true) == 0)
{
        if(IsPlayerConnected(playerid))
{
new Tmp[256];
        Tmp = strtok(cmdtext, Idx);
if (!strlen(Tmp))
{
return 1;
}
DOMESSAGE(playerid, cmdtext[4]);
        }
        return 1;
}

Code: (PAWN) [Sélectionner]
stock DOMESSAGE(playerid, text[])
{
new Float:XXX, Float:YYY, Float:ZZZ;
new Texte[126],Nom[26];
GetPlayerName(playerid, Nom, 26);
format(Texte, sizeof(Texte), "%s. (( %s ))",text, Nom);
GetPlayerPos(playerid, XXX, YYY, ZZZ);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    if(IsPlayerInRangeOfPoint(i, 28.0, XXX, YYY, ZZZ))
    {
if(GetPlayerVirtualWorld(i)==GetPlayerVirtualWorld(playerid))
{
  SendClientMessage(i, 0xECBFF2AA, Texte);
  SetPlayerChatBubble(playerid, Texte, 0xECBFF2AA, 31.0, 10000);
  }
}
}
}
}

Je vois pas pourquoi s'amuser a mettre un /me ou un /moi, le plus rependue dans le monde des mortels étant le /me.