[Off] їComo poner un tiempo para lanzar armas?
#1

ЎSaludos!

Querнa saber si existe alguna manera de poner por ejemplo que yo lance una granada, y para volver a lanzar la granada deba esperar 5 minutos y que asн suceda cada ves que lance la granada, deba esperar el tiempo asignado.


їMe podrнan hacer el cуdigo si no es mucha molesta y decirme donde va?
Reply
#2

Con esta funciуn y esta funciуn lo vas a conseguir.
Reply
#3

PHP код:
#define TIEMPO (5)
new tiempo_espera[MAX_PLAYERS];
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys){
    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() + TIEMPOSendClientMessage(playerid, -1"INFO: tiraste una granada");
        }
    }
    return 
true;

Reply
#4

Quote:
Originally Posted by OTACON
Посмотреть сообщение
PHP код:
#define TIEMPO (5)
new tiempo_espera[MAX_PLAYERS];
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys){
    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() + TIEMPOSendClientMessage(playerid, -1"INFO: tiraste una granada");
        }
    }
    return 
true;

Amigo, no funciona, intentй tirar una granada y no pasa nada las puedo tirar muchas veces, asн puse el cуdigo.

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() + TIEMPOSendClientMessage(playerid, -1"Ya has tirado una granda, espera 5 minutos.");
        }
    } 
Reply
#5

ese codigo solo sirve para enviarte el msj, agrega un return antes del ultimo mensaje
Reply
#6

Quote:
Originally Posted by NullBot
Посмотреть сообщение
ese codigo solo sirve para enviarte el msj, agrega un return antes del ultimo mensaje
їPodrнas ayudarme tu amigo bueno?

Tambiйn querнa saber, por que cuando me saco la granada es que me sale el mensaje si quiero disparar, y cuando la tengo puesta no sale nada y la puedo lanzar?
Reply
#7

Код:
#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; 
}
Reply
#8

Quote:
Originally Posted by N3cromancer
Посмотреть сообщение
Код:
#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; 
}
Sigue igual amigo, no bloquea el lanzado de la granada...
Reply
#9

PHP код:
#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(playeridnewkeysoldkeys){ // 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;

Reply
#10

Mi pregunta es, porque cuando le doy para lanzar la granada, no me la deja lanzar, automбticamente se quita y nisiquiera se ve cuando la lanza ni estalla.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)