LUA SCRIPT
Os scripts e proceses Lua são similares àqueles das macros e dialógicas, onde uma série de operações e verificações são feitas para permitir que os jogadores modifiquem o jogo essencialmente adicionando novas mecânicas de jogo. O recurso é colocado dentro de macros clássicas e árvores de diálogo na forma de duas ações de diálogo principais:
OrcLuaScript
Esta ação irá injetar um
script de lua em seu orc. Normalmente, a injeção apenas inicializa o script e o
mantém na memória, para que nenhuma injeção adicional seja necessária. Um bom
uso dessa ação seria colocá-lo no início de sua macro e ter seu código aninhado
em funções úteis que chamaremos posteriormente usando uma ação diferente.
Outras execuções da mesma ação na mesma linha de macro não reinicializarão o
código quando uma instância do mesmo script de lua com o mesmo nome de ID já
existir, portanto, você pode percorrer com segurança sua macro como de costume
sem precisar reinterpretar o script da sua ação. Aqui está um exemplo de um
script de lua a ser injetado:
function start () if orc.game.sceneis ('Outback1') then -- give him the pipe from the start orc.game.consolecommand ('asset bopipe') if orc.game.consoleasset == nil then orc.consolecommand ('batch target @self;asset World/Items/Pipe1;assetnameset bopipe;hrattachca;assetpos -0.0289,0.0571,-0.0238,-21.348,-118.294,217.56,true;assetscalereset') else orc.consolecommand ('batch target @self;hrattachca;assetpos -0.0289,0.0571,-0.0238,-21.348,-118.294,217.56,true;assetscalereset') end orc.consolecommand ('forceanim Idle SmokePipe1') end end
Este código
injeta apenas uma função chamada start, que faz uma série de ajustes de
configuração para o personagem Bo, para que ele segure seu cachimbo. Lembre-se
que este código não está sendo executado após a injeção; somente mais tarde
chamaremos isso e qualquer outra função que o seu script contenha. Por favor,
note que agora não é possível incluir parâmetros de função entre parênteses.
OrcLuaScriptFunction
Esta ação
permitirá que você execute qualquer uma das funções contidas em um script de
lua que foi previamente injetado usando a ação OrcLuaScript. Ele solicitará o
nome do ID do script que foi injetado e o nome da função que você deseja
executar (por exemplo, a função inicial acima). Nota: as funções precisam
apenas do nome fornecido, sem os parênteses finais.
Lua commands
Seu script
pode usar os seguintes comandos e variáveis para construir comportamentos e
mecânicas. Os comandos são sempre precedidos pelo "orc". variável,
que representa o orc real carregando a instância de script. Abaixo está uma
lista de comandos que podem ser usados em seus scripts:
Função
|
Usado em:
|
Descrição
|
consolecommand
|
consolecommand(command)
|
Vai executar um comando de console clássico. Certifique-se de usar
aspas, de preferência único. Exemplo:
consolecommand('barafylite @playername,1,60,0') |
ifitemflag
|
ifitemflag(name,data)
|
Verifica se o orc tem o sinalizador especificado do nome e dos dados
fornecidos. Ambos os parâmetros são strings.
|
setitemflag
|
setitemflag(flagname, flagdata)
|
Define ou altera um sinalizador de determinado flagname com determinados flagdata
|
orcobjset
|
orcobjset(name)
|
Vai definir o alvo "objetivo" deste orc para o orc
especificado como nome. A variável pode ser um nome orc direto ou qualquer um
dos argumentos usados pelo console, como "@target",
"@playername", etc. Uma vez definido, o objetivo pode ser
manipulado usando qualquer um dos comandos lua usando o comando variável
orc.orcobjective em vez de orc. como um prefixo. (Certifique-se de fazer
verificações nulas nessa variável antes de usar)
|
fapstart
|
fapstart()
|
Begins fap
|
fapstop
|
fapstop()
|
Stops fap
|
sexanal1
sexanal2
|
sexanal1() or
sexanal2()
|
Engages into anal with objective
|
endsex
|
endsex()
|
Ends sex
|
Lua variáveis
Eles podem
ser usados para verificar condicionais "if" ou definir parâmetros
diretamente.
Variable name
|
Type
|
Description
|
istheplayer
|
bool
|
Retorna verdadeiro se a instância for o jogador.
|
canseeorcobjective
|
bool
|
Retorna verdadeiro se o objetivo puder ser visto.
|
canseeinterest
|
bool
|
"Interesse" é como uma versão mais leve de
"objetivo", sendo o personagem que nossa instância está olhando,
mas não necessariamente segmentando. Isso retorna true se eles ainda
estiverem visíveis para nossa instância.
|
distancetoobjective
|
float
|
Retorna a distância para o objetivo.
|
busywalking
|
bool
|
Retorna verdadeiro se a instância estiver ocupada caminhando até um
destino
|
onatask
|
bool
|
Retorna true se a instância estiver ocupada executando alguma tarefa
como lançar uma mágica ou sexagem.
|
isairborne
|
bool
|
Retorna verdadeiro se a instância estiver flutuando no ar
|
istalking
|
bool
|
... true se a instância estiver em um diálogo.
|
corruption
|
float
|
Retorna o nível de corrupção da instância. Vai de 0,0 a 3,0, 1,0 sendo
o limite antes de se transformar em um gênio.
|
immutable
|
bool
|
... true se essa instância for um fantasma ou um caractere especial
que não pode ser alterado por feitiços de transformação nem corrupção.
|
isgeniefragment
|
bool
|
... true se esta instância for um fragmento de gênio NPC (diferente de
um gênio amaldiçoado)
|
isghost
|
bool
|
... verdade se esta instância for um fantasma.
|
isbusy
|
bool
|
... true se esta instância estiver ocupada.
|
issexing
|
bool
|
... verdade se a instância é sexagem.
|
isfapping
|
bool
|
... true se a instância estiver fracassando
|
arousal
|
float
|
Retorna o nível de excitação que esta instância tem no momento. Vai de
0,0 a 1,0
|
cumming
|
bool
|
... verdade se, durante uma cena de sexo, a instância é orgasmo
|
afterglowing
|
bool
|
... verdade, se a instância estiver em pós-brilho logo após o orgasmo
durante uma cena de sexo.
|
perfectglowing
|
bool
|
... verdade depois que a instância conseguiu um orgasmo sincronizado
perfeito durante uma cena de sexo.
|
orcname
|
string
|
O nome do personagem.
|
More to come later!
|