2 posts in this topic

Всем привет сегодня хочу дать вам команду алкотест! 

Спойлер

if(strcmp(cmd,"/alcotest",true)==0)
    {
        if(IsPlayerConnected(playerid))
            {
            if(!IsACop(playerid))
             {
                      SendClientMessage(playerid, COLOR_GREY, "Вы не сотрудник полиции!");
                      return 1;
             }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                        SendClientMessage(playerid, COLOR_ISPOLZUY, "Используйте: /alcotest [ид игрока]");
                        return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))
                {
                        if(giveplayerid != INVALID_PLAYER_ID)
                        {
                                    if (ProxDetectorS(8.0, playerid, giveplayerid))
                                        {
                                            if(giveplayerid == playerid){SendClientMessage(playerid, COLOR_GREY, "Вы не можете провести тест самому себе!");return 1;}
                                            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                            new text1[20];
                                            if(PlayerDrunk[giveplayerid] > 1) { text1 = "пьян"; } else { text1 = "трезв"; }
                                            format(string, sizeof(string), "|__________ Тест %s на алкогольное опьянение __________|", giveplayer);
                                        SendClientMessage(playerid, COLOR_WHITE, string);
                                        format(string, sizeof(string), "Результат теста: Водитель %s", text1);
                                                SendClientMessage(playerid, COLOR_GREY, string);
                                                format(string, sizeof(string), "* %s проводит тест %s на алкогольное опьянение", sendername ,giveplayer);
                                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                                        }
                                        else
                                        {
                                            SendClientMessage(playerid, COLOR_GREY, "Игрок далеко от вас!");
                                            return 1;
                                        }
                                }
                        }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "Игрок не в сети!");
                    return 1;
                }
                }
            return 1;
         }

 

 

Share this post


Link to post
Share on other sites

Вариант команды от меня на ZCMD / DC_CMD + sscanf2:



if(strcmp(cmd,"/alcotest",true)==0)
{
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вы не сотрудник полиции!");
    if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, -1, "Используйте: /alcotest [id/имя/часть имени]");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "Такого игрока нет на сервере!");
    {
        if (!ProxDetectorS(8.0, playerid, params[0])) return SendClientMessage(playerid, -1, "Игрок слишком далеко от вас!");
        if(params[0] == playerid) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете провести тест самому себе!");
        GetPlayerName(params[0], giveplayer, sizeof(giveplayer));
        GetPlayerName(playerid, sendername, sizeof(sendername));
        new text1[20];
        text1 = (PlayerDrunk[params[0]] > 1) ? "пьян" : "не пьян");
        format(string, sizeof(string), "|__________ Тест %s на алкогольное опьянение __________|", giveplayer);
        SendClientMessage(playerid, COLOR_WHITE, string);
        format(string, sizeof(string), "Результат теста: Водитель %s", text1);
        SendClientMessage(playerid, COLOR_GREY, string);
        format(string, sizeof(string), "* %s проводит тест %s на алкогольное опьянение", sendername ,giveplayer);
        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    return 1;
}

Также немного оптимизировал.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Mason
      By Mason
      Здравствуйте, задался вопросом как сделать систему кодовых слов которые стримеры создают на трансляциях.
       
      Описание системы: Стример выдает зарплату допустим 5 тысяч он вводит команду /wstream слово кошка и кол-во денег /wstream 5000 кошка после этого у зрителей есть 10 секунд чтобы ввести это кодовое слово. Зрители в свою очередь вводят /stream и в диалог вводят кодовое слово и получают 5 тысяч.
       
      У меня есть эта система просто надо сделать так чтобы когда мы создавали кодовое слово оно создавалось на 10 секунд

      Команда:
      CMD:wstream(playerid, params[]) {     if(PlayerLogged[playerid] == 0) return 1;     if(PlayerInfo[playerid][pAdmin] < 9) return 1;     if(sscanf(params, "ds[64]", params[0],params[1])) return SendClientMessage(playerid, COLOR_GREY, "/wstream  [cash] [слово]");     format(totalstring, 100, " [A]: %s[%d] создал кодовое слово %s на $%d", sendername(playerid),playerid,params[1],params[0]);     SendAdminMessage(playerid,COLOR_LIGHTRED,totalstring);     return 1; }