Skip to content

Engine API Quick Reference

Home | Engine API Quick Reference


Indice


Metodos de Entidade

Referencia completa: Capitulo 6.1: Sistema de Entidades

Posicao e Orientacao (Object)

MetodoAssinaturaDescricao
GetPositionvector GetPosition()Posicao no mundo
SetPositionvoid SetPosition(vector pos)Definir posicao no mundo
GetOrientationvector GetOrientation()Yaw, pitch, roll em graus
SetOrientationvoid SetOrientation(vector ori)Definir yaw, pitch, roll
GetDirectionvector GetDirection()Vetor de direcao frontal
SetDirectionvoid SetDirection(vector dir)Definir direcao frontal
GetScalefloat GetScale()Escala atual
SetScalevoid SetScale(float scale)Definir escala

Transformacao (IEntity)

MetodoAssinaturaDescricao
GetOriginvector GetOrigin()Posicao no mundo (nivel do motor)
SetOriginvoid SetOrigin(vector orig)Definir posicao no mundo (nivel do motor)
GetYawPitchRollvector GetYawPitchRoll()Rotacao como yaw/pitch/roll
GetTransformvoid GetTransform(out vector mat[4])Matriz de transformacao 4x3 completa
SetTransformvoid SetTransform(vector mat[4])Definir transformacao completa
VectorToParentvector VectorToParent(vector vec)Direcao local para mundo
CoordToParentvector CoordToParent(vector coord)Ponto local para mundo
VectorToLocalvector VectorToLocal(vector vec)Direcao mundo para local
CoordToLocalvector CoordToLocal(vector coord)Ponto mundo para local

Hierarquia (IEntity)

MetodoAssinaturaDescricao
AddChildvoid AddChild(IEntity child, int pivot, bool posOnly = false)Anexar filho a um osso
RemoveChildvoid RemoveChild(IEntity child, bool keepTransform = false)Desanexar filho
GetParentIEntity GetParent()Entidade pai ou null
GetChildrenIEntity GetChildren()Primeira entidade filha
GetSiblingIEntity GetSibling()Proxima entidade irmao

Informacoes de Exibicao (Object)

MetodoAssinaturaDescricao
GetTypestring GetType()Nome da classe de config (ex: "AKM")
GetDisplayNamestring GetDisplayName()Nome de exibicao localizado
IsKindOfbool IsKindOf(string type)Verificar heranca de config

Posicoes de Osso (Object)

MetodoAssinaturaDescricao
GetBonePositionLSvector GetBonePositionLS(int pivot)Posicao do osso no espaco local
GetBonePositionMSvector GetBonePositionMS(int pivot)Posicao do osso no espaco do modelo
GetBonePositionWSvector GetBonePositionWS(int pivot)Posicao do osso no espaco do mundo

Acesso a Configuracao (Object)

MetodoAssinaturaDescricao
ConfigGetBoolbool ConfigGetBool(string entry)Ler bool da config
ConfigGetIntint ConfigGetInt(string entry)Ler int da config
ConfigGetFloatfloat ConfigGetFloat(string entry)Ler float da config
ConfigGetStringstring ConfigGetString(string entry)Ler string da config
ConfigGetTextArrayvoid ConfigGetTextArray(string entry, out TStringArray values)Ler array de strings
ConfigIsExistingbool ConfigIsExisting(string entry)Verificar se entrada de config existe

Saude e Dano

Referencia completa: Capitulo 6.1: Sistema de Entidades

MetodoAssinaturaDescricao
GetHealthfloat GetHealth(string zone, string type)Obter valor de saude
GetMaxHealthfloat GetMaxHealth(string zone, string type)Obter saude maxima
SetHealthvoid SetHealth(string zone, string type, float value)Definir saude
SetHealthMaxvoid SetHealthMax(string zone, string type)Definir para o maximo
AddHealthvoid AddHealth(string zone, string type, float value)Adicionar saude
DecreaseHealthvoid DecreaseHealth(string zone, string type, float value, bool auto_delete = false)Reduzir saude
SetAllowDamagevoid SetAllowDamage(bool val)Habilitar/desabilitar dano
GetAllowDamagebool GetAllowDamage()Verificar se dano e permitido
IsAlivebool IsAlive()Verificacao de vivo (usar em EntityAI)
ProcessDirectDamagevoid ProcessDirectDamage(int dmgType, EntityAI source, string component, string ammoType, vector modelPos, float coef = 1.0, int flags = 0)Aplicar dano (EntityAI)

Pares comuns zona/tipo: ("", "Health") global, ("", "Blood") sangue do jogador, ("", "Shock") choque do jogador, ("Engine", "Health") motor do veiculo.


Verificacao de Tipo

MetodoClasseDescricao
IsMan()ObjectE um jogador?
IsBuilding()ObjectE um predio?
IsTransport()ObjectE um veiculo?
IsDayZCreature()ObjectE uma criatura (zumbi/animal)?
IsKindOf(string)ObjectVerificacao de heranca de config
IsItemBase()EntityAIE um item de inventario?
IsWeapon()EntityAIE uma arma?
IsMagazine()EntityAIE um carregador?
IsClothing()EntityAIE uma roupa?
IsFood()EntityAIE comida?
Class.CastTo(out, obj)ClassDowncast seguro (retorna bool)
ClassName.Cast(obj)ClassCast inline (retorna null em caso de falha)

Inventario

Referencia completa: Capitulo 6.1: Sistema de Entidades

MetodoAssinaturaDescricao
GetInventoryGameInventory GetInventory()Obter componente de inventario (EntityAI)
CreateInInventoryEntityAI CreateInInventory(string type)Criar item no cargo
CreateEntityInCargoEntityAI CreateEntityInCargo(string type)Criar item no cargo
CreateAttachmentEntityAI CreateAttachment(string type)Criar item como acessorio
EnumerateInventoryvoid EnumerateInventory(int traversal, out array<EntityAI> items)Listar todos os itens
CountInventoryint CountInventory()Contar itens
HasEntityInInventorybool HasEntityInInventory(EntityAI item)Verificar item
AttachmentCountint AttachmentCount()Numero de acessorios
GetAttachmentFromIndexEntityAI GetAttachmentFromIndex(int idx)Obter acessorio por indice
FindAttachmentByNameEntityAI FindAttachmentByName(string slot)Obter acessorio por slot

Criacao e Exclusao de Entidades

Referencia completa: Capitulo 6.1: Sistema de Entidades

MetodoAssinaturaDescricao
CreateObjectObject GetGame().CreateObject(string type, vector pos, bool local = false, bool ai = false, bool physics = true)Criar entidade
CreateObjectExObject GetGame().CreateObjectEx(string type, vector pos, int flags, int rotation = RF_DEFAULT)Criar com flags ECE
ObjectDeletevoid GetGame().ObjectDelete(Object obj)Exclusao imediata no servidor
ObjectDeleteOnClientvoid GetGame().ObjectDeleteOnClient(Object obj)Exclusao apenas no cliente
Deletevoid obj.Delete()Exclusao adiada (proximo frame)

Flags ECE Comuns

FlagValorDescricao
ECE_NONE0Sem comportamento especial
ECE_CREATEPHYSICS1024Criar colisao
ECE_INITAI2048Inicializar IA
ECE_EQUIP24576Spawnar com acessorios + cargo
ECE_PLACE_ON_SURFACEcombinadoFisica + caminho + trace
ECE_LOCAL1073741824Apenas cliente (nao replicado)
ECE_NOLIFETIME4194304Nao vai despawnar
ECE_KEEPHEIGHT524288Manter posicao Y

Metodos do Jogador

Referencia completa: Capitulo 6.1: Sistema de Entidades

MetodoAssinaturaDescricao
GetIdentityPlayerIdentity GetIdentity()Objeto de identidade do jogador
GetIdentity().GetName()string GetName()Nome de exibicao Steam/plataforma
GetIdentity().GetId()string GetId()ID unico BI
GetIdentity().GetPlainId()string GetPlainId()ID Steam64
GetIdentity().GetPlayerId()int GetPlayerId()ID do jogador na sessao
GetHumanInventory().GetEntityInHands()EntityAI GetEntityInHands()Item nas maos
GetDrivingVehicleEntityAI GetDrivingVehicle()Veiculo sendo dirigido
IsAlivebool IsAlive()Verificacao de vivo
IsUnconsciousbool IsUnconscious()Verificacao de inconsciente
IsRestrainedbool IsRestrained()Verificacao de restrito
IsInVehiclebool IsInVehicle()Verificacao de dentro de veiculo
SpawnEntityOnGroundOnCursorDirEntityAI SpawnEntityOnGroundOnCursorDir(string type, float dist)Spawnar na frente do jogador

Metodos de Veiculo

Referencia completa: Capitulo 6.2: Sistema de Veiculos

Tripulacao (Transport)

MetodoAssinaturaDescricao
CrewSizeint CrewSize()Total de assentos
CrewMemberHuman CrewMember(int idx)Obter humano no assento
CrewMemberIndexint CrewMemberIndex(Human member)Obter assento do humano
CrewGetOutvoid CrewGetOut(int idx)Forcar ejecao do assento
CrewDeathvoid CrewDeath(int idx)Matar membro da tripulacao

Motor (Car)

MetodoAssinaturaDescricao
EngineIsOnbool EngineIsOn()Motor ligado?
EngineStartvoid EngineStart()Ligar motor
EngineStopvoid EngineStop()Desligar motor
EngineGetRPMfloat EngineGetRPM()RPM atual
EngineGetRPMRedlinefloat EngineGetRPMRedline()RPM de redline
GetGearint GetGear()Marcha atual
GetSpeedometerfloat GetSpeedometer()Velocidade em km/h

Fluidos (Car)

MetodoAssinaturaDescricao
GetFluidCapacityfloat GetFluidCapacity(CarFluid fluid)Capacidade maxima
GetFluidFractionfloat GetFluidFraction(CarFluid fluid)Nivel de preenchimento 0.0-1.0
Fillvoid Fill(CarFluid fluid, float amount)Adicionar fluido
Leakvoid Leak(CarFluid fluid, float amount)Remover fluido
LeakAllvoid LeakAll(CarFluid fluid)Drenar todo o fluido

Enum CarFluid: FUEL, OIL, BRAKE, COOLANT

Controles (Car)

MetodoAssinaturaDescricao
SetBrakevoid SetBrake(float value, int wheel = -1)0.0-1.0, -1 = todos
SetHandbrakevoid SetHandbrake(float value)0.0-1.0
SetSteeringvoid SetSteering(float value, bool analog = true)Entrada de direcao
SetThrustvoid SetThrust(float value, int wheel = -1)0.0-1.0 acelerador

Metodos de Clima

Referencia completa: Capitulo 6.3: Sistema de Clima

Acesso

MetodoAssinaturaDescricao
GetGame().GetWeather()Weather GetWeather()Obter singleton de clima

Fenomenos (Weather)

MetodoAssinaturaDescricao
GetOvercastWeatherPhenomenon GetOvercast()Cobertura de nuvens
GetRainWeatherPhenomenon GetRain()Chuva
GetFogWeatherPhenomenon GetFog()Neblina
GetSnowfallWeatherPhenomenon GetSnowfall()Neve
GetWindMagnitudeWeatherPhenomenon GetWindMagnitude()Velocidade do vento
GetWindDirectionWeatherPhenomenon GetWindDirection()Direcao do vento
GetWindvector GetWind()Vetor de direcao do vento
GetWindSpeedfloat GetWindSpeed()Velocidade do vento m/s
SetStormvoid SetStorm(float density, float threshold, float timeout)Configuracao de relampago

WeatherPhenomenon

MetodoAssinaturaDescricao
GetActualfloat GetActual()Valor interpolado atual
GetForecastfloat GetForecast()Valor alvo
GetDurationfloat GetDuration()Duracao restante (segundos)
Setvoid Set(float forecast, float time = 0, float minDuration = 0)Definir alvo (apenas servidor)
SetLimitsvoid SetLimits(float min, float max)Limites de faixa de valor
SetTimeLimitsvoid SetTimeLimits(float min, float max)Limites de velocidade de mudanca
SetChangeLimitsvoid SetChangeLimits(float min, float max)Limites de magnitude de mudanca

Metodos de E/S de Arquivo

Referencia completa: Capitulo 6.8: E/S de Arquivo e JSON

Prefixos de Caminho

PrefixoLocalizacaoGravavel
$profile:Diretorio de perfil do servidor/clienteSim
$saves:Diretorio de savesSim
$mission:Pasta da missao atualGeralmente leitura
$CurrentDir:Diretorio de trabalhoDepende

Operacoes de Arquivo

MetodoAssinaturaDescricao
FileExistbool FileExist(string path)Verificar se arquivo existe
MakeDirectorybool MakeDirectory(string path)Criar diretorio
OpenFileFileHandle OpenFile(string path, FileMode mode)Abrir arquivo (0 = falha)
CloseFilevoid CloseFile(FileHandle fh)Fechar arquivo
FPrintvoid FPrint(FileHandle fh, string text)Escrever texto (sem quebra de linha)
FPrintlnvoid FPrintln(FileHandle fh, string text)Escrever texto + quebra de linha
FGetsint FGets(FileHandle fh, string line)Ler uma linha
ReadFilestring ReadFile(FileHandle fh)Ler arquivo inteiro
DeleteFilebool DeleteFile(string path)Excluir arquivo
CopyFilebool CopyFile(string src, string dst)Copiar arquivo

JSON (JsonFileLoader)

MetodoAssinaturaDescricao
JsonLoadFilevoid JsonFileLoader<T>.JsonLoadFile(string path, T obj)Carregar JSON para objeto (retorna void)
JsonSaveFilevoid JsonFileLoader<T>.JsonSaveFile(string path, T obj)Salvar objeto como JSON

Enum FileMode

ValorDescricao
FileMode.READAbrir para leitura
FileMode.WRITEAbrir para escrita (cria/sobrescreve)
FileMode.APPENDAbrir para adicionar ao final

Metodos de Timer e CallQueue

Referencia completa: Capitulo 6.7: Timers e CallQueue

Acesso

ExpressaoRetornaDescricao
GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY)ScriptCallQueueFila de chamadas de gameplay
GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM)ScriptCallQueueFila de chamadas de sistema
GetGame().GetCallQueue(CALL_CATEGORY_GUI)ScriptCallQueueFila de chamadas de GUI
GetGame().GetUpdateQueue(CALL_CATEGORY_GAMEPLAY)ScriptInvokerFila de atualizacao por frame

ScriptCallQueue

MetodoAssinaturaDescricao
CallLatervoid CallLater(func fn, int delay = 0, bool repeat = false, param1..4)Agendar chamada atrasada/repetida
Callvoid Call(func fn, param1..4)Executar no proximo frame
CallByNamevoid CallByName(Class obj, string fnName, int delay = 0, bool repeat = false, Param par = null)Chamar metodo por nome de string
Removevoid Remove(func fn)Cancelar chamada agendada
RemoveByNamevoid RemoveByName(Class obj, string fnName)Cancelar por nome de string
GetRemainingTimefloat GetRemainingTime(Class obj, string fnName)Obter tempo restante do CallLater

Classe Timer

MetodoAssinaturaDescricao
Timer()void Timer(int category = CALL_CATEGORY_SYSTEM)Construtor
Runvoid Run(float duration, Class obj, string fnName, Param params = null, bool loop = false)Iniciar timer
Stopvoid Stop()Parar timer
Pausevoid Pause()Pausar timer
Continuevoid Continue()Retomar timer
IsPausedbool IsPaused()Timer pausado?
IsRunningbool IsRunning()Timer ativo?
GetRemainingfloat GetRemaining()Segundos restantes

ScriptInvoker

MetodoAssinaturaDescricao
Insertvoid Insert(func fn)Registrar callback
Removevoid Remove(func fn)Remover callback
Invokevoid Invoke(params...)Disparar todos os callbacks
Countint Count()Numero de callbacks registrados
Clearvoid Clear()Remover todos os callbacks

Metodos de Criacao de Widget

Referencia completa: Capitulo 3.5: Criacao Programatica

MetodoAssinaturaDescricao
GetGame().GetWorkspace()WorkspaceWidget GetWorkspace()Obter workspace da UI
CreateWidgetsWidget CreateWidgets(string layout, Widget parent = null)Carregar arquivo .layout
FindAnyWidgetWidget FindAnyWidget(string name)Encontrar filho por nome (recursivo)
Showvoid Show(bool show)Mostrar/ocultar widget
SetTextvoid TextWidget.SetText(string text)Definir conteudo de texto
SetImagevoid ImageWidget.SetImage(int index)Definir indice de imagem
SetColorvoid SetColor(int color)Definir cor do widget (ARGB)
SetAlphavoid SetAlpha(float alpha)Definir transparencia 0.0-1.0
SetSizevoid SetSize(float x, float y, bool relative = false)Definir tamanho do widget
SetPosvoid SetPos(float x, float y, bool relative = false)Definir posicao do widget
GetScreenSizevoid GetScreenSize(out float x, out float y)Resolucao da tela
Destroyvoid Widget.Destroy()Remover e destruir widget

Auxiliar de Cor ARGB

FuncaoAssinaturaDescricao
ARGBint ARGB(int a, int r, int g, int b)Criar int de cor (0-255 cada)
ARGBFint ARGBF(float a, float r, float g, float b)Criar int de cor (0.0-1.0 cada)

Metodos de RPC / Rede

Referencia completa: Capitulo 6.9: Rede e RPC

Verificacoes de Ambiente

MetodoAssinaturaDescricao
GetGame().IsServer()bool IsServer()Verdadeiro no servidor / host listen-server
GetGame().IsClient()bool IsClient()Verdadeiro no cliente
GetGame().IsMultiplayer()bool IsMultiplayer()Verdadeiro em multiplayer
GetGame().IsDedicatedServer()bool IsDedicatedServer()Verdadeiro apenas em servidor dedicado

ScriptRPC

MetodoAssinaturaDescricao
ScriptRPC()void ScriptRPC()Construtor
Writebool Write(void value)Serializar um valor (int, float, bool, string, vector, array)
Sendvoid Send(Object target, int rpc_type, bool guaranteed, PlayerIdentity recipient = null)Enviar RPC
Resetvoid Reset()Limpar dados escritos

Recebimento (Override em Object)

MetodoAssinaturaDescricao
OnRPCvoid OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)Handler de recebimento de RPC

ParamsReadContext

MetodoAssinaturaDescricao
Readbool Read(out void value)Desserializar um valor (mesmos tipos que Write)

RPC Legado (CGame)

MetodoAssinaturaDescricao
RPCSingleParamvoid GetGame().RPCSingleParam(Object target, int rpc, Param param, bool guaranteed, PlayerIdentity recipient = null)Enviar um unico objeto Param
RPCvoid GetGame().RPC(Object target, int rpc, array<Param> params, bool guaranteed, PlayerIdentity recipient = null)Enviar multiplos Params

ScriptInputUserData (Verificado por Entrada)

MetodoAssinaturaDescricao
CanStoreInputUserDatabool ScriptInputUserData.CanStoreInputUserData()Verificar se a fila tem espaco
Writebool Write(void value)Serializar valor
Sendvoid Send()Enviar para o servidor (apenas cliente)

Constantes e Metodos Matematicos

Referencia completa: Capitulo 1.7: Matematica e Vetores

Constantes

ConstanteValorDescricao
Math.PI3.14159...Pi
Math.PI26.28318...2 * Pi
Math.PI_HALF1.57079...Pi / 2
Math.DEG2RAD0.01745...Multiplicador de graus para radianos
Math.RAD2DEG57.2957...Multiplicador de radianos para graus
int.MAX2147483647Int maximo
int.MIN-2147483648Int minimo
float.MAX3.4028e+38Float maximo
float.MIN1.175e-38Float positivo minimo

Aleatorio

MetodoAssinaturaDescricao
Math.RandomIntint RandomInt(int min, int max)Int aleatorio [min, max)
Math.RandomIntInclusiveint RandomIntInclusive(int min, int max)Int aleatorio [min, max]
Math.RandomFloat01float RandomFloat01()Float aleatorio [0, 1]
Math.RandomBoolbool RandomBool()Verdadeiro/falso aleatorio

Arredondamento

MetodoAssinaturaDescricao
Math.Roundfloat Round(float f)Arredondar para o mais proximo
Math.Floorfloat Floor(float f)Arredondar para baixo
Math.Ceilfloat Ceil(float f)Arredondar para cima

Limitacao e Interpolacao

MetodoAssinaturaDescricao
Math.Clampfloat Clamp(float val, float min, float max)Limitar a uma faixa
Math.Minfloat Min(float a, float b)Minimo entre dois
Math.Maxfloat Max(float a, float b)Maximo entre dois
Math.Lerpfloat Lerp(float a, float b, float t)Interpolacao linear
Math.InverseLerpfloat InverseLerp(float a, float b, float val)Interpolacao linear inversa

Absoluto e Potencia

MetodoAssinaturaDescricao
Math.AbsFloatfloat AbsFloat(float f)Valor absoluto (float)
Math.AbsIntint AbsInt(int i)Valor absoluto (int)
Math.Powfloat Pow(float base, float exp)Potencia
Math.Sqrtfloat Sqrt(float f)Raiz quadrada
Math.SqrFloatfloat SqrFloat(float f)Quadrado (f * f)

Trigonometria (Radianos)

MetodoAssinaturaDescricao
Math.Sinfloat Sin(float rad)Seno
Math.Cosfloat Cos(float rad)Cosseno
Math.Tanfloat Tan(float rad)Tangente
Math.Asinfloat Asin(float val)Arco seno
Math.Acosfloat Acos(float val)Arco cosseno
Math.Atan2float Atan2(float y, float x)Angulo a partir de componentes

Amortecimento Suave

MetodoAssinaturaDescricao
Math.SmoothCDfloat SmoothCD(float val, float target, inout float velocity, float smoothTime, float maxSpeed, float dt)Amortecimento suave em direcao ao alvo (como SmoothDamp do Unity)
c
// Uso do amortecimento suave
// val: valor atual, target: valor alvo, velocity: velocidade ref (persistida entre chamadas)
// smoothTime: tempo de suavizacao, maxSpeed: limite de velocidade, dt: delta time
float m_Velocity = 0;
float result = Math.SmoothCD(current, target, m_Velocity, 0.3, 1000.0, dt);

Angulo

MetodoAssinaturaDescricao
Math.NormalizeAnglefloat NormalizeAngle(float deg)Ajustar para 0-360

Metodos de Vetor

MetodoAssinaturaDescricao
vector.Distancefloat Distance(vector a, vector b)Distancia entre pontos
vector.DistanceSqfloat DistanceSq(vector a, vector b)Distancia ao quadrado (mais rapido)
vector.Directionvector Direction(vector from, vector to)Vetor de direcao
vector.Dotfloat Dot(vector a, vector b)Produto escalar
vector.Lerpvector Lerp(vector a, vector b, float t)Interpolar posicoes
v.Length()float Length()Magnitude do vetor
v.LengthSq()float LengthSq()Magnitude ao quadrado (mais rapido)
v.Normalized()vector Normalized()Vetor unitario
v.VectorToAngles()vector VectorToAngles()Direcao para yaw/pitch
v.AnglesToVector()vector AnglesToVector()Yaw/pitch para direcao
v.Multiply3vector Multiply3(vector mat[3])Multiplicacao por matriz
v.InvMultiply3vector InvMultiply3(vector mat[3])Multiplicacao inversa por matriz
Vector(x, y, z)vector Vector(float x, float y, float z)Criar vetor

Funcoes Globais

FuncaoAssinaturaDescricao
GetGame()CGame GetGame()Instancia do jogo
GetGame().GetPlayer()Man GetPlayer()Jogador local (apenas CLIENTE)
GetGame().GetPlayers(out arr)void GetPlayers(out array<Man> arr)Todos os jogadores (servidor)
GetGame().GetWorld()World GetWorld()Instancia do mundo
GetGame().GetTickTime()float GetTickTime()Tempo do servidor (segundos)
GetGame().GetWorkspace()WorkspaceWidget GetWorkspace()Workspace da UI
GetGame().SurfaceY(x, z)float SurfaceY(float x, float z)Altura do terreno na posicao
GetGame().SurfaceGetType(x, z)string SurfaceGetType(float x, float z)Tipo de material da superficie
GetGame().GetObjectsAtPosition(pos, radius, objects, proxyCargo)void GetObjectsAtPosition(vector pos, float radius, out array<Object> objects, out array<CargoBase> proxyCargo)Encontrar objetos proximos a posicao
GetScreenSize(w, h)void GetScreenSize(out int w, out int h)Obter resolucao da tela
GetGame().IsServer()bool IsServer()Verificacao de servidor
GetGame().IsClient()bool IsClient()Verificacao de cliente
GetGame().IsMultiplayer()bool IsMultiplayer()Verificacao de multiplayer
Print(string)void Print(string msg)Escrever no log de scripts
ErrorEx(string)void ErrorEx(string msg, ErrorExSeverity sev = ERROR)Registrar erro com severidade
DumpStackString()string DumpStackString()Obter pilha de chamadas como string
string.Format(fmt, ...)string Format(string fmt, ...)Formatar string (%1..%9)

Hooks de Mission

Referencia completa: Capitulo 6.11: Hooks de Mission

Lado do Servidor (modded MissionServer)

MetodoDescricao
override void OnInit()Inicializar gerenciadores, registrar RPCs
override void OnMissionStart()Apos todos os mods carregados
override void OnUpdate(float timeslice)Por frame (use acumulador!)
override void OnMissionFinish()Limpar singletons, cancelar inscricoes de eventos
override void OnEvent(EventType eventTypeId, Param params)Eventos de chat, voz
override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)Jogador entrou
override void InvokeOnDisconnect(PlayerBase player)Jogador saiu
override void OnClientReadyEvent(int peerId, PlayerIdentity identity)Cliente pronto para dados
override void PlayerRegistered(int peerId)Identidade registrada

Lado do Cliente (modded MissionGameplay)

MetodoDescricao
override void OnInit()Inicializar gerenciadores do cliente, criar HUD
override void OnUpdate(float timeslice)Atualizacao por frame do cliente
override void OnMissionFinish()Limpeza
override void OnKeyPress(int key)Tecla pressionada
override void OnKeyRelease(int key)Tecla solta

Sistema de Acoes

Referencia completa: Capitulo 6.12: Sistema de Acoes

Registrar Acoes em um Item

c
override void SetActions()
{
    super.SetActions();
    AddAction(MyAction);           // Adicionar acao personalizada
    RemoveAction(ActionEat);       // Remover acao vanilla
}

Metodos Principais de ActionBase

MetodoDescricao
override void CreateConditionComponents()Definir condicoes de distancia CCINone/CCTNone
override bool ActionCondition(...)Logica de validacao personalizada
override void OnExecuteServer(ActionData action_data)Execucao no lado do servidor
override void OnExecuteClient(ActionData action_data)Efeitos no lado do cliente
override string GetText()Nome de exibicao (suporta chaves #STR_)

Documentacao completa: Inicio | Folha de Referencia | Sistema de Entidades | Veiculos | Clima | Timers | E/S de Arquivo | Rede | Hooks de Mission | Sistema de Acoes

Released under CC BY-SA 4.0 | Code examples under MIT License