[AYUDA]Puerta.
#1

Hola lei en un post de como crear una puerta.Hice todo como decia ahi! pero cuando pongo /abrir o /cerrar dice UNKDOW COMAND les dejo el pawno code:

Код:
// Puerta tdr
// por: Sebbaz Bdar
//#define FILTERSCRIPT

#include <a_samp>

#if defined FILTERSCRIPT

#define COLOR_AMARILLO 0xFFFF00AA
#define COLOR_DORADO 0x966400FF
#define COLOR_AZUL 0x0000FFFF
#define LIGHTBLUE2   0xF6BB0AA

new Puerta;

public OnFilterScriptInit()
{
  SetTimer("PuertaCheck", 1000, 1);
}
  Puerta =  CreateObject(980, 2157.8427734375, 1123.7421875, 14.421829223633, 0, 0, 242.97912597656);
{
	print("\n--------------------------------------");
	print(" Blank Filterscript by your name here");
	print("--------------------------------------\n");
	return 1;
}

forward PuertaCheck();
public PuertaCheck()
{
  for(new i=0; i<MAX_PLAYERS; i++){  //Creamos una variable i con cada valor de los jugadores,(seria un reemplazo de playerid)
    if(IsPlayerConnected(i)){ //si nuestro jugador (i) esta conectado entonces...
      if(IsPlayerInRangeOfPoint(i, 15.0, 2157.8427734375, 1123.7421875)){  //si el jugador i esta dentro del rango de 15 a la puerta entonces...
        MoveObject(980, 2157.8427734375, 1123.7421865, 3.0); //abre la puerta
        //Reemplazar las coordenadas por las de la puerta abierta
      }
      else{  //si no esta en un rango de 15 a la puerta...
        MoveObject(980,  2157.8427734375, 1123.7421875, 3.0);  //cierra la puerta
        //Reemplazar las coordenadas por las de la puerta cerrada
      }
    }

  }
}

public OnPlayerCommandText(playerid, cmdtext[])
{
  if (strcmp("/abrir", cmdtext, true) == 0) //para abrir la puerta
  {

    if(IsPlayerInRangeOfPoint(playerid, 15.0, 2157.8427734375, 1123.7421875)){  //si el jugador no esta en un radio de 15.0 a la puerta no lo dejara usar el comando. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (CERRADA))
      MoveObject(Puerta, 2157.8427734375, 1123.7421870, 3.0);  //mueve nuestra puerta hasta las coordenadas de la puerta abierta. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (ABIERTA))
      return SendClientMessage(playerid, COLOR_AZUL, "Server: Has abierto la puerta");
    }else return SendClientMessage(playerid, COLOR_DORADO, "ERROR: Debes estar cerca de la puerta para usar este comando");
  }

  if (strcmp("/cerrar", cmdtext, true) == 0) //cerrar
  {

    if(IsPlayerInRangeOfPoint(playerid, 15.0, 2157.8427734375, 1123.7421875)){  //si el jugador no esta en un radio de 15.0 a la puerta no lo dejara usar el comando. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (CERRADA))
      MoveObject(980, 2157.8427734375, 1123.7421875, 3.0);  //mueve nuestra puerta hasta las coordenadas de la puerta abierta. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (CERRADA))
      return SendClientMessage(playerid, LIGHTBLUE2, "Server: Has cerrado la puerta");
    }else return SendClientMessage(playerid, LIGHTBLUE2, "ERROR: Debes estar cerca de la puerta para usar este comando");
  }
  return 0;
}
CreateObject(980, 2157.8427734375, 1123.7421875, 14.421829223633, 0, 0, 242.97912597656);
IsPlayerInRangeOfPoint(playerid, 3.0, 2157.8427734375, 1123.7421875);
MoveObject(980, 2157.8427734375, 1123.7421865 , 5.0);
SendClientMessage(playerid, LIGHTBLUE2, "SERVER:Sistema de puerta..");
SetTimer("Conteo", tiempo, 0/1) // para que no se repita 0, para que se repita 1.
//Nota: el tiempo va en milisegundos (1 segundo = 1000 milisegundos).
IsPlayerConnected(playerid); //retorna el valor 1 si el jugador esta conectado y 0 si no lo esta.

#endif
GRACIAS DE ANTE MANO
Reply
#2

debajo de :
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
agrega
pawn Код:
print("funciona");
usa un cmd y decime si en la consola aparece ese texto si no aparece entones no funciona el callback.
Reply
#3

Lo hice D: pero nada :_
Reply
#4

cargaste ese fs?

nota:

xq esto asi:
pawn Код:
}
  Puerta =  CreateObject(980, 2157.8427734375, 1123.7421875, 14.421829223633, 0, 0, 242.97912597656);
{
Reply
#5

No entiendo la necesidad de tantas llaves..

pawn Код:
public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
        Puerta =  CreateObject(980, 2157.8427734375, 1123.7421875, 14.421829223633, 0, 0, 242.97912597656);
        SetTimer("PuertaCheck", 1000, 1);
    return 1;
}
Reply
#6

En vez del timer, podrнas checkearlo en OnPlayerUpdate.
Reply
#7

Quote:
Originally Posted by SuperMarioRol
Посмотреть сообщение
En vez del timer, podrнas checkearlo en OnPlayerUpdate.
no es bueno recargar OnPlayerUpdate
Reply
#8

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
cargaste ese fs?

nota:

xq esto asi:
pawn Код:
}
  Puerta =  CreateObject(980, 2157.8427734375, 1123.7421875, 14.421829223633, 0, 0, 242.97912597656);
{
Obio no soy tan boludo para no cargarlo :I
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)