SA-MP Forums Archive
[Off] їComo poner un tiempo para lanzar armas? - 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)
+---- Thread: [Off] їComo poner un tiempo para lanzar armas? (/showthread.php?tid=594943)



їComo poner un tiempo para lanzar armas? - Th3Cr4k3r - 26.11.2015

Ў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?


Respuesta: їComo poner un tiempo para lanzar armas? - Goncho28 - 26.11.2015

Con esta funciуn y esta funciуn lo vas a conseguir.


Respuesta: їComo poner un tiempo para lanzar armas? - OTACON - 26.11.2015

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;




Respuesta: їComo poner un tiempo para lanzar armas? - Th3Cr4k3r - 26.11.2015

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.");
        }
    } 



Re: їComo poner un tiempo para lanzar armas? - NullBot - 26.11.2015

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


Respuesta: Re: їComo poner un tiempo para lanzar armas? - Th3Cr4k3r - 26.11.2015

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?


Re: їComo poner un tiempo para lanzar armas? - N3cromancer - 26.11.2015

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



Respuesta: Re: їComo poner un tiempo para lanzar armas? - Th3Cr4k3r - 27.11.2015

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...


Respuesta: їComo poner un tiempo para lanzar armas? - OTACON - 27.11.2015

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;




Respuesta: їComo poner un tiempo para lanzar armas? - Th3Cr4k3r - 27.11.2015

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.