Проблем със Admin Listen

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Проблем със Admin Listen

Мнение от southdivision » 06 Яну 2018, 20:50

Проблема е,че дори нормалните играчи без права могат да виждат отборния чат на другия отбор

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <colorchat>

#define PLUGIN_VERSION "2.2 [With Personal Prefix]"
#define PREFIX_LENGTH 16
//#define USE_JAILBREAK

#if defined USE_JAILBREAK
    #define PREFIX_SIMON 5
    native is_user_simon(id)
#endif

enum
{
    INFO_PREFIX = 1,
    INFO_CLRNAME,
    INFO_CLRCHAT,
    INFO_CLRSCND
}

#define ADMIN_LISTEN "m"

new const g_szAdminPrefixes[][] = {
/*
    --------------
    Флаг     Префикс                 Цвят (ник)     Цвят (чат)     Цвят (second) */
    "",     "",                        "second",     "normal",     "team",
    "d",     "^3[Admin]",             "second",     "normal",     "team"
}

new const g_szSeparator[] = " ^1:"
new const g_szDeathPrefix[][] = { "*DEAD* ", "" }
new const g_szColors[][] = { "^1", "^3", "^4" }
new g_szAdminPrefix[33][32],
    g_szPersonalPrefix[33][PREFIX_LENGTH]
    
new const g_szCommand[] = "/pref"

new const g_szTeamPrefix[][] = {
    "",
    "^1(Terrorist)",
    "^1(Counter-Terrorist)",
    "^1(Spectator)"
}

public plugin_init()
{
    register_plugin("Chat Manager", PLUGIN_VERSION, "OciXCrom")
    register_cvar("CRXChatManager", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    register_clcmd("say", "hookSay")
    register_clcmd("say_team", "hookSay")
}

public plugin_natives()
    register_native("GetPlayerPrefix", "_GetPlayerPrefix")
    
public _GetPlayerPrefix(iPlugin, iParams)
{
    new id = get_param(1)
    set_string(2, g_szAdminPrefix[id], get_param(3))
    return 1
}

public client_putinserver(id)
{
    g_szAdminPrefix[id][0] = EOS
    g_szPersonalPrefix[id][0] = EOS
}

public hookSay(id)
{
    new szArgs[192]
    read_args(szArgs, charsmax(szArgs))
    remove_quotes(szArgs)
    
    switch(szArgs[0])
    {
        case EOS, '@': return PLUGIN_HANDLED
    }
    
    if(equal(szArgs[0], g_szCommand, charsmax(g_szCommand)))
    {
        replace(szArgs, charsmax(szArgs), g_szCommand, "")
        trim(szArgs)
        
        if(is_blank(szArgs))
        {
            g_szPersonalPrefix[id][0] = EOS
            ColorChat(id, NORMAL, "* Your personal prefix has been ^3removed^1.")
        }
        else
        {
            format(szArgs, charsmax(szArgs), "^3[%s]", szArgs)
            copy(g_szPersonalPrefix[id], charsmax(g_szPersonalPrefix[]), szArgs)
            ColorChat(id, NORMAL, "* Your personal prefix has been set to %s", szArgs)
        }
        
        return PLUGIN_HANDLED
    }        
    
    new szMessage[192], szName[32], szDeathPrefix[32], szTeamPrefix[32], szAdminPrefix[32], szCommand[5], szNameColor[3], szChatColor[3]
    new iAlive = is_user_alive(id) ? 1 : 0, iPrefix = get_prefixnum(id), iColor = get_secondcolor(g_szAdminPrefixes[iPrefix + INFO_CLRSCND]), iTeam = get_user_team(id)
    copy(szDeathPrefix, charsmax(szDeathPrefix), g_szDeathPrefix[iAlive])
    
    if(!is_blank(g_szPersonalPrefix[id]))
        copy(szAdminPrefix, charsmax(szAdminPrefix), g_szPersonalPrefix[id])
    else
        copy(szAdminPrefix, charsmax(szAdminPrefix), g_szAdminPrefixes[iPrefix + INFO_PREFIX])
        
    if(!is_blank(szAdminPrefix)) add(szAdminPrefix, charsmax(szAdminPrefix), " ")
    copy(g_szAdminPrefix[id], charsmax(g_szAdminPrefix[]), szAdminPrefix)
    get_color(g_szAdminPrefixes[iPrefix + INFO_CLRNAME], szNameColor)
    get_color(g_szAdminPrefixes[iPrefix + INFO_CLRCHAT], szChatColor)
    read_argv(0, szCommand, charsmax(szCommand))
    get_user_name(id, szName, charsmax(szName))
    
    new bool:blTeam = szCommand[3] == '_' ? true : false
    if(blTeam) formatex(szTeamPrefix, charsmax(szTeamPrefix), "%s ", g_szTeamPrefix[iTeam])
    formatex(szMessage, charsmax(szMessage), "%s%s%s%s%s%s %s%s", szDeathPrefix, szTeamPrefix, szAdminPrefix, szNameColor, szName, g_szSeparator, szChatColor, szArgs)
    
    new iPlayers[32], iPlayer, iPlayerAlive, iPnum
    get_players(iPlayers, iPnum)
    
    for(new i; i < iPnum; i++)
    {
        iPlayer = iPlayers[i]
        iPlayerAlive = is_user_alive(iPlayer) ? 1 : 0
        
        if(iAlive == iPlayerAlive || (blTeam && iTeam == get_user_team(iPlayer)) || has_user_listen(iPlayer))
        {
            switch(iColor)
            {
                case 0:
                {
                    switch(iTeam)
                    {
                        case 1: ColorChat(iPlayer, RED, szMessage)
                        case 2: ColorChat(iPlayer, BLUE, szMessage)
                        case 3: ColorChat(iPlayer, GREY, szMessage)
                    }
                }
                case 1: ColorChat(iPlayer, RED, szMessage)
                case 2: ColorChat(iPlayer, BLUE, szMessage)
                case 3: ColorChat(iPlayer, GREY, szMessage)
            }
        }
    }
    
    logChatMessage(szMessage)
    return PLUGIN_HANDLED
}

logChatMessage(szMessage[192])
{
    for(new i; i < sizeof(g_szColors); i++)
        replace_all(szMessage, charsmax(szMessage), g_szColors[i], "")
    
    log_amx(szMessage)
}

get_prefixnum(id)
{    
    #if defined USE_JAILBREAK
        if(is_user_simon(id))
            return PREFIX_SIMON
    #endif
    
    new iPrefix
    static iFlags
    iFlags = get_user_flags(id)
    
    for(new i; i < sizeof(g_szAdminPrefixes) - 4; i += 5)
    {
        if(iFlags & read_flags(g_szAdminPrefixes[i]))
        {
            iPrefix = i
            break
        }
    }
    
    return iPrefix
}
    
get_color(szString[], szColor[3])
{
    new iColor
    
    switch(szString[0])
    {
        case 't', 's': iColor = 1
        case 'g': iColor = 2
    }
    
    copy(szColor, charsmax(szColor), g_szColors[iColor])
}

get_secondcolor(szString[])
{
    new iColor
    
    switch(szString[0])
    {
        case 'r': iColor = 1
        case 'b': iColor = 2
        case 'g': iColor = 3
    }
    
    return iColor
}

bool:is_blank(szString[])
    return szString[0] == EOS ? true : false
    
bool:has_user_listen(id)
    return get_user_flags(id) & read_flags(ADMIN_LISTEN) ? true : false
 

Аватар
SmirnoffBG
Извън линия
Потребител
Потребител
Мнения: 267
Регистриран на: 27 Ное 2016, 19:43
Местоположение: nz
Се отблагодари: 77 пъти
Получена благодарност: 38 пъти
Обратна връзка:

Проблем със Admin Listen

Мнение от SmirnoffBG » 07 Яну 2018, 01:52

щото се хоокват в една и съща функция
El-Super Respawn = 87.121.54.85:27016
BG Trewa Respawn = 91.92.137.205:27015

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Проблем със Admin Listen

Мнение от southdivision » 07 Яну 2018, 10:05

Освен да направя отделна функция не се сещам друго?

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Проблем със Admin Listen

Мнение от TheRedShoko » 07 Яну 2018, 12:02

Не е от там проблема. Проверките не са направени правилно. Живите ще виждат на живите отборния чат, мъртвите на мъртвите, живите ще виждат на мъртвите си съотборници и така. Не вярвам да е грешка на Croma щом досега никой не се е оплаквал (нямам възможност да го прегледам). Ако все пак е негова - нека я поправи.

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Проблем със Admin Listen

Мнение от southdivision » 07 Яну 2018, 13:23

TheRedShoko написа: 07 Яну 2018, 12:02 Не е от там проблема. Проверките не са направени правилно. Живите ще виждат на живите отборния чат, мъртвите на мъртвите, живите ще виждат на мъртвите си съотборници и така. Не вярвам да е грешка на Croma щом досега никой не се е оплаквал (нямам възможност да го прегледам). Ако все пак е негова - нека я поправи.
Крома няма намерение да я поправи понеже вече е направил ChatManager,но пък нямам желанието да използвам ChatManager-а поради куп причини ..

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем със Admin Listen

Мнение от OciXCrom » 07 Яну 2018, 13:54

Аз 100 пъти казах да ползва новата версия на плъгина, в която всичко е оправено, обаче той харесва стари неща...

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <colorchat>

#define PLUGIN_VERSION "2.2 [With Personal Prefix]"
#define PREFIX_LENGTH 16
//#define USE_JAILBREAK

#if defined USE_JAILBREAK
	#define PREFIX_SIMON 5
	native is_user_simon(id)
#endif

enum
{
	INFO_PREFIX = 1,
	INFO_CLRNAME,
	INFO_CLRCHAT,
	INFO_CLRSCND
}

#define ADMIN_LISTEN "m"

new const g_szAdminPrefixes[][] = {
/*
	--------------
	Флаг     Префикс                 Цвят (ник)     Цвят (чат)     Цвят (second) */
	"",     "",                        "second",     "normal",     "team",
	"d",     "^3[Admin]",             "second",     "normal",     "team"
}

new const g_szSeparator[] = " ^1:"
new const g_szDeathPrefix[][] = { "*DEAD* ", "" }
new const g_szColors[][] = { "^1", "^3", "^4" }
new g_szAdminPrefix[33][32],
	g_szPersonalPrefix[33][PREFIX_LENGTH]
	
new const g_szCommand[] = "/pref"

new const g_szTeamPrefix[][] = {
	"",
	"^1(Terrorist)",
	"^1(Counter-Terrorist)",
	"^1(Spectator)"
}

public plugin_init()
{
	register_plugin("Chat Manager", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXChatManager", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_clcmd("say", "hookSay")
	register_clcmd("say_team", "hookSay")
}

public plugin_natives()
	register_native("GetPlayerPrefix", "_GetPlayerPrefix")
	
public _GetPlayerPrefix(iPlugin, iParams)
{
	new id = get_param(1)
	set_string(2, g_szAdminPrefix[id], get_param(3))
	return 1
}

public client_putinserver(id)
{
	g_szAdminPrefix[id][0] = EOS
	g_szPersonalPrefix[id][0] = EOS
}

public hookSay(id)
{
	new szArgs[192]
	read_args(szArgs, charsmax(szArgs))
	remove_quotes(szArgs)
	
	switch(szArgs[0])
	{
		case EOS, '@': return PLUGIN_HANDLED
	}
	
	if(equal(szArgs[0], g_szCommand, charsmax(g_szCommand)))
	{
		replace(szArgs, charsmax(szArgs), g_szCommand, "")
		trim(szArgs)
		
		if(is_blank(szArgs))
		{
			g_szPersonalPrefix[id][0] = EOS
			ColorChat(id, NORMAL, "* Your personal prefix has been ^3removed^1.")
		}
		else
		{
			format(szArgs, charsmax(szArgs), "^3[%s]", szArgs)
			copy(g_szPersonalPrefix[id], charsmax(g_szPersonalPrefix[]), szArgs)
			ColorChat(id, NORMAL, "* Your personal prefix has been set to %s", szArgs)
		}
		
		return PLUGIN_HANDLED
	}        
	
	new szMessage[192], szName[32], szDeathPrefix[32], szTeamPrefix[32], szAdminPrefix[32], szCommand[5], szNameColor[3], szChatColor[3]
	new iAlive = is_user_alive(id) ? 1 : 0, iPrefix = get_prefixnum(id), iColor = get_secondcolor(g_szAdminPrefixes[iPrefix + INFO_CLRSCND]), iTeam = get_user_team(id)
	copy(szDeathPrefix, charsmax(szDeathPrefix), g_szDeathPrefix[iAlive])
	
	if(!is_blank(g_szPersonalPrefix[id]))
		copy(szAdminPrefix, charsmax(szAdminPrefix), g_szPersonalPrefix[id])
	else
		copy(szAdminPrefix, charsmax(szAdminPrefix), g_szAdminPrefixes[iPrefix + INFO_PREFIX])
		
	if(!is_blank(szAdminPrefix)) add(szAdminPrefix, charsmax(szAdminPrefix), " ")
	copy(g_szAdminPrefix[id], charsmax(g_szAdminPrefix[]), szAdminPrefix)
	get_color(g_szAdminPrefixes[iPrefix + INFO_CLRNAME], szNameColor)
	get_color(g_szAdminPrefixes[iPrefix + INFO_CLRCHAT], szChatColor)
	read_argv(0, szCommand, charsmax(szCommand))
	get_user_name(id, szName, charsmax(szName))
	
	new bool:blTeam = szCommand[3] == '_' ? true : false
	if(blTeam) formatex(szTeamPrefix, charsmax(szTeamPrefix), "%s ", g_szTeamPrefix[iTeam])
	formatex(szMessage, charsmax(szMessage), "%s%s%s%s%s%s %s%s", szDeathPrefix, szTeamPrefix, szAdminPrefix, szNameColor, szName, g_szSeparator, szChatColor, szArgs)
	
	new iPlayers[32], iPlayer, iPlayerAlive, iPnum
	get_players(iPlayers, iPnum)
	
	for(new i; i < iPnum; i++)
	{
		iPlayer = iPlayers[i]
		iPlayerAlive = is_user_alive(iPlayer) ? 1 : 0
		
		if(has_user_listen(iPlayer))
			goto @cpListen
		
		if(iAlive != iPlayerAlive)
			continue
		
		if(blTeam)
		{
			if(iTeam != get_user_team(iPlayer))
				continue
		}
		
		@cpListen:
		
		switch(iColor)
		{
			case 0:
			{
				switch(iTeam)
				{
					case 1: ColorChat(iPlayer, RED, szMessage)
					case 2: ColorChat(iPlayer, BLUE, szMessage)
					case 3: ColorChat(iPlayer, GREY, szMessage)
				}
			}
			case 1: ColorChat(iPlayer, RED, szMessage)
			case 2: ColorChat(iPlayer, BLUE, szMessage)
			case 3: ColorChat(iPlayer, GREY, szMessage)
		}
	}
	
	logChatMessage(szMessage)
	return PLUGIN_HANDLED
}

logChatMessage(szMessage[192])
{
	for(new i; i < sizeof(g_szColors); i++)
		replace_all(szMessage, charsmax(szMessage), g_szColors[i], "")
	
	log_amx(szMessage)
}

get_prefixnum(id)
{    
	#if defined USE_JAILBREAK
		if(is_user_simon(id))
			return PREFIX_SIMON
	#endif
	
	new iPrefix
	static iFlags
	iFlags = get_user_flags(id)
	
	for(new i; i < sizeof(g_szAdminPrefixes) - 4; i += 5)
	{
		if(iFlags & read_flags(g_szAdminPrefixes[i]))
		{
			iPrefix = i
			break
		}
	}
	
	return iPrefix
}
	
get_color(szString[], szColor[3])
{
	new iColor
	
	switch(szString[0])
	{
		case 't', 's': iColor = 1
		case 'g': iColor = 2
	}
	
	copy(szColor, charsmax(szColor), g_szColors[iColor])
}

get_secondcolor(szString[])
{
	new iColor
	
	switch(szString[0])
	{
		case 'r': iColor = 1
		case 'b': iColor = 2
		case 'g': iColor = 3
	}
	
	return iColor
}

bool:is_blank(szString[])
	return szString[0] == EOS ? true : false
	
bool:has_user_listen(id)
	return get_user_flags(id) & read_flags(ADMIN_LISTEN) ? true : false
 

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Проблем със Admin Listen

Мнение от southdivision » 07 Яну 2018, 14:34

OciXCrom™ написа: 07 Яну 2018, 13:54 Аз 100 пъти казах да ползва новата версия на плъгина, в която всичко е оправено, обаче той харесва стари неща...

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <colorchat>

#define PLUGIN_VERSION "2.2 [With Personal Prefix]"
#define PREFIX_LENGTH 16
//#define USE_JAILBREAK

#if defined USE_JAILBREAK
	#define PREFIX_SIMON 5
	native is_user_simon(id)
#endif

enum
{
	INFO_PREFIX = 1,
	INFO_CLRNAME,
	INFO_CLRCHAT,
	INFO_CLRSCND
}

#define ADMIN_LISTEN "m"

new const g_szAdminPrefixes[][] = {
/*
	--------------
	Флаг     Префикс                 Цвят (ник)     Цвят (чат)     Цвят (second) */
	"",     "",                        "second",     "normal",     "team",
	"d",     "^3[Admin]",             "second",     "normal",     "team"
}

new const g_szSeparator[] = " ^1:"
new const g_szDeathPrefix[][] = { "*DEAD* ", "" }
new const g_szColors[][] = { "^1", "^3", "^4" }
new g_szAdminPrefix[33][32],
	g_szPersonalPrefix[33][PREFIX_LENGTH]
	
new const g_szCommand[] = "/pref"

new const g_szTeamPrefix[][] = {
	"",
	"^1(Terrorist)",
	"^1(Counter-Terrorist)",
	"^1(Spectator)"
}

public plugin_init()
{
	register_plugin("Chat Manager", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXChatManager", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_clcmd("say", "hookSay")
	register_clcmd("say_team", "hookSay")
}

public plugin_natives()
	register_native("GetPlayerPrefix", "_GetPlayerPrefix")
	
public _GetPlayerPrefix(iPlugin, iParams)
{
	new id = get_param(1)
	set_string(2, g_szAdminPrefix[id], get_param(3))
	return 1
}

public client_putinserver(id)
{
	g_szAdminPrefix[id][0] = EOS
	g_szPersonalPrefix[id][0] = EOS
}

public hookSay(id)
{
	new szArgs[192]
	read_args(szArgs, charsmax(szArgs))
	remove_quotes(szArgs)
	
	switch(szArgs[0])
	{
		case EOS, '@': return PLUGIN_HANDLED
	}
	
	if(equal(szArgs[0], g_szCommand, charsmax(g_szCommand)))
	{
		replace(szArgs, charsmax(szArgs), g_szCommand, "")
		trim(szArgs)
		
		if(is_blank(szArgs))
		{
			g_szPersonalPrefix[id][0] = EOS
			ColorChat(id, NORMAL, "* Your personal prefix has been ^3removed^1.")
		}
		else
		{
			format(szArgs, charsmax(szArgs), "^3[%s]", szArgs)
			copy(g_szPersonalPrefix[id], charsmax(g_szPersonalPrefix[]), szArgs)
			ColorChat(id, NORMAL, "* Your personal prefix has been set to %s", szArgs)
		}
		
		return PLUGIN_HANDLED
	}        
	
	new szMessage[192], szName[32], szDeathPrefix[32], szTeamPrefix[32], szAdminPrefix[32], szCommand[5], szNameColor[3], szChatColor[3]
	new iAlive = is_user_alive(id) ? 1 : 0, iPrefix = get_prefixnum(id), iColor = get_secondcolor(g_szAdminPrefixes[iPrefix + INFO_CLRSCND]), iTeam = get_user_team(id)
	copy(szDeathPrefix, charsmax(szDeathPrefix), g_szDeathPrefix[iAlive])
	
	if(!is_blank(g_szPersonalPrefix[id]))
		copy(szAdminPrefix, charsmax(szAdminPrefix), g_szPersonalPrefix[id])
	else
		copy(szAdminPrefix, charsmax(szAdminPrefix), g_szAdminPrefixes[iPrefix + INFO_PREFIX])
		
	if(!is_blank(szAdminPrefix)) add(szAdminPrefix, charsmax(szAdminPrefix), " ")
	copy(g_szAdminPrefix[id], charsmax(g_szAdminPrefix[]), szAdminPrefix)
	get_color(g_szAdminPrefixes[iPrefix + INFO_CLRNAME], szNameColor)
	get_color(g_szAdminPrefixes[iPrefix + INFO_CLRCHAT], szChatColor)
	read_argv(0, szCommand, charsmax(szCommand))
	get_user_name(id, szName, charsmax(szName))
	
	new bool:blTeam = szCommand[3] == '_' ? true : false
	if(blTeam) formatex(szTeamPrefix, charsmax(szTeamPrefix), "%s ", g_szTeamPrefix[iTeam])
	formatex(szMessage, charsmax(szMessage), "%s%s%s%s%s%s %s%s", szDeathPrefix, szTeamPrefix, szAdminPrefix, szNameColor, szName, g_szSeparator, szChatColor, szArgs)
	
	new iPlayers[32], iPlayer, iPlayerAlive, iPnum
	get_players(iPlayers, iPnum)
	
	for(new i; i < iPnum; i++)
	{
		iPlayer = iPlayers[i]
		iPlayerAlive = is_user_alive(iPlayer) ? 1 : 0
		
		if(has_user_listen(iPlayer))
			goto @cpListen
		
		if(iAlive != iPlayerAlive)
			continue
		
		if(blTeam)
		{
			if(iTeam != get_user_team(iPlayer))
				continue
		}
		
		@cpListen:
		
		switch(iColor)
		{
			case 0:
			{
				switch(iTeam)
				{
					case 1: ColorChat(iPlayer, RED, szMessage)
					case 2: ColorChat(iPlayer, BLUE, szMessage)
					case 3: ColorChat(iPlayer, GREY, szMessage)
				}
			}
			case 1: ColorChat(iPlayer, RED, szMessage)
			case 2: ColorChat(iPlayer, BLUE, szMessage)
			case 3: ColorChat(iPlayer, GREY, szMessage)
		}
	}
	
	logChatMessage(szMessage)
	return PLUGIN_HANDLED
}

logChatMessage(szMessage[192])
{
	for(new i; i < sizeof(g_szColors); i++)
		replace_all(szMessage, charsmax(szMessage), g_szColors[i], "")
	
	log_amx(szMessage)
}

get_prefixnum(id)
{    
	#if defined USE_JAILBREAK
		if(is_user_simon(id))
			return PREFIX_SIMON
	#endif
	
	new iPrefix
	static iFlags
	iFlags = get_user_flags(id)
	
	for(new i; i < sizeof(g_szAdminPrefixes) - 4; i += 5)
	{
		if(iFlags & read_flags(g_szAdminPrefixes[i]))
		{
			iPrefix = i
			break
		}
	}
	
	return iPrefix
}
	
get_color(szString[], szColor[3])
{
	new iColor
	
	switch(szString[0])
	{
		case 't', 's': iColor = 1
		case 'g': iColor = 2
	}
	
	copy(szColor, charsmax(szColor), g_szColors[iColor])
}

get_secondcolor(szString[])
{
	new iColor
	
	switch(szString[0])
	{
		case 'r': iColor = 1
		case 'b': iColor = 2
		case 'g': iColor = 3
	}
	
	return iColor
}

bool:is_blank(szString[])
	return szString[0] == EOS ? true : false
	
bool:has_user_listen(id)
	return get_user_flags(id) & read_flags(ADMIN_LISTEN) ? true : false
 
Доживях! :dance: :coolface: Благодаря, може да локваш :lock:

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта