Вопросы по PAWN скриптингу

dRaGoN_gReY

Участник
75
8
PHP:
else if(strcmp(cmd, "/skick", true) == 0)
{
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
        tmp = strtok(cmdtext, idx);
        new giveplayerid;
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /skick [id]");
        giveplayerid = ReturnUser(tmp);
        if(IsPlayerConnected(giveplayerid))
        {
            new string[70];
            new name[MAX_PLAYER_NAME],name1[MAX_PLAYER_NAME];
            GetPlayerName(playerid, name, sizeof(name));
            GetPlayerName(giveplayerid, name1, sizeof(name1));
            format(string,sizeof(string),"[A] %s кикнул %s",name,name1);
            SendAdminMessage(COLOR_WHITE,string);
            Kick(giveplayerid);
        }
        else SendClientMessage(playerid, COLOR_GREY, "Такого игрока нет");
    }
    return true;
}
Слушай, сделаешь с выдачей адм. / если назначил писало админам | [A]:Admin назначил nick администратором(3 уровень) | и т.д.?
Выдача адм.

PHP:
    if(strcmp("/arang", cmdtext, true, 4) == 0){
        if(IsPlayerConnected(playerid)){
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 6) return SendClientMessage(playerid, COLOR_WHITE, "{999999}Èñïîëüçóéòå: /arang [id èãðîêà] [îò 1 äî 6]");
            new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[256];
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 6 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Óðîâåíü àäìèíèñòðàòîðà ìîæåò áûòü îò 1 äî 6 | 0 - ñíÿòü ñ ïîñòà àäìèíèñòðàòîðà"); return true; }
            if(PlayerInfo[playerid][pAdmin] >= 6 || IsPlayerAdmin(playerid)){
                if(IsPlayerConnected(para1)){
                    if(para1 != INVALID_PLAYER_ID){
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pAdmin] = level;
                        printf("{3399FF}%s {FFFF00}ïðîäâèíóë {3399FF}%s {FFFF00}íà {3399FF}%d {FFFF00}óðîâåíü àäìèíèñòðàòîðà.", sendername, giveplayer, level);
                        format(string, sizeof(string), "{3399FF}%s {FFFF00}íàçíà÷èë âàñ àäìèíèñòðàòîðîì {3399FF}%d {FFFF00}óðîâíÿ", sendername, level);
                        SendClientMessage(para1, COLOR_YELLOW, string);
                        format(string, sizeof(string), "{FFFF00}Âû íàçíà÷èëè {3399FF}%s {FFFF00}àäìèíèñòðàòîðîì {3399FF}%d {FFFF00}óðîâíÿ.", giveplayer,level);
                        SendClientMessage(playerid, COLOR_YELLOW, string);}}}else{SendClientMessage(playerid, COLOR_GRAD1, "Âû íå óïîëíîìî÷åíû èñïîëüçîâàòü ýòó êîìàíäó!");}}return true;}
 

Batka1337

Новичок
21
9
Слушай, сделаешь с выдачей адм. / если назначил писало админам | [A]:Admin назначил nick администратором(3 уровень) | и т.д.?
Выдача адм.

PHP:
    if(strcmp("/arang", cmdtext, true, 4) == 0){
        if(IsPlayerConnected(playerid)){
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 6) return SendClientMessage(playerid, COLOR_WHITE, "{999999}Èñïîëüçóéòå: /arang [id èãðîêà] [îò 1 äî 6]");
            new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[256];
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 6 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Óðîâåíü àäìèíèñòðàòîðà ìîæåò áûòü îò 1 äî 6 | 0 - ñíÿòü ñ ïîñòà àäìèíèñòðàòîðà"); return true; }
            if(PlayerInfo[playerid][pAdmin] >= 6 || IsPlayerAdmin(playerid)){
                if(IsPlayerConnected(para1)){
                    if(para1 != INVALID_PLAYER_ID){
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pAdmin] = level;
                        printf("{3399FF}%s {FFFF00}ïðîäâèíóë {3399FF}%s {FFFF00}íà {3399FF}%d {FFFF00}óðîâåíü àäìèíèñòðàòîðà.", sendername, giveplayer, level);
                        format(string, sizeof(string), "{3399FF}%s {FFFF00}íàçíà÷èë âàñ àäìèíèñòðàòîðîì {3399FF}%d {FFFF00}óðîâíÿ", sendername, level);
                        SendClientMessage(para1, COLOR_YELLOW, string);
                        format(string, sizeof(string), "{FFFF00}Âû íàçíà÷èëè {3399FF}%s {FFFF00}àäìèíèñòðàòîðîì {3399FF}%d {FFFF00}óðîâíÿ.", giveplayer,level);
                        SendClientMessage(playerid, COLOR_YELLOW, string);}}}else{SendClientMessage(playerid, COLOR_GRAD1, "Âû íå óïîëíîìî÷åíû èñïîëüçîâàòü ýòó êîìàíäó!");}}return true;}
PHP:
  if(strcmp("/arang", cmdtext, true, 4) == 0)
  {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 6) return SendClientMessage(playerid, COLOR_WHITE, "{999999}Используйте: /arang [id игрока] [от 1 до 6]");
            new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[256];
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 6 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Уровень администратора может быть от 1 до 6 | 0 - снять с поста администратора"); return true; }
            if(PlayerInfo[playerid][pAdmin] >= 6 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(para1))
                {
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pAdmin] = level;
                        printf("%s продвинул %s на %d уровень администратора.", sendername, giveplayer, level);
                        format(string, sizeof(string), "[A] %s назначил %s адмнистратором %i уровня", sendername,para1, level);
                        SendAdminMessage(COLOR_WHITE,string);

                }
                else SendClientMessage(playerid, COLOR_GRAD1, "Иррок оффлайн");
            }
            else SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
        }
        return true;
    }
 
  • Нравится
Реакции: dRaGoN_gReY

dRaGoN_gReY

Участник
75
8
PHP:
  if(strcmp("/arang", cmdtext, true, 4) == 0)
  {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 6) return SendClientMessage(playerid, COLOR_WHITE, "{999999}Используйте: /arang [id игрока] [от 1 до 6]");
            new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[256];
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 6 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Уровень администратора может быть от 1 до 6 | 0 - снять с поста администратора"); return true; }
            if(PlayerInfo[playerid][pAdmin] >= 6 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(para1))
                {
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pAdmin] = level;
                        printf("%s продвинул %s на %d уровень администратора.", sendername, giveplayer, level);
                        format(string, sizeof(string), "[A] %s назначил %s адмнистратором %i уровня", sendername,para1, level);
                        SendAdminMessage(COLOR_WHITE,string);

                }
                else SendClientMessage(playerid, COLOR_GRAD1, "Иррок оффлайн");
            }
            else SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
        }
        return true;
    }
Спасибо большое, осталось бы ток при входе админу в игру, у меня стоит что пишется только ему, а нужно чтоб писалось в /a чат

PHP:
if (PlayerInfo[playerid][pAdmin] == 1){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор первого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 2){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор второго уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 3){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор третьего уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 4){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор четвертого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 5){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор пятого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] > 5){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор шестого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
 

Batka1337

Новичок
21
9
Спасибо большое, осталось бы ток при входе админу в игру, у меня стоит что пишется только ему, а нужно чтоб писалось в /a чат

PHP:
if (PlayerInfo[playerid][pAdmin] == 1){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор первого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 2){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор второго уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 3){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор третьего уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 4){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор четвертого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] == 5){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор пятого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
    if (PlayerInfo[playerid][pAdmin] > 5){
        format(string2, sizeof(string2), "{FFFF00}Вы вошли как администратор шестого уровня");
        SendClientMessage(playerid, COLOR_ORANGE,string2);}
PHP:
new string1[100];
new nama1[MAX_PLAYER_NAME];
GetPlayerNanem(playerid,nama1,sizeof(nama1));
format(string1,sizeof(string1),"[A] %s зашёл в игру. Администратор %i уровня",nama1,PlayerInfo[playerid][pAdmin]);
SendAdminMessage(COLOR_WHITE,string1);
Только я не знаю твои переменные, так что если что заменишь на свои
 
  • Нравится
Реакции: dRaGoN_gReY

dRaGoN_gReY

Участник
75
8
PHP:
new string1[100];
new nama1[MAX_PLAYER_NAME];
GetPlayerNanem(playerid,nama1,sizeof(nama1));
format(string1,sizeof(string1),"[A] %s зашёл в игру. Администратор %i уровня",nama1,PlayerInfo[playerid][pAdmin]);
SendAdminMessage(COLOR_WHITE,string1);
Только я не знаю твои переменные, так что если что заменишь на свои
Нуб я в павно
Screenshot_2.png
 

dRaGoN_gReY

Участник
75
8
PHP:
new string1[100];
new nama1[MAX_PLAYER_NAME];
GetPlayerNanem(playerid,nama1,sizeof(nama1));
format(string1,sizeof(string1),"[A] %s зашёл в игру. Администратор %i уровня",nama1,PlayerInfo[playerid][pAdmin]);
SendAdminMessage(COLOR_WHITE,string1);
С одним справился, теперь в игре, вот так.
sa-mp-084.png

Не пишется кого назначил.
 

Batka1337

Новичок
21
9
PHP:
  if(strcmp("/arang", cmdtext, true, 4) == 0)
  {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 6) return SendClientMessage(playerid, COLOR_WHITE, "{999999}Используйте: /arang [id игрока] [от 1 до 6]");
            new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[256];
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 6 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Уровень администратора может быть от 1 до 6 | 0 - снять с поста администратора"); return true; }
            if(PlayerInfo[playerid][pAdmin] >= 6 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(para1))
                {
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pAdmin] = level;
                        printf("%s продвинул %s на %d уровень администратора.", sendername, giveplayer, level);
                        format(string, sizeof(string), "[A] %s назначил %s адмнистратором %i уровня", sendername,giveplayer, level);
                        SendAdminMessage(COLOR_WHITE,string);

                }
                else SendClientMessage(playerid, COLOR_GRAD1, "Иррок оффлайн");
            }
            else SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
        }
        return true;
    }
 
  • Нравится
Реакции: dRaGoN_gReY

dRaGoN_gReY

Участник
75
8
PHP:
  if(strcmp("/arang", cmdtext, true, 4) == 0)
  {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 6) return SendClientMessage(playerid, COLOR_WHITE, "{999999}Используйте: /arang [id игрока] [от 1 до 6]");
            new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[256];
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 6 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Уровень администратора может быть от 1 до 6 | 0 - снять с поста администратора"); return true; }
            if(PlayerInfo[playerid][pAdmin] >= 6 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(para1))
                {
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pAdmin] = level;
                        printf("%s продвинул %s на %d уровень администратора.", sendername, giveplayer, level);
                        format(string, sizeof(string), "[A] %s назначил %s адмнистратором %i уровня", sendername,giveplayer, level);
                        SendAdminMessage(COLOR_WHITE,string);

                }
                else SendClientMessage(playerid, COLOR_GRAD1, "Иррок оффлайн");
            }
            else SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
        }
        return true;
    }
Screenshot_4.png