SA-MP Forums Archive
[Tutorial] [Tutorial] No Permitir Armas En Interiores e Vehiculos. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+----- Forum: Lanzamientos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=59)
+----- Thread: [Tutorial] [Tutorial] No Permitir Armas En Interiores e Vehiculos. (/showthread.php?tid=335149)



No Permitir Armas En Interiores e Vehiculos. - OTACON - 17.04.2012

No Permitir Armas En Interiores e Vehiculos.
(Tutorial Hecho Para Los Usuarios Nuevos.)
---> INTERIORES

EXPLICACION:[*]GetPlayerInterior = Chekea Si el Jugador Se encuentra en un Interior. [*]GetPlayerWeapon = Chequea Si el Jugador Tiene Un Arma Encima.[*]SetPlayerArmedWeapon = Al Intentar Cambiar e Seleccionar el Arma le Da al Jugador el ID del Arma correspondiente, Que en Este Caso Son el '0' Que Son Los Puсos.[*]]Return En '0' = No Sincroniza Hasta Que Cambie Su Arma.

Код:
public OnPlayerUpdate(playerid)
{
	if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) 
	{
	    SetPlayerArmedWeapon(playerid,0); 
	    return 0;
	}
	return 1;
}
---> VEHICULOS

EXPLICACION:[*]IsPlayerInAnyVehicle = Chekea Si el Jugador Se encuentra en un Vehiculo. [*]GetPlayerWeapon = Chequea Si el Jugador Tiene Un Arma Encima.[*]SetPlayerArmedWeapon = Al Intentar Cambiar e Seleccionar el Arma le Da al Jugador el ID del Arma correspondiente, Que en Este Caso Son el '0' Que Son Los Puсos.[*]]Return En '0' = No Sincroniza Hasta Que Cambie Su Arma.

Код:
public OnPlayerUpdate(playerid)
{
	if(IsPlayerInAnyVehicle(playerid) && GetPlayerWeapon(playerid) != 0)
	{
	    SetPlayerArmedWeapon(playerid,0); 
	    return 0;
	}
	return 1;
}
NOTA: Si en SetPlayerArmedWeapon Ponen otro Id de arma, lo que haga es que solo puedan usar esa arma en los interiores o vehiculos.

FUENTE: WIKI


Respuesta: [Tutorial] No Permitir Armas En Interiores e Vehiculos. - TheChaoz - 18.04.2012

pawn Код:
public OnPlayerUpdate(playerid)
{
    if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0)
    {
        SetPlayerArmedWeapon(playerid,0);
        return 0;
    }
    return 1;
}
Este metodo puede ser evadido con el si se dispara el arma muy rapidamente luego de cambiarla (muy facil para gente que tiene algo de experiencia en el DM)


Respuesta: [Tutorial] No Permitir Armas En Interiores e Vehiculos. - Shiny_David - 12.09.2012

Esto te dara un terrible lag... Por que no usar OnPlayerInteriorChange con algunas variables y OnPlayerStateChange? Creo que seria mejor y menos lag saludos


Respuesta: [Tutorial] No Permitir Armas En Interiores e Vehiculos. - Parka - 12.09.2012

Quote:
Originally Posted by Shiny_David
Посмотреть сообщение
Esto te dara un terrible lag... Por que no usar OnPlayerInteriorChange con algunas variables y OnPlayerStateChange? Creo que seria mejor y menos lag saludos
el tiene razon Mas Puedes Agregarle Que Se Reset Las Armas Seria Mejor ( Creo )

PD: No es una critica es una opiniуn


Re: Respuesta: [Tutorial] No Permitir Armas En Interiores e Vehiculos. - [DOG]irinel1996 - 12.09.2012

Quote:
Originally Posted by Shiny_David
Посмотреть сообщение
Esto te dara un terrible lag... Por que no usar OnPlayerInteriorChange con algunas variables y OnPlayerStateChange? Creo que seria mejor y menos lag saludos
Lagg por quй? Es una simple condiciуn, si se cumple se ejecuta rбpidamente. No escribe ni lee nada de ningъn sitio como para producir ralentizaciones.
_____________
Aunque encontrй un fallo en algo:
pawn Код:
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerWeapon(playerid) != 0)
    {
        SetPlayerArmedWeapon(playerid,0);
        return 0; //Esto.
    }
    return 1;
}
El return 0; no envнa la actualizaciуn, serнa como un tipo de desincronizaciуn. Lo borran, y arreglado.

Por cierto, bytytus, no deberнas poner tan grande el texto. Parece todo desestructurado.

Saludos!


Respuesta: [Tutorial] No Permitir Armas En Interiores e Vehiculos. - Shiny_David - 13.09.2012

Por que revisara la condicion para cada player y creo que aproximadamente lo hara como 10 veces por segundo


Respuesta: [Tutorial] No Permitir Armas En Interiores e Vehiculos. - CaptainMactavish - 13.09.2012

Quote:
Originally Posted by Shiny_David
Посмотреть сообщение
Por que revisara la condicion para cada player y creo que aproximadamente lo hara como 10 veces por segundo
OnPlayerUpdate se llama aproximadamente 40 veces por segundo y por jugador, suponiendo que se tiene un servidor con 50 jugadores entonces OnPlayerUpdate se llamarб: 40*50 = 2000 veces por segundo. Por lo tanto el cуdigo en cuanto a rendimiento es pйsimo. La mejor opciуn serнa guardar en variables las armas del jugador y sacarle las armas con ResetPlayerWeapons cuando entra al vehнculo o interior(OnPlayerInteriorChange y OnPlayerStateChange), y cuando sale del interior o sale del vehнculo darselas nuevamente.


Re: No Permitir Armas En Interiores e Vehiculos. - cristoperxtr - 02.10.2015

Quote:
Originally Posted by OTACON
Посмотреть сообщение
No Permitir Armas En Interiores e Vehiculos.
(Tutorial Hecho Para Los Usuarios Nuevos.)
---> INTERIORES

EXPLICACION:[*]GetPlayerInterior = Chekea Si el Jugador Se encuentra en un Interior. [*]GetPlayerWeapon = Chequea Si el Jugador Tiene Un Arma Encima.[*]SetPlayerArmedWeapon = Al Intentar Cambiar e Seleccionar el Arma le Da al Jugador el ID del Arma correspondiente, Que en Este Caso Son el '0' Que Son Los Puсos.[*]]Return En '0' = No Sincroniza Hasta Que Cambie Su Arma.

Код:
public OnPlayerUpdate(playerid)
{
	if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) 
	{
	    SetPlayerArmedWeapon(playerid,0); 
	    return 0;
	}
	return 1;
}
---> VEHICULOS

EXPLICACION:[*]IsPlayerInAnyVehicle = Chekea Si el Jugador Se encuentra en un Vehiculo. [*]GetPlayerWeapon = Chequea Si el Jugador Tiene Un Arma Encima.[*]SetPlayerArmedWeapon = Al Intentar Cambiar e Seleccionar el Arma le Da al Jugador el ID del Arma correspondiente, Que en Este Caso Son el '0' Que Son Los Puсos.[*]]Return En '0' = No Sincroniza Hasta Que Cambie Su Arma.

Код:
public OnPlayerUpdate(playerid)
{
	if(IsPlayerInAnyVehicle(playerid) && GetPlayerWeapon(playerid) != 0)
	{
	    SetPlayerArmedWeapon(playerid,0); 
	    return 0;
	}
	return 1;
}
NOTA: Si en SetPlayerArmedWeapon Ponen otro Id de arma, lo que haga es que solo puedan usar esa arma en los interiores o vehiculos.

FUENTE: WIKI
y si quieres que disparen con todas las armas como seria para que pueda disparar con la m4 con la edc con todas las armas como seria Grasias por la Respuesta