NOTICIAS



Calificación:
  • 45 voto(s) - 3.18 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[TUT] Cambiar daño de una arma
#1


Tutorial de como cambiarle el daño a una arma



La explicación está dentro del código....
Por cierto, el daño tiene que ser un decimal... osea "1.0, 2.0, 1.3, 1.4 etc.."

Código PHP:
#include <amxmodx>//Librería básica
#include <amxmisc>//Librería básica

#include <hamsandwich> //Librería que usaremos para cambiar el daño de un arma

#pragma semicolon 1 //Esto es para poner al final de una línea ";"

//                      Plugin      Version     Creador
new const PluginInfo[][] = { "[TUT] Dano de Arma""v1.0""totopizza" };

native is_valid_ent(iIndex); //Si es válida la entidad....


//Cuando inicia un mapa
public plugin_init() {
    //Registramos el plugin..
    //        Plugin        Version        Creador
    register_plugin(PluginInfo[0], PluginInfo[1], PluginInfo[2]);
    
    
/* Registramos el evento del daño.
    * Ham_TakeDamage => Detecta cuando se hace daño.
    * "player" => Detecta el daño a un player/jugador
    * "pTakeDamage" => Public que usaremos al hacerle daño a un player/jugador
    * 1 => True | 0 => False
    */
    RegisterHam(Ham_TakeDamage"player""pTakeDamage"1);
}

/*Llamamos a la funcion pTakeDamage
* victim => Victima que resive el daño
* inflictor => No se para que era xD
* attacker => El que hace el daño a la otra persona.
* Float:damage => Daño que resive la victima
* damagebits => No se explicar esto :s
*/
public pTakeDamage(victiminflictorattackerFloat:damagedamagebits)
{
    /* Aqui decimos lo siguiente:
    * Si el atacante no está conectado
    * Si la victima no está viva
    * Si la victima no es una entidad válida
    
    * Ignorará el daño que daremos, o sea, no continuará la función..
    */
    if(!is_user_connected(attacker)|| !is_user_alive(victim) || !is_valid_ent(victim))
        return HAM_IGNORED;//No continua la función...
    
    
/*
    * Si la victima es igual al attacker
    * Ejemplo: Cuando nos tiramos una granada...
    * No resivirá el daño que hará la granada...
    */
    ifvictim == attacker)
        return HAM_SUPERCEDE;//No resive daño de sí mismo..
    
    
    
/* Aquí decimos lo siguiente:
    * Si el arma que está usando para hacer el daño es igual al knife
    * Y si su equipo es CT
    * Multiplicamos el daño por 2.0, o sea si le hizo 65 de daño: 65*2.0 = 140.0 será el daño
    */
    if(get_user_weapon(attacker) == CSW_KNIFE && get_user_team(attacker) == 2)
        damage *= 2.0//Daño normal * 2.0
        
    
/*
    Si tiene el knife en la mano y su equipo son los Terroristas hará daño por por 2.5
    */
    else if(get_user_weapon(attacker) == CSW_KNIFE && get_user_team(attacker) == 1)
        damage *= 2.5;
    
    SetHamParamFloat
(4damage);//Aquí damos el daño que hará el knife
    
    return HAM_HANDLED
;//Retornamos con HAM_HANDLED;

Firma de Totopizza
WWW
Responder


Mensajes en este tema
[TUT] Cambiar daño de una arma - por Totopizza - 16/10/2015, 03:31 PM
RE: [TUT] Cambiar daño de una arma - por BetanSaim - 10/01/2017, 01:18 PM
RE: [TUT] Cambiar daño de una arma - por FreDDy_ - 10/01/2017, 02:51 PM
RE: [TUT] Cambiar daño de una arma - por BetanSaim - 10/01/2017, 03:21 PM
RE: [TUT] Cambiar daño de una arma - por FreDDy_ - 11/01/2017, 10:07 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)