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

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

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

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

Дописать плагин Рестарт

Статус пользователя Orty_Hart
сообщение 18.1.2012, 14:59
Сообщение #1
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Помогите дописать плагин, который я сам написал....
Вообщем мне нужно сделать переменную, которая проверялаб, что если у Админа есть флаг ADMIN_LEVEL_C, то он может вызвать функцию restart_round, если нету, не может....

вот если я через меню, вызываю функцию restart_round,
её можно ещё как-то вызвать, кроме как меню?? (если будет такой-же скрипт как ниже)

скрипт плагина
Код
#include <amxmod>
#include <amxmisc>

public plugin_init()
{
    register_plugin("Restart round", "1.5", "Author")

    register_concmd("amx_restart", "restart_round", ADMIN_LEVEL_C)
}

public restart_round()
{
    server_cmd("sv_restartround 1")
    return PLUGIN_CONTINUE
}


В меню
Код
    AddMenuLang("MENU_RESTART", "amx_restart", get_clcmd_flags("amx_restart", flags) ? flags : ADMIN_LEVEL_С, "Restart Raund")


и
#include <amxmod>
#include <amxmisc>


лишние или нет??
или что из них лишнее?

Отредактировал: Orty_Hart, - 18.1.2012, 15:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
noskill
сообщение 18.1.2012, 15:15
Сообщение #2
Стаж: 14 лет

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

не restart_round, а amx_restart в консоле

amxmisc лишнее
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 18.1.2012, 15:28
Сообщение #3
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

csnetua,
почему у меня прикомпиляцие, выдает ошибку в строке 8

Строка 8: register_concmd("amx_restart", "restart_round", ADMIN_LEVEL_C)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
noskill
сообщение 18.1.2012, 15:32
Сообщение #4
Стаж: 14 лет

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

Цитата
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

Header size: 336 bytes
Code size: 224 bytes
Data size: 284 bytes
Stack/heap size: 16384 bytes; estimated max. usage=168 cells (672 bytes)
Total requirements: 17228 bytes
Done.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 18.1.2012, 15:36
Сообщение #5
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

И можете написать переменную, если у Админа есть флаг о (ADMIN_LEVEL_C)

то он может делать рестарт, если нету - нельзя.
Ито у меня в меню - нельзя делать, а если команду amx_restart в консоль, то рестарт - делается...

Вот ошибка:
[attachment=15673:333331.PNG]
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
noskill
сообщение 18.1.2012, 15:46
Сообщение #6
Стаж: 14 лет

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

Цитата(Orty_Hart @ 18.1.2012, 15:36) *
И можете написать переменную, если у Админа есть флаг о (ADMIN_LEVEL_C)

то он может делать рестарт, если нету - нельзя.
Ито у меня в меню - нельзя делать, а если команду amx_restart в консоль, то рестарт - делается...

Вот ошибка:
[attachment=15673:333331.PNG]

это не ошибка, а предупреждение)


Код
#include <amxmod>


public plugin_init()
{
    register_plugin("Restart round", "1.5", "Author")

    register_concmd("amx_restart", "restart_round", ADMIN_LEVEL_C)
}

public restart_round()
{
if (get_user_flags(id) & ADMIN_LEVEL_С)
{
    server_cmd("sv_restartround 1")
    return PLUGIN_CONTINUE
}
}


вроде так
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 18.1.2012, 15:47
Сообщение #7
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

csnetua,
а как исправить???

спасибо))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
noskill
сообщение 18.1.2012, 15:50
Сообщение #8
Стаж: 14 лет

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

Цитата(Orty_Hart @ 18.1.2012, 15:47) *
csnetua,
а как исправить???

спасибо))

не обращай внимание, это не критично
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 18.1.2012, 15:56
Сообщение #9
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

То просто нужно.
как?

и ваш метод - не работает.
много ошибок....

вот

скрипт
Цитата
#include <amxmod>

new sName[32];

public plugin_init()
{
register_plugin("Restart Raund", "1.5", "Author")

register_concmd("amx_restar", "restart_round", ADMIN_LEVEL_C)
}

public restart_round(id)
{
get_user_name(id, sName, 32);

if (get_user_flags(id) & ADMIN_LEVEL_C)
{
server_cmd("sv_restartround 1")
}

return PLUGIN_CONTINUE
}


Ошибки в выделанных строчках. (те о которых я говорю "предупреждение")

Отредактировал: Orty_Hart, - 18.1.2012, 15:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 18.1.2012, 16:23
Сообщение #10


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Код
#include <amxmod>

public plugin_init()
{
    register_plugin("Restart round", "1.5", "Author")

    register_concmd("amx_restart", "restart_round")
}

public restart_round(id)
{
    if (get_user_flags(id) != ADMIN_LEVEL_C)
    {
        server_cmd("sv_restartround 1")
    }
    return PLUGIN_CONTINUE
}


А это:

Код
get_user_name(id, sName, 32);

зачем? Если ничего с этим не делаешь?

Отредактировал: Rejiser, - 18.1.2012, 16:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 18.1.2012, 16:47
Сообщение #11
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Rejiser,
чуток не так))

Цитата
public restart_round(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_C)
{
server_cmd("sv_restartround 1")
}
return PLUGIN_CONTINUE
}


а как можно дописать, чтоб когда вызывался restart_round, то выпадало новое меню, типо:
Вы действительно хотите создать рестарт?
1. Да
2. Нет

да - делает рестарт
нет - возвращает в меню.

Отредактировал: Orty_Hart, - 18.1.2012, 16:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
noskill
сообщение 18.1.2012, 16:56
Сообщение #12
Стаж: 14 лет

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

ой точно, сорри, тупо скопипастил:D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 18.1.2012, 18:40
Сообщение #13
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Удалить.

Отредактировал: Orty_Hart, - 19.1.2012, 19:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 19.1.2012, 11:20
Сообщение #14
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Удалить.

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

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Всё, все проблемы решил...
Тему офф.
и удалите мои сообщения, чтоб не было флуда))
Спасибо.

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