[ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Unbr3akable
Извън линия
Потребител
Потребител
Мнения: 178
Регистриран на: 21 Дек 2016, 20:50
Получена благодарност: 6 пъти

[ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от Unbr3akable » 25 Яну 2017, 19:57

Ами да, видях го в един сървър и самия плъгин изглежда така, когато някой пише в чата:
[16:16:16] Unbr3akable : chat - примерно

Аватар
RideeR ;]
Извън линия
Потребител
Потребител
Мнения: 170
Регистриран на: 05 Окт 2016, 21:30
Получена благодарност: 3 пъти

Re: [ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от RideeR ;] » 25 Яну 2017, 20:54

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

#include <amxmodx>

new g_buffer[2048] = ""
new MaxPlayers, SayText
public plugin_init() 
{
    register_plugin("Chat Real Time", "1.0", "RideeR ;]")
    register_clcmd("say", "Hook_Say")
    MaxPlayers = get_maxplayers()
    SayText = get_user_msgid ("SayText")
    register_message(SayText, "MsgDuplicate")
}

public MsgDuplicate(id) {
    return PLUGIN_HANDLED
}


public Hook_Say(id)
{
    new typed[192], szName[32]
    get_user_name(id, szName, charsmax(szName))
    get_time("%H:%M:%S", g_buffer, charsmax(g_buffer))
    
    read_args(typed, charsmax(typed))
    remove_quotes(typed)

    trim(typed)
    
    format(typed, charsmax(typed), "^1[^4%s^1]^3 %s: ^1%s", g_buffer, szName, typed)
    
    for(new i = 1; i <= MaxPlayers; i++) 
    {
        if(!is_user_connected(i)) 
        {
            continue
        } 
        message_begin(MSG_ONE, SayText, {0, 0, 0}, i)
        write_byte(id)
        write_string(typed)
        message_end()
    }
    return PLUGIN_CONTINUE
} 
Ето ти нещо примерно, тествал съм го и си работи перфектно.Ако искаш мога да ти го направя в твоите префикси.

Аватар
Unbr3akable
Извън линия
Потребител
Потребител
Мнения: 178
Регистриран на: 21 Дек 2016, 20:50
Получена благодарност: 6 пъти

Re: [ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от Unbr3akable » 25 Яну 2017, 21:03

Еми, сложи му зелен чат на потребители с ADMIN_LEVEL_B, ако искаш.

Аватар
RideeR ;]
Извън линия
Потребител
Потребител
Мнения: 170
Регистриран на: 05 Окт 2016, 21:30
Получена благодарност: 3 пъти

Re: [ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от RideeR ;] » 25 Яну 2017, 21:19

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

#include <amxmodx>

#define VIPFLAG ADMIN_LEVEL_B

new g_buffer[2048] = ""
new const szVipPrefix[8] = "V^1I^4P"

new MaxPlayers, SayText
public plugin_init() 
{
    register_plugin("Chat Real Time", "1.0", "RideeR ;]")
    register_clcmd("say", "Hook_Say")
    MaxPlayers = get_maxplayers()
    SayText = get_user_msgid ("SayText")
    register_message(SayText, "MsgDuplicate")
}

public MsgDuplicate(id) {
    return PLUGIN_HANDLED
}


public Hook_Say(id)
{
    new typed[192], szName[32]
    get_user_name(id, szName, charsmax(szName))
    get_time("%H:%M:%S", g_buffer, charsmax(g_buffer))
    
    read_args(typed, charsmax(typed))
    remove_quotes(typed)

    trim(typed)
    if(get_user_flags(id) & VIPFLAG)
    {
        format(typed, charsmax(typed), "^1[^4%s^1] ^4[%s]^3 %s: ^4%s", g_buffer, szVipPrefix, szName, typed)
    }
    else
    {
        format(typed, charsmax(typed), "^1[^4%s^1]^3 %s: ^1%s", g_buffer, szName, typed)
    }
    for(new i = 1; i <= MaxPlayers; i++) 
    {
        if(!is_user_connected(i)) 
        {
            continue
        } 
        message_begin(MSG_ONE, SayText, {0, 0, 0}, i)
        write_byte(id)
        write_string(typed)
        message_end()
    }
    return PLUGIN_CONTINUE
} 
Ти знаеш какво да правиш по-нататък.Добавил съм и вип префикс, промени го по твой вкус. :)
► Покажи скъсения текст


Аватар
Extreme
Извън линия
Администратор
Администратор
Мнения: 557
Регистриран на: 05 Окт 2016, 20:53
Се отблагодари: 125 пъти
Получена благодарност: 51 пъти
Обратна връзка:

Re: [ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от Extreme » 25 Яну 2017, 21:47

Това някаква шега ли е ? Човек с ранг скриптър да пуска подобни теми е малко странно ?
–Човек вярва на това, което му се иска.
Адолф Хитлер.

-------------------------------------------------------------------------------------------
Правила на форума
Правила при качване на плъгини


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

Re: [ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от southdivision » 25 Яну 2017, 22:03

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

register_clcmd("say_team" , "Hook_Say");
??[/size]
Последно промяна от RideeR ;] на 25 Яну 2017, 22:06, променено общо 3 пъти.
Причина: Спам.

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

Re: [ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от southdivision » 25 Яну 2017, 22:04

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

register_clcmd("say_team" , "Hook_Say");
Така няма ли да стане?

Аватар
RideeR ;]
Извън линия
Потребител
Потребител
Мнения: 170
Регистриран на: 05 Окт 2016, 21:30
Получена благодарност: 3 пъти

Re: [ТЪРСЯ] Плъгин, който показва времето пред името на играча в чата.

Мнение от RideeR ;] » 25 Яну 2017, 22:05

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

#include <amxmodx>

#define VIPFLAG ADMIN_LEVEL_B

new g_buffer[2048] = ""
new const szVipPrefix[8] = "V^1I^4P"
new const szTeams[3][] = {
    "Spectator",
    "Terrorist",
    "Counter-Terrorist"
}
new MaxPlayers, SayText
public plugin_init() 
{
    register_plugin("Chat Real Time", "1.0", "RideeR ;]")
    register_clcmd("say", "Hook_Say")
    register_clcmd("say_team", "Hook_SayTeam")
    MaxPlayers = get_maxplayers()
    SayText = get_user_msgid ("SayText")
    register_message(SayText, "MsgDuplicate")
}

public MsgDuplicate(id) {
    return PLUGIN_HANDLED
}


public Hook_Say(id)
{
    new typed[192], szName[32]
    get_user_name(id, szName, charsmax(szName))
    get_time("%H:%M:%S", g_buffer, charsmax(g_buffer))
    
    new szAlive = is_user_alive(id)
    
    read_args(typed, charsmax(typed))
    remove_quotes(typed)

    trim(typed)
    
    if(get_user_flags(id) & VIPFLAG)
    {
        szAlive ? format(typed, charsmax(typed), "^1[^4%s^1] ^4[%s]^3 %s: ^4%s", g_buffer, szVipPrefix, szName, typed) : format(typed, charsmax(typed), "^1*DEAD* ^1[^4%s^1] ^4[%s]^3 %s: ^4%s", g_buffer, szVipPrefix, szName, typed)
    }
    else
    {
        szAlive ? format(typed, charsmax(typed), "^1[^4%s^1]^3 %s: ^1%s", g_buffer, szName, typed) : format(typed, charsmax(typed), "*DEAD* ^1[^4%s^1]^3 %s: ^1%s", g_buffer, szName, typed)
    }
    
    for(new i = 1; i <= MaxPlayers; i++) 
    {
        if(!is_user_connected(i)) 
        {
            continue
        } 
        if(szAlive && is_user_alive(i) || !szAlive && !is_user_alive(i))
        {
            message_begin(MSG_ONE, SayText, {0, 0, 0}, i)
            write_byte(id)
            write_string(typed)
            message_end()
        }
    }
    return PLUGIN_CONTINUE
}

public Hook_SayTeam(id)
{
    new typed[192], szName[32]
    get_user_name(id, szName, charsmax(szName))
    get_time("%H:%M:%S", g_buffer, charsmax(g_buffer))
    
    new szAlive = is_user_alive(id)
    
    new szTeam = get_user_team(id)
    
    read_args(typed, charsmax(typed))
    remove_quotes(typed)
    
    trim(typed)
    
    if(get_user_flags(id) & VIPFLAG)
    {
        szAlive ? format(typed, charsmax(typed), "^3(%s) ^1[^4%s^1] ^4[%s]^3 %s: ^4%s",szTeams[szTeam],  g_buffer, szVipPrefix, szName, typed) : format(typed, charsmax(typed), "^1*DEAD* ^3(%s) ^1[^4%s^1] ^4[%s]^3 %s: ^4%s",szTeams[szTeam],  g_buffer, szVipPrefix, szName, typed)
    }
    else
    {
        szAlive ? format(typed, charsmax(typed), "^3(%s) ^1[^4%s^1]^3 %s: ^1%s",szTeams[szTeam], g_buffer, szName, typed) : format(typed, charsmax(typed), "^1*DEAD* ^3(%s) ^1[^4%s^1]^3 %s: ^1%s",szTeams[szTeam], g_buffer, szName, typed)
    }
    
    for(new i = 1; i <= MaxPlayers; i++) 
    {
        if(!is_user_connected(i)) 
        {
            continue
        } 
        if(szAlive && is_user_alive(i) || !szAlive && !is_user_alive(i))
        {
            message_begin(MSG_ONE, SayText, {0, 0, 0}, i)
            write_byte(id)
            write_string(typed)
            message_end()
        }
    }
    return PLUGIN_CONTINUE
}
Всичко съм тествал и работи.Добавих и *DEAD* , когато играчът е умрял.Ако искаш да правиш бъдещи промени, можеш да се улесниш като добавиш създаването на съобщението -

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

for(new i = 1; i <= MaxPlayers; i++) 
    {
        if(!is_user_connected(i)) 
        {
            continue
        } 
        if(szAlive && is_user_alive(i) || !szAlive && !is_user_alive(i))
        {
            message_begin(MSG_ONE, SayText, {0, 0, 0}, i)
            write_byte(id)
            write_string(typed)
            message_end()
        }
    } 
в stock и просто да го ползваш вместо да пишеш цялото това отново. ;)

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

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

Кой е на линия

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