Cum se creeaza un log?

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
JuNNNNkieWho
Membru, skill +1
Membru, skill +1
Posts: 106
Joined: 20 Dec 2015, 08:25
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

13 Jun 2017, 14:35

Salut,as vrea si eu sa stiu cum se creeaza un log de exemplu am un plugin de dat ammo pentru zombie plague si as vrea sa imi apara in logs/ammo.txt si acolo sa arate Admin-ul a dat lui ion 300 ammo packs si daca am de exemplu comanda de dat ammo pentru @CT @T @ALL ? Cum o fac?
RoyalServer 2
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

13 Jun 2017, 15:53

Code: Select all

formatex(log, charsmax(log), "Admin %s ii da lui %s %d ammo", nume_admin, nume_jucator, ammo);
log_to_file("logs.txt", log); // in caz ca logs.txt nu exista il creeaza automat
User avatar
JuNNNNkieWho
Membru, skill +1
Membru, skill +1
Posts: 106
Joined: 20 Dec 2015, 08:25
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

13 Jun 2017, 16:15

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <zombieplague>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Hades" // Modificat de Digital Hunter

// Schimbi AvH cu ce vrei tu. Ex: SURF
new const g_szTag[ ] = "[ZP]";

// Schimbi cu ce acces vrei tu ! Ex: "u" ( in caz ca vrei sa fie folosita numai de detinatori
new const g_szGiveAPFlag [ ] = "r"; // Admin Acces for zp_give < name > < ammo >

public plugin_init( ) {
	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd( "zp_give", "Give_Ammo" );
	register_clcmd( "zp_take", "Take_Ammo" );
	// Add your code here...

}
formatex(log, charsmax(log), "Admin %s ii da lui %s %d ammo", nume_admin, nume_jucator, ammo);
log_to_file("logs.txt", log); // in caz ca logs.txt nu exista il creeaza automat
}

}

public Give_Ammo( id ) {
	
	if( !( get_user_flags( id ) & read_flags( g_szGiveAPFlag ) ) ) {
		
		client_cmd( id, "echo Nu ai acces la aceasta comanda !" );
		return 1;
	}
	new szFirstArg[ 33 ], szSecondArg[ 10 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	new give_ammop[10];
	read_argv(2, give_ammop, charsmax(give_ammop));
	new Ammo = str_to_num(give_ammop);
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) {
		
		client_cmd( id, "echo zp_give < name/ @ALL/ @T/ @CT > < ammo >" );
		return 1;
	}
	new iPlayers[ 32 ];
	new iPlayersNum;
	if( Ammo <= 0 ) {
		
		client_cmd( id, "echo Poti trimite minimum de 1 Ammo !" );
		return 1;
	}
	if( szFirstArg[ 0 ] == '@' ) {
		
		switch ( szFirstArg[ 1 ] ) {
			
			case 'A': {
				
				if( equal( szFirstArg, "@ALL" ) ) {
					
					
					get_players( iPlayers, iPlayersNum, "ch" );
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) + Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color( id, "!v%s!n Adminul !v%s!n a dat !v%i!e Credite !ntuturor playerilor online", g_szTag, szName, Ammo );
					return 1;
				}
			}
			case 'T': {
				
				if( equal( szFirstArg, "@T" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) + Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color( id, "!v%s!n Adminul !v%s!n a dat !v%i!e Credite !nla toti Zombie", g_szTag, szName, Ammo );
					return 1;
				}
			}
			case 'C': {
				
				if( equal( szFirstArg, "@CT" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "CT" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) + Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color( id, "!v%s!n Adminul !v%s!n a dat !v%i!e Credite !nla toti Oamenii", g_szTag, szName, Ammo );
					return 1;
				}
			}
		}
	}
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer ) {
		
		client_cmd( id, "echo Jucatorul %s nu a fost gasit !", szFirstArg );
		return 1;
	}
	zp_set_user_ammo_packs ( iPlayer, zp_get_user_ammo_packs ( iPlayer ) + Ammo );
	new szName[ 33 ], _szName[ 33 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );	
	chat_color( id, "!v%s!n Adminul !v%s!n i-a dat !v%i!e Credite !n lui !v%s", g_szTag, szName, Ammo, _szName );
	return 1;
}

public Take_Ammo( id ) {
	
	if( !( get_user_flags( id ) & read_flags( g_szGiveAPFlag ) ) ) {
		
		client_cmd( id, "echo Nu ai acces la aceasta comanda !" );
		return 1;
	}
	new szFirstArg[ 33 ], szSecondArg[ 10 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	new take_ammop[10];
	read_argv(2, take_ammop, charsmax(take_ammop));
	new Ammo = str_to_num(take_ammop);
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) {
		
		client_cmd( id, "echo zp_give < name/ @ALL/ @T/ @CT > < ammo >" );
		return 1;
	}
	new iPlayers[ 32 ];
	new iPlayersNum;
	if( Ammo <= 0 ) {
		
		client_cmd( id, "echo Poti lua un minim de 1 Ammo !" );
		return 1;
	}
	if( szFirstArg[ 0 ] == '@' ) {
		
		switch ( szFirstArg[ 1 ] ) {
			
			case 'A': {
				
				if( equal( szFirstArg, "@ALL" ) ) {
					
					
					get_players( iPlayers, iPlayersNum, "ch" );
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) - Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color( id, "!v%s!n Adminul !v%s!n luat credite !v%i!e Credite !ntuturor playerilor online", g_szTag, szName, Ammo );
					return 1;
				}
			}
			case 'T': {
				
				if( equal( szFirstArg, "@T" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) - Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color( id, "!v%s!n Adminul !v%s!n a luat !v%i!e Credite !nla toti Zombie", g_szTag, szName, Ammo );
					return 1;
				}
			}
			case 'C': {
				
				if( equal( szFirstArg, "@CT" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "CT" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) - Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color( id, "!v%s!n Adminul !v%s!n a luat !v%i!e Credite !nla toti Oamenii", g_szTag, szName, Ammo );
					return 1;
				}
			}
		}
	}
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer ) {
		
		client_cmd( id, "echo Jucatorul %s nu a fost gasit !", szFirstArg );
		return 1;
	}
	zp_set_user_ammo_packs ( iPlayer, zp_get_user_ammo_packs ( iPlayer ) - Ammo );
	new szName[ 33 ], _szName[ 33 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );	
	chat_color( id, "!v%s!n Adminul !v%s!n i-a luat !v%i!e Credite !n lui !v%s", g_szTag, szName, Ammo, _szName );
	return 1;
}

stock chat_color(const id, const input[], any:...) {
	
	new count = 1, players[32];
	static msg[320];
	vformat(msg, 190, input, 3);
	replace_all(msg, 190, "!v", "^4");
	replace_all(msg, 190, "!g", "^1");
	replace_all(msg, 190, "!e", "^3");
	replace_all(msg, 190, "!n", "^0");
	if (id) players[0] = id; else get_players(players, count, "ch");
	for (new i = 0; i < count; i++) {
		
		if (is_user_connected(players)) {
			
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
			write_byte(players);
			write_string(msg);
			message_end();
		}
	}
}


Imi da eroare giveap.sma(24) : error 021: symbol already defined: "formatex"
giveap.sma(28) : error 054: unmatched closing brace

Daca imi poti arata te rog... si apropo daca dau la @CT @T @ALL cum o sa arate in log?
User avatar
JaiLBreaK
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 1517
Joined: 05 Jan 2016, 18:17
Detinator Steam: Nu
Detinator server CS: Da
Reputatie: Membru Club eXtreamCS (2 luni)
Fost Scripter eXtreamCS
Fond eXtream: 0
Has thanked: 5 times
Been thanked: 10 times
Contact:

13 Jun 2017, 22:42

nu am testat
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <zombieplague>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Hades" // Modificat de Digital Hunter

// Schimbi AvH cu ce vrei tu. Ex: SURF
new const g_szTag[ ] = "[ZP]";

// Schimbi cu ce acces vrei tu ! Ex: "u" ( in caz ca vrei sa fie folosita numai de detinatori
new const g_szGiveAPFlag [ ] = "r"; // Admin Acces for zp_give < name > < ammo >

public plugin_init( ) {
	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd( "zp_give", "Give_Ammo" );
	register_clcmd( "zp_take", "Take_Ammo" );
	// Add your code here...

}

public Give_Ammo( id ) {
	
	if( !( get_user_flags( id ) & read_flags( g_szGiveAPFlag ) ) ) {
		
		client_cmd( id, "echo Nu ai acces la aceasta comanda !" );
		return 1;
	}
	new szFirstArg[ 33 ], szSecondArg[ 10 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	new give_ammop[10];
	read_argv(2, give_ammop, charsmax(give_ammop));
	new Ammo = str_to_num(give_ammop);
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) {
		
		client_cmd( id, "echo zp_give < name/ @ALL/ @T/ @CT > < ammo >" );
		return 1;
	}
	new iPlayers[ 32 ];
	new iPlayersNum;
	if( Ammo <= 0 ) {
		
		client_cmd( id, "echo Poti trimite minimum de 1 Ammo !" );
		return 1;
	}
	if( szFirstArg[ 0 ] == '@' ) {
		
		switch ( szFirstArg[ 1 ] ) {
			
			case 'A': {
				
				if( equal( szFirstArg, "@ALL" ) ) {
					
					
					get_players( iPlayers, iPlayersNum, "ch" );
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) + Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color(0, "!v%s!n Adminul !v%s!n a dat !v%i!e Credite !ntuturor playerilor online", g_szTag, szName, Ammo );
					log_to_file("give.txt", "Adminul %s a dat %i ammo packs tuturor playerilor online",szName, Ammo); 
					return 1;
				}
			}
			case 'T': {
				
				if( equal( szFirstArg, "@T" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) + Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color(0, "!v%s!n Adminul !v%s!n a dat !v%i!e Credite !nla toti Zombie", g_szTag, szName, Ammo );
					log_to_file("give.txt", "Adminul %s a dat %i ammo packs echipei T",szName, Ammo); 
					return 1;
				}
			}
			case 'C': {
				
				if( equal( szFirstArg, "@CT" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "CT" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) + Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color(0, "!v%s!n Adminul !v%s!n a dat !v%i!e Credite !nla toti Oamenii", g_szTag, szName, Ammo );
					log_to_file("give.txt", "Adminul %s a dat %i ammo packs echipei CT",szName, Ammo); 
					return 1;
				}
			}
		}
	}
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer ) {
		
		client_cmd( id, "echo Jucatorul %s nu a fost gasit !", szFirstArg );
		return 1;
	}
	zp_set_user_ammo_packs ( iPlayer, zp_get_user_ammo_packs ( iPlayer ) + Ammo );
	new szName[ 33 ], _szName[ 33 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );	
	chat_color(0, "!v%s!n Adminul !v%s!n i-a dat !v%i!e Credite !n lui !v%s", g_szTag, szName, Ammo, _szName );
	log_to_file("give.txt", "Adminul %s a dat lui %s %i ammo packs",szName, _szName, Ammo); 
	return 1;
}

public Take_Ammo( id ) {
	
	if( !( get_user_flags( id ) & read_flags( g_szGiveAPFlag ) ) ) {
		
		client_cmd( id, "echo Nu ai acces la aceasta comanda !" );
		return 1;
	}
	new szFirstArg[ 33 ], szSecondArg[ 10 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	new take_ammop[10];
	read_argv(2, take_ammop, charsmax(take_ammop));
	new Ammo = str_to_num(take_ammop);
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) {
		
		client_cmd( id, "echo zp_give < name/ @ALL/ @T/ @CT > < ammo >" );
		return 1;
	}
	new iPlayers[ 32 ];
	new iPlayersNum;
	if( Ammo <= 0 ) {
		
		client_cmd( id, "echo Poti lua un minim de 1 Ammo !" );
		return 1;
	}
	if( szFirstArg[ 0 ] == '@' ) {
		
		switch ( szFirstArg[ 1 ] ) {
			
			case 'A': {
				
				if( equal( szFirstArg, "@ALL" ) ) {
					
					
					get_players( iPlayers, iPlayersNum, "ch" );
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) - Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color(0, "!v%s!n Adminul !v%s!n luat credite !v%i!e Credite !ntuturor playerilor online", g_szTag, szName, Ammo );
					log_to_file("take.txt", "Adminul %s a luat %i ammo packs tuturor playerilor online",szName, Ammo); 
					return 1;
				}
			}
			case 'T': {
				
				if( equal( szFirstArg, "@T" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) - Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color(0, "!v%s!n Adminul !v%s!n a luat !v%i!e Credite !nla toti Zombie", g_szTag, szName, Ammo );
					log_to_file("take.txt", "Adminul %s a luat %i ammo packs echipei T",szName, Ammo); 
					return 1;
				}
			}
			case 'C': {
				
				if( equal( szFirstArg, "@CT" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "CT" );
					if( iPlayersNum == 0 ) {
						
						client_cmd( id, "echo Nu exista niciun jucator in aceasta echipa !" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						zp_set_user_ammo_packs ( iPlayers[ i ], zp_get_user_ammo_packs ( iPlayers[ i ] ) - Ammo );
					new szName[ 33 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chat_color(0, "!v%s!n Adminul !v%s!n a luat !v%i!e Credite !nla toti Oamenii", g_szTag, szName, Ammo );
					log_to_file("take.txt", "Adminul %s a luat %i ammo packs echipei CT",szName, Ammo); 
					return 1;
				}
			}
		}
	}
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer ) {
		
		client_cmd( id, "echo Jucatorul %s nu a fost gasit !", szFirstArg );
		return 1;
	}
	zp_set_user_ammo_packs ( iPlayer, zp_get_user_ammo_packs ( iPlayer ) - Ammo );
	new szName[ 33 ], _szName[ 33 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );	
	chat_color(0, "!v%s!n Adminul !v%s!n i-a luat !v%i!e Credite !n lui !v%s", g_szTag, szName, Ammo, _szName );
	log_to_file("take.txt", "Adminul %s a luat lui %s %i ammo packs",szName, _szName, Ammo); 
	return 1;
}

stock chat_color(const id, const input[], any:...) {
	
	new count = 1, players[32];
	static msg[320];
	vformat(msg, 190, input, 3);
	replace_all(msg, 190, "!v", "^4");
	replace_all(msg, 190, "!g", "^1");
	replace_all(msg, 190, "!e", "^3");
	replace_all(msg, 190, "!n", "^0");
	if (id) players[0] = id; else get_players(players, count, "ch");
	for (new i = 0; i < count; i++) {
		
		if (is_user_connected(players)) {
			
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
			write_byte(players);
			write_string(msg);
			message_end();
		}
	}
}
Image
CSGO Original Module[35%]
User avatar
JuNNNNkieWho
Membru, skill +1
Membru, skill +1
Posts: 106
Joined: 20 Dec 2015, 08:25
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

13 Jun 2017, 22:58

Mersi
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 5 guests