Вип плагин, сделать что бы работал после 1-ого раунда |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Вип плагин, сделать что бы работал после 1-ого раунда |
ds57042
|
26.5.2013, 19:36
Сообщение
|
|
|
V.I.P плагин
исходник Код #include <amxmodx> #include <amxmisc> #include <cstrike> #include <hamsandwich> #include <fun> #include <fakemeta_util> new const CT_MODEL[] = "models/player/gign/gign.mdl" // Указывается полный путь к модели CT (ВАЖНО!!! В строке 116 название должно соответствовать!) new const T_MODEL[] = "models/player/leet/leet.mdl" // Указывается полный путь к модели T( ВАЖНО!!! В строке 118 название должно соответствовать!) #define SCOREATTRIB_NONE 0 #define SCOREATTRIB_DEAD ( 1 << 0 ) #define SCOREATTRIB_BOMB ( 1 << 1 ) #define SCOREATTRIB_VIP ( 1 << 2 ) const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN U_KEY_8|MENU_KEY_9|MENU_KEY_0 const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90) const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE) new cvar_grenade, cvar_armor, cvar_health, cvar_armor_amount, cvar_health_amount, cvar_tab, cvar_money, cvar_money_amount, cvar_menu, cvar_model, cvar_flag new g_msgSayText, g_maxplayers, round_count new can_take[33] new g_HudSync, g_HudSync2 public plugin_init() { register_plugin("VIP", "1.0", "ill") register_event("HLTV", "RoundStart", "a", "1=0", "2=0") register_event("TextMsg","RoundRestart","a","2&#Game_w") register_event("Damage", "damage_message", "b", "2!0", "3=0", "4!0") register_logevent("logevent_round_start",2, "1=Round_Start") register_message(get_user_msgid("ScoreAttrib" ), "MessageScoreAttrib") RegisterHam(Ham_Spawn, "player", "fw_SpawnPost", 1) register_clcmd("say /vm", "press_wm") // /vm - команда в чат вызова вип меню с оружием (можно сменить на свою) register_clcmd("say /vip", "vip_motd") // /vip - команда в чат вызова мотд окна. В корне cstrike должен быть файл vip.txt и информацией в html формате register_menu("VIP Weapon", KEYSMENU, "weapon_menu") cvar_grenade = register_cvar("vip_get_grenade", "1") cvar_armor = register_cvar("vip_get_armor", "1") cvar_armor_amount = register_cvar("vip_get_armor_amount", "120") cvar_health = register_cvar("vip_get_health", "1") cvar_health_amount = register_cvar("vip_get_health_amount", "120") cvar_tab = register_cvar("vip_tab", "1") cvar_money = register_cvar("vip_get_money", "1") cvar_money_amount = register_cvar("vip_get_money_amount", "2300") cvar_menu = register_cvar("vip_get_menu", "1") cvar_model = register_cvar("vip_model", "1") cvar_flag = register_cvar("vip_flag", "t") g_msgSayText = get_user_msgid("SayText") g_maxplayers = get_maxplayers() g_HudSync = CreateHudSyncObj() g_HudSync2 = CreateHudSyncObj() round_count = 0 } public plugin_precache() { precache_model(CT_MODEL) precache_model(T_MODEL) } public RoundStart() { for (new id = 1; id <= g_maxplayers; id++) { can_take[id] = true } } public logevent_round_start() { round_count++ } public RoundRestart(id) { round_count = 1 } public fw_SpawnPost(id) { if(!is_user_alive(id)) return if(!isVIP(id)) return if(get_pcvar_num(cvar_grenade)) { give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_smokegrenade") } if(get_pcvar_num(cvar_armor)) set_user_armor(id, get_pcvar_num(cvar_armor_amount)) if(get_pcvar_num(cvar_health)) set_user_health(id, get_pcvar_num(cvar_health_amount)) if(get_pcvar_num(cvar_money)) { if(round_count > 2) { cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_money_amount)) colored_print(id, "^x04[VIP] ^x01 +money") } } if(get_pcvar_num(cvar_model)) { if(cs_get_user_team(id) == CS_TEAM_CT) cs_set_user_model(id, "gign") // vip Имя модели CT (имя модели должно совпадать с именем в каталоге player) else if(cs_get_user_team(id) == CS_TEAM_T) cs_set_user_model(id, "leet") // vip Имя модели T (имя модели должно совпадать с именем в каталоге player) } else cs_reset_user_model(id) } public damage_message(id) { new attacker = get_user_attacker(id) new damage = read_data(2) if(isVIP(id)) { set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(id, g_HudSync2, "%i", damage) } if (is_user_connected(attacker) && isVIP(attacker)) { set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_HudSync, "%i", damage) } } public MessageScoreAttrib(iMsgID, iDest, iReceiver) { new id = get_msg_arg_int(1) if(is_user_connected(id) && isVIP(id) && get_pcvar_num(cvar_tab)) { set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD) } } public press_wm(id) { if(!get_pcvar_num(cvar_menu)) { colored_print(id, "^x04[VIP] ^x01Меню отключено") return PLUGIN_HANDLED } if(!isVIP(id)) { colored_print(id, "^x04[VIP] ^x01Меню доступно только VIP игрокам") return PLUGIN_HANDLED } if(round_count <= 3) { colored_print(id, "^x04[VIP] ^x01Меню доступно только после первого раунда") return PLUGIN_HANDLED } if(!can_take[id]) { colored_print(id, "^x04[VIP] ^x01Меню доступно один раз за раунд") return PLUGIN_HANDLED } if(!is_user_alive(id)) { colored_print(id, "^x04[VIP] ^x01Меню доступно когда вы живы") return PLUGIN_HANDLED } show_weapons_menu(id) return PLUGIN_HANDLED } public show_weapons_menu(id) { static menu[450], len len = 0 len += formatex(menu[len], charsmax(menu) - len, "\yVIP меню^n^n") len += formatex(menu[len], charsmax(menu) - len, "\r1.\w m4a1 + dgl ^n") len += formatex(menu[len], charsmax(menu) - len, "\r2.\w ak47 + dgl ^n") len += formatex(menu[len], charsmax(menu) - len, "\r3.\w awp + dgl ^n") len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w Выход") show_menu(id, KEYSMENU, menu, -1, "VIP Weapon") } public weapon_menu(id, key) { switch (key) { case 0: { drop_weapons(id, 1) drop_weapons(id, 2) give_item(id,"weapon_m4a1") give_item(id,"weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35) cs_set_user_bpammo(id, CSW_M4A1, 90) can_take[id] = false } case 1: { drop_weapons(id, 1) drop_weapons(id, 2) give_item(id,"weapon_ak47") give_item(id,"weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35) cs_set_user_bpammo(id, CSW_AK47, 90) can_take[id] = false } case 2: { drop_weapons(id, 1) drop_weapons(id, 2) give_item(id,"weapon_awp") give_item(id,"weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35) cs_set_user_bpammo(id, CSW_AWP, 30) can_take[id] = false } } } public vip_motd(id) { show_motd(id, "vip.txt", "VIP") } public isVIP(id) { return get_user_flags(id) & get_admin_level_flag() } public get_admin_level_flag() { new flags[24] get_pcvar_string ( cvar_flag, flags, sizeof ( flags ) - 1 ) return ( read_flags ( flags ) ) } stock drop_weapons(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) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))) { static wname[32] get_weaponname(weaponid, wname, charsmax(wname)) engclient_cmd(id, "drop", wname) } } } stock colored_print( target, const message[], any:... ) { static buffer[ 512 ] if( !target ) { static player for( player = 1; player <= g_maxplayers; player++ ) { if ( !is_user_connected( player ) ) continue; vformat( buffer, charsmax( buffer ), message, 3 ) message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player ) write_byte( player ) write_string( buffer ) message_end() } } else { vformat( buffer, charsmax( buffer ), message, 3 ) message_begin( MSG_ONE, g_msgSayText, _, target ) write_byte( target ) write_string( buffer ) message_end() } } нужно сделать что бы можно было использовать после 1-ого раунда тема с этим плагином https://c-s.net.ua/forum/topic51349.html прошу написать что нужно изменить для этого.
Отредактировал: ds57042, - 26.5.2013, 19:38
Прикрепленные файлы:
|
Поблагодарили 1 раз
|
|
Nickk
|
26.5.2013, 20:05
Сообщение
|
|
|
Там уже есть это.
В 169 строке изменяете 3 на 1. |
|
|
|
ds57042
|
27.5.2013, 6:32
Сообщение
|
|
|
|
|
|
|
XyLiGaN
|
27.5.2013, 6:43
Сообщение
|
|
|
|
|
|
|
iLLuSioN
|
27.5.2013, 14:39
Сообщение
|
![]() |
ds57042,
авторестарт стоит? ![]() |
|
|
|
ds57042
|
27.5.2013, 19:32
Сообщение
|
|
|
|
|
|
|
ds57042
|
1.6.2013, 10:07
Сообщение
|
|
|
|
|
|
|
ds57042
|
1.6.2013, 10:15
Сообщение
|
|
|
|
|
|
|
winzh1
|
1.6.2013, 10:21
Сообщение
|
![]() |
Смотри конфликт с другими плагинами, я ставил, у меня все исправно работало.
![]() Установлю и настрою FreshBans, DopBan.
Писать в ЛС. |
|
|
|
![]() ![]() |