witam moze ktos dodac do tego vipa:
Spoiler
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <colorchat>
// definicje tablicy punktow
#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD (1<<0)
#define SCOREATTRIB_BOMB (1<<1)
#define SCOREATTRIB_VIP (1<<2)
// pojemnik megajumpow
new moze_skoczyc[33];
// zmienne ilosciowe
new MAGAZYNEK;
// flagi
new VIP[32];
new GIRL[32];
new ADMIN[32];
// stringi
new INFO[64];
// zmienna operacyjna
new string:tmp[128];
public plugin_init(){
// inicjalizacja
register_plugin("VIP Ultimate", "1.1", "Benio101");
// nasluchiwacze
RegisterHam(Ham_Spawn, "player", "SpawnedEvent", 1);
register_event("DeathMsg", "DeathMsg", "a");
register_event("CurWeapon","CurWeapon","be","1=1");
register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");
register_forward(FM_CmdStart, "CmdStart");
// CVARy
register_cvar("vip_hp", "10"); // <liczba dodawanego zycia na poczatku kazdej rundy>
register_cvar("vip_he", "2"); // <liczba dodawanych granatow HE na poczatku kazdej rundy>
register_cvar("vip_fb", "2"); // <liczba dodawanych Flashy na poczatku kazdej rundy>
register_cvar("vip_sg", "2"); // <liczba dodawanych Smoke Grenadow na poczatku kazdej rundy>
register_cvar("vip_defuse_kit", "1"); // czy dawac defuse kit na poczatku kazdej rundy <0|1>
register_cvar("vip_armor", "50"); // <liczba dodawanych punktow kamizelki na poczatku kazdej rundy>
register_cvar("vip_speed", "50"); // <liczba dodawanych punktow szybkosci>
register_cvar("vip_money", "1000"); // <liczba dodawanych dolarow na poczatku kazdej rundy>
register_cvar("vip_skoki", "2"); // <liczba mozliwych do wykonania skokow w powietrzu>
register_cvar("vip_napis", "1"); // czy w tabeli punktow ma widniec VIP przy nicku <0|1>
register_cvar("vip_girl_model_ct", "1"); // czy ustawiac model dla kobiety CT <0|1>
register_cvar("vip_girl_model_tt", "1"); // czy ustawiac model dla kobiety TT <0|1>
register_cvar("vip_admin_model_ct", "1"); // czy ustawiac model dla Admina CT <0|1>
register_cvar("vip_admin_model_tt", "1"); // czy ustawiac model dla Admina TT <0|1>
register_cvar("vip_vip_model_ct", "1"); // czy ustawiac model dla VIPa CT <0|1>
register_cvar("vip_vip_model_tt", "1"); // czy ustawiac model dla VIPa TT <0|1>
register_cvar("vip_vip_flag", "t"); // <flaga vipa|"">
register_cvar("vip_girl_flag", "p"); // <flaga dziewczyny|"">
register_cvar("vip_admin_flag", "d"); // <flaga admina|"">
register_cvar("vip_recharge", "1"); // czy dawac pelen magazynek za zabicie wroga <0|1>
register_cvar("vip_add_money", "200"); // <liczba dodatkowych pieniedzy za zwykle zabicie>
register_cvar("vip_add_hs_money", "700"); // <liczba dodatkowych pieniedzy za zabicie HeadShotem>
register_cvar("vip_money_limit", "16000"); // <limit pieniedzy>
register_cvar("vip_add_frags", "1"); // <liczba dodatkowych fragow za zwykle zabicie>
register_cvar("vip_add_hs_frags", "2"); // <liczba dodatkowych fragow za zabicie HeadShotem>
register_cvar("vip_add_hp", "15"); // <liczba dodatkowych punktow zycia za zwykle zabicie>
register_cvar("vip_add_hs_hp", "30"); // <liczba dodatkowych punktow zycia za zabicie HeadShotem>
register_cvar("vip_hp_limit", "255"); // <limit punktow zycia>
register_cvar("vip_armor_limit", "511"); // <limit punktow kamizelki>
register_cvar("vip_screen_flash", "1"); // czy wyswietlac zielone migniecie na poczatku rundy <0|1>
register_cvar("vip_powitanie_txt", "1"); // czy wyswietlac powitanie vipa na serwerze <0|1>
register_cvar("vip_powitanie_wav", "1"); // czy witac vipow emisja pliku wav <0|1>
register_cvar("vip_deagle", "6"); // ilosc magazynkow amunicji w deaglu <0|1-6>
register_cvar("vip_fiveseven", "0"); // ilosc magazynkow amunicji w fiveseven <0|1-6>
register_cvar("vip_m4", "0"); // ilosc magazynkow amunicji w m4a1 <0|1-4>
register_cvar("vip_ak", "0"); // ilosc magazynkow amunicji w ak47 <0|1-4>
register_cvar("vip_awp", "0"); // ilosc magazynkow amunicji w awp <0|1-4>
register_cvar("vip_krowa", "0"); // ilosc magazynkow amunicji w m249 <0|1-3>
register_cvar("vip_shotgun", "0"); // ilosc magazynkow amunicji w xm1014 <0|1-6>
register_cvar("vip_online_info", "1"); // czy pokazywac liste vipow online <0|1>
register_cvar("vip_info", ""); // <nazwa pliku TXT z informacja o VIPie w formacie HTML|"">
// pobranie CVARow tekstowych
get_cvar_string("vip_vip_flag",VIP,31);
get_cvar_string("vip_girl_flag",GIRL,31);
get_cvar_string("vip_admin_flag",ADMIN,31);
get_cvar_string("vip_info",INFO,63);
// komendy
if(get_cvar_num("vip_online_info")){
register_clcmd("say /vipy","pokaz_vipy_online");
register_clcmd("say /vips","pokaz_vipy_online");
}
if(!equal(VIP,"")){
register_clcmd("say /vip","pokaz_informacje_o_vipie");
}
}
public plugin_precache(){
// wczytanie strojow
if(get_cvar_num("vip_girl_model_ct"))
precache_generic("models/player/GirlCT/GirlCT.mdl");
if(get_cvar_num("vip_girl_model_tt"))
precache_model("models/player/GirlTT/GirlTT.mdl");
if(get_cvar_num("vip_admin_model_ct"))
precache_model("models/player/AdminCT/AdminCT.mdl");
if(get_cvar_num("vip_admin_model_tt"))
precache_model("models/player/AdminTT/AdminTT.mdl");
if(get_cvar_num("vip_vip_model_ct"))
precache_model("models/player/VipCT/VipCT.mdl");
if(get_cvar_num("vip_vip_model_rt"))
precache_model("models/player/VipTT/VipTT.mdl");
if(get_cvar_num("vip_powitanie_wav"))
precache_sound("misc/vip_siema.wav");
}
public client_putinserver(id){
// powitanie vipa
if(is_user_connected(id) && (get_user_flags(id) & read_flags(VIP))){
if(get_cvar_num("vip_powitanie_txt")){
get_user_name(id,tmp,31);
set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
show_hudmessage(0, "Przychodzi Vip^n %s^n Witamy!!!",tmp);
}
if(get_cvar_num("vip_powitanie_wav"))
client_cmd(0,"spk misc/vip_siema");
}
}
public MessageScoreAttrib(iMsgID, iDest, iReceiver){
// status VIP w tabeli punktow
new id = get_msg_arg_int(1);
if(is_user_connected(id) && get_user_flags(id) & read_flags(VIP)){
if(is_user_alive(id)){
if(cs_get_user_team(id)==CS_TEAM_T && user_has_weapon(id, CSW_C4) && cs_get_user_plant(id)){
set_msg_arg_int(2, ARG_BYTE, SCOREATTRIB_BOMB);
} else {
set_msg_arg_int(2, ARG_BYTE, SCOREATTRIB_VIP);
}
} else {
set_msg_arg_int(2, ARG_BYTE, SCOREATTRIB_DEAD);
}
}
}
public pokaz_informacje_o_vipie(id){
// komenda /vip
if(is_user_connected(id)){
show_motd(id, INFO, "Informacje o VIPie");
}
}
public SpawnedEvent(id){
// event respawnu
set_task(1.0,"Spawned",id);
}
public Spawned(id){
if(!is_user_alive(id))
return PLUGIN_HANDLED;
// odzianie w nowy stroj
if(get_user_flags(id) & read_flags(GIRL)){
if(cs_get_user_team(id)==CS_TEAM_CT && get_cvar_num("vip_girl_model_ct")){
cs_reset_user_model(id);
cs_set_user_model(id, "GirlCT");
}
if(cs_get_user_team(id)==CS_TEAM_T && get_cvar_num("vip_girl_model_tt")){
cs_reset_user_model(id);
cs_set_user_model(id, "GirlTT");
}
} else if(get_user_flags(id) & read_flags(ADMIN)){
if(cs_get_user_team(id)==CS_TEAM_CT && get_cvar_num("vip_admin_model_ct")){
cs_reset_user_model(id);
cs_set_user_model(id, "AdminCT");
}
if(cs_get_user_team(id)==CS_TEAM_T && get_cvar_num("vip_admin_model_tt")){
cs_reset_user_model(id);
cs_set_user_model(id, "AdminTT");
}
} else if(get_user_flags(id) & read_flags(VIP)){
if(cs_get_user_team(id)==CS_TEAM_CT && get_cvar_num("vip_vip_model_ct")){
cs_reset_user_model(id);
cs_set_user_model(id, "VipCT");
}
if(cs_get_user_team(id)==CS_TEAM_T && get_cvar_num("vip_vip_model_tt")){
cs_reset_user_model(id);
cs_set_user_model(id, "VipTT");
}
}
if (get_user_flags(id) & read_flags(VIP)){
// dodanie punktow kamizelki
fm_set_user_armor(id, get_user_armor(id)+get_cvar_num("vip_armor"));
if(get_user_armor(id)>get_cvar_num("vip_armor_limit"))fm_set_user_armor(id, get_cvar_num("vip_armor_limit"));
// dodanie zycia
fm_set_user_health(id, get_user_health(id)+get_cvar_num("vip_hp"));
if(get_user_health(id)>get_cvar_num("vip_hp_limit"))fm_set_user_health(id, get_cvar_num("vip_hp_limit"));
// dodanie pieniedzy
cs_set_user_money(id, cs_get_user_money(id) + get_cvar_num("vip_money"));
if(cs_get_user_money(id)>get_cvar_num("vip_money_limit"))cs_set_user_money(id, get_cvar_num("vip_money_limit"));
// dodanie granatow
give_item(id,"weapon_hegrenade");
give_item(id,"weapon_flashbang");
if(get_cvar_num("vip_fb")>1)
give_item(id,"weapon_flashbang");
give_item(id,"weapon_smokegrenade");
// dodanie pistoletow
if(get_cvar_num("vip_deagle")){
fm_give_item(id, "weapon_deagle");
MAGAZYNEK=get_cvar_num("vip_deagle");
while(--MAGAZYNEK)fm_give_item(id, "ammo_50ae");
}
if(get_cvar_num("vip_fiveseven")){
fm_give_item(id, "weapon_fiveseven");
MAGAZYNEK=get_cvar_num("vip_fiveseven");
while(--MAGAZYNEK)fm_give_item(id, "ammo_57mm");
}
// dodanie broni
if(get_cvar_num("vip_m4")){
fm_give_item(id, "weapon_m4a1");
MAGAZYNEK=get_cvar_num("vip_m4");
while(--MAGAZYNEK)fm_give_item(id, "ammo_556nato");
}
if(get_cvar_num("vip_ak")){
fm_give_item(id, "weapon_ak47");
MAGAZYNEK=get_cvar_num("vip_ak");
while(--MAGAZYNEK)fm_give_item(id, "ammo_762nato");
}
if(get_cvar_num("vip_awp")){
fm_give_item(id, "weapon_awp");
MAGAZYNEK=get_cvar_num("vip_awp");
while(--MAGAZYNEK)fm_give_item(id, "ammo_338magnum");
}
if(get_cvar_num("vip_krowa")){
fm_give_item(id, "weapon_m249");
MAGAZYNEK=get_cvar_num("vip_krowa");
while(--MAGAZYNEK)fm_give_item(id, "ammo_556nato");
}
if(get_cvar_num("vip_shotgun")){
fm_give_item(id, "weapon_xm1014");
MAGAZYNEK=get_cvar_num("vip_shotgun");
while(--MAGAZYNEK)fm_give_item(id, "ammo_buckshot");
}
// dodanie defuse kita
if(get_cvar_num("vip_defuse_kit"))fm_give_item(id, "item_thighpack");
// dodanie multijumpa
moze_skoczyc[id]=get_cvar_num("vip_skoki");
// zielony blysk
if(get_cvar_num("vip_screen_flash"))screen_flash(id, 0, 255, 0, 100);
}
return PLUGIN_CONTINUE;
}
public DeathMsg(){
// id = zabojca
new id = read_data(1);
new hs = read_data(3);
// uzupelnienie magazynkow
if(is_user_alive(id))
if(get_cvar_num("vip_recharge"))recharge(id);
if(is_user_connected(id) && (get_user_flags(id) & read_flags(VIP))){
// dodanie pieniedzy za zabicie
cs_set_user_money(id, cs_get_user_money(id) + (hs?get_cvar_num("vip_add_hs_money"):get_cvar_num("vip_add_money")));
// limitacja maksymalnej ilosci gotowki
if(cs_get_user_money(id)>get_cvar_num("vip_money_limit"))cs_set_user_money(id, get_cvar_num("vip_money_limit"));
// dodanie fragow za zabicie
set_user_frags(id, get_user_frags(id) + (hs?get_cvar_num("vip_add_hs_frags"):get_cvar_num("vip_add_frags")));
// dodanie zycia za zabicie
fm_set_user_health(id, get_user_health(id) + (hs?get_cvar_num("vip_add_hs_hp"):get_cvar_num("vip_add_hp")));
// limitacja maksymalnej liczby HP
if(get_user_health(id)>get_cvar_num("vip_hp_limit"))fm_set_user_health(id, get_cvar_num("vip_hp_limit"));
// dynamiczna aktualizacja tablicy punktow
message_begin(MSG_ALL,85)
write_byte(id)
write_short(get_user_frags(id))
write_short(get_user_deaths(id))
write_short(0)
write_short(get_user_team(id))
message_end()
}
}
public CmdStart(id, uc_handle){
if(!is_user_alive(id))
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
// onsluga multiskoku
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && moze_skoczyc[id] && (get_user_flags(id) & read_flags(VIP)))
{
--moze_skoczyc[id];
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
moze_skoczyc[id] = get_cvar_num("vip_skoki");
return FMRES_IGNORED;
}
public CurWeapon(id){
// zmiana predkosci maksymalnej
if(get_user_flags(id) & read_flags(VIP))
set_user_maxspeed(id, get_user_maxspeed(id) + get_cvar_num("vip_speed"));
return PLUGIN_CONTINUE;
}
public pokaz_vipy_online(id){
// lista vipow online
new vipy[33][32];
new str[1024];
new count=0;
new i,n=get_maxplayers();
for(i=1; i<=n; ++i){
if(is_user_connected(i) && (get_user_flags(i) & read_flags(VIP))){
get_user_name(i, vipy[count], 31);
++count;
}
}
if(count){
format(str,1023, "VIP%s online:^x01 ",str, vipy[i], (count>1?"y":""));
for(i=0; i<count; ++i){
format(str,1023,"%s%s%s",str, vipy[i], (i<count-1?"^x04,^x01 ":"^x04."));
}
ColorChat(id,GREEN, str);
} else {
ColorChat(id,RED, "Brak VIPow online.");
}
return PLUGIN_HANDLED;
}
public recharge(id){
if(!is_user_alive(id))
return;
// uzupelnienie magazynkow - stale
switch(get_user_weapon(id)){
case CSW_GLOCK18: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_glock18", id),20)
case CSW_USP: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_usp", id),12)
case CSW_P228: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_p228", id),13)
case CSW_DEAGLE: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_deagle", id),7)
case CSW_FIVESEVEN: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_fiveseven", id),20)
case CSW_ELITE: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_elite", id),30)
case CSW_M3: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_m3", id),8)
case CSW_XM1014: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_xm1014", id),7)
case CSW_TMP: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_tmp", id),30)
case CSW_MAC10: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_mac10", id),30)
case CSW_MP5NAVY: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_mp5navy", id),30)
case CSW_UMP45: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_ump45", id),25)
case CSW_P90: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_p90", id),50)
case CSW_FAMAS: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_famas", id),30)
case CSW_GALIL: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_galil", id),35)
case CSW_AK47: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_ak47", id),30)
case CSW_M4A1: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_m4a1", id),30)
case CSW_SCOUT: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_scout", id),10)
case CSW_SG552: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_sg552", id),30)
case CSW_AUG: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_aug", id),30)
case CSW_SG550: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_sg550", id),30)
case CSW_G3SG1: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_g3sg1", id),20)
case CSW_AWP: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_awp", id),10)
case CSW_M249: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_m249", id),100)
}
}
public screen_flash(id,red,green,blue,alpha){
// zielony blysk
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id);
write_short(1<<12);
write_short(1<<12);
write_short(1<<12);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(alpha);
message_end();
}
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <colorchat>
// definicje tablicy punktow
#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD (1<<0)
#define SCOREATTRIB_BOMB (1<<1)
#define SCOREATTRIB_VIP (1<<2)
// pojemnik megajumpow
new moze_skoczyc[33];
// zmienne ilosciowe
new MAGAZYNEK;
// flagi
new VIP[32];
new GIRL[32];
new ADMIN[32];
// stringi
new INFO[64];
// zmienna operacyjna
new string:tmp[128];
public plugin_init(){
// inicjalizacja
register_plugin("VIP Ultimate", "1.1", "Benio101");
// nasluchiwacze
RegisterHam(Ham_Spawn, "player", "SpawnedEvent", 1);
register_event("DeathMsg", "DeathMsg", "a");
register_event("CurWeapon","CurWeapon","be","1=1");
register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");
register_forward(FM_CmdStart, "CmdStart");
// CVARy
register_cvar("vip_hp", "10"); // <liczba dodawanego zycia na poczatku kazdej rundy>
register_cvar("vip_he", "2"); // <liczba dodawanych granatow HE na poczatku kazdej rundy>
register_cvar("vip_fb", "2"); // <liczba dodawanych Flashy na poczatku kazdej rundy>
register_cvar("vip_sg", "2"); // <liczba dodawanych Smoke Grenadow na poczatku kazdej rundy>
register_cvar("vip_defuse_kit", "1"); // czy dawac defuse kit na poczatku kazdej rundy <0|1>
register_cvar("vip_armor", "50"); // <liczba dodawanych punktow kamizelki na poczatku kazdej rundy>
register_cvar("vip_speed", "50"); // <liczba dodawanych punktow szybkosci>
register_cvar("vip_money", "1000"); // <liczba dodawanych dolarow na poczatku kazdej rundy>
register_cvar("vip_skoki", "2"); // <liczba mozliwych do wykonania skokow w powietrzu>
register_cvar("vip_napis", "1"); // czy w tabeli punktow ma widniec VIP przy nicku <0|1>
register_cvar("vip_girl_model_ct", "1"); // czy ustawiac model dla kobiety CT <0|1>
register_cvar("vip_girl_model_tt", "1"); // czy ustawiac model dla kobiety TT <0|1>
register_cvar("vip_admin_model_ct", "1"); // czy ustawiac model dla Admina CT <0|1>
register_cvar("vip_admin_model_tt", "1"); // czy ustawiac model dla Admina TT <0|1>
register_cvar("vip_vip_model_ct", "1"); // czy ustawiac model dla VIPa CT <0|1>
register_cvar("vip_vip_model_tt", "1"); // czy ustawiac model dla VIPa TT <0|1>
register_cvar("vip_vip_flag", "t"); // <flaga vipa|"">
register_cvar("vip_girl_flag", "p"); // <flaga dziewczyny|"">
register_cvar("vip_admin_flag", "d"); // <flaga admina|"">
register_cvar("vip_recharge", "1"); // czy dawac pelen magazynek za zabicie wroga <0|1>
register_cvar("vip_add_money", "200"); // <liczba dodatkowych pieniedzy za zwykle zabicie>
register_cvar("vip_add_hs_money", "700"); // <liczba dodatkowych pieniedzy za zabicie HeadShotem>
register_cvar("vip_money_limit", "16000"); // <limit pieniedzy>
register_cvar("vip_add_frags", "1"); // <liczba dodatkowych fragow za zwykle zabicie>
register_cvar("vip_add_hs_frags", "2"); // <liczba dodatkowych fragow za zabicie HeadShotem>
register_cvar("vip_add_hp", "15"); // <liczba dodatkowych punktow zycia za zwykle zabicie>
register_cvar("vip_add_hs_hp", "30"); // <liczba dodatkowych punktow zycia za zabicie HeadShotem>
register_cvar("vip_hp_limit", "255"); // <limit punktow zycia>
register_cvar("vip_armor_limit", "511"); // <limit punktow kamizelki>
register_cvar("vip_screen_flash", "1"); // czy wyswietlac zielone migniecie na poczatku rundy <0|1>
register_cvar("vip_powitanie_txt", "1"); // czy wyswietlac powitanie vipa na serwerze <0|1>
register_cvar("vip_powitanie_wav", "1"); // czy witac vipow emisja pliku wav <0|1>
register_cvar("vip_deagle", "6"); // ilosc magazynkow amunicji w deaglu <0|1-6>
register_cvar("vip_fiveseven", "0"); // ilosc magazynkow amunicji w fiveseven <0|1-6>
register_cvar("vip_m4", "0"); // ilosc magazynkow amunicji w m4a1 <0|1-4>
register_cvar("vip_ak", "0"); // ilosc magazynkow amunicji w ak47 <0|1-4>
register_cvar("vip_awp", "0"); // ilosc magazynkow amunicji w awp <0|1-4>
register_cvar("vip_krowa", "0"); // ilosc magazynkow amunicji w m249 <0|1-3>
register_cvar("vip_shotgun", "0"); // ilosc magazynkow amunicji w xm1014 <0|1-6>
register_cvar("vip_online_info", "1"); // czy pokazywac liste vipow online <0|1>
register_cvar("vip_info", ""); // <nazwa pliku TXT z informacja o VIPie w formacie HTML|"">
// pobranie CVARow tekstowych
get_cvar_string("vip_vip_flag",VIP,31);
get_cvar_string("vip_girl_flag",GIRL,31);
get_cvar_string("vip_admin_flag",ADMIN,31);
get_cvar_string("vip_info",INFO,63);
// komendy
if(get_cvar_num("vip_online_info")){
register_clcmd("say /vipy","pokaz_vipy_online");
register_clcmd("say /vips","pokaz_vipy_online");
}
if(!equal(VIP,"")){
register_clcmd("say /vip","pokaz_informacje_o_vipie");
}
}
public plugin_precache(){
// wczytanie strojow
if(get_cvar_num("vip_girl_model_ct"))
precache_generic("models/player/GirlCT/GirlCT.mdl");
if(get_cvar_num("vip_girl_model_tt"))
precache_model("models/player/GirlTT/GirlTT.mdl");
if(get_cvar_num("vip_admin_model_ct"))
precache_model("models/player/AdminCT/AdminCT.mdl");
if(get_cvar_num("vip_admin_model_tt"))
precache_model("models/player/AdminTT/AdminTT.mdl");
if(get_cvar_num("vip_vip_model_ct"))
precache_model("models/player/VipCT/VipCT.mdl");
if(get_cvar_num("vip_vip_model_rt"))
precache_model("models/player/VipTT/VipTT.mdl");
if(get_cvar_num("vip_powitanie_wav"))
precache_sound("misc/vip_siema.wav");
}
public client_putinserver(id){
// powitanie vipa
if(is_user_connected(id) && (get_user_flags(id) & read_flags(VIP))){
if(get_cvar_num("vip_powitanie_txt")){
get_user_name(id,tmp,31);
set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
show_hudmessage(0, "Przychodzi Vip^n %s^n Witamy!!!",tmp);
}
if(get_cvar_num("vip_powitanie_wav"))
client_cmd(0,"spk misc/vip_siema");
}
}
public MessageScoreAttrib(iMsgID, iDest, iReceiver){
// status VIP w tabeli punktow
new id = get_msg_arg_int(1);
if(is_user_connected(id) && get_user_flags(id) & read_flags(VIP)){
if(is_user_alive(id)){
if(cs_get_user_team(id)==CS_TEAM_T && user_has_weapon(id, CSW_C4) && cs_get_user_plant(id)){
set_msg_arg_int(2, ARG_BYTE, SCOREATTRIB_BOMB);
} else {
set_msg_arg_int(2, ARG_BYTE, SCOREATTRIB_VIP);
}
} else {
set_msg_arg_int(2, ARG_BYTE, SCOREATTRIB_DEAD);
}
}
}
public pokaz_informacje_o_vipie(id){
// komenda /vip
if(is_user_connected(id)){
show_motd(id, INFO, "Informacje o VIPie");
}
}
public SpawnedEvent(id){
// event respawnu
set_task(1.0,"Spawned",id);
}
public Spawned(id){
if(!is_user_alive(id))
return PLUGIN_HANDLED;
// odzianie w nowy stroj
if(get_user_flags(id) & read_flags(GIRL)){
if(cs_get_user_team(id)==CS_TEAM_CT && get_cvar_num("vip_girl_model_ct")){
cs_reset_user_model(id);
cs_set_user_model(id, "GirlCT");
}
if(cs_get_user_team(id)==CS_TEAM_T && get_cvar_num("vip_girl_model_tt")){
cs_reset_user_model(id);
cs_set_user_model(id, "GirlTT");
}
} else if(get_user_flags(id) & read_flags(ADMIN)){
if(cs_get_user_team(id)==CS_TEAM_CT && get_cvar_num("vip_admin_model_ct")){
cs_reset_user_model(id);
cs_set_user_model(id, "AdminCT");
}
if(cs_get_user_team(id)==CS_TEAM_T && get_cvar_num("vip_admin_model_tt")){
cs_reset_user_model(id);
cs_set_user_model(id, "AdminTT");
}
} else if(get_user_flags(id) & read_flags(VIP)){
if(cs_get_user_team(id)==CS_TEAM_CT && get_cvar_num("vip_vip_model_ct")){
cs_reset_user_model(id);
cs_set_user_model(id, "VipCT");
}
if(cs_get_user_team(id)==CS_TEAM_T && get_cvar_num("vip_vip_model_tt")){
cs_reset_user_model(id);
cs_set_user_model(id, "VipTT");
}
}
if (get_user_flags(id) & read_flags(VIP)){
// dodanie punktow kamizelki
fm_set_user_armor(id, get_user_armor(id)+get_cvar_num("vip_armor"));
if(get_user_armor(id)>get_cvar_num("vip_armor_limit"))fm_set_user_armor(id, get_cvar_num("vip_armor_limit"));
// dodanie zycia
fm_set_user_health(id, get_user_health(id)+get_cvar_num("vip_hp"));
if(get_user_health(id)>get_cvar_num("vip_hp_limit"))fm_set_user_health(id, get_cvar_num("vip_hp_limit"));
// dodanie pieniedzy
cs_set_user_money(id, cs_get_user_money(id) + get_cvar_num("vip_money"));
if(cs_get_user_money(id)>get_cvar_num("vip_money_limit"))cs_set_user_money(id, get_cvar_num("vip_money_limit"));
// dodanie granatow
give_item(id,"weapon_hegrenade");
give_item(id,"weapon_flashbang");
if(get_cvar_num("vip_fb")>1)
give_item(id,"weapon_flashbang");
give_item(id,"weapon_smokegrenade");
// dodanie pistoletow
if(get_cvar_num("vip_deagle")){
fm_give_item(id, "weapon_deagle");
MAGAZYNEK=get_cvar_num("vip_deagle");
while(--MAGAZYNEK)fm_give_item(id, "ammo_50ae");
}
if(get_cvar_num("vip_fiveseven")){
fm_give_item(id, "weapon_fiveseven");
MAGAZYNEK=get_cvar_num("vip_fiveseven");
while(--MAGAZYNEK)fm_give_item(id, "ammo_57mm");
}
// dodanie broni
if(get_cvar_num("vip_m4")){
fm_give_item(id, "weapon_m4a1");
MAGAZYNEK=get_cvar_num("vip_m4");
while(--MAGAZYNEK)fm_give_item(id, "ammo_556nato");
}
if(get_cvar_num("vip_ak")){
fm_give_item(id, "weapon_ak47");
MAGAZYNEK=get_cvar_num("vip_ak");
while(--MAGAZYNEK)fm_give_item(id, "ammo_762nato");
}
if(get_cvar_num("vip_awp")){
fm_give_item(id, "weapon_awp");
MAGAZYNEK=get_cvar_num("vip_awp");
while(--MAGAZYNEK)fm_give_item(id, "ammo_338magnum");
}
if(get_cvar_num("vip_krowa")){
fm_give_item(id, "weapon_m249");
MAGAZYNEK=get_cvar_num("vip_krowa");
while(--MAGAZYNEK)fm_give_item(id, "ammo_556nato");
}
if(get_cvar_num("vip_shotgun")){
fm_give_item(id, "weapon_xm1014");
MAGAZYNEK=get_cvar_num("vip_shotgun");
while(--MAGAZYNEK)fm_give_item(id, "ammo_buckshot");
}
// dodanie defuse kita
if(get_cvar_num("vip_defuse_kit"))fm_give_item(id, "item_thighpack");
// dodanie multijumpa
moze_skoczyc[id]=get_cvar_num("vip_skoki");
// zielony blysk
if(get_cvar_num("vip_screen_flash"))screen_flash(id, 0, 255, 0, 100);
}
return PLUGIN_CONTINUE;
}
public DeathMsg(){
// id = zabojca
new id = read_data(1);
new hs = read_data(3);
// uzupelnienie magazynkow
if(is_user_alive(id))
if(get_cvar_num("vip_recharge"))recharge(id);
if(is_user_connected(id) && (get_user_flags(id) & read_flags(VIP))){
// dodanie pieniedzy za zabicie
cs_set_user_money(id, cs_get_user_money(id) + (hs?get_cvar_num("vip_add_hs_money"):get_cvar_num("vip_add_money")));
// limitacja maksymalnej ilosci gotowki
if(cs_get_user_money(id)>get_cvar_num("vip_money_limit"))cs_set_user_money(id, get_cvar_num("vip_money_limit"));
// dodanie fragow za zabicie
set_user_frags(id, get_user_frags(id) + (hs?get_cvar_num("vip_add_hs_frags"):get_cvar_num("vip_add_frags")));
// dodanie zycia za zabicie
fm_set_user_health(id, get_user_health(id) + (hs?get_cvar_num("vip_add_hs_hp"):get_cvar_num("vip_add_hp")));
// limitacja maksymalnej liczby HP
if(get_user_health(id)>get_cvar_num("vip_hp_limit"))fm_set_user_health(id, get_cvar_num("vip_hp_limit"));
// dynamiczna aktualizacja tablicy punktow
message_begin(MSG_ALL,85)
write_byte(id)
write_short(get_user_frags(id))
write_short(get_user_deaths(id))
write_short(0)
write_short(get_user_team(id))
message_end()
}
}
public CmdStart(id, uc_handle){
if(!is_user_alive(id))
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
// onsluga multiskoku
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && moze_skoczyc[id] && (get_user_flags(id) & read_flags(VIP)))
{
--moze_skoczyc[id];
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
moze_skoczyc[id] = get_cvar_num("vip_skoki");
return FMRES_IGNORED;
}
public CurWeapon(id){
// zmiana predkosci maksymalnej
if(get_user_flags(id) & read_flags(VIP))
set_user_maxspeed(id, get_user_maxspeed(id) + get_cvar_num("vip_speed"));
return PLUGIN_CONTINUE;
}
public pokaz_vipy_online(id){
// lista vipow online
new vipy[33][32];
new str[1024];
new count=0;
new i,n=get_maxplayers();
for(i=1; i<=n; ++i){
if(is_user_connected(i) && (get_user_flags(i) & read_flags(VIP))){
get_user_name(i, vipy[count], 31);
++count;
}
}
if(count){
format(str,1023, "VIP%s online:^x01 ",str, vipy[i], (count>1?"y":""));
for(i=0; i<count; ++i){
format(str,1023,"%s%s%s",str, vipy[i], (i<count-1?"^x04,^x01 ":"^x04."));
}
ColorChat(id,GREEN, str);
} else {
ColorChat(id,RED, "Brak VIPow online.");
}
return PLUGIN_HANDLED;
}
public recharge(id){
if(!is_user_alive(id))
return;
// uzupelnienie magazynkow - stale
switch(get_user_weapon(id)){
case CSW_GLOCK18: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_glock18", id),20)
case CSW_USP: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_usp", id),12)
case CSW_P228: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_p228", id),13)
case CSW_DEAGLE: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_deagle", id),7)
case CSW_FIVESEVEN: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_fiveseven", id),20)
case CSW_ELITE: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_elite", id),30)
case CSW_M3: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_m3", id),8)
case CSW_XM1014: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_xm1014", id),7)
case CSW_TMP: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_tmp", id),30)
case CSW_MAC10: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_mac10", id),30)
case CSW_MP5NAVY: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_mp5navy", id),30)
case CSW_UMP45: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_ump45", id),25)
case CSW_P90: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_p90", id),50)
case CSW_FAMAS: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_famas", id),30)
case CSW_GALIL: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_galil", id),35)
case CSW_AK47: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_ak47", id),30)
case CSW_M4A1: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_m4a1", id),30)
case CSW_SCOUT: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_scout", id),10)
case CSW_SG552: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_sg552", id),30)
case CSW_AUG: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_aug", id),30)
case CSW_SG550: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_sg550", id),30)
case CSW_G3SG1: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_g3sg1", id),20)
case CSW_AWP: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_awp", id),10)
case CSW_M249: cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_m249", id),100)
}
}
public screen_flash(id,red,green,blue,alpha){
// zielony blysk
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id);
write_short(1<<12);
write_short(1<<12);
write_short(1<<12);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(alpha);
message_end();
}
Menu vipa:
M4
AK47
AWP
KROWA
FAMAS
Menu od 3 rundy ??
Bardzo proszę o szybką pomoc! DAM +++++++++++