Some commands when player is masked
#1

Hey I'm making some commands and I'm not sure how to make if player is masked the command will do SAME thing but message will be changed a bit so player's name will be replaced with "Stranger" here is the code:
pawn Код:
if(strcmp(cmd, "/cigsmoke", true) == 0)
    {
        if(IsDown[playerid] == 1 || IsDown[playerid] == 2) { return SendClientMessage(playerid,0xFF0000AA,"You can't do this while incapacitated."); }
        if(Cig[playerid] == 0) return SendClientMessage(playerid,0xFF0000AA,"You dont have a cigrette!");
        GetPlayerName(playerid, sendername, sizeof(sendername));
        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
        format(string, sizeof(string), "*%s opens the cigarette package, pulls out a cigarette and lights it up.", sendername);
        ProxDetector(8.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
        Cig[playerid] --;
       
        if(Masked[playerid] == 1) // checking if the person is masked
        {
            if(IsDown[playerid] == 1 || IsDown[playerid] == 2) { return SendClientMessage(playerid,0xFF0000AA,"You can't do this while incapacitated."); }
            if(Cig[playerid] == 0) return SendClientMessage(playerid,0xFF0000AA,"You dont have a cigrette!");
            GetPlayerName(playerid, sendername, sizeof(sendername));
            SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
            format(string, sizeof(string), "*Stranger opens the cigarette package, pulls out a cigarette and lights it up.", sendername);
            ProxDetector(8.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
            Cig[playerid] --;
            return 1;
        }
        return 1;
    }
And how in this format I'm not using any strings so I guess I need to replace this with other code ^^
Thanks in advance

EDIT: and about return 1; is it even needed at end of if(Masked)... ?
Reply
#2

pawn Код:
if(strcmp(cmd, "/cigsmoke", true) == 0)
{
    if(IsDown[playerid] == 1 || IsDown[playerid] == 2) { return SendClientMessage(playerid,0xFF0000AA,"You can't do this while incapacitated."); }
    if(Cig[playerid] == 0) return SendClientMessage(playerid,0xFF0000AA,"You dont have a cigrette!");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
    Cig[playerid] --;
    if(Masked[playerid] == 1) string = "*Stranger opens the cigarette package, pulls out a cigarette and lights it up.";
    else format(string, sizeof(string), "*%s opens the cigarette package, pulls out a cigarette and lights it up.", sendername);
    ProxDetector(8.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
    return 1;
}
Edit: If you got the first one, don't use it, I made a mistake. Use the above one which is edited.
Reply
#3

Thanks for responding and help, I reped you
Reply
#4

Sorry for writing again, only 1 more question
Will this work?
pawn Код:
if(strcmp(cmd, "/me", 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[256];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            if(!strlen(result))
            {
                SendClientMessage(playerid, 0x33CCFFAA, "USAGE: /me [action]");
                return 1;
            }
            format(string, sizeof(string), "* %s %s", sendername, result);
            ProxDetector(30.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
            printf("- /me: %s", string);
            // If player is masked
            if(Masked[playerid] == 1)
            {
                format(string, sizeof(string), "* Stranger %s",result);
                ProxDetector(8.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
                return 1;
            }
        }
        return 1;
    }

    if(strcmp(cmd, "/do", 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[256];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            if(!strlen(result))
            {
                SendClientMessage(playerid, 0x33CCFFAA, "USAGE: /do [action]");
                return 1;
            }
            format(string, sizeof(string), "* %s (( %s ))", result, sendername);
            ProxDetector(30.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
            printf("- /do: (( %s ))", string);
            if(Masked[playerid] == 1)
            {
                format(string, sizeof(string), "* %s (( Stranger ))",result);
                ProxDetector(8.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
                return 1;
            }
        }
        return 1;
    }
Reply
#5

I'd do it like this:
pawn Код:
if(strcmp(cmd, "/me", 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[256];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            if(!strlen(result))
            {
                SendClientMessage(playerid, 0x33CCFFAA, "USAGE: /me [action]");
                return 1;
            }
            if(Masked[playerid] == 1) format(string, sizeof(string), "* Stranger %s",result);
            else format(string, sizeof(string), "* %s %s", sendername, result);
            ProxDetector(30.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
            printf("- /me: %s", string);
        }
        return 1;
    }
    if(strcmp(cmd, "/do", 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[256];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            if(!strlen(result))
            {
                SendClientMessage(playerid, 0x33CCFFAA, "USAGE: /do [action]");
                return 1;
            }
            if(Masked[playerid] == 1) format(string, sizeof(string), "* %s (( Stranger ))",result);
            else format(string, sizeof(string), "* %s (( %s ))", result, sendername);
            ProxDetector(30.0, playerid, string,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA,0x33CCFFAA);
            printf("- /do: (( %s ))", string);
        }
        return 1;
    }
Reply
#6

Well it seems somehow better than my so I will use it too, thanks for help
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)