Doriți să reacționați la acest mesaj? Creați un cont în câteva clickuri sau conectați-vă pentru a continua.



 
AcasaUltimele imaginiCăutareÎnregistrareConectare

Distribuiţi|

[AMXX] Modificarea DMG-ul facut de o arma

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
Cryptogen
[AMXX] Modificarea DMG-ul facut de o arma  Icon_user_offline
Cryptogen


Rank:
Detinator steam?: : Da
Berbec
Mesaje : 471
Data de inscriere : 25/01/2013
Varsta : 29
Localizare : Ploiesti
[AMXX] Modificarea DMG-ul facut de o arma  Empty
MesajSubiect: [AMXX] Modificarea DMG-ul facut de o arma [AMXX] Modificarea DMG-ul facut de o arma  EmptyVin Aug 23, 2013 11:50 pm

Descriere: După cum scrie şi în titlu, am să vă arăt cum modificaţi corect dmg-ul făcut de o armă/cuţit/grenadă. Folosind această metodă nu o să primiţi erori în logs iar plugin-ul va funcţiona corect.

Tutorial:

1. Pentru modificarea dmg-ul avem nevoie de modulul hamsandwich pe care trebuie să-l includem astfel:
Cod:
#include < hamsandwich >


2. Adăugăm un nou define şi anume:
Cod:
#define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers )


3. Acum trebuie să declarăm g_iMaxPlayers, adăugăm:
Cod:
new g_iMaxPlayers


Acum trecem la init (plugin_init).

1. Adăugăm în init următoarea linie:
Cod:
g_iMaxPlayers = get_maxplayers ( )


Această linie înseamnă că g_iMaxPlayers caută numărul maxim de jucători după server.
2. Tot în init adăugăm următoarea funcţie ham:
Cod:
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ă.


Gata cu init-ul, mai urmează public-ul, codul dvs. trebuie să arate aşa până acum:
Cod:
/* 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" );
}



Crearea public-ului:

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.

Începutul public-ului va arăta aşa:
Cod:
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage ) {


2. Acum trebuie să adăugăm următoarea verificaţie:
Cod:
if ( iInflictor == iAttacker && IsPlayer ( iAttacker ) ) {


Aceasta verifică iInflictor este una şi aceeaşi cu atacatorul şi dacă atacatorul este un jucător nu o entitate oarecare.

3. În această verificare trebuie să adăugăm modificarea damage-ului, adăugăm următoarea linie:
Cod:
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.

4. După linia de sus adăugăm un return ca funcţia să se oprească:
Cod:
return HAM_HANDLED;



5. După asta închidem verificaţia ( if-ul ) cu } si adăugăm:
Cod:
return HAM_IGNORED;


Asta a fost tot, codul dvs. trebuie să arate astfel:

Cod:
/* 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;

}
Sus In jos
https://league.ace.st
*AnDrEy^ [;x]
[AMXX] Modificarea DMG-ul facut de o arma  Icon_user_offline
*AnDrEy^ [;x]


Rank:
Detinator steam?: : da
Mesaje : 69
Data de inscriere : 15/08/2013
[AMXX] Modificarea DMG-ul facut de o arma  Empty
MesajSubiect: Re: [AMXX] Modificarea DMG-ul facut de o arma [AMXX] Modificarea DMG-ul facut de o arma  EmptyLun Aug 26, 2013 1:51 am

poate functioneaza pe sv publice ,dar pe sv de war nici-o sansa.
Sus In jos
Cryptogen
[AMXX] Modificarea DMG-ul facut de o arma  Icon_user_offline
Cryptogen


Rank:
Detinator steam?: : Da
Berbec
Mesaje : 471
Data de inscriere : 25/01/2013
Varsta : 29
Localizare : Ploiesti
[AMXX] Modificarea DMG-ul facut de o arma  Empty
MesajSubiect: Re: [AMXX] Modificarea DMG-ul facut de o arma [AMXX] Modificarea DMG-ul facut de o arma  EmptyMar Aug 27, 2013 9:05 am

Dar pe server de war nu are rost sa il bagi
Sus In jos
https://league.ace.st
Continut sponsorizat
[AMXX] Modificarea DMG-ul facut de o arma  Icon_user_offline


Rank:
[AMXX] Modificarea DMG-ul facut de o arma  Empty
MesajSubiect: Re: [AMXX] Modificarea DMG-ul facut de o arma [AMXX] Modificarea DMG-ul facut de o arma  Empty

Sus In jos

[AMXX] Modificarea DMG-ul facut de o arma

Vezi subiectul anterior Vezi subiectul urmator Sus
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
 :: LGD | Games :: Counter Strike :: Tutoriale Cs-