[Ajuda] Criar objeto com comando!
#1

Pessoal, quero saber como й que faz para eu criar um objeto com comando .
Vou dar exemplo de uma barreira : Eu digito o comando /barreira , aн aparece alguns metros da minha frente uma barreira, depois de cerca de 15 segundos ela some automaticamente .

Obrigado
Reply
#2

Use CreateObject + SetTimer no Comando.
Reply
#3

Mas e a distancia do objeto ?
Reply
#4

Код:
CMD:barreira(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CreateObject(981, x, y, z, 0.0, 0.0, 0.0, 50.0);
return 1;
}
Usei esse comando, mas o objeto й feito em cima de mim, quero que ele fique alguns passos em minha frente .
Reply
#5

Fiz aqui pelo forum mesmo me corrijam se eu estiver errado;
pawn Код:
CMD:criarobj( playerid, params[] ) {
     if( strlen( params ) >= 7 ) return 1;

     new objectid, Float:x, Float:y, Float:z;

     GetPlayerPos(playerid, x, y, z);

     objectid = CreateObject( strval( params ), x, y, z, 0.0, 0.0, 0.0 300.0 );
     EditObject( playerid, objectid );
     return true;
}
Estude sobre EditObject
Eseu tbm a callback OnPlayerEditObject
Reply
#6

Utilize esta stock (Peguei da wiki, nгo tem crйditos lб)

pawn Код:
stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
{
    new Float:a;
    GetPlayerPos(playerid, x, y, a);
    GetPlayerFacingAngle(playerid, a);
    if (GetPlayerVehicleID(playerid))
    {
        GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    }
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
}
Entгo para usa-la e assim: (Exemplo com SetPlayerPos)

pawn Код:
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid,x,y,5.0);
SetPlayerPos(playerid, x, y, z);
Reply
#7

cara, como eu nгo entendo muito do que vcs falam.
Serб que jб poderiam arrumar o comando para mim? fazendo favor ..
Код:
CMD:barreira(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CreateObject(981, x, y, z, 0.0, 0.0, 0.0, 50.0);
return 1;
}
Reply
#8

UP !!
Reply
#9

Testa Aew Manin

pawn Код:
if(strcmp(cmd,"/barreira", true) == 0)
   {
   new Barreira, Float: x, Float: y, Float: z;
   if(IsPlayerInAnyVehicle(playerid)) // Nгo pode criar uma Barreira dentro do veiculo
   {
   SendClientMessage(playerid, 0xFF0000AA, "Vocк nгo pode Criar uma barreira num veнculo!");
   return 1;
   }
   GetPlayerPos(playerid,x,y,z);
   SetTimerEx("Barreira",15000,false,"fff",x,y,z,0,50.0);
   Barreira = CreateObject(981,x,y,z-0.8,0,0,0); // 981 й a Barreira caso queira mudar O Objeto, o substitu-a
   SetTimerEx("DestruirBarreira",15000,false,"d",Barreira); // Tempo para Destruir no caso 15Seg
   return 1;
   }

   forward DestruirBarreira(VV);
   public DestruirBarreira(VV) DestroyObject(VV);

   CMD:barreira(playerid)
   {
   new Barreira, Float: x, Float: y, Float: z;
   if(IsPlayerInAnyVehicle(playerid)) // Nгo pode criar uma Barreira dentro do veiculo
   {
   SendClientMessage(playerid, 0xFF0000AA, "Vocк nгo pode Criar uma barreira num veнculo!");
   return 1;
   }
   GetPlayerPos(playerid,x,y,z);
   SetTimerEx("Barreira",15000,false,"fff",x,y,z,0,50.0);
   Barreira = CreateObject(981,x,y,z-0.8,0,0,0); // 981 й a Barreira caso queira mudar O Objeto, o substitu-a
   SetTimerEx("DestruirBarreira",15000,false,"d",Barreira); // Tempo para Destruir no caso 15Seg
   return 1;
   }

   forward DestruirBarreira(VV);
   public DestruirBarreira(VV) DestroyObject(VV);
Em Caso de Dъvidas manda Msg por Privado ^_^
Reply
#10

Amigo, muito obrigado, mas tipo. Ela nгo й feita em minha frente, ela estб sendo feita sempre do lado direto ...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)