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
#2

Y para cambiar el daño de una arma desde los archivos del juego? , es decir sin ningun mod.
Responder
#3

(10/01/2017, 01:18 PM)BetanSaim escribió:  Y para cambiar el daño de una arma desde los archivos del juego? , es decir sin ningun mod.

No se puede, a menos que sepas editar el sdk del cs 1.6.
Firma de FreDDy_
Tienes dudas / problemas mapping? 
http://www.mundomapping.net/forum.php
Responder
#4

(10/01/2017, 02:51 PM)FreDDy_ escribió:  
(10/01/2017, 01:18 PM)BetanSaim escribió:  Y para cambiar el daño de una arma desde los archivos del juego? , es decir sin ningun mod.

No se puede, a menos que sepas editar el sdk del cs 1.6.

Ok, gracias Sonrisa igual intentare averiguar un poco mas sobre esto, debe existir un archivo que permita editar tales parametros de eso estoy casi seguro. 
Si se puede hacer en los Mods de Zombie, porque no en el propio juego?
Responder
#5

(10/01/2017, 03:21 PM)BetanSaim escribió:  
(10/01/2017, 02:51 PM)FreDDy_ escribió:  
(10/01/2017, 01:18 PM)BetanSaim escribió:  Y para cambiar el daño de una arma desde los archivos del juego? , es decir sin ningun mod.

No se puede, a menos que sepas editar el sdk del cs 1.6.

Ok, gracias Sonrisa igual intentare averiguar un poco mas sobre esto, debe existir un archivo que permita editar tales parametros de eso estoy casi seguro. 
Si se puede hacer en los Mods de Zombie, porque no en el propio juego?

Nunca dije que no se pueda editar, solo dije que no hay un tipo de ".cfg" para cambiar el daño así de fácil. Lo vuelvo a repetir, necesitas editar el sdk del cs1.6 para editar cualquier cosa dentro del cs sin plugins. El propio cs es una modificación del hl sdk, por lo tanto es un mod del hl.
Firma de FreDDy_
Tienes dudas / problemas mapping? 
http://www.mundomapping.net/forum.php
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)