#include <amxmodx>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <nvault>
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,_}:...)
{
static 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);
message[192] = '^0';
static 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[])
{
message_begin(type, get_user_msgid("SayText"), _, id);
write_byte(id)
write_string(message);
message_end();
}
Team_Info(id, type, team[])
{
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()
{
static i;
i = -1;
while(i <= get_maxplayers())
{
if(is_user_connected(++i))
{
return i;
}
}
return -1;
}
#define PLUGIN "Frag Bolt"
#define VERSION "2.1"
#define AUTHOR "MeSter"
new kijelzo[256]
new elet[256]
new speed[256]
new ujra[256]
new lathatatlan[256]
new kinezet[256]
new god[256]
new zeusmod[256]
new frags[256]
new hp_cvar
new gyorsasag_cvar
new ujraeledes_cvar
new lathatatlansag_cvar
new kameleon_cvar
new godmod_cvar
new zeus_cvar
new g_vault
new hp[33]=1, gyorsasag[33]=1, ujraeledes[33]=1, lathatatlansag[33]=1, kameleon[33]=1, godmod[33]=1, zeus[33]=1
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("Frag Bolt", "MeSter")
hp_cvar = register_cvar("Elet","25")
gyorsasag_cvar = register_cvar("Gyorsasag","20")
ujraeledes_cvar = register_cvar("Ujraeledes","15")
lathatatlansag_cvar = register_cvar("Lathatatlansag","25")
kameleon_cvar = register_cvar("Kameleon","25")
godmod_cvar = register_cvar("Isten mod","80")
zeus_cvar = register_cvar("Zeus mod","60")
register_clcmd("say /frag","fragbolt")
register_clcmd("say_team /frag","fragbolt")
register_clcmd("say /bolt","fragbolt")
register_clcmd("say_team /bolt","fragbolt")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
register_event("DeathMsg", "eDeath", "a")
g_vault = nvault_open("fragbolt")
register_event("ResetHUD","RoundStart","b")
}
public eDeath(){
new killer = read_data(1)
new victim = read_data(2)
if(killer == victim)
{
return PLUGIN_HANDLED
}
frags[killer]++
return PLUGIN_HANDLED
}
public fwHamPlayerSpawnPost(id)
{
hp[id]=1
gyorsasag[id]=1
ujraeledes[id]=1
lathatatlansag[id]=1
kameleon[id]=1
godmod[id]=1
zeus[id]=1
}
public fragbolt(id){
formatex(kijelzo, charsmax(kijelzo), "\\rExe\\wWaRR\\yiors Boly ^n\\yPontjaid: \\r[\\d%d\\r]", frags[id]);
formatex(elet, charsmax(elet), "\\r+50 HP \\y(%d pont)", get_pcvar_num(hp_cvar));
formatex(speed, charsmax(speed), "\\rGyorsasag \\y(%d pont)", get_pcvar_num(gyorsasag_cvar));
formatex(ujra, charsmax(ujra), "\\rUjraeledes \\y(%d pont)", get_pcvar_num(ujraeledes_cvar));
formatex(lathatatlan, charsmax(lathatatlan), "\\rLathatatlansag \\y(%d pont)", get_pcvar_num(lathatatlansag_cvar));
formatex(kinezet, charsmax(kinezet), "\\rKameleon (Ellenseg kinezet) \\y(%d pont)", get_pcvar_num(kameleon_cvar));
formatex(god, charsmax(god), "\\rIsten mod \\y(%d pont)", get_pcvar_num(godmod_cvar));
formatex(zeusmod, charsmax(zeusmod), "\\rZeus mod \\y(%d pont)", get_pcvar_num(zeus_cvar));
new menu = menu_create(kijelzo, "menu_handler");
menu_additem(menu, elet, "1", 0);
menu_additem(menu, speed, "2", 0);
menu_additem(menu, ujra, "3", 0);
menu_additem(menu, lathatatlan, "4", 0);
menu_additem(menu, kinezet, "5", 0);
menu_additem(menu, god, "6", 0);
menu_additem(menu, zeusmod, "7", 0);
menu_display(id,menu,0)
}
public menu_handler(id,menu,item){
if(item==MENU_EXIT){
menu_cancel(id)
return PLUGIN_HANDLED
}
new data[6],name[64]
new acces,callback
menu_item_getinfo(menu,item,acces,data,charsmax(data),name,charsmax(name),callback)
new key = str_to_num(data)
switch(key){
case 1:{
if(frags[id]>=get_pcvar_num(hp_cvar)&&hp[id]==1){
hp[id]=0
set_user_health(id,get_user_health(id)+50)
frags[id] = frags[id]-get_pcvar_num(hp_cvar)
ColorChat(id, GREEN,"[eXe~Shop] ^3Kaptál ^4+50^3 Hp-t.")
}
else
{
ColorChat(id, GREEN,"[eXe~Shop] ^3Nincs elég pontod!")
}
}
case 2:{
if(frags[id]>=get_pcvar_num(gyorsasag_cvar)&&gyorsasag[id]==1){
gyorsasag[id]=0
set_user_maxspeed(id, 500.0)
frags[id] = frags[id]-get_pcvar_num(gyorsasag_cvar)
ColorChat(id, GREEN,"[eXe~Shop] ^3Gyorsaságod növekedett!")
}
else
{
ColorChat(id, GREEN,"[eXe~Shop] ^3Nincs elég pontod!")
}
}
case 3:{
if(frags[id]>=get_pcvar_num(ujraeledes_cvar)&&ujraeledes[id]==1){
ujraeledes[id]=0
ExecuteHamB(Ham_CS_RoundRespawn, id);
frags[id] = frags[id]-get_pcvar_num(ujraeledes_cvar)
ColorChat(id, GREEN,"[eXe~Shop] ^3Sikeresen ujraeledtél.")
}
else
{
ColorChat(id, GREEN,"[eXe~Shop] ^3Nincs elég pontod!")
}
}
case 4:{
if(frags[id]>=get_pcvar_num(lathatatlansag_cvar)&&lathatatlansag[id]==1){
lathatatlansag[id]=0
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha , 0);
frags[id] = frags[id]-get_pcvar_num(lathatatlansag_cvar)
ColorChat(id, GREEN,"[eXe~Shop] ^3Láthatatlan lettél!")
}
else
{
ColorChat(id, GREEN,"[eXe~Shop] ^3Nincs elég fraged!")
}
}
case 5:{
if(frags[id]>=get_pcvar_num(kameleon_cvar)&&kameleon[id]==1){
kameleon[id]=0
if (get_user_team(id)==1)
cs_set_user_model(id, "urban")
if (get_user_team(id)==2)
cs_set_user_model(id, "guerilla")
frags[id] = frags[id]-get_pcvar_num(kameleon_cvar)
ColorChat(id, GREEN,"[eXe~Shop] ^3Megkaptad ellenséged ruháját!")
}
else
{
ColorChat(id, GREEN,"[eXe~Shop] ^3Nincs elég pontod!")
}
}
case 6:{
if(frags[id]>=get_pcvar_num(godmod_cvar)&&godmod[id]==1){
godmod[id]=0
set_user_godmode(id, 1)
frags[id] = frags[id]-get_pcvar_num(godmod_cvar)
ColorChat(id, GREEN,"[eXe~Shop] ^3Halhatatlan lettél!")
}
else
{
ColorChat(id, GREEN,"[eXe~Shop] ^3Nincs elég pontod!")
}
}
case 7:{
if(frags[id]>=get_pcvar_num(zeus_cvar)&&zeus[id]==1){
zeus[id]=0
set_user_noclip(id, 1)
frags[id] = frags[id]-get_pcvar_num(zeus_cvar)
ColorChat(id, GREEN,"[eXe~Shop] ^3Átjárhasz a falon!")
}
else
{
ColorChat(id, GREEN,"[eXe~Shop] ^3Nincs elég pontod!")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public RoundStart(id)
{
cs_reset_user_model(id)
}
public mentes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", name)
format(vaultdata,255,"%i",frags[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", name)
format(vaultdata,255,"%i",frags[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new a_o[32]
parse(vaultdata, a_o, 31)
frags[id] = str_to_num(a_o)
return PLUGIN_CONTINUE
}
public client_connect(id)
{
betoltes(id)
}
public client_disconnect(id)
{
mentes(id)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1038{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/