AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Help 2 code (https://forums.alliedmods.net/showthread.php?t=106836)

benjibau 10-19-2009 13:43

Help 2 code
 
Hi all I need help to add ammo unlimited and when a player connect he is auto swap Ct team.

PHP Code:

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

#define PLUGIN "SWDMA"
#define VERSION "0.5"
#define AUTHOR "BenJi"

#define m_pPlayer 41
#define m_iId 43

const MAX_CLIENTS 32;

new const 
GRENADE_WEAPONS = ( << CSW_HEGRENADE ) | ( << CSW_FLASHBANG ) | ( << CSW_SMOKEGRENADE );

new 
g_Maxplayers
new primmenu 

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
RegisterHam(Ham_Spawn"player""player_Spawn"1);
    
register_event"HLTV""EventNewRound""a""1=0""2=0" );
    
    new 
szClass32 ];
    for( new 
1<= 30i++ ) 
    {
        if( !( ( 
<< ) & ( ( << ) | ( << CSW_KNIFE ) ) ) ) 
        {
            
get_weaponnameiszClasscharsmaxszClass ) );
            
            if( 
== CSW_C4 
            {
                
RegisterHamHam_Item_DeployszClass"FwdDeployC4");
            }
            else if( ( 
<< ) & GRENADE_WEAPONS 
            {
                
RegisterHamHam_Item_DeployszClass"FwdDeployGrenade");
            } else 
            {
                
RegisterHamHam_Item_DeployszClass"FwdDeployWeapon");
            }
        }
    }
}

public 
plugin_cfg ()
{
    for (new 
id 1id <= g_Maxplayersid++)
    {
        if (
cs_get_user_team(id) == CS_TEAM_CT)
            
menu_display(idprimmenu0)
        
menu_additem(primmenu"\wAk47""1"0)
        
menu_additem(primmenu"\wM4A1""2"0)
        
menu_additem(primmenu"\wAUG""3"0)
        
menu_additem(primmenu"\wmp5""4"0)
        
menu_additem(primmenu"\wAWP""5"0)
        
menu_additem(primmenu"\wg3sg1""6"0)
        
menu_additem(primmenu"\wm3""7"0)
        
menu_additem(primmenu"\wscout""8"0)
        
menu_additem(primmenu"\wxm1014""9"0)
        
menu_setprop(primmenuMPROP_EXITMEXIT_ALL)
    }
}

public 
plugin_precache()
{
    
precache_model("models/tskin/v_knife.mdl")    
}

/************************************************

    Gestion CT 
    weapon menu every round
        
************************************************/
public primmenu_handler(idprimmenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(primmenu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(primmenuitemaccessdata5iName63callback)
    new 
key str_to_num(data)
    switch(
key)
    {
        case 
1:
        {
            
give_item(id"weapon_ak47")
            
cs_set_user_bpammo(idCSW_AK47200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)
            return 
PLUGIN_HANDLED
        
}
        case 
2:
        {
            
give_item(id"weapon_m4a1")
            
cs_set_user_bpammo(idCSW_M4A1200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)
            return 
PLUGIN_HANDLED
        
}
        case 
3:
        {
            
give_item(id"weapon_aug")
            
cs_set_user_bpammo(idCSW_AUG200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")    
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)
            return 
PLUGIN_HANDLED
        
}
        case 
4:
        {
            
give_item(id"weapon_mp5")
            
cs_set_user_bpammo(idCSW_MP5NAVY200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)
            return 
PLUGIN_HANDLED
        
}
        case 
5:
        {
            
give_item(id"weapon_awp")
            
cs_set_user_bpammo(idCSW_AWP200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)
            return 
PLUGIN_HANDLED
        
}
        case 
6:
        {
            
give_item(id"weapon_g3sg1")
            
cs_set_user_bpammo(idCSW_G3SG1200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)    
            return 
PLUGIN_HANDLED
        
}
        case 
7:
        {
            
give_item(id"weapon_m3")
            
cs_set_user_bpammo(idCSW_M3200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)
            return 
PLUGIN_HANDLED
        
}
        case 
8:
        {
            
give_item(id"weapon_scout")
            
cs_set_user_bpammo(idCSW_SCOUT200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)    
            return 
PLUGIN_HANDLED
        
}
        case 
9:
        {
            
give_item(id"weapon_xm1014")
            
cs_set_user_bpammo(idCSW_XM1014200);
            
            new 
secmenu menu_create("\wChoose:""secmenu_handler")
            
menu_additem(secmenu"\wDeagle""1"0)
            
menu_additem(secmenu"\wUsp""2"0)
            
menu_additem(secmenu"\wGlock""3"0)
            
menu_additem(secmenu"\wElite""4"0)
            
menu_setprop(secmenuMPROP_EXITMEXIT_ALL)
            
menu_display(idsecmenu0)
            return 
PLUGIN_HANDLED
        
}
    }
    
menu_destroy(primmenu)
    return 
PLUGIN_HANDLED
}

public 
secmenu_handler(idsecmenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(secmenu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(secmenuitemaccessdata5iName63callback)
    new 
key str_to_num(data)
    switch(
key)
    {
        case 
1:
        {
            
give_item(id"weapon_deagle")
            
cs_set_user_bpammo(idCSW_DEAGLE200);
            
            
give_item(id"weapon_hegrenade")
            
give_item(id"weapon_flashbang")
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
            
menu_destroy(secmenu)
            return 
PLUGIN_HANDLED
        
}
        case 
2:
        {
            
give_item(id"weapon_usp")
            
cs_set_user_bpammo(idCSW_USP200);
            
give_item(id"weapon_hegrenade")
            
give_item(id"weapon_flashbang")
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
            
menu_destroy(secmenu)
            return 
PLUGIN_HANDLED
        
}
        case 
3:
        {
            
give_item(id"weapon_glock18")
            
cs_set_user_bpammo(idCSW_GLOCK18200);
            
            
give_item(id"weapon_hegrenade")
            
give_item(id"weapon_flashbang")
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
            
menu_destroy(secmenu)
            return 
PLUGIN_HANDLED
        
}
        case 
4:
        {
            
give_item(id"weapon_elite")
            
cs_set_user_bpammo(idCSW_ELITE200);
            
            
give_item(id"weapon_hegrenade")
            
give_item(id"weapon_flashbang")
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
            
menu_destroy(secmenu)
            return 
PLUGIN_HANDLED
        
}
    }
    
menu_destroy(secmenu)
    return 
PLUGIN_HANDLED
}
/************************************************

        terrorist 
        20 000hp; vitesse 400; graviter 400
        cut only, only 1 terrorist 
        change damage to 250hp damage for one hit
        knife (I do not know how to make it)
        
        
************************************************/
public player_Spawn(player)
{
    if( 
is_user_alive(player) )
        if( 
cs_get_user_team(player) == CS_TEAM_T )
    {
        
strip_user_weapons(player)
        
give_item(player"weapon_knife")
        
set_user_maxspeed(player400.0 );    
        
set_user_health(player20000
        
set_user_gravity(player0.5)
        
set_pev(playerpev_viewmodel2"models/tskin/v_knife.mdl" );
    }
}
/************************************************

            Border arm them with the terrorist 
            empeche to put down bomb
            
************************************************/
public FwdDeployC4iEntity 
{
    new 
client get_pdata_cbaseiEntitym_pPlayer);
    if( 
cs_get_user_teamclient ) == CS_TEAM_T 
    {
        
StripGrenadeclientiEntityCSW_C4 );
        
cs_set_user_plantclient0);
    }
}

public 
FwdDeployGrenadeiEntity 
{
    new 
client get_pdata_cbaseiEntitym_pPlayer);
    if( 
cs_get_user_teamclient ) == CS_TEAM_T 
    {
        
StripGrenadeclientiEntityget_pdata_intiEntitym_iId) );
    }
}

public 
FwdDeployWeaponiEntity 
{
    new 
client get_pdata_cbaseiEntitym_pPlayer);
    if( 
cs_get_user_teamclient ) == CS_TEAM_T 
    {
        
StripWeaponclientiEntityget_pdata_intiEntitym_iId) );
    }
}

StripGrenadeclientiEntityiWeapon 
{
    
StripWeaponclientiEntityiWeapon );
    
cs_set_user_bpammoclientiWeapon);
}

StripWeaponclientiEntityiWeapon 
{
    
ExecuteHamBHam_Weapon_RetireWeaponiEntity );
    
    if( !
ExecuteHamBHam_RemovePlayerItemclientiEntity ) ) 
    {
        return;
    }
    
    
ExecuteHamBHam_Item_KilliEntity );
    
    
set_pevclientpev_weaponspevclientpev_weapons ) & ~( << iWeapon ) );
}
/************************************************

        Switch T to Ct 
        and 1 ct switch to T
            
************************************************/
public EventNewRound( ) 
{
    new 
iPlayers32 ], iNum;
    
get_playersiPlayersiNum );
    
    new 
iRandomIndex randomiNum );
    for( new 
0iNumi++ ) {
        
cs_set_user_teamiPlayers], ( == iRandomIndex ) ? CS_TEAM_T CS_TEAM_CT );
    }
}
/************************************************

        Illimited ammo for Counter Terrorist
        and use sprite laserbeam
            
************************************************/
{
//help for create code
}
/************************************************

                auto Ct team on connection
            
************************************************/
{
//code


Can you help me please ?

Hawk552 10-19-2009 13:52

Re: Help 2 code
 
1) http://forums.alliedmods.net/showpos...1&postcount=81
2) Cvar:
Code:

humans_join_team "ct"

benjibau 10-19-2009 13:58

Re: Help 2 code
 
Quote:

Originally Posted by Hawk552 (Post 967040)


Sorry but i don't need infinit round but ammunitions infinity with reload.

And it's for add in my code at first post



sorry for my bad english

Hawk552 10-19-2009 14:08

Re: Help 2 code
 
Quote:

Originally Posted by benjibau (Post 967044)
Sorry but i don't need infinit round but ammunitions infinity with reload.

And it's for add in my code at first post



sorry for my bad english

I'm not going to combine this into your plugin for you because I can't read half of it. If you clean it up and try to add this, I'll take a look at it.

Untested, seems to compile:

PHP Code:


#include <amxmodx>
#include <cstrike>

#define MAX_WEAPONS 33

new const gAmmo[MAX_WEAPONS] =
{
    
0,
    
52,
    
0,
    
90,
    
0,
    
32,
    
0,
    
100,
    
90,
    
0,
    
120,
    
100,
    
100,
    
90,
    
90,
    
90,
    
100,
    
120,
    
30,
    
120,
    
200,
    
32,
    
90,
    
120,
    
90,
    
0,
    
35,
    
90,
    
90,
    
0,
    
100,
    
0,
    
0
}

public 
plugin_init()
    
register_plugin"Infinite Ammo""1.0""Hawk552" )

public 
plugin_cfg()
    
register_event"CurWeapon""EventCurWeapon""be" )

public 
EventCurWeaponid )
{
    new 
weapon read_data)
    if ( 
gAmmo[weapon] )
        
cs_set_user_bpammoidweapongAmmo[weapon] )


You could also hook Ham_Weapon_Reload, but I can see potential problems with that, such as a possible situation where a player has no backpack ammo and thus cannot reload to trigger getting more.

benjibau 10-21-2009 17:16

Re: Help 2 code
 
Good job.
It's possible for create a plugin with cvar humans_join_team ct only ? please

Hawk552 10-21-2009 20:01

Re: Help 2 code
 
PHP Code:

#include <amxmodx>

public plugin_init()
    
register_plugin"a""b""c" )

public 
plugin_cfg()
    
set_cvar_string"humans_join_team""ct" 

Written in my phone browser while I'm away from a computer so I look so cool that people are constantly texting me. Yes I'm pathetic.

benjibau 10-22-2009 12:27

Re: Help 2 code
 
Thank you very mutch for your help


Quote:

Originally Posted by Hawk552 (Post 968903)
[php]Written in my phone browser while I'm away from a computer so I look so cool that people are constantly texting me. Yes I'm pathetic.


Because you are a very nice man :)


All times are GMT -4. The time now is 17:38.

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