AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Gravity + Plugin VIP (https://forums.alliedmods.net/showthread.php?t=156952)

amigosaostiroos 05-14-2011 09:13

Gravity + Plugin VIP
 
this plugin does not support changing the severity of the server...

Code:

#pragma semicolon 1

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <vault>

#define ADMIN_BBVIP ADMIN_LEVEL_H

// Define the Plugin Version
new const VERSION[] = { "1.0" };

// PREFIX
new const PREFIX[] = { "!g[ BaseBuilder ]!n" };

new const g_szKnifeBModel[] = "models/chucky_knife.mdl";
new const g_szKnifeWModel[] = "models/v_claw.mdl";
new const g_szAk47Model[] = "models/v_golden_ak47.mdl";
new const g_szDeagleModel[] = "models/v_deagle.mdl";

new VipUsed[33];
new HasSpeed;

new bool:g_bHasKnifeB[33];
new bool:g_bHasKnifeW[33];
new bool:g_bHasAk47[33];
new bool:g_bHasDeagle[33];
new Float:fast_speed = 400.0;
new Float:normal_speed = 250.0;
//new g_pVisiblity;
new mpd,/* mkb,*/ mhb;
new maxplayers;

public plugin_init()
{
    register_plugin("BaseBuilder: VIP Menu", VERSION, "anti-talent");
    RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1);
    RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1);
    RegisterHam(Ham_TakeDamage, "player", "FwdPlayerDamage");
    //RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
   
    register_event("CurWeapon","event_curweapon","be","1=1");
   
    register_clcmd("say vmenu", "cmdVmenu");
    register_clcmd("say /vmenu", "cmdVmenu");
    register_clcmd("say_team vmenu", "cmdVmenu");
    register_clcmd("say_team /vmenu", "cmdVmenu");
    register_clcmd("say /buyvip", "cmdBuyvip");
    register_clcmd("say buyvip", "cmdBuyvip");
    register_clcmd("say_team buyvip", "cmdBuyvip");
    register_clcmd("say_team /buyvip", "cmdBuyvip");
    register_clcmd("say /preturi", "cmdPreturi");
    register_clcmd("say_team /preturi", "cmdPreturi");
    //g_pVisiblity = register_cvar( "km_invis", "200" ); // 255 = clearly visible
    set_task(480.0, "kmodmsg", 0, _, _, "b");
   
    mpd = register_cvar("money_per_damage","3");
    //mkb = register_cvar("money_kill_bonus","200");
    mhb = register_cvar("money_hs_bonus","500");
    register_event("Damage","Damage","b");
    maxplayers = get_maxplayers();
   
   
    // Ham TakeDamage
    register_forward( FM_CmdStart, "fw_CmdStart" );
    //RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
}

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_LEVEL_H)
    {
        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 FwdPlayerDamage(victim, inflictor, attacker, Float:damage, damagebits)
{
    if(inflictor == attacker
    && attacker != victim
    && g_bHasKnifeB[ attacker ]
    && is_user_alive(attacker)
    && get_user_weapon(attacker) == CSW_KNIFE )
    {
        SetHamParamFloat(4, damage * 3.0);
    }
    if(inflictor == attacker
    && attacker != victim
    && g_bHasAk47[ attacker ]
    && is_user_alive(attacker)
    && get_user_weapon(attacker) == CSW_AK47 )
    {
        SetHamParamFloat(4, damage * 2.0);
    }
      if(inflictor == attacker
    && attacker != victim
    && g_bHasDeagle[ attacker ]
    && is_user_alive(attacker)
    && get_user_weapon(attacker) == CSW_DEAGLE )
    {
        SetHamParamFloat(4, damage * 4.0);
    }

   

public plugin_precache()
{
    precache_model(g_szKnifeBModel);
    precache_model(g_szAk47Model);
    precache_model(g_szKnifeWModel);
      precache_model(g_szDeagleModel);
}

public event_curweapon(id)
{
    if(g_bHasKnifeB[id] && read_data(2) == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, g_szKnifeBModel);
        set_user_gravity(id, 0.5);
    }
   
    else
        set_user_gravity(id, 1.0);
    if(g_bHasAk47[id] && read_data(2) == CSW_AK47)
    {
        set_pev(id, pev_viewmodel2, g_szAk47Model);
        set_user_gravity(id, 1.0);
    }
   
    else
        set_user_gravity(id, 1.0);
      if(g_bHasDeagle[id] && read_data(2) == CSW_DEAGLE)
    {
        set_pev(id, pev_viewmodel2, g_szDeagleModel);
        set_user_gravity(id, 0.5);
    }
   
    else
        set_user_gravity(id, 1.0);
}


public FwdPreFrame_Post(id)
{
    if(!is_user_alive(id))
    {
        return PLUGIN_HANDLED;
    }
   
    if(!HasSpeed)
    {
        return PLUGIN_HANDLED;
    }
   
    else if(HasSpeed)
    {
        set_user_maxspeed(id, fast_speed);
    }
   
    return PLUGIN_HANDLED;
}


public FwdHamSpawn_Post(id)
{
    if (!is_user_alive(id))
        return PLUGIN_CONTINUE;
   
    HasSpeed = false;
    VipUsed[id] = false;
    g_bHasKnifeB[id] = false;
    g_bHasKnifeW[id] = false;
    g_bHasAk47[id] = false;
    g_bHasDeagle[id] = false;
    set_user_maxspeed(id, normal_speed);
    set_user_rendering( id, _, 0, 0, 0, _, 0 );
    return PLUGIN_CONTINUE;


public cmdVmenu(id)
{
    if(!(get_user_flags(id) & ADMIN_BBVIP))
    {
        client_printc(id, "%s Only !gVIPs !tmay use the VIP Menu", PREFIX);
       
        return PLUGIN_HANDLED;
    }
   
    if(VipUsed[id])
    {
        client_printc(id, "%s You already used !gVIP Menu!n this round. Please wait till next round", PREFIX);
       
        return PLUGIN_HANDLED;
    }
   
    switch(cs_get_user_team(id))
    {
        case CS_TEAM_T:
            VipTMenu(id);
       
        case CS_TEAM_CT:
            VipCTMenu(id);
    }
   
    return PLUGIN_HANDLED;
}

public VipCTMenu(id)
{
    new menu = menu_create("\yBaseBuilder VIP Menu:^n\r", "VipCTMenu_handler");
   
    menu_additem(menu, "\w+150HP and +100Armor", "1", 0);
    menu_additem(menu, "\wSpeed", "2", 0);
    menu_additem(menu, "\wM249 and Deagle", "3", 0);
    menu_additem(menu, "\wRevive", "4", 0);
    menu_additem(menu, "\wSG550", "5", 0);
    menu_additem(menu, "\wG3SG1", "6", 0);
    menu_additem(menu, "\wGolden AK 47", "7", 0);
      menu_additem(menu, "\wGolden Deagle", "8", 0);
      menu_additem(menu, "\wAWP", "9", 0);
    menu_display(id, menu);
}

public VipCTMenu_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
   
    new data[6], iName[64];
    new access, callback;
    menu_item_getinfo(menu, 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) + 150);
            set_user_armor(id, get_user_armor(id) + 100);
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !g150HP!n and !g100Armor!n", PREFIX);
        }
        case 2:
        {
            VipUsed[id] = true;
            HasSpeed = true;
           
            set_user_maxspeed(id, fast_speed);
           
            client_printc(id, "%s You have just recieved !gSpeed", PREFIX);
        }
       
        case 3:
        {
            give_item(id, "weapon_m249");
            give_item(id, "weapon_deagle");
            cs_set_user_bpammo(id, CSW_M249, 200);
            cs_set_user_bpammo(id, CSW_DEAGLE, 100);
           
            VipUsed[id] = true;
           
           
            client_printc(id, "%s You have just recieved !gM249!n and !gDeagle!n", PREFIX);
        }
       
        case 4:
        {
           
            ExecuteHamB(Ham_CS_RoundRespawn, id);
           
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just been !grevived", PREFIX);
        }
        case 5:
        {
           
            give_item(id, "weapon_sg550");
            cs_set_user_bpammo(id, CSW_SG550, 200);
           
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !gSG550", PREFIX);
        }
        case 6:
        {
           
            give_item(id, "weapon_g3sg1");
            cs_set_user_bpammo(id, CSW_G3SG1, 200);
           
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !gG3SG1", PREFIX);
        }
        case 7:
        {
           
            give_item(id, "weapon_ak47");
            cs_set_user_bpammo(id, CSW_AK47, 200);
            set_pev(id, pev_viewmodel2, "models/v_golden_ak47.mdl");
            g_bHasAk47[id] = true;
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !gGolden AK 47", PREFIX);
        }
        case 8:
        {
           
            give_item(id, "weapon_deagle");
            cs_set_user_bpammo(id, CSW_DEAGLE, 200);
            set_pev(id, pev_viewmodel2, "models/v_deagle.mdl");
            g_bHasDeagle[id] = true;
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !gGolden Deagle", PREFIX);
        }
              case 9:
        {
           
            give_item(id, "weapon_awp");
            cs_set_user_bpammo(id, CSW_AWP, 200);
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !gAWP", PREFIX);
        }


    }
   
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public VipTMenu(id)
{
    new menu = menu_create("\yBaseBuilder VIP Menu:^n\r", "VipTMenu_handler");
   
    menu_additem(menu, "\wSpeed", "1", 0);
    menu_additem(menu, "\w+5000Hp si +5000Armor", "2", 0);
    menu_additem(menu, "\wBloody Knife", "3", 0);
    menu_additem(menu, "\wWolveriNe Knife", "4", 0);
    menu_display(id, menu);
}

public VipTMenu_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
   
    new data[6], iName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
   
    new key = str_to_num(data);
   
    switch(key)
    {
       
        case 1:
        {
            VipUsed[id] = true;
            HasSpeed = true;
           
            set_user_maxspeed(id, fast_speed);
           
            client_printc(id, "%s You have just recieved !gSpeed", PREFIX);
        }
       
        case 2:
        {
            set_user_health(id, get_user_health(id) + 5000);
            set_user_armor(id, get_user_armor(id) + 5000);
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !g5000 HP!n and !g5000 Armor!n", PREFIX);
        }
       
        case 3:
        {
            set_user_health(id, get_user_health(id) + 2000);
            set_user_armor(id, get_user_armor(id) + 2000);
            set_user_maxspeed(id, fast_speed);
            HasSpeed = true;
            set_pev(id, pev_viewmodel2, "models/chucky_knife.mdl");
            g_bHasKnifeB[id] = true;
           
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !gBloody Knife", PREFIX);
        }
        case 4:
        {
            set_user_health(id, get_user_health(id) + 2500);
            set_user_armor(id, get_user_armor(id) + 2500);
            set_user_maxspeed(id, fast_speed);
            HasSpeed = true;
            set_pev(id, pev_viewmodel2, "models/v_claw.mdl");
            g_bHasKnifeW[id] = true;
                    set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 125);
           
            VipUsed[id] = true;
           
            client_printc(id, "%s You have just recieved !gWolveriNe Knife", PREFIX);
        }
       
       
    }
   
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}



public cmdBuyvip(id)
{
    show_motd(id, "vip.txt", "VIP");

public PrintText(id)
{
    client_print(id, print_chat, "!t[VIP] !gScrie !t/buyvip !gsi vei vedea !tBeneficiile VIP.");
}

public cmdPreturi(id)
{
    show_motd(id, "preturi.txt", "PRETURI");
   
    client_printc(id, "!t[PRETURI] !gScrie !t/preturi !gpentru a vedea preturile pentru !tadmin !gsi !tvip.");
}



// Colour Chat
stock client_printc(const id, const input[], any:...)
{
    new count = 1, players[32];
    static msg[191];
    vformat(msg, 190, input, 3);
   
    replace_all(msg, 190, "!g", "^x04"); // Green Color
    replace_all(msg, 190, "!n", "^x01"); // Default Color
    replace_all(msg, 190, "!t", "^x03"); // Team Color
   
    if (id) players[0] = id; else get_players(players, count, "ch");
   
    for (new i = 0; i < count; i++)
    {
        if (is_user_connected(players[i]))
        {
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
            write_byte(players[i]);
            write_string(msg);
            message_end();
        }
    }
}


capozblack 05-14-2011 09:32

Re: Gravity + Plugin VIP
 
Not compatible? how so?

amigosaostiroos 05-14-2011 14:47

Re: Gravity + Plugin VIP
 
Quote:

Originally Posted by capozblack (Post 1469174)
Not compatible? how so?

I change the gravity of the server. I change the map on the server. The gravity is not changed ... If I turn off the plugin, gravity is right as I want if I turn the plugin, gravity is not how I want...

is difficult to explain

SonicSonedit 05-15-2011 05:09

Re: Gravity + Plugin VIP
 
amigosaostiroos
Remove all gravity changes from the code. Just search for "gravity".

amigosaostiroos 05-15-2011 06:17

Re: Gravity + Plugin VIP
 
I go see it


All times are GMT -4. The time now is 04:19.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.