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

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

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

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

> Информационная доска

Данный раздел предназначен для обсуждения, а также решения технических проблем связанных с серверной частью. Обсуждения касательно игровых клиентов ведутся здесь.

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

Show motd

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

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

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

Вот исходник подобного плагина:

say admin

#include <amxmodx>
#include <amxmisc>

public admin_motd(id,level,cid) {

if (!cmd_access(id,level,cid,1))
return PLUGIN_CONTINUE

show_motd(id,"oknomotd.txt","Мотд окно")
return PLUGIN_CONTINUE
}

public plugin_init() {

register_plugin("sayAdmin","1.1","Pa1n")
register_clcmd("amx_openw","admin_motd",0,"- Shows the MOTD.")
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя pike
сообщение 14.10.2011, 19:36
Сообщение #2


Стаж: 18 лет

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

Поковыряй
Код
#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("say /amx_openw", "Say_Show")
   register_clcmd("say_team /amx_openw", "Say_Show")
}

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)) // если мертвый игрок
   show_motd(id,"oknomotd.txt")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fox-CaH9
сообщение 14.10.2011, 20:54
Сообщение #3


Стаж: 14 лет

Сообщений: 74
Благодарностей: 28
Полезность: 116

pike, спасибо.

Отредактировал- взял себе
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 14.10.2011, 21:10
Сообщение #4
Стаж: 14 лет

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

спасибо конечно, но криво работает, поковырял, вот что у меня получилось:

My plugin

#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, - 15.10.2011, 12:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя LaFA
сообщение 15.10.2011, 1:01
Сообщение #5


Стаж: 16 лет

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

Цитата(HLrate @ 14.10.2011, 22:10) *
спасибо конечно, но криво работает, вот что у меня получилось:

My plugin (может догадаешься..)

#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
}


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

а как ты пытался кому-то показать?

Отредактировал: LaFA, - 15.10.2011, 1:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 15.10.2011, 11:58
Сообщение #6
Стаж: 14 лет

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

Ты прав, тупанул я. Показать пытался через clcmds...Нужно задать показ по id, помогите )))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HLrate
сообщение 15.10.2011, 20:20
Сообщение #7
Стаж: 14 лет

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

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