#![doc(
html_logo_url = "https://github.com/user-attachments/assets/f6ef83ce-9833-4c80-a740-bbed4fcdd4c3"
)]
use core_resource::exports;
#[rustfmt::skip]
pub use exports::{
logging::{
log_macro as log,
log_warn_macro as log_warn,
log_error_macro as log_error,
log,
log_warn,
},
BaseObjectWrapper,
SyncId,
Vector2,
Vector3,
ColShape,
ColShapeContainer,
Player,
PlayerContainer,
Vehicle,
VehicleContainer,
Ped,
PedContainer,
Object,
ObjectContainer,
VirtualEntity,
VirtualEntityContainer,
VirtualEntityGroup,
VirtualEntityGroupContainer,
Blip,
BlipContainer,
VoiceChannel,
VoiceChannelContainer,
Marker,
MarkerContainer,
Checkpoint,
CheckpointContainer,
WorldObject,
AnyWorldObject,
Entity,
AnyEntity,
AttachToEntityBoneIndex,
AttachToEntityBoneName,
PlayerDateTime,
PlayerHeadBlendData,
PlayAnimation,
hash,
Hash,
VehicleModelInfo,
PedModelInfo,
WeaponModelInfo,
Rgba,
Quaternion,
core_funcs::*,
config_node::*,
Resource,
ColShapy,
result::{VoidResult, IntoVoidResult, SomeResult},
AnyBaseObject,
BaseObjectPoolFuncs,
base_object,
BaseObjectId,
Timer,
AnimationFlags,
AmmoType,
AmmoFlags,
Decoration,
anyhow,
serde,
erased_serde,
serde_bytes::{
self,
ByteBuf,
},
enumflags2,
MValueHashMap,
BaseObjectFilter,
ClosestEntitiesOrder,
};
pub use altv_sdk::{
BaseObjectType, BlipType, ColShapeType, ExplosionType, MarkerType, PlayerBodyPart,
PlayerConnectDeniedReason, VehicleModelType, AmmoSpecialType, VoiceConnectionState, Benefit,
CloudAuthResult,
};
pub const DEFAULT_DIMENSION: i32 = 0;
pub const GLOBAL_DIMENSION: i32 = i32::MIN;
pub const DRIVER_SEAT: u8 = 1;
pub mod events;
pub mod meta;
pub mod mvalue;
#[cfg(doc)]
pub mod reloading_docs;
#[rustfmt::skip]
pub mod prelude {
pub use super::exports::{
config_node::Config,
meta::{
MetaEntry,
BaseObjectMetaEntry,
NormalBaseObjectMeta,
SyncedBaseObjectMeta,
StreamSyncedEntityMeta,
StreamSyncedCheckpointMeta,
StreamSyncedVirtualEntityMeta,
LocalPlayerMeta,
},
mvalue::DeserializeMValueArgs,
BaseObjectPoolFuncs,
ColShapy,
Entity,
ValidBaseObject,
WorldObject,
};
}
pub fn set_timeout<V: IntoVoidResult>(
mut callback: impl FnMut() -> V + 'static,
millis: u64,
) -> Timer {
exports::create_timer(
Box::new(move || callback().into_void_result()),
millis,
true,
)
}
pub fn set_interval<V: IntoVoidResult>(
mut callback: impl FnMut() -> V + 'static,
millis: u64,
) -> Timer {
exports::create_timer(
Box::new(move || callback().into_void_result()),
millis,
false,
)
}
pub use resource_main_macro::resource_main_func as main;
#[doc(hidden)]
pub mod __internal {
use core_resource::exports::{anyhow, logging::log_error_macro, Resource};
pub use relib_module;
pub fn on_main_error(err: anyhow::Error) {
let name = &Resource::current().name;
log_error_macro!("Rust resource: {name:?} main function returned error: {err:?}");
}
}
pub use resource_before_unload_macro::resource_before_unload as before_unload;