Jump to content
Sign in to follow this  
M10VDN

Modificare plugin VIP cs 1.6?

Recommended Posts

Buna ziua,

Nu stiu daca am ales cu bine acesta sectiune pentru a expune problema.

Dar, am un plugin VIP pentru serverul meu de CS1.6, si doresc sa fac cateva modificari in el. Am tot incercat eu una alta, dar efectiv nu-mi iasa.

Am sa va atasez si sursa plugin-ului mai jos, dupa ce va explic ce as vrea pe el, si daca se poate.

As vrea ca pe mapele care incep cu fy, gen, fy_snow, fy_snow_orange, fy_buzzkill, etc, plugin-ul sa nu functioneze

A doua chestie, daca se poate si daca nu sunt mitocan, este ca atunci cand accesez comanda: amx_addvips - sa-mi adauge vip-uriile intr-un fisier vips.ini

Am un plugin VIP care face asta, dar acela are alte buguri. Daca vreti, vi le atasez pe ambele.

 

PLUGIN VIP SURSA:

#define DAMAGE_RECIEVED 
#include <amxmodx> 
#include <amxmisc> 
#include <cstrike> 
#include <fun> 

static const COLOR[] = "^x04" //green 
static const CONTACT[] = "" 
new maxplayers 
new gmsgSayText 
new mpd, mkb, mhb 
new g_MsgSync 
new health_add 
new health_hs_add 
new health_max 
new nKiller 
new nKiller_hp 
new nHp_add 
new nHp_max 
new g_awp_active 
new g_menu_active 
new CurrentRound 
new bool:HasC4[33] 
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1234567890 
#if defined DAMAGE_RECIEVED 
    new g_MsgSync2 
#endif 

public plugin_init() 
{ 
    register_plugin("VIP Eng Version", "3.0", "Dunno") 
    mpd = register_cvar("money_per_damage","3") 
    mkb = register_cvar("money_kill_bonus","200") 
    mhb = register_cvar("money_hs_bonus","500") 
    health_add = register_cvar("amx_vip_hp", "15") 
    health_hs_add = register_cvar("amx_vip_hp_hs", "30") 
    health_max = register_cvar("amx_vip_max_hp", "100") 
    g_awp_active = register_cvar("awp_active", "1") 
    g_menu_active = register_cvar("menu_active", "1") 
    register_event("Damage","Damage","b") 
    register_event("DeathMsg","death_msg","a") 
    register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod") 
    register_clcmd("awp","HandleCmd") 
        register_clcmd("sg550","HandleCmd") 
        register_clcmd("g3sg1","HandleCmd") 
    register_clcmd("say /wantvip","ShowMotd") 
    maxplayers = get_maxplayers() 
    gmsgSayText = get_user_msgid("SayText") 
    register_clcmd("say", "handle_say") 
    register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER) 
    register_logevent("LogEvent_RoundStart", 2, "1=Round_Start" ); 
    register_event("TextMsg","Event_RoundRestart","a","2&#Game_w") 
    register_event("TextMsg","Event_RoundRestart","a","2&#Game_C"); 
    register_event("DeathMsg", "hook_death", "a", "1>0") 
    register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0") 
    g_MsgSync = CreateHudSyncObj() 
#if defined DAMAGE_RECIEVED 
    g_MsgSync2 = CreateHudSyncObj() 
#endif     
} 

public on_damage(id) 
{ 
    new attacker = get_user_attacker(id) 

#if defined DAMAGE_RECIEVED 
    // id should be connected if this message is sent, but lets check anyway 
    if ( is_user_connected(id) && is_user_connected(attacker) ) 
    if (get_user_flags(attacker) & ADMIN_RESERVATION) 
    { 
        new damage = read_data(2) 

        set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) 
        ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage) 
#else 
    if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_RESERVATION) ) 
    { 
        new damage = read_data(2) 
#endif 
        set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) 
        ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage) 
    } 
} 

public Damage(id) 
{ 
    new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint) 
    if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id) 
    if (get_user_flags(attacker) & ADMIN_RESERVATION)  
    { 
        new money = read_data(2) * get_pcvar_num(mpd) 
        if(hitpoint==1) money += get_pcvar_num(mhb) 
        cs_set_user_money(attacker,cs_get_user_money(attacker) + money) 
    } 
} 

public death_msg() 
{ 
    if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300) 
} 

public LogEvent_RoundStart() 
{ 
    CurrentRound++; 
    new players[32], player, pnum; 
    get_players(players, pnum, "a"); 
    for(new i = 0; i < pnum; i++) 
    { 
        player = players[i]; 
        if(is_user_alive(player) && get_user_flags(player) & ADMIN_RESERVATION) 
        { 
            give_item(player, "weapon_hegrenade") 
            give_item(player, "weapon_flashbang") 
            give_item(player, "weapon_flashbang") 
            give_item(player, "item_assaultsuit") 
            give_item(player, "item_thighpack") 
             
            if (!get_pcvar_num(g_menu_active)) 
                return PLUGIN_CONTINUE 
             
            if(CurrentRound >= 3) 
            { 
                Showrod(player); 
            } 
        } 
    } 
    return PLUGIN_HANDLED 
} 

public Event_RoundRestart() 
{ 
    CurrentRound=0; 
} 

public hook_death() 
{ 
   // Killer id 
   nKiller = read_data(1) 
    
   if ( (read_data(3) == 1) && (read_data(5) == 0) ) 
   { 
      nHp_add = get_pcvar_num (health_hs_add) 
   } 
   else 
      nHp_add = get_pcvar_num (health_add) 
   nHp_max = get_pcvar_num (health_max) 
   // Updating Killer HP 
   if(!(get_user_flags(nKiller) & ADMIN_RESERVATION)) 
   return; 

   nKiller_hp = get_user_health(nKiller) 
   nKiller_hp += nHp_add 
   // Maximum HP check 
   if (nKiller_hp > nHp_max) nKiller_hp = nHp_max 
   set_user_health(nKiller, nKiller_hp) 
   // Hud message "Healed +15/+30 hp" 
   set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1) 
   show_hudmessage(nKiller, "Healed +%d hp", nHp_add) 
   // Screen fading 
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller) 
   write_short(1<<10) 
   write_short(1<<10) 
   write_short(0x0000) 
   write_byte(0) 
   write_byte(0) 
   write_byte(200) 
   write_byte(75) 
   message_end() 
  
} 

public Showrod(id) { 
    show_menu(id, Keysrod, "Free VIP Guns^n\w1. Alege M4A1+Deagle ^n\w2. Alege AK47+Deagle ^n\w3. Alege AWP+Deagle^n0. Exit^n", -1, "rod") // Display menu 
} 
public Pressedrod(id, key) { 
    /* Menu: 
    * VIP Menu 
    * 1. Get M4A1+Deagle 
    * 2. Get AK47+Deagle 
    * 0. Exit 
    */ 
    switch (key) { 
        case 0: {  
            if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) 
                HasC4[id] = true; 
            else 
                HasC4[id] = false; 
             
            strip_user_weapons (id) 
            give_item(id,"weapon_m4a1") 
            give_item(id,"ammo_556nato") 
            give_item(id,"ammo_556nato") 
            give_item(id,"ammo_556nato") 
            give_item(id,"weapon_deagle") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"weapon_knife") 
            give_item(id,"weapon_hegrenade") 
            give_item(id, "weapon_flashbang"); 
            give_item(id, "weapon_flashbang"); 
            give_item(id, "item_assaultsuit"); 
            give_item(id, "item_thighpack"); 
            client_print(id, print_center, "Ai primit M4A1+Deagle") 
             
            if (HasC4[id]) 
            { 
                give_item(id, "weapon_c4"); 
                cs_set_user_plant( id ); 
            } 
            } 
        case 1: {  
            if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) 
                HasC4[id] = true; 
            else 
                HasC4[id] = false; 
             
            strip_user_weapons (id) 
            give_item(id,"weapon_ak47") 
            give_item(id,"ammo_762nato") 
            give_item(id,"ammo_762nato") 
            give_item(id,"ammo_762nato") 
            give_item(id,"weapon_deagle") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"weapon_knife") 
            give_item(id,"weapon_hegrenade") 
            give_item(id, "weapon_flashbang"); 
            give_item(id, "weapon_flashbang");  
            give_item(id, "item_assaultsuit"); 
            give_item(id, "item_thighpack"); 
            client_print(id, print_center, "Ai primit AK47+Deagle") 
             
            if (HasC4[id]) 
            { 
                give_item(id, "weapon_c4"); 
                cs_set_user_plant( id ); 
            } 
            } 
        case 2: {  
            if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) 
                HasC4[id] = true; 
            else 
                HasC4[id] = false; 
             
            strip_user_weapons (id) 
            give_item(id,"weapon_awp") 
            give_item(id,"ammo_338magnum") 
            give_item(id,"ammo_338magnum") 
            give_item(id,"ammo_338magnum") 
            give_item(id,"weapon_deagle") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"ammo_50ae") 
            give_item(id,"weapon_knife") 
            give_item(id,"weapon_hegrenade") 
            give_item(id, "weapon_flashbang"); 
            give_item(id, "weapon_flashbang"); 
            give_item(id, "item_assaultsuit"); 
            give_item(id, "item_thighpack"); 
            client_print(id, print_center, "Ai primit AWP+Deagle") 
             
            if (HasC4[id]) 
            { 
                give_item(id, "weapon_c4"); 
                cs_set_user_plant( id ); 
            } 
            } 
        case 9: {              
        } 
    } 
    return PLUGIN_CONTINUE 
} 

public HandleCmd(id){ 
    if (!get_pcvar_num(g_awp_active)) 
      return PLUGIN_CONTINUE 
    if(get_user_flags(id) & ADMIN_RESERVATION)  
        return PLUGIN_CONTINUE 
    client_print(id, print_center, "AWP doar pentru VIP") 
    return PLUGIN_HANDLED 
} 

public ShowMotd(id) 
{ 
 show_motd(id, "vip.txt") 
} 
public client_authorized(id) 
{ 
 set_task(30.0, "PrintText" ,id) 
} 
public PrintText(id) 
{ 
 client_print(id, print_chat, "[VIP] Scrie /wantvip pentru a vedea cum poti obtine VIP, si privilegile sale.") 
} 

public handle_say(id) { 
    new said[192] 
    read_args(said,192) 
    if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 ) 
        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_RESERVATION) 
                get_user_name(id, adminnames[count++], 31) 

    len = format(message, 255, "%s VIP ONLINE: ",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, "Niciun VIP Online.") 
        print_message(user, message) 
    } 
     
    get_cvar_string("amx_contactinfo", contact, 63) 
    if(contact[0])  { 
        format(contactinfo, 111, "%s Contact Server Admin -- %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() 
}  

Acesta e codul sursa la plugin-ul folosit deja de mine. In cazul in care doriti sursa de la cel de-al doilea plugin, care contine partea cu comanda amx_addvips, spuneti-mi si o sa o adaug.

 

Va multumesc foarte frumos si mult.

Share this post


Link to post
Share on other sites

Nu are treaba C++ ul cu pluginurile de cs :) 

Ai gresit forumul,nu se oferta suport pentru pluginuri.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×