#define TIEMPO (5)
new tiempo_espera[MAX_PLAYERS];
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
if(newkeys & KEY_FIRE){
if(GetPlayerWeapon(playerid) == WEAPON_GRENADE && GetPlayerCameraMode(playerid) == 4){
if(tiempo_espera[playerid] > gettime()) SendClientMessage(playerid, -1, "INFO: debes de esperar 5 segundos");
else tiempo_espera[playerid] = gettime() + TIEMPO, SendClientMessage(playerid, -1, "INFO: tiraste una granada");
}
}
return true;
}
PHP код:
|
if(newkeys & KEY_FIRE)
{
if(GetPlayerWeapon(playerid) == 16 && GetPlayerCameraMode(playerid) == 4)
{
if(tiempo_espera[playerid] > gettime()) SendClientMessage(playerid, -1, "Has lanzado una Granada, espera 5 minutos para volver a lanzarla.");
}
else
{
tiempo_espera[playerid] = gettime() + TIEMPO, SendClientMessage(playerid, -1, "Ya has tirado una granda, espera 5 minutos.");
}
}
ese codigo solo sirve para enviarte el msj, agrega un return antes del ultimo mensaje
|
#define TIEMPO (5) new tiempo_espera[MAX_PLAYERS]; public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ if(newkeys & KEY_FIRE){ if(GetPlayerWeapon(playerid) == WEAPON_GRENADE && GetPlayerCameraMode(playerid) == 4){ if(tiempo_espera[playerid] > gettime()) return SendClientMessage(playerid, -1, "INFO: debes de esperar 5 segundos"); else tiempo_espera[playerid] = gettime() + TIEMPO, SendClientMessage(playerid, -1, "INFO: tiraste una granada"); } } return true; }
Код:
#define TIEMPO (5) new tiempo_espera[MAX_PLAYERS]; public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ if(newkeys & KEY_FIRE){ if(GetPlayerWeapon(playerid) == WEAPON_GRENADE && GetPlayerCameraMode(playerid) == 4){ if(tiempo_espera[playerid] > gettime()) return SendClientMessage(playerid, -1, "INFO: debes de esperar 5 segundos"); else tiempo_espera[playerid] = gettime() + TIEMPO, SendClientMessage(playerid, -1, "INFO: tiraste una granada"); } } return true; } |
#include <a_samp> // es un include se sa-mp que contiene todas las funciones nativas. :D
#define TIEMPO (20) // cambia los segundos por lo que prefieras que se bloquee. (pero cincos segundos es muy poco)
new tiempo_espera[MAX_PLAYERS]; // creas la variable para almacenar los segundos bloqueados.
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ // es el callback donde es llamado cuando presionas una tecla del teclado.
if(newkeys & KEY_FIRE) // cuando disparas con el click derecho una del mouse. ( no recuerdo si se dispara con otra tecla, de lo contrario debes de colocar las teclas correspondiente)
{
if(GetPlayerWeapon(playerid) == WEAPON_GRENADE) // verifica si tienes un arma id que equivale a las granadas.
{
if(tiempo_espera[playerid] > gettime()) // verifica si el tiempo del bloqueo esta activo, si lo esta se ejecuta la siguiente funciуn.
{
// FUNCION :
SetPlayerArmedWeapon(playerid,0); // establece el id del armamento que el jugador estasosteniendo, en este caso al id cero que son los puсos(sin arma).
SendClientMessage(playerid, -1, "INFO: debes de esperar 5 segundos"); // mensaje que indica que esta bloqueado
}
else // verifica si el tiempo del bloqueo esta activo, si NO lo esta se ejecuta la siguiente funciуn.
{
// FUNCION :
tiempo_espera[playerid] = gettime() + TIEMPO; // establece el tiempo que se bloqueada.
SendClientMessage(playerid, -1, "INFO: tiraste una granada"); // mensaje que indica que se logro el objetivo.
}
}
}
return true;
}