Ко всем new:
Код: Выделить всё
new Text: textdraw[12];
Ко всем stock:
Код: Выделить всё
stock B_HideForPlayer(playerid)
{
for(new t; t != 12; t++) TextDrawHideForPlayer(playerid, textdraw[t]);
CancelSelectTextDraw(playerid);
return true;
}
stock B_ShowForPlayer(playerid)
{
for(new t; t != 12; t++) TextDrawShowForPlayer(playerid, textdraw[t]);
SelectTextDraw(playerid, 0xFFFF00AA);
return true;
}
stock B_SelectClothes(playerid, clothes)
{
SetPlayerSkin(playerid, clothes);
B_HideForPlayer(playerid);
return true;
}
stock B_SelectGun(playerid, gun, ammo)
{
GivePlayerWeapon(playerid, gun, ammo);
B_HideForPlayer(playerid);
return true;
}
stock B_SelectVehicle(playerid, vehicle)
{
new Float: PlayerPos[3];
GetPlayerPos(playerid, PlayerPos[0], PlayerPos[1], PlayerPos[2]);
CreateVehicle(vehicle, PlayerPos[0] + 3.0, PlayerPos[1], PlayerPos[2] + 3.0, 0.0, random(128), random(128), -1);
B_HideForPlayer(playerid);
return true;
}
stock B_SetPreviewModel(q, w, e, r, t, y, u, i, o, p)
{
TextDrawSetPreviewModel(textdraw[1], q);
TextDrawSetPreviewModel(textdraw[2], w);
TextDrawSetPreviewModel(textdraw[3], e);
TextDrawSetPreviewModel(textdraw[4], r);
TextDrawSetPreviewModel(textdraw[5], t);
TextDrawSetPreviewModel(textdraw[6], y);
TextDrawSetPreviewModel(textdraw[7], u);
TextDrawSetPreviewModel(textdraw[8], i);
TextDrawSetPreviewModel(textdraw[9], o);
TextDrawSetPreviewModel(textdraw[10], p);
return true;
}
В public OnGameModeInit:
Код: Выделить всё
textdraw[0] = TextDrawCreate(517.000000, 120.399925, "_");
TextDrawLetterSize(textdraw[0], 0.000000, 20.379625);
TextDrawTextSize(textdraw[0], 121.000000, 0.000000);
TextDrawAlignment(textdraw[0], 1);
TextDrawColor(textdraw[0], 0);
TextDrawUseBox(textdraw[0], true);
TextDrawBoxColor(textdraw[0], 0x4A5A6BBB);
TextDrawSetShadow(textdraw[0], 0);
TextDrawSetOutline(textdraw[0], 0);
TextDrawFont(textdraw[0], 0);
textdraw[1] = TextDrawCreate(281.000000, 118.533126, "_");
TextDrawFont(textdraw[1], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[1], true);
TextDrawBoxColor(textdraw[1], 0x88888899);
TextDrawBackgroundColor(textdraw[1], 0x88888899);
TextDrawTextSize(textdraw[1], 76.000000, 84.933326);
TextDrawSetSelectable(textdraw[1], true);
textdraw[2] = TextDrawCreate(281.000000, 204.399780, "_");
TextDrawFont(textdraw[2], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[2], true);
TextDrawBoxColor(textdraw[2], 0x88888899);
TextDrawBackgroundColor(textdraw[2], 0x88888899);
TextDrawTextSize(textdraw[2], 76.000000, 84.933334);
TextDrawSetSelectable(textdraw[2], true);
textdraw[3] = TextDrawCreate(358.000000, 118.533264, "_");
TextDrawFont(textdraw[3], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[3], true);
TextDrawBoxColor(textdraw[3], 0x88888899);
TextDrawBackgroundColor(textdraw[3], 0x88888899);
TextDrawTextSize(textdraw[3], 76.000000, 84.933319);
TextDrawSetSelectable(textdraw[3], true);
textdraw[4] = TextDrawCreate(358.000000, 204.399932, "_");
TextDrawFont(textdraw[4], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[4], true);
TextDrawBoxColor(textdraw[4], 0x88888899);
TextDrawBackgroundColor(textdraw[4], 0x88888899);
TextDrawTextSize(textdraw[4], 76.000000, 84.933334);
TextDrawSetSelectable(textdraw[4], true);
textdraw[5] = TextDrawCreate(204.000000, 118.533401, "_");
TextDrawFont(textdraw[5], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[5], true);
TextDrawBoxColor(textdraw[5], 0x88888899);
TextDrawBackgroundColor(textdraw[5], 0x88888899);
TextDrawTextSize(textdraw[5], 76.000000, 84.933334);
TextDrawSetSelectable(textdraw[5], true);
textdraw[6] = TextDrawCreate(204.000000, 203.466766, "_");
TextDrawFont(textdraw[6], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[6], true);
TextDrawBoxColor(textdraw[6], 0x88888899);
TextDrawBackgroundColor(textdraw[6], 0x88888899);
TextDrawTextSize(textdraw[6], 76.000000, 84.933334);
TextDrawSetSelectable(textdraw[6], true);
textdraw[7] = TextDrawCreate(127.000000, 118.533157, "_");
TextDrawFont(textdraw[7], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[7], true);
TextDrawBoxColor(textdraw[7], 0x88888899);
TextDrawBackgroundColor(textdraw[7], 0x88888899);
TextDrawTextSize(textdraw[7], 76.000000, 84.933326);
TextDrawSetSelectable(textdraw[7], true);
textdraw[8] = TextDrawCreate(127.000000, 204.400009, "_");
TextDrawFont(textdraw[8], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[8], true);
TextDrawBoxColor(textdraw[8], 0x88888899);
TextDrawBackgroundColor(textdraw[8], 0x88888899);
TextDrawTextSize(textdraw[8], 76.000000, 84.933334);
TextDrawSetSelectable(textdraw[8], true);
textdraw[9] = TextDrawCreate(435.000000, 118.533050, "_");
TextDrawFont(textdraw[9], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[9], true);
TextDrawBoxColor(textdraw[9], 0x88888899);
TextDrawBackgroundColor(textdraw[9], 0x88888899);
TextDrawTextSize(textdraw[9], 76.000000, 84.933334);
TextDrawSetSelectable(textdraw[9], true);
textdraw[10] = TextDrawCreate(435.000000, 204.399826, "_");
TextDrawFont(textdraw[10], TEXT_DRAW_FONT_MODEL_PREVIEW);
TextDrawUseBox(textdraw[10], true);
TextDrawBoxColor(textdraw[10], 0x88888899);
TextDrawBackgroundColor(textdraw[10], 0x88888899);
TextDrawTextSize(textdraw[10], 76.000000, 84.933334);
TextDrawSetSelectable(textdraw[10], true);
textdraw[11] = TextDrawCreate(178.000000, 292.133483, "Click on the icon to select");
TextDrawLetterSize(textdraw[11], 0.449999, 1.600000);
TextDrawTextSize(textdraw[11], 500.000000, 35.866767);
TextDrawAlignment(textdraw[11], 1);
TextDrawColor(textdraw[11], 16777215);
TextDrawSetShadow(textdraw[11], 0);
TextDrawSetOutline(textdraw[11], 1);
TextDrawBackgroundColor(textdraw[11], 51);
TextDrawFont(textdraw[11], 2);
TextDrawSetProportional(textdraw[11], 1);
TextDrawSetSelectable(textdraw[11], true);
Пример использования:
Сделаем выбор скина через команду:
Код: Выделить всё
CMD:test(playerid, params[])
{
B_SetPreviewModel(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Установили модели
B_ShowForPlayer(playerid); // Показали TextDraw
return true;
}
Теперь действие при нажатии на TextDraw:
Код: Выделить всё
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(_:clickedid != INVALID_TEXT_DRAW)
{
if(clickedid == textdraw[1]) B_SelectClothes(playerid, 1);
else if(clickedid == textdraw[2]) B_SelectClothes(playerid, 2);
else if(clickedid == textdraw[3]) B_SelectClothes(playerid, 3);
else if(clickedid == textdraw[4]) B_SelectClothes(playerid, 4);
else if(clickedid == textdraw[5]) B_SelectClothes(playerid, 5);
else if(clickedid == textdraw[6]) B_SelectClothes(playerid, 6);
else if(clickedid == textdraw[7]) B_SelectClothes(playerid, 7);
else if(clickedid == textdraw[8]) B_SelectClothes(playerid, 8);
else if(clickedid == textdraw[9]) B_SelectClothes(playerid, 9);
else if(clickedid == textdraw[10]) B_SelectClothes(playerid, 10);
else if(clickedid == textdraw[11]) B_HideForPlayer(playerid);
}
return true;
}
1. B_HideForPlayer(playerid) - скрывает TextDraw'ы.
2. B_ShowForPlayer(playerid) - показывает TextDraw'ы.
3. B_SelectClothes(playerid, clothes) - выдает указанный скин, скрывает TextDraw'ы. Где clothes - ID скина.
4. B_SelectGun(playerid, gun, ammo) - выдает указанное оружие, скрывает TextDraw'ы. Где gun - ID оружия, ammo - количество патронов.
5. B_SelectVehicle(playerid, vehicle) - спавнит автомобиль, скрывает TextDraw'ы. Где vehicle - ID автомобиля.
6. B_SetPreviewModel(q, w, e, r, t, y, u, i, o, p) - показывает указанные модели. Где q - модель для 1 TextDraw'a, w - для 2, e - для 3 и т.д.
7. Для закрытия TextDraw'ов нажмите на кнопку "Click on the icon to select".
2. B_ShowForPlayer(playerid) - показывает TextDraw'ы.
3. B_SelectClothes(playerid, clothes) - выдает указанный скин, скрывает TextDraw'ы. Где clothes - ID скина.
4. B_SelectGun(playerid, gun, ammo) - выдает указанное оружие, скрывает TextDraw'ы. Где gun - ID оружия, ammo - количество патронов.
5. B_SelectVehicle(playerid, vehicle) - спавнит автомобиль, скрывает TextDraw'ы. Где vehicle - ID автомобиля.
6. B_SetPreviewModel(q, w, e, r, t, y, u, i, o, p) - показывает указанные модели. Где q - модель для 1 TextDraw'a, w - для 2, e - для 3 и т.д.
7. Для закрытия TextDraw'ов нажмите на кнопку "Click on the icon to select".