Потребителя само да си напише префикс

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
cs_4ever
Извън линия
Потребител
Потребител
Мнения: 332
Регистриран на: 10 Окт 2016, 23:08
Местоположение: България , София , Дианабад
Се отблагодари: 2 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Потребителя само да си напише префикс

Мнение от cs_4ever » 16 Окт 2016, 22:03

Заглавието не ми е както трябва ясно ми е .
Интересно ми е дали може да се направи плъгин който хората , чрез команда примерно /pref да напише префикс пред името му , примерно /pref [Like Me] и след като въведе командата в чата това да бъде префикса му пример [Like Me] cs_4ever без да се променя цвета на чата и цвета на отбора само префикса ? Ако не сте ме разбрали какво искам да кажа , ще се опитам по подробно .
https://discord.gg/vrA9MHU - Турнири по LOL и всеки месец giveaway на скинове!

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

Re: Потребителя само да си напише префикс

Мнение от OciXCrom » 16 Окт 2016, 22:09

Може да се направи, като трябва да вземеш предвид всички останали плъгини за префикси, които ползваш, съответно плъгинът трябва да се свърже с тях. Ясно ми е, че не ме разбра. :coolface:

Аватар
cs_4ever
Извън линия
Потребител
Потребител
Мнения: 332
Регистриран на: 10 Окт 2016, 23:08
Местоположение: България , София , Дианабад
Се отблагодари: 2 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Re: Потребителя само да си напише префикс

Мнение от cs_4ever » 16 Окт 2016, 22:11

Ползвам само този който ти ми направи но не ми е проблем да го махна :) , И ако може да се направи били го направил ?
https://discord.gg/vrA9MHU - Турнири по LOL и всеки месец giveaway на скинове!

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

Re: Потребителя само да си напише префикс

Мнение от OciXCrom » 16 Окт 2016, 22:27

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

#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
/pref prefix

Аватар
cs_4ever
Извън линия
Потребител
Потребител
Мнения: 332
Регистриран на: 10 Окт 2016, 23:08
Местоположение: България , София , Дианабад
Се отблагодари: 2 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Re: Потребителя само да си напише префикс

Мнение от cs_4ever » 16 Окт 2016, 23:17

Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/tmp/textOfuSm4.sma(2) : fatal error 100: cannot read from file: "colorchat"

Compilation aborted.
1 Error.

Може ли amxx дирекно не мога ЛОКАЛНО
https://discord.gg/vrA9MHU - Турнири по LOL и всеки месец giveaway на скинове!

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

Re: Потребителя само да си напише префикс

Мнение от OciXCrom » 16 Окт 2016, 23:32

За една и съща грешка се пита само веднъж, след което трябва да знаеш какво трябва да направиш, а не 10 пъти и отново да чакаш същия отговор. Защо да не можеш локално? Щом имаш сървър, трябяа да имаш и компилатор на компютъра си, тъй че изтегли си такъв и недей да се инвалидизираш. Друг вариант е да блъснеш съдържанието на .inc файла директно в кода на плъгина. Повече да не виждам мнения, че не можеш да си компилираш плъгина.

Аватар
cs_4ever
Извън линия
Потребител
Потребител
Мнения: 332
Регистриран на: 10 Окт 2016, 23:08
Местоположение: България , София , Дианабад
Се отблагодари: 2 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Re: Потребителя само да си напише префикс

Мнение от cs_4ever » 16 Окт 2016, 23:34

Говориш ми китайски баце сложи някаква тема с това дет ми говори и ми дай линк да видя за какво говориш :д и докато я правиш може ли amxx ?
https://discord.gg/vrA9MHU - Турнири по LOL и всеки месец giveaway на скинове!

Аватар
Petrowch0
Извън линия
Потребител
Потребител
Мнения: 220
Регистриран на: 14 Окт 2016, 19:23
Местоположение: de_dust2
Получена благодарност: 3 пъти
Обратна връзка:

Re: Потребителя само да си напише префикс

Мнение от Petrowch0 » 16 Окт 2016, 23:43

Ето ти моят локален компилатор със библиотеки за повечето плъгини и вече се надявам да не се оплакваш, че не можеш да си компилираш плъгините.
Изображение

Аватар
cs_4ever
Извън линия
Потребител
Потребител
Мнения: 332
Регистриран на: 10 Окт 2016, 23:08
Местоположение: България , София , Дианабад
Се отблагодари: 2 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Re: Потребителя само да си напише префикс

Мнение от cs_4ever » 16 Окт 2016, 23:47

Марикам на Oxi , за отговорено и ще търся друг форум да ми помогнат , явно нямате желание , благодаря за което ..
https://discord.gg/vrA9MHU - Турнири по LOL и всеки месец giveaway на скинове!

Аватар
Petrowch0
Извън линия
Потребител
Потребител
Мнения: 220
Регистриран на: 14 Окт 2016, 19:23
Местоположение: de_dust2
Получена благодарност: 3 пъти
Обратна връзка:

Re: Потребителя само да си напише префикс

Мнение от Petrowch0 » 16 Окт 2016, 23:50

Ето ти плъгина компилиран.
Изображение

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

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Semrush [Bot] и 10 госта