В теме 6 сообщений

Этап 1 - Добавление кода в #define
 

#define MAX_SLOTS_ACS_PLAYER                (6) // Это отвечает сколько ячеек будет для игрока где будут храниться надетые аксессуары
#define MAX_SLOTS_INV_PLAYER                (8) // Это отвечает сколько ячеек в самом "Инвентаре для аксессуаров", где будут храниться аксессуары



Этап 2 - Добавление переменных
 

new Text:Inventory_TD[16];
new PlayerText:AcsSlotsPlayer[MAX_PLAYERS][MAX_SLOTS_ACS_PLAYER];
new PlayerText:AcsInvSlotsPlayer[MAX_PLAYERS][MAX_SLOTS_INV_PLAYER];
new PlayerText:SkinForPlayer[MAX_PLAYERS];

new OpenAcsInv[MAX_PLAYERS char];
new SlotsInvAcs[MAX_PLAYERS][MAX_SLOTS_INV_PLAYER];
new SlotsAcs[MAX_PLAYERS][MAX_SLOTS_INV_PLAYER];
new PlayerInvAcs[MAX_PLAYERS][MAX_SLOTS_INV_PLAYER];
new PlayerAcs[MAX_PLAYERS][MAX_SLOTS_INV_PLAYER];
new SlotsPlayer[MAX_PLAYERS];
new SlotsAcsPlayer[MAX_PLAYERS];
new SlotClicked[MAX_PLAYERS][2];
enum items{
    IDSlot,
    ItemID,
    ItemName[24],
    ItemInfo[128],
    Float:ItemPosX,
    Float:ItemPosY,
    Float:ItemPosZ,
    Float:ItemPosC
}
new ItemsAcs[][items] = {
        {0, 1649,       "Пустота",                      "О данном предмете нету информации на данный момент :(",                                                                                                                0.0000, 0.0000, 0.0000, 0.0000},
        {1, 11704,      "Маска демона",         "Данный {F4CA16}аксессуар{FFFFFF} можно надеть на лицо...\nтем самым изменив вид вашего персонажа!",                    0.0000, 0.0000, 180.0000, 1.0000},
        {2, 11737,      "Rockstar Case",        "Данный {F4CA16}аксессуар{FFFFFF} можно надеть на правую руку...\nтем самым изменив вид вашего персонажа!",     -90.0000, 0.0000, 180.0000, 1.0000},
        {3, 18637,      "Щит на спину",         "Данный {F4CA16}аксессуар{FFFFFF} можно надеть на спину...\nтем самым изменив вид вашего персонажа!",                   -90.0000, 0.0000, 180.0000, 1.0000}
};



Этап 3 - Функции/команды для открытие инвентаря с аксессуарами и добавления аксессуара
 

if(newkeys == KEY_YES) SHAcsInv(playerid, 1);  // Если хотим чтобы открывался инвентарь с аксессуарами на клавишу "Y"
CMD:acsinv(playerid){ // Если хотим чтобы открывался инвентарь с аксессуарами через команду [/acsinv]
        if(!OpenAcsInv{playerid}) SHAcsInv(playerid, 1);
        else SHAcsInv(playerid, 0);
}
CMD:additem(playerid, params[]){ // Команда которая даёт аксессуар в инвентарь
        new id, itemid, str[256];
        if(sscanf(params,"ud",id, itemid)) return SendError(playerid, "Используйте команду: /additem [playerid] [id]");
        if(!IsPlayerConnected(id)) return SendError(playerid, "Игрок не в сети!");
        if(!SlotsPlayer[id]) return SendError(playerid, "У игрока нету свободного слота для аксессуара!");
        AddAcs(id, itemid);
        format(str, sizeof(str), "Вы успешно выдали предмет: %s", ItemsAcs[itemid][ItemName]);
        return SendClientMessage(playerid, -1, str);
}



Этап 4 - Сердце системы (stock)
 

stock LoadInvTextDraws(){
    new currenttime = GetTickCount();
        Inventory_TD[0] = TextDrawCreate(517.7056, 174.2498, "LD_SPAC:white"); // ?????
        TextDrawTextSize(Inventory_TD[0], 116.0000, 81.0000);
        TextDrawAlignment(Inventory_TD[0], 1);
        TextDrawColor(Inventory_TD[0], 589505535);
        TextDrawBackgroundColor(Inventory_TD[0], 255);
        TextDrawFont(Inventory_TD[0], 4);
        TextDrawSetProportional(Inventory_TD[0], 0);
        TextDrawSetShadow(Inventory_TD[0], 0);

        Inventory_TD[1] = TextDrawCreate(446.3880, 134.0498, "LD_SPAC:white"); // ?????
        TextDrawTextSize(Inventory_TD[1], 70.0000, 175.0000);
        TextDrawAlignment(Inventory_TD[1], 1);
        TextDrawColor(Inventory_TD[1], 589505535);
        TextDrawBackgroundColor(Inventory_TD[1], 255);
        TextDrawFont(Inventory_TD[1], 4);
        TextDrawSetProportional(Inventory_TD[1], 0);
        TextDrawSetShadow(Inventory_TD[1], 0);

        Inventory_TD[2] = TextDrawCreate(446.4175, 133.9497, "LD_SPAC:white"); // ?????
        TextDrawTextSize(Inventory_TD[2], 70.0000, 14.0000);
        TextDrawAlignment(Inventory_TD[2], 1);
        TextDrawColor(Inventory_TD[2], 831318015);
        TextDrawBackgroundColor(Inventory_TD[2], 255);
        TextDrawFont(Inventory_TD[2], 4);
        TextDrawSetProportional(Inventory_TD[2], 0);
        TextDrawSetShadow(Inventory_TD[2], 0);

        Inventory_TD[3] = TextDrawCreate(517.9760, 160.6831, "LD_SPAC:white"); // ?????
        TextDrawTextSize(Inventory_TD[3], 115.7499, 14.0000);
        TextDrawAlignment(Inventory_TD[3], 1);
        TextDrawColor(Inventory_TD[3], 831318015);
        TextDrawBackgroundColor(Inventory_TD[3], 255);
        TextDrawFont(Inventory_TD[3], 4);
        TextDrawSetProportional(Inventory_TD[3], 0);
        TextDrawSetShadow(Inventory_TD[3], 0);

        Inventory_TD[4] = TextDrawCreate(447.4826, 135.8168, "particle:shad_car"); // ?????
        TextDrawTextSize(Inventory_TD[4], 69.0000, 11.0500);
        TextDrawAlignment(Inventory_TD[4], 1);
        TextDrawColor(Inventory_TD[4], 85);
        TextDrawBackgroundColor(Inventory_TD[4], 255);
        TextDrawFont(Inventory_TD[4], 4);
        TextDrawSetProportional(Inventory_TD[4], 0);
        TextDrawSetShadow(Inventory_TD[4], 0);

        Inventory_TD[5] = TextDrawCreate(516.0761, 162.6333, "particle:shad_car"); // ?????
        TextDrawTextSize(Inventory_TD[5], 119.0000, 11.0000);
        TextDrawAlignment(Inventory_TD[5], 1);
        TextDrawColor(Inventory_TD[5], 85);
        TextDrawBackgroundColor(Inventory_TD[5], 255);
        TextDrawFont(Inventory_TD[5], 4);
        TextDrawSetProportional(Inventory_TD[5], 0);
        TextDrawSetShadow(Inventory_TD[5], 0);

        Inventory_TD[6] = TextDrawCreate(482.7824, 137.4167, "PLAYER"); // ?????
        TextDrawLetterSize(Inventory_TD[6], 0.1685, 0.7716);
        TextDrawAlignment(Inventory_TD[6], 2);
        TextDrawColor(Inventory_TD[6], -1);
        TextDrawBackgroundColor(Inventory_TD[6], 255);
        TextDrawFont(Inventory_TD[6], 1);
        TextDrawSetProportional(Inventory_TD[6], 1);
        TextDrawSetShadow(Inventory_TD[6], 0);

        Inventory_TD[7] = TextDrawCreate(575.1762, 163.9499, "ACCESSORIES"); // ?????
        TextDrawLetterSize(Inventory_TD[7], 0.1685, 0.7716);
        TextDrawAlignment(Inventory_TD[7], 2);
        TextDrawColor(Inventory_TD[7], -1);
        TextDrawBackgroundColor(Inventory_TD[7], 255);
        TextDrawFont(Inventory_TD[7], 1);
        TextDrawSetProportional(Inventory_TD[7], 1);
        TextDrawSetShadow(Inventory_TD[7], 0);

        Inventory_TD[8] = TextDrawCreate(464.0881, 132.0498, "::"); // ?????
        TextDrawLetterSize(Inventory_TD[8], 0.4000, 1.6000);
        TextDrawAlignment(Inventory_TD[8], 1);
        TextDrawColor(Inventory_TD[8], -1);
        TextDrawBackgroundColor(Inventory_TD[8], 255);
        TextDrawFont(Inventory_TD[8], 1);
        TextDrawSetProportional(Inventory_TD[8], 1);
        TextDrawSetShadow(Inventory_TD[8], 0);

        Inventory_TD[9] = TextDrawCreate(549.4644, 159.0664, "::"); // ?????
        TextDrawLetterSize(Inventory_TD[9], 0.4000, 1.6000);
        TextDrawTextSize(Inventory_TD[9], -8.0000, 0.0000);
        TextDrawAlignment(Inventory_TD[9], 1);
        TextDrawColor(Inventory_TD[9], -1);
        TextDrawBackgroundColor(Inventory_TD[9], 255);
        TextDrawFont(Inventory_TD[9], 1);
        TextDrawSetProportional(Inventory_TD[9], 1);
        TextDrawSetShadow(Inventory_TD[9], 0);

        Inventory_TD[10] = TextDrawCreate(520.0587, 260.4833, "LD_SPAC:white"); // ?????
        TextDrawTextSize(Inventory_TD[10], 36.0000, 20.0000);
        TextDrawAlignment(Inventory_TD[10], 1);
        TextDrawColor(Inventory_TD[10], 858993663);
        TextDrawBackgroundColor(Inventory_TD[10], 255);
        TextDrawFont(Inventory_TD[10], 4);
        TextDrawSetProportional(Inventory_TD[10], 0);
        TextDrawSetShadow(Inventory_TD[10], 0);
        TextDrawSetSelectable(Inventory_TD[10], true);

        Inventory_TD[11] = TextDrawCreate(557.8698, 260.5665, "LD_SPAC:white"); // ?????
        TextDrawTextSize(Inventory_TD[11], 36.0000, 20.0000);
        TextDrawAlignment(Inventory_TD[11], 1);
        TextDrawColor(Inventory_TD[11], 858993663);
        TextDrawBackgroundColor(Inventory_TD[11], 255);
        TextDrawFont(Inventory_TD[11], 4);
        TextDrawSetProportional(Inventory_TD[11], 0);
        TextDrawSetShadow(Inventory_TD[11], 0);
        TextDrawSetSelectable(Inventory_TD[11], true);

        Inventory_TD[12] = TextDrawCreate(595.4924, 260.5833, "LD_SPAC:white"); // ?????
        TextDrawTextSize(Inventory_TD[12], 36.0000, 20.0000);
        TextDrawAlignment(Inventory_TD[12], 1);
        TextDrawColor(Inventory_TD[12], 858993663);
        TextDrawBackgroundColor(Inventory_TD[12], 255);
        TextDrawFont(Inventory_TD[12], 4);
        TextDrawSetProportional(Inventory_TD[12], 0);
        TextDrawSetShadow(Inventory_TD[12], 0);
        TextDrawSetSelectable(Inventory_TD[12], true);

        Inventory_TD[13] = TextDrawCreate(538.3878, 265.1330, "USE"); // ?????
        TextDrawLetterSize(Inventory_TD[13], 0.2343, 1.0048);
        TextDrawAlignment(Inventory_TD[13], 2);
        TextDrawColor(Inventory_TD[13], -1);
        TextDrawBackgroundColor(Inventory_TD[13], 255);
        TextDrawFont(Inventory_TD[13], 1);
        TextDrawSetProportional(Inventory_TD[13], 1);
        TextDrawSetShadow(Inventory_TD[13], 0);

        Inventory_TD[14] = TextDrawCreate(575.5985, 265.1330, "INFO"); // ?????
        TextDrawLetterSize(Inventory_TD[14], 0.2343, 1.0048);
        TextDrawAlignment(Inventory_TD[14], 2);
        TextDrawColor(Inventory_TD[14], -1);
        TextDrawBackgroundColor(Inventory_TD[14], 255);
        TextDrawFont(Inventory_TD[14], 1);
        TextDrawSetProportional(Inventory_TD[14], 1);
        TextDrawSetShadow(Inventory_TD[14], 0);

        Inventory_TD[15] = TextDrawCreate(613.8989, 265.1330, "DROP"); // ?????
        TextDrawLetterSize(Inventory_TD[15], 0.2343, 1.0048);
        TextDrawAlignment(Inventory_TD[15], 2);
        TextDrawColor(Inventory_TD[15], -1);
        TextDrawBackgroundColor(Inventory_TD[15], 255);
        TextDrawFont(Inventory_TD[15], 1);
        TextDrawSetProportional(Inventory_TD[15], 1);
        TextDrawSetShadow(Inventory_TD[15], 0);
        /* Òåêñòäðàâ Vote */
        Vote_TD[0] = TextDrawCreate(197.2351, 121.1666, "LD_SPAC:white"); // ïóñòî
        TextDrawTextSize(Vote_TD[0], 264.0000, 234.0000);
        TextDrawAlignment(Vote_TD[0], 1);
        TextDrawColor(Vote_TD[0], 858993663);
        TextDrawBackgroundColor(Vote_TD[0], 255);
        TextDrawFont(Vote_TD[0], 4);
        TextDrawSetProportional(Vote_TD[0], 0);
        TextDrawSetShadow(Vote_TD[0], 0);

        Vote_TD[1] = TextDrawCreate(188.7644, 133.4167, "LD_SPAC:white"); // ïóñòî
        TextDrawTextSize(Vote_TD[1], 282.0000, 209.0000);
        TextDrawAlignment(Vote_TD[1], 1);
        TextDrawColor(Vote_TD[1], 858993663);
        TextDrawBackgroundColor(Vote_TD[1], 255);
        TextDrawFont(Vote_TD[1], 4);
        TextDrawSetProportional(Vote_TD[1], 0);
        TextDrawSetShadow(Vote_TD[1], 0);

        Vote_TD[2] = TextDrawCreate(184.9880, 115.9167, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[2], 25.0000, 33.0000);
        TextDrawAlignment(Vote_TD[2], 1);
        TextDrawColor(Vote_TD[2], 858993663);
        TextDrawBackgroundColor(Vote_TD[2], 255);
        TextDrawFont(Vote_TD[2], 4);
        TextDrawSetProportional(Vote_TD[2], 0);
        TextDrawSetShadow(Vote_TD[2], 0);

        Vote_TD[3] = TextDrawCreate(184.9880, 326.8500, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[3], 25.0000, 33.0000);
        TextDrawAlignment(Vote_TD[3], 1);
        TextDrawColor(Vote_TD[3], 858993663);
        TextDrawBackgroundColor(Vote_TD[3], 255);
        TextDrawFont(Vote_TD[3], 4);
        TextDrawSetProportional(Vote_TD[3], 0);
        TextDrawSetShadow(Vote_TD[3], 0);

        Vote_TD[4] = TextDrawCreate(449.8586, 115.7333, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[4], 25.0000, 33.0000);
        TextDrawAlignment(Vote_TD[4], 1);
        TextDrawColor(Vote_TD[4], 858993663);
        TextDrawBackgroundColor(Vote_TD[4], 255);
        TextDrawFont(Vote_TD[4], 4);
        TextDrawSetProportional(Vote_TD[4], 0);
        TextDrawSetShadow(Vote_TD[4], 0);

        Vote_TD[5] = TextDrawCreate(450.0880, 327.3332, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[5], 25.0000, 33.0000);
        TextDrawAlignment(Vote_TD[5], 1);
        TextDrawColor(Vote_TD[5], 858993663);
        TextDrawBackgroundColor(Vote_TD[5], 255);
        TextDrawFont(Vote_TD[5], 4);
        TextDrawSetProportional(Vote_TD[5], 0);
        TextDrawSetShadow(Vote_TD[5], 0);

        Vote_TD[6] = TextDrawCreate(282.3292, 106.5998, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[6], 25.0000, 32.0000);
        TextDrawAlignment(Vote_TD[6], 1);
        TextDrawColor(Vote_TD[6], 831318015);
        TextDrawBackgroundColor(Vote_TD[6], 255);
        TextDrawFont(Vote_TD[6], 4);
        TextDrawSetProportional(Vote_TD[6], 0);
        TextDrawSetShadow(Vote_TD[6], 0);

        Vote_TD[7] = TextDrawCreate(295.2174, 111.5332, "LD_SPAC:white"); // ïóñòî
        TextDrawTextSize(Vote_TD[7], 68.0000, 22.0000);
        TextDrawAlignment(Vote_TD[7], 1);
        TextDrawColor(Vote_TD[7], 831318015);
        TextDrawBackgroundColor(Vote_TD[7], 255);
        TextDrawFont(Vote_TD[7], 4);
        TextDrawSetProportional(Vote_TD[7], 0);
        TextDrawSetShadow(Vote_TD[7], 0);

        Vote_TD[8] = TextDrawCreate(351.1762, 106.6498, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[8], 25.0000, 32.0000);
        TextDrawAlignment(Vote_TD[8], 1);
        TextDrawColor(Vote_TD[8], 831318015);
        TextDrawBackgroundColor(Vote_TD[8], 255);
        TextDrawFont(Vote_TD[8], 4);
        TextDrawSetProportional(Vote_TD[8], 0);
        TextDrawSetShadow(Vote_TD[8], 0);

        Vote_TD[9] = TextDrawCreate(292.2940, 117.0833, "particle:lamp_shad_64"); // ïóñòî
        TextDrawTextSize(Vote_TD[9], 75.0000, 16.0000);
        TextDrawAlignment(Vote_TD[9], 1);
        TextDrawColor(Vote_TD[9], -154);
        TextDrawBackgroundColor(Vote_TD[9], 255);
        TextDrawFont(Vote_TD[9], 4);
        TextDrawSetProportional(Vote_TD[9], 0);
        TextDrawSetShadow(Vote_TD[9], 0);

        Vote_TD[10] = TextDrawCreate(312.3587, 115.1333, "VOTE"); // ïóñòî
        TextDrawLetterSize(Vote_TD[10], 0.4000, 1.6000);
        TextDrawAlignment(Vote_TD[10], 1);
        TextDrawColor(Vote_TD[10], -1);
        TextDrawBackgroundColor(Vote_TD[10], 255);
        TextDrawFont(Vote_TD[10], 1);
        TextDrawSetProportional(Vote_TD[10], 1);
        TextDrawSetShadow(Vote_TD[10], 0);

        Vote_TD[11] = TextDrawCreate(454.7056, 121.2331, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[11], 15.0000, 18.0000);
        TextDrawAlignment(Vote_TD[11], 1);
        TextDrawColor(Vote_TD[11], 831318015);
        TextDrawBackgroundColor(Vote_TD[11], 255);
        TextDrawFont(Vote_TD[11], 4);
        TextDrawSetProportional(Vote_TD[11], 0);
        TextDrawSetShadow(Vote_TD[11], 0);
        TextDrawSetSelectable(Vote_TD[11], true);

        Vote_TD[12] = TextDrawCreate(459.8118, 125.4333, "X"); // ïóñòî
        TextDrawLetterSize(Vote_TD[12], 0.2569, 0.9291);
        TextDrawAlignment(Vote_TD[12], 1);
        TextDrawColor(Vote_TD[12], -1);
        TextDrawBackgroundColor(Vote_TD[12], 255);
        TextDrawFont(Vote_TD[12], 1);
        TextDrawSetProportional(Vote_TD[12], 1);
        TextDrawSetShadow(Vote_TD[12], 0);

        Vote_TD[13] = TextDrawCreate(330.4704, 141.0000, "Administrator_Nick_Name_created_the_vote"); // ïóñòî
        TextDrawLetterSize(Vote_TD[13], 0.2235, 1.0225);
        TextDrawAlignment(Vote_TD[13], 2);
        TextDrawColor(Vote_TD[13], -1);
        TextDrawBackgroundColor(Vote_TD[13], 255);
        TextDrawFont(Vote_TD[13], 1);
        TextDrawSetProportional(Vote_TD[13], 1);
        TextDrawSetShadow(Vote_TD[13], 0);

        Vote_TD[14] = TextDrawCreate(330.9410, 151.6503, "\"Kto_kryche\""); // ïóñòî
        TextDrawLetterSize(Vote_TD[14], 0.2235, 1.0225);
        TextDrawAlignment(Vote_TD[14], 2);
        TextDrawColor(Vote_TD[14], 831318015);
        TextDrawBackgroundColor(Vote_TD[14], 255);
        TextDrawFont(Vote_TD[14], 1);
        TextDrawSetProportional(Vote_TD[14], 1);
        TextDrawSetShadow(Vote_TD[14], 0);

        Vote_TD[15] = TextDrawCreate(238.6471, 191.7500, "LD_SPAC:white"); // ïóñòî
        TextDrawTextSize(Vote_TD[15], 19.0000, 118.0000);
        TextDrawAlignment(Vote_TD[15], 1);
        TextDrawColor(Vote_TD[15], 831318015);
        TextDrawBackgroundColor(Vote_TD[15], 255);
        TextDrawFont(Vote_TD[15], 4);
        TextDrawSetProportional(Vote_TD[15], 0);
        TextDrawSetShadow(Vote_TD[15], 0);
        TextDrawSetSelectable(Vote_TD[15], true);

        Vote_TD[16] = TextDrawCreate(248.8293, 313.6666, "Nick_Name"); // ïóñòî
        TextDrawLetterSize(Vote_TD[16], 0.2141, 1.0341);
        TextDrawAlignment(Vote_TD[16], 2);
        TextDrawColor(Vote_TD[16], -1);
        TextDrawBackgroundColor(Vote_TD[16], 255);
        TextDrawFont(Vote_TD[16], 1);
        TextDrawSetProportional(Vote_TD[16], 1);
        TextDrawSetShadow(Vote_TD[16], 0);

        Vote_TD[17] = TextDrawCreate(247.3470, 325.3333, "0_player's"); // ïóñòî
        TextDrawLetterSize(Vote_TD[17], 0.1717, 0.9991);
        TextDrawAlignment(Vote_TD[17], 2);
        TextDrawColor(Vote_TD[17], -2122219009);
        TextDrawBackgroundColor(Vote_TD[17], 255);
        TextDrawFont(Vote_TD[17], 1);
        TextDrawSetProportional(Vote_TD[17], 1);
        TextDrawSetShadow(Vote_TD[17], 0);

        Vote_TD[18] = TextDrawCreate(400.2230, 323.6498, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[18], 25.0000, 32.0000);
        TextDrawAlignment(Vote_TD[18], 1);
        TextDrawColor(Vote_TD[18], 831318015);
        TextDrawBackgroundColor(Vote_TD[18], 255);
        TextDrawFont(Vote_TD[18], 4);
        TextDrawSetProportional(Vote_TD[18], 0);
        TextDrawSetShadow(Vote_TD[18], 0);

        Vote_TD[19] = TextDrawCreate(401.2230, 325.3998, "LD_BEAT:chit"); // ïóñòî
        TextDrawTextSize(Vote_TD[19], 23.0000, 29.0000);
        TextDrawAlignment(Vote_TD[19], 1);
        TextDrawColor(Vote_TD[19], 858993663);
        TextDrawBackgroundColor(Vote_TD[19], 255);
        TextDrawFont(Vote_TD[19], 4);
        TextDrawSetProportional(Vote_TD[19], 0);
        TextDrawSetShadow(Vote_TD[19], 0);

        Vote_TD[20] = TextDrawCreate(412.5353, 332.3332, "LD_SPAC:white"); // ïóñòî
        TextDrawTextSize(Vote_TD[20], 1.0000, 9.0000);
        TextDrawAlignment(Vote_TD[20], 1);
        TextDrawColor(Vote_TD[20], 831318015);
        TextDrawBackgroundColor(Vote_TD[20], 255);
        TextDrawFont(Vote_TD[20], 4);
        TextDrawSetProportional(Vote_TD[20], 0);
        TextDrawSetShadow(Vote_TD[20], 0);

        Vote_TD[21] = TextDrawCreate(412.5353, 341.8666, "LD_SPAC:white"); // ïóñòî
        TextDrawTextSize(Vote_TD[21], 6.0000, -1.0000);
        TextDrawAlignment(Vote_TD[21], 1);
        TextDrawColor(Vote_TD[21], 831318015);
        TextDrawBackgroundColor(Vote_TD[21], 255);
        TextDrawFont(Vote_TD[21], 4);
        TextDrawSetProportional(Vote_TD[21], 0);
        TextDrawSetShadow(Vote_TD[21], 0);

        Vote_TD[22] = TextDrawCreate(439.6881, 327.8332, "1"); // ïóñòî
        TextDrawLetterSize(Vote_TD[22], 0.4000, 1.6000);
        TextDrawAlignment(Vote_TD[22], 2);
        TextDrawColor(Vote_TD[22], -1);
        TextDrawBackgroundColor(Vote_TD[22], 255);
        TextDrawFont(Vote_TD[22], 1);
        TextDrawSetProportional(Vote_TD[22], 1);
        TextDrawSetShadow(Vote_TD[22], 0);

        Vote_TD[23] = TextDrawCreate(440.0175, 340.2833, "minutes"); // ïóñòî
        TextDrawLetterSize(Vote_TD[23], 0.1599, 0.8999);
        TextDrawAlignment(Vote_TD[23], 2);
        TextDrawColor(Vote_TD[23], -1);
        TextDrawBackgroundColor(Vote_TD[23], 255);
        TextDrawFont(Vote_TD[23], 1);
        TextDrawSetProportional(Vote_TD[23], 1);
        TextDrawSetShadow(Vote_TD[23], 0);

        return printf("[SURVERS LOADING]: LoadInvTextDraws óñïåøíî çàãðóçèëñÿ! Âðåìÿ: %d ms", GetTickCount() - currenttime);
}
stock DeleteInvDateForPlayer(playerid){
    OpenAcsInv{playerid} = false;
    VoteTDOpen{playerid} = false;
    for(new i; i < MAX_SLOTS_INV_PLAYER; i++) SlotsInvAcs[playerid][i] = ItemsAcs[0][ItemID];
    for(new i; i < MAX_SLOTS_ACS_PLAYER; i++) SlotsAcs[playerid][i] = ItemsAcs[0][ItemID];
    for(new i; i < MAX_SLOTS_INV_PLAYER; i++) PlayerInvAcs[playerid][i] = 0;
    for(new i; i < MAX_SLOTS_ACS_PLAYER; i++) PlayerAcs[playerid][i] = 0;
    for(new i; i < 2; i++) SlotClicked[playerid][i] = 0;
        for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++){
                if(IsPlayerAttachedObjectSlotUsed(playerid, i)) RemovePlayerAttachedObject(playerid, i);
        }
        SlotsPlayer[playerid] = 8;
        SlotsAcsPlayer[playerid] = 6;
        return CancelSelectTextDraw(playerid);
}
stock SHAcsInv(playerid, type = 0){
        switch(type){
            case 0:{
                OpenAcsInv{playerid} = false;
                for(new i; i < sizeof(Inventory_TD); i++) TextDrawHideForPlayer(playerid, Inventory_TD[i]);
                for(new i; i < MAX_SLOTS_ACS_PLAYER; i++) PlayerTextDrawDestroy(playerid, AcsSlotsPlayer[playerid][i]);
                for(new i; i < MAX_SLOTS_INV_PLAYER; i++) PlayerTextDrawDestroy(playerid, AcsInvSlotsPlayer[playerid][i]);
                PlayerTextDrawHide(playerid, SkinForPlayer[playerid]);
            }
            case 1:{
                OpenAcsInv{playerid} = true;
                SelectTextDraw(playerid, 0x369AFFFF);
                for(new i; i < 10; i++) TextDrawShowForPlayer(playerid, Inventory_TD[i]);
                CreateSlots(playerid);
            }
        }
        return true;
}
stock CreateSlots(playerid){
        new Float:sX = 0, Float:sY = 0;
        new Float:iX = 0, Float:iY = 0;
        /* Ñëîòû â ïóíêòå "PLAYER" */
        for(new i; i < MAX_SLOTS_ACS_PLAYER; i++){
            new item = PlayerAcs[playerid][i];
            AcsSlotsPlayer[playerid][i]                                 =       CreatePlayerTextDraw(playerid, 451.7117 + (sX * 20), 242.5000 + (sY * 25), "");
                PlayerTextDrawTextSize                                          (playerid, AcsSlotsPlayer[playerid][i], 19.0000, 24.0000);
                PlayerTextDrawAlignment                                         (playerid, AcsSlotsPlayer[playerid][i], 1);
                PlayerTextDrawColor                                                     (playerid, AcsSlotsPlayer[playerid][i], -1);
                PlayerTextDrawBackgroundColor                           (playerid, AcsSlotsPlayer[playerid][i], 831318015);
                PlayerTextDrawFont                                                      (playerid, AcsSlotsPlayer[playerid][i], 5);
                PlayerTextDrawSetProportional                           (playerid, AcsSlotsPlayer[playerid][i], 0);
                PlayerTextDrawSetShadow                                         (playerid, AcsSlotsPlayer[playerid][i], 0);
                PlayerTextDrawSetSelectable                                     (playerid, AcsSlotsPlayer[playerid][i], true);
                PlayerTextDrawSetPreviewModel                           (playerid, AcsSlotsPlayer[playerid][i], SlotsAcs[playerid][i]);
                PlayerTextDrawSetPreviewRot                                     (playerid, AcsSlotsPlayer[playerid][i], ItemsAcs[item][ItemPosX], ItemsAcs[item][ItemPosY], ItemsAcs[item][ItemPosZ], ItemsAcs[item][ItemPosC]);
                
                if( ++ sX >= 3) {
            sX = 0;
            sY ++;
        }
                
                PlayerTextDrawShow(playerid, AcsSlotsPlayer[playerid][i]);
        }
        /* Ñëîòû â ïóíêòå "ACCESSORIES" */
        for(new i; i < MAX_SLOTS_INV_PLAYER; i++){
            new item = PlayerInvAcs[playerid][i];
            AcsInvSlotsPlayer[playerid][i]                              =       CreatePlayerTextDraw(playerid, 520.4179 + (iX * 28), 178.3332 + (iY * 35), "");
                PlayerTextDrawTextSize                                          (playerid, AcsInvSlotsPlayer[playerid][i], 26.0000, 33.0000);
                PlayerTextDrawAlignment                                         (playerid, AcsInvSlotsPlayer[playerid][i], 1);
                PlayerTextDrawColor                                                     (playerid, AcsInvSlotsPlayer[playerid][i], -1);
                PlayerTextDrawBackgroundColor                           (playerid, AcsInvSlotsPlayer[playerid][i], 831318015);
                PlayerTextDrawFont                                                      (playerid, AcsInvSlotsPlayer[playerid][i], 5);
                PlayerTextDrawSetProportional                           (playerid, AcsInvSlotsPlayer[playerid][i], 0);
                PlayerTextDrawSetShadow                                         (playerid, AcsInvSlotsPlayer[playerid][i], 0);
                PlayerTextDrawSetSelectable                                     (playerid, AcsInvSlotsPlayer[playerid][i], true);
                PlayerTextDrawSetPreviewModel                           (playerid, AcsInvSlotsPlayer[playerid][i], SlotsInvAcs[playerid][i]);
                PlayerTextDrawSetPreviewRot                                     (playerid, AcsInvSlotsPlayer[playerid][i], ItemsAcs[item][ItemPosX], ItemsAcs[item][ItemPosY], ItemsAcs[item][ItemPosZ], ItemsAcs[item][ItemPosC]);
                if( ++ iX >= 4) {
            iX = 0;
            iY ++;
        }

                PlayerTextDrawShow(playerid, AcsInvSlotsPlayer[playerid][i]);
        }
        /* Ñëîò ïîä ñêèíà */
        SkinForPlayer[playerid] = CreatePlayerTextDraw(playerid, 434.8822, 149.7500, ""); // ?????
        PlayerTextDrawTextSize(playerid, SkinForPlayer[playerid], 90.0000, 90.0000);
        PlayerTextDrawAlignment(playerid, SkinForPlayer[playerid], 1);
        PlayerTextDrawColor(playerid, SkinForPlayer[playerid], -1);
        PlayerTextDrawBackgroundColor(playerid, SkinForPlayer[playerid], 0x00000000);
        PlayerTextDrawFont(playerid, SkinForPlayer[playerid], 5);
        PlayerTextDrawSetProportional(playerid, SkinForPlayer[playerid], 0);
        PlayerTextDrawSetShadow(playerid, SkinForPlayer[playerid], 0);
        PlayerTextDrawSetPreviewModel(playerid, SkinForPlayer[playerid], 0);
        PlayerTextDrawSetPreviewRot(playerid, SkinForPlayer[playerid], 0.0000, 0.0000, 0.0000, 1.0000);
        
        return PlayerTextDrawShow(playerid, SkinForPlayer[playerid]);
}
stock SendError(playerid, text[128]){
        new str[18 + sizeof(text)];
        format(str, sizeof(str), "[Îøèáêà]: {FFFFFF}%s", text);
        return SendClientMessage(playerid, 0xEB4C42FF, str);
}
stock AddSlotAcs(playerid, itemid){
        new slot;
        switch(itemid){
            case 1: slot = 0;
            case 2: slot = 1;
            case 3: slot = 2;
        }
        if(SlotsAcs[playerid][slot] != 1649){
            AddAcs(playerid, PlayerAcs[playerid][slot]);
            
                PlayerTextDrawSetPreviewModel(playerid, AcsSlotsPlayer[playerid][slot], ItemsAcs[itemid][ItemID]);
                PlayerTextDrawSetPreviewRot(playerid, AcsSlotsPlayer[playerid][slot], ItemsAcs[itemid][ItemPosX], ItemsAcs[itemid][ItemPosY], ItemsAcs[itemid][ItemPosZ], ItemsAcs[itemid][ItemPosC]);
                PlayerTextDrawShow(playerid, AcsSlotsPlayer[playerid][slot]);

                SlotsAcs[playerid][slot] = ItemsAcs[itemid][ItemID];
                PlayerAcs[playerid][slot] = ItemsAcs[itemid][IDSlot];

                SlotsAcsPlayer[playerid] --;
        }
        else{
                PlayerTextDrawSetPreviewModel(playerid, AcsSlotsPlayer[playerid][slot], ItemsAcs[itemid][ItemID]);
                PlayerTextDrawSetPreviewRot(playerid, AcsSlotsPlayer[playerid][slot], ItemsAcs[itemid][ItemPosX], ItemsAcs[itemid][ItemPosY], ItemsAcs[itemid][ItemPosZ], ItemsAcs[itemid][ItemPosC]);
                PlayerTextDrawShow(playerid, AcsSlotsPlayer[playerid][slot]);

                SlotsAcs[playerid][slot] = ItemsAcs[itemid][ItemID];
                PlayerAcs[playerid][slot] = ItemsAcs[itemid][IDSlot];

                SlotsAcsPlayer[playerid] --;
        }
}
stock AddAcs(playerid, itemid){
        new str[256];
    if(!OpenAcsInv{playerid}) SHAcsInv(playerid, 1);
        for(new i; i < MAX_SLOTS_INV_PLAYER; i++){
                if(SlotsInvAcs[playerid][i] == 1649){
                        PlayerTextDrawSetPreviewModel(playerid, AcsInvSlotsPlayer[playerid][i], ItemsAcs[itemid][ItemID]);
                        PlayerTextDrawSetPreviewRot(playerid, AcsInvSlotsPlayer[playerid][i], ItemsAcs[itemid][ItemPosX], ItemsAcs[itemid][ItemPosY], ItemsAcs[itemid][ItemPosZ], ItemsAcs[itemid][ItemPosC]);
                        PlayerTextDrawShow(playerid, AcsInvSlotsPlayer[playerid][i]);

                        SlotsInvAcs[playerid][i] = ItemsAcs[itemid][ItemID];
                        PlayerInvAcs[playerid][i] = ItemsAcs[itemid][IDSlot];

                        SlotsPlayer[playerid] --;
                        format(str, sizeof(str), "Âàì áûë äîáàâëåí àêñåññóàð %s. ×òîáû îòêðûòü èíâåíòàðü ñ àêñåññóàðàìè - Y èëè [/acsinv]", ItemsAcs[itemid][ItemName]);
                        SendClientMessage(playerid, 0xF4CA16FF, str);
                        break;
                }
        }
}
stock UpdateColorSlot(playerid, slot){
        if(SlotClicked[playerid][1] == -1) SlotClicked[playerid][0] = 0;
        else SlotClicked[playerid][0] = SlotClicked[playerid][0] = SlotClicked[playerid][1];
    SlotClicked[playerid][1] = slot;
        PlayerTextDrawBackgroundColor(playerid, AcsInvSlotsPlayer[playerid][SlotClicked[playerid][0]], 831318015);
        PlayerTextDrawBackgroundColor(playerid, AcsInvSlotsPlayer[playerid][SlotClicked[playerid][1]], 0xFF0000FF);

        PlayerTextDrawShow(playerid, AcsInvSlotsPlayer[playerid][SlotClicked[playerid][0]]);
        PlayerTextDrawShow(playerid, AcsInvSlotsPlayer[playerid][SlotClicked[playerid][1]]);
        for(new y = 10; y < 17; y++) TextDrawShowForPlayer(playerid, Inventory_TD[y]);
        return 1;
}
stock ClearSlotsInv(playerid, slot){
        SlotsInvAcs[playerid][slot] = 1649;
        PlayerInvAcs[playerid][slot] = ItemsAcs[0][IDSlot];
        SlotsPlayer[playerid] ++;
        SHAcsInv(playerid, 0);
        return SHAcsInv(playerid, 1);
}
stock ClearSlotsAcs(playerid, slot){
        SlotsAcs[playerid][slot] = 1649;
        PlayerAcs[playerid][slot] = ItemsAcs[0][IDSlot];
        SlotsAcsPlayer[playerid] ++;
        SHAcsInv(playerid, 0);
        return SHAcsInv(playerid, 1);
}
stock SetPlayerAttach(playerid, id){
        switch(id){
            case 1: SetPlayerAttachedObject(playerid,0,11704,2,0.057999,0.102999,-0.015000,174.199996,92.100013,0.000000,
0.324000,0.495999,0.455000);
            case 2: SetPlayerAttachedObject(playerid,1,11737,6,0.277000,0.067999,0.039000,89.699966,0.000000,98.500000,0.
574000,0.515000,6.558998);
            case 3: SetPlayerAttachedObject(playerid,2,18637,1,0.114999,-0.063999,0.103000,89.500000,0.300000,-104.600028,
0.813000,0.946000,1.000000);
        }
}



Этап 5 - Клики по текстдравам в инвентаре для аксессуаров
 

public OnPlayerClickTextDraw(playerid, Text:clickedid){
        new slot = PlayerInvAcs[playerid][SlotClicked[playerid][1]];
        if(clickedid == Text:INVALID_TEXT_DRAW){
                if(OpenAcsInv{playerid}) SHAcsInv(playerid, 0);
        }
        if(clickedid == Inventory_TD[10]){
            if(SlotsAcsPlayer[playerid]){
                SetPlayerAttach(playerid, slot);
                ClearSlotsInv(playerid, SlotClicked[playerid][1]);
                AddSlotAcs(playerid, slot);
                }
                else SendError(playerid, "Âñå ñëîòû ïîä àêñåññóàðû çàíÿòû!");
        }
        if(clickedid == Inventory_TD[11]){
            new str[512], str2[512];
            format(str2, sizeof(str2), "{FFFFFF}- Àêñåññóàð: {F4CA16}%s\n", ItemsAcs[slot][ItemName]);
            strcat(str, str2);
            format(str2, sizeof(str2), "{FFFFFF}- Îïèñàíèå: {F4CA16}%s\n", ItemsAcs[slot][ItemInfo]);
            strcat(str, str2);
            ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, !"{FFFFFF}Èíôîðìàöèÿ îá || {F4CA16}Àêñåññóàðå", str, !"Çàêðûòü", !"");
        }
        if(clickedid == Inventory_TD[12]){
            new str[148];
            format(str, sizeof(str), "[Èíôîðìàöèÿ]: {FFFFFF}Âû âûêèíóëè àêñåññóàð %s!", ItemsAcs[slot][ItemName]);
            SendClientMessage(playerid, 0xF4E14EFF, str);
            ClearSlotsInv(playerid, SlotClicked[playerid][1]);
        }
        return 1;
}
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid){
        for(new i; i < MAX_SLOTS_INV_PLAYER; i++){
                if(playertextid == AcsInvSlotsPlayer[playerid][i]){
                        if(SlotsInvAcs[playerid][i] != 1649) UpdateColorSlot(playerid, i);
                        break;
                }
        }
        for(new i; i < MAX_SLOTS_ACS_PLAYER; i++){
                if(playertextid == AcsSlotsPlayer[playerid][i]){
                    if(SlotsAcs[playerid][i] != 1649){
                        AddAcs(playerid, PlayerAcs[playerid][i]);
                        ClearSlotsAcs(playerid, i);
                                RemovePlayerAttachedObject(playerid, i);
                    }
                        break;
                }
        }
        return 1;
}



Этап 6 - Загрузки/удаления
 

DeleteInvDateForPlayer(playerid); // Добавляем в OnPlayerConnect/OnPlayerDisconnect (Это отвечает что когда игрок выйдет с игры, у него удаляться аксессуары чтобы у нового игрока их не было)
LoadInvTextDraws(); // Добавляем в OnGsmeModeInit (Это загружает глобальные текстдравы)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hokageud
Завсегдатый

@Rayan взять и скопировать с другого форума могу и я, мне нужны аксессуары без инвентаря на тд

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@hokageud Ты попросил систему акксов, я тебе дал, этой системой я пользуюсь, но сейчас нет так как я решил создать свой мод

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hokageud
Завсегдатый

@Rayan дай угадаю, ты наверное её на mysql перевёл?)

Заметка от Cawfee , создано

2.17. Запрещено флудить, оффтопить, заниматься флеймом. 

Устное предупреждение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • ВасилийСталин
      От ВасилийСталин
      50% СКИДКА РОВНО 3 ДНЯ, ДО: 25.09.2025. 12:00 ПО МСК
       
       
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
    • ВасилийСталин
      От ВасилийСталин


      Скачать файл Fox rp | Уникальный мод с 0 под открытие | СКИДКА 50%
      50% СКИДКА РОВНО 3 ДНЯ, ДО: 25.09.2025. 12:00 ПО МСК
       
       
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
      Добавил ВасилийСталин Добавлено 14.08.2025 Категория Моды Автор Abeme  
    • Senwik
      От Senwik
      Всем здравствуйте, я тут решил сделать свой крмп сервер, и у меня возник вопрос, где можно достать кэш для лаунчера и сервера, как настроить лаунчер, чтоб кэш скачивался в нужное место и игра могла нормально работать. 
      P.S. Если подскажете, где можно прочитать по данной теме, то будет вообще класс, всем бобра