Duda Con Script ...
#1

Hola !

Pues e estado intentando crear un Pequeсo Sistema de aviso a los Pilotos cuando un Usuario Llega al Aeropuerto ... EN Este caso , intente crearlo en el Aeropuerto De LS ...
PHP код:
new AEROLS;
(
En OnGamemodeInit...)
AEROLS CreateDynamicRectangle(2121.9907,1368.9226, -2609.9729,-2467.6528, -1, -1, -1);
(Public...)
public 
OnPlayerEnterDynamicArea(playeridareaid)
{
    new 
vehicleid GetPlayerVehicleID(playerid);
    if(
vehicleid == 519)
    {
        if(
areaid == AEROLS)
        {
            new 
string[64], pName[MAX_PLAYER_NAME];
            
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
            
format(string,sizeof string,"%s a Salido De la Zona Aerea de Los Santos!",pName);
            
SendClientMessage(playerid,0xFFFFFAA,string);
        }
    }
    return 
1;
}
public 
OnPlayerLeaveDynamicArea(playeridareaid)
{
    new 
vehicleid GetPlayerVehicleID(playerid);
    switch( 
GetVehicleModel(vehicleid) )
    {
        case 
519520553577592593511 ,476 ,512 ,513:
        {
            if(
areaid == AEROLS)
            {
                   new 
string[64], pName[MAX_PLAYER_NAME];
                
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
                
format(string,sizeof string,"%s a Entrado a la Zona Aerea de Los Santos.",pName);
                
SendClientMessageToAll(0xFFFFFFAA,string);
            }
        }
    }
    return 
1;

El Problema es ... En SendClientMessageToAll , (Como en el mensaje, A Entrado a la zona...) Se Enviaba hacia todos los usuarios conectados , y no a los que estaban en el Area o en el Vehiculo ...

En Que estoy Mal ? D:
Reply
#2

Claro, es que tienes que contar las personas que estбn dentro del бrea y luego haces con un bucle para mostrar a los que estйn dentro del бrea, el mensaje. Creo que es asн.
Reply
#3

Cambia el SendClientMessageToAll(0xFFFFFFAA,string); por SendClientMessage(playerid,0xFFFFFAA,string);, total, esto se muestra para las personas que entran a ese rango, entonces cada persona que entre en ese rango, le va a aparecer ese mensaje. Creo que eso es lo que vos queres hacer. Si queres hacer que solamente los pilotos vean el "a Entrado a la Zona Aerea de Los Santos" y el "a Salido", vas a tener que crear una funcion mas o menos asi

Код:
Team_Camioneros(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    new esleader = Info[playerid][pLider];//detecta si es el lider
	    new esmember = Info[playerid][pMiembro];//detecta si la persona es miembro de una faccion (Esto ponelo como este en tu gm
	    if(esmember	==	5) //Esto detecta si la variable pMiembro es igual a 5, si es 5 entonces es camionero y retorna en 1
		{
		    return 1;
		}
		else if(esleader	==	5)//Esto detecta si la variable plider es igual a 5, si es 5 entonces es camionero y retorna en 1
		{
		    return 1;
		}
	}
	return 0; //si nada de esto se cumple, retorna en 0, entonces el mensaje solamente va a ser mostrado a los que sean camioneros en mi caso
}
En general, esto lo que hace es detectar si la persona tiene en su cuenta la variable de plider y pmiembro, y si esta variable esta en "5" manda el mensaje, es camionero...
vos para que esto funcione en tu comando, tendrias que poner un if

if(Team_Camioneros(playerid)
{
//Toda la funcion
}

Espero que te sirva, cualquier cosa avisame
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)