-
Автор темы
- #1
Модуль визуальных процедур подключаемый к BaseHook'у ratwayer'a.
Существенно облегчит вам жизнь (не нужно писать процедуры самим).
Список процедур:
procedure DrawDot(X, Y, THICKNESS: Single; Color: color24; A: Byte);
procedure DrawText(X, Y: Single; Text: pchar; Color: color24);
procedure DrawTextBox(x, y, w, h, offset_bc, offset_sh: Integer; text: PChar; color: color24; a: Integer);
procedure DrawCenterText(X, Y: Single; Text: pchar; Color: Color24);
procedure DrawRectangle(X1, Y1, X2, Y2, T: Single; Color: color24; A: Byte);
procedure DrawStaticBox(X, Y, S, T: Single; Color: color24; A: Byte);
procedure DrawCrosshair(scr: vec3_t; size, i, t: byte; color: Color24; a: Byte);
Описание переменных:
X, X1, X2: Координаты по оси X.
Y, Y1, Y2: Координаты по оси Y.
T, Thickness: Толщина линий.
Color: Цвет в формате RGB.
Text: Текст.
W: Ширина.
H: Высота.
I: Отступ.
S, Size: Размер.
offset_bc: Отступ по горизонтали.
offset_sh: Отступ по вертикали.
Пример:
Модуль:
Скачать:
Существенно облегчит вам жизнь (не нужно писать процедуры самим).
Список процедур:
procedure DrawDot(X, Y, THICKNESS: Single; Color: color24; A: Byte);
procedure DrawText(X, Y: Single; Text: pchar; Color: color24);
procedure DrawTextBox(x, y, w, h, offset_bc, offset_sh: Integer; text: PChar; color: color24; a: Integer);
procedure DrawCenterText(X, Y: Single; Text: pchar; Color: Color24);
procedure DrawRectangle(X1, Y1, X2, Y2, T: Single; Color: color24; A: Byte);
procedure DrawStaticBox(X, Y, S, T: Single; Color: color24; A: Byte);
procedure DrawCrosshair(scr: vec3_t; size, i, t: byte; color: Color24; a: Byte);
Описание переменных:
X, X1, X2: Координаты по оси X.
Y, Y1, Y2: Координаты по оси Y.
T, Thickness: Толщина линий.
Color: Цвет в формате RGB.
Text: Текст.
W: Ширина.
H: Высота.
I: Отступ.
S, Size: Размер.
offset_bc: Отступ по горизонтали.
offset_sh: Отступ по вертикали.
Пример:
Код:
Отображение точки:
procedure DrawDot(200, 200, 3, Color, 255);
Код:
Отображение прямоугольника:
procedure DrawRectangle(100, 100, 300, 200, 1, Color, 255);
Код:
Отображение квадрата:
procedure DrawStaticBox(400, 400, 20, 1, Color, 255);
Код:
unit Visuals;
// ================================= //
// Ve4niySooN
// Последнее изменение: 09.11.2014
// ================================= //
interface
uses HLSDK, CvarDef, SysUtils;
procedure DrawDot(X, Y, THICKNESS: Single; Color: color24; A: Byte);
procedure DrawText(X, Y: Single; Text: pchar; Color: color24);
procedure DrawTextBox(x, y, w, h, offset_bc, offset_sh: Integer; text: PChar; color: color24; a: Integer);
procedure DrawCenterText(X, Y: Single; Text: pchar; Color: Color24);
procedure DrawRectangle(X1, Y1, X2, Y2, T: Single; Color: color24; A: Byte);
procedure DrawStaticBox(X, Y, S, T: Single; Color: color24; A: Byte);
procedure DrawExtendetBox(X, Y, DestX, DestY: Single; Color: color24; A, W: Byte);
procedure DrawCrosshair(scr: vec3_t; size, i, t: byte; color: Color24; a: Byte);
implementation
procedure DrawMenuBox(x, y, w, h, offset_bc, offset_sh: Integer; text: PChar; color: color24; a: Integer);
begin
Engine.FillRGBA2(x, y, w, h, color.r, color.g, color.b, a);
DrawText(x + offset_bc, y + offset_sh, text, color);
end;
procedure DrawExtendetBox(X, Y, DestX, DestY: Single; Color: color24; A, W: Byte);
begin
Engine.FillRGBA2(Round(X), Round(Y), Round(DestX - X), Round(W), Color.R, Color.G, Color.B, A);
Engine.FillRGBA2(Round(X), Round(Y + W), Round(W), Round(DestY - Y - W), Color.R, Color.G, Color.B, A);
Engine.FillRGBA2(Round(X), Round(DestY - W), Round(DestX - X), Round(W), Color.R, Color.G, Color.B, A);
Engine.FillRGBA2(Round(DestX - W), Round(Y + W), Round(W), Round(DestY - Y - W), Color.R, Color.G, Color.B, A);
end;
procedure DrawCrosshair(scr: vec3_t; size, i, t: byte; color: Color24; a: Byte);
begin
Engine.FillRGBA2(Round(scr.X - size),Round(scr.Y),size - i,t,color.r,color.g,color.b,a);
Engine.FillRGBA2(Round(scr.X + i),Round(scr.Y),size,t,color.r,color.g,color.b,a);
Engine.FillRGBA2(Round(scr.X),Round(scr.Y - size),t,size - i,color.r,color.g,color.b,a);
Engine.FillRGBA2(Round(scr.X),Round(scr.Y + i),t,size,color.r,color.g,color.b,a);
end;
procedure DrawStaticBox(X, Y, S, T: Single; Color: color24; A: Byte);
begin
Engine.FillRGBA2(Round(x - s),Round(y - s), Round(s * 2), Round(t), Color.R, Color.G, Color.B, A);
Engine.FillRGBA2(Round(x - s),Round(y - s), Round(t), Round(s * 2), Color.R, Color.G, Color.B, A);
Engine.FillRGBA2(Round(x + s),Round(y + s), Round(s * 2 / -1), Round(-t), Color.R, Color.G, Color.B, A);
Engine.FillRGBA2(Round(x + s),Round(y + s), Round(-t), Round(s * 2 / -1), Color.R, Color.G, Color.B, A);
end;
procedure DrawRectangle(X1, Y1, X2, Y2, T: Single; Color: color24; A: Byte);
begin
Engine.FillRGBA2(Round(x1),Round(y1),Round(X2 - X1),Round(T),Color.R,Color.G,Color.B,A);
Engine.FillRGBA2(Round(x1),Round(y1),Round(T),Round(Y2 - Y1),Color.R,Color.G,Color.B, A);
Engine.FillRGBA2(Round(x2),Round(y2),Round(-(X2 - X1)),Round(-T),Color.R,Color.G,Color.B, A);
Engine.FillRGBA2(Round(x2),Round(y2),Round(-T),Round(-(Y2 - Y1)),Color.R,Color.G,Color.B, A);
end;
procedure DrawDot(X, Y, THICKNESS: Single; Color: Color24; A: Byte);
var
DT: Integer;
begin
DT := Round(THICKNESS * 2);
Engine.FillRGBA2(Round(X - THICKNESS), Round(Y - THICKNESS), DT, DT, Color.R, Color.G, Color.B, A);
end;
procedure DrawText(X, Y: Single; Text: pchar; Color: Color24);
begin
Engine.DrawSetTextColor(-Color.r, -Color.g, -Color.b);
Engine.DrawConsoleString(Round(x), Round(y), text);
end;
procedure DrawCenterText(X, Y: Single; Text: pchar; Color: Color24);
var
th, tl: Integer;
begin
Engine.DrawSetTextColor(-Color.r, -Color.g, -Color.b);
Engine.DrawConsoleStringLen(text, @tl, @th);
Engine.DrawConsoleString(Round(x - (tl shr 1)), Round(y), text);
end;
end.
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
Последнее редактирование модератором: