xq no anda?
#1

bueno hice un "ascensor" automatico
este es el codigo del timer
pawn Код:
public AscensorT()
{
  new Float:X, Float:Y, Float:Z;
  GetObjectPos(Ascensor, X, Y, Z);
  if(X == 1992.966553 && Y == 1546.860718 && Z == 12.095270){
    SetObjectRot(Ascensor, 0.0000, 0.0000, 163.5160);
    MoveObject(Ascensor, 1960.533569, 1433.781616, 71.116272, 6.0);
  }
  if(X == 1960.533569 && Y == 1433.7816168 && Z == 71.116272){
    SetObjectRot(Ascensor, 0.0000, 0.0000, 253.5161);
    MoveObject(Ascensor, 1992.966553, 1546.860718, 12.095270, 6.0);
  }
}
el pawno compila todo perfecto
pero cuando me fijo en el sv el objeto se queda quieto ni se mueve :S
alguna idea de por que?
Reply
#2

postea cuando se utiliza el timer
Reply
#3

cuando se inicia el GM(en OnGameModeInit ) y esta forwreado(con forward)
Reply
#4

No se si tenga razуn, pero lo que estas haciendo es que cada cierto tiempo se checkee si el acensor esta en cierto punto. Ahora, mi pregunta es, que pasa si no estб en ese punto o se pasу?
Reply
#5

Primero, tenes que tener el timer andando y activado.
Y si esta activado, puede que al ascensor no estй en la posicion justa para verificar que se mueva. Talvez la rotacion que pusiste le afecta..
Reply
#6

Quote:
Originally Posted by SAWC™
No se si tenga razуn, pero lo que estas haciendo es que cada cierto tiempo se checkee si el acensor esta en cierto punto. Ahora, mi pregunta es, que pasa si no estб en ese punto o se pasу?
exactamente nada
es asi el timer chequea que si el acensor esta "abajo" lo suba y si esta "arriba" lo baja. si esta en el medio no pasa nada porque esta subiendo o bajando.
Quote:
Originally Posted by agusfn20
Primero, tenes que tener el timer andando y activado.
Y si esta activado, puede que al ascensor no estй en la posicion justa para verificar que se mueva. Talvez la rotacion que pusiste le afecta..
el timer obviamente esta activado xq lo puse que se inicie cuando arranca el GM. y las posiciones son correctas porque son identicas a las del objeto (el acensor)
nadie sabe que puedo hacer
Reply
#7

Por que no haces esto:

pawn Код:
new bool:Arriba
pawn Код:
public OnGameModeInit()
{
  SetTimer("Mover", tiempo, true); // cambia el tiempo por el tiempo que va a tomar el acensor en subir y quedarse un rato...
  return 1;
}
pawn Код:
forward Mover();
public Mover()
{
  if(Arriba == false)
  {
    // subir ascensor
    Arriba = true;
  }
  else
  {
    // bajar ascensor
    Arriba = false;
  }
  return 1;
}
Reply
#8

Quote:
Originally Posted by SAWC™
Por que no haces esto:

pawn Код:
new bool:Arriba
pawn Код:
public OnGameModeInit()
{
  SetTimer("Mover", tiempo, true); // cambia el tiempo por el tiempo que va a tomar el acensor en subir y quedarse un rato...
  return 1;
}
pawn Код:
forward Mover();
public Mover()
{
  if(Arriba == false)
  {
    // subir ascensor
    Arriba = true;
  }
  else
  {
    // bajar ascensor
    Arriba = false;
  }
  return 1;
}
pero para quedarse a tomar el tiempo que va a tardar es una extrema paja xD
Reply
#9

No es el tiempo que va a tomar en bajar o subir, sino en bajar, quedarse un rato y subir, quedarse un rato y bajar. No es nada dificil... de todas formas si no lo haces asн no habrнa tiempo para que la persona entre, simplemente subirнa y bajarнa sin parar en ningun momento.
Reply
#10

lo que vos decis SAWC si no me equivoco funciona(ya que no lo probe) pero igual sigo con mi duda de porque no se mueve el objeto :S
xq de hecho hice un comando con el mismo codigo del timer y funciono perfecto pero el timer no anda y prefiero que se mueva automaticamente a con un comando :S
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)