#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();
}
}
}