Админ Меню
|
|
TheReal
|
Дата: Суббота, 28.12.2013, 17:52:40 | Сообщение # 1 |
|
Сообщений: 72
Репутация: 4 [ +/- ]
|
|
Здравствуйте, Помогите сделать плагин у кого нет админки чтобы вылизала меню как на картинке
Гости не могут скачивать файлы
|
Сообщение отредактировал TheReal - Суббота, 28.12.2013, 17:53:05 |
|
| |
BeatMaker_R1KO_
|
Дата: Суббота, 28.12.2013, 18:02:13 | Сообщение # 2 |
|
Сообщений: 60
Репутация: 0 [ +/- ]
|
|
Цитата TheReal ( ) Здравствуйте, Помогите сделать плагин у кого нет админки чтобы вылизала меню как на картинке
Код #include <sourcemod>
#define CONTACTS "Skype: blabla | vk: blabla" #define CASH "300 рублей 5 копеек"
new Handle:hPanel = INVALID_HANDLE;
new bool:IsClientAdmin[MAXPLAYERS + 1] = {false, ...};
public OnPluginStart() { AddCommandListener(ACL_Admin, "sm_admin");
hPanel = CreatePanel(); SetPanelTitle(hPanel, "У вас нет доступа к правам администратора");
decl String:buffer[256]; Format(buffer, sizeof(buffer), "Контакты: %s\nСтоимость: %s", CONTACTS, CASH); DrawPanelText(hPanel, buffer);
OnRebuildAdminCache(AdminCache_Overrides); }
public OnRebuildAdminCache(AdminCachePart:part) { for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { OnClientPostAdminCheck(i); } } } public OnClientPostAdminCheck(client) { if (!IsFakeClient(client)) { IsClientAdmin[client] = GetUserAdmin(client) != INVALID_ADMIN_ID ? true : false; } }
public Action:ACL_Admin(client, const String:command[], args) { if (client > 0) { if (!IsClientAdmin[client]) { SendPanelToClient(hPanel, client, PanelHandler, 30); } } }
public PanelHandler(Handle:panel, MenuAction:action, param1, param2) { // Panel Handler... }
Сообщение отредактировал BeatMaker_R1KO_ - Суббота, 28.12.2013, 20:44:13 |
|
| |
TheReal
|
Дата: Суббота, 28.12.2013, 18:14:14 | Сообщение # 3 |
|
Сообщений: 72
Репутация: 4 [ +/- ]
|
|
не чего не появилось
|
|
| |
BeatMaker_R1KO_
|
Дата: Суббота, 28.12.2013, 20:44:51 | Сообщение # 4 |
|
Сообщений: 60
Репутация: 0 [ +/- ]
|
|
Мдя... Исправил код, пробуй.
|
|
| |
«SeReGa»☆
|
Дата: Суббота, 28.12.2013, 21:21:24 | Сообщение # 5 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
что значит 30???
|
|
| |
BeatMaker_R1KO_
|
Дата: Суббота, 28.12.2013, 21:53:46 | Сообщение # 6 |
|
Сообщений: 60
Репутация: 0 [ +/- ]
|
|
Цитата «SeReGa»☆ ( ) что значит 30???
Если ты об этом: Код SendPanelToClient(hPanel, client, PanelHandler, 30);
то это - время, через которое меню закроется.
|
|
| |
«SeReGa»☆
|
Дата: Суббота, 28.12.2013, 23:46:25 | Сообщение # 7 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
XD ХОроша идея))
Код #include <sourcemod>
new bool:IsClientAdmin[MAXPLAYERS + 1] = {false, ...};
public OnPluginStart() { AddCommandListener(Admin, "sm_admin"); OnRebuildAdminCache(AdminCache_Overrides); }
public OnRebuildAdminCache(AdminCachePart:part) { for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i)) { OnClientPostAdminCheck(i); } } }
public OnClientPostAdminCheck(client) { if (!IsFakeClient(client)) { IsClientAdmin[client] = GetUserAdmin(client) != INVALID_ADMIN_ID ? true : false; } }
public Action:Admin(client, const String:command[], args) { if (client > 0) { if (!IsClientAdmin[client]) { ShowMyPanel(client); } } }
ShowMyPanel(client) { new Handle:panel = CreatePanel(); SetPanelTitle(panel, "Животные:\n \n"); DrawPanelItem(panel, "Кот");
..И ничего лишнего..
Сообщение отредактировал «SeReGa»☆ - Воскресенье, 29.12.2013, 02:05:48 |
|
| |
BeatMaker_R1KO_
|
Дата: Суббота, 28.12.2013, 23:55:59 | Сообщение # 8 |
|
Сообщений: 60
Репутация: 0 [ +/- ]
|
|
«SeReGa»☆, не очень оптимально
|
|
| |
«SeReGa»☆
|
Дата: Воскресенье, 29.12.2013, 01:08:23 | Сообщение # 9 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
BeatMaker_R1KO_ет просто пример для те кто не понял))
|
|
| |