Серверные сущности
Требуется game.entity.read. Полная идентичность:
sessionId + type + poolId + streamGenerationPool 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.