
При загрузке этого материала, на другие форума, просьба указывать мое авторское право: GUMBALL FAMILY
Скриншоты системы: click me <3
Этап 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 (Это загружает глобальные текстдравы)

Сообщение отредактировал GUMBALL_FAMILY: 12 мая 2022 - 16:25