Raised This Month: $ Target: $400
 0% 

[REQ] Map ends when all players are dead


Post New Thread Reply   
 
Thread Tools Display Modes
XINLEI
me too
Join Date: Jun 2011
Location: Colombian Coffee storage
Old 11-18-2011 , 06:18   Re: [REQ] Map ends when all players are dead
Reply With Quote #21

Why don't you said that before?

HLDM and svencoop have a lot of differences.
XINLEI is offline
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 11-18-2011 , 09:30   Re: [REQ] Map ends when all players are dead
Reply With Quote #22

Quote:
Originally Posted by XINLEI View Post
Why don't you said that before?

HLDM and svencoop have a lot of differences.
Death and Respawn are exactly the same, just SC has a CVar to adjust respawn time.
__________________
gabuch2 is offline
bibu
Veteran Member
Join Date: Sep 2010
Old 11-18-2011 , 12:02   Re: [REQ] Map ends when all players are dead
Reply With Quote #23

Ok, then tell me which mapchooser you are using, so I will edit it for you.
__________________
Selling tons of my own private works.
Accepting paid work for clans and communities.
Don't hesitate to contact me.
bibu is offline
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 11-19-2011 , 11:11   Re: [REQ] Map ends when all players are dead
Reply With Quote #24

Before I'll say anything, I'm wating if someone can help me with my issue with Galileo. If not, just the Default mapchooser.
__________________

Last edited by gabuch2; 11-19-2011 at 11:11.
gabuch2 is offline
bibu
Veteran Member
Join Date: Sep 2010
Old 11-20-2011 , 09:28   Re: [REQ] Map ends when all players are dead
Reply With Quote #25

Could you give me the cvar name for the time to respawn. I will post the plugin then here.
__________________
Selling tons of my own private works.
Accepting paid work for clans and communities.
Don't hesitate to contact me.
bibu is offline
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 11-20-2011 , 19:30   Re: [REQ] Map ends when all players are dead
Reply With Quote #26

mp_respawndelay, As far I know it works on TFC and SC.
__________________
gabuch2 is offline
bibu
Veteran Member
Join Date: Sep 2010
Old 11-21-2011 , 13:16   Re: [REQ] Map ends when all players are dead
Reply With Quote #27

Give this a try. It sets the respawn delay to 5 minutes, which does mean if no one died after 5 minutes, the map will be changed automatically. Tell me if it works, the way you wanted:

PHP Code:
/* AMX Mod X
*   NextMap Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation,
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve,
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include <amxmodx>

// WARNING: If you comment this line make sure
// that in your mapcycle file maps don't repeat.
// However the same map in a row is still valid.
#define OBEY_MAPCYCLE

new g_nextMap[32]
new 
g_mapCycle[32]
new 
g_pos

new change_mapg_pCvarRespawng_pCvarRespawnTime

public plugin_init()
{
    
register_plugin("NextMap"AMXX_VERSION_STR"AMXX Dev Team")
    
register_dictionary("nextmap.txt")
    
register_event("30""changeMap""a")
    
register_clcmd("say nextmap""sayNextMap"0"- displays nextmap")
    
register_clcmd("say currentmap""sayCurrentMap"0"- display current map")
    
register_clcmd("say ff""sayFFStatus"0"- display friendly fire status")
    
register_cvar("amx_nextmap"""FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
    
    
g_pCvarRespawn get_cvar_pointer("mp_forcerespawn")
    
g_pCvarRespawnTime get_cvar_pointer("mp_respawndelay")

    new 
szString[32], szString2[32], szString3[8]
    
    
get_localinfo("lastmapcycle"szString31)
    
parse(szStringszString231szString37)
    
g_pos str_to_num(szString3)
    
get_cvar_string("mapcyclefile"g_mapCycle31)

    if (!
equal(g_mapCycleszString2))
        
g_pos 0    // mapcyclefile has been changed - go from first

    
readMapCycle(g_mapCycleg_nextMap31)
    
set_cvar_string("amx_nextmap"g_nextMap)
    
format(szString331"%s %d"g_mapCycleg_pos)    // save lastmapcycle settings
    
set_localinfo("lastmapcycle"szString3)
}

getNextMapName(szArg[], iMax)
{
    new 
len get_cvar_string("amx_nextmap"szArgiMax)
    
    if (
ValidMap(szArg)) return len
    len 
copy(szArgiMaxg_nextMap)
    
set_cvar_string("amx_nextmap"g_nextMap)
    
    return 
len
}

public 
sayNextMap()
{
    new 
name[32]
    
    
getNextMapName(name31)
    
client_print(0print_chat"%L %s"LANG_PLAYER"NEXT_MAP"name)
}

public 
sayCurrentMap()
{
    new 
mapname[32]

    
get_mapname(mapname31)
    
client_print(0print_chat"%L: %s"LANG_PLAYER"PLAYED_MAP"mapname)
}

public 
sayFFStatus()
{
    
client_print(0print_chat"%L: %L"LANG_PLAYER"FRIEND_FIRE"LANG_PLAYERget_cvar_num("mp_friendlyfire") ? "ON" "OFF")
}

public 
delayedChange(param[])
{
    
set_cvar_float("mp_chattime"get_cvar_float("mp_chattime") - 2.0)
    
server_cmd("changelevel %s"param)
}

public 
taskCheckDead()
{
    
change_map true
    
    
new iPlayers[32], iNumid 
    get_players
(iPlayersiNum
    for(new 
ii<iNumi++) 
    {
        
id iPlayers[i]
        
        if(
is_user_alive(id))
        {
            
change_map false
        
}
    }
    
    if(
change_map)
    {
        
force_mapchange()
    }
    else
    {
        
set_task(1.0"taskCheckDead")
    }
}

public 
force_mapchange()
{
    new 
string[32]

    new 
len getNextMapName(string31) + 1
    
    set_task
(0.1"delayedChange"0stringlen)
}

public 
changeMap()
{
    
set_pcvar_num(g_pCvarRespawn0)
    
set_pcvar_num(g_pCvarRespawnTime305)
    
    
set_task(1.0"taskCheckDead")
    
set_task(300.0"force_mapchange")
}

new 
g_warning[] = "WARNING: Couldn't find a valid map or the file doesn't exist (file ^"%s^")"

stock bool:ValidMap(mapname[])
{
    if ( 
is_map_valid(mapname) )
    {
        return 
true;
    }
    
// If the is_map_valid check failed, check the end of the string
    
new len strlen(mapname) - 4;
    
    
// The mapname was too short to possibly house the .bsp extension
    
if (len 0)
    {
        return 
false;
    }
    if ( 
equali(mapname[len], ".bsp") )
    {
        
// If the ending was .bsp, then cut it off.
        // the string is byref'ed, so this copies back to the loaded text.
        
mapname[len] = '^0';
        
        
// recheck
        
if ( is_map_valid(mapname) )
        {
            return 
true;
        }
    }
    
    return 
false;
}

#if defined OBEY_MAPCYCLE
readMapCycle(szFileName[], szNext[], iNext)
{
    new 
b0iMaps 0
    
new szBuffer[32], szFirst[32]

    if (
file_exists(szFileName))
    {
        while (
read_file(szFileNamei++, szBuffer31b))
        {
            if (!
isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!
iMaps)
                
copy(szFirst31szBuffer)
            
            if (++
iMaps g_pos)
            {
                
copy(szNextiNextszBuffer)
                
g_pos iMaps
                
return
            }
        }
    }

    if (!
iMaps)
    {
        
log_amx(g_warningszFileName)
        
get_mapname(szFirst31)
    }

    
copy(szNextiNextszFirst)
    
g_pos 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new 
b0iMaps 0
    
new szBuffer[32], szFirst[32], szCurrent[32]
    
    
get_mapname(szCurrent31)
    
    new 
g_pos

    
if (file_exists(szFileName))
    {
        while (
read_file(szFileNamei++, szBuffer31b))
        {
            if (!
isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!
iMaps)
            {
                
iMaps 1
                copy
(szFirst31szBuffer)
            }
            
            if (
iMaps == 1)
            {
                if (
equali(szCurrentszBuffer))
                {
                    if (
a-- == 0)
                        
iMaps 2
                
}
            } else {
                if (
equali(szCurrentszBuffer))
                    ++
g_pos
                
else
                    
g_pos 0
                
                copy
(szNextiNextszBuffer)
                return
            }
        }
    }
    
    if (!
iMaps)
    {
        
log_amx(g_warningszFileName)
        
copy(szNextiNextszCurrent)
    }
    else
        
copy(szNextiNextszFirst)
    
    
g_pos 0
}
#endif 
__________________
Selling tons of my own private works.
Accepting paid work for clans and communities.
Don't hesitate to contact me.
bibu is offline
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 11-21-2011 , 16:26   Re: [REQ] Map ends when all players are dead
Reply With Quote #28

Is this mapchooser.amxx or nextmap.amxx?
__________________
gabuch2 is offline
drekes
Veteran Member
Join Date: Jul 2009
Location: Vault 11
Old 11-21-2011 , 18:23   Re: [REQ] Map ends when all players are dead
Reply With Quote #29

Quote:
Originally Posted by Shattered Heart Lynx View Post
Is this mapchooser.amxx or nextmap.amxx?
PHP Code:
/* AMX Mod X
*   NextMap Plugin

PHP Code:
register_plugin("NextMap"AMXX_VERSION_STR"AMXX Dev Team"
__________________

Quote:
Originally Posted by nikhilgupta345 View Post
You're retarded.
drekes is offline
Send a message via MSN to drekes
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 11-22-2011 , 10:56   Re: [REQ] Map ends when all players are dead
Reply With Quote #30

Sorry, I didn't read the file and I rushed that answer.

Quote:
Originally Posted by bibu
It sets the respawn delay to 5 minutes, which does mean if no one died after 5 minutes, the map will be changed automatically.
Is that so? It will be a pain if all the players manage to survive the map in the first 5 minutes, they will not have the chance to complete it.

Anyway, when I arrive home I'll test the plugin.
__________________
gabuch2 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 21:58.


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