- Итак, начнём.
- Ко всем 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