z gory dzięki.
Podeslalem wam ten plugin.
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#define ADMIN_VIP ADMIN_LEVEL_H
#define SCOREATTRIB_DEAD (1 << 0)
#define SCOREATTRIB_VIP (1 << 2)
#define MODEL_VIPA
#define MONEY_F 115
#define fm_get_user_money(%1) get_pdata_int(%1, MONEY_F)
static const COLOR[] = "^x04" //green
new g_MsgScoreAttrib = 0;
new maxplayers
new gmsgSayText
public plugin_precache()
{
precache_model("models/player/wiezien/wiezien.mdl");
precache_model("models/player/jbemodel/jbemodel.mdl");
precache_model("models/vip/model_noza.mdl");
}
public plugin_init()
{
g_MsgScoreAttrib = get_user_msgid("ScoreAttrib");
register_message(g_MsgScoreAttrib, "messageScoreAttrib");
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_clcmd("say /vip", "vip_bonusy")
register_clcmd("say /vipy", "print_adminlist")
register_event("CurWeapon","CurWeapon","be", "1=1");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public fwHamPlayerSpawnPost(id){
if (is_user_connected(id) && is_user_alive(id) && get_user_flags(id) & ADMIN_VIP)
{
model_vip_change(id);
set_hudmessage(255, 0, 0, 0.34, 0.81, 0, 6.0, 12.0)
show_hudmessage(id, "Jestes VIP'em")
set_user_health(id, 150)
set_user_armor(id, 50)
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}
}
public vip_bonusy(id)
{
show_motd(id, "VIP MA 150 HP 50 ARMORA NAPIS VIP W STATYSTYKACH 'tab', MOZE UZYWAC CZRODZEJSKIEGO MAZAKA ", "DODATKI VIPOW")
}
public CurWeapon(id)
{
if (get_user_flags(id) & ADMIN_VIP)
{
new wepaon = get_user_weapon(id);
if (wepaon == CSW_KNIFE)
entity_set_string(id, EV_SZ_viewmodel, "models/vip/model_noza.mdl")
}
}
public model_vip_change(id)
{
if(cs_get_user_team(id) == CS_TEAM_T)
cs_set_user_model(id, "wiezien");
else
cs_set_user_model(id, "jbemodel");
}
public messageScoreAttrib(iMsgID, iDest, iReceiver)
{
new iPlayer = get_msg_arg_int(1);
if(is_user_connected(iPlayer) && (get_user_flags(iPlayer) & ADMIN_VIP))
set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
}
public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_VIP)
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "%s Vipy w grze: ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "Aktualnie zaden VIP nie gra.")
print_message(user, message)
}
get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s VIPY -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
new weapon = get_user_weapon(idattacker);
if(damagebits & DMG_BULLET && get_user_flags(idattacker) & ADMIN_VIP && weapon == CSW_KNIFE && damage > 30.0)
SetHamParamFloat(4, 100.0);
return HAM_IGNORED;
}


Dodatki SourceMod












