Tutorial:
1. Pentru modificarea dmg-ul avem nevoie de modulul hamsandwich pe care trebuie să-l includem astfel:
Code: Select all
#include < hamsandwich >
Code: Select all
#define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers )
Code: Select all
new g_iMaxPlayers
1. Adăugăm în init următoarea linie:
Code: Select all
g_iMaxPlayers = get_maxplayers ( )
2. Tot în init adăugăm următoarea funcţie ham:
Code: Select all
RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" )
- Ham_TakeDamage = funcţia care o cere modulul ham
- player = entitatea asupra căruia se exercită funcţia
- Player_TakeDamage = numele public-ului care acţionează
Code: Select all
/* Plugin generated by AMXX-Studio */
#include < amxmodx >
#include < hamsandwich >
#define PLUGIN "Modificare Damage"
#define VERSION "0.1"
#define AUTHOR "hadesownage"
#define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers )
new g_iMaxPlayers;
public plugin_init ( ) {
register_plugin ( PLUGIN, VERSION, AUTHOR );
g_iMaxPlayers = get_maxplayers ( )
RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
}
1. Creeam public-ul cu 4 param-uri şi acelea fiind:
- iVictim - index-ul victimei
- iInflictor - cel care atacă
- iAttacker - index-ul atacatorului
- Float:fDamage - damage-ul făcut
Code: Select all
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage ) {
Code: Select all
if ( iInflictor == iAttacker && IsPlayer ( iAttacker ) ) {
3. În această verificare trebuie să adăugăm modificarea damage-ului, adăugăm următoarea linie:
Code: Select all
SetHamParamFloat ( 4, fDamage * 2.0 );
- 2.0 - cu cât se multiplică dmg-ul făcut de jucător.
- 2.0 - dublu.
- 3.0 - triplu.
- 4.0, 4.2, 4.5, 5.0 - şi tot aşa
Code: Select all
return HAM_HANDLED;
Code: Select all
return HAM_IGNORED;
Code: Select all
/* Plugin generated by AMXX-Studio */
#include < amxmodx >
#include < hamsandwich >
#define PLUGIN "Modificare Damage"
#define VERSION "0.1"
#define AUTHOR "hadesownage"
#define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers )
new g_iMaxPlayers;
public plugin_init ( ) {
register_plugin ( PLUGIN, VERSION, AUTHOR );
g_iMaxPlayers = get_maxplayers ( )
RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage ) {
if ( iInflictor == iAttacker && IsPlayer ( iAttacker ) ) {
SetHamParamFloat ( 4, fDamage * 2.0 );
return HAM_HANDLED;
}
return HAM_IGNORED;
}
Dacă întâlniti probleme puteţi să lăsaţi reply în topic şi o să vă răspund cât pot de repede.
Exprimăţi recunoştinţa dacă ţi-a fost de folos acest tutorial !