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