Skip to content

Серверные сущности

Требуется game.entity.read. Полная идентичность:

text
sessionId + type + poolId + streamGeneration

Pool ID переиспользуются; Handle нельзя восстанавливать только по ID или использовать после entity.streamed_out.

Получение и список

samp.entity.get(type, poolId, streamGeneration) возвращает текущий Handle или nil. Некорректная идентичность вызывает ошибку.

samp.entity.list(type [, startId [, limit]]) возвращает { items, nextId }. Тип: player, vehicle, object, actor, pickup или text_label; startId по умолчанию 0; limit 1..128, по умолчанию 64. Передавайте nextId дальше, пока он не станет nil.

Общие члены

Каждый Handle имеет type, poolId, streamGeneration, sessionId, is_valid() -> boolean и position() -> Vector3. position() даёт ошибку для устаревшего Handle; у прикреплённой 3D-надписи это настроенное смещение.

Методы по типам

| Тип | Методы и результат | | ---------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------ | ------ | ------- | ---- | ----------------------------------------------------------------------- | ----- | | player | name()->string, npc()->boolean, state()->on_foot | passenger | driver | wasted | spawned | none | unknown, health()->number, armor()->number, vehicle_id()->integer | nil. | | vehicle | model()->integer, health()->number, velocity()->Vector3, heading()->number. | | object | model()->integer, rotation()->Vector3, moving()->boolean, attachment()->{type="object" | "vehicle",poolId} | nil. | | actor | model()->integer, health()->number, invulnerable()->boolean, heading()->number. | | pickup | model()->integer, pickup_type()->integer. | | text_label | text()->string, color()->ARGB integer, draw_distance()->number, test_los()->boolean, attachment()->{type="player" | "vehicle",poolId} | nil. |

vehicle_id() возвращает ID, а не Vehicle Handle. Все типовые методы не имеют аргументов и дают ошибку при неверном типе или устаревшем Handle.