[ARZ RP] /givecar

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
29 Июл 2024
Сообщения
124
Всем доброго вечера. у меня была команда, для бонусников (подходит для рп не очень) /givecar в общем, эта команда отлично подойдёт когда на сервере нету бота, который выдаёт НРГ и т.д. И вот вам команда. В чём её прикол? : Игрок прописывает /givecar ему выдается мопед , если /givecar [id] [id vehicle] [TT 1/0] ему выдается кар который он указал ранее, получается такая мини команда, но полезная, игрок может себе выдавать в 40 минут 5 машин. (Таймер можно изменить)

И так вот сама системка ^_^.

Начало мода :
Pawn:
new PlayerCarCount[MAX_PLAYERS];
new PlayerCarTime[MAX_PLAYERS];

Паблик :

Pawn:
forward ResetCarCount(playerid);
public ResetCarCount(playerid)
{
    PlayerCarCount[playerid] = 0;
    return 1;
}

CMD (Сама команда) Вписывать их ко всем CMD

Pawn:
cmd:givecar(playerid, params[]) // sandelloexe
{
    new
        id = playerid,
        veh = 462,
        TT;


    if (PlayerCarCount[playerid] >= 5)
    {
        return SCM(playerid, COLOR_GREY, "Вы уже выдали 5 машин за последние 40 минут! Подождите, прежде чем выдавать ещё.");
    }


    sscanf(params, "udd", id, veh, TT);

    if (!SearchVehicleMassiveID(veh)) return SCM(playerid, COLOR_VALIK, "Неверный номер транспортного средства!");

    if (veh == 538 || veh == 449 || veh == 570) return false;

    if (id == INVALID_PLAYER_ID)
        return 0;

    if (GetPlayerState(id) != 1)
        return SCM(playerid, COLOR_GREY, "Игрок не за рулем!");

    if (CountVehicles() == 1999) return SendErrorMessage(playerid);

    new
        Float:X, Float:Y, Float:Z, Float:A;

    GetPlayerPos(id, X, Y, Z);
    GetPlayerFacingAngle(id, A);

    PLVEH_destroy(id);

    if (AnimPlayed{id}) return false;

    PI[id][plveh] = J_AddStaticVehicleEx(veh, X, Y, Z, A, random(127), random(127));
    PutPlayerInVehicle(id, PI[id][plveh], 0);

    f(global_str, 150, "[A] %s[%d] выдал временную машину с помощью бонусной команды %s[%d] [%d]", PN(playerid), playerid, PN(id), id, PI[id][plveh]);
    SendAdminsMessage(COLOR_GREY, global_str);

    if (!IsAVelik(PI[id][plveh])) SetEngineStatus(PI[id][plveh], false, id);

    PlayerCarCount[playerid]++;

    if (PlayerCarCount[playerid] == 1)
    {
        PlayerCarTime[playerid] = SetTimerEx("ResetCarCount", 2400000, false, "i", playerid); // 2400 секунд - 40 минут , крч чел не сможет выдавать себе кар 40 минут // можно изменить
    }

    return 1;
}

Строго не судите первый раз вылаживаю команду/систему и т.д :(

Надеюсь я вам помог <3
 
Активный
Пользователь
Регистрация
2 Дек 2023
Сообщения
117
Всем доброго вечера. у меня была команда, для бонусников (подходит для рп не очень) /givecar в общем, эта команда отлично подойдёт когда на сервере нету бота, который выдаёт НРГ и т.д. И вот вам команда. В чём её прикол? : Игрок прописывает /givecar ему выдается мопед , если /givecar [id] [id vehicle] [TT 1/0] ему выдается кар который он указал ранее, получается такая мини команда, но полезная, игрок может себе выдавать в 40 минут 5 машин. (Таймер можно изменить)

И так вот сама системка ^_^.

Начало мода :
Pawn:
new PlayerCarCount[MAX_PLAYERS];
new PlayerCarTime[MAX_PLAYERS];

Паблик :

Pawn:
forward ResetCarCount(playerid);
public ResetCarCount(playerid)
{
    PlayerCarCount[playerid] = 0;
    return 1;
}

CMD (Сама команда) Вписывать их ко всем CMD

Pawn:
cmd:givecar(playerid, params[]) // sandelloexe
{
    new
        id = playerid,
        veh = 462,
        TT;


    if (PlayerCarCount[playerid] >= 5)
    {
        return SCM(playerid, COLOR_GREY, "Вы уже выдали 5 машин за последние 40 минут! Подождите, прежде чем выдавать ещё.");
    }


    sscanf(params, "udd", id, veh, TT);

    if (!SearchVehicleMassiveID(veh)) return SCM(playerid, COLOR_VALIK, "Неверный номер транспортного средства!");

    if (veh == 538 || veh == 449 || veh == 570) return false;

    if (id == INVALID_PLAYER_ID)
        return 0;

    if (GetPlayerState(id) != 1)
        return SCM(playerid, COLOR_GREY, "Игрок не за рулем!");

    if (CountVehicles() == 1999) return SendErrorMessage(playerid);

    new
        Float:X, Float:Y, Float:Z, Float:A;

    GetPlayerPos(id, X, Y, Z);
    GetPlayerFacingAngle(id, A);

    PLVEH_destroy(id);

    if (AnimPlayed{id}) return false;

    PI[id][plveh] = J_AddStaticVehicleEx(veh, X, Y, Z, A, random(127), random(127));
    PutPlayerInVehicle(id, PI[id][plveh], 0);

    f(global_str, 150, "[A] %s[%d] выдал временную машину с помощью бонусной команды %s[%d] [%d]", PN(playerid), playerid, PN(id), id, PI[id][plveh]);
    SendAdminsMessage(COLOR_GREY, global_str);

    if (!IsAVelik(PI[id][plveh])) SetEngineStatus(PI[id][plveh], false, id);

    PlayerCarCount[playerid]++;

    if (PlayerCarCount[playerid] == 1)
    {
        PlayerCarTime[playerid] = SetTimerEx("ResetCarCount", 2400000, false, "i", playerid); // 2400 секунд - 40 минут , крч чел не сможет выдавать себе кар 40 минут // можно изменить
    }

    return 1;
}

Строго не судите первый раз вылаживаю команду/систему и т.д :(

Надеюсь я вам помог <3


//offtop
аналог /plveh, но тут есть проверки, норм команда
 
Сверху