PQR Mod API 0.65pre5 (19.05.04)
     .      , 
    PQR Mod    .  ,  ,
    (   . ).
    bot.dll  Delphi:

type PMA_TMenu = record
	x,y,Width : integer;
	SubMenuMask : integer;
	end;

type
TCallProc_PMA_MenuCreate = function(m: PMA_TMenu):byte; cdecl;
TCallProc_PMA_MenuSets = procedure(mid: integer; m: PMA_TMenu); cdecl;
TCallProc_PMA_MenuAddOption = procedure(mid: integer; s: PChar); cdecl;
TCallProc_PMA_MenuSetOption = procedure(mid: integer; oid: integer; s: PChar); cdecl;
TCallProc_PMA_DeleteAllOptions = procedure(min: integer); cdecl;
TCallProc_PMA_MenuShowHide = procedure(mid: integer; visible: boolean); cdecl;

//  
VAR
PMA_MenuCreate : TCallProc_PMA_MenuCreate;
PMA_MenuSets : TCallProc_PMA_MenuSets;
PMA_MenuAddOption : TCallProc_PMA_MenuAddOption;
PMA_MenuSetOption : TCallProc_PMA_MenuSetOption;
PMA_RegisterDeleteAllOptions : TCallProc_PMA_DeleteAllOptions;
PMA_RegisterMenuShowHide : TCallProc_PMA_MenuShowHide;

//      PQR Mod Api

procedure DLL_PMA_RegisterMenuCreate(AProc: TCallProc_PMA_MenuCreate); cdecl;
begin
	PMA_MenuCreateAProc	= AProc;
end;

procedure DLL_PMA_RegisterMenuSets(AProc: TCallProc_PMA_MenuSets); cdecl;
begin
	PMA_MenuSets := AProc;	
end;

procedure DLL_PMA_RegisterMenuAddOption(AProc: TCallProc_PMA_MenuAddOption); cdecl;
begin
	PMA_MenuAddOption := AProc;
end;

procedure DLL_PMA_RegisterMenuSetOption(AProc: TCallProc_PMA_MenuSetOption); cdecl;
begin
	PMA_MenuSetOption := AProc;
end;

procedure DLL_PMA_RegisterDeleteAllOptions(AProc: TCallProc_PMA_DeleteAllOptions); cdecl;
begin
	PMA_DeleteAllOptions := AProc;
end;

procedure DLL_PMA_RegisterMenuShowHide(AProc: TCallProc_PMA_MenuShowHide); cdecl;
begin
	PMA_MenuShowHide := AProc;
end;

exports DLL_PMA_RegisterMenuShowHide,DLL_PMA_RegisterMenuAddOption,DLL_PMA_RegisterMenuSets,DLL_PMA_RegisterMenuCreate;

:
     ,  bot.dll   
procedure DLL_PMA_EVENT_MenuEnter(mid: byte; oid: byte)

mid -   ,   PMA_MenuCreate
oid -    -    1.
SubMenuMask - -.       ,    ,         .
,        ,       .    SubMenuMask :=3 (    ...000011)
    ,    , : SubMenuMask := 5
PQR Mod      ,   .      -            ,       DLL_PMA_EVENT_MenuEnter,   mid  oid   .


 ,   mid    bot.dll,      
  - ,   bot.dll.     .

:

VAR my_menu_created: boolean;
my_menu_id: byte;

procedure DLL_EVENT_BeginGame;
var NewMenu: PMA_TMenu;
begin
	if NOT my_menu_created Then //    ,  
	begin
		// 
		NewMenu.x=100;
		NewMenu.y=100;
		NewMenu.Width=200;
		NewMenu.SubMenuMask=0;
		my_menu_id = PMA_MenuCreate(NewMenu);
		PMA_MenuAddOption(my_menu_id,PChar('option 1'));
		PMA_MenuAddOption(my_menu_id,PChar('option 2'));
		PMA_MenuAddOption(my_menu_id,PChar('option 3'));
		PMA_MenuShowHide(my_menu_id,true);
	end;
	
end;

   'mymenu'
    PMA_MenuShowHide(my_menu_id,true); -       

     3 ()  
DLL_PMA_EVENT_MenuEnter
  mid   my_menu_id , oid = 3

,   .  ,     bot.dll,
   pqrmod -> bot.dll ,     pqrmod.
    ,  bot.dll     PQR Mod.
  ,    IsPQRMod : boolean ,   
true     DLL_PMA_Register...       .