Redoreck
Компетентный
Как можно сделать лучшее?
У нас есть 16 слотов (4 в ширину и 4 в длину), и возле выбраного нужно создать TextDraw действие.
Я сделал вот так:
Как можно сделать более лучшее?
У нас есть 16 слотов (4 в ширину и 4 в длину), и возле выбраного нужно создать TextDraw действие.
Я сделал вот так:
PHP:
stock SelectMenu(playerid, slot) {
new
Float: pos_X, // X Позиция для создания Действия
Float: pos_Y, // Y Позиция для создания Действия
save_slot = slot // Сохраним выбранный слот для того, чтобы перебрать в switch
;
switch(slot) {
case 0..3: {
pos_Y = 0; // Слот 0..3 находится на стандартной позиции, поэтому не меняем
pos_X = 38.0 * slot; // Расстояние для создания TextDraw действия 38 и умножаем на выбранный нами слот.
}
case 4..7: {
pos_Y = 38.0; // Слот 4..7 находится ниже, и поэтому расстояние для него 38.0
save_slot -= 4; // Минусуем -4, чтобы началось с выбранного слота.
pos_X = 38.0 * save_slot; // И.т.д.
}
case 8..11: {
pos_Y = 38.0 * 2; // Слот 8..11 находится на 3 позиции и поэтому расстояние для него 38.0 * 2
save_slot -= 8;
pos_X = 38.0 * save_slot;
}
case 12..15: {
pos_Y = 38.0 * 3;
save_slot -= 12;
pos_X = 38.0 * save_slot;
}
}
gSelectMenuTextDraw[playerid][SELECT_MENU] =
CreatePlayerTextDraw (playerid, 500.0 + pos_X, 250.0 + pos_Y, !"_");
PlayerTextDrawLetterSize (playerid, gSelectMenuTextDraw[playerid][SELECT_MENU], 0.0, 1.0);
PlayerTextDrawTextSize (playerid, gSelectMenuTextDraw[playerid][SELECT_MENU], 0.0, 42.0);
PlayerTextDrawColor (playerid, gSelectMenuTextDraw[playerid][SELECT_MENU], -1);
PlayerTextDrawBoxColor (playerid, gSelectMenuTextDraw[playerid][SELECT_MENU], 255);
PlayerTextDrawUseBox (playerid, gSelectMenuTextDraw[playerid][SELECT_MENU], 1);
PlayerTextDrawAlignment (playerid, gSelectMenuTextDraw[playerid][SELECT_MENU], 2);
// И.т.д
}
Последнее редактирование:
