AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [HELP] Switching only CT? (https://forums.alliedmods.net/showthread.php?t=104793)

malec321 09-27-2009 15:46

[HELP] Switching only CT?
 
HTML Code:

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

#define VERSION "0.01"

public plugin_init( )
{
register_plugin( "Vampire Mod", VERSION, "ALeX" );

register_event( "HLTV", "NewRound", "a", "1=0", "2=0" );

}

public NewRound( )
{
new gPlayers[ 32 ], pNum;
get_players( gPlayers, pNum, "c" );

new pCount = floatround( float ( pNum ) * 1, floatround_ceil );
new i;

new pChosen[ 8 ], pTotal;

while( pTotal < pCount )
{
i = random( pNum );
pChosen[ pTotal++ ] = gPlayers[ i ];

}

new id;

for( new i = 0; i < pTotal; i++ )
{
id = pChosen[ i ];

cs_set_user_team( id, CS_TEAM_T );
give_item ( id, "weapon_knife")
set_user_health(id, 3500);
set_user_maxspeed(id, 0.0);
set_task(15.0, "givespeed", id);
}

for( new i = 0; i < pNum; i++ )
{
id = gPlayers[ i ];

cs_set_user_team( id, CS_TEAM_CT );
}

return;
}
public givespeed(id)
{
set_user_maxspeed(id, 310.0)
set_cvar_float("sv_maxspeed", 310.0)
}

Hey guys in this code above how come when people join it just transfers everyone to CT and not how it shud work? I want it so that when people join ct, it randomly takes 1 ct to t and starts them with knife, 0 speed, and 3.5k hp i have it set that in 15 seconds, the t has 310 speed again. can anyone see the problem?

Sylwester 09-27-2009 16:15

Re: [HELP] Switching only CT?
 
Quote:

how come when people join it just transfers everyone to CT
PHP Code:

for( new 0pNumi++ )
{
id gPlayers];

cs_set_user_teamidCS_TEAM_CT );


It clearly looks like this plugin has been created by some amxx beginner, so it's not surprising that nothing works...

malec321 09-27-2009 16:37

Re: [HELP] Switching only CT?
 
I made
PHP Code:

for( new 0pNumi++ )
{
id gPlayers];

cs_set_user_teamidCS_TEAM_CT );


into

PHP Code:

for( new 0pNumi++ )
{
id gPlayers];

cs_set_user_teamidCS_TEAM_T );


and all thats happening is everyone gets set to Tside same as last time but t side. Its not randomly chosen
</span></span>

Sylwester 09-27-2009 18:04

Re: [HELP] Switching only CT?
 
It's not working because it's completely wrong...

try this:
PHP Code:

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

#define TID_SETSPEED 6326
#define TID_RESSPEED 4515

new Float:g_Ts_maxspeed;
new 
g_max_players;
new 
bool:g_freezetime;

public 
plugin_init()
{
    
register_plugin("whatever mod""1.0""Sylwester");
    
register_event("HLTV""NewRound""a""1=0""2=0");
    
register_logevent("RoundStart"2"1=Round_Start");
    
RegisterHam(Ham_Spawn"player""PlayerSpawn"1);
    
register_event("CurWeapon""ResetMaxSpeed""be""1=1");
    
g_max_players get_maxplayers();
}

public 
NewRound()
{
    new 
players[32], pNum;
    
get_players(playerspNum);

    new 
chosen playersrandom(pNum) ];
    
cs_set_user_team(chosenCS_TEAM_T );

    for( new 
0pNumi++ )
    {
        if( 
players[i] != chosen )
            
cs_set_user_teamplayers[i], CS_TEAM_CT );
    }

    
g_Ts_maxspeed 0.1;
    if(
task_exists(TID_SETSPEED))
        
remove_task(TID_SETSPEED);
    
g_freezetime true;
}

public 
RoundStart()
{
    
set_task(15.0"SetSpeed"TID_SETSPEED);
    
g_freezetime false;
    if(
task_exists(TID_RESSPEED))
        
remove_task(TID_RESSPEED);
    
set_task(0.2"ResetAllMaxSpeed"TID_RESSPEED);
}

public 
SetSpeed()
{
    
g_Ts_maxspeed 310.0;
    
ResetAllMaxSpeed()
}

public 
ResetAllMaxSpeed()
{
    for( new 
1<= g_max_playersi++ )
            
ResetMaxSpeed(i);
}

public 
ResetMaxSpeed(id)
{
    if(
g_freezetime)
        return;
    if(
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
        
set_user_maxspeed(idg_Ts_maxspeed);
}

public 
PlayerSpawn(id)
{
    if(!
is_user_alive(id))
        return;
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_health(id3500);
        
ResetMaxSpeed(id);
        if(
task_exists(id))
            
remove_task(id);
        
set_task(0.2"RemoveWeapons"id);
    }
}

public 
RemoveWeapons(id)
{
    if(!
is_user_alive(id))
        return;
    
strip_user_weapons(id);
    
set_task(0.1"GiveWeapons"id);
}

public 
GiveWeapons(id)
{
    if(!
is_user_alive(id))
        return;
    
give_item(id"weapon_knife");



malec321 09-27-2009 20:33

Re: [HELP] Switching only CT?
 
+karma thanx!

hrmmm.. is it possible to make the Terrorist blind as well for 15 seconds?

Sylwester 09-28-2009 14:56

Re: [HELP] Switching only CT?
 
sure...
PHP Code:

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

#define TID_SETSPEED 6326
#define TID_RESSPEED 4515
#define TID_BLINDTERR 1513

new Float:g_Ts_maxspeed;
new 
g_max_players;
new 
bool:g_freezetime;
new 
g_screenfade_msgid;

public 
plugin_init()
{
    
register_plugin("whatever mod""1.0""Sylwester");
    
register_event("HLTV""NewRound""a""1=0""2=0");
    
register_logevent("RoundStart"2"1=Round_Start");
    
RegisterHam(Ham_Spawn"player""PlayerSpawn"1);
    
register_event("CurWeapon""ResetMaxSpeed""be""1=1");
    
g_screenfade_msgid get_user_msgid("ScreenFade")
    
g_max_players get_maxplayers();
}

public 
NewRound()
{
    new 
players[32], pNum;
    
get_players(playerspNum);

    new 
chosen playersrandom(pNum) ];
    
cs_set_user_team(chosenCS_TEAM_T );

    for( new 
0pNumi++ )
    {
        if( 
players[i] != chosen )
            
cs_set_user_teamplayers[i], CS_TEAM_CT );
    }

    
g_Ts_maxspeed 0.1;
    if(
task_exists(TID_SETSPEED))
        
remove_task(TID_SETSPEED);
    
g_freezetime true;
}

public 
RoundStart()
{
    
set_task(15.0"SetSpeed"TID_SETSPEED);
    
g_freezetime false;
    if(
task_exists(TID_RESSPEED))
        
remove_task(TID_RESSPEED);
    
set_task(0.2"ResetAllMaxSpeed"TID_RESSPEED);
    
set_task(1.0"BlindTerrTask"TID_BLINDTERR__"b")
}

public 
SetSpeed()
{
    
g_Ts_maxspeed 310.0;
    
ResetAllMaxSpeed();
    if(
task_exists(TID_BLINDTERR))
        
remove_task(TID_BLINDTERR)
    
BlindAllTerr(0)
}

public 
ResetAllMaxSpeed()
{
    for( new 
1<= g_max_playersi++ )
        
ResetMaxSpeed(i);
}

public 
BlindTerrTask()
{
    
BlindAllTerr(1<<15)
}

public 
BlindAllTerr(time)
{
    for( new 
1<= g_max_playersi++ )
        if(
is_user_alive(i) && cs_get_user_team(i)==CS_TEAM_T)
        {
            
message_begin(MSG_ONEg_screenfade_msgid_i);
            
write_short(1000);
            
write_short(time);
            
write_short(0);
            
write_byte(0);
            
write_byte(0);
            
write_byte(0);
            
write_byte(255);
            
message_end();
        }
}

public 
ResetMaxSpeed(id)
{
    if(
g_freezetime)
        return;
    if(
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
        
set_user_maxspeed(idg_Ts_maxspeed);
}

public 
PlayerSpawn(id)
{
    if(!
is_user_alive(id))
        return;
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_health(id3500);
        
ResetMaxSpeed(id);
        if(
task_exists(id))
            
remove_task(id);
        
set_task(0.2"RemoveWeapons"id);
        if(!
task_exists(TID_RESSPEED) && !g_freezetime)
            return;
        
message_begin(MSG_ONEg_screenfade_msgid_id);
        
write_short(1000);
        
write_short((1<<15));
        
write_short(0);
        
write_byte(0);
        
write_byte(0);
        
write_byte(0);
        
write_byte(255);
        
message_end();
    }
}

public 
RemoveWeapons(id)
{
    if(!
is_user_alive(id))
        return;
    
strip_user_weapons(id);
    
set_task(0.1"GiveWeapons"id);
}

public 
GiveWeapons(id)
{
    if(!
is_user_alive(id))
        return;
    
give_item(id"weapon_knife");




All times are GMT -4. The time now is 22:31.

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