Версия на плъгина: v2.1
Автор: Inlove. (аз).
Описание на плъгина: Плъгина представлява меню за игри, което може да се използва от Саймън. Списък с игрите:
1) Football Game - разделя затворниците на два отбора, като на половината дава червен glow, а на другата половина син glow.
2) Prisoner Glow - Показва меню, от което избирате или да дадете glow на определен играя или да дадете glow на произволен затворник. Може да се използва за игри от вида на "proizvolno izbiram edin da umre", "proizvolno izbiram edin da poluchi fd" и т.н.
3) Prisoner Simon - Когато Саймън избере тази игра, той ще трябва да посочи един затворник, който да бъде Саймън. Този затворник ще получи оръжие, както и специален зелен glow. Той няма да може да прави щети на охранителите и ще трябва да командва затворниците.
4) Race - Когато Саймън избере опцията от менюто "Create Zone", на мястото на target-a му, ще се появи бутон. Първия затворник докоснал този бутон, печели състезанието. След като затворник докосне бутона, бутона изчезва а в чата излиза съобщение: "Player zavurshi sustezanieto pruv!". Саймън има право да поставя неограничен брой бутони по картата. Бутоните изчезват след смяна на картата.
5) First duck die - Когато Саймън избере опцията от менюто, в чата ще излезе съобщение: "Simon kaza purviq kleknal umira". Както е подразбира, първия клекнал затворник, автоматично бива убит (тази опция не успях да я тествам много добре, тъй че, ако видите проблеми, моля докладвайте тук или на ЛС, благодаря)!
6) Days Menu - Показва меню, от което избирате един от 7-те дни. Списък с дните:
*** Shoots days ****
- Awp Day (CT: 500 HP, T: 100 HP, гравитацията е намалена).
- Grenade Day (CT: 600 HP, T: 100 HP, бронята е увеличена).
- Scout Day (CT: 250 HP, T: 100 HP, видимоста е намалена).
- AK47/M4A1 Day (CT: 150-400 HP, T: 50-100 HP, CT получават M4A1 и произволно от 150 до 400 кръв, a T получават AK47 и произволно от 50 до 150 кръв).
**** Fun days ****
- Zombie Day (CT: 200 HP, T: 1000 HP, T имат специален модел и ръце, а СТ имат M249).
- NightCrawler Day (CT: 500 HP, T: 50 HP, Т са невидими и имат специален модел и ръце, а СТ имат М3).
- Shark Day (CT: 400 HP, T: 100 HP, Т имат AWP, а СТ имат специален модел на ръце и могат да минават през стени - no clip).
Менюто можете да отворите с командите /game (say & say_team) или /games (say & say_team)
Cvars на плъгина:
Cvar: jb_games 1 (0 - Изключва, 1 - Включва плъгина)
Cvar: jb_games_msg 1 (0 - Изключва, 1 - Включва всички съобщения)
Cvar: jb_football 1 (0 - Изключва, 1 - Включва Football Game)
Cvar: jb_glowing 1 (0 - Изключва, 1 - Включва Prisoner glow Game)
Cvar: jb_psimon 1 (0 - Изключва, 1 - Включва Prisoner Simon Game)
Cvar: jb_race 1 (0 - Изключва, 1 - Включва Race Game)
Cvar: jb_duckgame 1 (0 - Изключва, 1 - Включва Duck Game)
Cvar: jb_days 1 (0 - Изключва, 1 - Включва Days menu)
Библиотеки, които изисква:
Code: Select all
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <jbextreme>
#include <chatcolor>
#include <xs>
#include <fakemeta>
Code: Select all
1.0 - Първа версия на плъгина
1.1 = Оправени са някои съобщения
1.2 = Добавен е multi language файл
1.3 = Добавена е нова игра - Race
1.4 = Добавени са 2 нови cvar-a, оправен е проблем с multilang. файла, който не показваше едно съобщение, оправен е бъг с префикса пред съобщенията
1.5 = Добавено е ново меню за glow, вече можете да изберете специален затворник на който да дадете glow или произволно на някого
2.0 = Оправени са няколко бъга, когато слагаш бутона, добавена е нова игра (меню) - Days Menu.
2.1 = Добавени са cvars за включване и изключване на игри от менюто, добавени са 2 езика в multilanguage файла (EN & BG), добавена е нова игра (First duck die)
jbextreme.inc.
chatcolor.inc.
jb_gamemenu.amxx.
jbgames.txt.
Ресурси на мода.
Как да сложа плъгина?
1) Слагате файла jb_gamemenu.amxx в cstrike/addons/amxmodx/plugins/.
2) Слагате файла jbgames.txt в cstrike/addons/amxmodx/data/lang/.
3) Слагате папката models в cstrike/ и заменяте всичко (yes to all).
4) Отваряте файла cstrike/addons/amxmodx/configs/plugins.ini и на нов ред добавяте jb_gamemenu.amxx
5) Това е!
Sma:
Code: Select all
/* JailBreak games by Inlove.
Changelog:
v1.0 = first version of plugin
v1.1 = fixed some messages.
v1.2 = added multi lang file
v1.3 = added new game - Race
v1.4 = fixed message wrongs, added new cvars
v1.5 = add new glow menu, fixed some messages
v1.6 = added new game - First duck die
v2.0 = added new menu - Days Menu (7 days)
v2.1 = added cvars for on/off games, add new game (duck game), new language in multilang file
Please, don't sell this plugin or use it for money ideas, its created just for fun ^_^
*/
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Модули///////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <jbextreme>
#include <chatcolor>
#include <xs>
#include <fakemeta>
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////Дефиниции//////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
#define PLUGIN "Games Menu"
#define VERSION "2.1"
#define AUTHOR "Inlove."
#define is_true_player(%1) (1 <= %1 <= 32)
#define CLAMP_SHORT(%1) clamp(%1, 0, 0xFFFF)
#define CLAMP_BYTE(%1) clamp(%1, 0, 0xFF)
#define get_bit2(%1,%2) (%1 & 0<<(%2&31))
#define set_bit2(%1,%2) %1 |= (0<<(%2&31))
#define clear_bit2(%1,%2) %1 &= ~(0<<(%2&31))
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////Добавяне на константи и фукнции///////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
new prisoner_simon[33], duck_game[33]
new g_MaxClients, g_iZone, g_BlockWeapons
new Float:g_vOrigin[3]
static const g_szZoneModel[] = "models/jb_game_button.mdl"
static const g_szZoneName[] = "jb_game_button"
new const zm_claws [] = "models/jb_games_zmclaws.mdl"
new const pr_claws [] = "models/jb_games_prclaws.mdl"
new const sh_claws [] = "models/jb_games_shclaws.mdl"
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Eventi, проверки и други///////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
//Регистрация на multilang файла
register_dictionary_colored("jbgames.txt")
//Команди за менюто
register_clcmd("say /games", "GameMenu")
register_clcmd("say_team /games", "GameMenu")
register_clcmd("say /game", "GameMenu")
register_clcmd("say_team /game", "GameMenu")
//Cvars/Цварове
register_cvar("jb_games","1") //0 - Изключва, 1 - Включва плъгина
register_cvar("jb_games_msg", "1") //0 - Изключва, 1 - Включва всички съобщения (препоръчително е да се държи на "1")
register_cvar("jb_football", "1") //0 - Изключва, 1 - Включва Football Game
register_cvar("jb_glowing", "1") //0 - Изключва, 1 - Включва Prisoner glow Game
register_cvar("jb_psimon", "1") //0 - Изключва, 1 - Включва Prisoner Simon Game
register_cvar("jb_race", "1") //0 - Изключва, 1 - Включва Race Game
register_cvar("jb_duckgame", "1") //0 - Изключва, 1 - Включва Duck Game
register_cvar("jb_days", "1") //0 - Изключва, 1 - Включва Days Menu
//Проверки/Events(Checks)
RegisterHam(Ham_TakeDamage, "player", "fwdTakeDamage", 0)
RegisterHam(Ham_Spawn, "player", "client_spawn", 1)
RegisterHam(Ham_Touch, "weaponbox", "player_touchweapon")
register_logevent("round_end", 2, "1=Round_End")
register_touch(g_szZoneName, "player", "FwdTouchPlayer")
register_forward(FM_PlayerPreThink, "PlayerPreThink")
//Проверка за всички играчи в сървъра
g_MaxClients = get_global_int(GL_maxClients)
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Preache на всички модели///////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public plugin_precache()
{
precache_model(g_szZoneModel)
precache_model(zm_claws)
precache_model(pr_claws)
precache_model(sh_claws)
precache_model("models/player/jb_games_zm/jb_games_zm.mdl")
precache_model("models/player/jb_games_predator/jb_games_predator.mdl")
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////Стандартни проверки/////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public client_putinserver(id)
{
prisoner_simon[id] = false
duck_game[id] = false
g_BlockWeapons = 0
}
public client_disconnect(id)
{
prisoner_simon[id] = false
duck_game[id] = false
g_BlockWeapons = 0
}
public client_spawn(id)
{
prisoner_simon[id] = false
duck_game[id] = false
g_BlockWeapons = 0
cs_reset_user_model(id)
}
public round_end(id)
{
cs_reset_user_model(id)
prisoner_simon[id] = false
duck_game[id] = false
g_BlockWeapons = 0
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////DUCK GAME////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public duckgame(id)
{
new players[32], num, player
get_players(players, num, "a")
for(new i = 0; i < num; i++)
{
player = players[i]
duck_game[player] = true
}
}
public end_duckgame(id)
{
new players[32], num, player
get_players(players, num, "a")
for(new i = 0; i < num; i++)
{
player = players[i]
duck_game[player] = false
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////Check events/Проверки event-и////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public FwdTouchPlayer(Ball, id)
{
if(is_user_bot(id))
return PLUGIN_CONTINUE
if(is_user_alive(id) && get_user_team(id) == 1)
{
static src[32]
new iEntity
get_user_name(id, src, charsmax(src))
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "FIRST_RACER")
client_print(0, print_chat, "%s zavurshi sustezanieto, pruv!", src)
}
while((iEntity = find_ent_by_class(iEntity, g_szZoneName)) > 0)
remove_entity(iEntity)
}
return PLUGIN_CONTINUE
}
public PlayerPreThink(id)
{
if(pev(id, pev_button) & IN_DUCK && duck_game[id] && cs_get_user_team(id) == CS_TEAM_T)
{
user_silentkill(id)
end_duckgame(id)
}
}
public fwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
if(is_true_player(attacker) && prisoner_simon[attacker] && get_user_team(victim) == 2 && victim != attacker)
{
SetHamParamFloat(4, 0.0)
}
}
public player_touchweapon()
{
if(g_BlockWeapons)
return HAM_SUPERCEDE
return HAM_IGNORED
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Главно меню с игри и дни///////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public GameMenu(id)
{
if(!is_user_alive(id) && get_cvar_num("jb_games_msg") == 1)
{
client_print_color(id, DontChange, "[JailBreak] %L", LANG_PLAYER, "NO_ALIVE")
}
else if(!is_user_simon(id) && get_cvar_num("jb_games_msg") == 1)
{
client_print_color(id, DontChange, "[JailBreak] %L", LANG_PLAYER, "NO_SIMON")
}
else if(is_user_connected(id) && is_user_alive(id) && is_user_simon(id) && get_cvar_num("jb_games") != 1 && get_cvar_num("jb_games_msg") == 1)
{
client_print_color(id, DontChange, "[JailBreak] %L", LANG_PLAYER, "NO_ENABLED")
}
if(is_user_connected(id) && is_user_alive(id) && is_user_simon(id) && get_cvar_num("jb_games") == 1)
{
new szText[555 char]
formatex(szText, charsmax(szText), "\w[\yJailBreak\w] Izberete igra?")
new Menu = menu_create(szText, "GameMenuHandler")
if(get_cvar_num("jb_football") == 1)
{
formatex(szText, charsmax(szText), "\wFootball game")
menu_additem(Menu, szText, "1", 0)
}
if(get_cvar_num("jb_glowing") == 1)
{
formatex(szText, charsmax(szText), "\wPrisoner glow")
menu_additem(Menu, szText, "2", 0)
}
if(get_cvar_num("jb_psimon") == 1)
{
formatex(szText, charsmax(szText), "\wPrisoner Simon")
menu_additem(Menu, szText, "3", 0)
}
if(get_cvar_num("jb_race") == 1)
{
formatex(szText, charsmax(szText), "\wCreate zone")
menu_additem(Menu, szText, "4", 0)
}
if(get_cvar_num("jb_duckgame") == 1)
{
formatex(szText, charsmax(szText), "\wFirst duck die")
menu_additem(Menu, szText, "5", 0)
}
if(get_cvar_num("jb_race") == 1)
{
formatex(szText, charsmax(szText), "\yGame Days")
menu_additem(Menu, szText, "6", 0)
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}
}
// Ефект на опциите на менюто
public GameMenuHandler(id, menu, item)
{
new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
remove_task(id)
new szName[32]; get_user_name(id, szName, charsmax(szName))
switch(key)
{
case 1: //Football game
{
static iNum, iPlayers[32], Count
Count = 0
get_players(iPlayers, iNum, "ae", "TERRORIST")
new iExtraPlayers = Count % 2
if (iExtraPlayers && get_cvar_num("jb_games_msg") == 1)
{
client_print_color(id, DontChange, "[JailBreak] %L", LANG_PLAYER, "T_EVEN")
}
else
{
for(new maxPerTeam = (iNum / 2), g_iTeams[2], g_iTeam, iPlayer, i = 0; i < iNum; i++)
{
iPlayer = iPlayers[i]
g_iTeam = random_num(0, 1)
if(g_iTeams[g_iTeam] >= maxPerTeam)
g_iTeam = !g_iTeam
else
g_iTeams[g_iTeam]++
if(g_iTeam == 1)
{
set_user_rendering(iPlayer,kRenderFxGlowShell,255,0,0,kRenderNormal,16)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(id, DontChange, "[JailBreak] %L", LANG_PLAYER, "YOU_RED")
}
}
if(g_iTeam == 0)
{
set_user_rendering(iPlayer,kRenderFxGlowShell,0,0,255,kRenderNormal,16)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(id, DontChange, "[JailBreak] %L", LANG_PLAYER, "YOU_BLUE")
}
}
}
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "FBG_START")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "FBG_START1")
}
}
}
case 2: //Random game
{
Prisoner_glowing(id)
}
case 3: //Prisoner Simon
{
cmd_prisoner_simon(id)
}
case 4: //Race game
{
CreateZone(id)
GameMenu(id)
}
case 5: //First duck die
{
duckgame(id)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "DUCKGAME_START")
}
}
case 6: //Days Menu
{
daysmenu(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////Главно меню с дни//////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public daysmenu(id)
{
new menu = menu_create("\w[\yJailBreak\w] Izberete vid day?", "daysmenu_handler") // Title на менюто
menu_additem(menu, "\wShoot days", "1", 0)
menu_additem(menu, "\wFun days", "2", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public fundaysmenu(id)
{
new menu = menu_create("\w[\yJailBreak\w] Izberete day?", "fundaysmenu_handler") // Title на менюто
menu_additem(menu, "\wZombie day^nCT: \y200\wHP, T: \y1000\wHP!", "1", 0)
menu_additem(menu, "\wNightcrawler day^nCT: \y500\wHP, T: \y50\wHP!", "2", 0)
menu_additem(menu, "\wShark day^nCT: \y400\wHP, T: \y100\wHP!", "3", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public shootdaysmenu(id)
{
new menu = menu_create("\w[\yJailBreak\w] Izberete day?", "shootdaysmenu_handler") // Title на менюто
menu_additem(menu, "\wAWP day^nCT: \y500\wHP, T: \y100\wHP, \ynamalena gravitaciq\w!", "1", 0)
menu_additem(menu, "\wGrenade day^nCT: \y600\wHP, T: \y100\wHP, \yuvelichena bronq\w!", "2", 0)
menu_additem(menu, "\wScout day^nCT: \y250\wHP, T: \y100\wHP, \ynamalena vidimost\w!", "3", 0)
menu_additem(menu, "\wAK47/M4A1 day^nCT: \y150-400\wHP, T: \y50-150\wHP!", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
// Ефект на менютата
public daysmenu_handler(id, menu, item)
{
new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
shootdaysmenu(id) //Awp, He, Scout, AK47/M4A1 days
}
case 2:
{
fundaysmenu(id) //Zombie, NightCrawler, Shark days
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public fundaysmenu_handler(id, menu, item)
{
new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
new players[32], num, player
get_players(players, num, "a")
for(new i = 0; i < num; i++)
{
switch(key)
{
case 1: //Zombie Day
{
g_BlockWeapons = 1 // Забранява оръжията
player = players[i]
strip_user_weapons(player)
set_lights("e")
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "ZM_DAY")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "ZM_DAY_INFO")
}
switch(cs_get_user_team(player))
{
case CS_TEAM_CT:
{
give_item(player, "weapon_m249")
cs_set_user_bpammo(player, CSW_M249, 3000)
give_item(player, "weapon_deagle")
cs_set_user_bpammo(player, CSW_DEAGLE, 3000)
set_user_health(player, 200)
set_user_armor(player, 200)
}
case CS_TEAM_T:
{
give_item(player, "weapon_knife")
set_pev(player, pev_viewmodel2, zm_claws)
set_user_health(player, 1000)
cs_set_user_model(player, "jb_games_zm")
}
}
}
case 2: //Nightcrawler Day
{
g_BlockWeapons = 1 // Забранява оръжията
player = players[i]
strip_user_weapons(player)
set_lights("h")
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "NC_DAY")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "NC_DAY_INFO")
}
switch(cs_get_user_team(player))
{
case CS_TEAM_CT:
{
give_item(id, "weapon_m3")
cs_set_user_bpammo(player, CSW_M3, 3000)
set_user_health(player, 500)
}
case CS_TEAM_T:
{
give_item(id, "weapon_knife")
set_pev(player, pev_viewmodel2, pr_claws)
set_user_health(player, 50)
cs_set_user_model(player, "jb_games_predator")
set_user_rendering(player, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20)
}
}
}
case 3: //Shark Day
{
g_BlockWeapons = 1 // Забранява оръжията
player = players[i]
strip_user_weapons(player)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "SH_DAY")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "SH_DAY_INFO")
}
switch(cs_get_user_team(player))
{
case CS_TEAM_CT:
{
give_item(player, "weapon_knife")
set_pev(player, pev_viewmodel2, sh_claws)
set_user_health(player, 400)
set_user_noclip(id, 1)
}
case CS_TEAM_T:
{
give_item(player, "weapon_awp")
cs_set_user_bpammo(player, CSW_AWP, 3000)
set_user_health(player, 100)
}
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public shootdaysmenu_handler(id, menu, item)
{
new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
new players[32], num, player;
get_players(players, num, "a")
for(new i = 0; i < num; i++)
{
switch(key)
{
case 1: //AWP Day
{
g_BlockWeapons = 1 // Забранява оръжията
player = players[i]
strip_user_weapons(player)
set_user_gravity(player, 0.6)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "AWP_DAY")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "AWP_DAY_INFO")
}
switch(cs_get_user_team(player))
{
case CS_TEAM_CT:
{
give_item(player, "weapon_awp")
cs_set_user_bpammo(player, CSW_AWP, 3000)
set_user_health(player, 500)
}
case CS_TEAM_T:
{
give_item(player, "weapon_awp")
cs_set_user_bpammo(player, CSW_AWP, 3000)
set_user_health(player, 100)
}
}
}
case 2: //Grenade Day
{
g_BlockWeapons = 1 // Забранява оръжията
player = players[i]
strip_user_weapons(player)
set_user_armor(player, 200)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "HE_DAY")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "HE_DAY_INFO")
}
switch(cs_get_user_team(player))
{
case CS_TEAM_CT:
{
give_item(id, "weapon_knife")
set_user_health(player, 600)
}
case CS_TEAM_T:
{
give_item(player, "weapon_hegrenade")
cs_set_user_bpammo(player, CSW_HEGRENADE, 3000)
set_user_health(player, 100)
}
}
}
case 3: //Scout Day
{
g_BlockWeapons = 1 // Забранява оръжията
player = players[i]
strip_user_weapons(player)
set_user_rendering(player, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 140)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "SCOUT_DAY")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "SCOUT_DAY_INFO")
}
switch(cs_get_user_team(player))
{
case CS_TEAM_CT:
{
give_item(player, "weapon_scout")
cs_set_user_bpammo(player, CSW_SCOUT, 3000)
set_user_health(player, 250)
}
case CS_TEAM_T:
{
give_item(player, "weapon_scout")
cs_set_user_bpammo(player, CSW_SCOUT, 3000)
set_user_health(player, 100)
}
}
}
case 4: //AK47/M4A1 Day
{
g_BlockWeapons = 1 // Забранява оръжията
player = players[i]
strip_user_weapons(player)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "RANDOM_DAY")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "RANDOM_DAY_INFO")
}
switch(cs_get_user_team(player))
{
case CS_TEAM_CT:
{
give_item(player, "weapon_m4a1")
cs_set_user_bpammo(player, CSW_M4A1, 3000)
set_user_health(player, random_num(150, 400))
}
case CS_TEAM_T:
{
give_item(player, "weapon_ak47")
cs_set_user_bpammo(player, CSW_AK47, 3000)
set_user_health(player, random_num(50, 150))
}
}
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////Glowing game/////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public Prisoner_glowing(id)
{
new menu = menu_create("\w[\yJailBreak\w] Izberete tip glow?", "Prisoner_glowingHandler")
menu_additem(menu, "\wChoose player glow", "1", 0)
menu_additem(menu, "\wRandom glow", "2", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public Prisoner_glowingHandler(id, menu, item)
{
new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
remove_task(id)
new szName[32]; get_user_name(id, szName, charsmax(szName))
switch(key)
{
case 2: //Random game
{
static g_iPlayer
g_iPlayer = fnGetRandomPlayer()
new szName1[32]; get_user_name(g_iPlayer, szName1, charsmax(szName1))
if(g_iPlayer > 0)
{
set_user_rendering(g_iPlayer,kRenderFxGlowShell,170,127,255,kRenderNormal,16)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "YOU_GLOWED")
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "RANDOM_GLOW", szName1)
}
}
}
case 1: //Prisoner Simon
{
cmd_prisoner_glow(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public prisoner_glow_select(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static dst[32], data[5], player, access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
new szName[32]
get_user_name(player, szName, charsmax(szName))
player = str_to_num(data)
set_user_rendering(player,kRenderFxGlowShell,170,127,255,kRenderNormal,16)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "CHOOSE_GLOW", szName)
}
return PLUGIN_HANDLED
}
public cmd_prisoner_glow(id)
{
menu_players(id, CS_TEAM_T, id, 1, "prisoner_glow_select", "Menu")
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////Prisoner simon game/////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
public cmd_prisoner_simon(id)
{
menu_players(id, CS_TEAM_T, id, 1, "prisoner_simon_select", "Menu")
}
public prisoner_simon_select(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static dst[32], data[5], player, access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
player = str_to_num(data)
set_user_rendering(player,kRenderFxGlowShell,170,127,255,kRenderNormal,16)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "YOU_GLOWED")
}
return PLUGIN_HANDLED
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////STOCKS! STOCKS! STOCKS!///////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
stock simon_set(player) // Simon prisoner
{
static dst[32]
get_user_name(player, dst, charsmax(dst))
if(is_user_alive(player))
{
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "T_SIMON", dst)
}
set_user_rendering(player,kRenderFxGlowShell,127,255,0,kRenderNormal,16)
strip_user_weapons(player)
give_item(player, "weapon_knife")
give_item(player, "weapon_ak47")
give_item(player, "weapon_deagle")
cs_set_user_bpammo(player, CSW_AK47, 90)
cs_set_user_bpammo(player, CSW_DEAGLE, 35)
prisoner_simon[player] = true
set_cvar_num("mp_tkpunish", 0)
set_cvar_num("mp_friendlyfire", 1)
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
fnGetRandomPlayer() // Prisoner random glow
{
static iPlayers[32], iNum
get_players(iPlayers, iNum, "ae", "TERRORIST")
return iNum ? iPlayers[random(iNum)] : 0
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
stock menu_players(id, CsTeams:team, skip, alive, callback[], title[], any:...) // Prisoner Simon menu
{
static i, name[32], num[5], menu, menuname[32]
vformat(menuname, charsmax(menuname), title, 7)
menu = menu_create(menuname, callback)
for(i = 1; i <= g_MaxClients; i++)
{
if(!is_user_connected(i) || (alive && !is_user_alive(i)) || (skip == i))
continue
if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
{
get_user_name(i, name, charsmax(name))
num_to_str(i, num, charsmax(num))
menu_additem(menu, name, num, 0)
}
}
menu_display(id, menu)
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
CreateZone(id, Float:vOrigin[3] = { 0.0, 0.0, 0.0 }) // Race button creating/Вкарване на бутона в world
{
if(!id && vOrigin[0] == 0.0 && vOrigin[1] == 0.0 && vOrigin[2] == 0.0)
return 0
g_iZone = create_entity("info_target")
if(is_valid_ent(g_iZone)) // Button creating/Създаване на бутона
{
entity_set_string(g_iZone, EV_SZ_classname, g_szZoneName)
entity_set_int(g_iZone, EV_INT_solid, SOLID_BBOX)
entity_set_int(g_iZone, EV_INT_movetype, MOVETYPE_NONE)
entity_set_model(g_iZone, g_szZoneModel)
entity_set_size(g_iZone, Float: {-15.0, -15.0, 0.0}, Float:{15.0, 15.0, 60.0})
entity_set_float(g_iZone, EV_FL_framerate, 0.0)
entity_set_int(g_iZone, EV_INT_sequence, 0)
entity_set_float(g_iZone, EV_FL_nextthink, get_gametime() + 0.05)
if(get_cvar_num("jb_games_msg") == 1)
{
client_print_color(0, DontChange, "[JailBreak] %L", LANG_PLAYER, "CR_BUTTON")
}
if(id > 0)
{
new iOrigin[3]
get_user_origin(id, iOrigin, 3)
IVecFVec(iOrigin, vOrigin)
vOrigin[2] += 5.0
entity_set_origin(g_iZone, vOrigin)
}
else
entity_set_origin(g_iZone, vOrigin)
g_vOrigin = vOrigin
return g_iZone
}
return -1
}
Идеи/Да направя:
Code: Select all
1) .cfg файл, от който по-лесно, да се редактират cvars.
2) Да направя spray contest игра.
3) Нови езици в lang файла.
Приемам идеи!