Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <fun>
- #include <cstrike>
- #include <colorchat>
- #include <hamsandwich>
- #include <fakemeta>
- enum {
- SCOREATTRIB_ARG_PLAYERID = 1,
- SCOREATTRIB_ARG_FLAGS
- };
- enum ( <<= 1 ) {
- SCOREATTRIB_FLAG_NONE = 0,
- SCOREATTRIB_FLAG_DEAD = 1,
- SCOREATTRIB_FLAG_BOMB,
- SCOREATTRIB_FLAG_VIP
- };
- new maxplayers, gmsgSayText
- static const COLOR[] = "^x04"
- new cvar_za_recoil
- new cvar_za_skin
- new cvar_za_reklamu
- new cvar_za_hp
- new cvar_za_armor
- new cvar_za_vipchat
- new Trie: Vipac
- new const viporder[] = "addons/amxmodx/configs/dmvip/order.txt"
- new const vipdm[] = "addons/amxmodx/configs/dmvip"
- new const vipcfg[] = "addons/amxmodx/configs/dmvip/vipcfg.cfg"
- new const vipfajl[] = "addons/amxmodx/configs/dmvip/vips.ini"
- public plugin_init() {
- register_plugin("DeathMatch VIP Advanced", "2.0", "AlerteR")
- maxplayers = get_maxplayers()
- gmsgSayText = get_user_msgid("SayText")
- register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
- cvar_za_recoil = register_cvar("vip_recoil", "1")
- cvar_za_skin = register_cvar("vip_skinmenu", "1")
- cvar_za_reklamu = register_cvar("vip_reklama", "60.0")
- cvar_za_hp = register_cvar("vip_hp", "150")
- cvar_za_armor = register_cvar("vip_armor", "100")
- cvar_za_vipchat = register_cvar("vip_vipchat", "1")
- RegisterHam(Ham_Spawn, "player", "oziveo", 1)
- register_clcmd("say /vips", "handle_say")
- register_clcmd("say /buyvip", "narucivipa")
- register_clcmd("say /skin", "skinmenu")
- register_clcmd("say", "vipprefix")
- set_task(get_pcvar_float(cvar_za_reklamu), "reklamiraj", 100, _, _, "b")
- }
- public plugin_cfg()
- {
- Vipac = TrieCreate()
- new Directory [] = "addons/amxmodx/configs/dmvip/vips.ini"
- new Data[35],File
- File = fopen(Directory, "rt")
- while (!feof(File)) {
- fgets(File, Data, charsmax(Data))
- trim(Data)
- if (Data[0] == ';' || !Data[0])
- continue;
- remove_quotes(Data)
- TrieSetCell(Vipac, Data, true)
- }
- fclose(File)
- }
- bool:vipcuga(id)
- {
- new steam[33]
- get_user_authid(id,steam,32)
- if(TrieKeyExists(Vipac,steam))
- {
- set_user_flags(id, ADMIN_LEVEL_H)
- return true
- }
- return false
- }
- public oziveo(id)
- {
- if(!is_user_alive(id))
- return PLUGIN_HANDLED
- if(vipcuga(id))
- {
- set_task(2.0, "viptasks", id)
- }
- return PLUGIN_CONTINUE
- }
- public viptasks(id)
- {
- set_user_health(id, get_pcvar_num(cvar_za_hp))
- set_user_armor(id, get_pcvar_num(cvar_za_armor))
- if(get_pcvar_num(cvar_za_recoil) == 1)
- {
- set_pev(id, pev_punchangle, 0.1)
- }
- }
- public vipprefix(id)
- {
- if(vipcuga(id) && (get_pcvar_num(cvar_za_vipchat) == 1))
- {
- new vipnick[33]
- get_user_name(id, vipnick, 32)
- new viptext[192]
- read_args(viptext, 191)
- remove_quotes(viptext)
- ColorChat(0, TEAM_COLOR, "^4[VIP]^3 %s: ^1%s", vipnick, viptext)
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public narucivipa(id)
- {
- new narucinick[33]
- get_user_name(id, narucinick, 32)
- new naruciid[33]
- get_user_authid(id, naruciid, 32)
- new order[192]
- format(order, 191, "Information about orders: Nick: %s STEAM ID: %s", narucinick, naruciid)
- write_file(viporder, order)
- write_file(viporder, " ")
- ColorChat(id, TEAM_COLOR, "^4[VIP]^1 You successfully commissioned VIP. Pick up an admin for further instructions.")
- }
- public reklamiraj(id)
- {
- ColorChat(0, TEAM_COLOR, "^4[VIP]^1 If you want to buy VIP and you get a number of benefits, ^3say /buyvip")
- }
- public skinmenu(id)
- {
- if(vipcuga(id) && (get_pcvar_num(cvar_za_skin) == 1))
- {
- new menu = menu_create("VIP Skin Menu", "vipskin_handler")
- menu_additem(menu, "VIP Skin 1")
- menu_additem(menu, "VIP Skin 2")
- menu_additem(menu, "VIP Skin 3")
- menu_display(id, menu)
- }
- }
- public vipskin_handler(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_CONTINUE
- }
- switch(item)
- {
- case 0:
- {
- cs_set_user_model(id, "vipskin1")
- }
- case 1:
- {
- cs_set_user_model(id, "vipskin2")
- }
- case 2:
- {
- cs_set_user_model(id, "vipskin3")
- }
- }
- return PLUGIN_CONTINUE
- }
- public handle_say(id)
- {
- set_task(0.1,"print_adminlist",id)
- return PLUGIN_CONTINUE
- }
- 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_LEVEL_H)
- get_user_name(id, adminnames[count++], 31)
- len = format(message, 255, "%s Online VIP-ovi: ",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, "There are currently no Online VIP's.")
- print_message(user, message)
- }
- get_cvar_string("amx_contactinfo", contact, 63)
- if(contact[0]) {
- format(contactinfo, 111, "%s Contact Server Vip -- %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 MessageScoreAttrib(iMsgId,iDest,iReceiver )
- {
- new id = get_msg_arg_int(SCOREATTRIB_ARG_PLAYERID);
- if(vipcuga(id))
- set_msg_arg_int(SCOREATTRIB_ARG_FLAGS,ARG_BYTE,SCOREATTRIB_FLAG_VIP);
- }
- public plugin_precache()
- {
- server_cmd("exec %s", vipcfg)
- precache_model("models/player/vipskin1/vipskin1.mdl")
- precache_model("models/player/vipskin2/vipskin2.mdl")
- precache_model("models/player/vipskin3/vipskin3.mdl")
- if(!dir_exists(vipdm))
- {
- mkdir(vipdm)
- }
- if(!file_exists(viporder))
- {
- write_file(viporder, "Ovde se pisu narudzbine VIP-a")
- write_file(viporder, " ")
- }
- if(!file_exists(vipcfg))
- {
- write_file(vipcfg, "Ovde se nalaze cvarovi vezani za VIP-a")
- write_file(vipcfg, " ")
- write_file(vipcfg, "vip_recoil ^"1^" // da li vip ima no recoil")
- write_file(vipcfg, "vip_skinmenu ^"1^" // da li je upaljen vip skin menu")
- write_file(vipcfg, "vip_reklama ^"60.0^" // na koliko izlazi reklama za vipa")
- write_file(vipcfg, "vip_hp ^"150^" // koliko vip dobija hp na spawnu")
- write_file(vipcfg, "vip_armor ^"100^" // koliko vip dobija armor na spawnu")
- write_file(vipcfg, "vip_vipchat ^"1^" // da li je upaljen vip prefix za chat")
- }
- if(!file_exists(vipfajl))
- {
- write_file(vipfajl, "Here are entered STEAM IDs VIP's:")
- write_file(vipfajl, " ")
- }
- }
- public plugin_end()
- TrieDestroy(Vipac)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement