Nick : IonuT
Plugin / Addons dorit : E un Shop si un Vip in acelasi SMA sa mil modificati care stiti
Alte informaţii : E plugin vip si shop e tot facut dar are o eroare la compilare
Mod (Respawn , Classic , Jail Break , Zombie , HNS , Awp etc....) : Classic
Poze/Video(dacă este nevoie): ---
Motiv : Ma chinui de 3 ore si nu ii pot rezolva eroarea
Syncron ma bazez pe tinee :multumesc:PHP Code:
/* Plugin generated by AMXX-Studio */
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < fun >
#include < colorchat >
#include < fakemeta >
#include < fakemeta_util >
#include < nvault >
#include < hamsandwich >
#include < engine >
#define PLUGIN "Shop & VIP CSX"
#define VERSION "1.0.0"
#define AUTHOR "IonuT"
#define IsPlayer(%1) ( 1 <= %1 <= g_MaxPlayers )
new const g_szFileName [ ] = "vip_list.ini"
new g_szFile[ 128 ]
new vip_speed_ct, vip_gravity_ct, vip_hp_ct, vip_speed_t, vip_gravity_t, vip_hp_t
new Trie: g_tVipList
new bool: g_bIsVip[ 33 ]
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;
new gVault1
new vKey1[64]
new vData1[64]
new gName[32];
new BuyMenu[33];
new PlayerCredits[33];
new Speed[33];
new dmg[33];
new g_MaxPlayers;
new const szPrefix [ ] = "[..::CSXShop::..]^3 -";
new const item_class_name[] = "dm_item"
new g_models[][] = {"models/csx/supplybox2.mdl", "models/csx/supplybox2.mdl"}
//========= golden ==========
new GoldenAk47[33];
new v_golden_ak47 [66] = "models/csx/v_golden_ak47.mdl";
new p_golden_ak47 [66] = "models/csx/p_golden_ak47.mdl";
new GoldenM4A1[33];
new v_golden_m4a1 [66] = "models/csx/v_golden_m4a1.mdl";
new p_golden_m4a1 [66] = "models/csx/p_golden_m4a1.mdl";
new GoldenDeagle[33];
new v_golden_deagle [66] = "models/csx/v_golden_deagle.mdl";
new p_golden_deagle [66] = "models/csx/p_golden_deagle.mdl";
// ==========================
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd ( "say /shop", "cmdShop" );
register_clcmd ( "say /credite", "Show_Credits" );
register_clcmd ( "say /credits", "Show_Credits" );
register_clcmd ( "say_team /credits","Show_Credits" );
register_clcmd ( "say_team /credite","Show_Credits");
register_clcmd ( "say /vips", "ShowVips");
register_clcmd ( "say_team /vips", "ShowVips");
register_clcmd ( "say /vip", "cmdShowVipDetails");
register_clcmd ( "say_team /vip", "ShowVips");
register_clcmd ( "say /vmenu", "cmdVMenu");
register_clcmd ( "say_team /vmenu", "cmdVMenu");
register_concmd ( "amx_give_credits", "Give_Credits", ADMIN_RCON, "<target / ct / t / all> <amount>" );
register_concmd ( "amx_reset_credits", "Reset_Credits", ADMIN_RCON, "<target / ct / t / all>" );
register_event ( "DeathMsg", "eDeath", "a" );
register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
RegisterHam ( Ham_Spawn, "player", "Respawnplayer", 1 );
RegisterHam ( Ham_Spawn, "player", "Ham_FwdPlayerSpawnPost", 1 );
RegisterHam ( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 );
RegisterHam ( Ham_TakeDamage, "player", "DoubleDamage" );
RegisterHam ( Ham_Killed, "player", "fw_PlayerKilled")
register_forward ( FM_CmdStart, "Golden_CmdStart");
register_forward ( FM_PlayerPreThink, "ForcePlayerSpeed" );
register_forward ( FM_Touch, "fwd_Touch")
vip_hp_ct = register_cvar( "vip_hp_ct", "150" );
vip_hp_t = register_cvar( "vip_hp_t", "150" );
vip_speed_ct = register_cvar ("vip_speed_ct", "350" );
vip_speed_t = register_cvar ("vip_speed_t", "350" );
vip_gravity_ct = register_cvar ( "vip_gravity_ct", "0.5" )
vip_gravity_t = register_cvar ( "vip_gravity_t", "0.5" )
g_MaxPlayers = get_maxplayers ( );
}
public plugin_precache()
{
precache_model("models/player/csx_vip_T/csx_vip_T.mdl")
precache_model("models/player/csx_vip_CT/csx_vip_CT.mdl")
precache_model(v_golden_ak47)
precache_model(p_golden_ak47)
precache_model(v_golden_m4a1)
precache_model(p_golden_m4a1)
precache_model(v_golden_deagle)
precache_model(p_golden_deagle)
g_tVipList = TrieCreate( )
for (new i = 0; i < sizeof g_models; i++)
precache_model(g_models[i])
}
public Respawnplayer(id)
{
set_user_gravity ( id, 1.0)
BuyMenu[id] = 0;
Speed[id] = false;
dmg[id] = false;
GoldenAk47[id] = false;
GoldenM4A1[id] = false;
GoldenDeagle[id] = false;
}
public Show_Credits(id)
{
ColorChat ( id, GREEN, "%s Detii^4 %d^3 credite .^4", szPrefix, PlayerCredits [ id ] );
}
public client_putinserver ( id )
{
load_user_credits(id)
}
public client_disconnect ( id )
{
save_user_credits(id)
}
public cmdShop (id, level, cid )
{
if ( get_user_team(id) == 1 )
{
new menu = menu_create ( "\rShop T \yCSX", "Menu_GiverT" );
menu_additem ( menu, "\y75HP \w[ \r100 Credit\w ]", "1", 0 );
menu_additem ( menu, "\yGrenade Pack \w[ \r50 Credit \w ]", "2", 0 );
menu_additem ( menu, "\yGod Mode \w[ \r2000 Credite\w ]", "3", 0 );
menu_additem ( menu, "\ySpeed \w[ \r50 Credit \w ]", "4", 0 );
menu_additem ( menu, "\yGravity \w[ \r50 Credite\w ]", "5", 0 );
menu_additem ( menu, "\yAk47 Gold \w[ \r250 Credite \w ]", "6", 0 );
menu_additem ( menu, "\yM4A1 Gold \w[ \r200 Credite \w ]", "7", 0 );
menu_additem ( menu, "\yDeagle Gold \w[ \r150 Credite \w ]", "8", 0 );
menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
menu_display ( id, menu, 0 );
return 1;
}
else if ( get_user_team(id) == 2 )
{
new menu = menu_create ( "\rShop CT \yCSX", "Menu_GiverCT" );
menu_additem ( menu, "\y75HP \w[ \r100 Credit\w ]", "1", 0 );
menu_additem ( menu, "\yGrenade Pack \w[ \r50 Credit \w ]", "2", 0 );
menu_additem ( menu, "\yGod Mode \w[ \r2000 Credite\w ]", "3", 0 );
menu_additem ( menu, "\ySpeed \w[ \r50 Credit \w ]", "4", 0 );
menu_additem ( menu, "\yGravity \w[ \r50 Credite\w ]", "5", 0 );
menu_additem ( menu, "\yAk47 Gold \w[ \r250 Credite \w ]", "6", 0 );
menu_additem ( menu, "\yM4A1 Gold \w[ \r200 Credite \w ]", "7", 0 );
menu_additem ( menu, "\yDeagle Gold \w[ \r150 Credite \w ]", "8", 0 );
menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
menu_display ( id, menu, 0 );
return 1;
}
else
{
ColorChat ( id, GREEN, "%s Shop-ul este doar pentru Human si Zombie !", szPrefix );
return 1;
}
return 1;
}
public Menu_GiverT ( id, menu, item ) {
if( item == MENU_EXIT )
{
return 1;
}
new data [ 6 ], szName [ 64 ];
new access, callback;
menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
new key = str_to_num ( data );
switch(key)
{
case 1:
{
new iCredits = PlayerCredits[id] - 70;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
set_user_health(id, get_user_health(id) + 75 );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 2:
{
new iCredits = PlayerCredits[id] - 50;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
give_item ( id, "weapon_hegrenade" );
give_item ( id, "weapon_smokegrenade" );
give_item ( id, "weapon_flashbang" );
give_item ( id, "weapon_flashbang" );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 3:
{
new iCredits = PlayerCredits[id] - 150;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
set_user_godmode(id, 1);
set_task ( 5.0, "RemoveGodMode",id,_,_,"b" );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 4:
{
new iCredits = PlayerCredits[id] - 50;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
Speed[id] = true;
PlayerCredits[id] = iCredits;
return 1;
}
}
case 5:
{
new iCredits = PlayerCredits[id] - 50;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
set_user_gravity(id, 0.6);
PlayerCredits[id] = iCredits;
return 1;
}
}
case 6:
{
new iCredits = PlayerCredits[id] - 250;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
GoldenAk47[id] = true;
give_item(id, "weapon_ak47" )
cs_set_user_bpammo ( id, CSW_AK47, 200 );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 7:
{
new iCredits = PlayerCredits[id] - 200;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
GoldenM4A1[id] = true;
give_item(id, "weapon_m4a1" )
cs_set_user_bpammo ( id, CSW_M4A1, 200 );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 8:
{
new iCredits = PlayerCredits[id] - 150;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
GoldenDeagle[id] = true;
give_item(id, "weapon_deagle" )
cs_set_user_bpammo ( id, CSW_DEAGLE, 100 );
PlayerCredits[id] = iCredits;
return 1;
}
}
}
menu_destroy ( menu );
return 1;
}
public RemoveGodMode(id)
{
set_user_godmode(id, 0)
}
public Menu_GiverCT ( id, menu, item ) {
if( item == MENU_EXIT )
{
return 1;
}
new data [ 6 ], szName [ 64 ];
new access, callback;
menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
new key = str_to_num ( data );
switch(key)
{
case 1:
{
new iCredits = PlayerCredits[id] - 70;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
set_user_health(id, get_user_health(id) + 75 );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 2:
{
new iCredits = PlayerCredits[id] - 50;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
give_item ( id, "weapon_hegrenade" );
give_item ( id, "weapon_smokegrenade" );
give_item ( id, "weapon_flashbang" );
give_item ( id, "weapon_flashbang" );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 3:
{
new iCredits = PlayerCredits[id] - 150;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
set_user_godmode(id, 1);
set_task ( 5.0, "RemoveGodMode",id,_,_,"b" );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 4:
{
new iCredits = PlayerCredits[id] - 50;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
Speed[id] = true;
PlayerCredits[id] = iCredits;
return 1;
}
}
case 5:
{
new iCredits = PlayerCredits[id] - 50;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
set_user_gravity(id, 0.6);
PlayerCredits[id] = iCredits;
return 1;
}
}
case 6:
{
new iCredits = PlayerCredits[id] - 250;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
GoldenAk47[id] = true;
give_item(id, "weapon_ak47" )
cs_set_user_bpammo ( id, CSW_AK47, 200 );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 7:
{
new iCredits = PlayerCredits[id] - 200;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
GoldenM4A1[id] = true;
give_item(id, "weapon_m4a1" )
cs_set_user_bpammo ( id, CSW_M4A1, 200 );
PlayerCredits[id] = iCredits;
return 1;
}
}
case 8:
{
new iCredits = PlayerCredits[id] - 150;
if( iCredits < 0 )
{
ColorChat ( id, GREEN, "%s Nu ai destule credite !", szPrefix );
return 1;
}
else if ( BuyMenu[id] == 2 )
{
ColorChat ( id, GREEN, "%s Ai atins limita de 2 iteme cumparate !", szPrefix );
return 1;
}
else
{
BuyMenu[id]++;
GoldenDeagle[id] = true;
give_item(id, "weapon_deagle" )
cs_set_user_bpammo ( id, CSW_DEAGLE, 100 );
PlayerCredits[id] = iCredits;
return 1;
}
}
}
menu_destroy ( menu );
return 1;
}
public ForcePlayerSpeed ( id )
{
if ( Speed [ id ] )
{
set_pev ( id, pev_maxspeed, 320.0 );
}
}
public eDeath ( ) {
new iKiller = read_data ( 1 );
new iVictim = read_data ( 2 );
new Headshot = read_data ( 3 );
new weapon [ 32 ];
read_data ( 4, weapon, sizeof ( weapon ) -1 );
if ( iKiller == iVictim )
{
user_silentkill(iKiller);
return 1;
}
if ( Headshot )
{
new iCredits = PlayerCredits[iKiller] + 7;
PlayerCredits[iKiller] = iCredits;
ColorChat ( iKiller, GREEN, "%s Ai primit^4 7^3 credite !", szPrefix );
}
else if ( Headshot && get_user_weapon ( iKiller ) == CSW_KNIFE )
{
new iCredits = PlayerCredits[iKiller] + 20;
PlayerCredits[iKiller] = iCredits;
ColorChat ( iKiller, GREEN, "%s Ai primit^4 20^3 credite !", szPrefix );
}
else if ( get_user_weapon ( iKiller ) == CSW_KNIFE )
{
new iCredits = PlayerCredits[iKiller] + 10;
PlayerCredits[iKiller] = iCredits;
ColorChat ( iKiller, GREEN, "%s Ai primit^4 10^3 credite !", szPrefix );
}
else if ( equali ( weapon, "grenade" ) )
{
new iCredits = PlayerCredits[iKiller] + 30;
PlayerCredits[iKiller] = iCredits;
ColorChat ( iKiller, GREEN, "%s Ai primit^4 30^3 credite !", szPrefix );
}
else
{
new iCredits = PlayerCredits[iKiller] + 4;
PlayerCredits[iKiller] = iCredits;
ColorChat ( iKiller, GREEN, "%s Ai primit^4 4^3 credite !", szPrefix );
}
return 1;
}
stock save_user_credits(id)
{
gVault1 = nvault_open("Credits");
if(gVault1 == INVALID_HANDLE)
set_fail_state("[Credits] nVault Open Error => Invalid Handle");
get_user_name(id, gName, 31);
formatex(vKey1, charsmax(vKey1), "%s", gName);
formatex(vData1, charsmax(vData1), "%d#", PlayerCredits[id]);
nvault_set(gVault1, vKey1, vData1);
nvault_close(gVault1);
}
stock load_user_credits(id)
{
gVault1 = nvault_open("Credits");
if(gVault1 == INVALID_HANDLE)
set_fail_state("[Credits] nVault ERROR => Invalid Handle .");
get_user_name(id, gName, 31);
formatex(vKey1, charsmax(vData1), "%s", gName);
formatex(vData1, charsmax(vData1), "%d#", PlayerCredits[id]);
nvault_get(gVault1, vKey1, vData1, charsmax(vData1));
replace_all(vData1, charsmax(vData1), "#", " ");
new CPlayerCredits[32];
parse(vData1, CPlayerCredits, 31);
PlayerCredits[id] = str_to_num(CPlayerCredits);
nvault_close(gVault1);
}
public Give_Credits(id, level, cid) {
if(!cmd_access(id, level, cid, 2)) {
return PLUGIN_HANDLED;
}
new arg[23], gplayers[32], num, i, players, name[32];
get_user_name(id, name, 31);
read_argv(1, arg, 23);
new give_credits[5];
read_argv(2, give_credits, charsmax(give_credits));
new Credits = str_to_num(give_credits);
if(equali(arg, "@T") || equali ( arg, "t" ) ) {
get_players(gplayers, num, "e", "TERRORIST");
for(i = 0; i < num; i++) {
players = gplayers[i];
if(!is_user_connected(players))
continue;
new iCredits = PlayerCredits[players] + Credits;
PlayerCredits[players] = iCredits;
save_user_credits ( id );
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, GREEN, "^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 Ts.", Credits);
case 2: ColorChat(0, GREEN, "^x03%s^x04 give^x03 %i Credits^x04 to all^x03 Ts.", name, Credits);
}
}
else if(equali(arg, "@CT") || equali ( arg, "ct" ) ) {
get_players(gplayers, num, "e", "CT");
for(i = 0; i < num; i++) {
players = gplayers[i];
if(!is_user_connected(players))
continue;
new iCredits = PlayerCredits[players] + Credits;
PlayerCredits[players] = iCredits;
save_user_credits ( id );
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, GREEN, "^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 CTs.", Credits);
case 2: ColorChat(0, GREEN, "^x03%s^x04 give^x03 %i Credits^x04 to all^x03 CTs.", name, Credits);
}
}
if(equali(arg, "@All") || equali ( arg, "all" ) ) {
get_players(gplayers, num, "a");
for(i = 0; i < num; i++) {
players = gplayers[i];
if(!is_user_connected(players))
continue;
new iCredits = PlayerCredits[players] + Credits;
PlayerCredits[players] = iCredits;
save_user_credits ( id );
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, GREEN, "^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 Players.", Credits);
case 2: ColorChat(0, GREEN, "^x03%s^x04 give^x03 %i Credits^x04 to all^x03 Players.", name, Credits);
}
}
new player = cmd_target(id, arg, 11);
if(!player) {
return PLUGIN_HANDLED;
}
new iCredits = PlayerCredits[player] + Credits;
PlayerCredits[player] = iCredits;
save_user_credits ( id );
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(player, GREEN, "^x03ADMIN^x04 give your^x03 %i Credits.", Credits);
case 2: ColorChat(player, GREEN, "^x03%s^x04 give your^x03 %i Credits.", name, Credits);
}
return PLUGIN_HANDLED;
}
public Reset_Credits(id, level, cid) {
if(!cmd_access(id, level, cid, 2)) {
return PLUGIN_HANDLED;
}
new arg[23], gplayers[32], num, i, players, name[32];
get_user_name(id, name, 31);
read_argv(1, arg, 23);
if(equali(arg, "@T")) {
get_players(gplayers, num, "e", "TERRORIST");
for(i = 0; i < num; i++) {
players = gplayers[i];
if(!is_user_connected(players))
continue;
PlayerCredits [ players ] = 0;
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, GREEN, "^x03ADMIN^x04 reset^x03 Credits^x04 to all^x03 Ts.");
case 2: ColorChat(0, GREEN, "^x03%s^x04 reset^x03 Credits^x04 to all^x03 Ts.", name);
}
}
else if(equali(arg, "@CT")) {
get_players(gplayers, num, "e", "CT");
for(i = 0; i < num; i++) {
players = gplayers[i];
if(!is_user_connected(players))
continue;
PlayerCredits [ players ] = 0;
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, GREEN, "^x03ADMIN^x04 reset^x03 %i Credits^x04 to all^x03 CTs.");
case 2: ColorChat(0, GREEN, "^x03%s^x04 reset^x03 %i Credits^x04 to all^x03 CTs.", name);
}
}
if(equali(arg, "@All")) {
get_players(gplayers, num, "a");
for(i = 0; i < num; i++) {
players = gplayers[i];
if(!is_user_connected(players))
continue;
PlayerCredits [ players ] = 0;
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, GREEN, "^x03ADMIN^x04 reset^x03 Credits^x04 to all^x03 Players.");
case 2: ColorChat(0, GREEN, "^x03%s^x04 resetx03 Credits^x04 to all^x03 Players.", name);
}
}
new player = cmd_target(id, arg, 11);
if(!player) {
return PLUGIN_HANDLED;
}
PlayerCredits [ player ] = 0;
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(player, GREEN, "^x03ADMIN^x04 reset your^x03 Credits.");
case 2: ColorChat(player, GREEN, "^x03%s^x04 reset your^x03 Credits.", name);
}
save_user_credits ( id );
return PLUGIN_HANDLED;
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
public cmdShowVipDetails ( id ) {
show_motd ( id, "/vip.txt" );
}
public Ham_FwdPlayerSpawnPost ( id )
{
new Float:gravityT = get_pcvar_float(vip_gravity_t);
new Float:gravityCT = get_pcvar_float(vip_gravity_ct);
if(!is_user_alive( id ) || !is_user_connected( id ) || !g_bIsVip[ id ] )
return PLUGIN_HANDLED;
if( g_bIsVip[ id ] && cs_get_user_team( id ) == CS_TEAM_T )
{
cs_set_user_model(id, "csx_vip_T" )
set_user_health( id, get_pcvar_num( vip_hp_t ) );
set_user_gravity( id, gravityT );
}
else if( g_bIsVip[ id ] && cs_get_user_team( id ) == CS_TEAM_CT )
{
cs_set_user_model(id, "csx_vip_CT" )
set_user_health( id, get_pcvar_num( vip_hp_ct ) );
set_user_gravity( id, gravityCT );
}
return PLUGIN_CONTINUE;
}
public Ham_ResetMaxSpeedPost( id )
{
new Float:flMaxSpeed_T = get_pcvar_float( vip_speed_t );
new Float:flMaxSpeed_CT = get_pcvar_float( vip_speed_ct );
if( !is_user_alive( id ) || !g_bIsVip[ id ] || is_user_bot ( id ) )
return HAM_IGNORED;
if( g_bIsVip[ id ] )
{
if( get_user_maxspeed( id ) != 1.0 ) {
if( flMaxSpeed_T > 1.0 && cs_get_user_team( id ) == CS_TEAM_T )
{
set_user_maxspeed( id, flMaxSpeed_T );
new szCommand[ 128 ];
formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", flMaxSpeed_T, flMaxSpeed_T, flMaxSpeed_T );
client_cmd( id, szCommand );
}
else if( flMaxSpeed_CT > 1.0 && cs_get_user_team( id ) == CS_TEAM_CT )
{
set_user_maxspeed( id, flMaxSpeed_CT );
new szCommand[ 128 ];
formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", flMaxSpeed_CT, flMaxSpeed_CT, flMaxSpeed_CT );
client_cmd( id, szCommand );
}
}
}
return HAM_IGNORED;
}
public ShowVips(id)
{
static menu_item[100], name1[32], name2[32], tasta[2], menu;
formatex(menu_item, charsmax(menu_item), "[CSX] VIP's Online:");
menu = menu_create(menu_item, "vips_handler");
static players[32], inum, player, a, numere;
numere = 0;
get_players(players, inum);
for(a = 0; a < inum; ++a)
{
player = players[a]
if(g_bIsVip[ player ] )
{
numere++
get_user_name(player, name1, charsmax(name1));
get_user_name(id, name2, charsmax(name2));
formatex(menu_item, charsmax(menu_item), "\y%s", name2);
formatex(menu_item, charsmax(menu_item), "\r%s", name1);
tasta[0] = numere;
tasta[1] = 0;
menu_additem(menu, menu_item, tasta);
}
}
if(!numere)
menu_additem(menu, "\wNu este niciun\y VIP\w On-Line.")
menu_setprop(menu, MPROP_NUMBER_COLOR, "\w")
menu_display(id, menu, 0)
return PLUGIN_HANDLED;
}
public vips_handler(id)
return PLUGIN_HANDLED;
public plugin_cfg( )
{
new szDir[ 128 ];
get_configsdir( szDir, charsmax( szDir ) );
formatex( g_szFile, charsmax( g_szFile ), "%s/%s", szDir, g_szFileName );
if ( !file_exists( g_szFile ) )
{
new fp = fopen( g_szFile, "a+" );
if( fp )
{
fputs( fp, "; ===========================================================^n" );
fputs( fp, "; --------------------- VIP LIST ----------------------------^n" );
fputs( fp, "; ===========================================================^n" );
fputs( fp, "; Nota: Incepe randul cu ^";^" pentru a dezactiva un VIP^n" );
fputs( fp, "^b" );
}
fclose( fp );
}
ReadIniFile( )
}
public plugin_end( )
{
TrieDestroy( g_tVipList )
}
ReadIniFile( )
{
new fp = fopen( g_szFile , "rt" );
if( !fp )
{
return 0;
}
new szData[ 256 ], i;
while( !feof( fp ) )
{
fgets( fp, szData, charsmax( szData ) );
trim( szData );
if( !szData[ 0 ] || szData[ 0 ] == ';' || szData[ 0 ] == '#' || (szData[ 0 ] == '/' && szData[ 1 ] == '/'))
{
continue;
}
TrieSetCell( g_tVipList, szData, i )
i ++
}
return 0
}
public client_connect( id )
{
new szName[ 32 ]; get_user_name( id, szName, charsmax( szName ) )
if( TrieKeyExists( g_tVipList, szName ) )
{
g_bIsVip[ id ] = true
}
else
{
g_bIsVip[ id ] = false
}
}
public cmdVMenu ( id, level, cid ) {
if ( is_user_alive ( id ) ) {
new menu = menu_create( "vMenu IN Lucru", "MenuVMenu");
menu_additem ( menu, "\yM4A1 Gold \w[ \r2xDMG \w]", "1", 0 );
menu_additem ( menu, "\yAK47 Gold \w[ \r2xDMG \w]", "2", 0 );
menu_additem ( menu, "\yDeagle Gold \w[ \r2xDMG \w]", "3", 0 );
menu_additem ( menu, "\wContact Skype:\y yoonnut1", "5", 0 );
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return 1;
}
else {
ColorChat ( id, GREEN, "%s Nu poti folosi shop-ul cand esti mort.^4", szPrefix );
}
return 1;
}
public MenuVMenu ( id, menu, item ) {
if( item == MENU_EXIT )
{
return 1;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if ( get_user_team(id) == 2 )
{
if ( g_bIsVip[id] )
{
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul daca nu esti VIP.^4", szPrefix );
}
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul cand esti zombie.^4", szPrefix );
}
}
case 2:
{
if ( get_user_team(id) == 2 )
{
if ( g_bIsVip[id] )
{
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul daca nu esti VIP.^4", szPrefix );
}
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul cand esti zombie.^4", szPrefix );
}
}
case 3:
{
if ( get_user_team(id) == 2 )
{
if ( g_bIsVip[id] )
{
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul daca nu esti VIP.^4", szPrefix );
}
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul cand esti zombie.^4", szPrefix );
}
}
case 4:
{
if ( get_user_team(id) == 2 )
{
if ( g_bIsVip[id] )
{
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul daca nu esti VIP.^4", szPrefix );
}
}
else
{
ColorChat ( id, GREEN, "%s Nu poti folosi vmenu-ul cand esti zombie.^4", szPrefix );
}
}
case 5:
{
ColorChat ( id, GREEN, "%s Pentru donatii, il poti gasi pe IonuT la id de skype : yoonnut1.^4", szPrefix );
}
}
menu_destroy(menu);
return 1
}
public DoubleDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
{
if ( !IsPlayer(iAttacker) || !IsPlayer(iVictim) ) return HAM_IGNORED;
if( iInflictor == iAttacker && dmg [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
{
SetHamParamFloat( 4, fDamage * 2.0);
return HAM_HANDLED;
}
if( iInflictor == iAttacker && GoldenAk47 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AK47 )
{
SetHamParamFloat( 4, fDamage * 2.0);
return HAM_HANDLED;
}
if( iInflictor == iAttacker && GoldenM4A1 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M4A1 )
{
SetHamParamFloat( 4, fDamage * 2.0);
return HAM_HANDLED;
}
if( iInflictor == iAttacker && GoldenDeagle [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE )
{
SetHamParamFloat( 4, fDamage * 3.0);
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public CurrentWeapon ( id )
{
if ( get_user_weapon(id) == CSW_AK47 )
{
if ( GoldenAk47[id] )
{
set_pev ( id, pev_viewmodel2, v_golden_ak47 );
set_pev ( id, pev_weaponmodel2, p_golden_ak47 );
}
return 1;
}
if ( get_user_weapon(id) == CSW_M4A1 )
{
if ( GoldenM4A1[id] )
{
set_pev ( id, pev_viewmodel2, v_golden_m4a1 );
set_pev ( id, pev_weaponmodel2, p_golden_m4a1 );
}
return 1;
}
if ( get_user_weapon(id) == CSW_DEAGLE )
{
if ( GoldenDeagle[id] )
{
set_pev ( id, pev_viewmodel2, v_golden_deagle );
set_pev ( id, pev_weaponmodel2, p_golden_deagle );
}
return 1;
}
return 1;
}
public Golden_CmdStart(id, uc_handle, seed) {
if(is_user_alive(id) && is_user_connected(id)) {
static CurButton;
CurButton = get_uc(uc_handle, UC_Buttons);
if(CurButton & IN_ATTACK)
{
if(get_user_weapon(id) == CSW_AK47)
{
static ak47;
ak47 = fm_find_ent_by_owner(-1, "weapon_ak47", id);
if(get_user_weapon(id) == CSW_AK47 && GoldenAk47[id] && cs_get_weapon_ammo(ak47) > 0 )
{
static EndOrigin[3], BeamOrigin[3];
get_user_origin(id, BeamOrigin, 3) ;
get_user_origin(id, EndOrigin, 3);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_BEAMENTPOINT);
write_short(id | 0x1000);
write_coord(BeamOrigin[0]); // Start X
write_coord(BeamOrigin[1]); // Start Y
write_coord(BeamOrigin[2]); // Start Z
write_byte(1); // Start frame
write_byte(1); // Frame rate
write_byte(1); // Life
write_byte(25); // Line width
write_byte(0); // Noise
write_byte(255); // Red
write_byte(215); // Green
write_byte(0); // Blue
write_byte(200); // Brightness
write_byte(150); // Scroll speed
message_end();
}
}
if(get_user_weapon(id) == CSW_M4A1)
{
static m4a1;
m4a1 = fm_find_ent_by_owner(-1, "weapon_m4a1", id);
if(get_user_weapon(id) == CSW_M4A1 && GoldenM4A1[id] && cs_get_weapon_ammo(m4a1) > 0 )
{
static EndOrigin[3], BeamOrigin[3];
get_user_origin(id, BeamOrigin, 3) ;
get_user_origin(id, EndOrigin, 3);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_BEAMENTPOINT);
write_short(id | 0x1000);
write_coord(BeamOrigin[0]); // Start X
write_coord(BeamOrigin[1]); // Start Y
write_coord(BeamOrigin[2]); // Start Z
write_byte(1); // Start frame
write_byte(1); // Frame rate
write_byte(1); // Life
write_byte(25); // Line width
write_byte(0); // Noise
write_byte(255); // Red
write_byte(215); // Green
write_byte(0); // Blue
write_byte(200); // Brightness
write_byte(150); // Scroll speed
message_end();
}
}
if(get_user_weapon(id) == CSW_DEAGLE)
{
static deagle;
deagle = fm_find_ent_by_owner(-1, "weapon_deagle", id);
if(get_user_weapon(id) == CSW_DEAGLE && GoldenDeagle[id] && cs_get_weapon_ammo(deagle) > 0 )
{
static EndOrigin[3], BeamOrigin[3];
get_user_origin(id, BeamOrigin, 3) ;
get_user_origin(id, EndOrigin, 3);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_BEAMENTPOINT);
write_short(id | 0x1000);
write_coord(BeamOrigin[0]); // Start X
write_coord(BeamOrigin[1]); // Start Y
write_coord(BeamOrigin[2]); // Start Z
write_byte(1); // Start frame
write_byte(1); // Frame rate
write_byte(1); // Life
write_byte(25); // Line width
write_byte(0); // Noise
write_byte(255); // Red
write_byte(215); // Green
write_byte(0); // Blue
write_byte(200); // Brightness
write_byte(150); // Scroll speed
message_end();
}
}
}
}
}
public fwd_Touch(toucher, touched)
{
if (!is_user_alive(toucher) || !pev_valid(touched))
return FMRES_IGNORED
new classname[32]
pev(touched, pev_classname, classname, 31)
if (!equal(classname, item_class_name))
return FMRES_IGNORED
cgive_item(toucher)
set_pev(touched, pev_effects, EF_NODRAW)
set_pev(touched, pev_solid, SOLID_NOT)
return FMRES_IGNORED
}
public fw_PlayerKilled(victim, attacker, shouldgib)
{
if (!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim || !attacker)
return HAM_IGNORED
// Asta ca sa nu genereze box la fiecare kill ( gen sanse )
new random1 = random_num(1,6)
if ( random1 == 1 || random1 == 2 || random1 == 3 || random1 == 4 || random1 == 5 || random1 == 6)
{
new origin[3]
get_user_origin(victim, origin, 0)
addItem(origin)
}
return HAM_IGNORED
}
public removeEntity(ent)
{
if (pev_valid(ent))
engfunc(EngFunc_RemoveEntity, ent)
}
public addItem(origin[3])
{
new ent = fm_create_entity("info_target")
set_pev(ent, pev_classname, item_class_name)
engfunc(EngFunc_SetModel,ent, g_models[random_num(0, sizeof g_models - 1)])
set_pev(ent,pev_mins,Float:{-10.0,-10.0,0.0})
set_pev(ent,pev_maxs,Float:{10.0,10.0,25.0})
set_pev(ent,pev_size,Float:{-10.0,-10.0,0.0,10.0,10.0,25.0})
engfunc(EngFunc_SetSize,ent,Float:{-10.0,-10.0,0.0},Float:{10.0,10.0,25.0})
set_pev(ent,pev_solid,SOLID_BBOX)
set_pev(ent,pev_movetype,MOVETYPE_TOSS)
new Float:fOrigin[3]
IVecFVec(origin, fOrigin)
set_pev(ent, pev_origin, fOrigin)
set_pev(ent,pev_renderfx,kRenderFxGlowShell)
// Rendere colorate , estetic arata mai bine cu mai multe culori
switch(random_num(1,6))
{
case 1: set_pev(ent,pev_rendercolor,Float:{0.0,0.0,255.0})
case 2: set_pev(ent,pev_rendercolor,Float:{0.0,255.0,0.0})
case 3: set_pev(ent,pev_rendercolor,Float:{255.0,0.0,0.0})
case 4: set_pev(ent,pev_rendercolor,Float:{255.0,255.0,255.0})
case 5: set_pev(ent,pev_rendercolor,Float:{0.0,255.0,255.0})
case 6: set_pev(ent,pev_rendercolor,Float:{255.0,255.0,0.0})
}
}
public cgive_item(id)
{
if ( get_user_team(id) == 2 ) // echipa CT aici setezi bonusurile din cadouri pentru echipa CT
{
switch (random_num(0,10))
{
case 0:
{
fm_set_user_health(id, get_user_health(id) + 10 );
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team 10 HP ");
}
case 1:
{
fm_set_user_health(id, get_user_health(id) + 50 );
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team 50 HP ");
}
case 2:
{
fm_set_user_health(id, get_user_health(id) + 75 );
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team 75 HP ");
}
case 3:
{
fm_give_item(id,"weapon_hegrenade");
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team HE ");
}
case 4:
{
fm_give_item(id,"weapon_flashbang");
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team Flash ");
}
case 5:
{
fm_give_item(id,"weapon_smokegrenade");
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team Smoke ");
}
case 6:
{
fm_give_item(id,"weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 200);
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team M4A1 ");
}
case 7:
{
fm_give_item(id,"weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 200);
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team AK47 ");
}
case 8:
{
fm_give_item(id,"weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 100);
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team DEAGLE ");
}
case 9:
{
Speed[id] = true;
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team DEAGLE ");
}
case 10:
{
set_user_gravity ( id, 0.6)
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team DEAGLE ");
}
}
}
else if ( get_user_team(id) == 1 ) // echipa tero aici setezi bonusurile din cadouri pentru echipa T
{
switch (random_num(0,5))
{
case 0:
{
fm_set_user_health(id, get_user_health(id) + 10 );
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team 10 HP ");
}
case 1:
{
fm_set_user_health(id, get_user_health(id) + 50 );
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team 50 HP ");
}
case 2:
{
fm_set_user_health(id, get_user_health(id) + 75 );
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team 75 HP ");
}
case 3:
{
fm_give_item(id,"weapon_hegrenade");
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team HE ");
}
case 4:
{
fm_give_item(id,"weapon_flashbang");
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team Flash ");
}
case 5:
{
fm_give_item(id,"weapon_smokegrenade");
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team Smoke ");
}
case 6:
{
fm_give_item(id,"weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 200);
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team M4A1 ");
}
case 7:
{
fm_give_item(id,"weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 200);
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team AK47 ");
}
case 8:
{
fm_give_item(id,"weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 100);
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team DEAGLE ");
}
case 9:
{
Speed[id] = true;
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team DEAGLE ");
}
case 10:
{
set_user_gravity ( id, 0.6)
ChatColor(id,"!g* [!team..::BonusBox::..!g] Ai gasit in cadou !team DEAGLE ");
}
}
}
{
new ent = FM_NULLENT
static string_class[] = "classname"
while ((ent = engfunc(EngFunc_FindEntityByString, ent, string_class, item_class_name)))
set_pev(ent, pev_flags, FL_KILLME)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1033\\ f0\\ fs16 \n\\ par }
*/