Mucha gente esta cansada, del /abrirbase o el comando que sea, que le abra su reja. Es mas, los RP se actualizan muy rapidamente en sus scripts. Por ej; registro por message --> registro por dialog --> registro por PCU
Emm, el .ini --> MySQL
Los RP cambian mucho, y eso es algo mas rapido y mas adecuado. Es mas actual.
Espero que les sirva y lo agreguen en sus servidores. (yo lo tengo en el mio )
______________________________________________
Paso 1:
Agregamos un new, para describir la reja.
- Código:
new Porton1;
Paso 2:
Le asignaremos un valor a esa variable. Su valor, obviamente, va a ser la reja, osea, que Porton1, sea una reja. Entonces, para aclarar que una reja sea Porton1 en especial, hacemos lo siguiente en OnGameModeInit.
[code]
Porton1 = CreateObject(975,1420.90686035,-1887.32800293,14.31350136,0.00000000,0.00000000,0.00000000); // esta reja sera Porton1
/code]
Paso a explicar...
-Porton1 = Create...: Obvimanete significa que Porton1 va a ser CreateObjec... (osea, la reja) Ustedes, cambienle la posicion. (Osea, las cordenadas, estas: 1549.38159180,-1720.59143066,13.10604286 a las que quieran y tambien la ID de la reja) Esta que hice yo, esta ubicada en la entrada a la colina, generalmente la base de los LCN, es solo para probar su funcionamiento.
Paso 3:
Ahora, vamos a hacer la funcion, la parte importante, que al pasar cerca, se abra.
Lo pondremos en OnPlayerUpdate
[code]
if(PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6) // Ejemplo LCN
{
if(PlayerToPoint(10,playerid,1423.1915,-1880.2390,13.3828)) // Posicion
{
MoveObject(Porton1,1416.12731934,-1887.17944336,14.31350136,3.0); // La puerta se abrira
SetTimer("Cerrar",7000,0); // Se cierra en 7 segundos.
}
}
[/code]
Explico.
-if(PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6) Esta condición, especificara que solo se ejecutara esta funcion, si el Player, es MIEMBRO, o LIDER, de la faccion 6 (LCN generalmente). Obviamente en sus GM's pueden tener definidos diferentes las facciones y los lideres, pero en casi todos esta así.
-if(PlayerToPoint(10,playerid,1423.1915,-1880.2390,13.3828)) Esta condición, nos especificara, que dicha funcion, se ejecutara, (si ademas de ser lider o miembro de la faccion 6) si estamos en dicha cordenada. Osea, en la que se muestra ahi. El numero 10 de adelante, significa que a partir desde el punto de la cordenada descripta ahi, se extendera 10 mm (en el juego) a la redonda. Osea, que si estas a 10 metros a la redonda de dicha posicion, y si eres de la facc 6, se ejecutara la funcion. Espero explicarme bien.
-MoveObject(Porton1,1416.12731934,-1887.17944336,14.31350136,3.0); Esta funcion, hace que la reja se abra. Pueden apreciar que dice: MoveObject (Mover Objeto) y adelante de describe: Porton1, osea, se mueve el porton 1, a otras cordenadas (al porton abierto)
-SetTimer("Cerrar",7000,0); Esto indica, que se ejecuta un timer de 7 segundos regresivos. Osea, al pasar 7 segundos, se ejecutara otra funcion (que sera, que la reja vuelva a cerrarse)
Paso 4:
Ahora vamos a crear ese Timer.
Vamos a los forward, y agregamos:
[code]:
forward Cerrar();
[/code]
Paso 5:
El paso final.
Vamos a los PUBLIC, o abajo de TODO el GM, y agregamos:
[code]
public Cerrar()
{
MoveObject(Porton1,1420.90686035,-1887.32800293,14.31350136,3.0);
return 1;
}
[/code]
Explico nuevamente...
-public Cerrar(): Acá, aclaramos que el public con el que empezaremos una funcion, es Cerrar (el forward anteriormente hecho) y usado como Timer en la anterior funcion.
-MoveObject(Porton1,1420.90686035,-1887.32800293,14.31350136,3.0); Se mueve nuevamente el Porton1, a las cordenadas cerradas. Osea, que cuando pasen 7 segundos, se activa esta funcion... Cerrar. y la reja volvera a la cordenada cerrada.
Y e aqui al fin, una reja sin Comandos, mas practica, rapida y actualizada
Despidanse de los comandos jaja, y diganle hola a estas funciones mejores. (al menos para mi)
Obviamente, si pasa por ahi, alguien que no es miembro de la facc 6, no se abrira la reja, ya que una condicion, es ser miembro o lider de la facc 6.
Asique, espero que les sirva! Es muy simple y util
Los veo en otro de mis tutoriales, hasta luego! suerte en la practica!