It is currently 19 Sep 2018 06:12






Reply to topic  [ 39 posts ]  Go to page 1, 2, 3, 4  Next
 [AMXX] Modificarea DMG-ul făcut de o arma. 
Author Message
Utilizator neserios
Utilizator neserios
User avatar

Joined: 22 Oct 2008 10:12
Posts: 4363
Location: Iasi
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Scripter eXtreamCS
Nume anterior: hadesownage
Utilizator neserios
Fond eXtream: 0
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:
Code:
#include <  hamsandwich  >         

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

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


Acum trecem la init ( plugin_init )

1. Adăugăm în init următoarea linie:
Code:
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:
Code:
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:

Code:
/* 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:

Code:
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage ) {

2. Acum trebuie să adăugăm următoarea verificaţie:
Code:
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:
Code:
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ă:
Code:
return HAM_HANDLED;

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


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

Code:
/* 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ă doriţi ca doar o singură armă să aibă dmg-ul modificat, atunci daţi click aici.

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 !

_________________
http://www.hadesownage.com

https://www.youtube.com/channel/UCRAWGR ... rotce8pI3w


16 Aug 2013 17:43
Profile multumesc YIM
Fost administrator
Fost administrator
User avatar

Joined: 07 Aug 2008 16:33
Posts: 9319
Location: Darabani
Detinator Steam: Da
Detinator server CS: CS.eXtream.Ro
Reputatie: Fost administrator
Fost Scripter
Detinator ZM.eXtream.Ro
Fost manager CS.eXtream.Ro
Fost manager CSGO.eXtream.Ro
Fost manager global
Fond eXtream: 0
Foarte bun tutorialul si bine explicat.

Cea ce vreau sa spun este ca este un tutorial AMXX si categoria mai potrivita pentru el ar fi asta nu ? ce spui ? Alegerea este a ta, dar va fi mult mai vizibil acolo! :)

_________________
De vanzare Zombie Sparkle++- O imbunatatita versiunde de ZP de la 0 de catre mine.
MetaMod Enhanced v1.0.0 - O versiune de metamod fara meta list si Updatata in ultimul SDK
Vrei un CS fara binduri, slowhack, si curat din SteamPipe? Counter-Strike UPDATE 9.March.2017
Info: NU IMI DATI PM PENTRU CERERI AJUTOR ETC (NU RASPUND) FOLOSITI FORUMUL.
Image
Image
Image
Image


16 Aug 2013 17:53
Profile multumesc YIM WWW
Utilizator neserios
Utilizator neserios
User avatar

Joined: 22 Oct 2008 10:12
Posts: 4363
Location: Iasi
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Scripter eXtreamCS
Nume anterior: hadesownage
Utilizator neserios
Fond eXtream: 0
CryWolf wrote:
Foarte bun tutorialul si bine explicat.

Cea ce vreau sa spun este ca este un tutorial AMXX si categoria mai potrivita pentru el ar fi asta nu ? ce spui ? Alegerea este a ta, dar va fi mult mai vizibil acolo! :)


Merge şi acolo, dar mulţi începători cu forumul postează şi cereri de plugine acolo şi acest tutorial o să se piardă prin cereri. Aici sunt doar tutoriale, eu spun că e ok aici. :)

_________________
http://www.hadesownage.com

https://www.youtube.com/channel/UCRAWGR ... rotce8pI3w


16 Aug 2013 17:56
Profile multumesc YIM
Utilizator neserios
Utilizator neserios
User avatar

Joined: 22 Oct 2008 10:12
Posts: 4363
Location: Iasi
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Scripter eXtreamCS
Nume anterior: hadesownage
Utilizator neserios
Fond eXtream: 0
Dacă doriţi să modificaţi dmg-ul doar a unei singure arme faceţi astfel:

* În public-ul nostru ( Player_TakeDamge ) avem o verificaţie, şi anume:
Code:
if ( iInflictor == iAttacker && IsPlayer iAttacker ) ) { 

În ea adăugăm următoarea funcţie:
Code:
&& get_user_weapon iAttacker ) == CSW_DEAGLE

Verificaţia noastră va arăta astfel:
Code:
if ( iInflictor == iAttacker && IsPlayer iAttacker ) && get_user_weapon iAttacker ) == CSW_DEAGLE ) { 

  • get_user_weapon ( index ) - verifică arma jucătorului.
  • CSW_DEAGLE - arma care trebuie să o aibă jucătorul ca să facă dmg mai mult.

_________________
http://www.hadesownage.com

https://www.youtube.com/channel/UCRAWGR ... rotce8pI3w


16 Aug 2013 18:02
Profile multumesc YIM
Membru eXtream
Membru eXtream
User avatar

Joined: 02 Apr 2012 16:58
Posts: 5189
Location: Bucuresti
Detinator Steam: Nu
CS Status: Retras din domeniul Counter-Strike
Reputatie: Fost moderator
Fond eXtream: 0
Foarte frumos acest tutorial ,e foarte bun pentru incepatorii chiar si pentru mine ca daca e ceva pot sa fac si eu un mic plugin dasta adica sa fac sa imi modific :)) .
OFF : Felicitari pentru grad ;)

_________________
Addons HNS level,gravity,xp DOWNLOAD ( e țeapă)


16 Aug 2013 21:45
Profile multumesc
Utilizator neserios
Utilizator neserios
User avatar

Joined: 22 Oct 2008 10:12
Posts: 4363
Location: Iasi
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Scripter eXtreamCS
Nume anterior: hadesownage
Utilizator neserios
Fond eXtream: 0
O sa mai fac maine cateva, acum sunt dupa telefon.

_________________
http://www.hadesownage.com

https://www.youtube.com/channel/UCRAWGR ... rotce8pI3w


16 Aug 2013 23:03
Profile multumesc YIM
Membru, skill 0
Membru, skill 0

Joined: 04 Mar 2013 16:41
Posts: 42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Ai putea sa-mi spun cum pun damage la o singura clasa?
Exemplu: Clasa Trainer - Damage 3.0...

_________________
----------

Level-XP-MOD Respawn - 50 % [Privat]

----------

S-Mod Zombie XP - 60 % [Privat]

----------

aim_rival - Finished

----------


17 Aug 2013 21:40
Profile multumesc WWW
Utilizator neserios
Utilizator neserios
User avatar

Joined: 22 Oct 2008 10:12
Posts: 4363
Location: Iasi
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Scripter eXtreamCS
Nume anterior: hadesownage
Utilizator neserios
Fond eXtream: 0
Creezi un bool ( boolean ) şi îl pui în verificaţia din Player_TakeDamage.
Exemplu:
Code:
new boolIsTrainer 33 ]

if ( 
iInflictor == iAttacker && IsPlayer iAttacker ) && IsTrainer iAttacker ] ) {
        
// damage
}

 

_________________
http://www.hadesownage.com

https://www.youtube.com/channel/UCRAWGR ... rotce8pI3w


17 Aug 2013 22:55
Profile multumesc YIM
Membru, skill 0
Membru, skill 0

Joined: 04 Mar 2013 16:41
Posts: 42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Bun am inteles cum pun la o clasa dar daca am mai multe?
Fac acelasi lucru?

P.S.: +1 Multumesc

_________________
----------

Level-XP-MOD Respawn - 50 % [Privat]

----------

S-Mod Zombie XP - 60 % [Privat]

----------

aim_rival - Finished

----------


18 Aug 2013 12:41
Profile multumesc WWW
Utilizator neserios
Utilizator neserios
User avatar

Joined: 22 Oct 2008 10:12
Posts: 4363
Location: Iasi
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Scripter eXtreamCS
Nume anterior: hadesownage
Utilizator neserios
Fond eXtream: 0
Da, şi spre exemplu dacă ai un meniu cu clase, în handler la meniu ( in case-uri ) pui
Code:
IsTrainer id ] = true

_________________
http://www.hadesownage.com

https://www.youtube.com/channel/UCRAWGR ... rotce8pI3w


19 Aug 2013 09:38
Profile multumesc YIM
Membru, skill 0
Membru, skill 0

Joined: 04 Mar 2013 16:41
Posts: 42
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Mersi mult de ajutor +1 Multumesc!

EDIT: Daca mai am nelamuriri te pot contacta?

_________________
----------

Level-XP-MOD Respawn - 50 % [Privat]

----------

S-Mod Zombie XP - 60 % [Privat]

----------

aim_rival - Finished

----------


19 Aug 2013 17:40
Profile multumesc WWW
Membru, skill +1
Membru, skill +1

Joined: 19 Jul 2013 15:51
Posts: 445
Detinator Steam: Nu
Reputatie: Restrictie PM
Fond eXtream: 0
thanks boss :D

_________________
http://www.ultracs.ro


21 Aug 2013 18:39
Profile multumesc
Display posts from previous:  Sort by  
Reply to topic   [ 39 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  

În cazul în care aveți probleme cu contul trimiteți un email sau mesaj la servicii_extream[arond]yahoo[punct]com

Powered by phpBB® Forum Software © phpBB Group