It is currently 19 Sep 2018 06:31






Reply to topic  [ 8 posts ] 
 Event DeathMsg 
Author Message
Membru eXtream
Membru eXtream

Joined: 30 Aug 2012 22:16
Posts: 4133
Location: Bucuresti
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost Scripter,
Super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Fond eXtream: 0
Descriere: In acest tutorial v`om invata ce face DeathMsg si la ce se foloseste el.

1. Cum se foloseste:

I. Introducerea lui in plugin_init
Quote:
public plugin_init( )
{
register_event( "DeathMsg", "eDeathMsg", "a" );
}

In codul de mai sus, observam ca sunt 3 argumente.

Quote:
1. "DeathMsg"
2. "eDeathMsg" - Numele publicului unde se executa event`ul.
3. "a" - Flag`ul

La flag, avem:

Code:
"a" - global event.
"b" - specified.
"c" - send only once when repeated to other players.
"d" - call if is send to dead player.
"e" - to alive.

In cazul nostru, avem flag`ul a care vine de la event global.
II. Cum il folosim in pluginuri.
Un exemplu simplu, sa zicem ca vrem dupa ce moare un jucator, sa ii de`a kick. (mai simplu, victima.)
Code:
#include < amxmodx >

public plugin_init( )
{
   register_event( "DeathMsg", "eDeathMsg", "a" );
}
public eDeathMsg( )
{
   new v_Victim = read_data( 2 ); // Victima.
   server_cmd( "kick #%d", get_user_userid( v_Victim ) ); // Luam ID`ul jucatorului care tocmai a murit(victimei), si ii da`m kick.
}

Daca vreti sa aflati atacatorul, arma, si daca a fost headshot / sau nu victimei, aveti nevoie de:
Code:
new v_Victim = read_data( 2 ); // Victima.
new tAttacker = read_data( 1 ) // Atacatorul
new tAttackerName[ 32 ];
get_user_name( tAttacker, tAttackerName, 31 ); // Aflam numele atacatorului
new tGun[ 32 ];
read_data( 4, tGun, sizeof( tGun ) -1 ); // Arma cu care a fost ucisa victima
new h_Headshot = read_data( 3 ); // OnlyHeadshot

Exemplu de plugin:
Quote:
#include < amxmodx >

public plugin_init( )
{
register_event( "DeathMsg", "eDeathMsg", "a" );
}
public eDeathMsg( )
{
new v_Victim = read_data( 2 ); // Victima.
new tAttacker = read_data( 1 ) // Atacatorul
new tGun[ 32 ];
read_data( 4, tGun, sizeof( tGun ) -1 ); // Arma cu care a fost ucisa victima
new tAttackerName[ 32 ];
get_user_name( tAttacker, tAttackerName, 31 ); // Aflam numele atacatorului
new h_Headshot = read_data( 3 ); // OnlyHeadshot
client_print( v_Victim, print_chat, "Atacatorul: %s | Arma: %s | HitPlace: %s", tAttackerName, tGun, h_Headshot );

}

_________________
Retras


22 Jul 2013 23:12
Profile multumesc WWW
Fost moderator
Fost moderator

Joined: 06 Jul 2013 22:08
Posts: 11122
Detinator Steam: Da
Detinator server CS: Nu
Reputatie: Fost eXtream Mod
Fost Scripter eXtreamCS
Nume anterior: scosmynnnn
Fond eXtream: 0
Bine explicat bravo


27 Aug 2013 16:15
Profile multumesc
Fost moderator
Fost moderator
User avatar

Joined: 22 Dec 2012 19:37
Posts: 1576
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Fond eXtream: 0
Ai uitat de faptul ca acesta nu are parametrii :)

_________________
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.


03 Sep 2013 02:17
Profile multumesc YIM
Membru, skill 0
Membru, skill 0

Joined: 08 Jul 2013 16:30
Posts: 10
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Tot observ chestiile astea :
Code:
%s
#%d

Ce sunt ele si la ce se folosesc?
@Sunt foarte , foarte incepator :))


04 Sep 2013 22:42
Profile multumesc WWW
Membru eXtream
Membru eXtream

Joined: 30 Aug 2012 22:16
Posts: 4133
Location: Bucuresti
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost Scripter,
Super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Fond eXtream: 0
Samo wrote:
Tot observ chestiile astea :
Code:
%s
#%d

Ce sunt ele si la ce se folosesc?
@Sunt foarte , foarte incepator :))

%s - string.
%d - integer. (retine un numar intreg)
pluginuri-cs/integer-string-t207580.html

_________________
Retras


04 Sep 2013 22:46
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
Sincer e inutil acum putem folosi Ham_Killed e mult mai codat si aflam victima si atacatorul mult mai usor ..

Code:
public Hook_Ham_Killed(attacker,victim,shouldgib)
{

 // code !
}

_________________
http://www.ultracs.ro


17 Nov 2013 10:11
Profile multumesc
Fost administrator
Fost administrator
User avatar

Joined: 02 Apr 2009 19:18
Posts: 5788
Location: Bucharest
Detinator Steam: Da
Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS
Fond eXtream: 0
LordOfNothing wrote:
Sincer e inutil acum putem folosi Ham_Killed e mult mai codat si aflam victima si atacatorul mult mai usor ..

Code:
public Hook_Ham_Killed(attacker,victim,shouldgib)
{

 // code !
}
Sunt cazuri in care esti fortat sa folosesti DeathMsg, in loc de Ham_Killed.Pe langa asta, DeathMsg nu are nevoie de un modul in plus pentru a putea fi folosit.

_________________
Nu efectuez tranzactii pe mess, skype etc. Aveti grija la indivizii care se dau drept mine!
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!


Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch


17 Nov 2013 10:51
Profile multumesc WWW
Membru, skill +1
Membru, skill +1
User avatar

Joined: 07 Jan 2016 09:34
Posts: 317
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Ca adaugire, modul corect de a inregistra deathmsg este asa:
Code:
register_event( "DeathMsg" , "my_func", "be", "1!0", "4!world" );


Flag-urile 'be' - sa trimitem doar jucatorilor in viata ( scoateti 'e' daca aveti nevoie sa luati si id-ul victimei ).

4!world - verificam daca modelul armei nu e world - daca nu exista arma ( s-a sinucs, s-a aruncat de la distanta mare sau si-a schimbat echipa ) , atunci cand nu exista nici-o arma deathmsg returneaza string-ul 'world' verificam daca 4 nu e world, mai trebuie doar sa faceti un handle in functie ca sa verificati daca nu s-a sinucis singur cu o grenada.

_________________
AMXX Blue e acum doar pe github.


04 Jun 2017 18:47
Profile multumesc WWW
Display posts from previous:  Sort by  
Reply to topic   [ 8 posts ] 

Who is online

Users browsing this forum: No registered users and 9 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