Criando Actor / NPC parado com TextLabel - RosaScripter -  07/10/2020
 
 
Tutorial Actor & TextLabel  
 
Sobre 
 
Muitos não tem a mínima noção como se usar um actor e como ele é mais fácil que um Pickup c/ Textlabel 
Eu mesmo não tinha noção de como usar e de como seria fácil minhas criações de GM usando  Actor 
Assim  sigo trazendo esse Tutorial bem básico. 
 
• Poderá usar em Lojas e qualquer outro  interior 
[u]• Poderá fazer sistemas usando Actor por exemplo: Assaltos, Vendas entre outros usando Actor 
[/u]• Podera usar para simular pessoas dentro de interiores 
[u]• Entre outras coisas... 
[/u] 
Imagens 
Imagem Actor 
 
Instalação
include: 
Código: /*  SA:MP Actor Functions 
 * 
 *  (c) Copyright 2005-2006, SA:MP Team 
 * 
 */ 
  
#if defined _actors_included 
    #endinput 
#endif 
#define _actors_included 
#pragma library actors 
  
// Actor 
native CreateActor(modelid, Float:X, Float:Y, Float:Z, Float:Rotation); 
native DestroyActor(actorid); 
native SpawnActor(actorid); 
native ActorMoveTo(actorid, movetype, Float:X, Float:Y, Float:Z ); 
native ActorEnterVehicle(actorid, vehicleid, passenger); 
native ActorExitVehicle(actorid,vehicleid); 
native ActorDriveVehicleTo(actorid, vehicleid, Float:X, Float:Y, Float:Z, Float:Speed, drivetype, Float:MinAltitude=0.0, Float:MaxAltitude=0.0); 
  
// Actor info 
native SetActorPos(actorid, Float:x, Float:y, Float:z); 
native SetActorPosFindZ(actorid, Float:x, Float:y, Float:z); 
native GetActorPos(actorid, &Float:x, &Float:y, &Float:z); 
native SetActorFacingAngle(actorid,Float:ang); 
native GetActorFacingAngle(actorid,&Float:ang); 
native SetActorInterior(actorid,interiorid); 
native GetActorInterior(actorid); 
native SetActorHealth(actorid, Float:health); 
native GetActorHealth(actorid, &Float:health); 
native SetActorArmour(actorid, Float:armour); 
native GetActorArmour(actorid, &Float:armour); 
native SetActorInvulnerable(actorid, invulnerable = true); 
native IsActorInvulnerable(actorid); 
native SetActorTeam(actorid, teamid); 
native GetActorTeam(actorid); 
native SetActorColor(actorid,color); 
native GetActorColor(actorid); 
native SetActorSkin(actorid, skinid); 
native GetActorSkin(actorid); 
native SetActorWeapon(actorid, weaponid); 
native ResetActorWeapon(actorid); 
native SetActorName(actorid, const name[]); 
native GetActorState(actorid); 
native GetActorWeapon(actorid); 
native GetActorKeys(actorid, &keys, &updown, &leftright); 
native GetActorName(actorid, const name[], len); 
  
// Actor controls 
native PutActorInVehicle(actorid, vehicleid, seatid); 
native GetActorVehicleID(actorid); 
native GetActorVehicleSeat(actorid); 
native RemoveActorFromVehicle(actorid); 
native ApplyActorAnimation(actorid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time); 
native ClearActorAnimations(actorid); 
  
// Actor conditionals 
native IsActorConnected(actorid); 
native IsActorInVehicle(actorid, vehicleid); 
native IsActorInAnyVehicle(actorid); 
  
// Virtual Worlds 
native SetActorVirtualWorld(actorid, worldid); 
native GetActorVirtualWorld(actorid);
  
Crie um  arquivo .inc escrito a_actor.inc e coloque na pasta includes 
 
Criando um Actor 
 
 
1. Criando variaveis 
Obs: Criaremos uma variavel global com a quantidade de Actor que iremos criar
 Código: #include < a_actor > 
 
//No topo de sua Gamemode 
new Actors[2+1];  
    Text3D:LabelActors[2+1];
 
2. Criando o Primeiro Actor Parado
 Código:     Actors[0] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[0] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[0], Actors[0], 0.0, 0.0, 0.7);
 3. Criando  Actor c/ Anim
 Código: Actors[1] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[1] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[1], Actors[1], 0.0, 0.0, 0.7); 
ApplyActorAnimation(Actors[1],"BOMBER", "BOM_Plant", 4.1, 1, 0, 1, 0, 1);
 4. Criando Actor c/ Arma
 Código:     Actors[2] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[2] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[2], Actors[2], 0.0, 0.0, 0.7); 
    SetActorWeapon(Actors[2], 32);
 5. Criando Actor que morre
 Código: Actors[3] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[3] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[3], Actors[3], 0.0, 0.0, 0.7); 
    SetActorInvulnerable(Actors[3], false);
  
Pronto agora aprendeu como podemos usar os Actor em nosso servidor, Você também pode fazer sistemas usando Actor 
Fica muito bom e divertido o servidor!
 Agora é só felicidades criando e editando sua gamemode 
______________________________________________________ 
+REP  ![[Imagem: heart.png]](https://portalsamp.com/images/smilies/heart.png)  
O sucesso é a soma de pequenos esforços, repetidos dias após dias.
 
 
 
RE: Criando Actor / NPC parado com TextLabel - LeleziiN -  06/12/2020
 
 
Como faço para adiciona-lo em um Interior?
 
 
 
RE: Criando Actor / NPC parado com TextLabel - xbruno1000x -  08/12/2020
 
 
 (06/12/2020 17:14)LeleziiN Escreveu:  Como faço para adiciona-lo em um Interior?  
Actors são como objetos, não há necessidade de coloca-los em um interior, basta por a coordenada.
 
 
 
RE: Criando Actor / NPC parado com TextLabel - LeleziiN -  08/12/2020
 
 
Ok mais ja fiz isso tbm e não funcionou pelomenos para mim 
vc poderia fazer um exemplo disso para mim pfvr 
 
![[Imagem: Pub.jpg]](http://weedarr.wdfiles.com/local--files/interior/Pub.jpg)  
 
Ointerior que estou tentando por o Actor
 
 
 
RE: Criando Actor / NPC parado com TextLabel - xbruno1000x -  08/12/2020
 
 
Use o create actor da streamer então. 
Código: new nomedonpc = CreateDynamicActor(214, 497.2294,-77.6133,998.7651,0.9498, true, 100.0, -1, 11); //Bar
  
 
 
 
RE: Criando Actor / NPC parado com TextLabel - LeleziiN -  13/12/2020
 
 
Bom eu tentei aqui e não funcionou. 
 
Código: new BrucedGx = CreateDynamicActor(214, 500.0966,-77.9900,998.7578,3.1568, false, 100.0, -1, 11); //Bar
  
O que poderá ser ??
 
 
 
RE: Criando Actor / NPC parado com TextLabel - Mateus -  25/06/2022
 
 
Bom actor necessita sim de um código pra por eles em um interior
 
 
 
RE: Criando Actor / NPC parado com TextLabel - Seck -  26/06/2022
 
 
 (07/10/2020 06:03)RosaScripter Escreveu:  Tutorial Actor & TextLabel  
 
Sobre 
 
Muitos não tem a mínima noção como se usar um actor e como ele é mais fácil que um Pickup c/ Textlabel 
Eu mesmo não tinha noção de como usar e de como seria fácil minhas criações de GM usando  Actor 
Assim  sigo trazendo esse Tutorial bem básico. 
 
• Poderá usar em Lojas e qualquer outro  interior 
[u]• Poderá fazer sistemas usando Actor por exemplo: Assaltos, Vendas entre outros usando Actor 
[/u]• Podera usar para simular pessoas dentro de interiores 
[u]• Entre outras coisas... 
[/u] 
Imagens 
Imagem Actor 
 
Instalação
include: 
Código: /*  SA:MP Actor Functions 
 * 
 *  (c) Copyright 2005-2006, SA:MP Team 
 * 
 */ 
  
#if defined _actors_included 
    #endinput 
#endif 
#define _actors_included 
#pragma library actors 
  
// Actor 
native CreateActor(modelid, Float:X, Float:Y, Float:Z, Float:Rotation); 
native DestroyActor(actorid); 
native SpawnActor(actorid); 
native ActorMoveTo(actorid, movetype, Float:X, Float:Y, Float:Z ); 
native ActorEnterVehicle(actorid, vehicleid, passenger); 
native ActorExitVehicle(actorid,vehicleid); 
native ActorDriveVehicleTo(actorid, vehicleid, Float:X, Float:Y, Float:Z, Float:Speed, drivetype, Float:MinAltitude=0.0, Float:MaxAltitude=0.0); 
  
// Actor info 
native SetActorPos(actorid, Float:x, Float:y, Float:z); 
native SetActorPosFindZ(actorid, Float:x, Float:y, Float:z); 
native GetActorPos(actorid, &Float:x, &Float:y, &Float:z); 
native SetActorFacingAngle(actorid,Float:ang); 
native GetActorFacingAngle(actorid,&Float:ang); 
native SetActorInterior(actorid,interiorid); 
native GetActorInterior(actorid); 
native SetActorHealth(actorid, Float:health); 
native GetActorHealth(actorid, &Float:health); 
native SetActorArmour(actorid, Float:armour); 
native GetActorArmour(actorid, &Float:armour); 
native SetActorInvulnerable(actorid, invulnerable = true); 
native IsActorInvulnerable(actorid); 
native SetActorTeam(actorid, teamid); 
native GetActorTeam(actorid); 
native SetActorColor(actorid,color); 
native GetActorColor(actorid); 
native SetActorSkin(actorid, skinid); 
native GetActorSkin(actorid); 
native SetActorWeapon(actorid, weaponid); 
native ResetActorWeapon(actorid); 
native SetActorName(actorid, const name[]); 
native GetActorState(actorid); 
native GetActorWeapon(actorid); 
native GetActorKeys(actorid, &keys, &updown, &leftright); 
native GetActorName(actorid, const name[], len); 
  
// Actor controls 
native PutActorInVehicle(actorid, vehicleid, seatid); 
native GetActorVehicleID(actorid); 
native GetActorVehicleSeat(actorid); 
native RemoveActorFromVehicle(actorid); 
native ApplyActorAnimation(actorid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time); 
native ClearActorAnimations(actorid); 
  
// Actor conditionals 
native IsActorConnected(actorid); 
native IsActorInVehicle(actorid, vehicleid); 
native IsActorInAnyVehicle(actorid); 
  
// Virtual Worlds 
native SetActorVirtualWorld(actorid, worldid); 
native GetActorVirtualWorld(actorid);
  
Crie um  arquivo .inc escrito a_actor.inc e coloque na pasta includes 
 
Criando um Actor 
 
 
1. Criando variaveis 
Obs: Criaremos uma variavel global com a quantidade de Actor que iremos criar
 Código: #include < a_actor > 
 
//No topo de sua Gamemode 
new Actors[2+1];  
    Text3D:LabelActors[2+1];
 
2. Criando o Primeiro Actor Parado
 Código:     Actors[0] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[0] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[0], Actors[0], 0.0, 0.0, 0.7);
 3. Criando  Actor c/ Anim
 Código: Actors[1] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[1] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[1], Actors[1], 0.0, 0.0, 0.7); 
ApplyActorAnimation(Actors[1],"BOMBER", "BOM_Plant", 4.1, 1, 0, 1, 0, 1);
 4. Criando Actor c/ Arma
 Código:     Actors[2] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[2] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[2], Actors[2], 0.0, 0.0, 0.7); 
    SetActorWeapon(Actors[2], 32);
 5. Criando Actor que morre
 Código: Actors[3] = CreateActor(skin, x, y, z, Angle);  
    LabelActors[3] = Create3DTextLabel("{FFFFFF}Ola, Use {FF00FF}/ajuda {FFFFFF}para \n{FF00FF}consultar os comandos", 0x008080FF, x, y, z, 15.0, 0); 
    Attach3DTextLabelToPlayer(LabelActors[3], Actors[3], 0.0, 0.0, 0.7); 
    SetActorInvulnerable(Actors[3], false);
  
Pronto agora aprendeu como podemos usar os Actor em nosso servidor, Você também pode fazer sistemas usando Actor 
Fica muito bom e divertido o servidor!
 Agora é só felicidades criando e editando sua gamemode 
______________________________________________________ 
+REP  ![[Imagem: heart.png]](https://portalsamp.com/images/smilies/heart.png)  
O sucesso é a soma de pequenos esforços, repetidos dias após dias. Tentei criar com uma arma na mão, consegui até compilar o GM certinho, mas quando vou iniciar o server ele fica como Unknown... Não achei nenhum outro tutorial na internet, será que não é possível colocar a arma na mão?
 
 
 
RE: Criando Actor / NPC parado com TextLabel - xbruno1000x -  26/06/2022
 
 
 (26/06/2022 17:39)Seck Escreveu:  Tentei criar com uma arma na mão, consegui até compilar o GM certinho, mas quando vou iniciar o server ele fica como Unknown... Não achei nenhum outro tutorial na internet, será que não é possível colocar a arma na mão?  
Não existe nenhuma função nativa para colocar uma arma na mão. Acho que também não é possível dar attach object num actor. Você teria que criar o objeto na posição da mão do actor. 
 
Pelo que notei, algumas das funções nativas colocadas no tópico não existem. Recomendo a todos que verifiquem na documentação se a função existe antes de utilizá-la. 
 
link: 
https://open.mp/pt-br/docs
 
 
 
 |