Raised This Month: $12 Target: $400
 3% 

Modification Shop


  
 
 
Thread Tools Display Modes
Author Message
Vayne
Junior Member
Join Date: Apr 2012
Old 05-05-2012 , 15:21   Modification Shop
#1

Bonjour, je voudrais que se plugin soit modifié pour que :

- Aucun n'achat n'est possible au premier round

Code:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

#define VERSION "1.0.1"

new bool:HasSuperKnife[33], bool:HasSuperSpeed[33]

new const modelsuperknife[] = "models/superknife.mdl"

new bool: firstround

new const prefix[] = "[Shop]"

public plugin_init()
{
    register_plugin("ShopMenu BB", VERSION, "RattleSnake'S")
    
    RegisterHam(Ham_TakeDamage, "player", "Player_Damage", 0)
    RegisterHam(Ham_Spawn, "player", "Player_Spawn", 0)
    RegisterHam(Ham_Item_PreFrame, "player", "Player_ResetMaxSpeed", 1)
    
    register_event("CurWeapon", "Player_SuperKnife_Model", "be", "1=1")
    register_event("DeathMsg" , "Player_Death", "a")
    
    register_logevent("RoundEnd", 2, "1=Round_End")
    
    register_clcmd("say /shop", "shopmenu")
    register_clcmd("say_team /shop", "shopmenu")
    
    register_clcmd("say shop", "shopmenu")
    register_clcmd("say_team shop", "shopmenu")
    firstround = true
}

public RoundEnd()
{
    if(firstround == true)
    {
        firstround = false
    }
}

public plugin_precache()
{
    precache_model(modelsuperknife)
}

public client_putinserver(id)
{
    HasSuperKnife[id] = false
    HasSuperSpeed[id] = false
}

public Player_Spawn(id)
{
    if(is_user_alive(id))
    {
        HasSuperKnife[id] = false
        HasSuperSpeed[id] = false 
    }
}

public Player_Death()
{
    new victim = read_data(2)
    HasSuperSpeed[victim] = false
    HasSuperKnife[victim] = false
}

public shopmenu(id)
{
    if(firstround == true)
    {
        print_color(id, "pas d'achat le premier round !!")
        return PLUGIN_HANDLED;
    }    
    new menu
    if(cs_get_user_team(id) == CS_TEAM_CT)
    {
        menu = menu_create("Shop CT", "menuCT")
        menu_additem(menu, "Super Cut [4000$]", "0")
        menu_additem(menu, "Grenade He [2500$]", "1")
        menu_additem(menu, "200hp [10000$]", "2")
        menu_additem(menu, "Gravite [12000$]", "3")
        menu_additem(menu, "Vitesse [7000$]", "4")
        menu_additem(menu, "M249 [10000$]", "5")
        menu_additem(menu, "G3SG1 [10000$]", "6")
        menu_additem(menu, "Grenade Flash [2000$]", "7")
        menu_additem(menu, "Fumigene [2000$]", "8")
        
    }
    else
    {
        menu = menu_create("Shop T", "menuT")
        menu_additem(menu, "Super Cut [10000$]", "0")
        menu_additem(menu, "Faible Gravite [8000$]", "1")
        menu_additem(menu, "Super Speed [6000$]", "2") 
    }
    menu_setprop(menu, MPROP_EXITNAME, "Quitter")
    menu_display(id, menu)
    return PLUGIN_HANDLED;
}

public menuCT(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED;
    }
    if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
    {
        switch(item)
        {
            case 0:
            {
                if(HasSuperKnife[id])
                {
                    print_color(id, "tu possede deja le SuperCut")
                    return PLUGIN_HANDLED;
                }
                else
                {
                    if(cs_take_user_money(id, 4000))
                    {
                        HasSuperKnife[id] = true
                        engclient_cmd(id, "weapon_knife")
                        print_color(id, "tu as achete le SuperKnife")
                    }
                }
            }
            case 1:
            {
                if(user_has_weapon(id, CSW_HEGRENADE))
                {
                    print_color(id, "tu possede deja une he")
                    return PLUGIN_HANDLED;
                }    
                else
                {
                    if(cs_take_user_money(id, 2500))
                    {
                        give_item(id, "weapon_hegrenade")
                        print_color(id, "tu as achete une Grenade He")
                    }
                }
            }
            case 2:
            {
                if(cs_take_user_money(id, 10000))
                {
                    set_user_health(id, get_user_health(id) + 200)
                    print_color(id, "tu as achete 200HP")
                }
            }
            case 3:
            {
                if(get_user_gravity(id) != 1.0)
                {
                    print_color(id, "tu possede deja la gravite")
                    return PLUGIN_HANDLED;
                }    
                else
                {
                    if(cs_take_user_money(id, 12000))
                    {
                        set_user_gravity(id, 0.125)
                        print_color(id, "tu as achete la Gravite")
                    }
                }
            }
            case 4:
            {
                if(HasSuperSpeed[id])
                {
                    print_color(id, "tu possede deja la superspeed")
                    return PLUGIN_HANDLED;
                }
                else
                {
                    if(cs_take_user_money(id, 7000))
                    {
                        HasSuperSpeed[id] = true
                        set_pev(id, pev_maxspeed, 650.0);
                        print_color(id, "tu as achete la Vitesse")
                    }
                }
            }
            case 5:
            {
                if(user_has_weapon(id, CSW_M249))
                {
                    print_color(id, "tu possede deja la m249")
                    return PLUGIN_HANDLED;
                }    
                else
                {
                    if(cs_take_user_money(id, 6000))
                    {
                        give_item(id, "weapon_m249")
                        cs_set_user_bpammo(id, CSW_M249, 200)
                        print_color(id, "tu as achete une M249")
                    }
                }
            }
            case 6:
            {
                if(user_has_weapon(id, CSW_G3SG1))
                {
                    print_color(id, "tu possede deja la g3sg1")
                    return PLUGIN_HANDLED;
                }    
                else
                {
                    if(cs_take_user_money(id, 6000))
                    {
                        give_item(id, "weapon_g3sg1")
                        cs_set_user_bpammo(id, CSW_G3SG1, 200)
                        print_color(id, "tu as achete une G3SG1")
                    }
                }
            }
            case 7:
            {
                if(user_has_weapon(id, CSW_FLASHBANG))
                {
                    print_color(id, "tu possede deja la g3sg1")
                    return PLUGIN_HANDLED;
                }    
                else
                {
                    if(cs_take_user_money(id, 2000))
                    {
                        give_item(id, "weapon_flashbang")
                        print_color(id, "tu as achete une Grenade Flash")
                    }
                }
            }
            case 8:
            {
                if(user_has_weapon(id, CSW_G3SG1))
                {
                    print_color(id, "tu possede deja la g3sg1")
                    return PLUGIN_HANDLED;
                }    
                else
                {
                    if(cs_take_user_money(id, 2000))
                    {
                        give_item(id, "weapon_smokegrenade")
                        print_color(id, "tu as achete une Fumigene")
                    }
                }
            }
        }
    }
    return PLUGIN_CONTINUE;
}

public menuT(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED;
    }
    if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
    {
        switch(item)
        {
            case 0:
            {
                if(HasSuperKnife[id])
                {
                    print_color(id, "tu possede deja le SuperCut")
                    return PLUGIN_HANDLED;
                }    
                else
                {                
                    if(cs_take_user_money(id, 10000))
                    {
                        HasSuperKnife[id] = true
                        print_color(id, "tu as achete le SuperCut")
                    }
                }
            }
            case 1:
            {
                if(get_user_gravity(id) != 1.0)
                {
                    print_color(id, "tu possede deja la gravite")
                    return PLUGIN_HANDLED;
                }    
                else
                {
                    if(cs_take_user_money(id, 8000))
                    {
                        set_user_gravity(id, 0.125)
                        print_color(id, "tu as achete la Gravite")
                    }
                }
            }
            case 2:
            {
                if(HasSuperSpeed[id])
                {
                    print_color(id, "tu possede deja le superspeed")
                    return PLUGIN_HANDLED;
                }
                else
                {
                    if(cs_take_user_money(id, 6000))
                    {
                        HasSuperSpeed[id] = true
                        set_pev(id, pev_maxspeed, 500.0)
                        print_color(id, "tu as achete la Vitesse")
                    }
                }
            }
        }
    }
    return PLUGIN_CONTINUE;
}

public Player_ResetMaxSpeed(id)
{
    if(is_user_alive(id) && HasSuperSpeed[id] && get_user_maxspeed(id) != 1.0)
    {
        switch(cs_get_user_team(id))
        {
            case CS_TEAM_T: set_pev(id, pev_maxspeed, 500.0);
            case CS_TEAM_CT: set_pev(id, pev_maxspeed, 650.0);
        }
    }
}

public Player_Damage(victim, inflictor, attacker, Float:damage, damagebits)
{
    if(is_user_alive(attacker) && get_user_weapon(attacker) == 
CSW_KNIFE && HasSuperKnife[attacker] && inflictor == 
attacker)
    {
        SetHamParamFloat(4, damage * 222.0)
    }
}

public Player_SuperKnife_Model(id)
{
    if(is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE 
&& HasSuperKnife[id] && get_user_team(id) == 2)
    {
        entity_set_string(id, EV_SZ_viewmodel, modelsuperknife)
    }            
}

cs_take_user_money(id, amount)
{
    new money = cs_get_user_money(id)
    if(money < amount)
    {
        print_color(id, "Tu n'as pas assez d'argent pour ceci")
        return 0;
    }
    cs_set_user_money(id, min( (money-amount), 16000))
    return 1;
} 

print_color(index, const Msg[], any:...) 
{
    new NbMaxPlayers = get_maxplayers()
    
    new Buffer[190], Buffer2[192]
    formatex(Buffer2, charsmax(Buffer2), "^x04%s^x01%s", prefix, Msg)
    vformat(Buffer, charsmax(Buffer), Buffer2, 3)
    
    if (!index) 
    {
        for (new i = 1; i <= NbMaxPlayers; i++) 
        {
            if (!is_user_connected(i))
                continue;
            
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, i)
            write_byte(i)
            write_string(Buffer)
            message_end()
        }
    }
    else 
    {
        if (!is_user_connected(index))
            return;
        
        message_begin(MSG_ONE, get_user_msgid("SayText"),_, index)
        write_byte(index)
        write_string(Buffer)
        message_end()
    }
}
-Si c'est possible aussi un autre plugin qui aurait comme fonction d'être un anti-bug skin; parfois lorsque un terro change de team (c'est-à-dire qu'il devient Ct) il garde son skin Terro alors qu'il devrait avoir son skin CT.

Last edited by Vayne; 05-06-2012 at 14:52.
Vayne is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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


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