Код:
#include <amxmodx>
#include <engine>
#include <hamsandwich>
#include <fun>
#include <dhudmessage>
#include <WPMGPrintChatColor>
#define PLUGIN "Mind Games"
#define VERSION "2.0"
#define AUTHOR "Nickron"
#define ROUNDS 5
#define SHORT_FORMAT 255, 255, 255, 0.05, 0.4, 0, 6.0, 6.0
#define SH_FORMAT 255, 255, 255, 0.05, 0.4, 0, 6.0, 1.0
#define DHUD_LONG_FORMAT 255, 255, 255, 0.05, 0.4, 0, 0.0, 0.0, 0.6, 6.0
#define DHUD_MATRIX_FORMAT 255, 255, 255, 0.01, 0.4, 0, 0.0, 0.0, 0.6, 1.0
#define DHUD_SHORT_FORMAT 255, 255, 255, 0.01, 0.4, 0, 0.0, 0.0, 0.6, 1.0
new answer, nick_winner[32], num1, num2, num3, num4, num5, mode
new type
new bool: in_ready, in_show
new auto_bhop_enable[33] = ROUNDS
new g_maxpl
new Regen[33]
new HP[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say","res")
register_clcmd("say_team","res")
register_clcmd("mind_go","go")
RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled_Post", 1);
register_event("HLTV", "NewRound", "a", "1=0", "2=0")
set_task(220.0, "go", _, _, _, "b")
set_task(1.0, "quest", _, _, _, "b")
set_task(1.0, "show", _, _, _, "b")
g_maxpl = get_maxplayers()
for(new i=1; i<=g_maxpl; i++)
auto_bhop_enable[i] = ROUNDS
}
public plugin_precache()
{
precache_sound("mind_games/offf.wav")
precache_sound("mind_games/onn.wav")
return PLUGIN_CONTINUE
}
public quest ()
{
if (!in_ready)
{
in_ready = true
type = 0
num1 = random_num(1, 100)
num2 = random_num(1, 50)
num3 = random_num(1, 50)
num4 = random_num(1, 50)
num5 = random_num(1, 50)
mode = random_num(0, 5)
switch(mode)
{
case 0:
{
type = 0
answer = num1 + num2 + num3 + num4 + num5
}
case 1:
{
type = 1
answer = num1 - num2 - num3 - num4 - num5
}
case 2:
{
type = 2
answer = num1 + num2 - num3 + num4 - num5
}
case 3:
{
type = 3
answer = num1 - num2 + num3 - num4 + num5
}
case 4:
{
type = 4
answer = num1 - num2 - num3 + num4 + num5
}
case 5:
{
type = 5
answer = num1 + num2 + num3 - num4 - num5
}
}
}
}
public go()
{
if(in_show)
in_ready = false
client_cmd(0, "spk mind_games/onn" )
in_show = true
}
public show()
{
if(in_show)
{
set_dhudmessage(DHUD_SHORT_FORMAT)
switch (type)
{
case 0: show_dhudmessage(0, "Remake Nickron^nМатематика^nВопрос:^n%d + %d + %d + %d + %d = ?", num1, num2, num3, num4, num5)
case 1: show_dhudmessage(0, "Remake Nickron^nМатематика^nВопрос:^n%d - %d - %d - %d - %d = ?", num1, num2, num3, num4, num5)
case 2: show_dhudmessage(0, "Remake Nickron^nМатематика^nВопрос:^n%d + %d - %d + %d - %d = ?", num1, num2, num3, num4, num5)
case 3: show_dhudmessage(0, "Remake Nickron^nМатематика^nВопрос:^n%d - %d + %d - %d + %d = ?", num1, num2, num3, num4, num5)
case 4: show_dhudmessage(0, "Remake Nickron^nМатематика^nВопрос:^n%d - %d - %d + %d + %d = ?", num1, num2, num3, num4, num5)
case 5: show_dhudmessage(0, "Remake Nickron^nМатематика^nВопрос:^n%d + %d + %d - %d - %d = ?", num1, num2, num3, num4, num5)
}
}
}
public res(id)
{
if(in_show)
{
new chat[256], smanswer[32]
read_args(chat, 255)
remove_quotes(chat)
num_to_str(answer, smanswer, 31)
if (equali(chat, smanswer ))
{
in_show = false
set_task(1.5,"award",id)
}
}
}
public award(id)
{
client_cmd(0, "spk mind_games/offf" );
get_user_name(id,nick_winner,31);
new prise = random_num(1, 6)
switch (prise)
{
case 1:
{
new iMoney = random_num(5500, 16000)
cs_set_user_money(id, cs_get_user_money(id) + iMoney)
set_dhudmessage(DHUD_LONG_FORMAT)
show_dhudmessage(0, "Победитель: %s^nНаграда: %d$^nОтвет: %d", nick_winner, iMoney, answer)
}
case 2:
{
if(is_user_alive(id))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
set_dhudmessage(DHUD_LONG_FORMAT)
show_dhudmessage(0, "Победитель: %s^nНаграда: Комплект гранат^nОтвет: %d", nick_winner, answer)
}
else
{
new iMoney = random_num(5500, 16000)
cs_set_user_money(id, cs_get_user_money(id) + iMoney)
set_dhudmessage(DHUD_LONG_FORMAT)
show_dhudmessage(0, "Победитель: %s^nНаграда: %d$^nОтвет: %d", nick_winner, iMoney, answer)
}
}
case 3:
{
RegenHP(id)
set_dhudmessage(DHUD_LONG_FORMAT)
show_dhudmessage(0, "Победитель: %s^nНаграда: Регенерация до 200HP %i^nОтвет: %d", nick_winner, HP[id], answer)
}
case 4:
{
set_user_gravity(id,0.5)
set_dhudmessage(DHUD_LONG_FORMAT)
show_dhudmessage(0, "Победитель: %s^nНаграда: Заячий прыжок^nОтвет: %d", nick_winner, answer)
}
case 5:
{
get_bonney(id)
player_resp(id)
set_dhudmessage(DHUD_LONG_FORMAT)
show_dhudmessage(0, "Победитель: %s^nНаграда: Bany Hop '5' Раундов^nОтвет: %d", nick_winner, answer)
}
case 6:
{
player_resp(id)
set_dhudmessage(DHUD_LONG_FORMAT)
show_dhudmessage(0, "Победитель: %s^nНаграда: Возрождение Товарища^nОтвет: %d", nick_winner, answer)
}
}
in_ready = false
}
public RegenHP(id)
{
id = id - 123321
if(!is_user_alive(id)) return;
HP[id] = HP[id] - 10
if(HP[id] > 0)
{
set_user_health(id, get_user_health(id) + 10)
set_hudmessage(255, 255, 255, 0.0, 0.11, 0, 1.1, 1.0, 0.1, 0.0, 2)
show_hudmessage(id, "Регенерация: %i", HP[id])
}
else if(HP[id] == 0)
{
remove_task(id + 123321)
Regen[id] = false
}
}
public Ham_PlayerKilled_Post(id)
{
if(Regen[id])
{
remove_task(id + 123321)
set_hudmessage(255, 255, 255, 0.0, 0.11, 0, 1.1, 1.0, 0.1, 0.0, 2)
show_hudmessage(id, "Вы умерли не достигнув конца регенерации")
}
}
public get_bonney(id)
{
if(!is_user_alive(id))
return
if(auto_bhop_enable[id] < ROUNDS)
return
auto_bhop_enable[id] = 0
return
}
public client_PreThink(id)
{
if (auto_bhop_enable[id] == ROUNDS)
return PLUGIN_CONTINUE
entity_set_float(id, EV_FL_fuser2, 0.0)
if (entity_get_int(id, EV_INT_button) & 2)
{
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if (entity_get_int(id, EV_INT_waterlevel) >= 2)
return PLUGIN_CONTINUE
if (!(flags & FL_ONGROUND))
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
return PLUGIN_CONTINUE
}
public client_disconnect(id)
auto_bhop_enable[id] = ROUNDS
public NewRound()
{
for(new i=1; i<=g_maxpl; i++)
{
if(auto_bhop_enable[i] < ROUNDS)
{
auto_bhop_enable[i]++
if(auto_bhop_enable[i] == ROUNDS - 1)
PrintChatColor(i, _, "!g[%s] !yПоследний раунд с автораспрыжкой", PLUGIN)
}
}
}
public player_resp(id)
{
new Players[32]
new Count
if(cs_get_user_team(id) == CS_TEAM_CT)
get_players(Players,Count,"beh","CT")
if(cs_get_user_team(id) == CS_TEAM_T)
get_players(Players,Count,"beh","T")
if(Count != 0) {
new player, i
i = random_num(0,Count-1)
player = Players[i]
ExecuteHam(Ham_CS_RoundRespawn, player)
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Пробуй
смотря какие hud'ы тебе надо переместить,все?
Отредактировал: cscms, - 10.10.2015, 18:39