csdm_menu

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
46
Реакции
8
Предупреждения
100
Помог
3 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Ошибка
Ошибка в взятии игроком золотых пушек без флага который указан в плагине, игрок может брать пушки и способности не имея флагов, скорее всего неправильное условие
ОС
Linux
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.654-dev
Build date: 12:09:21 May 22 2018 (1501)
Build from: https://github.com/dreamstalker/rehlds/commit/65c6ce5
C++
ReGamedll
ReGameDLL version: 5.7.0.312-dev
Build date: 07:53:34 May 31 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/26db32e
C++
Список метамодулей
[ 1] AMX Mod X        RUN   -    amxmodx.so        v1.8.3-d  ini   Start ANY
[ 2] LocalizeBug Fix  RUN   -    localizebugfix.s  v2.4      ini   Start Never
[ 3] VoiceTranscoder  RUN   -    vtc.so            v2017RC3  ini   ANY
[ 4] Reunion          RUN   -    reunion.so        v0.1.0.8  ini   Start Never
[ 5] Rechecker        RUN   -    rechecker.so      v2.5      ini   ANY
[ 6] ReAuthCheck      RUN   -    reauthcheck.so    v0.1.6    ini   Start Never
[ 7] ReSemiclip       RUN   -    resemiclip.so     v2.3.9    ini   ANY
[ 8] ReSRDetector     RUN   -    resrdetector.so   v0.1.0    ini   ANY
[ 9] WHBlocker        RUN   -    whblocker.so      v1.5.695  ini   ANY
[10] FakeMeta         RUN   -    fakemeta_amxx_i3  v1.8.3-d  pl1   ANY
[11] MySQL            RUN   -    mysql_amxx_i386.  v1.8.3-d  pl1   ANY
[12] CStrike          RUN   -    cstrike_amxx_i38  v1.8.3-d  pl1   ANY
[13] CSX              RUN   -    csx_amxx_i386.so  v1.8.3-d  pl1   ANY
[14] Engine           RUN   -    engine_amxx_i386  v1.8.3-d  pl1   ANY
[15] Fun              RUN   -    fun_amxx_i386.so  v1.8.3-d  pl1   ANY
[16] Ham Sandwich     RUN   -    hamsandwich_amxx  v1.8.3-d  pl1   ANY
[17] CSDM2            RUN   -    csdm_amxx_i386.s  v2.1.3c-  pl1   ANY
[18] ReAPI            RUN   -    reapi_amxx_i386.  v5.6.0.1  pl1   ANY   Never
18 plugins, 18 running
C++
Список плагинов
[  1] Admin Loader            2.5.2       neygomon          admin_loader_fo  running
[  2] FreshBans               1.3.9b      kanagava          fresh_bans.amxx  running
[  3] Admin Chat              1.8.3-dev+  AMXX Dev Team     adminchat.amxx   running
[  4] Admin Commands          1.8.3-dev+  AMXX Dev Team     admincmd.amxx    running
[  5] Commands Menu           1.8.3-dev+  AMXX Dev Team     cmdmenu.amxx     running
[  6] Maps Menu               1.8.3-dev+  AMXX Dev Team     mapsmenu.amxx    running
[  7] NextMap                 1.8.3-dev+  AMXX Dev Team     nextmap.amxx     running
[  8] Players Menu            1.8.3-dev+  AMXX Dev Team     plmenu.amxx      running
[  9] Plugin Menu             1.8.3-dev+  AMXX Dev Team     pluginmenu.amxx  running
[ 10] Restrict Weapons        1.8.3-dev+  AMXX Dev Team     restmenu.amxx    running
[ 11] Admin Votes             1.8.3-dev+  AMXX Dev Team     adminvote.amxx   running
[ 12] CS Misc. Stats          1.8.3-dev+  AMXX Dev Team     miscstats.amxx   running
[ 13] CS Stats Logging        1.8.3-dev+  AMXX Dev Team     stats_logging.a  running
[ 14] Stats Configuration     1.8.3-dev+  AMXX Dev Team     statscfg.amxx    running
[ 15] Sentry guns             1.1         JGHG & miRror     sentrygun.amxx   debug
[ 16] Admin Money             0.9.3       f117bomb          admin_money.amx  running
[ 17] Build Dispenser         0.1         pro100iweb        disp_mod.amxx    running
[ 18] Connect Info FBR        1.0         Dom1no_[KZ]       connect_info_fb  running
[ 19] Auto recording demo     2.0         IzI | Bonaqua (R  amx_autodemorec  running
[ 20] StatsX GUI              1.8         AMXX Dev Team     statsx_gui.amxx  running
[ 21] VoteBan_2               2.0         WTF               votebans_wtf.am  running
[ 22] CSDM Menu ultimate      1.1         MrKiller1779      csdm_menu_ultim  debug
[ 23] Cabinet                 1.0         ncux              cabinet.amxx     running
[ 24] Camera Changer          1.3         Bl0ck             Camera_Changer.  running
[ 25] Parachute               1.1         Random1, 93()|29  sub_parachute.a  running
[ 26] DHUD Advert.            2.0         DUKKHAZ0R         dhud_advert.amx  running
[ 27] Kill Rewards            1.6         HoLLyWooD         kill_rewards.am  running
[ 28] Donate money            0.1         Sanlerus \ di.al  donate_money.am  running
[ 29] Damager                 2.0         Prayer            damager.amxx     running
[ 30] Game Namer              1.1         NeuroToxin        gamenamechanger  running
[ 31] CSDM Auto Balance       1.0         xPaw              csdm_auto_balan  running
[ 32] CS Shop                 5.0         iNeedHelp         CS_Shop.amxx     running
[ 33] [ReAPI] Custom Models   1.6.1       neugomon          custom_models.a  running
[ 34] Advanced MapChooser     1.1.1       neygomon          map_chooser.amx  running
[ 35] Laser Mine              4.02.2018   406               lasermine.amxx   running
[ 36] Lite Translit           2.8         neygomon          lite_translit.a  running
[ 37] ReapiTV                 shop menu   0.1               sliv_shop.amxx   running
[ 38] ReapiTV                 shop menu   0.1               shop2.amxx       running
[ 39] [ZP] Extra: VSK94       1.0         Crock / =) (Popr  azp_weapon_vsk9  running
[ 40] [ZP] Extra: M134        1.0         LARS-DAY[BR]EAKE  azp_weapon_m134  running
[ 41] [ZP] Weapon: Hk416ex    1.0         Crock             hk416ex.amxx     running
[ 42] [ZP] Weapon: Savery     1.0         Base: Batcon & x  cso_weapon_save  running
[ 43] [CSO Like]: M24         Best        Base: Batcon & x  cso_weapon_m24.  running
[ 44] [CSO] Weapon: SG552 Ly  2.0         Base: Batcon; Re  cso_weapon_buff  running
[ 45] [ZP] Extra: USAS12      1.0         Crock / =) (Popr  yt_weapon_mk3o1  running
[ 46] [ZP] Extra: AKS74U      1.0         LARS-DAY[BR]EAKE  cso_at15hw.amxx  running
[ 47] unknown                 unknown     unknown           ak47_transforme  running
[ 48] [ZP] Extra: Water Pist  1.0         Crock / =) (Popr  vulcanus.amxx    running
[ 49] [ZP] Extra: XM8 Limit   1.0         LARS-BLOODLIKER   xm8_neon.amxx    running
[ 50] CSDM Main               2.1.3d      CSDM Team         csdm_main.amxx   running
[ 51] CSDM Equip              2.1.3d      CSDM Team         csdm_equip.amxx  running
[ 52] CSDM Spawns             2.1.3d      CSDM Team         csdm_spawn_pres  running
[ 53] CSDM Misc               2.1.3d      CSDM Team         csdm_misc.amxx   running
[ 54] CSDM Stripper           2.1.3d      KWo               csdm_stripper.a  running
[ 55] CSDM Protection         2.1.3d      BAILOPAN          csdm_protection  running
[ 56] Advanced Experience Sy  0.4         serfreeman1337    aes_main.amxx    running
[ 57] AES: Exp CSTRIKE        0.3         serfreeman1337    aes_exp_cstrike  running
[ 58] AES: Informer           0.2         serfreeman1337    aes_informer.am  running
[ 59] AES: Experience Editor  0.1         serfreeman1337    aes_exp_editor.  running
59 plugins, 59 running
C++
Исходный код
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <amxmisc>
#include <colorchat>

#define PLUGIN "CSDM Menu ultimate"
#define VERSION "1.1"
#define AUTHOR "MrKiller1779"

#define MAX_PLAYERS	32

//Глобавльные настройки
#define VIP ADMIN_LEVEL_H //Флаг доступа для ВИП
#define ADMIN ADMIN_BAN //Флаг доступа для АДМИНА
//Глобавльные настройки

//Параметры Оружия

	//Модели
		new M4_V_MODEL[64] = "models/v_gold_m4a1.mdl" //Модель золотой M4A1
		new M4_P_MODEL[64] = "models/p_gold_m4a1.mdl" //Модель золотой M4A1

		new AK_V_MODEL[64] = "models/v_golden_ak47.mdl" //Модель золотой AK47
		new AK_P_MODEL[64] = "models/p_golden_ak47.mdl" //Модель золотой AK47
  //Модели

	//Другое
		#define is_valid_player(%1) (1 <= %1 <= 32)
		//M4A1
		new cvar_dmgmultiplier //
		new cvar_goldbullets	 //
		new cvar_custommodel	 //
		new	cvar_uclip				 //

		new bool:g_HasM4[33]	 //

		new bullets[ 33 ]			 //

		new m_spriteTexture    //
		//M4A1

		//AK47
		new const AK47_BIT_SUM = (1<<CSW_AK47)

		new g_hasZoom[33]
		new gold_damage
		new golden_model

		new bool:g_HasAk[33]
		//AK47

	//Другое

//Параметры Оружия

//Параметры вип меню
	#define DELAY_MONEY 600 //Время после которого, можно взять деньги 		   | По умолчанию: 600 (10 мин.)
	#define DELAY_HP 60     //Время после которого, можно взять HP 					 | По умолчанию: 60  (10 мин.)
	#define DELAY_MENU 120  //Время после которого, меню включится 					 | По умолчанию: 300 (5 мин.)
	#define DELAY_GM4A1 30 //Время после которого, можно взять Gold M4a1 	 | По умолчанию: 120 (2 мин.)
	#define DELAY_GAK47 30 //Время после которого, можно взять Gold M4a1 	 | По умолчанию: 120 (2 мин.)

	#define VIP_MONEYS 10000 //Сколько денег выдавать | По умолчанию: 10000
	#define VIP_HP 100   //Сколько здоровья выдавать  | По умолчанию: 100

  #define VIP_SPEED 500.0 //Сколько скорости выдавать      s| По умолчанию: 100
  #define VIP_GRAVITY 0.5 //Сколько гравитации выдавать  | По умолчанию: 100

	//Другое
    new MenuTimeHP[MAX_PLAYERS + 1];
    new MenuTimeMoney[MAX_PLAYERS + 1];
    new MenuTimeGOLDM4A1[MAX_PLAYERS + 1];
    new MenuTimeGOLDAK47[MAX_PLAYERS + 1];

		new VipMenuTimeGOLDM4A1 [MAX_PLAYERS + 1];
		new VipMenuTimeGOLDAK47 [MAX_PLAYERS + 1];
		new VipMenuTimeMoney [MAX_PLAYERS + 1];
		new VipMenuTimeHP [MAX_PLAYERS + 1];
		new VipMenuTime;

		new GravityTake [MAX_PLAYERS + 1];
		new SpeedTake [MAX_PLAYERS + 1];

		new PlayerDeathNow [MAX_PLAYERS + 1];
		new PlayerDeathLast [MAX_PLAYERS + 1];

    new bool:g_speed[MAX_PLAYERS+1] = false;

    #if AMXX_VERSION_NUM < 183
    #define Ham_CS_Player_ResetMaxSpeed Ham_Item_PreFrame
    #endif
	//Другое

//Параметры вип меню

//Параметры основного меню

	#define MONEY_LASER 800 // Цена лазера для обычного игрока 				 | По умолчанию: 800
	#define MONEY_DISPANSER 4000 //Цена раздатчика для обычного игрока | По умолчанию: 4000

	#define VIP_MONEY_LASER 800 //Цена лазера для ВИП игрока 					 | По умолчанию: 800
	#define VIP_MONEY_DISPANSER 3000 //Цена раздатчика для ВИП игрока  | По умолчанию: 4000

		new MoneysPlayer[MAX_PLAYERS + 1];

	new PlayerInSpec;
	new PlayerInTeam;

public plugin_init() {

		register_plugin(PLUGIN, VERSION, AUTHOR);
		register_clcmd("menu", "csdmMenuFirst");
		register_clcmd("chooseteam","csdmMenuFirst");
		register_menucmd(register_menuid("csdmMenuFirst"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "csdmMenuHandle");
		register_clcmd("amxmodmenu", "csdmAdminMenu");
		register_menucmd(register_menuid("csdmAdminMenu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "csdmAdminMenuHandle");
		register_clcmd("say /vipmenu", "csdmVipMenu");
		register_clcmd("say_team /vipmenu", "csdmVipMenu");
		register_clcmd("vipmenu", "csdmVipMenu");
		register_menucmd(register_menuid("csdmVipMenu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "csdmVipMenuHandle");
        RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "Check_speed", 0);
		VipMenuTime = get_systime() + DELAY_MENU; //Время, после которого меню начнет работу (в сек.);
		register_clcmd("say_team /resetscore","ResetScore");
		register_clcmd("say /resetscore","ResetScore");
		register_clcmd("say_team /rs","ResetScore");
		register_clcmd("say /rs","ResetScore");
		register_clcmd("say /spec", "spec");
		register_clcmd("say_team /spec", "spec");
		register_clcmd("say /back", "back");
		register_clcmd("say_team /back", "back");
		cvar_dmgmultiplier = register_cvar("goldenm4_dmg_multiplier", "1.6");
	    cvar_custommodel = register_cvar("goldenm4_custom_model", "1");
	    cvar_goldbullets = register_cvar("goldenm4_gold_bullets", "1");
	    cvar_uclip = register_cvar("goldenm4_unlimited_clip", "1");
		gold_damage = register_cvar("goldenak_dmg", "1.8");
		golden_model = register_cvar("goldenak_custommodel", "1");
		register_event("DeathMsg", "Death", "a");
	    register_event("WeapPickup","checkModel","b","1=19");
	    register_event("CurWeapon","checkWeapon","be","1=1");
	    register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");
	    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage");
	    register_forward( FM_CmdStart, "fw_CmdStart" );
	    RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
}

public csdmMenuFirst(id) {

	//Параметры НЕ МЕНЯТЬ
		remove_task(id);
		MoneysPlayer[id] = cs_get_user_money(id);
	//Параметры НЕ МЕНЯТЬ

		new szMenu[2000];
		new iKeys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9);
		new iLen = formatex(szMenu, charsmax(szMenu), "\yМеню Сервера^n^n");
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1.\w Поставить \yПушку \y(\r3000$\y)^n");

		//Лазер
		if ((MoneysPlayer[id] >= MONEY_LASER) && (!VIP)){
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\w Поставить \yЛазер \y(\r800$\y)^n");
		} else if ((MoneysPlayer[id] >= VIP_MONEY_LASER) && (VIP)) {
				iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\w Поставить \yЛазер \y(\r800$\y)^n");
			} else if ((MoneysPlayer[id] < VIP_MONEY_LASER) && (VIP)){
					iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\w Поставить \yЛазер \y(\r800$\y)^n");
				} else if ((MoneysPlayer[id] < MONEY_LASER) && (!VIP)){
						iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\w Поставить \yЛазер \y(\r800$\y)^n");
					}
		//Лазер

		//Раздатчик
		if ((MoneysPlayer[id] >= MONEY_DISPANSER) && (!VIP)){
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3.\w Поставить \yРаздатчик \y(\r4000$\y)^n");
		} else if ((MoneysPlayer[id] >= VIP_MONEY_DISPANSER) && (VIP)) {
				iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3.\w Поставить \yРаздатчик \y(\r4000$\y)^n");
			} else if ((MoneysPlayer[id] < VIP_MONEY_DISPANSER) && (VIP)){
					iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3.\w Поставить \yРаздатчик \y(\r4000$\y)^n");
				} else if ((MoneysPlayer[id] < MONEY_DISPANSER) && (!VIP)){
						iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3.\w Поставить \yРаздатчик \y(\r4000$\y)^n");
					}
		//Раздатчик
		
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4.\w Полезные \yКоманды^n");
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r5.\w Магазин \yПрокачки^n");
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6.\w Магазин \yОружия^n");
		if(get_user_flags(id) & VIP){
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r7.\w Кабинет \yВипа^n");
			} else  iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d7.\d Кабинет Випа^n");
		if(get_user_flags(id) & ADMIN){
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r8.\w Кабинет \yАдмина^n^n");
			} else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d8.\d Кабинет Админа^n^n");	
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r0.\w Выход^n");

		return show_menu(id, iKeys, szMenu, -1, "csdmMenuFirst");
}

public csdmAdminMenu(id) {
	//Параметры не менять
		remove_task(id)
	//Параметры не менять
		new szMenu[1024];
		new iKeys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9);
		new iLen = formatex(szMenu, charsmax(szMenu), "\yАдмин Меню^n^n");

		if(get_user_flags(id) & ADMIN_BAN){
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1.\w Забанить \yигрока^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\w Кикнуть \yигрока ^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3.\w Ударить\r/\yУбить \yигрока^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4.\w Сменить команду \yигрока^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r5.\w Сменить \yкарту ^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6.\w Начать \yголосование ^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r7.\w Сделать \yрестарт ^n^n");
		}
		else {
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. Забанить игрока^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2. Кикнуть игрока ^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Пнуть/Убить игрока^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Сменить команду игрока ^n^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d5. Сменить голосование ^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d6. Начать голосование ^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d7. Сделать рестарт ^n^n");
		}
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r0.\w Выход");
		return show_menu(id, iKeys, szMenu, -1, "csdmAdminMenu");
}
public csdmVipMenu(id) {

	//Параметры
		new szMenu[1024];
		new MenuTime = VipMenuTime - get_systime();
		MenuTimeHP[id] = VipMenuTimeHP[id] - get_systime();
		MenuTimeMoney[id] = VipMenuTimeMoney[id] - get_systime();
		MenuTimeGOLDM4A1[id] = VipMenuTimeGOLDM4A1[id] - get_systime();
		MenuTimeGOLDAK47[id] = VipMenuTimeGOLDAK47[id] - get_systime();
		new iKeys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9);

		PlayerDeathNow[id] = cs_get_user_deaths(id);
	//Параметры

	//Отображение
		if ((MenuTime >= -1) || (MenuTimeHP[id] >= -1) || (MenuTimeHP[id] >= -1) || (MenuTimeGOLDM4A1[id] >= -1)) {
			set_task (1.0 , "csdmVipMenu", id);
		} else remove_task(id);
	//Отображение

		new iLen = formatex(szMenu, charsmax(szMenu), "\yВип Меню^n^n");

		if (PlayerDeathNow[id] != PlayerDeathLast[id]){
			GravityTake[id] = 0;
			SpeedTake[id] = 0;
			PlayerDeathLast[id] = PlayerDeathNow[id];
		}

		if (is_user_admin(id) && get_user_flags(id) & VIP){
		    if (VipMenuTime > get_systime()){
				iLen += formatex(szMenu[iLen], charsmax(szMenu), "\wМеню заработает через \w[\r%d\w] сек.^n^n", MenuTime);
			}
		} else iLen += formatex(szMenu[iLen], charsmax(szMenu), "\dМеню заработает через [%d] сек.^n^n", DELAY_MENU);

		if (VipMenuTime < get_systime() && get_user_flags(id) & VIP){
			if(VipMenuTimeMoney[id] > get_systime()){
					iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. Деньги [%d] - [\r%d\d] сек.^n", VIP_MONEYS,MenuTimeMoney[id]);
				} else	iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1.\w Деньги \y(\r%d$\y) - \y[\rГотово\y]^n", VIP_MONEYS);

			if (VipMenuTimeHP[id] > get_systime())
				{
					iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2.\d Здоровье \d(\d%d HP\d) - [\r%d\d] сек.^n", VIP_HP,MenuTimeHP[id]);
				} else	iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2.\w Здоровье \y(\r%d HP\y) - \y[\rГотово\y]^n", VIP_HP);

			if (SpeedTake[id] == 1) {
				iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3.\w Скорость - \y[\rВзято\y]^n");
			} else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3.\w Скорость^n");

			if (GravityTake[id] == 1) {
				iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4.\w Гравитация - \y[\rВзято\y]^n");
			} else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4.\w Гравитация^n");

			if ((VipMenuTimeGOLDM4A1[id] > get_systime()) && (VIP)) {
				iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d5. Золотой M4A1 - [\r%d\d] сек.^n", MenuTimeGOLDM4A1[id]);
			} else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r5.\w Золотой M4A1\w - \y[\rГотово\y]^n");

			if ((VipMenuTimeGOLDAK47[id] > get_systime()) && (VIP)) {
				iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d6. Золотой AK47 - [\r%d\d] сек.^n^n", MenuTimeGOLDAK47[id]);
			} else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6.\w Золотой AK47\w - \y[\rГотово\y]^n^n");
		}
		else {
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d1. Деньги (%d$) - [%d] сек.^n", VIP_MONEYS, DELAY_MONEY);
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d2. Здоровье (%d HP) - [%d] сек.^n", VIP_HP, DELAY_HP);
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d3. Скорость^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d4. Гравитация^n");
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d5. Золотой M4A1 - [%d] сек.^n", DELAY_GM4A1);
			iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d6. Золотой AK47 - [%d] сек.^n^n", DELAY_GAK47);
		}
		iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r0.\w Выход");
		return show_menu(id, iKeys, szMenu, -1, "csdmVipMenu");
}

public csdmVipMenuHandle(id, iKey)
{
	remove_task(id)

	if(!is_user_admin(id) && !VIP)
	{
		ColorChat(id,GREEN, "^3[^4Инфо^3] ^3У вас нету доступа к ^4Вип Меню!");
		return PLUGIN_HANDLED;
	}

	switch(iKey)
	{
		case 0:
		{
			if (VipMenuTime < get_systime())
			{
				if (VipMenuTimeMoney[id] > get_systime())
				{
					return PLUGIN_HANDLED;
				}
				ColorChat(id,GREEN, "^3[^4Инфо^3] ^4Вы взяли деньги. ^3Удачной игры!");
				cs_set_user_money(id, cs_get_user_money(id) + VIP_MONEYS);
				VipMenuTimeMoney[id] = get_systime(DELAY_MONEY);
			}
			else csdmVipMenu(id);
		}
		case 1:
		{
			if (VipMenuTime < get_systime())
			{
				ColorChat(id,GREEN, "^3[^4Инфо^3] ^4Вы взяли здоровье. ^3Удачной игры!");
				set_user_health(id, get_user_health(id) + VIP_HP);
				VipMenuTimeHP[id] = get_systime(DELAY_HP);
			}
			else csdmVipMenu(id);
		}
		case 2:
		{
			if (VipMenuTime < get_systime())
			{
				ColorChat(id,GREEN, "^3[^4Инфо^3] ^4Вы взяли Скорость. ^3Удачной игры!");
				speedhack(id);
				SpeedTake[id] = 1;
				PlayerDeathLast[id] = get_user_deaths(id);
			}
			else csdmVipMenu(id);
		}
		case 3:
		{
			if (VipMenuTime < get_systime())
			{
				ColorChat(id,GREEN, "^3[^4Инфо^3] ^4Вы взяли Гравитацию. ^3Удачной игры!");
				set_user_gravity(id, VIP_GRAVITY);
				GravityTake[id] = 1;
				PlayerDeathLast[id] = get_user_deaths(id);
			}
			else csdmVipMenu(id);
		}
		case 4: {
			if ( !is_user_alive(id) )
	    {
				 ColorChat(id,GREEN, "^3[^4Инфо^3] ^3Чтобы взять ^4золотую M4A1 ^1вы должны быть живы!");
	       return PLUGIN_HANDLED
	    }
			if (VipMenuTime < get_systime())
			{
				if(VipMenuTimeGOLDM4A1[id] > get_systime())
				{
					return PLUGIN_HANDLED;
				}
	       give_item(id, "weapon_m4a1");
	       g_HasM4[id] = true;
				 ColorChat(id,GREEN, "^3[^4Инфо^3] ^3Вы взяли ^4Золотой M4A1. ^1Удачной игры!");
				 VipMenuTimeGOLDM4A1[id] = get_systime(DELAY_GM4A1);
			}
		}
		case 5: {
			if ( !is_user_alive(id) )
	    {
				 ColorChat(id,GREEN, "^3[^4Инфо^3] ^3Чтобы взять ^4золотой АК47 ^1вы должны быть живы!");
	       return PLUGIN_HANDLED
	    }
			if (VipMenuTime < get_systime())
			{
				if (VipMenuTimeGOLDAK47[id] > get_systime())
				{
					return PLUGIN_HANDLED;
				}
				 drop_weapon(id, 1)
				 give_item(id, "weapon_ak47")
				 cs_set_user_bpammo(id, CSW_AK47, 90)
				 g_HasAk[id] = true
				 ColorChat(id,GREEN, "^3[^4Инфо^3] ^3Вы взяли ^4Золотой AK47. ^1Удачной игры!");
				 VipMenuTimeGOLDAK47[id] = get_systime(DELAY_GAK47);
			}
		}
		case 9: {
			remove_task(id);
		}
	}
	return PLUGIN_HANDLED;
}

public csdmAdminMenuHandle(id, iKey)
{
	if(!is_user_admin(id) && !ADMIN)
	{
		ColorChat(id,GREEN, "^3[^4Инфо^3] ^1У вас нету доступа к ^4Админ Меню!");
		return PLUGIN_HANDLED;
	}

	switch(iKey)
	{
		case 0: client_cmd(id, "amx_banmenu")
		case 1: client_cmd(id, "amx_kickmenu")
		case 2: client_cmd(id, "amx_slapmenu")
		case 3: client_cmd(id, "amx_teammenu")
		case 4: client_cmd(id, "amx_mapmenu")
		case 5: client_cmd(id, "amx_votemapmenu")
		case 6:
			{
			    if(get_user_flags(id) & ADMIN_BAN)
				server_cmd("sv_restartround 1")
				new name[32]
				get_user_name(id, name, 31)
			}
	}
	return PLUGIN_HANDLED;
}

public csdmMenuHandle(id, iKey) {
	switch(iKey)
	{
		case 0:	client_cmd(id, "sentry_build")
		case 1: client_cmd(id, "+setlaser")
		case 2: client_cmd(id, "build_dispenser")
		case 3: client_cmd(id, "cabinet")
		case 4: client_cmd(id, "say /shop")
		case 5: client_cmd(id, "say /magazin")
		case 6: client_cmd(id, "say /vipmenu")
		case 7: client_cmd(id, "amxmodmenu")
	}
	return PLUGIN_HANDLED;
}

//-----------------------Доп.Плагины--------------------
public speedhack(id){
        g_speed[id] = !g_speed[id];

        set_pev(id, pev_maxspeed, VIP_SPEED);
}

public Check_speed(id){
        if(g_speed[id])
                return HAM_SUPERCEDE;
        return HAM_IGNORED;
}

public ResetScore(id) {
	if(is_user_connected(id))
	{
		new name[32]
		get_user_name(id, name, 31)
		set_user_frags(id, 0);
		cs_set_user_deaths(id, 0);
		ColorChat(id,GREEN, "^3[^4Инфо^3] ^3%s ^4Вы сбросили счет!", name);
	}
}//ResetScore

public spec(id) {
	PlayerInSpec = cs_get_user_deaths(id);
	if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
		return PLUGIN_HANDLED
	else {
		PlayerInTeam = cs_get_user_team(id);
		cs_set_user_team(id, CS_TEAM_SPECTATOR);
		user_kill(id, 1);
	}
	return PLUGIN_CONTINUE

}//SPEC

public back(id) {
	if ((cs_get_user_team(id) == CS_TEAM_SPECTATOR) && (!is_user_alive(id))){
		cs_set_user_team(id, PlayerInTeam);
		cs_set_user_deaths(id, PlayerInSpec);
		cs_user_spawn(id);
	}
}//SPEC

//------------------------GOLD------------------------

public client_connect(id)
{
	 g_HasM4[id] = false
	 g_HasAk[id] = false
}

public client_disconnect(id)
{
	 g_HasM4[id] = false
	 g_HasAk[id] = false
}

public Death(id)
{
	 g_HasM4[read_data(2)] = false
	 g_HasAk[read_data(2)] = false
   set_pev(id, pev_maxspeed, 400.0);
}

public fwHamPlayerSpawnPost(id)
{
	 g_HasM4[id] = false
	 g_HasAk[id] = false
}

public plugin_precache()
{
	 precache_model(M4_V_MODEL)
   precache_model(M4_P_MODEL)

	 precache_model(AK_V_MODEL)
	 precache_model(AK_P_MODEL)

	 m_spriteTexture = precache_model("sprites/dot.spr")

	 precache_sound("weapons/zoom.wav")
}

public checkModel(id)
{
	 new szWeapID = read_data(2)

	 if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && get_pcvar_num(cvar_custommodel) )
	 {
			set_pev(id, pev_viewmodel2, M4_V_MODEL)
			set_pev(id, pev_weaponmodel2, M4_P_MODEL)
	 }

	 if(szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(golden_model) == 1) {
		 set_pev(id, pev_viewmodel2, AK_V_MODEL)
		 set_pev(id, pev_weaponmodel2, AK_P_MODEL)
	 }

	 return PLUGIN_HANDLED
}

public checkWeapon(id)
{
	 new plrClip, plrAmmo, plrWeap[32]
	 new plrWeapId

	 plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

	 if (plrWeapId == CSW_AK47 && g_HasAk[id])
 		  checkModel(id)
 	 else
	 {
	 	if (plrWeapId == CSW_M4A1 && g_HasM4[id])
	 		{
				checkModel(id)
	 		}
	 		else
	 		{
				return PLUGIN_CONTINUE
	 		}
	            return PLUGIN_CONTINUE
     }

	 if (plrClip == 0 && get_pcvar_num(cvar_uclip))
	 {
			get_weaponname(plrWeapId, plrWeap, 31)
			give_item(id, plrWeap)
			engclient_cmd(id, plrWeap)
			engclient_cmd(id, plrWeap)
			engclient_cmd(id, plrWeap)
	 }
	 return PLUGIN_HANDLED
}



public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
	 if (is_valid_player(attacker) && get_user_weapon(attacker) == CSW_M4A1 && g_HasM4[attacker])
			SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmgmultiplier))
	 if(is_valid_player(attacker) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker])
		  SetHamParamFloat(4, damage * get_pcvar_float(gold_damage))
}


public make_tracer(id)
{
	 if (get_pcvar_num(cvar_goldbullets))
	 {
			new clip,ammo
			new wpnid = get_user_weapon(id,clip,ammo)
			new pteam[16]

			get_user_team(id, pteam, 15)

			if ((bullets[id] > clip) && (((wpnid == CSW_M4A1) && g_HasM4[id]) || ((wpnid == CSW_AK47) && g_HasAk[id])))
			{
				 new vec1[3], vec2[3]
				 get_user_origin(id, vec1, 1) // origin; your camera point.
				 get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)


				 //BEAMENTPOINTS
				 message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
				 write_byte (0)     //TE_BEAMENTPOINTS 0
				 write_coord(vec1[0])
				 write_coord(vec1[1])
				 write_coord(vec1[2])
				 write_coord(vec2[0])
				 write_coord(vec2[1])
				 write_coord(vec2[2])
				 write_short( m_spriteTexture )
				 write_byte(1) // framestart
				 write_byte(5) // framerate
				 write_byte(2) // life
				 write_byte(10) // width
				 write_byte(0) // noise
				 write_byte( 255 )     // r, g, b
				 write_byte( 215 )       // r, g, b
				 write_byte( 0 )       // r, g, b
				 write_byte(200) // brightness
				 write_byte(150) // speed
				 message_end()
			}

			bullets[id] = clip
	 }

}

public CmdBuyM4(id)
{
	 if ( !is_user_alive(id) )
	 {
			ColorChat(id,GREEN, "^3[^4Инфо^3] ^1Чтобы купить золотую ^3M4A1 ^4вы должны быть живы!")
			return PLUGIN_HANDLED
	 }

	 give_item(id, "weapon_m4a1")

	 g_HasM4[id] = true

	 return PLUGIN_HANDLED
}

public CmdGiveM4(id,level,cid)
{
	 if (!cmd_access(id,level,cid,2))
			return PLUGIN_HANDLED;
	 new arg[32];
	 read_argv(1,arg,31);

	 new player = cmd_target(id,arg,7);
	 if (!player)
			return PLUGIN_HANDLED;

	 new name[32];
	 get_user_name(player,name,31);

	 give_item(player, "weapon_m4a1")
	 g_HasM4[player] = true

	 return PLUGIN_HANDLED
}

public fw_CmdStart( id, uc_handle, seed ) {
	if(!is_user_alive(id))
		return PLUGIN_HANDLED

	if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !( pev(id, pev_oldbuttons) & IN_ATTACK2)) {
		new szWeapID = get_user_weapon(id)

		if(szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true) {
			g_hasZoom[id] = true
			cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 0)
			emit_sound(id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100)
		} else if(szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id]) {
			g_hasZoom[id] = false
			cs_set_user_zoom(id, CS_RESET_ZOOM, 0)
		}
	}
	return PLUGIN_HANDLED
}
//-------------------------GOLD------------------------

//-----------------------Доп.Плагины--------------------

//-----------------------Другое-------------------------
stock drop_weapon(id, dropwhat) {
	static weapons[32], num, i, weaponid
	num = 0
	get_user_weapons(id, weapons, num)

	for (i = 0; i < num; i++) {
		weaponid = weapons[i]

		if ((dropwhat == 1 && ((1<<weaponid) & AK47_BIT_SUM))) {
			static wname[32]
			get_weaponname(weaponid, wname, charsmax(wname))
			engclient_cmd(id, "drop", wname)
		}
	}
}
C++
Ошибку указал выше, думаю ошибка в условии, подскажите где и что нужно заменить
29 Июн 2018
я дождусь помощи сегодня?
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
2,752
Реакции
3,020
Помог
61 раз(а)
я дождусь помощи сегодня?
такими темпами - нет. Откуда такая борзота? Никто тебе ничем не обязан.
P.S: думаю и тему можно закрывать, с пометкой "не дождался".
 
  • Нравится
Реакции: ifx
Сообщения
46
Реакции
8
Предупреждения
100
Помог
3 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
такими темпами - нет. Откуда такая борзота? Никто тебе ничем не обязан.
P.S: думаю и тему можно закрывать, с пометкой "не дождался".
проблема уже давно решена..
 
Сообщения
46
Реакции
8
Предупреждения
100
Помог
3 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
304 строка, меняем

Код:
if(!is_user_admin(id) & !VIP)
C++
на
Код:
if(~get_user_flags(id) & VIP)
C++
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу