[Ayuda] Duda con MoveObject
#1

Buenas,

Ando trabajando en un objecto que va de un lugar al otro, dicho objeto pasa por varios puntos especнficos, por medio de la activaciуn vнa comando. Quisiera saber como puedo hacer que dicho objeto pase por todos y cada uno de dichos puntos sin tener que hacerlo manualmente por comandos, y que dicho objeto vaya del punto 1, 2, culminando en el 3, y una vez allн pasado unos 10 segundos vaya en el orden opuesto. Asн teniendo un ciclo constante.

Код:
new obje1;

public OnFilterScriptInit()

{

obje1 = CreateObject(5837,-2249.50610,-1753.93384,488.00452,0.00,0.00,-69.89996);

}

public OnPlayerCommandText(playerid, cmdtext[])
{
   if (strcmp("/basla", cmdtext, true, 10) == 0)
   {
      MoveObject(obje1, -2249.50610,-1753.93384,488.00452, 10, 0.00,0.00,-69.89996);

      return 1;
         }
   if (strcmp("/basla2", cmdtext, true, 10) == 0)
   {
      MoveObject(obje1, -2247.07446,-1761.16809,488.00452, 10, 0.00,0.00,-69.89996);

      return 1;
   }

   if (strcmp("/basla3", cmdtext, true, 10) == 0)
   {
      MoveObject(obje1, -2191.17480,-1994.04797,254.54471, 10, 0.00,0.00,-69.89996);


   return 1;
   }
Muchas gracias.
Reply
#2

una muestra que puede utilizar



PHP код:
// TOP
new MoveTime[MAX_PLAYERS];



public 
OnPlayerCommandText(playeridcmdtext[])
{
   if (
strcmp("/move"cmdtexttrue10) == 0)
    {
        
MoveTime[playerid] = SetTimer("MovePosition1"10000false);
    }
    return 
1;
}



forward MovePosition1(playerid);
public 
MovePosition1(playerid) {
    
MoveObject(obje1, -2249.50610,-1753.93384,488.00452100.00,0.00,-69.89996);
    
MoveTime[playerid] = SetTimer("MovePosition2"10000false);
    return 
1;
}

forward MovePosition2(playerid);
public 
MovePosition2(playerid) {
    
KillTimer(MoveTime[playerid]);
    
MoveObject(obje1, -2247.07446,-1761.16809,488.00452100.00,0.00,-69.89996);
    
MoveTime[playerid] = SetTimer("MovePosition3"10000false);
    return 
1;
}

forward MovePosition3(playerid);
public 
MovePosition3(playerid) {
    
KillTimer(MoveTime);
    
MoveObject(obje1, -2191.17480,-1994.04797,254.54471100.00,0.00,-69.89996);
    return 
1;

Reply
#3

Podrнas usar esto, y no te complicas ni con timers ni variables extra:
PHP код:
new obje1;
public 
OnFilterScriptInit()
{
    
obje1 CreateObject(5837,-2249.50610,-1753.93384,488.00452,0.00,0.00,-69.89996);
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
   if (
strcmp("/basla"cmdtexttrue10) == 0)
   {
      
MoveObject(obje1, -2249.50610,-1753.93384,488.00452100.00,0.00,-69.89996);
      return 
1;
   }
}
public 
OnObjectMoved(objectid)
{
    if(
objectid == (obje1 0xFFFF))
    {
        new 
index obje1>>16;
        switch(
index)
        {
            case 
0MoveObject(obje1 0xFFFF, -2247.07446,-1761.16809,488.00452100.00,0.00,-69.89996);
            case 
1MoveObject(obje1 0xFFFF, -2191.17480,-1994.04797,254.54471100.00,0.00,-69.89996);
//          case 2: ...
        
}
        
obje1 += 0x10000;
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)