Crear un lнmite en un бrea
#7

Efectivamente, SetPlayerWorldBounds es igual de efectivo en el caso de los rectбngulos/cuadrados.

De todas formas, para simplificar lo anterior podrнamos hacer algo como esto:
PHP код:
public OnPlayerLeaveDynamicArea(playeridareaid
{
    if(
areaid == mi_area)
    {
        
SendClientMessage(playerid, -1"No puede abandonar esta zona.");
        
SetPlayerOnSquareMargin(playeridareaid);
    }
    return 
1;

PHP код:
SetPlayerOnRectangleMargin(playeridareaid)
{
    if(
Streamer_GetIntData(STREAMER_TYPE_AREAareaidE_STREAMER_TYPE) == STREAMER_AREA_TYPE_RECTANGLE)
    {
        new 
Float:p_coords[3];
        new 
Float:area_coords[4];
        
GetPlayerPos(playeridp_coords[0], p_coords[1], p_coords[2]);
        
area_coords[0] = Streamer_GetFloatData(STREAMER_TYPE_AREAareaidE_STREAMER_MIN_X); 
        
area_coords[1] = Streamer_GetFloatData(STREAMER_TYPE_AREAareaidE_STREAMER_MIN_Y); 
        
area_coords[2] = Streamer_GetFloatData(STREAMER_TYPE_AREAareaidE_STREAMER_MAX_X); 
        
area_coords[3] = Streamer_GetFloatData(STREAMER_TYPE_AREAareaidE_STREAMER_MAX_Y);
        if(
p_coords[0] > area_coords[2])
        { 
            
SetPlayerPos(playeridarea_coords[2], p_coords[1], p_coords[2]); 
        } 
        else if(
p_coords[0] < area_coords[0])
        { 
            
SetPlayerPos(playeridarea_coords[0], p_coords[1], p_coords[2]); 
        } 
        if(
p_coords[1] > area_coords[3])
        { 
            
SetPlayerPos(playeridp_coords[0], area_coords[3], p_coords[2]); 
        } 
        else if(
p_coords[1] < area_coords[1])
        { 
            
SetPlayerPos(playeridp_coords[0], area_coords[1], p_coords[2]); 
        } 
        
    }
    else
    {
        
printf("[ERROR] El бrea %d no es un rectбngulo.");
    }

Asн tambiйn podrнamos personalizar un poco mбs nuestros scripts, aсadiendo una condiciуn en OnPlayerLeaveDynamicArea por ejemplo. Con SetPlayerWorldBounds hay que estar cambiando los lнmites continuamente para permitirle al jugador desplazarse fuera de esos lнmites.
Reply


Messages In This Thread
Crear un lнmite en un бrea - by Ghost112397 - 06.01.2017, 02:02
Re: Crear un lнmite en un бrea - by SilverGaming - 06.01.2017, 02:05
Respuesta: Re: Crear un lнmite en un бrea - by Ghost112397 - 06.01.2017, 02:07
Re: Crear un lнmite en un бrea - by SilverGaming - 06.01.2017, 02:14
Respuesta: Crear un lнmite en un бrea - by RIDE2DAY - 06.01.2017, 02:26
Re: Crear un lнmite en un бrea - by lucesita - 06.01.2017, 02:38
Respuesta: Crear un lнmite en un бrea - by RIDE2DAY - 06.01.2017, 02:45

Forum Jump:


Users browsing this thread: 1 Guest(s)