Jump to content

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.

Link to post
Share on other sites

  • gaby changed the title to Modificare plugin VIP cs 1.6?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.