Решил переписать плагин admin_cheat.amxx под себя. Убрал все ненужное, но остался один вопрос. Какие существуют методы, для добавления счетчика в плагин(т.е. можно возрождаться 1 раз в три раунда?)
это sma плагина, вдруг кому понадобится.
Переделывать сам плагин никого не прошу, поросто подскажите где можно почитать про это, или напишите тут что да как. Заранее спасибо)
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fun>
#define Keysmenu_1 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) //Keys: 1234567890
#define Keysmenu_2 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) //Keys: 1234567890
#define ADMIN_ACCESS ADMIN_LEVEL_A
// Server Sort Name
new const g_Client[] = "[RBgame]";
new bool:restart_event = false;
new bool:vibri_event = false;
new sprSaber;
new invisibility[33][2];
new chameleon[33][2];
new footsteps[33][2];
public plugin_init() {
register_plugin("Admin Cheater Menu", "3.0", "te$co")
register_dictionary( "adminmenu.txt");
register_cvar("write_log_file","1");
register_concmd("glow", "RandGlow", ADMIN_ACCESS, "All Player Random Glow.")
register_concmd("adminmenu", "ShowAdminMenu", ADMIN_ACCESS, "Open Admin Menu #1")
register_concmd("adminmenu2", "ShowAdminMenu2", ADMIN_ACCESS, "Open Admin Menu #2")
register_menucmd(register_menuid("menu_1"), Keysmenu_1, "Pressedmenu_1")
register_menucmd(register_menuid("menu_2"), Keysmenu_2, "Pressedmenu_2")
register_logevent("RoundEnd", 2, "1=Round_End")
}
public plugin_precache()
{
sprSaber = precache_model("sprites/laserbeam.spr")
precache_sound("admin/reset.wav")
precache_sound("admin/event_start.wav")
precache_model("models/dildo/ct_dildo.mdl")
precache_model("models/dildo/te_dildo.mdl")
return PLUGIN_CONTINUE;
}
public client_putinserver(id)
{
if(is_user_bot(id))
return PLUGIN_HANDLED;
invisibility[id][0] = 0;
footsteps[id][0] = 0;
chameleon[id][0] = 0;
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
return PLUGIN_CONTINUE;
}
public client_disconnect(id)
{
if(is_user_bot(id))
return PLUGIN_HANDLED;
invisibility[id][0] = 0;
footsteps[id][0] = 0;
chameleon[id][0] = 0;
return PLUGIN_CONTINUE;
}
public ShowAdminMenu(id) {
if (get_user_flags(id) & ADMIN_ACCESS)
{
show_menu(id, Keysmenu_1, "Админские читы #1^n^n1. AK47/M4a1 + Deagle^n2. AWP + Deagle^n3. Возрождение^n4. $16000 ^n5. Гранаты^n6. Прохождение сквозь стены^n7. C4/Defusekit^n8. Тихий шаг^n\y9. Далее^n^n\r0. Выход", -1, "menu_1") // Display menu
return PLUGIN_CONTINUE
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"ACCES_MSG");
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public Pressedmenu_1(id, key) {
new team[32], User[32];
get_user_team(id,team,32);
get_user_name(id,User,32);
switch (key) {
case 0: { // 1
if(is_user_alive(id))
{
strip_user_weapons(id) // No more weapons
if(equal(team,"T", 1))
{
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"WEAPONS_TE")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(AK47)", User)
}
else
{
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"WEAPONS_CT")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(M4a1)", User)
}
give_item(id,"weapon_deagle")
give_item(id,"weapon_knife")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
set_user_armor(id, 100)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 1: { // 2
if(is_user_alive(id))
{
strip_user_weapons(id) // No more weapons
give_item(id,"weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_knife")
set_user_armor(id, 100)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"AWP_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(AWP)", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 2: { // 3
ExecuteHam(Ham_CS_RoundRespawn, id);
set_user_armor(id, 100)
set_user_godmode(id, 1)
set_user_rendering(id, kRenderFxGlowShell, 0, 200, 0, kRenderNormal,30)
set_task(5.0,"respawn", id)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"RESPAWN_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Revive", User);
client_cmd(id, "adminmenu")
}
case 3: { // 4
new money = cs_get_user_money(id);
if(money < 16000)
{
cs_set_user_money(id, 16000);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"MONEY_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: $16000", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"ALREADY_MONEY")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 4: { // 5
if(is_user_alive(id))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
set_user_armor(id, 100)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"NADE_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Nades", User);
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 5: { // 6
if(is_user_alive(id))
{
new ghost = get_user_noclip(id);
if( ghost == 0 ) {
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"GHOST_ON_MSG")
set_user_noclip(id, 1);
}else {
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"GHOST_OFF_MSG")
set_user_noclip(id, 0);
}
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Noclip", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 6: { // 7
if(is_user_alive(id))
{
if(equal(team,"T", 1))
{
give_item(id,"weapon_c4")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"C4_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(C4)", User)
}
else
{
cs_set_user_defuse(id)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DEFUSEKIT_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(Defusekit)", User)
}
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 7: { // 8
if(is_user_alive(id))
{
if(footsteps[id][0] == 0)
{
set_user_footsteps(id, 1);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FOOTSTEPS_ON_MSG")
footsteps[id][0] = 1;
}
else
{
set_user_footsteps(id, 0);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FOOTSTEPS_OFF_MSG")
footsteps[id][0] = 0;
}
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Footsteps (On/Off)", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 8: { // 9
client_cmd(id, "adminmenu2")
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED
}
public ShowAdminMenu2(id) {
if (get_user_flags(id) & ADMIN_ACCESS)
{
show_menu(id, Keysmenu_2, "Админские читы #2^n^n1. Хамелеон^n2. Восстановление(+1HP/s)^n3. Оружие в штанах^n4. Невидимость^n5. Битва на самотыках^n^n\r0. Назад", -1, "menu_2") // Display menu
return PLUGIN_CONTINUE
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"ACCES_MSG")
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public Pressedmenu_2(id, key) {
new team[32], User[32];
get_user_team(id,team,32);
get_user_name(id,User,32);
switch (key) {
case 0: { // 1
if(is_user_alive(id))
{
if(chameleon[id][0] == 0)
{
if(equal(team,"T", 1))
{
cs_set_user_model(id, "gign")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"CHAMELEON_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Chameleon(CT)", User)
}
else
{
cs_set_user_model(id, "leet")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"CHAMELEON_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Chameleon(TE)", User)
}
chameleon[id][0] = 1;
}
else
{
cs_reset_user_model(id);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"RESET_CHAMELEON_MSG")
chameleon[id][0] = 0;
}
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 1: { // 2
if(is_user_alive(id))
{
new hp = get_user_health(id);
if(hp < 100)
{
set_task(1.0,"gyogyitas", id)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"HP_REGEN_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: +1HP/s", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"HP_FULL_MSG", hp)
return PLUGIN_HANDLED;
}
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 2: { // 3
if(is_user_alive(id))
{
new tid[2];
tid[0] = id;
tid[1] = 1;
set_task(0.1,"lightsaber",0,tid,2,"a",300);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"LIGHTSABER_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Lightsaber", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 3: { // 4
if(is_user_alive(id))
{
if(invisibility[id][0] == 0)
{
set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransAdd,3);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FULL_INVISIBILITY_MSG")
invisibility[id][0] = 1;
}
else if(invisibility[id][0] == 1)
{
set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransAdd,50);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"INVISIBILITY_MSG")
invisibility[id][0] = 2;
}
else if(invisibility[id][0] == 2)
{
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"INVISIBILITY_OFF_MSG")
invisibility[id][0] = 0;
}
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Invisibility", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 4: { // 5
if(vibri_event == false)
{
vibri_event = true;
set_task(0.1, "vibrator", 0);
client_cmd(0, "spk admin/event_start.wav"); // Play Sound
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"VIB_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Dildo Event", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"VIB_ALREADY_RUN_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 6: { // 0
client_cmd(id, "adminmenu")
}
}
return PLUGIN_HANDLED;
}
/*----------------------------------------------!!!Fьggvйnyek!!!----------------------------------------------*/
public respawn(id) {
set_user_godmode(id, 0);
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
return PLUGIN_CONTINUE;
}
public gyogyitas(id) {
new hp = get_user_health(id);
if(hp < 100)
{
set_user_health(id, hp + 1);
set_task(1.0,"gyogyitas", id);
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"HP_END_MSG", hp)
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
/*----------------------------------------------LЙZERKARD----------------------------------------------*/
public sqrt(num)
{
new div = num;
new result = 1;
while (div > result) // end when div == result, or just below
{
div = (div + result) / 2; // take mean value as new divisor
result = num / div;
}
return div;
}
public lightsaber(id[])
{
new vec[3];
new aimvec[3];
new lseffvec[3];
new length;
new speed = 65;
get_user_origin(id[0],vec,1);
get_user_origin(id[0],aimvec,2);
lseffvec[0]=aimvec[0]-vec[0];
lseffvec[1]=aimvec[1]-vec[1];
lseffvec[2]=aimvec[2]-vec[2];
length=sqrt(lseffvec[0]*lseffvec[0]+lseffvec[1]*lseffvec[1]+lseffvec[2]*lseffvec[2]);
lseffvec[0]=lseffvec[0]*speed/length;
lseffvec[1]=lseffvec[1]*speed/length;
lseffvec[2]=lseffvec[2]*speed/length;
new vorigin[3];
new maxpl = get_maxplayers() +1;
new teama[32],teamv[32];
get_user_team(id[0],teama,31);
for(new a = 1; a < maxpl; a++)
{
if(is_user_alive(a) != 0)
{
get_user_origin(a,vorigin);
if (get_distance(vec,vorigin)<100)
{
if(a != id[0])
{
get_user_team(a,teamv,31);
if(!equal(teama,teamv,2))
{
if(id[1] != 0)
{
user_kill(a,id[0]);
new frag = get_user_frags(id[0]);
set_user_frags(id[0], frag + 1);
client_print(id[0], print_chat, "%s %L",g_Client, LANG_PLAYER,"JEDY_MSG")
}
}
else if(id[1] == 2)
{
user_kill(a,id[0]);
new frag = get_user_frags(id[0]);
set_user_frags(id[0], frag + 1);
client_print(id[0], print_chat, "%s %L",g_Client, LANG_PLAYER,"JEDY_MSG")
}
}
}
}
}
// beam effect between point and entity
message_begin( MSG_BROADCAST,SVC_TEMPENTITY);
write_byte ( 1 ); //TE_BEAMENTPOINT 1
write_short (id[0]); // ent
write_coord (lseffvec[0]+vec[0]); //end position
write_coord (lseffvec[1]+vec[1]);
write_coord (lseffvec[2]+vec[2]+10);
write_short (sprSaber); // sprite
write_byte (0); // start frame
write_byte (15); // frame rate in 0.1's
write_byte (1); // byte (life in 0.1's
write_byte (20); // line width in 0.1's
write_byte (5); // noise amplitude in 0.01's
write_byte (0); // RGB color
write_byte (200);
write_byte (0);
write_byte (255); // brightness
write_byte (10); // scroll speed in 0.1's
message_end();
return PLUGIN_CONTINUE;
}
/*----------------------------------------------LЙZERKARD-END------------------------------------------*/
/*----------------------------------------------VIBRATOR-START-----------------------------------------*/
public vibrator(first) {
if(vibri_event == true)
{
new players[32], team[32], num, player, clip, ammo, wpnid;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
wpnid = get_user_weapon(player,clip,ammo);
if((is_user_alive(player)) && (wpnid != CSW_KNIFE))
{
get_user_team(player,team,32);
strip_user_weapons(player);
give_item(player, "weapon_knife");
set_task(0.1, "RandGlow"); // Glow
if(first == 0)
{
set_user_health(player, 255)
set_user_armor(player, 255)
}
if(equal(team,"T", 1))
entity_set_string(player, EV_SZ_viewmodel, "models/dildo/te_dildo.mdl");
else
entity_set_string(player, EV_SZ_viewmodel, "models/dildo/ct_dildo.mdl");
}
}
set_task(0.1, "vibrator", 1); // Knife Check
}
else
{
client_print(0, print_chat, "%s %L",g_Client, LANG_PLAYER,"EVENT_END_MSG")
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
/*----------------------------------------------VIBRATOR-END------------------------------------------*/
public RoundEnd() {
// MAx Player numb
new maxplayers = get_maxplayers()+1;
for(new id = 1; id < maxplayers; id++)
{
if(chameleon[id][0] == 1)
{
cs_reset_user_model(id); // Ruha Reset
chameleon[id][0] = 0;
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"RESET_CHAMELEON_MSG")
}
if(invisibility[id][0] >= 1)
{
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
invisibility[id][0] = 0;
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"INVISIBILITY_OFF_MSG")
}
if(footsteps[id][0] == 1)
{
set_user_footsteps(id, 1); // Lepeshangok be!
footsteps[id][0] = 0;
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FOOTSTEPS_OFF_MSG")
}
}
if(vibri_event == true)
{
new players[32], team[32], num, player;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
get_user_team(player,team,32);
if(is_user_alive(player))
{
strip_user_weapons(player) // No more weapons
if(equal(team,"T", 1))
{
give_item(player,"weapon_ak47")
give_item(player,"ammo_762nato")
give_item(player,"ammo_762nato")
give_item(player,"ammo_762nato")
give_item(player,"ammo_762nato")
}
else
{
give_item(player,"weapon_m4a1")
give_item(player,"ammo_556nato")
give_item(player,"ammo_556nato")
give_item(player,"ammo_556nato")
}
set_user_health(player, 100);
set_user_armor(player, 100);
give_item(player,"weapon_knife")
give_item(player,"weapon_deagle")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"weapon_hegrenade")
give_item(player,"weapon_flashbang")
give_item(player,"weapon_flashbang")
}
set_user_rendering(player,kRenderFxNone,255,255,255, kRenderNormal,16);
}
vibri_event = false;
}
}
public restart(count)
{
set_hudmessage(_, _, _, -1.0, 0.85, 1)
show_hudmessage(0,"Round restart %d seconds left!", count)
if((count <= 10) || (count % 10 == 0))
{
new szNum[32]
num_to_word(count, szNum, 31)
client_cmd(0, "spk ^"fvox/%s^"", szNum)
}
count--;
if(count != 0)
{
set_task(1.0, "restart", count) // Rekurziу
}
else
{
set_hudmessage(_, _, _, -1.0, -1.0, 1)
show_hudmessage(0,"Round Restart now!!!")
server_cmd("sv_restart 1"); // Restart
restart_event = false;
client_cmd(0, "spk admin/reset.wav"); // Reset Sound
}
return PLUGIN_CONTINUE;
}
public shopmenu() {
new players[32], name[32], num, player;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
get_user_name(player,name,32);
new ShopmenuItem = random_num(0, 17);
server_cmd("wc3_giveitem ^"%s^" %d", name, ShopmenuItem);
}
}
public RandGlow() {
new Red = random(256);
new Green = random(256);
new Blue = random(256);
new players[32], num, player;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
set_user_rendering(player, kRenderFxGlowShell, Red, Green, Blue, kRenderNormal,30)
}
}
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fun>
#define Keysmenu_1 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) //Keys: 1234567890
#define Keysmenu_2 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) //Keys: 1234567890
#define ADMIN_ACCESS ADMIN_LEVEL_A
// Server Sort Name
new const g_Client[] = "[RBgame]";
new bool:restart_event = false;
new bool:vibri_event = false;
new sprSaber;
new invisibility[33][2];
new chameleon[33][2];
new footsteps[33][2];
public plugin_init() {
register_plugin("Admin Cheater Menu", "3.0", "te$co")
register_dictionary( "adminmenu.txt");
register_cvar("write_log_file","1");
register_concmd("glow", "RandGlow", ADMIN_ACCESS, "All Player Random Glow.")
register_concmd("adminmenu", "ShowAdminMenu", ADMIN_ACCESS, "Open Admin Menu #1")
register_concmd("adminmenu2", "ShowAdminMenu2", ADMIN_ACCESS, "Open Admin Menu #2")
register_menucmd(register_menuid("menu_1"), Keysmenu_1, "Pressedmenu_1")
register_menucmd(register_menuid("menu_2"), Keysmenu_2, "Pressedmenu_2")
register_logevent("RoundEnd", 2, "1=Round_End")
}
public plugin_precache()
{
sprSaber = precache_model("sprites/laserbeam.spr")
precache_sound("admin/reset.wav")
precache_sound("admin/event_start.wav")
precache_model("models/dildo/ct_dildo.mdl")
precache_model("models/dildo/te_dildo.mdl")
return PLUGIN_CONTINUE;
}
public client_putinserver(id)
{
if(is_user_bot(id))
return PLUGIN_HANDLED;
invisibility[id][0] = 0;
footsteps[id][0] = 0;
chameleon[id][0] = 0;
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
return PLUGIN_CONTINUE;
}
public client_disconnect(id)
{
if(is_user_bot(id))
return PLUGIN_HANDLED;
invisibility[id][0] = 0;
footsteps[id][0] = 0;
chameleon[id][0] = 0;
return PLUGIN_CONTINUE;
}
public ShowAdminMenu(id) {
if (get_user_flags(id) & ADMIN_ACCESS)
{
show_menu(id, Keysmenu_1, "Админские читы #1^n^n1. AK47/M4a1 + Deagle^n2. AWP + Deagle^n3. Возрождение^n4. $16000 ^n5. Гранаты^n6. Прохождение сквозь стены^n7. C4/Defusekit^n8. Тихий шаг^n\y9. Далее^n^n\r0. Выход", -1, "menu_1") // Display menu
return PLUGIN_CONTINUE
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"ACCES_MSG");
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public Pressedmenu_1(id, key) {
new team[32], User[32];
get_user_team(id,team,32);
get_user_name(id,User,32);
switch (key) {
case 0: { // 1
if(is_user_alive(id))
{
strip_user_weapons(id) // No more weapons
if(equal(team,"T", 1))
{
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"WEAPONS_TE")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(AK47)", User)
}
else
{
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"WEAPONS_CT")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(M4a1)", User)
}
give_item(id,"weapon_deagle")
give_item(id,"weapon_knife")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
set_user_armor(id, 100)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 1: { // 2
if(is_user_alive(id))
{
strip_user_weapons(id) // No more weapons
give_item(id,"weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_knife")
set_user_armor(id, 100)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"AWP_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(AWP)", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 2: { // 3
ExecuteHam(Ham_CS_RoundRespawn, id);
set_user_armor(id, 100)
set_user_godmode(id, 1)
set_user_rendering(id, kRenderFxGlowShell, 0, 200, 0, kRenderNormal,30)
set_task(5.0,"respawn", id)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"RESPAWN_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Revive", User);
client_cmd(id, "adminmenu")
}
case 3: { // 4
new money = cs_get_user_money(id);
if(money < 16000)
{
cs_set_user_money(id, 16000);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"MONEY_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: $16000", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"ALREADY_MONEY")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 4: { // 5
if(is_user_alive(id))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
set_user_armor(id, 100)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"NADE_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Nades", User);
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 5: { // 6
if(is_user_alive(id))
{
new ghost = get_user_noclip(id);
if( ghost == 0 ) {
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"GHOST_ON_MSG")
set_user_noclip(id, 1);
}else {
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"GHOST_OFF_MSG")
set_user_noclip(id, 0);
}
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Noclip", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 6: { // 7
if(is_user_alive(id))
{
if(equal(team,"T", 1))
{
give_item(id,"weapon_c4")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"C4_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(C4)", User)
}
else
{
cs_set_user_defuse(id)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DEFUSEKIT_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Weapon(Defusekit)", User)
}
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 7: { // 8
if(is_user_alive(id))
{
if(footsteps[id][0] == 0)
{
set_user_footsteps(id, 1);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FOOTSTEPS_ON_MSG")
footsteps[id][0] = 1;
}
else
{
set_user_footsteps(id, 0);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FOOTSTEPS_OFF_MSG")
footsteps[id][0] = 0;
}
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Footsteps (On/Off)", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu")
}
case 8: { // 9
client_cmd(id, "adminmenu2")
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED
}
public ShowAdminMenu2(id) {
if (get_user_flags(id) & ADMIN_ACCESS)
{
show_menu(id, Keysmenu_2, "Админские читы #2^n^n1. Хамелеон^n2. Восстановление(+1HP/s)^n3. Оружие в штанах^n4. Невидимость^n5. Битва на самотыках^n^n\r0. Назад", -1, "menu_2") // Display menu
return PLUGIN_CONTINUE
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"ACCES_MSG")
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public Pressedmenu_2(id, key) {
new team[32], User[32];
get_user_team(id,team,32);
get_user_name(id,User,32);
switch (key) {
case 0: { // 1
if(is_user_alive(id))
{
if(chameleon[id][0] == 0)
{
if(equal(team,"T", 1))
{
cs_set_user_model(id, "gign")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"CHAMELEON_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Chameleon(CT)", User)
}
else
{
cs_set_user_model(id, "leet")
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"CHAMELEON_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Chameleon(TE)", User)
}
chameleon[id][0] = 1;
}
else
{
cs_reset_user_model(id);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"RESET_CHAMELEON_MSG")
chameleon[id][0] = 0;
}
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 1: { // 2
if(is_user_alive(id))
{
new hp = get_user_health(id);
if(hp < 100)
{
set_task(1.0,"gyogyitas", id)
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"HP_REGEN_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: +1HP/s", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"HP_FULL_MSG", hp)
return PLUGIN_HANDLED;
}
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 2: { // 3
if(is_user_alive(id))
{
new tid[2];
tid[0] = id;
tid[1] = 1;
set_task(0.1,"lightsaber",0,tid,2,"a",300);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"LIGHTSABER_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Lightsaber", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 3: { // 4
if(is_user_alive(id))
{
if(invisibility[id][0] == 0)
{
set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransAdd,3);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FULL_INVISIBILITY_MSG")
invisibility[id][0] = 1;
}
else if(invisibility[id][0] == 1)
{
set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransAdd,50);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"INVISIBILITY_MSG")
invisibility[id][0] = 2;
}
else if(invisibility[id][0] == 2)
{
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"INVISIBILITY_OFF_MSG")
invisibility[id][0] = 0;
}
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Invisibility", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"DIED_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 4: { // 5
if(vibri_event == false)
{
vibri_event = true;
set_task(0.1, "vibrator", 0);
client_cmd(0, "spk admin/event_start.wav"); // Play Sound
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"VIB_MSG")
if(get_cvar_num("write_log_file") == 1)
log_amx("%s use a Admin Cheats: Dildo Event", User)
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"VIB_ALREADY_RUN_MSG")
return PLUGIN_HANDLED;
}
client_cmd(id, "adminmenu2")
}
case 6: { // 0
client_cmd(id, "adminmenu")
}
}
return PLUGIN_HANDLED;
}
/*----------------------------------------------!!!Fьggvйnyek!!!----------------------------------------------*/
public respawn(id) {
set_user_godmode(id, 0);
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
return PLUGIN_CONTINUE;
}
public gyogyitas(id) {
new hp = get_user_health(id);
if(hp < 100)
{
set_user_health(id, hp + 1);
set_task(1.0,"gyogyitas", id);
}
else
{
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"HP_END_MSG", hp)
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
/*----------------------------------------------LЙZERKARD----------------------------------------------*/
public sqrt(num)
{
new div = num;
new result = 1;
while (div > result) // end when div == result, or just below
{
div = (div + result) / 2; // take mean value as new divisor
result = num / div;
}
return div;
}
public lightsaber(id[])
{
new vec[3];
new aimvec[3];
new lseffvec[3];
new length;
new speed = 65;
get_user_origin(id[0],vec,1);
get_user_origin(id[0],aimvec,2);
lseffvec[0]=aimvec[0]-vec[0];
lseffvec[1]=aimvec[1]-vec[1];
lseffvec[2]=aimvec[2]-vec[2];
length=sqrt(lseffvec[0]*lseffvec[0]+lseffvec[1]*lseffvec[1]+lseffvec[2]*lseffvec[2]);
lseffvec[0]=lseffvec[0]*speed/length;
lseffvec[1]=lseffvec[1]*speed/length;
lseffvec[2]=lseffvec[2]*speed/length;
new vorigin[3];
new maxpl = get_maxplayers() +1;
new teama[32],teamv[32];
get_user_team(id[0],teama,31);
for(new a = 1; a < maxpl; a++)
{
if(is_user_alive(a) != 0)
{
get_user_origin(a,vorigin);
if (get_distance(vec,vorigin)<100)
{
if(a != id[0])
{
get_user_team(a,teamv,31);
if(!equal(teama,teamv,2))
{
if(id[1] != 0)
{
user_kill(a,id[0]);
new frag = get_user_frags(id[0]);
set_user_frags(id[0], frag + 1);
client_print(id[0], print_chat, "%s %L",g_Client, LANG_PLAYER,"JEDY_MSG")
}
}
else if(id[1] == 2)
{
user_kill(a,id[0]);
new frag = get_user_frags(id[0]);
set_user_frags(id[0], frag + 1);
client_print(id[0], print_chat, "%s %L",g_Client, LANG_PLAYER,"JEDY_MSG")
}
}
}
}
}
// beam effect between point and entity
message_begin( MSG_BROADCAST,SVC_TEMPENTITY);
write_byte ( 1 ); //TE_BEAMENTPOINT 1
write_short (id[0]); // ent
write_coord (lseffvec[0]+vec[0]); //end position
write_coord (lseffvec[1]+vec[1]);
write_coord (lseffvec[2]+vec[2]+10);
write_short (sprSaber); // sprite
write_byte (0); // start frame
write_byte (15); // frame rate in 0.1's
write_byte (1); // byte (life in 0.1's
write_byte (20); // line width in 0.1's
write_byte (5); // noise amplitude in 0.01's
write_byte (0); // RGB color
write_byte (200);
write_byte (0);
write_byte (255); // brightness
write_byte (10); // scroll speed in 0.1's
message_end();
return PLUGIN_CONTINUE;
}
/*----------------------------------------------LЙZERKARD-END------------------------------------------*/
/*----------------------------------------------VIBRATOR-START-----------------------------------------*/
public vibrator(first) {
if(vibri_event == true)
{
new players[32], team[32], num, player, clip, ammo, wpnid;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
wpnid = get_user_weapon(player,clip,ammo);
if((is_user_alive(player)) && (wpnid != CSW_KNIFE))
{
get_user_team(player,team,32);
strip_user_weapons(player);
give_item(player, "weapon_knife");
set_task(0.1, "RandGlow"); // Glow
if(first == 0)
{
set_user_health(player, 255)
set_user_armor(player, 255)
}
if(equal(team,"T", 1))
entity_set_string(player, EV_SZ_viewmodel, "models/dildo/te_dildo.mdl");
else
entity_set_string(player, EV_SZ_viewmodel, "models/dildo/ct_dildo.mdl");
}
}
set_task(0.1, "vibrator", 1); // Knife Check
}
else
{
client_print(0, print_chat, "%s %L",g_Client, LANG_PLAYER,"EVENT_END_MSG")
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
/*----------------------------------------------VIBRATOR-END------------------------------------------*/
public RoundEnd() {
// MAx Player numb
new maxplayers = get_maxplayers()+1;
for(new id = 1; id < maxplayers; id++)
{
if(chameleon[id][0] == 1)
{
cs_reset_user_model(id); // Ruha Reset
chameleon[id][0] = 0;
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"RESET_CHAMELEON_MSG")
}
if(invisibility[id][0] >= 1)
{
set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
invisibility[id][0] = 0;
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"INVISIBILITY_OFF_MSG")
}
if(footsteps[id][0] == 1)
{
set_user_footsteps(id, 1); // Lepeshangok be!
footsteps[id][0] = 0;
client_print(id, print_chat, "%s %L",g_Client, LANG_PLAYER,"FOOTSTEPS_OFF_MSG")
}
}
if(vibri_event == true)
{
new players[32], team[32], num, player;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
get_user_team(player,team,32);
if(is_user_alive(player))
{
strip_user_weapons(player) // No more weapons
if(equal(team,"T", 1))
{
give_item(player,"weapon_ak47")
give_item(player,"ammo_762nato")
give_item(player,"ammo_762nato")
give_item(player,"ammo_762nato")
give_item(player,"ammo_762nato")
}
else
{
give_item(player,"weapon_m4a1")
give_item(player,"ammo_556nato")
give_item(player,"ammo_556nato")
give_item(player,"ammo_556nato")
}
set_user_health(player, 100);
set_user_armor(player, 100);
give_item(player,"weapon_knife")
give_item(player,"weapon_deagle")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"ammo_50ae")
give_item(player,"weapon_hegrenade")
give_item(player,"weapon_flashbang")
give_item(player,"weapon_flashbang")
}
set_user_rendering(player,kRenderFxNone,255,255,255, kRenderNormal,16);
}
vibri_event = false;
}
}
public restart(count)
{
set_hudmessage(_, _, _, -1.0, 0.85, 1)
show_hudmessage(0,"Round restart %d seconds left!", count)
if((count <= 10) || (count % 10 == 0))
{
new szNum[32]
num_to_word(count, szNum, 31)
client_cmd(0, "spk ^"fvox/%s^"", szNum)
}
count--;
if(count != 0)
{
set_task(1.0, "restart", count) // Rekurziу
}
else
{
set_hudmessage(_, _, _, -1.0, -1.0, 1)
show_hudmessage(0,"Round Restart now!!!")
server_cmd("sv_restart 1"); // Restart
restart_event = false;
client_cmd(0, "spk admin/reset.wav"); // Reset Sound
}
return PLUGIN_CONTINUE;
}
public shopmenu() {
new players[32], name[32], num, player;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
get_user_name(player,name,32);
new ShopmenuItem = random_num(0, 17);
server_cmd("wc3_giveitem ^"%s^" %d", name, ShopmenuItem);
}
}
public RandGlow() {
new Red = random(256);
new Green = random(256);
new Blue = random(256);
new players[32], num, player;
get_players(players, num, "ah")
for(new i = 0; i < num; i++)
{
player = players;
set_user_rendering(player, kRenderFxGlowShell, Red, Green, Blue, kRenderNormal,30)
}
}
это sma плагина, вдруг кому понадобится.
Переделывать сам плагин никого не прошу, поросто подскажите где можно почитать про это, или напишите тут что да как. Заранее спасибо)