Форум Pawn.Wiki - Воплоти мечту в реальность!: Основа для инвентаря - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ GF ]
Основа для инвентаря Инвентарь.
Оценка: -----

#1
Пользователь офлайн   SmileCord 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
- Добрый вечер ребята, сегодня рылся в интернете и наткнулся на инвентарь [Подобие RakNet]. Решил переписать несколько функций и выкласть на форум.
- Итак, начнём.

- Ко всем new
   enum temInfo
    IemModel, // ID объекта
    IemName[128], // Имя объекта
    Float:POSTDx, // Поворот по X [TextDraw]
    Float:POSTDy, // Поворот по y [TextDraw]
    Float:POSTDz, // Поворот по z [TextDraw]
    Float:POSTDc // Увеличение [TextDraw]
};
    new ItemsInfo[2][ItemInfo] = {
    {1649, " ", 0.000000, 0.000000, 90.000000, 2.000000},
    {2223, "Разнос с едой", -16.000000, 0.000000, -55.000000, 1.000000}
};[b]

Далее добавим еще пару переменных:
new ClickInv[MAX_PLAYERS]; // Нужно будет для передвижения объектов по инвентарю
new Text:InvText[9][MAX_PLAYERS]; // ТекстДрав инвентаря
new Text:InvTextObj[20][MAX_PLAYERS]; // Клетки в инвентаре



И так с переменными мы закончили, это все что нужно для ядра системы )

Далее мы добавим сами TextDraw'ы в public OnPlayerConnect вставьте:
        InvText[0][playerid] = TextDrawCreate(193.500000, 127.500000, "usebox");
        TextDrawLetterSize(InvText[0][playerid], 0.000000, 19.579181);
        TextDrawTextSize(InvText[0][playerid], 20.500000, 27.125000);
        TextDrawAlignment(InvText[0][playerid], 1);
        TextDrawColor(InvText[0][playerid], 0);
        TextDrawUseBox(InvText[0][playerid], true);
        TextDrawBoxColor(InvText[0][playerid], 102);
        TextDrawSetShadow(InvText[0][playerid], 0);
        TextDrawSetOutline(InvText[0][playerid], 0);
        TextDrawFont(InvText[0][playerid], 0);

        InvText[1][playerid] = TextDrawCreate(191.000000, 129.687500, "usebox");
        TextDrawLetterSize(InvText[1][playerid], 0.000000, 17.504175);
        TextDrawTextSize(InvText[1][playerid], 23.000000, 0.000000);
        TextDrawAlignment(InvText[1][playerid], 1);
        TextDrawColor(InvText[1][playerid], 0);
        TextDrawUseBox(InvText[1][playerid], true);
        TextDrawBoxColor(InvText[1][playerid], 16777007);
        TextDrawSetShadow(InvText[1][playerid], 0);
        TextDrawSetOutline(InvText[1][playerid], 0);
        TextDrawFont(InvText[1][playerid], 0);

        InvText[2][playerid] = TextDrawCreate(191.000000, 292.875000, "usebox");
        TextDrawLetterSize(InvText[2][playerid], 0.000000, 0.926389);
        TextDrawTextSize(InvText[2][playerid], 23.000000, 0.000000);
        TextDrawAlignment(InvText[2][playerid], 1);
        TextDrawColor(InvText[2][playerid], 0);
        TextDrawUseBox(InvText[2][playerid], true);
        TextDrawBoxColor(InvText[2][playerid], 16777007);
        TextDrawSetShadow(InvText[2][playerid], 0);
        TextDrawSetOutline(InvText[2][playerid], 0);
        TextDrawFont(InvText[2][playerid], 0);

        InvText[3][playerid] = TextDrawCreate(27.000000, 290.937500, "HAND");
        TextDrawLetterSize(InvText[3][playerid], 0.317000, 1.153750);
        TextDrawTextSize(InvText[3][playerid], 61.500000, 14.437500);
        TextDrawAlignment(InvText[3][playerid], 1);
        TextDrawColor(InvText[3][playerid], -1);
        TextDrawSetShadow(InvText[3][playerid], 0);
        TextDrawSetOutline(InvText[3][playerid], 0);
        TextDrawBackgroundColor(InvText[3][playerid], 51);
        TextDrawFont(InvText[3][playerid], 2);
        TextDrawSetProportional(InvText[3][playerid], 1);
        TextDrawSetSelectable(InvText[3][playerid], true);

        InvText[4][playerid] = TextDrawCreate(75.000000, 291.062500, "USE");
        TextDrawLetterSize(InvText[4][playerid], 0.317000, 1.153750);
        TextDrawTextSize(InvText[4][playerid], 98.000000, 14.437500);
        TextDrawAlignment(InvText[4][playerid], 1);
        TextDrawColor(InvText[4][playerid], -1);
        TextDrawSetShadow(InvText[4][playerid], 0);
        TextDrawSetOutline(InvText[4][playerid], 0);
        TextDrawBackgroundColor(InvText[4][playerid], 51);
        TextDrawFont(InvText[4][playerid], 2);
        TextDrawSetProportional(InvText[4][playerid], 1);
        TextDrawSetSelectable(InvText[4][playerid], true);

        InvText[5][playerid] = TextDrawCreate(113.000000, 291.187500, "DROP");
        TextDrawLetterSize(InvText[5][playerid], 0.317000, 1.153750);
        TextDrawTextSize(InvText[5][playerid], 145.000000, 14.437500);
        TextDrawAlignment(InvText[5][playerid], 1);
        TextDrawColor(InvText[5][playerid], -1);
        TextDrawSetShadow(InvText[5][playerid], 0);
        TextDrawSetOutline(InvText[5][playerid], 0);
        TextDrawBackgroundColor(InvText[5][playerid], 51);
        TextDrawFont(InvText[5][playerid], 2);
        TextDrawSetProportional(InvText[5][playerid], 1);
        TextDrawSetSelectable(InvText[5][playerid], true);

        InvText[6][playerid] = TextDrawCreate(159.000000, 290.875000, "Info");
        TextDrawLetterSize(InvText[6][playerid], 0.317000, 1.153750);
        TextDrawTextSize(InvText[6][playerid], 186.500000, 14.437500);
        TextDrawAlignment(InvText[6][playerid], 1);
        TextDrawColor(InvText[6][playerid], -1);
        TextDrawSetShadow(InvText[6][playerid], 0);
        TextDrawSetOutline(InvText[6][playerid], 0);
        TextDrawBackgroundColor(InvText[6][playerid], 51);
        TextDrawFont(InvText[6][playerid], 2);
        TextDrawSetProportional(InvText[6][playerid], 1);
        TextDrawSetSelectable(InvText[6][playerid], true);

        InvText[7][playerid] = TextDrawCreate(24.500000, 118.187500, "Inventory");
        TextDrawLetterSize(InvText[7][playerid], 0.317000, 1.153750);
        TextDrawTextSize(InvText[7][playerid], 186.500000, 14.437500);
        TextDrawAlignment(InvText[7][playerid], 1);
        TextDrawColor(InvText[7][playerid], -1523963137);
        TextDrawSetShadow(InvText[7][playerid], 0);
        TextDrawSetOutline(InvText[7][playerid], 0);
        TextDrawBackgroundColor(InvText[7][playerid], 51);
        TextDrawFont(InvText[7][playerid], 2);
        TextDrawSetProportional(InvText[7][playerid], 1);

        InvText[8][playerid] = TextDrawCreate(425.000000, 429.625000, "Press: ~g~ESC~w~ TO exit inventory");
        TextDrawLetterSize(InvText[8][playerid], 0.321000, 1.320000);
        TextDrawAlignment(InvText[8][playerid], 1);
        TextDrawColor(InvText[8][playerid], -1);
        TextDrawSetShadow(InvText[8][playerid], 0);
        TextDrawSetOutline(InvText[8][playerid], 1);
        TextDrawBackgroundColor(InvText[8][playerid], 51);
        TextDrawFont(InvText[8][playerid], 2);
        TextDrawSetProportional(InvText[8][playerid], 1);
        //======================================================================
        InvTextObj[0][playerid] = TextDrawCreate(27.500000, 130.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[0][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[0][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[0][playerid], 1);
        TextDrawColor(InvTextObj[0][playerid], -1);
        TextDrawUseBox(InvTextObj[0][playerid], true);
        TextDrawBoxColor(InvTextObj[0][playerid], 0);
        TextDrawSetShadow(InvTextObj[0][playerid], 0);
        TextDrawSetOutline(InvTextObj[0][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[0][playerid], 103);
        TextDrawFont(InvTextObj[0][playerid], 5);
        TextDrawSetProportional(InvTextObj[0][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[0][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[0][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[1][playerid] = TextDrawCreate(67.500000, 130.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[1][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[1][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[1][playerid], 1);
        TextDrawColor(InvTextObj[1][playerid], -1);
        TextDrawUseBox(InvTextObj[1][playerid], true);
        TextDrawBoxColor(InvTextObj[1][playerid], 0);
        TextDrawSetShadow(InvTextObj[1][playerid], 0);
        TextDrawSetOutline(InvTextObj[1][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[1][playerid], 103);
        TextDrawFont(InvTextObj[1][playerid], 5);
        TextDrawSetProportional(InvTextObj[1][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[1][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[1][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[2][playerid] = TextDrawCreate(107.500000, 130.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[2][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[2][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[2][playerid], 1);
        TextDrawColor(InvTextObj[2][playerid], -1);
        TextDrawUseBox(InvTextObj[2][playerid], true);
        TextDrawBoxColor(InvTextObj[2][playerid], 0);
        TextDrawSetShadow(InvTextObj[2][playerid], 0);
        TextDrawSetOutline(InvTextObj[2][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[2][playerid], 103);
        TextDrawFont(InvTextObj[2][playerid], 5);
        TextDrawSetProportional(InvTextObj[2][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[2][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[2][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[3][playerid] = TextDrawCreate(147.500000, 130.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[3][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[3][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[3][playerid], 1);
        TextDrawColor(InvTextObj[3][playerid], -1);
        TextDrawUseBox(InvTextObj[3][playerid], true);
        TextDrawBoxColor(InvTextObj[3][playerid], 0);
        TextDrawSetShadow(InvTextObj[3][playerid], 0);
        TextDrawSetOutline(InvTextObj[3][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[3][playerid], 103);
        TextDrawFont(InvTextObj[3][playerid], 5);
        TextDrawSetProportional(InvTextObj[3][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[3][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[3][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[4][playerid] = TextDrawCreate(27.500000, 161.500000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[4][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[4][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[4][playerid], 1);
        TextDrawColor(InvTextObj[4][playerid], -1);
        TextDrawUseBox(InvTextObj[4][playerid], true);
        TextDrawBoxColor(InvTextObj[4][playerid], 0);
        TextDrawSetShadow(InvTextObj[4][playerid], 0);
        TextDrawSetOutline(InvTextObj[4][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[4][playerid], 103);
        TextDrawFont(InvTextObj[4][playerid], 5);
        TextDrawSetProportional(InvTextObj[4][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[4][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[4][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[5][playerid] = TextDrawCreate(67.500000, 161.500000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[5][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[5][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[5][playerid], 1);
        TextDrawColor(InvTextObj[5][playerid], -1);
        TextDrawUseBox(InvTextObj[5][playerid], true);
        TextDrawBoxColor(InvTextObj[5][playerid], 0);
        TextDrawSetShadow(InvTextObj[5][playerid], 0);
        TextDrawSetOutline(InvTextObj[5][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[5][playerid], 103);
        TextDrawFont(InvTextObj[5][playerid], 5);
        TextDrawSetProportional(InvTextObj[5][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[5][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[5][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[6][playerid] = TextDrawCreate(107.500000, 161.500000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[6][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[6][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[6][playerid], 1);
        TextDrawColor(InvTextObj[6][playerid], -1);
        TextDrawUseBox(InvTextObj[6][playerid], true);
        TextDrawBoxColor(InvTextObj[6][playerid], 0);
        TextDrawSetShadow(InvTextObj[6][playerid], 0);
        TextDrawSetOutline(InvTextObj[6][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[6][playerid], 103);
        TextDrawFont(InvTextObj[6][playerid], 5);
        TextDrawSetProportional(InvTextObj[6][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[6][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[6][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[7][playerid] = TextDrawCreate(147.500000, 161.500000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[7][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[7][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[7][playerid], 1);
        TextDrawColor(InvTextObj[7][playerid], -1);
        TextDrawUseBox(InvTextObj[7][playerid], true);
        TextDrawBoxColor(InvTextObj[7][playerid], 0);
        TextDrawSetShadow(InvTextObj[7][playerid], 0);
        TextDrawSetOutline(InvTextObj[7][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[7][playerid], 103);
        TextDrawFont(InvTextObj[7][playerid], 5);
        TextDrawSetProportional(InvTextObj[7][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[7][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[7][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[8][playerid] = TextDrawCreate(27.500000, 193.062500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[8][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[8][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[8][playerid], 1);
        TextDrawColor(InvTextObj[8][playerid], -1);
        TextDrawUseBox(InvTextObj[8][playerid], true);
        TextDrawBoxColor(InvTextObj[8][playerid], 0);
        TextDrawSetShadow(InvTextObj[8][playerid], 0);
        TextDrawSetOutline(InvTextObj[8][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[8][playerid], 103);
        TextDrawFont(InvTextObj[8][playerid], 5);
        TextDrawSetProportional(InvTextObj[8][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[8][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[8][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[9][playerid] = TextDrawCreate(67.500000, 193.062500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[9][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[9][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[9][playerid], 1);
        TextDrawColor(InvTextObj[9][playerid], -1);
        TextDrawUseBox(InvTextObj[9][playerid], true);
        TextDrawBoxColor(InvTextObj[9][playerid], 0);
        TextDrawSetShadow(InvTextObj[9][playerid], 0);
        TextDrawSetOutline(InvTextObj[9][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[9][playerid], 103);
        TextDrawFont(InvTextObj[9][playerid], 5);
        TextDrawSetProportional(InvTextObj[9][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[9][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[9][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[10][playerid] = TextDrawCreate(107.500000, 193.062500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[10][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[10][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[10][playerid], 1);
        TextDrawColor(InvTextObj[10][playerid], -1);
        TextDrawUseBox(InvTextObj[10][playerid], true);
        TextDrawBoxColor(InvTextObj[10][playerid], 0);
        TextDrawSetShadow(InvTextObj[10][playerid], 0);
        TextDrawSetOutline(InvTextObj[10][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[10][playerid], 103);
        TextDrawFont(InvTextObj[10][playerid], 5);
        TextDrawSetProportional(InvTextObj[10][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[10][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[10][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[11][playerid] = TextDrawCreate(147.500000, 193.062500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[11][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[11][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[11][playerid], 1);
        TextDrawColor(InvTextObj[11][playerid], -1);
        TextDrawUseBox(InvTextObj[11][playerid], true);
        TextDrawBoxColor(InvTextObj[11][playerid], 0);
        TextDrawSetShadow(InvTextObj[11][playerid], 0);
        TextDrawSetOutline(InvTextObj[11][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[11][playerid], 103);
        TextDrawFont(InvTextObj[11][playerid], 5);
        TextDrawSetProportional(InvTextObj[11][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[11][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[11][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[12][playerid] = TextDrawCreate(27.500000, 224.625000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[12][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[12][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[12][playerid], 1);
        TextDrawColor(InvTextObj[12][playerid], -1);
        TextDrawUseBox(InvTextObj[12][playerid], true);
        TextDrawBoxColor(InvTextObj[12][playerid], 0);
        TextDrawSetShadow(InvTextObj[12][playerid], 0);
        TextDrawSetOutline(InvTextObj[12][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[12][playerid], 103);
        TextDrawFont(InvTextObj[12][playerid], 5);
        TextDrawSetProportional(InvTextObj[12][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[12][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[12][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[13][playerid] = TextDrawCreate(67.500000, 224.625000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[13][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[13][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[13][playerid], 1);
        TextDrawColor(InvTextObj[13][playerid], -1);
        TextDrawUseBox(InvTextObj[13][playerid], true);
        TextDrawBoxColor(InvTextObj[13][playerid], 0);
        TextDrawSetShadow(InvTextObj[13][playerid], 0);
        TextDrawSetOutline(InvTextObj[13][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[13][playerid], 103);
        TextDrawFont(InvTextObj[13][playerid], 5);
        TextDrawSetProportional(InvTextObj[13][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[13][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[13][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[14][playerid] = TextDrawCreate(107.500000, 224.625000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[14][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[14][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[14][playerid], 1);
        TextDrawColor(InvTextObj[14][playerid], -1);
        TextDrawUseBox(InvTextObj[14][playerid], true);
        TextDrawBoxColor(InvTextObj[14][playerid], 0);
        TextDrawSetShadow(InvTextObj[14][playerid], 0);
        TextDrawSetOutline(InvTextObj[14][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[14][playerid], 103);
        TextDrawFont(InvTextObj[14][playerid], 5);
        TextDrawSetProportional(InvTextObj[14][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[14][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[14][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[15][playerid] = TextDrawCreate(147.500000, 224.625000, "New Textdraw");
        TextDrawLetterSize(InvTextObj[15][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[15][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[15][playerid], 1);
        TextDrawColor(InvTextObj[15][playerid], -1);
        TextDrawUseBox(InvTextObj[15][playerid], true);
        TextDrawBoxColor(InvTextObj[15][playerid], 0);
        TextDrawSetShadow(InvTextObj[15][playerid], 0);
        TextDrawSetOutline(InvTextObj[15][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[15][playerid], 103);
        TextDrawFont(InvTextObj[15][playerid], 5);
        TextDrawSetProportional(InvTextObj[15][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[15][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[15][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[16][playerid] = TextDrawCreate(27.500000, 256.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[16][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[16][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[16][playerid], 1);
        TextDrawColor(InvTextObj[16][playerid], -1);
        TextDrawUseBox(InvTextObj[16][playerid], true);
        TextDrawBoxColor(InvTextObj[16][playerid], 0);
        TextDrawSetShadow(InvTextObj[16][playerid], 0);
        TextDrawSetOutline(InvTextObj[16][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[16][playerid], 103);
        TextDrawFont(InvTextObj[16][playerid], 5);
        TextDrawSetProportional(InvTextObj[16][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[16][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[16][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[17][playerid] = TextDrawCreate(67.500000, 256.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[17][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[17][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[17][playerid], 1);
        TextDrawColor(InvTextObj[17][playerid], -1);
        TextDrawUseBox(InvTextObj[17][playerid], true);
        TextDrawBoxColor(InvTextObj[17][playerid], 0);
        TextDrawSetShadow(InvTextObj[17][playerid], 0);
        TextDrawSetOutline(InvTextObj[17][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[17][playerid], 103);
        TextDrawFont(InvTextObj[17][playerid], 5);
        TextDrawSetProportional(InvTextObj[17][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[17][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[17][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[18][playerid] = TextDrawCreate(107.500000, 256.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[18][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[18][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[18][playerid], 1);
        TextDrawColor(InvTextObj[18][playerid], -1);
        TextDrawUseBox(InvTextObj[18][playerid], true);
        TextDrawBoxColor(InvTextObj[18][playerid], 0);
        TextDrawSetShadow(InvTextObj[18][playerid], 0);
        TextDrawSetOutline(InvTextObj[18][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[18][playerid], 103);
        TextDrawFont(InvTextObj[18][playerid], 5);
        TextDrawSetProportional(InvTextObj[18][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[18][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[18][playerid], 0.000000, 0.000000, 0.000000, 1.000000);

        InvTextObj[19][playerid] = TextDrawCreate(147.500000, 256.187500, "New Textdraw");
        TextDrawLetterSize(InvTextObj[19][playerid], 0.449999, 1.600000);
        TextDrawTextSize(InvTextObj[19][playerid], 39.000000, 30.625000);
        TextDrawAlignment(InvTextObj[19][playerid], 1);
        TextDrawColor(InvTextObj[19][playerid], -1);
        TextDrawUseBox(InvTextObj[19][playerid], true);
        TextDrawBoxColor(InvTextObj[19][playerid], 0);
        TextDrawSetShadow(InvTextObj[19][playerid], 0);
        TextDrawSetOutline(InvTextObj[19][playerid], 1);
        TextDrawBackgroundColor(InvTextObj[19][playerid], 103);
        TextDrawFont(InvTextObj[19][playerid], 5);
        TextDrawSetProportional(InvTextObj[19][playerid], 1);
        TextDrawSetPreviewModel(InvTextObj[19][playerid], 0);
        TextDrawSetPreviewRot(InvTextObj[19][playerid], 0.000000, 0.000000, 0.000000, 1.000000);


В public OnPlayerKeyStateChange ( Даём возможность открыть инвентарь игроку. )

if(newkeys & KEY_YES) // ID кнопки в нашем случае это клавиша Y [Н RUS].
    {
        ShowInventory(playerid); // Вызываем функцию показа инвентаря.
        SetPVarInt(playerid, "gInv", 1); // Даем значение 1 что мы открыли инвентарь.
    }

Ну а теперь создадим саму функцию:

stock ShowInventory(playerid) // Функция
{
    for(new j = 0; j < 20; j++) // Цикл.
    {
        new ID = PlayerInfo[playerid][pInventory][j]; // Сделано для удобности
        TextDrawSetPreviewModel(InvTextObj[j][playerid], ItemsInfo[ID][ItemModel]); // Меняем модель в инвентаре.
        TextDrawSetPreviewRot(InvTextObj[j][playerid], ItemsInfo[ID][POSTDx], ItemsInfo[ID][POSTDy], ItemsInfo[ID][POSTDz], ItemsInfo[ID][POSTDc]); // Меняем положение модели.
    }
    for(new i; i < sizeof(InvText); i++) // Еще один цикл.
    {
        TextDrawShowForPlayer(playerid,InvText[i][playerid]); // Показываем TextDraw Игроку.
    }
    for(new i; i < sizeof(InvTextObj); i++) // Еще один цикл.
    {
        TextDrawSetSelectable(InvTextObj[i][playerid], true); // По моей глупости я забыл сделать это стандартным(
        TextDrawShowForPlayer(playerid,InvTextObj[i][playerid]); // Показываем TextDraw Игроку.
    }
    SelectTextDraw(playerid,0x2641FEAA); // Вызываем экранную мышку и меняем цвет TextDraw'а при наводке на него.
    return true;
}



В pInfo добавьте:
pInventory[20],


Далее в public OnPlayerConnect(playerid):
ClickInv[playerid] = 21;


Теперь перейдем к главному сделаем передвижение объектов инвентарю, в OnPlayerClickTextDraw вставьте:

if(_:clickedid == INVALID_TEXT_DRAW) // Если игрок нажал ESC
    {
        if(GetPVarInt(playerid, "gInv") == 1) // Проверяем запущен ли инвентарь.
        {
            if(ClickInv[playerid] != 21) // Если игрок выбрал объект в инвентаре то..
            {
                TextDrawBackgroundColor(InvTextObj[ClickInv[playerid]][playerid], 103); // Меняем фон объекта.
            }
            ClickInv[playerid] = 21; // Обнуляем переменную.
            HideInventory(playerid); // Вызываем функцию закрытия инвентаря.
            SetPVarInt(playerid, "gInv", 0); // Обнуляем pVar.
        }
    }
    for(new j = 0; j < 20; j++) // Цикл.
    {
        if(clickedid == InvTextObj[j][playerid])
        {
            if(ClickInv[playerid] == 21) // Если игрок не выделил объект то...
            {
                if(PlayerInfo[playerid][pInventory][j] != 0) // Если данная ячейка не пуста то..
                {
                    ClickInv[playerid] = j; // Записываем в переменную ID иконки
                    TextDrawBackgroundColor(InvTextObj[j][playerid], 0x00000034); // Меняем цвет фона объекта.
                    TextDrawHideForPlayer(playerid,InvTextObj[j][playerid]); // Скрываем иконку. [Для обновления]
                    TextDrawShowForPlayer(playerid,InvTextObj[j][playerid]); // Показываем иконку. [Для обновления]
                }
            }
            else // Если игрок уже выбрал объект то...
            {
                if(PlayerInfo[playerid][pInventory][j] == 0) // Если данная ячейка пуста то..
                {
                    new ID = ClickInv[playerid];
                    PlayerInfo[playerid][pInventory][j] = PlayerInfo[playerid][pInventory][ID]; // Записываем новое значение.
                    PlayerInfo[playerid][pInventory][ID] = 0; // Обнуляем иконку которую выбрали изначально.
                    //==========================================================
                    TextDrawBackgroundColor(InvTextObj[ID][playerid], 103); // Меняем цвет фона объекта.
                    //==========================================================
                    InvUpdate(playerid, ID, PlayerInfo[playerid][pInventory][ID]); // Обновляем иконку.
                    InvUpdate(playerid, j, PlayerInfo[playerid][pInventory][j]); // Обновляем иконку.
                    ClickInv[playerid] = 21; // Обнуляем переменную.
                    PlayerPlaySound(playerid, 17803, 0.0, 0.0, 0.0); // Воспроизводим звук.
                }
                if(j == ClickInv[playerid]) // Если же объекты схожи то..
                {
                    ClickInv[playerid] = 21; // Обнуляем переменную.
                    TextDrawBackgroundColor(InvTextObj[j][playerid], 103); // Меняем цвет фона объекта.
                    TextDrawHideForPlayer(playerid,InvTextObj[j][playerid]); // Скрываем иконку. [Для обновления]
                    TextDrawShowForPlayer(playerid,InvTextObj[j][playerid]); // Показываем иконку. [Для обновления]
                }
            }
        }
    


Все теперь мы можем перетаскивать наш объект по инвентарю, далее добавим еще основных функций:}

stock HideInventory(playerid) // Скрываем инвентарь.
{
for(new i; i < sizeof(InvText); i++)
{
TextDrawHideForPlayer(playerid,InvText[i][playerid]);
}
for(new i; i < sizeof(InvTextObj); i++)
{
TextDrawHideForPlayer(playerid,InvTextObj[i][playerid]);
}
CancelSelectTextDraw(playerid);
 return true;
}
stock InvUpdate(playerid, td, jdk) // Обновляем инвентарь.
{
TextDrawSetPreviewModel(InvTextObj[td][playerid], ItemsInfo[jdk][ItemModel]);
TextDrawSetPreviewRot(InvTextObj[td][playerid], ItemsInfo[jdk][POSTDx], ItemsInfo[jdk][POSTDy], ItemsInfo[jdk][POSTDz], ItemsInfo[jdk][POSTDc]);
if(GetPVarInt(playerid, "gInv") == 1)
{
TextDrawHideForPlayer(playerid,InvTextObj[td][playerid]);
TextDrawShowForPlayer(playerid,InvTextObj[td][playerid]);
}
return true;


На этом всё, кстате. Если хотите чтобы игроку в начале игры выдавало предмет, пишите код.
CMD:test(playerid, params[])
{
PlayerInfo[playerid][pInventory][0] = 1;
return true;
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Инвентарь не сохраняет предметы! Так как я не знаю какая у вас система сохранения/загрузки. Сохранять нужно только pInventory[0],pInventory[1] и т.д [так же как и вы сохраняете обычные переменные игрока.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Вот и всё.
- Автор этого инвентаря не я, а некий "rkv"
- Исходник " Pawn-Wiki.ru/showthread.php?t=238792 "
- Простите что не взял под "spoiler" "TextDraw". Не работает. Или на так ставлю.
- Если не жалко можете кинуть +.
- Всем удачи!

Сообщение отредактировал SmileCord: 10 декабря 2014 - 20:54

2

#2
Пользователь офлайн   .evoxxx 

  • Liberty Inc.
  • Вставить ник
  • Раскрыть информацию
Ужасно Скопировал)
Дай угадаю с Pawn-Wiki взял?

Сообщение отредактировал SnoopDy: 11 декабря 2014 - 20:44

0

#3
Пользователь офлайн   SmileCord 

  • Знаток
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSnoopDy (10 декабря 2014 - 20:43) писал:

Ужасно Скопировал)
Дай угадаю с Pawn-Wiki взял?


Да :D. Код кривой. Ну..Если человеку надо то ему и такой пойдёт. Хотя это чисто мой косяк. Если лень самому код ровнять то вот эта программа подойдёт. - http://codegenerators.pl/ -
0

#4
Пользователь офлайн   .evoxxx 

  • Liberty Inc.
  • Вставить ник
  • Раскрыть информацию
Не работают кнопки "Use","Drop","Info"
0

#5
Пользователь офлайн   Эдик 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Вопрос 1!
Например я нажал на ТД 1 он выделился жёлтым цветом (его фон)
Но потом я нажал на ТД 2 и его фон тоже выделился жёлтым цветом,
Но ТД 1 не обновился и не перекрасился в стандартный цвет, че замутить?
0

#6
Пользователь офлайн   Sum_Dev 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
это рабочий инвентарь?
0

#7
Пользователь офлайн   DigitalOneThe 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
если хотите чтобы я вам заебашил *****тый инвентарь, плюсаните под моё сообщение
P.S. всё равно делать нехуй, сделаю чтото

Сообщение отредактировал DigitalOneThe: 10 февраля 2024 - 02:43

7

#8
Пользователь онлайн   continue 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDigitalOneThe (10 февраля 2024 - 02:43) писал:

если хотите чтобы я вам заебашил *****тый инвентарь, плюсаните под моё сообщение
P.S. всё равно делать нехуй, сделаю чтото


Могу даже ТДшки подарить для него.

Скрытый текст [Показать]

4

#9
Пользователь офлайн   DigitalOneThe 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияcontinue (10 февраля 2024 - 21:12) писал:

Могу даже ТДшки подарить для него.

Скрытый текст [Показать]

прикольно выглядит, вижу челы реально хотят нормальную систему инвентаря
на днях постараюсь заняться, ибо впереди у меня важный этап в жизни :)

Сообщение отредактировал DigitalOneThe: 10 февраля 2024 - 22:31

1

#10
Пользователь онлайн   continue 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDigitalOneThe (10 февраля 2024 - 22:30) писал:

прикольно выглядит, вижу челы реально хотят нормальную систему инвентаря
на днях постараюсь заняться, ибо впереди у меня важный этап в жизни :)


https://gist.github....f4cd3858cee2b81

держи
0

Поделиться темой:


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика