ClientRequestObjectTarget
Sends an object target request to the connected client. The client will display a targeting cursor that allows the user to select an object (not a tile/ground location).
After the user selects an object, the result can be retrieved via ClientTargetResponse. Use ClientTargetResponsePresent to check whether the user has responded, or WaitForClientTargetResponse to wait with a timeout.
For targeting tiles or ground locations, use ClientRequestTileTarget.
Отправляет запрос на выбор объекта подключённому клиенту. Клиент покажет курсор таргета, позволяющий пользователю выбрать объект (не тайл/точку на земле).
После выбора объекта результат можно получить через ClientTargetResponse. Используйте ClientTargetResponsePresent для проверки ответа или WaitForClientTargetResponse для ожидания с таймаутом.
Для выбора тайлов или точек на земле используйте ClientRequestTileTarget.
procedure ClientRequestObjectTarget;
def ClientRequestObjectTarget() -> None: ...
procedure AttackSelectedObject;
begin
ClientPrint('Select a target to attack');
ClientRequestObjectTarget;
while not ClientTargetResponsePresent do
Wait(100);
Attack(ClientTargetResponse.ID);
AddToSystemJournal('Attacking target: $' + IntToHex(ClientTargetResponse.ID, 8));
end;
ClientPrint('Select a target to attack')
ClientRequestObjectTarget()
WaitForClientTargetResponse(30000)
if ClientTargetResponsePresent():
resp = ClientTargetResponse()
Attack(resp.ID)
AddToSystemJournal(f'Attacking target: ${resp.ID:08X}')
ClientRequestTileTarget, ClientTargetResponse, ClientTargetResponsePresent, WaitForClientTargetResponse