És az users.ini-be tudsz adni neki V.I.P jogot a "t" jogal tudsz adni.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <nvault>
#include <colorchat>
#include <hamsandwich>
#include <fakemeta>
#define PLUGIN "CSDM Bolt"
#define VERSION "1.0"
#define AUTHOR "PoHa|R|"
#define VIP "t"
new g_vault
new arany[33]
new killz, killhz
new VIPar, VIPido
new admin
new SyncHudObj
new name[33][32]
new const szPrefix[] = "^4[|X.T| xClusive]"
#define ASD 17
new message[192]
new nev[32]
new Temp[192]
static color[10]
new szint[33]
new CVAR_SPEED, cvar_elet
new const szamok[ASD] =
{
50,
125,
250,
350,
500,
725,
975,
1200,
1500,
1850,
2200,
2650,
3200,
4000,
4500,
5200,
6000
}
new const rangok[ASD+1][] =
{
"Ujonc",
"Lelkes",
"Tag",
"Beavatott",
"Tud valamit",
"Fanatikus",
"Senior Tag",
"Jomunkasember",
"Nagyur",
"Felisten",
"Ostag",
"Veterán",
"Oskovulet",
"Minden6o",
"ISTEN",
"Mindent Tudo",
"Olyan jo, hogy a nevet se tudjatok",
"Akinek a neve:Az utolso Gyilkos"
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu", "menu1")
register_clcmd("say", "sayhook")
register_clcmd("say_team", "tshook")
RegisterHam(Ham_Killed, "player", "fw_player_killed", 1)
RegisterHam(Ham_Spawn, "player", "jatekos_spawn", 1)
killz = register_cvar("z_kill", "10")
killhz = register_cvar("hz_kill", "10")
VIPar = register_cvar("vip_ar", "10000")
VIPido = register_cvar("vip_ido", "40320")
CVAR_SPEED = register_cvar("kes_speed","340")
cvar_elet = register_cvar("vip_elet", "50")
set_task(2.9, "hud", 0, _, _, "b")
SyncHudObj = CreateHudSyncObj()
register_event("ResetHUD", "resetModel", "b")
register_event("CurWeapon","change","be","1=1")
return PLUGIN_CONTINUE
}
public plugin_precache() {
precache_model("models/player/xt_vip_ct/xt_vip_ct.mdl")
precache_model("models/player/xt_vip_te/xt_vip_te.mdl")
return PLUGIN_CONTINUE
}
public resetModel(id, level, cid) {
if (get_user_flags(id) & ADMIN_KICK) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "xt_vip_te")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "xt_vip_ct")
}
else {
cs_reset_user_model(id)
}
}
return PLUGIN_CONTINUE
}
public change(id) {
if(get_user_flags(id)&ADMIN_LEVEL_H)
{
new clip, ammo
new weapon = get_user_weapon(id, clip, ammo)
if(weapon == CSW_KNIFE) {
{
new Speed = get_pcvar_float(CVAR_SPEED)
set_user_maxspeed(id, Speed)
}
}
}
}
public jatekos_spawn(id)
{
if (!is_user_alive(id))
return
if(get_user_flags(id)&ADMIN_LEVEL_H)
{
set_task(2.0, "vip_menu", id)
}
}
public vip_menu(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
new gmenu = menu_create("\y~ \r[VIP] Menu, Valassz! \y~" , "Vip_handler")
menu_additem(gmenu ,"\y150HP", "1" , 0)
menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL)
menu_display(id , gmenu , 0)
return PLUGIN_CONTINUE
}
public Vip_handler(id, gmenu, item, player)
{
if (item == MENU_EXIT)
{
menu_destroy(gmenu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
set_user_health(id, get_user_health(id) + get_pcvar_num(cvar_elet))
ColorChat(id, GREEN, "^4[VIP]^1 Az eleted megvaltoztatva!")
}
}
public sayhook(id)
{
read_args (message, 191)
remove_quotes (message)
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
{
return PLUGIN_CONTINUE
}
get_user_name(id, nev, 31)
if(is_user_alive(id)) {
get_user_team(id, color, 9)
if(get_user_flags(id) == read_flags(VIP))
formatex(Temp, 191, "^4[V.I.P]%s ^3%s^1: ^4%s", rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^4[%s] ^3%s^1: %s", rangok[szint[id]], nev, message)
}
else {
get_user_team(id, color, 9)
if(get_user_flags(id) == read_flags(VIP))
formatex(Temp, 191, "^4*Halott* [V.I.P]%s ^3%s^1: ^4%s", rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^4 *Halott* [%s] ^3%s^1: %s", rangok[szint[id]], nev, message)
}
sendmessage(color)
return PLUGIN_HANDLED
}
public tshook(id)
{
read_args (message, 191)
remove_quotes (message)
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
{
return PLUGIN_CONTINUE
}
get_user_name(id, nev, 31)
new playerTeam = get_user_team(id)
new playerTeamName[19]
switch (playerTeam)
{
case 1: {
copy (playerTeamName, 11, "*Terrorista*")
}
case 2: {
copy (playerTeamName, 18, "*Anti-Terrorista*")
}
default:
copy (playerTeamName, 9, "*Nezo*")
}
if(is_user_alive(id))
{
get_user_team(id, color, 9)
if(get_user_flags(id) == read_flags(VIP))
formatex(Temp, 191, "^3(%s) ^4[V.I.P]%s ^3%s^1: ^4%s",playerTeamName, rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^3(%s) ^4[Játékos]%s ^3%s^1: %s",playerTeamName, rangok[szint[id]], nev, message)
}
else
{
get_user_team(id, color, 9)
if(get_user_flags(id) == read_flags(VIP))
formatex(Temp, 191, "^1*Halott* ^3(%s) ^4[V.I.P]%s ^3%s^1: ^4%s",playerTeamName, rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^1*Halott* ^3(%s) ^4[Játékos]%s ^3%s^1: %s", rangok[szint[id]], nev, message)
}
sendtmessage(color, playerTeam)
return PLUGIN_HANDLED
}
public sendmessage(color[])
{
new teamName[10]
for(new player = 1; player < get_maxplayers(); player++)
{
get_user_team (player, teamName, 9)
teamf (player, color)
elkuldes(player, Temp)
teamf(player, teamName)
}
}
public sendtmessage(color[], playerTeam)
{
new teamName[10]
for (new player = 1; player < get_maxplayers(); player++)
{
if(get_user_team(player) == playerTeam)
{
get_user_team (player, teamName, 9)
elkuldes(player, Temp)
teamf (player, teamName)
teamf (player, color)
}
}
}
public teamf(player, team[])
{
message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, player)
write_byte(player)
write_string(team)
message_end()
}
public elkuldes(player, Temp[])
{
message_begin( MSG_ONE, get_user_msgid( "SayText" ), _, player)
write_byte( player )
write_string( Temp )
message_end()
}
public menu1(id)
{
new menu2[121]
new menu = menu_create("\r|X.T| xClusive \w- \yFomenu", "menu_h")
menu_additem(menu, "\rBolt", "1", 0)
menu_additem(menu, "\rVip vasarlas", "2", 0)
format(menu2, charsmax(menu2),"\yKovetkezo Rang:\r%s" ,rangok[szint[id]+1])
menu_additem(menu,menu2,"3",0)
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_display(id, menu, 0)
}
public menu_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
bolt_menu(id)
}
case 2:
{
vip_menu(id)
}
case 3:
{
menu1(id)
}
}
return PLUGIN_HANDLED
}
public vip_menu(id)
{
new menu = menu_create("\r|X.T| xClusive \w- \y Vip vasarlas", "vip_menu_h")
menu_additem(menu, "\rVip vasarlas^n\y(%d Arany/honap)", "0", get_pcvar_num(VIPar))
menu_setprop(menu, MPROP_EXITNAME, "Megse");
menu_display(id, menu, 0)
}
public vip_menu_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key)
{
case 0:
{
if(arany[id] >= get_pcvar_num(VIPar)){
if(!get_user_flags(id)&ADMIN_LEVEL_H)
{
set_user_flags(id, read_flags(VIP))
set_task(get_pcvar_num(VIPido), "NoMoreVIP", id)
}
arany[id] = arany[id]-get_pcvar_num(VIPar)
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "VIP-t vettel!")
}
else
{
ColorChat(id, GREEN,"%s ^1%L", szPrefix, "Nincs elég aranyad!")
}
}
}
return PLUGIN_HANDLED
}
}
public bolt_menu(id)
{
new menu = menu_create("\r|X.T| xClusive \w- \yBolt", "bolt_menu_h")
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_display(id, menu, 0)
}
public bolt_menu_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
}
}
return PLUGIN_HANDLED
}
public fw_player_killed(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim)
return PLUGIN_CONTINUE;
if(get_pdata_int(victim, 75) == HIT_HEAD)
{
arany[attacker] += get_pcvar_num(killhz)
}
else
{
arany[attacker] += get_pcvar_num(killz)
}
return PLUGIN_CONTINUE
}
public mentes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-ARANY", name[id])
format(vaultdata,255,"%d", arany[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-ARANY", name[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
arany[id] = str_to_num(vaultdata)
return PLUGIN_CONTINUE;
}
public client_disconnect(id)
{
mentes(id);
remove_task(id);
arany[id] = 0;
}
public client_connect(id)
{
get_user_name(id, name[id], 31)
betoltes(id);
}
public hud()
{
admin = 0;
new players[32], pnum, tempid
get_players(players, pnum, "c")
for( new i; i<pnum; i++ )
{
tempid = players[i]
if(get_user_flags(tempid) & ADMIN_LEVEL_H)
{
admin++;
}
}
for( new i; i<pnum; i++ )
{
tempid = players[i]
set_hudmessage(0, 170, 255, 0.02, 0.2, 0, 1.0, 3.0);
ShowSyncHudMsg(tempid, SyncHudObj, "Arany: %d^nJelenlevo Vipek: %d",arany[tempid],admin)
}
}