Raised This Month: $ Target: $400
 0% 

DRM Help


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
xPaw
Retired AMX Mod X Moderator
Join Date: Jul 2008
Old 12-28-2008 , 05:27   DRM Help
Reply With Quote #1

Hi, i have problem in my deathrun manager with doing new terr at round spawn, i cant figure out how to fix, maybe someone can help me

the part of code where selecting new terr:
PHP Code:
// Making new Terr
public eRandromize() {
    if(
get_pcvar_num(g_Toggle) == 0)
        return 
PLUGIN_HANDLED;
    
    if(
g_FirstRound || g_Randromized)
        return 
PLUGIN_HANDLED;
    
    
g_Randromized true;
    
    new 
g_Players;
    new 
indexArray[32];
 
    for(new 
i=1i<=g_Maxplayersi++) {
        if(
is_user_connected(i)) {
            
indexArray[g_Players] = i;
            
g_Players++;
        }
 
        if(
get_user_team(i) == 1)
            
fm_set_user_team(iFM_TEAM_CT);
    }

    if(
g_Players <= 1)
        return 
PLUGIN_HANDLED;
        
    if(
g_FirstRound)
        return 
PLUGIN_HANDLED;

    new 
g_ID indexArray[random_num(0g_Players 1)];
    
    if(
get_user_team(g_ID) == && is_user_connected(g_ID)) {
        new 
name[32];
        
get_user_name(g_IDname31);
    
        
client_print(0print_chat"[Deathrun] %L"LANG_PLAYER"MSG_NOW_TERR"name);

        
fm_set_user_team(g_IDFM_TEAM_T);
    } else {
        if(
g_Restart)
            return 
PLUGIN_HANDLED;
        
        
g_Restart true;
        
        
client_print(0print_chat"[Deathrun] %L"LANG_PLAYER"MSG_TOO_LAZY");
        
        
eRandromize();
        for(new 
i=0i<g_Maxplayersi++)
            if(
is_user_alive(i) && get_user_team(i) == 2)
                
fm_user_kill(i);
    }
    
    return 
PLUGIN_HANDLED;
}

// New Round
public eStartRound() {
    if(
get_pcvar_num(g_Toggle) == 0)
        return 
PLUGIN_HANDLED;
    
    
g_Randromized    false;
    
g_Restart    false;
    
    new 
g_Players;
    
    for(new 
i=0i<g_Maxplayersi++)
        if(
is_user_connected(i))
            
g_Players++;
    
    if(
g_Players <= 1)
        return 
PLUGIN_HANDLED;
    
    
set_cvar_num("sv_autoteambalance"0);
    
set_cvar_num("mp_limitteams"g_Maxplayers);

    
set_hudmessage(2551270, -1.00.127.07.00.20.5, -1);
    
show_hudmessage(0"%L"LANG_PLAYER"MSG_PREPARE");
    
    if(
g_FirstRound) {
        
log_amx("[DeathRun] %L"LANG_SERVER"MSG_STARTING");
        
client_print(0print_chat"[Deathrun] %L"LANG_PLAYER"MSG_STARTING");
        
set_cvar_num("sv_restartround"10);
        
g_FirstRound false;
    }
    return 
PLUGIN_CONTINUE;
}

// Terrorist check
public eTerrorCheck() {
    if(
g_FirstRound)
        return 
PLUGIN_HANDLED;
    
    new 
g_Terrors;
    new 
g_Players;
    
    for(new 
i=0i<g_Maxplayersi++) {
        if(
get_user_team(i) == 1)
            
g_Terrors++;
            
        if(
is_user_connected(i))
            
g_Players++;
    }
    
    if(
g_Players <= 1)
        return 
PLUGIN_HANDLED;
    
    if(
g_Terrors == 0) {
        if(
g_Restart)
            return 
PLUGIN_HANDLED;
        
        
g_Restart true;
        
client_print(0print_chat"[Deathrun] %L"LANG_PLAYER"MSG_NO_DETECT");
        
log_amx("[DeathRun] %L"LANG_SERVER"MSG_NO_DETECT");
        
        
eRandromize();
        for(new 
i=0i<g_Maxplayersi++)
            if(
is_user_alive(i) && get_user_team(i) == 2)
                
fm_user_kill(i);
    }
    return 
PLUGIN_CONTINUE;

Fullcode link: http://forums.alliedmods.net/showthread.php?t=78197
__________________
xPaw is offline
stupok
Veteran Member
Join Date: Feb 2006
Old 12-28-2008 , 07:09   Re: DRM Help
Reply With Quote #2

I'm not sure what's wrong or what you're really trying to do, but I tried to clean up the code a bit:

PHP Code:
// Making new Terr
public eRandromize() {
    if(
get_pcvar_num(g_Toggle) == || g_FirstRound || g_Randromized//Rand_r_omized ???
        
return PLUGIN_HANDLED;
    
    
g_Randromized true;
    
    new 
g_Players;
    new 
indexArray[32];
    
    for(new 
i=1i<=g_Maxplayersi++) {
        if(
is_user_connected(i)) {
            
indexArray[g_Players] = i;
            
g_Players++;
        }
        
        if(
get_user_team(i) == 1// all players to CT
            
fm_set_user_team(iFM_TEAM_CT);
    }
    
    if(
g_Players <= 1)
        return 
PLUGIN_HANDLED;
    
    new 
g_ID indexArray[random_num(0g_Players 1)];
    
    new 
name[32];
    
get_user_name(g_IDname31);
    
    
client_print(0print_chat"[Deathrun] %L"LANG_PLAYER"MSG_NOW_TERR"name);
    
    
fm_set_user_team(g_IDFM_TEAM_T); // one player to T
    
    
return PLUGIN_HANDLED;
}

// New Round
public eStartRound() {
    if(
get_pcvar_num(g_Toggle) == 0)
        return 
PLUGIN_HANDLED;
    
    
g_Randromized false;
    
g_Restart false;
    
    new 
g_Players;
    
    for(new 
i=1i<=g_Maxplayersi++)
    {
        if(
is_user_connected(i))
            
g_Players++;
    }
    
    if(
g_Players <= 1)
        return 
PLUGIN_HANDLED;
    
    
set_cvar_num("sv_autoteambalance"0);
    
set_cvar_num("mp_limitteams"g_Maxplayers);
    
    
set_hudmessage(2551270, -1.00.127.07.00.20.5, -1);
    
show_hudmessage(0"%L"LANG_PLAYER"MSG_PREPARE");
    
    if(
g_FirstRound) {
        
log_amx("[DeathRun] %L"LANG_SERVER"MSG_STARTING");
        
client_print(0print_chat"[Deathrun] %L"LANG_PLAYER"MSG_STARTING");
        
set_cvar_num("sv_restartround"10);
        
g_FirstRound false;
    }
    
    return 
PLUGIN_CONTINUE;
}

// Terrorist check
public eTerrorCheck() {
    if(
g_FirstRound)
        return 
PLUGIN_HANDLED;
    
    new 
g_Terrors;
    new 
g_Players;
    
    for(new 
i=1i<=g_Maxplayersi++) {
        if(
get_user_team(i) == 1)
            
g_Terrors++;
        
        if(
is_user_connected(i))
            
g_Players++;
    }
    
    if(
g_Players <= 1)
        return 
PLUGIN_HANDLED;
    
    if(
g_Terrors == 0) {
        if(
g_Restart)
            return 
PLUGIN_HANDLED;
        
        
g_Restart true;
        
client_print(0print_chat"[Deathrun] %L"LANG_PLAYER"MSG_NO_DETECT");
        
log_amx("[DeathRun] %L"LANG_SERVER"MSG_NO_DETECT");
        
        
eRandromize(); // All players to CT team
        
for(new i=1i<=g_Maxplayersi++) {
            if(
is_user_alive(i) && get_user_team(i) == 2// Kill all CT's ... ?
                
fm_user_kill(i);
        }
    }
    
    return 
PLUGIN_CONTINUE;

__________________
stupok is offline
Reply



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 09:13.


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