Заявки за цветен nextmap - тук

Ако искате да поръчате да ви намерим определено нещо, без да става дума за коментиране, пишете тук.
Post Reply
User avatar
JackEyedJones
РЕКЛАМАТОР
РЕКЛАМАТОР
Posts: 332
Joined: 18 Apr 2014, 06:17
Skype: voltouch180
CS Nick: <Not Good Simply KoreaN>
Favorite version: CS: 1.6
Location: Plovdiv, Bulgaria, Europe, Entire World
Contact:

Re: Заявки за цветен nextmap - тук

Post by JackEyedJones »

OFFF_blah wrote:[VIP-VARNA] Next Map: De_dust2
VIP-VARNA зелен
Next Map нормален
De_dust2 според отбора
nextmap.7z
(3.75 KiB) Downloaded 171 times
User avatar
Gatko245
Потребител
Потребител
Posts: 31
Joined: 23 Jun 2015, 16:20

Re: Заявки за цветен nextmap - тук

Post by Gatko245 »

Ct - [Musaka] Next Map: De_dust2
T - [Musaka] Next Map: De_dust2
Last edited by Gatko245 on 05 May 2017, 18:27, edited 1 time in total.
User avatar
JackEyedJones
РЕКЛАМАТОР
РЕКЛАМАТОР
Posts: 332
Joined: 18 Apr 2014, 06:17
Skype: voltouch180
CS Nick: <Not Good Simply KoreaN>
Favorite version: CS: 1.6
Location: Plovdiv, Bulgaria, Europe, Entire World
Contact:

Re: Заявки за цветен nextmap - тук

Post by JackEyedJones »

Не изпълнявам заявки вече, не пазя и плъгините. Ако някой иска, занимавайте се с темата, тъй като ми пишат доста, а вече не се занимавам с това.

Cee ya. :o
User avatar
NenistoW dA k1nG
Потребител
Потребител
Posts: 70
Joined: 21 May 2016, 11:35
Skype: hosheffz.bg
CS Nick: LordPower.
Favorite version: CS: 1.6
Location: Пловдив

Re: Заявки за цветен nextmap - тук

Post by NenistoW dA k1nG »

CT ( син ) [QGS-CS] NextMap: ( име на мапа )

T ( червен ) [QGS-CS] NextMap: ( име на мапа )
User avatar
ANT.
4funBGofficial. ®
4funBGofficial. ®
Posts: 123
Joined: 08 Aug 2012, 12:13
Skype: ЛС
Favorite version: CS: 1.6
Steam Community ID: antbg
Location: София

Re: Заявки за цветен nextmap - тук

Post by ANT. »

Ct - [Go-Die.eu] Next Map: De_dust2
T - [Go-Die.eu] Next Map: De_dust2


дайте поне .сма файла като не изпълнявате заявките
User avatar
HIGHTER
Потребител
Потребител
Posts: 7
Joined: 09 Sep 2016, 14:28

Re: Заявки за цветен nextmap - тук

Post by HIGHTER »

[Cs-Express] Sledvashta karta awp_snow

Цветовете според отбора!
User avatar
JackEyedJones
РЕКЛАМАТОР
РЕКЛАМАТОР
Posts: 332
Joined: 18 Apr 2014, 06:17
Skype: voltouch180
CS Nick: <Not Good Simply KoreaN>
Favorite version: CS: 1.6
Location: Plovdiv, Bulgaria, Europe, Entire World
Contact:

Re: Заявки за цветен nextmap - тук

Post by JackEyedJones »

HIGHTER wrote:[Cs-Express] Sledvashta karta awp_snow

Цветовете според отбора!
nextmap.rar
(3.7 KiB) Downloaded 172 times
-- 17 Сеп 2016, 09:52 --
ANT. wrote:Ct - [Go-Die.eu] Next Map: De_dust2
T - [Go-Die.eu] Next Map: De_dust2


дайте поне .сма файла като не изпълнявате заявките
nextmap.rar
(3.69 KiB) Downloaded 162 times
-- 17 Сеп 2016, 09:54 --
NenistoW dA k1nG wrote:CT ( син ) [QGS-CS] NextMap: ( име на мапа )

T ( червен ) [QGS-CS] NextMap: ( име на мапа )
nextmap.rar
(3.69 KiB) Downloaded 158 times
User avatar
sladura_1687
Потребител
Потребител
Posts: 7
Joined: 21 Nov 2016, 23:43

Re: Заявки за цветен nextmap - тук

Post by sladura_1687 »

[Cs-Virus.Info] Sledvashta Karta idva - awp_india
Last edited by sladura_1687 on 02 Dec 2016, 20:59, edited 1 time in total.
User avatar
INCR3DIBLE
NEVER GIVE UP
NEVER GIVE UP
Posts: 155
Joined: 16 Oct 2015, 12:37

Re: Заявки за цветен nextmap - тук

Post by INCR3DIBLE »

[ABSOLUTE-GAME] Nextmap: De_Dust2 - T
[ABSOLUTE-GAME] Nextmap: De_Dust2 - CT
User avatar
Reddeyes
Потребител
Потребител
Posts: 149
Joined: 18 Feb 2015, 19:49
Favorite version: CS: 1.6

Re: Заявки за цветен nextmap - тук

Post by Reddeyes »

Значи аз искам да е така:

[BG|War3] Nextmap: de_dust2(според отбора да е картата)

много ще се радвам ако някой ми го направи :)
User avatar
4SkuLL
VIP
VIP
Posts: 69
Joined: 08 Sep 2016, 20:13
Skype: ЛС!
CS Nick: MadaFackaZ
Favorite version: CS: Global Offensive
Location: Края на Света.
Contact:

Re: Заявки за цветен nextmap - тук

Post by 4SkuLL »

[Game-Strike] Nextmap: T/CT
User avatar
asusbg
Потребител
Потребител
Posts: 57
Joined: 20 Nov 2014, 12:40
Skype: ,,,
CS Nick: asusbg
Favorite version: CS: 1.6
Location: Добрич

Re: Заявки за цветен nextmap - тук

Post by asusbg »

Imagination wrote:[ABSOLUTE-GAME] Nextmap: De_Dust2 - T
[ABSOLUTE-GAME] Nextmap: De_Dust2 - CT
Ако все още търсиш -->

Code: Select all

#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x04[ABSOLUTE-GAME]^x03 %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x04[ABSOLUTE-GAME]^x03 %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x04[ABSOLUTE-GAME]^x03 %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif
ambrose wrote:Значи аз искам да е така:

[BG|War3] Nextmap: de_dust2(според отбора да е картата)

много ще се радвам ако някой ми го направи :)
Ето:

Code: Select all

#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x04[BG|War3]^x01 %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x04[BG|War3]^x01 %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x04[BG|War3]^x01 %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif


[quote="4SkuLL"][[color=#008000]Game-Strike[/color]] [color=#FFBF00]Nextmap[/color]: [color=#FF0000]T[/color]/[color=#0000BF]CT[/color][/quote]
[code=php]#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x01[BG|War3^x01] %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x01[BG|War3^x01] %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x01[BG|War3^x01] %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif
 
-- 20 Дек 2016, 21:24 --
4SkuLL wrote:[Game-StrikeNextmapT/CT

Code: Select all

#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x01[BG|War3^x01] %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x01[BG|War3^x01] %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x01[BG|War3^x01] %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif 
User avatar
TERMINATORA.
Терминатор
Терминатор
Posts: 11
Joined: 04 Oct 2015, 19:47
Skype: terminatora-1-
CS Nick: TERMINATORA
Favorite version: CS: 1.5
Location: Пловдив

Re: Заявки за цветен nextmap - тук

Post by TERMINATORA. »

[B2K] Nextmap: ime na mapa - T
[B2K] Nextmap: ime na mapa - CT
Ако може и .amxx файла. :coffee1:
User avatar
asusbg
Потребител
Потребител
Posts: 57
Joined: 20 Nov 2014, 12:40
Skype: ,,,
CS Nick: asusbg
Favorite version: CS: 1.6
Location: Добрич

Re: Заявки за цветен nextmap - тук

Post by asusbg »

4SkuLL wrote:[Game-Strike] Nextmap: T/CT
Ето -->

Code: Select all

#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x01[^x04Game-Strike^x01] %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x01[Game-Strike]^x01 %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x01[^x04Game-Strike^x01]^x01 %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif 
TERMINATORAA wrote:[B2K] Nextmap: ime na mapa - T
[B2K] Nextmap: ime na mapa - CT
Ако може и .amxx файла. :coffee1:
Да ви правя още по-мързеливи -не.Можеш да прочетеш тази тема вместо да бездействаш,ето и кода -->

Code: Select all

#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x04[B2K]^x03 %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x04[B2K]^x03 %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x04[B2K]^x03 %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif 
User avatar
Reddeyes
Потребител
Потребител
Posts: 149
Joined: 18 Feb 2015, 19:49
Favorite version: CS: 1.6

Re: Заявки за цветен nextmap - тук

Post by Reddeyes »

Опитах да го променя вместо на BG|War3 да е BG|Deathmatch но не стана компилацията ... може ли ти да ми го направиш защото излизат 1 куп грешки?

Ето кода...

Code: Select all

#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x04[BG|Deathmatch]^x01 %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x04[BG|Deathmatch]^x01 %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x04[BG|Deathmatch]^x01 %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif


[quote="4SkuLL"][[color=#008000]Game-Strike[/color]] [color=#FFBF00]Nextmap[/color]: [color=#FF0000]T[/color]/[color=#0000BF]CT[/color][/quote]
[code=php]#include <amxmodx>
#include <colorchat>

// 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

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)

    new szString[32], szString2[32], szString3[8]
    
    get_localinfo("lastmapcycle", szString, 31)
    parse(szString, szString2, 31, szString3, 7)
    g_pos = str_to_num(szString3)
    get_cvar_string("mapcyclefile", g_mapCycle, 31)

    if (!equal(g_mapCycle, szString2))
        g_pos = 0    // mapcyclefile has been changed - go from first

    readMapCycle(g_mapCycle, g_nextMap, 31)
    set_cvar_string("amx_nextmap", g_nextMap)
    format(szString3, 31, "%s %d", g_mapCycle, g_pos)    // save lastmapcycle settings
    set_localinfo("lastmapcycle", szString3)
}

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

public sayNextMap()
{
    new name[32]
    
    getNextMapName(name, 31)
    ColorChat(0, GREEN, "^x01[BG|Deathmatch^x01] %L^x03 %s", LANG_PLAYER, "NEXT_MAP", name)
}

public sayCurrentMap()
{
    new mapname[32]

    get_mapname(mapname, 31)
    ColorChat(0, GREEN, "^x01[BG|Deathmatch^x01] %L:^x03 %s", LANG_PLAYER, "PLAYED_MAP", mapname)
}

public sayFFStatus()
{
    ColorChat(0, GREEN, "^x01[BG|Deathmatch^x01] %L:^x03 %L", LANG_PLAYER, "FRIEND_FIRE", LANG_PLAYER, get_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 changeMap()
{
    new string[32]
    new Float:chattime = get_cvar_float("mp_chattime")
    
    set_cvar_float("mp_chattime", chattime + 2.0)        // make sure mp_chattime is long
    new len = getNextMapName(string, 31) + 1
    set_task(chattime, "delayedChange", 0, string, len)    // change with 1.5 sec. delay
}

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 b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32]

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
                copy(szFirst, 31, szBuffer)
            
            if (++iMaps > g_pos)
            {
                copy(szNext, iNext, szBuffer)
                g_pos = iMaps
                return
            }
        }
    }

    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        get_mapname(szFirst, 31)
    }

    copy(szNext, iNext, szFirst)
    g_pos = 1
}

#else

readMapCycle(szFileName[], szNext[], iNext)
{
    new b, i = 0, iMaps = 0
    new szBuffer[32], szFirst[32], szCurrent[32]
    
    get_mapname(szCurrent, 31)
    
    new a = g_pos

    if (file_exists(szFileName))
    {
        while (read_file(szFileName, i++, szBuffer, 31, b))
        {
            if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
            
            if (!iMaps)
            {
                iMaps = 1
                copy(szFirst, 31, szBuffer)
            }
            
            if (iMaps == 1)
            {
                if (equali(szCurrent, szBuffer))
                {
                    if (a-- == 0)
                        iMaps = 2
                }
            } else {
                if (equali(szCurrent, szBuffer))
                    ++g_pos
                else
                    g_pos = 0
                
                copy(szNext, iNext, szBuffer)
                return
            }
        }
    }
    
    if (!iMaps)
    {
        log_amx(g_warning, szFileName)
        copy(szNext, iNext, szCurrent)
    }
    else
        copy(szNext, iNext, szFirst)
    
    g_pos = 0
}
#endif
Post Reply

Return to “Заявки”