6 posts in this topic

hokageud
Завсегдатый

ищу адекватную систему аксессуаров, может у кого есть?

Share this post


Link to post
Share on other sites
Rayan
Новичок

Этап 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 (Это загружает глобальные текстдравы)

Share this post


Link to post
Share on other sites
hokageud
Завсегдатый

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

Share this post


Link to post
Share on other sites
Rayan
Новичок

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

Share this post


Link to post
Share on other sites
hokageud
Завсегдатый

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

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

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

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

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

    • ВасилийСталин
      By ВасилийСталин
      VERDICT PROJECT - V:ACE
       
      Соревновательный проект на платформе SA-MP, вдохновлённый духом Counter-Strike: тактические перестрелки, честный рейтинг и ванильное PVP.
      В разработке, не используются ресурсы, из открытых источников. Всё строится с нуля, собственный игровой мод, полностью кастомный интерфейс и игровой лаунчер.
      Что мы разрабатываем:
       
      - Рейтинговый режим с подбором по ELO. Равные соперники, честные матчи, путь от новичка до вершины таблицы.
      - Полностью кастомный интерфейс (CEF): меню, лобби, магазин и статистика такого уровня, какого на SA-MP почти не встретишь.
      - Легионеры - уникальные оперативники с индивидуальным дизайном и редкостью, открываются через боевой пропуск или чёрные ячейки (кейсы).
      - Скины на оружие и кейсы - коллекционная система в духе CS. -> В активной разработке
      - Киберспортивные команды: теги, ростеры, матчи команда против команды.
      - Тренировка аима, система рангов, ежедневные награды и не только.
       
      Продуманный баланс и внимание к деталям ванильного сражения - то, ради чего мы за это взялись.
      Проект уже на серьёзной стадии разработки. Мы открываем сообщество раньше официального анонса, чтобы первые скриншоты, новости и дата старта достались тем, кто был с нами с самого начала. Мы всегда рады открытой критике, или советам - сделаем игру лучше для всех!
      Подписывайтесь, чтобы не пропустить официальное заявление о запуске и первые материалы проекта.
       
      Группа VK: https://vk.ru/verdictcs
      Официальная почта: verdictproject@mail.ru
    • Kevin_McCarthy
      By Kevin_McCarthy
      🔒 ОТКРЫТИЕ НАБОРА НА ЗАКРЫТОЕ БЕТА-ТЕСТИРОВАНИЕ (ЗБТ)!
      Друзья! Мы выходим на самый ответственный этап разработки Brilliant RP. Проект уже практически готов к полноценному запуску, но перед тем как открыть двери для всех игроков, нам нужно тщательно проверить каждую систему, каждую работу и каждую строчку кода.
      Именно поэтому мы объявляем о старте Закрытого Бета-Тестирования!
      🏆 ТОП-3 ТЕСТЕРА ПОЛУЧАТ КРУТЫЕ ПРИЗЫ!
      Мы высоко ценим время и вклад каждого участника. Тестеры, которые проявят наибольшую активность, найдут больше всего уникальных багов и подробно опишут их в нашей Google-форме, получат ценные награды:
      🥇 1 МЕСТО: 3000 рублей на кошелек, 100.000$ игровой валюты, и Diamond VIP на 30 дней
      🥈 2 МЕСТО: 2000 рублей на кошелек, 75.000$ игровой валюты, и Diamond VIP на 30 дней
      🥉 3 МЕСТО: 1000 рублей на кошелек, 50.000$ игровой валюты, и Diamond VIP на 30 дней
      📝 Как стать участником ЗБТ?
      Заполни заявку на участие: 👉 https://vk.ru/gtasamp_brilliantrp
      Дождись одобрения.
    • OOLOAIS
      By OOLOAIS
      Ищу скрипт для самп/crmp который может скопировать акссесуары с аризоны/родины пж помогите