Поиск Нужен рабочий , простенький плагин для смены ника игроку в игре CS 1.6

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
552
Реакции
49
Предупреждения
2
Помог
4 раз(а)
NEXT1M, так а ошибка какая? гадать никто не будет
22 Окт 2022
NEXT1M, посмотрел сам, там 26 ошибок (ого)
22 Окт 2022
Fiji, от тебя столько же 26 ошибок
 
Последнее редактирование:
Сообщения
94
Реакции
11
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Artemich, на 190 нет ошибок никаких
Компилировало без ошибок, проверял компиляцию только

после 80 строчки добавил следующие:
return PLUGIN_HANDLED

И после 130 строки нужно было закрыть скобку
 
Последнее редактирование:
  • Нравится
Реакции: Murz
Сообщения
552
Реакции
49
Предупреждения
2
Помог
4 раз(а)
Fiji, ну, я там же компилил
22 Окт 2022
хотя, может быть у меня то ли инклюди бракованы, то ли компилятор такой
 
Сообщения
144
Реакции
8
@Fiji,забрал , спасибо . пойду пробивать .
 
Сообщения
678
Реакции
56
Помог
16 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Artemich, "компилировал там же"... компилируют все и вся, уже давным давно только лишь локальными компиляторами, желательно последних версий, а также обязательно иметь последние версии зависиммых от плагинов тех инклудников, которые необходимы, те же плагины с использованием reapi и прочим... Заюзать амх 1.10.0 последней версии, а также последние инклудники с reapi, то возможно и будут ошибки в плагинах с их использованием, но опять таки ошибка будет в плагине, где нужно будет поправить/изменить переменные, либо сделать что-то ещё, так как на старых версиях что-то уже не поддерживается, либо в новых версиях измененны константы и прочие моменты...
А так, почитай если интересно - https://dev-cs.ru/threads/246/
22 Окт 2022
NEXT1M, пробуй

Код:
#include <amxmodx>
#include <amxmisc>

new g_menuPosition[33]
new g_menuPlayers[33][32]
new g_menuPlayersNum[33]
new g_idPlayer[33]

public plugin_init()
{
    register_plugin("Admin Player Name", "1.5", "Sutar")
   
    register_clcmd("amx_namemenu", "cmdNameMenu")
    register_clcmd("plname", "cmdNameChange")
   
    register_menucmd(register_menuid("Player Name Menu"), 1023, "actionPlayerNameMenu")
}

public cmdNameMenu(id)
{
    if(!(get_user_flags(id) & ADMIN_SLAY))
    {
        client_print(id, print_chat, "* Команда доступна только для Админов!")
        return PLUGIN_HANDLED
    }
   
    displayNameMenu(id, g_menuPosition[id] = 0)
    return PLUGIN_HANDLED
}

public displayNameMenu(id, pos)
{
    if(pos < 0)
        return PLUGIN_HANDLED
   
    get_players(g_menuPlayers[id], g_menuPlayersNum[id])
   
    new menuBody[512]
    new b = 0
    new i
    new name[32]
    new start = pos * 8

    if(start >= g_menuPlayersNum[id])
        start = pos = g_menuPosition[id] = 0

    new len = format(menuBody, 511, "\yМеню смены ника игрока\Rст. %d из %d\w^n^n", pos + 1, (g_menuPlayersNum[id] / 8 + ((g_menuPlayersNum[id] % 8) ? 1 : 0)))
    new end = start + 8
    new keys = MENU_KEY_0

    if(end > g_menuPlayersNum[id])
        end = g_menuPlayersNum[id]

    for(new a = start; a < end; a++)
    {
        i = g_menuPlayers[id][a]
        get_user_name(i, name, 31)
       
        if(get_user_flags(i) & ADMIN_IMMUNITY)
            len += format(menuBody[len], 511-len, "\d%d. %s *^n", ++b, name)
        else
        {
            keys |= (1<<b)
           
            if(is_user_admin(i))
                len += format(menuBody[len], 511-len, "%d. %s *^n", ++b, name)
            else
                len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)
        }
    }

    if(end != g_menuPlayersNum[id])
    {
        keys |= MENU_KEY_9
        format(menuBody[len], 511-len, "^n9. Дальше...^n0. %s", pos ? "Назад" : "Выход")
    }
    else
        format(menuBody[len], 511-len, "^n0. %s", pos ? "Назад" : "Выход")
    show_menu(id, keys, menuBody, -1, "Player Name Menu")

    return PLUGIN_HANDLED
}

public actionPlayerNameMenu(id, key)
{
    switch(key)
    {
        case 8: displayNameMenu(id, ++g_menuPosition[id])
        case 9: displayNameMenu(id, --g_menuPosition[id])
        default:
        {
            g_idPlayer[id] = g_menuPlayers[id][g_menuPosition[id] * 8 + key]
            client_cmd(id, "messagemode plname")
        }
    }
    return PLUGIN_HANDLED
}

public cmdNameChange(id)
{
    if(!(get_user_flags(id) & ADMIN_SLAY))
    {
        client_print(id, print_chat, "* Команда доступна только для Админов!")
        return PLUGIN_HANDLED
    }
   
    if(!g_idPlayer[id])
    {
        client_print(id, print_chat, "* Функцию необходимы использовать через меню.")
        return PLUGIN_HANDLED
    }
   
    new g_adminname[15], g_plname[32], g_plnewname[32]
   
    get_user_name(id, g_adminname, 31)
    get_user_name(g_idPlayer[id], g_plname, 31)
    read_argv(1, g_plnewname, 31)
   
    if(equal(g_plname, g_plnewname))
    {
        client_print(id, print_chat, "* Вам необходимо указать другой ник.")
        client_cmd(id, "messagemode plname")
        return PLUGIN_HANDLED
    }
   
    client_cmd(g_idPlayer[id], "name ^"%s^"", g_plnewname)
    g_idPlayer[id] = 0
   
    client_print(0, print_chat, "[Young] Администратор %s сменил ник игрока %s на %s", g_adminname, g_plname, g_plnewname)
    return PLUGIN_HANDLED
}
Даже если взять плагин из этого поста, то на последнем амх версии 1.10.0 он компилируется без каких-либо ошибок.
1666443915971.png
22 Окт 2022
Я его юзаю, во всяком случае в клиенте мое имя не менялось.

Так же юзаю set_user_info потому что иначе не получилось заблокировать смену никнейма на сервере, какие то личности все же умудрялись его менять с овер большим кол-вом раз, и В RG_CBasePlayer_SetClientUserInfoName & SetHookChainArg не помог.

С m_szNewName, m_bHasChangedName не игрался, первый раз их вижу
21 Окт 2022
bizon, утверждать не стану, но set_user_info вроде тоже ничего не меняет клиенту, он обновляет строку с инфой об клиенте, но как я понял, только на сервере, то есть что бы был реальный слоухакинг нужно менять путем client_cmd(id, "name 123")
Ну и как правильно сказал братан, то действительно, что использовать set_user_info будет куда гораздо логичнее и безопаснее чем что либо в плане того, что за это не дадут бан на каком-то мониторинге и прочего... Ибо ник меняется исключительно чисто ВИЗУАЛЬНО на самом сервере, без каких-либо вмешательств в клиент игроку, а поэтому в принципе что хотите уже и делайте без вреда клиенту.
Так что как то так...
 

Вложения

Сообщения
552
Реакции
49
Предупреждения
2
Помог
4 раз(а)
XyLiGaN, я локальным и компилил и всегда компилирую какбы)
 
Сообщения
678
Реакции
56
Помог
16 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Artemich, Не буду показывать пост/тему, где это было совсем недавно иначе, с использованием веб-компилятора с твоей стороны.
Да и в любом случае, нужно использовать всё актуальное как я и сказал выше.
 
Сообщения
552
Реакции
49
Предупреждения
2
Помог
4 раз(а)
XyLiGaN, ну использвоал давно веб, сейчас локальный.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу