TargetByResource
Sends a “target by resource” packet to the server, targeting a specific object with a resource type.
ObjID — serial (ID) of the object to target (e.g., a tool like a pickaxe).
Resource — resource type index (0–4):
| Value | Name | Description |
|---|---|---|
0 |
trt_ore |
Ore (mining) |
1 |
trt_sand |
Sand |
2 |
trt_wood |
Wood (lumberjacking) |
3 |
trt_graves |
Graves |
4 |
trt_redmushrooms |
Red mushrooms |
In DWScript, the Resource parameter can also be a string (e.g., 'sand', 'graves'), which is internally converted to the corresponding enum value.
Validates before sending: if a target cursor is already active, the call is cancelled with a warning. If the object does not exist, an error is logged. If the resource value is outside the 0–4 range, an error is logged.
A 30ms delay is applied before sending the packet.
Does nothing if the character is not connected.
Отправляет серверу пакет «target by resource», нацеливаясь на указанный объект с типом ресурса.
ObjID — serial (ID) объекта-цели (например, инструмент вроде кирки).
Resource — индекс типа ресурса (0–4):
| Значение | Имя | Описание |
|---|---|---|
0 |
trt_ore |
Руда (mining) |
1 |
trt_sand |
Песок |
2 |
trt_wood |
Дерево (lumberjacking) |
3 |
trt_graves |
Могилы |
4 |
trt_redmushrooms |
Красные грибы |
В DWScript параметр Resource может быть также строкой (например, 'sand', 'graves'), которая внутренне преобразуется в соответствующее значение перечисления.
Перед отправкой: если курсор цели уже активен — вызов отменяется с предупреждением. Если объект не существует — логируется ошибка. Если значение ресурса вне диапазона 0–4 — логируется ошибка.
Перед отправкой пакета применяется задержка 30мс.
Не выполняет действий, если персонаж не подключён.
procedure TargetByResource(ObjID: Cardinal; Resource: Word);
def TargetByResource(ObjID: int, Resource: int) -> None: ...
const
PICKAXE_TYPE = $0E85;
begin
if FindType(PICKAXE_TYPE, Backpack) > 0 then
begin
TargetByResource(FindItem, 0); // trt_ore
AddToSystemJournal('Targeting ore resource with pickaxe');
end;
end.
PICKAXE_TYPE = 0x0E85
if FindType(PICKAXE_TYPE, Backpack()) > 0:
TargetByResource(FindItem(), 0) # trt_ore
AddToSystemJournal('Targeting ore resource with pickaxe')