[Aporte]Creación de puertas Faccion

Aprende lo que no sabes de este lenguaje y encuentra herramientas y códigos útiles.

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • Si tu aporte es para un GameMode en específico, debes publicar el tema en el apartado "Guías y Aportes para GameModes específicos".
Responder
EL CHUKY
Aprendiz
Aprendiz
Mensajes: 42
Registrado: 28 Oct 2018 03:55
Reputación: 2

12 Ene 2019 05:43

Buenas, aquí les traigo un aporte que es muy útil en el RolePlay

 Codigo Pawno:
1
2

#define blanco 0xFFFFFFAA
#define COLOR_PURPLE        0xC2A2DAAA
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
 Codigo Pawno:
1
2

new Puerta;
forward TiempoPuerta();
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
El stock que voy a crear es para dar un mensaje a cierto rango de distancia
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

stock SendRangedMessage(sourceid, color, message[], Float:range) {
    new Float:x, Float:y, Float: z;
    GetPlayerPos(sourceid, x, y, z);
    for (new ii = 0; ii < MAX_PLAYERS; ii++) {
            if(GetPlayerVirtualWorld(sourceid) == GetPlayerVirtualWorld(ii)) {
                if(IsPlayerInRangeOfPoint(ii, range, x, y, z)) {
                    SendClientMessage(ii, color, message);
                }
            }
        }
    }
  Cantidad de llaves: Abiertas(4)-Cerradas(4) | Lineas Totales: 11
 Codigo Pawno:
1
2
3
4
5

public OnGameModeInit()
{
 Puerta = CreateObject(ID Objecto, 000.00000, 0000.000, 0000.0000,   0.00000, 0.00000, 00.0000);
 return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
Ahora el comando
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

CMD:ap(playerid,params[])
{
 if(PlayerInfo[playerid][jFaccion] < 1) return SendClientMessage(playerid,blanco,"No perteneces a ninguna faccion"); //reemplazar por sus variables de faccion
 {
  if(PlayerInfo[playerid][jFaccion] == 1)
  {
   if(IsPlayerInRangeOfPoint(playerid, Rango, X, Y, Z)) //por lo general el rango es de 10.0
   {
    new string[900];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    MoveObject(Puerta, X, Y, Z, 3.0); //Coordenadas de la puerta abierta, la velocidad es recomendable 3.0
    format(string, sizeof(string), "%s saca su control y abre la reja", name);
    SendRangedMessage(playerid, COLOR_PURPLE, string, 30);
    SetTimer("TiempoPuerta", 6000, playerid); //después de 6 segundos, la puerta se cerrará
   }
   else SendClientMessage(playerid,blanco,"No estas cerca de la puerta");
  }
 }
 return 1;
}
  Cantidad de llaves: Abiertas(4)-Cerradas(4) | Lineas Totales: 21
Ahora creamos el public para cerrar la puerta
 Codigo Pawno:
1
2
3
4
5

public TiempoPuerta()
{
 MoveObject(Puerta, X, Y, Z, 3.0); //Colocamos las coordenadas originales de la puerta, es decir, de la puerta cerrada
 return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
PROGRAMAR ES UN ARTE, SIGUE TUS METAS

Imagen

Avatar de Usuario
dello
Ayudante
Ayudante
Mensajes: 225
Registrado: 09 Jun 2014 19:08
Reputación: 5

14 Ene 2019 09:44

Nada mal, aunque ya haya algunos aquí siempre suma, bien ahi!
Licenciatura en Cs de la computación

tostad0r - Toaster - Dello


Responder