shape1
shape2
shape3
shape4
shape7
shape8

Выход администратора на дежурство

Статус
Закрыто для дальнейших ответов.

Moks

Учитель русского языка
Пользователь
28.02.2014
539
7
82
0
Ну, для чего это нужно. К примеру, один игрок взломал аккаунт администратора сервера и хочет, например, перебанить всех игроков сервера. На команде бана стоит проверка на дежурство администратора, а выходить на дежурство необходимо по паролю. Соответственно, игрок, не знаю пароля, не сможет осуществить свою мечту. Итак, начнем:

Ко всем массивам:

new bool:aduty[MAX_PLAYERS];//Проверка, true-админ на дежурстве, false-нетВ public OnPlayerConnect
Код:
aduty[playerid] = false; 
В public OnPlayerCommandText:
Код:
if (strcmp("/aduty", cmdtext, true) == 0) 
{
if(aduty[playerid] == true)
 {
aduty[playerid] = false;
SendClientMessage(playerid, 0xFFFF00AA, "Вы ушли с дежурства!");
SetPlayerColor(playerid, playercolor[playerid]);
}
 else 
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "Вы не администратор!");//Проверку ставить свою, тут проверка на RCON!!!
ShowPlayerDialog(playerid, 9988, DIALOG_STYLE_INPUT, "Введите пароль","Введите пароль для выхода на дежурство","ОК","Отмена");
}
return true;
}
И напоследок, в OnDialogResponse
Код:
if(dialogid == 9988)
{
if(response) //Если была нажата 1 кнопка
{
if(!strlen(inputtext)) //Если в поле не был введен текст при отправке
{
SendClientMessage(playerid,0xFFFF00AA,"Пароль не был написан!");
return 1;
}
else
{
new adminpass[64] = "1111";
if(strcmp(inputtext, adminpass, false) == 0) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new message[55];
format(message, sizeof(message), "Администратор %s вышел на дежурство!", name);
SendClientMessageToAll(0xFF6347AA, message);
SetPlayerColor(playerid, 0xFF6347AA);
GivePlayerWeapon(playerid, 30, 1000);//ak47
aduty[playerid] = true;
}
else 
{
SendClientMessage(playerid, 0xFFFF00AA, "Пароль не верный!");
Kick(playerid);
}
}
}
}
На этом все...
Теперь о том, что можно изменить:

1. Главное - пароль. Его можно изменить в строке:

new adminpass[64] = "1111";
Цифры "1111" меняем на свой пароль. (Буквы могут присутствовать!)2. Можете поменять выдачу оружия или вообще убрать ее. Строка:

GivePlayerWeapon(playerid, 30, 1000);//ak473. Проверка на администратора. В моем случае проверка на RCON администратора. Вы же изменяете под себя...
Код:
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "Вы не администратор!");//Проверку ставить свою, тут проверка на RCON!!!
4. Можете изменить текст, цвета, можете поставить цветовые модификаторы
Чтобы проверить, на дежурстве ли администратор, достаточно приписать проверку:

Код:
if(aduty[playerid] == false) return SendClientMessage(playerid, -1, "Вы не на дежурстве!");
На этом все...
 
Последнее редактирование модератором:

Maxim

Освоившийся
Пользователь
24.01.2014
60
29
0
28
спасиб, пригодится  :D83DDE0F:

 

meteor23

Новичок
Пользователь
21.07.2014
3
0
0
Подскажите пожалуйста,как сделать надпись над головой Администратор на дежурстве.Заранее спасибо!

 

EgorNovikov

Новичок
Пользователь
14.02.2014
75
3
0
Подскажите пожалуйста,как сделать надпись над головой Администратор на дежурстве.Заранее спасибо!
Код:
new Text3D:Admin[MAX_PLAYER];

Admin[playerid] = Create3DTextLabel("Тут свой текст", 0x000000FF, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(Admin[playerid], playerid, 0.0, 0.0, 0.7);
 
Последнее редактирование модератором:

egorik105

Новичок
Пользователь
03.07.2014
323
12
0
C:\Users\admin\Desktop\2.pwn(44553) : error 017: undefined symbol "dialogid"
C:\Users\admin\Desktop\2.pwn(44555) : error 017: undefined symbol "response"
C:\Users\admin\Desktop\2.pwn(44557) : error 017: undefined symbol "inputtext"
C:\Users\admin\Desktop\2.pwn(44565) : error 017: undefined symbol "inputtext"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
4 Errors.
 
такие ошибки что делать ?
 

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 512
3
550
0
29
framehost.ru
Скриптер
C:\Users\admin\Desktop\2.pwn(44553) : error 017: undefined symbol "dialogid"
C:\Users\admin\Desktop\2.pwn(44555) : error 017: undefined symbol "response"
C:\Users\admin\Desktop\2.pwn(44557) : error 017: undefined symbol "inputtext"
C:\Users\admin\Desktop\2.pwn(44565) : error 017: undefined symbol "inputtext"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
4 Errors.
 
такие ошибки что делать ?
Код нужно было вставлять в public OnDialogResponse

 

Nester

Освоившийся
Пользователь
29.09.2014
324
21
0
26
Игрок
Думаю кому нибудь пригодится.

 

Grahc

Новичок
Пользователь
30.03.2015
149
1
0
C:\Users\\Desktop\simple2\gamemodes\new.pwn(207) : warning 219: local variable "newstate" shadows a variable at a preceding level
C:\Users\\Desktop\simple2\gamemodes\new.pwn(217) : warning 217: loose indentation
C:\Users\\Desktop\simple2\gamemodes\new.pwn(224) : warning 217: loose indentation
C:\Users\\Desktop\simple2\gamemodes\new.pwn(260) : warning 217: loose indentation
C:\Users\\Desktop\simple2\gamemodes\new.pwn(266) : error 017: undefined symbol "playercolor"
C:\Users\\Desktop\simple2\gamemodes\new.pwn(266) : warning 215: expression has no effect
C:\Users\\Desktop\simple2\gamemodes\new.pwn(266) : error 001: expected token: ";", but found "]"
C:\Users\\Desktop\simple2\gamemodes\new.pwn(266) : error 029: invalid expression, assumed zero
C:\Users\\Desktop\simple2\gamemodes\new.pwn(266) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


вот эта строчка SetPlayerColor(playerid, playercolor[playerid]);

и еще я не могу выйти на дежурства, пишет вы не администратор хотя лвл админки есть
 
A

Amfy

Гость
Гость
Grahc, убери эту функцию или замени playercolor[playerid] на цвет.

 

alisa2kros

Новичок
Пользователь
15.03.2015
133
5
0
Нужна помощь На Моде Gamerе С админкой (Пороль) пишет что неверный пороль повторите попытку что делать?

 
Статус
Закрыто для дальнейших ответов.