#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <nvault>
#define PLUGIN_NAME "Fun Shop"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "OxiCrom Edit:LyleChriss"
#define FLAG_ADMIN ADMIN_LEVEL_F
#define VIP "st"
#define PLAYER "z"
#define m_pActiveItem 373
#define sNo "buttons/button11.wav"
#define sOver "buttons/blip2.wav"
new const szPrefix[] = "^4[Fun Shop]"
enum Color
{
NORMAL = 1,
GREEN,
TEAM_COLOR,
GREY,
RED,
BLUE,
}
new TeamName[][] =
{
"",
"TERRORIST",
"CT",
"SPECTATOR"
}
new const g_playerModels[][] = {
"artic",
"guerilla",
"leet",
"terror",
"gign",
"gsg9",
"sas",
"urban"
}
new const g_itemSounds[][] = {
"items/smallmedkit1.wav", // Item "a": +50 HP
"items/ammopickup2.wav", // Item "b": +50 Pajzs
"items/gunpickup2.wav", // Item "c": Végtelen tár
"items/gunpickup2.wav", // Item "d": Végtelen lőszer
"items/gunpickup2.wav", // Item "e": Gránátcsomag
"x/x_pain2.wav", // Item "f": Bombázó
"items/gunpickup2.wav", // Item "g": No trap
"misc/bipbip.wav", // Item "h": Sebesség
"items/gunpickup2.wav", // Item "i": Low Gravity
"items/gunpickup2.wav", // Item "j": Kaméleon
"items/gunpickup2.wav", // Item "k": Drog
"items/gunpickup2.wav", // Item "l": Áttetszőség
"hornet/ag_buzz1.wav", // Item "m": Láthatatlanság (30mp)
"items/gunpickup2.wav", // Item "n": Duplasebzés
"misc/stinger12.wav", // Item "o": GodMode (10mp)
"items/suitchargeok1.wav", // Item "p": HP Regeneráció
"items/suitchargeok1.wav", // Item "q": Pajzs Regeneráció
"items/gunpickup2.wav" // Item "r": No Recoil
}
new DisabledItems, gmsg_SetFOV
new VIPLimit, VIPAr, VIPIdo, HP, HPAr, Pajzs, PajzsAr, VTarAr
new VLoszerAr, GranatcsomagAr, BombazoAr, Bombazo, NotrapAr, Sebesseg, SebessegAr, LowGravity, LowGravityAr, KameleonAr
new DrogSebesseg, DrogHP, DrogAr, Attetszoseg, AttetszosegAr, LathatatlansagIdo, LathatatlansagAr, DuplasebzesAr, GodModeIdo, GodModeAr
new HPReg, HPRegIdo, HPRegMax, HPRegAr, PajzsReg, PajzsRegIdo, PajzsRegMax, PajzsRegAr, InfoMessageEnabled, InfoMessageIdo
new /*ShopFelszerel*/ TeamKillPoints, KillMessage, NormalReward, HSReward, KesReward, CurrencySymbol, NoRecoilAr
new TeamOnly, HPLimit, PajzsLimit, VTarLimit, VLoszerLimit, GranatcsomagLimit, BombazoLimit, NotrapLimit, SebessegLimit, LowGravityLimit
new KameleonLimit, DrogLimit, AttetszosegLimit, LathatatlansagLimit, DuplasebzesLimit, GodModeLimit, HPRegLimit, PajzsRegLimit, NoRecoilLimit
new g_vault, activity
new fegyver[33], points[33]
new userlimit[33][33]
new vip[256]
new hp[256]
new pajzs[256]
new vtar[256]
new vloszer[256]
new grcsom[256]
new bombazo[256]
new notrap [256]
new sebesseg[256]
new lowgrav[256]
new kameleon[256]
new drog[256]
new attetsz[256]
new lathat[256]
new dsebzes[256]
new godmode[256]
new hpreg[256]
new preg[256]
new norec[256]
new bool:fshop_sebesseg[33]
new bool:fshop_duplasebzes[33]
new bool:fshop_hpreg[33]
new bool:fshop_pajzsreg[33]
new bool:fshop_norecoil[33]
public plugin_init() {
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_event("CurWeapon", "fegyvervaltas", "be", "1=1")
register_event("DeathMsg", "halal", "a")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
RegisterHam(Ham_TakeDamage, "player", "sebzes")
register_forward(FM_PlayerPreThink, "prethink")
register_clcmd("say /shop", "fshop")
register_clcmd("say_team /shop", "fshop")
register_clcmd("say /bolt", "fshop")
register_clcmd("say_team /bolt", "fshop")
register_clcmd("say /pont", "cmd_points")
register_clcmd("say_team /pont", "cmd_points")
DisabledItems = register_cvar("funshop_disableditems", "")
VIPAr = register_cvar("funshop_vip_ar", "1000000")
VIPIdo = register_cvar("funshop_vip_ido", "14")
HPAr = register_cvar("funshop_hp_ar", "50")
PajzsAr = register_cvar("funshop_pajzs_ar", "35")
VTarAr = register_cvar("funshop_vtar_ar", "100")
VLoszerAr = register_cvar("funshop_vloszer_ar", "150")
GranatcsomagAr = register_cvar("funshop_granatcsomag_ar", "10")
BombazoAr = register_cvar("funshop_bombazo_ar", "100")
NotrapAr = register_cvar("funshop_notrap_ar", "75")
SebessegAr = register_cvar("funshop_sebesseg_ar", "85")
LowGravityAr = register_cvar("funshop_lowgravity_ar", "85")
KameleonAr = register_cvar("funshop_kameleon_ar", "200")
DrogAr = register_cvar("funshop_drog_ar", "135")
AttetszosegAr = register_cvar("funshop_attetszoseg_ar", "180")
LathatatlansagAr = register_cvar("funshop_lathatatlansag_ar", "200")
DuplasebzesAr = register_cvar("funshop_duplasebzes_ar", "100")
GodModeAr = register_cvar("funshop_godmode_ar", "500")
HPRegAr = register_cvar("funshop_hpreg_ar", "50")
PajzsRegAr = register_cvar("funshop_pajzsreg_ar", "35")
TeamKillPoints = register_cvar("funshop_tkpoints", "0")
KillMessage = register_cvar("funshop_killmessage", "1")
NormalReward = register_cvar("funshop_nreward", "1")
HSReward = register_cvar("funshop_hsreward", "2")
KesReward = register_cvar("funshop_kreward", "2")
CurrencySymbol = register_cvar("funshop_csymbol", "Pont")
NoRecoilAr = register_cvar("funshop_norecoil_ar", "75")
register_concmd("amx_points", "cmd_givepoints", FLAG_ADMIN, "<nick|#userid|@team> <points to give/take>")
HP = register_cvar("funshop_hp", "50")
Pajzs = register_cvar("funshop_pajzs", "50")
Bombazo = register_cvar("funshop_bombazo", "20")
Sebesseg = register_cvar("funshop_sebesseg", "425")
LowGravity = register_cvar("funshop_lowgravity", "0.25")
DrogSebesseg = register_cvar("funshop_dsebesseg", "425")
DrogHP = register_cvar("funshop_dhp", "50")
Attetszoseg = register_cvar("funshop_attetszoseg", "90")
LathatatlansagIdo = register_cvar("funshop_lathatatlansag_ido", "30")
GodModeIdo = register_cvar("funshop_godmode_ido", "10")
HPReg = register_cvar("funshop_hpreg", "1")
HPRegIdo = register_cvar("funshop_hpreg_ido", "0.5")
HPRegMax = register_cvar("funshop_hpreg_max", "255")
PajzsReg = register_cvar("funshop_pajzsreg", "1")
PajzsRegIdo = register_cvar("funshop_pajzsreg_ido", "0.5")
PajzsRegMax = register_cvar("funshop_pajzsreg_max", "100")
InfoMessageEnabled = register_cvar("finshop_infomessage_enabled", "1")
InfoMessageIdo = register_cvar("funshop_infomessage_ido", "90.0")
//ShopFelszerel = register_cvar("funshop_felszerel", "1")
TeamOnly = register_cvar("funshop_teamonly", "0")
HPLimit = register_cvar("funshop_hp_limit", "5")
PajzsLimit = register_cvar("funshop_pajzs_limit", "8")
VTarLimit = register_cvar("funshop_vtar_limit", "3")
VLoszerLimit = register_cvar("funshop_vloszer_limit", "5")
GranatcsomagLimit = register_cvar("funshop_granatcsomag_limit", "10")
BombazoLimit = register_cvar("funshop_bombazo_limit", "3")
NotrapLimit = register_cvar("funshop_notrap_limit", "1")
SebessegLimit = register_cvar("funshop_sebesseg_limit", "1")
LowGravityLimit = register_cvar("funshop_lowgravity_limit", "1")
KameleonLimit = register_cvar("funshop_kameleon_limit", "1")
DrogLimit = register_cvar("funshop_drog_limit", "2")
AttetszosegLimit = register_cvar("funshop_attetszoseg_limit", "1")
LathatatlansagLimit = register_cvar("funshop_lathatatlansag_limit", "3")
DuplasebzesLimit = register_cvar("funshop_duplasebzes_limit", "1")
GodModeLimit = register_cvar("funshop_godmode_limit", "1")
HPRegLimit = register_cvar("funshop_hpreg_limit", "2")
PajzsRegLimit = register_cvar("funshop_pajzsreg_limit", "2")
NoRecoilLimit = register_cvar("funshop_norecoil_limit", "1")
VIPLimit = register_cvar("funshop_vip_limit", "9999")
//if(get_pcvar_num(ShopFelszerel) == 1) register_clcmd("felszerel", "fshop_main")
if(get_pcvar_num(InfoMessageEnabled) == 1) set_task(get_pcvar_float(InfoMessageIdo), "infoMessage", 1111, "", 0, "b", 0)
gmsg_SetFOV = get_user_msgid("SetFOV")
g_vault = nvault_open("FunShop")
activity = get_pcvar_num(get_cvar_pointer("amx_show_activity"))
}
public client_putinserver(id)
{
fshop_sebesseg[id] = false
fshop_duplasebzes[id] = false
fshop_hpreg[id] = false
fshop_pajzsreg[id] = false
fshop_norecoil[id] = false
LoadData(id)
}
public client_disconnect(id)
SaveData(id)
public SaveData(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64], vaultdata[256]
format(vaultkey, 63, "%s", name)
format(vaultdata, 255, "%i", points[id])
nvault_set(g_vault, vaultkey, vaultdata)
return PLUGIN_CONTINUE
}
LoadData(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64], vaultdata[256]
format(vaultkey, 63, "%s", name)
format(vaultdata, 255, "%i", points[id])
nvault_get(g_vault, vaultkey, vaultdata, 255)
new points_user[10]
parse(vaultdata, points_user, 9)
new points_set = str_to_num(points_user)
points[id] = points_set
return PLUGIN_CONTINUE
}
public player_spawn(id)
{
fshop_sebesseg[id] = false
fshop_duplasebzes[id] = false
fshop_hpreg[id] = false
fshop_pajzsreg[id] = false
fshop_norecoil[id] = false
if(is_user_alive(id))
{
set_user_footsteps(id, 0)
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
}
if(is_user_connected(id)) cs_reset_user_model(id)
}
public fegyvervaltas(id)
{
fegyver[id] = get_user_weapon(id)
if(fshop_sebesseg[id]) set_user_maxspeed(id, get_pcvar_float(Sebesseg))
}
public infoMessage()
ColorChat(0, TEAM_COLOR, "%s ^1%L", szPrefix, "A szerveren !t%s !nfut by !g%s!n. Írd be: !g/shop !n, hogy vásárolj", PLUGIN_NAME, PLUGIN_AUTHOR)
public cmd_points(id)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "!g%i !npontod van", points[id])
return PLUGIN_HANDLED
}
public cmd_givepoints(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED
new arg[32], arg2[8], name[32], name2[32], g_players[32], num, player
read_argv(1, arg, 31)
read_argv(2, arg2, 7)
get_players(g_players, num)
get_user_name(id, name, 31)
new amount = str_to_num(arg2)
new count = 0
if(arg[0] == '@')
{
for(new i = 0; i < num; i++)
{
player = g_players[i]
if((equali(arg, "@T") && get_user_team(player) == 1) || (equali(arg, "@CT") && get_user_team(player) == 2) || equali(arg, "@ALL"))
{
points[player] += amount
count++
}
}
if(count == 0)
{
ColorChat(id, RED, "%s ^1%L", szPrefix, "A !gkiválasztott !ncsapatban !tNINCS !njátékos")
client_print(id, print_console, "%s %L", szPrefix, "A !gkiválasztott !ncsapatban !tNINCS !njátékos")
return PLUGIN_HANDLED
}
if(equali(arg, "@T")) formatex(name2, 31, "%L", "!gMinden !nT játékos")
else if(equali(arg, "@CT")) formatex(name2, 31, "%L", "!gMinden !nCT játékos")
else formatex(name2, 31, "%L", "!gMinden !njátékos")
}
else
{
player = cmd_target(id, arg, 0)
if(!player) return PLUGIN_HANDLED
get_user_name(player, name2, 31)
if(amount == 0)
{
ColorChat(0, TEAM_COLOR, "%s ^1%L", szPrefix, "!t%s elvett !gminden pontot !t%s !n-től", name, name2)
client_print(id, print_console, "%s %L", szPrefix, "Elvettél minden pontot %s -től", name2)
log_amx("%s %L", szPrefix, "%s elvett minden pontot %s -től", name, name2)
points[player] = 0
return PLUGIN_HANDLED
}
points[player] += amount
}
switch(activity)
{
case 1: ColorChat(0, TEAM_COLOR, "%s ^1%L", szPrefix, "!t%s !n%L !g%i pontot !t%s !n%L", (amount >= 0) ? "adott" : "elvett", abs(amount), (amount >= 0) ? "-nak/-nek" : "-tól/től", name2)
case 2: ColorChat(0, TEAM_COLOR, "%s ^1%L", szPrefix, "!t%s !n%L !g%i pontot !t%s !n%L", name, (amount >= 0) ? "adott" : "elvett", abs(amount), (amount >= 0) ? "-nak/-nek" : "-tól/től", name2)
}
client_print(id, print_console, "%s %L", szPrefix, "Te %L %i pontot %s %L", (amount >= 0) ? "adtál" : "elvettél", abs(amount), (amount >= 0) ? "-nak/-nek" : "-tól/től", name2)
log_amx("%s %L", szPrefix, "%s %L %i pontot %s %L", name, (amount >= 0) ? "adott" : "elvett", abs(amount), (amount >= 0) ? "-nak/-nek" : "-tól/től", name2)
return PLUGIN_HANDLED
}
public fshop(id)
{
new shop_team = get_pcvar_num(TeamOnly)
new team = get_user_team(id)
if(shop_team != 0)
{
if(shop_team != team)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "A !tBolt !ncsak !g%s -knek !nelérhető", (shop_team == 1) ? "T" : (shop_team == 2) ? "CT" : "Spectator")
client_cmd(id, "spk %s", sNo)
return PLUGIN_HANDLED
}
}
if(!is_user_alive(id))
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "Csak !telők !nvásárolhatnak!")
client_cmd(id, "spk %s", sNo)
return PLUGIN_HANDLED
}
new menu_title[200], items[30], symbol[20]
new close[15], back[15], next[15]
new amount = points[id]
get_pcvar_string(DisabledItems, items, charsmax(items))
get_pcvar_string(CurrencySymbol, symbol, charsmax(symbol))
formatex(menu_title, charsmax(menu_title), "\rFun Shop^n\w%L: \r%i \d| \w%L:\d", "Pontjaid", amount, "Oldal");
formatex(hp, charsmax(hp), "\r+50HP \y(%d pont)", get_pcvar_num(HPAr));
formatex(pajzs, charsmax(pajzs), "\r+50Pajzs \y(%d pont)", get_pcvar_num(PajzsAr));
formatex(vtar, charsmax(vtar), "\rVégtelen Tár \y(%d pont)", get_pcvar_num(VTarAr));
formatex(vloszer, charsmax(vloszer), "\rVégtelen Lőszer \y(%d pont)", get_pcvar_num(VLoszerAr));
formatex(grcsom, charsmax(grcsom), "\rGránátcsomag \y(%d pont)", get_pcvar_num(GranatcsomagAr));
formatex(bombazo, charsmax(bombazo), "\rBombázó \y(%d pont)", get_pcvar_num(BombazoAr));
formatex(notrap, charsmax(notrap), "\rNotrap \y(%d pont)", get_pcvar_num(NotrapAr));
formatex(sebesseg, charsmax(sebesseg), "\rSebesség \y(%d pont)", get_pcvar_num(SebessegAr));
formatex(lowgrav, charsmax(lowgrav), "\rLowGravity \y(%d pont)", get_pcvar_num(LowGravityAr));
formatex(kameleon, charsmax(kameleon), "\rKaméleon \y(%d pont)", get_pcvar_num(KameleonAr));
formatex(drog, charsmax(drog), "\rDrog \y(%d pont)", get_pcvar_num(DrogAr));
formatex(attetsz, charsmax(attetsz), "\rÁttetszőség \y(%d pont)", get_pcvar_num(AttetszosegAr));
formatex(lathat, charsmax(lathat), "\rLáthatatlanság(\y30mp\r) \y(%d pont)", get_pcvar_num(LathatatlansagAr));
formatex(dsebzes, charsmax(dsebzes), "\rDuplasebzés \y(%d pont)", get_pcvar_num(DuplasebzesAr));
formatex(godmode, charsmax(godmode), "\rGodMode(\y10mp\r) \y(%d pont)", get_pcvar_num(GodModeAr));
formatex(hpreg, charsmax(hpreg), "\rHP Regeneráció \y(%d pont)", get_pcvar_num(HPRegAr));
formatex(preg, charsmax(preg), "\rPajzs Regeneráció \y(%d pont)", get_pcvar_num(PajzsRegAr));
formatex(norec, charsmax(norec), "\rNo Recoil \y(%d pont)", get_pcvar_num(NoRecoilAr));
formatex(vip, charsmax(vip), "\rVIP(\y2 hét\r) \y(%d pont)[Nem elérhető!]", get_pcvar_num(VIPAr));
formatex(close, charsmax(close), "Kilépés")
formatex(back, charsmax(back), "Vissza")
formatex(next, charsmax(next), "Következő")
new menu = menu_create(menu_title, "menu_handler");
menu_additem(menu, hp, "1", 0);
menu_additem(menu, pajzs, "2", 0);
menu_additem(menu, vtar, "3", 0);
menu_additem(menu, vloszer, "4", 0);
menu_additem(menu, grcsom, "5", 0);
menu_additem(menu, bombazo, "6", 0);
menu_additem(menu, notrap, "7", 0);
menu_additem(menu, sebesseg, "8", 0);
menu_additem(menu, lowgrav, "9", 0);
menu_additem(menu, kameleon, "10", 0);
menu_additem(menu, drog, "11", 0);
menu_additem(menu, attetsz, "12", 0);
menu_additem(menu, lathat, "13", 0);
menu_additem(menu, dsebzes, "14", 0);
menu_additem(menu, godmode, "15", 0);
menu_additem(menu, hpreg, "16", 0);
menu_additem(menu, preg, "17", 0);
menu_additem(menu, norec, "18", 0);
menu_additem(menu, vip, "19", 0);
menu_setprop(menu, MPROP_EXITNAME, close)
menu_setprop(menu, MPROP_BACKNAME, back)
menu_setprop(menu, MPROP_NEXTNAME, next)
menu_display(id,menu,0)
return PLUGIN_CONTINUE
}
public menu_handler(id,menu,item){
if(!is_user_alive(id) || item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
if(get_user_limit(id, item) == itemlimit(item))
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "Ezt csak %i x használhatod per kör!", itemlimit(item))
client_cmd(id, "spk %s", sNo)
return PLUGIN_CONTINUE
}
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(points[id] >= get_pcvar_num(HPAr)){
set_user_health(id,get_user_health(id)+get_pcvar_num(HP))
points[id] = points[id]-get_pcvar_num(HPAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Kaptál +50HP-t!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 2:{
if(points[id] >= get_pcvar_num(PajzsAr)){
set_user_armor(id,get_user_armor(id)+get_pcvar_num(Pajzs))
points[id] = points[id]-get_pcvar_num(PajzsAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Kaptál +50Pajzsot!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 3:{
if(points[id] >= get_pcvar_num(VTarAr)){
if(fegyver[id] == CSW_KNIFE || fegyver[id] == CSW_HEGRENADE || fegyver[id] == CSW_FLASHBANG || fegyver[id] == CSW_SMOKEGRENADE || fegyver[id] == CSW_C4)
{
cantactivateitem(id, item)
return PLUGIN_CONTINUE
}
cs_set_weapon_ammo(get_pdata_cbase(id, m_pActiveItem), 97280)
cs_set_user_bpammo(id, fegyver[id], 0)
points[id] = points[id]-get_pcvar_num(VTarAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Végtelen Tárat vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 4:{
if(points[id] >= get_pcvar_num(VLoszerAr)){
if(fegyver[id] == CSW_KNIFE || fegyver[id] == CSW_HEGRENADE || fegyver[id] == CSW_FLASHBANG || fegyver[id] == CSW_SMOKEGRENADE || fegyver[id] == CSW_C4)
{
cantactivateitem(id, item)
return PLUGIN_CONTINUE
}
cs_set_user_bpammo(id, fegyver[id], 99999)
points[id] = points[id]-get_pcvar_num(VLoszerAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Végtelen Lőszert vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 5:{
if(points[id] >= get_pcvar_num(GranatcsomagAr)){
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
points[id] = points[id]-get_pcvar_num(GranatcsomagAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Vettél egy Gránátcsomagot!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 6:{
if(points[id] >= get_pcvar_num(BombazoAr)){
give_item(id, "weapon_hegrenade")
cs_set_user_bpammo(id, CSW_HEGRENADE, get_pcvar_num(Bombazo))
points[id] = points[id]-get_pcvar_num(BombazoAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Vettél egy Bombázót!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 7:{
if(points[id] >= get_pcvar_num(NotrapAr)){
set_user_footsteps(id, 1)
points[id] = points[id]-get_pcvar_num(NotrapAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Notrappot vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 8:{
if(points[id] >= get_pcvar_num(SebessegAr)){
fshop_sebesseg[id] = true
set_user_maxspeed(id, get_pcvar_float(Sebesseg))
points[id] = points[id]-get_pcvar_num(SebessegAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Plusz Sebességet vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 9:{
if(points[id] >= get_pcvar_num(LowGravityAr)){
set_user_gravity(id, get_pcvar_float(LowGravity))
points[id] = points[id]-get_pcvar_num(LowGravityAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "LowGravity-t vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 10:{
if(points[id] >= get_pcvar_num(KameleonAr)){
switch(get_user_team(id))
{
case 1: cs_set_user_model(id, g_playerModels[random_num(4, 7)])
case 2: cs_set_user_model(id, g_playerModels[random_num(0, 3)])
}
points[id] = points[id]-get_pcvar_num(KameleonAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Kaméleont vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 11:{
if(points[id] >= get_pcvar_num(DrogAr)){
set_user_health(id, get_pcvar_num(DrogHP))
set_user_maxspeed(id, get_pcvar_float(DrogSebesseg))
drug_player(id)
points[id] = points[id]-get_pcvar_num(DrogAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Drogot vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 12:{
if(points[id] >= get_pcvar_num(AttetszosegAr)){
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, get_pcvar_num(Attetszoseg))
points[id] = points[id]-get_pcvar_num(AttetszosegAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Áttetszőséget vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 13:{
if(points[id] >= get_pcvar_num(LathatatlansagAr)){
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
set_task(get_pcvar_float(LathatatlansagIdo), "NoMoreInvis", id)
points[id] = points[id]-get_pcvar_num(LathatatlansagAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Láthatatlanságot vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 14:{
if(points[id] >= get_pcvar_num(DuplasebzesAr)){
fshop_duplasebzes[id] = true
points[id] = points[id]-get_pcvar_num(DuplasebzesAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Duplasebzést vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 15:{
if(points[id] >= get_pcvar_num(GodModeAr)){
set_user_godmode(id, 1)
set_task(get_pcvar_float(GodModeIdo), "NoMoreGod", id)
points[id] = points[id]-get_pcvar_num(GodModeAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "GodMode-ot vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 16:{
if(points[id] >= get_pcvar_num(HPRegAr)){
fshop_hpreg[id] = true
set_task(get_pcvar_float(HPRegIdo), "healthRegenTicker", id, "", 0, "b", 0)
points[id] = points[id]-get_pcvar_num(HPRegAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "HP Regenerációt vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 17:{
if(points[id] >= get_pcvar_num(PajzsRegAr)){
fshop_pajzsreg[id] = true
set_task(get_pcvar_float(PajzsRegIdo), "armorRegenTicker", id, "", 0, "b", 0)
points[id] = points[id]-get_pcvar_num(PajzsRegAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Pajzs Regenerációt vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 18:{
if(points[id] >= get_pcvar_num(NoRecoilAr)){
fshop_norecoil[id] = true
points[id] = points[id]-get_pcvar_num(NoRecoilAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "No Recoil-t vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
case 19:{
if(points[id] >= get_pcvar_num(VIPAr)){
set_user_flags(id, read_flags(VIP))
set_task(get_pcvar_float(VIPIdo), "NoMoreVIP", id)
points[id] = points[id]-get_pcvar_num(VIPAr)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "VIP-t vettél!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég pontod!")
}
}
}
set_user_limit(id, item, get_user_limit(id, item) + 1)
emit_sound(id, CHAN_ITEM, g_itemSounds[item], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
return PLUGIN_CONTINUE
}
stock itemlimit(item)
{
new limit
switch(item)
{
case 0: limit = get_pcvar_num(HPLimit)
case 1: limit = get_pcvar_num(PajzsLimit)
case 2: limit = get_pcvar_num(VTarLimit)
case 3: limit = get_pcvar_num(VLoszerLimit)
case 4: limit = get_pcvar_num(GranatcsomagLimit)
case 5: limit = get_pcvar_num(BombazoLimit)
case 6: limit = get_pcvar_num(NotrapLimit)
case 7: limit = get_pcvar_num(SebessegLimit)
case 8: limit = get_pcvar_num(LowGravityLimit)
case 9: limit = get_pcvar_num(KameleonLimit)
case 10: limit = get_pcvar_num(DrogLimit)
case 11: limit = get_pcvar_num(AttetszosegLimit)
case 12: limit = get_pcvar_num(LathatatlansagLimit)
case 13: limit = get_pcvar_num(DuplasebzesLimit)
case 14: limit = get_pcvar_num(GodModeLimit)
case 15: limit = get_pcvar_num(HPRegLimit)
case 16: limit = get_pcvar_num(PajzsRegLimit)
case 17: limit = get_pcvar_num(NoRecoilLimit)
case 18: limit = get_pcvar_num(VIPLimit)
}
return limit
}
stock set_user_limit(id, item, limit)
userlimit[id][item] = limit
stock get_user_limit(id, item)
return userlimit[id][item]
stock cantactivateitem(id, item)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "Nem használhatsz !t%L !nezen a !gfegyveren!", LANG_SERVER, (item == 2) ? "Végtelen Tárat" : "Végtelen Lőszert")
client_cmd(id, "spk %s", sNo)
}
public NoMoreInvis(id)
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "Nem vagy többé Láthatatlan.")
client_cmd(id, "spk %s", sOver)
}
public NoMoreGod(id)
{
if(is_user_alive(id)) set_user_godmode(id, 0)
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "Nem vagy többé GodMode-ban.")
client_cmd(id, "spk %s", sOver)
}
public NoMoreVip(id)
{
if(get_user_flags(id)&read_flags(VIP)){
set_user_flags(id, read_flags(PLAYER))
}
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "VIP tagságod lejárt")
client_cmd(id, "spk %s", sOver)
}
public sebzes(victim, inflictor, attacker, Float:damage, damage_bits)
{
if(is_user_alive(attacker) && fshop_duplasebzes[attacker] && attacker != victim)
SetHamParamFloat(4, damage * 2)
}
public prethink(id)
{
if(!is_user_alive(id) || !fshop_norecoil[id])
return
set_pev(id, pev_punchangle, {0.0, 0.0, 0.0})
}
stock drug_player(id)
{
message_begin(MSG_ONE, gmsg_SetFOV, {0, 0, 0}, id)
write_byte(180)
message_end()
}
public halal()
{
new attacker = read_data(1)
new victim = read_data(2)
if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim)
return HAM_IGNORED
new headshot = read_data(3)
new wep[32]
read_data(4, wep, 31)
new team_attacker = get_user_team(attacker)
new team_victim = get_user_team(victim)
if(team_attacker == team_victim)
{
if(get_pcvar_num(TeamKillPoints) == 0)
return HAM_IGNORED
}
new reward
if(equali(wep, "knife")) reward = get_pcvar_num(KesReward)
else if(headshot) reward = get_pcvar_num(HSReward)
else reward = get_pcvar_num(NormalReward)
points[attacker] += reward
if(get_pcvar_num(KillMessage) == 1)
{
new name_victim[32]
get_user_name(victim, name_victim, 31)
ColorChat(attacker, TEAM_COLOR, "%s ^1%L", szPrefix, "Kaptál !t%i !npontot !g%s !nmegöléséért!", reward, name_victim)
}
return HAM_IGNORED
}
public healthRegenTicker(id)
{
if(!is_user_alive(id) || !fshop_hpreg[id]) remove_task(id)
new health = get_user_health(id)
new healthamount = get_pcvar_num(HPReg)
new healthmax = get_pcvar_num(HPRegMax)
if(fshop_hpreg[id] && is_user_alive(id))
{
if(health < healthmax)
{
if(health + healthamount > healthmax) set_user_health(id, healthmax)
else set_user_health(id, health + healthamount)
}
}
}
public armorRegenTicker(id)
{
if(!is_user_alive(id) || !fshop_pajzsreg[id]) remove_task(id)
new armor = get_user_armor(id)
new armoramount = get_pcvar_num(PajzsReg)
new armormax = get_pcvar_num(PajzsRegMax)
if(fshop_pajzsreg[id] && is_user_alive(id))
{
if(armor < armormax)
{
if(armor + armoramount > armormax) set_user_armor(id, armormax)
else set_user_armor(id, armor + armoramount)
}
}
}
public plugin_precache()
{
for(new i = 0; i < sizeof g_itemSounds; i++)
precache_sound(g_itemSounds[i])
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
if( !get_playersnum() ) return;
new message[256];
switch(type)
{
case NORMAL:
{
message[0] = 0x01;
}
case GREEN: // Zöld
{
message[0] = 0x04;
}
default: // Szürke, Piros, Kék
{
message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
replace_all(message, 191, "!n", "^x01")
replace_all(message, 191, "!t", "^x03")
replace_all(message, 191, "!g", "^x04")
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;
}