Algumas funções para facilitar a criação de scripts, com essas funções você poderá criar atores, aplicar animações, mudar skin, criar objetos e criar carros.
Para usar essas funções cole isso no fim do seu script (depois do end_thread):
Related Articles
//criar_actor(SKIN, X, Y, Z, INT) return handle
:Criar_actor
0247: load_model 0@
if
0248: model 0@ available
then
009A: 20@ = create_actor_pedtype 4 model 0@ at 1@ 2@ 3@
0860: link_actor 20@ to_interior 4@
0249: release_model 0@
wait 100
else
wait 0
jump @Criar_actor
end
0AB2: ret 1 20@
//anim_actor(actor, loop) return 0
:Anim_actor
if
88F9: v$ficheiro != "ped"
then
04ED: load_animation v$ficheiro
end
if and
04EE: animation v$ficheiro loaded
056D: actor 0@ defined
then
0812: AS_actor 0@ perform_animation v$anims IFP_file v$ficheiro 4.0 loopA 1@ lockX 0 lockY 0 lockF 0 time -1 // versionB
04EF: release_animation v$ficheiro
wait 100
else
wait 0
jump @Anim_actor
end
0AB2: ret 1 0
//muda_skin(SKIN, ACTOR) return 0
:Muda_skin
0247: load_model 0@
if
0248: model 0@ available
then
09C7: change_player 1@ model_to 0@
0249: release_model 0@
wait 100
else
wait 0
jump @Muda_skin
end
0AB2: ret 1 0
//criar_objeto(modelo, X, Y, Z, int) return handle
:Criar_objeto
0247: load_model 0@
if
0248: model 0@ available
then
0107: 20@ = create_object 0@ at 1@ 2@ 3@
0566: link_object 20@ to_interior 4@
wait 100
else
wait 0
jump @Criar_objeto
end
0AB2: ret 1 20@
//criar_carro(modelo, x, y, z, angulo) return handle
:Criar_carro
0247: load_model 0@
if
0248: model 0@ available
then
00A5: 20@ = create_car 0@ at 1@ 2@ 3@
0175: set_car 20@ Z_angle_to 4@
020A: set_car 20@ door_status_to 1
0249: release_model 0@
else
wait 0
jump @Criar_carro
end
0AB2: ret 1 20@
Para criar atores use:
0AB1: call_scm_func @Criar_actor 5 #SKIN #X #Y #Z #INT #HANDLE
Onde:
#SKIN é o numero da skin do actor.
#X #Y #Z é a posição onde o actor será criado.
#INT é o interior onde o actor será criado.
#HANDLE é a variável que irá referenciar o actor criado.
Ex:
0AB1: call_scm_func @Criar_actor 5 14 1204.326 17.709 998.925 3 2@
Para animar atores use:
0AB1: call_scm_func @Anim_actor 2 #ACTOR #LOOP #RETORNO
Onde:
#ACTOR é a variável que referencia o actor.
#LOOP é 0 para sem repetição e 1 para repetição.
#RETORNO é uma variável qualquer, porque nada é retornado, mas é necessário retornar algo então a função sempre retorna 0.
Você também precisa setar as variaveis globais v$ficheiro e v$anims.
Com o ficheiro e a animação respectivamente.
Ex:
06D1: v$ficheiro = "LAPDAN3"
06D1: v$anims = "LAPDAN_D"
0AB1: call_scm_func @Anim_actor 2 2@ 0 0@
Para mudar a skin use:
0AB1: call_scm_func @Muda_skin 2 #SKIN #ACTOR #RETORNO
Onde:
#SKIN é o numero da skin do actor.
#ACTOR é a variável que referencia o actor.
Ex:
0AB1: call_scm_func @Muda_skin 2 14 $PLAYER_CHAR 0@
Para criar objetos use:
0AB1: call_scm_func @Criar_objeto 5 #MODELO #X #Y #Z #INT #HANDLE
Onde:
#MODELO é o modelo do objeto.
#X #Y #Z é a posição onde o objeto será criado.
#INT é o interior onde o objeto será criado.
#HANDLE é a variável que irá referenciar o objeto criado.
Ex:
0AB1: call_scm_func @Criar_objeto 5 345.616 302.0092 999.9382 0 5@
Para criar carros use:
0AB1: call_scm_func @Criar_carro 5 #MODELO #X #Y #Z #ANGULO #HANDLE
Onde:
#MODELO é o modelo do carro.
#X #Y #Z é a posição onde o carro será criado.
#ANGULO é o angulo do carro.
#HANDLE é a variável que irá referenciar o carro criado.
Ex:
0AB1: call_scm_func @Criar_carro 5 345.616 302.0092 999.9382 0.0 10@