Detectarea echipei unui jucator [CSTRIKE-FM-AMXX]

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
KronoS eXtream
Fost administrator
Fost administrator
Posts: 4378
Joined: 02 Apr 2009, 19:18
Detinator Steam: Da
Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS
Location: Bucharest
Has thanked: 551 times
Been thanked: 820 times
Contact:

12 Dec 2010, 20:12

Salut!Puteti detecta in 3 moduri echipa unui jucator:
1. Folosind modulul CSTRIKE

Utilizare:

Code: Select all

cs_get_user_team(id)
Echipe:

Code: Select all

Echipa         -         Cifra corespunzatoare
CS_TEAM_UNASSIGNED         -         0
CS_TEAM_T         -         1
CS_TEAM_CT         -         2
CS_TEAM_SPECTATOR         -         3
Exemplu:

Code: Select all

if(cs_get_user_team(id) == CS_TEAM_T)
{
intructiuni
//Daca jucatorul este terorist , atunci se executa instructiunile
}

Code: Select all

if(cs_get_user_team(id) == 1)
{
intructiuni
//Daca jucatorul este terorist , atunci se executa instructiunile
}
2. Folosind modulul FAKEMETA

Cod necesar:

Code: Select all

const OFFSET_CSTEAMS = 114
const OFFSET_LINUX = 5

enum
{
	FM_CS_TEAM_UNASSIGNED = 0,
	FM_CS_TEAM_T = 1,
	FM_CS_TEAM_CT = 1,
	FM_CS_TEAM_SPECTATOR = 3
}

stock fm_cs_get_user_team(id)
{
	return get_pdata_int(id, OFFSET_CSTEAMS, OFFSET_LINUX);
}
Echipe:

Code: Select all

Echipa         -         Cifra corespunzatoare
FM_CS_TEAM_UNASSIGNED         -         0
FM_CS_TEAM_T         -         1
FM_CS_TEAM_CT         -         2
FM_CS_TEAM_SPECTATOR         -         3
Utilizare:

Code: Select all

fm_cs_get_user_team(id)
Exemplu:

Code: Select all

if(fm_cs_get_user_team(id) == FM_CS_TEAM_T)
{
intructiuni
//Daca jucatorul este terorist , atunci se executa instructiunile
}

Code: Select all

if(fm_cs_get_user_team(id) == 1)
{
intructiuni
//Daca jucatorul este terorist , atunci se executa instructiunile
}
3. Folosind AMXX

Echipe:

Code: Select all

Echipa         -         Cifra corespunzatoare
UNASSIGNED         -         0
TERRORIST         -         1
CT         -         2
SPECTATOR        -         3
Utilizare:

Code: Select all

get_user_team(id)
Exemplu:

Code: Select all

if(get_user_team(id) == TERRORIST)
{
intructiuni
//Daca jucatorul este terorist , atunci se executa instructiunile
}

Code: Select all

if(get_user_team(id) == 1)
{
intructiuni
//Daca jucatorul este terorist , atunci se executa instructiunile
}
Autor: KronoS
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
RoyalServer
M3taph0riK
Membru eXtream
Membru eXtream
Posts: 2127
Joined: 16 Jan 2013, 12:55
Detinator Steam: Da
CS Status: Utilizator Serios
SteamID: Utilizator Serios
Reputatie: Restrictie moderator
Nume anterior: RzV24
Utilizator neserios (tepar)
Has thanked: 60 times
Been thanked: 250 times

20 Sep 2013, 16:22

Cum poti detecta un anume jucator ? De exemplu cel care a facut cel mai bun scor sau cel mai mare damage ?
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

20 Sep 2013, 16:25

M3taph0riK wrote:Cum poti detecta un anume jucator ? De exemplu cel care a facut cel mai bun scor sau cel mai mare damage ?

Code: Select all

new iPlayers[ 32 ], iNum;
get_players( iPlayers, iNum, "ac" );

for( new i = 0; i < iNum; i++ )
{
	if( get_user_frags( iPlayers[ i ] ) > get_user_frags( iPlayers[ i + 1 ] ) )
	{
		new iMax = iPlayers[ i ];
		
		client_print( iMax, print_chat, "Felicitari, ai cele mai multe ..." );
	}
}
Retras
M3taph0riK
Membru eXtream
Membru eXtream
Posts: 2127
Joined: 16 Jan 2013, 12:55
Detinator Steam: Da
CS Status: Utilizator Serios
SteamID: Utilizator Serios
Reputatie: Restrictie moderator
Nume anterior: RzV24
Utilizator neserios (tepar)
Has thanked: 60 times
Been thanked: 250 times

20 Sep 2013, 17:03

Anunta la fiecare sfarsit de runda sau i-a fragurile totale ?

2. Pentru damage ?
User avatar
KronoS eXtream
Fost administrator
Fost administrator
Posts: 4378
Joined: 02 Apr 2009, 19:18
Detinator Steam: Da
Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS
Location: Bucharest
Has thanked: 551 times
Been thanked: 820 times
Contact:

20 Sep 2013, 17:10

M3taph0riK wrote:Anunta la fiecare sfarsit de runda sau i-a fragurile totale ?

2. Pentru damage ?
Nu e bun codul care ti l-a dat.Eu unul n-am timp sa-l scriu acum, dau doar explicatia.

Creezi doua variabile auxiliare, prima are rolul de contorizare iar a doua retine index-ul jucatorului.Parcurgi jucatorii si setezi valoarea primei variabile sa fie egala cu scorul primului jucator, iar a doua variabila sa retina id-ul acestuia.Pe urma, compari scorul fiecarui jucator cu valoarea contorului si modifici valoarea in cazul in care scorul intalnit este mai mare.In acest caz, modifici si valoarea variabilei a doua ca sa retina index-ul noului jucator.Dupa asta, folosesti functia get_user_name (pentru detectarea numelui dupa index-ul stocat in a doua variabila si stocarea acestuia intr-un sir).Mai ramane doar sa printezi numele jucatorului si scorul acestuia (folosind prima variabila, cea care contorizeaza).
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
M3taph0riK
Membru eXtream
Membru eXtream
Posts: 2127
Joined: 16 Jan 2013, 12:55
Detinator Steam: Da
CS Status: Utilizator Serios
SteamID: Utilizator Serios
Reputatie: Restrictie moderator
Nume anterior: RzV24
Utilizator neserios (tepar)
Has thanked: 60 times
Been thanked: 250 times

21 Sep 2013, 21:03

MMMMM am incercat ceva dar nu mi-a reusit. Poate cand prinzi putin timp liber imi areti.
User avatar
Ulquiorra
Fost moderator
Fost moderator
Posts: 2053
Joined: 25 Jul 2010, 17:29
Detinator Steam: Da
CS Status: A mai trecut o zi asteptand una mai buna
Detinator server CS: Retras.
SteamID: STEAM_0:1:318247XX
Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar
Location: Braila, Romania.
Has thanked: 215 times
Been thanked: 1132 times

22 Sep 2013, 14:38

Code: Select all

if( cs_get_user_team(id) == 1 )
{
	//intructiuni
	//Daca jucatorul este terorist , atunci se executa instructiunile
}
nu va functiona.. iti va da tag mismatch la linia cu if.

tre sa fie neaparat una din cele de mai jos.

Code: Select all


if( cs_get_user_team(id) == CS_TEAM_T )
{
	//intructiuni
	//Daca jucatorul este terorist , atunci se executa instructiunile

}

sau

if( _:cs_get_user_team(id) == 1 )
{
	//intructiuni
	//Daca jucatorul este terorist , atunci se executa instructiunile
}


LE: tinand cont cat de vechi e topicu' .. nu mai conteaza :P
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.

O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
M3taph0riK
Membru eXtream
Membru eXtream
Posts: 2127
Joined: 16 Jan 2013, 12:55
Detinator Steam: Da
CS Status: Utilizator Serios
SteamID: Utilizator Serios
Reputatie: Restrictie moderator
Nume anterior: RzV24
Utilizator neserios (tepar)
Has thanked: 60 times
Been thanked: 250 times

23 Sep 2013, 18:38

si totusi nu m-a lamurit nimeni ...
User avatar
KronoS eXtream
Fost administrator
Fost administrator
Posts: 4378
Joined: 02 Apr 2009, 19:18
Detinator Steam: Da
Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS
Location: Bucharest
Has thanked: 551 times
Been thanked: 820 times
Contact:

23 Sep 2013, 18:58

M3taph0riK wrote:si totusi nu m-a lamurit nimeni ...
Momentan sunt ocupat cu niste comenzi.O sa incerc maine sa revin cu codul :)
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
M3taph0riK
Membru eXtream
Membru eXtream
Posts: 2127
Joined: 16 Jan 2013, 12:55
Detinator Steam: Da
CS Status: Utilizator Serios
SteamID: Utilizator Serios
Reputatie: Restrictie moderator
Nume anterior: RzV24
Utilizator neserios (tepar)
Has thanked: 60 times
Been thanked: 250 times

23 Sep 2013, 19:27

KronoS # GG wrote:
M3taph0riK wrote:si totusi nu m-a lamurit nimeni ...
Momentan sunt ocupat cu niste comenzi.O sa incerc maine sa revin cu codul :)


Cand gasesti putin timp liber nu e nici o graba.
User avatar
KronoS eXtream
Fost administrator
Fost administrator
Posts: 4378
Joined: 02 Apr 2009, 19:18
Detinator Steam: Da
Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS
Location: Bucharest
Has thanked: 551 times
Been thanked: 820 times
Contact:

23 Sep 2013, 19:52

Asa detectezi jucatorul care a facut cele mai multe fraguri (per total, nu pe runda).Sper sa te prinzi :)
| Afiseaza codul
public Func_RoundEnd( )
{
	new iPlayers[ 32 ], iNum, player, frags, bestplayer, max, szName[ 32 ];
	get_players( iPlayers, iNum, "c" );

	for ( new i = 0 ; i < iNum ; i++ )
	{
		player = iPlayers[ i ];

		frags = get_user_frags( player );

		if ( frags > max )
		{
			max = frags;
			bestplayer = player;
		}
	}

	if ( bestplayer != 0 && max != 0 )
	{
		get_user_name( bestplayer, szName, charsmax( szName ) );
		client_print( 0, print_chat, "%s a facut cele mai multe fraguri (%i)!", szName, max );
	}
}
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
User avatar
KronoS eXtream
Fost administrator
Fost administrator
Posts: 4378
Joined: 02 Apr 2009, 19:18
Detinator Steam: Da
Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS
Location: Bucharest
Has thanked: 551 times
Been thanked: 820 times
Contact:

24 Sep 2013, 11:24

Am editat putin codul pentru evitarea unor probleme.
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
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 18 guests