Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Show Motd

, for player
Статус пользователя HLrate
сообщение 16.10.2011, 11:59
Сообщение #1
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

Помогите, ребят, написать плагин. Описание: показывать выбранному игроку motd-окно(не дефолтное а любое другое, из той же -dir) при команде, например, amx_openw. Я пытался сам, но ибо знания Pawn близки к нулю- не получилось.

Вот до чего я дошел:

Show motd

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Show Motd"
#define VERSION "1.1"
#define AUTHOR "c-s.net.ua"


public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("amx_openw", "Say_Show",0,"- Shows the MOTD.")
}

public Say_Show(id)
{
if (get_user_flags(id) & ADMIN_BAN) // если у админа есть флаг ADMIN_BAN
Display_motd(id)

return PLUGIN_HANDLED
}

public Display_motd(id)
{
if (!is_user_alive(id)) // если мертвый игрок
return PLUGIN_CONTINUE

show_motd(id,"oknomotd.txt","112")
return PLUGIN_CONTINUE
}


Проблемы следующие: показывает окно только, когда игрок жив(ну оно и видно), нельзя показать конкретному игроку. Только если игрок с данным флагом пропишет данную команду- она ему же и выведется.

Отредактировал: HLrate, - 16.10.2011, 12:03
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя LaFA
сообщение 16.10.2011, 12:22
Сообщение #2


Стаж: 16 лет

Сообщений: 4505
Благодарностей: 3256
Полезность: 793

Цитата(HLrate @ 16.10.2011, 12:59) *
Помогите, ребят, написать плагин. Описание: показывать выбранному игроку motd-окно(не дефолтное а любое другое, из той же -dir) при команде, например, amx_openw. Я пытался сам, но ибо знания Pawn близки к нулю- не получилось.

Вот до чего я дошел:

Show motd

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Show Motd"
#define VERSION "1.1"
#define AUTHOR "c-s.net.ua"


public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("amx_openw", "Say_Show",0,"- Shows the MOTD.")
}

public Say_Show(id)
{
if (get_user_flags(id) & ADMIN_BAN) // если у админа есть флаг ADMIN_BAN
Display_motd(id)

return PLUGIN_HANDLED
}

public Display_motd(id)
{
if (!is_user_alive(id)) // если мертвый игрок
return PLUGIN_CONTINUE

show_motd(id,"oknomotd.txt","112")
return PLUGIN_CONTINUE
}


Проблемы следующие: показывает окно только, когда игрок жив(ну оно и видно), нельзя показать конкретному игроку. Только если игрок с данным флагом пропишет данную команду- она ему же и выведется.

у тебя в другой теме такие же запросы, если ты не заметил, я тебе уже подсказал в той теме что надо делать и куда обратить внимание.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 16.10.2011, 13:11
Сообщение #3
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

Обрати внимание, что тут я уже исправил то, что ты указал, но другого результата этого не принесло...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя LaFA
сообщение 16.10.2011, 14:13
Сообщение #4


Стаж: 16 лет

Сообщений: 4505
Благодарностей: 3256
Полезность: 793

Цитата(HLrate @ 16.10.2011, 14:11) *
Обрати внимание, что тут я уже исправил то, что ты указал, но другого результата этого не принесло...

я не вижу чтоб ты что-то исправлял.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 16.10.2011, 16:56
Сообщение #5
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

убрал пробел между оператором if и функцией, сейчас заметил лишний знак "!", теперь отображает и когда мертвый, но опять же только мне...

Отредактировал: HLrate, - 16.10.2011, 17:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Flash
сообщение 16.10.2011, 17:56
Сообщение #6
Стаж: 16 лет

Сообщений: 793
Благодарности: выкл.

как ты игрока собираешься "выбирать"?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 16.10.2011, 18:03
Сообщение #7
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

через clcmds, но для это нужно дописать плагин, прошу помощи!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Flash
сообщение 16.10.2011, 18:45
Сообщение #8
Стаж: 16 лет

Сообщений: 793
Благодарности: выкл.

HLrate,
т.е через консоль?
amx_openmtd "nick" ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 16.10.2011, 19:08
Сообщение #9
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

погуглить никак нельзя ето делаться через cmd_target
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 16.10.2011, 20:08
Сообщение #10
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

xxxFlasHxxx, да

cs-portal, спасибо, немного помог, попробую воткнуть

Отредактировал: HLrate, - 16.10.2011, 20:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 17.10.2011, 12:59
Сообщение #11
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

Мне все еще нужна помощь!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Flash
сообщение 17.10.2011, 18:26
Сообщение #12
Стаж: 16 лет

Сообщений: 793
Благодарности: выкл.

Попробуй, сам не проверял, писал сразу на форум.

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

public plugin_init()
{
    register_plugin( "Show motd", "0.1", "Flash" );
    
    register_clcmd( "amx_show_motd", "Func" );
}

public Func( id )
{
    if ( !( get_user_flags( id ) & ADMIN_IMMUNITY ) )
    {
        client_print( id, print_console, "* Не достаточно прав!" );
        return PLUGIN_HANDLED;
    }
    
    new sName[32];
    read_argv( 1, sName, charsmax( sName ) );
    
    new target = cmd_target( id, sName, 10 );
    
    if ( !target || is_user_hltv( target ) )
    {
        client_print( id, print_console, "* Игрок '%s' не найден, либо это HLTV/BOT", sName );
        return PLUGIN_HANDLED;
    }
    
    show_motd( target, "mymotd.txt", "My title" );
    

    return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 18.10.2011, 16:39
Сообщение #13
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

Спасибо большое.

Иммунитет не получается отключить, то есть задать по флагу его...А в остальном все отлично
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 18.10.2011, 18:06
Сообщение #14
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

Разобрался. Благодарю еще раз
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 18.10.2011, 18:19
Сообщение #15


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(HLrate @ 18.10.2011, 19:06) *
Разобрался. Благодарю еще раз

Выложи готовый исходник с описанием кратким... а то вдруг опять вопрос у кого такой станет...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 18.10.2011, 20:41
Сообщение #16
Стаж: 14 лет

Сообщений: 15
Благодарностей: 3
Полезность: 0

да там я не правил практически ничего, просто сам plmenu написан так, что иммунитет по другим флагам, поэтому через него нельзя. Я например просто забиндил(имеется ввиду показ админам)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: