Kod: Tümünü seç
#define VERSION "2.1"
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#if defined _colorchat_included
#endinput
#endif
#define _colorchat_included
enum Color
{
NORMAL = 1, // clients scr_concolor cvar color
GREEN, // Green Color
TEAM_COLOR, // Red, grey, blue
GREY, // grey
RED, // Red
BLUE, // Blue
}
new TeamName[][] =
{
"",
"TERRORIST",
"CT",
"SPECTATOR"
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
if( !get_playersnum() ) return;
new message[256];
switch(type)
{
case NORMAL: // clients scr_concolor cvar color
{
message[0] = 0x01;
}
case GREEN: // Green
{
message[0] = 0x04;
}
default: // White, Red, Blue
{
message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
// Make sure message is not longer than 192 character. Will crash the server.
message[192] = '^0';
new team, ColorChange, index, MSG_Type;
if(id)
{
MSG_Type = MSG_ONE;
index = id;
} else {
index = FindPlayer();
MSG_Type = MSG_ALL;
}
team = get_user_team(index);
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);
if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}
ShowColorMessage(id, type, message[])
{
static bool:saytext_used;
static get_user_msgid_saytext;
if(!saytext_used)
{
get_user_msgid_saytext = get_user_msgid("SayText");
saytext_used = true;
}
message_begin(type, get_user_msgid_saytext, _, id);
write_byte(id)
write_string(message);
message_end();
}
Team_Info(id, type, team[])
{
static bool:teaminfo_used;
static get_user_msgid_teaminfo;
if(!teaminfo_used)
{
get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
teaminfo_used = true;
}
message_begin(type, get_user_msgid_teaminfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}
FindPlayer()
{
new i = -1;
while(i <= get_maxplayers())
{
if(is_user_connected(++i))
return i;
}
return -1;
}
new bool:has_rb[33]
new cost_cvar, lasts_cvar, speed_cvar
public plugin_init()
{
register_plugin("Red Bull",VERSION,"Shadow `")
register_clcmd("say /redbull","say_cmd_handle")
cost_cvar = register_cvar("RB_Cost","5000")
lasts_cvar = register_cvar("RB_Lasts","20.0")
speed_cvar = register_cvar("RB_Speed","1000.0")
register_event("CurWeapon","curweap","be")
}
public curweap(id)
{
if(is_user_alive(id) && has_rb[id])
{
client_cmd(id,"cl_forwardspeed 400;cl_backspeed 400;cl_sidespeed 400")
set_user_maxspeed(id,get_pcvar_float(speed_cvar))
}
}
public client_connect(id) has_rb[id]=false
public client_disconnected(id) has_rb[id]=false
public say_cmd_handle(id)
{
if(!is_user_alive(id))
{
ColorChat(id,GREEN,"^1[ ^4Zombie WarS ^1] ^4RedBull ^1alamazsiniz, cunku olusunuz...")
}
else if(has_rb[id])
{
ColorChat(id,GREEN,"^1[ ^4Zombie WarS ^1] ^1Zaten ^4redBull^1'unuz var.")
}
else if(cs_get_user_money(id)<get_pcvar_num(cost_cvar))
{
ColorChat(id,GREEN,"^1[ ^4Zombie WarS ^1] ^4RedBull ^1almak icin yeteri kadar paraniz yok...")
}
else
{
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(cost_cvar),1)
has_rb[id]=true
set_task(get_pcvar_float(lasts_cvar),"redbull_over",id)
set_task(1.0,"plus_hp",id,"",0,"b")
set_user_gravity(id,0.5)
set_user_maxspeed(id,get_pcvar_float(speed_cvar))
ColorChat(id,GREEN,"^1[ ^4Zombie WarS ^1] ^4RedBull ^1kanatlandirir...")
ColorChat(id,GREEN,"^1[ ^4Zombie WarS ^1] ^4RedBull ^1sinirlerini yatistirir, ozellikle stresli ve gergin aninda...")
}
}
public plus_hp(id)
{
if(has_rb[id]) set_user_health(id,get_user_health(id)+1)
}
public redbull_over(id)
{
if(is_user_connected(id))
{
has_rb[id]=false
ColorChat(id,GREEN,"^1[ ^4Zombie WarS ^1] ^4RedBull ^1suren sona erdi...")
set_user_gravity(id,1.0)
set_user_maxspeed(id,320.0)
set_user_gravity(id,1.0)
remove_task(id)
}
}