shape1
shape2
shape3
shape4
shape7
shape8

/dellblack, /addblack.


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

MADDD

Освоившийся
Пользователь
02.03.2015
181
25
0
27
Представляю вашему вниманию команду на Общий Черный Список "ОЧС". Эта команда подойдет для RP, RPG проектов. Суть её в том что если игрок хочет покинуть фракцию не по правилам, либо не заплатив за исп.Срок. При занесении игрока в ОЧС он не может никуда вступить, также на моем проекте игрок состоящий в ОЧС не мог писать в /o чат.

1. Добавляем ко всем дефайнам:

#define NetotID SendClientMessage(playerid,COLOR_GRAD2, "Неверый ID игрока.")
#define NoPlayerConnect SendClientMessage(playerid,COLOR_GRAD2, "Этот игрок не подключен к серверу.")

2. Добавляем к pInfo, и добавляем к сохранению/и коннекте:

pOchs,

3. Добавляем проверку на то что состоит игрок в ОЧС или нет на команду /invite.

if(PlayerInfo[giveplayerid][pOchs] == 1) return SendClientMessage(playerid, COLOR_GRAD2, "Игрок в ОЧС.");

4. Сама команда на добавление игрока в ОЧС.

if(strcmp(cmd, "/addblack", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "Ты не можешь использовать эту команду.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /addblack [ID/Ник]");
giveplayerid = ReturnUser(tmp);
if(!IsPlayerConnected(giveplayerid)) return NoPlayerConnect;
if(giveplayerid == INVALID_PLAYER_ID) return NetotID;
if(PlayerInfo[giveplayerid][pOchs] == 1) return SendClientMessage(playerid, COLOR_GRAD2, "Этот игрок уже в Чёрном Списке Сервера.");
new arank[34];
switch(PlayerInfo[playerid][pAdmin])
{
case 6: arank = "Гл.Администратор";
case 5: arank = "Гл.Модератор";
case 1..4: arank = "Модератор";
}
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
PlayerInfo[giveplayerid][pOchs] = 1;
format(string, sizeof(string), "Ты добавил %s в Чёрный Список Сервера.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Тебя добавили в Общий Черный Список сервера. (Добавил %s %s).", arank,sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
return 1;
}

5. Удаление игрока с ОЧС.

if(strcmp(cmd, "/dellblack", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "Ты не можешь использовать эту команду.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /dellblack [ID/Ник]");
giveplayerid = ReturnUser(tmp);
if(!IsPlayerConnected(giveplayerid)) return NoPlayerConnect;
if(giveplayerid == INVALID_PLAYER_ID) return NetotID;
if(PlayerInfo[giveplayerid][pOchs] == 0) return SendClientMessage(playerid, COLOR_GRAD2, "Этот игрок не в чёрном списке сервера.");
new arank[34];
switch(PlayerInfo[playerid][pAdmin])
{
case 6: arank = "Гл.Администратор";
case 5: arank = "Гл.Модератор";
case 1..4: arank = "Модератор";
}
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
format(string, sizeof(string), "Ты удалил %s с Чёрного Списка Сервера.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Тебя удалили с Общего Чёрного Списка сервера. (Удалил %s %s).", arank,sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pOchs] = 0;
return 1;
}
Данные строчки можете вырезать и вставить 1 раз в чало паблика OnPlayerCommandText и использовать их больше не придеться. Просто вставил их для вас так не у всех мод с New,pwn.

Код:
    GetPlayerName(playerid,sendername,sizeof(sendername));
    GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer)); 
Автор: MADDD
 
Последнее редактирование модератором:

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 512
3
550
0
29
definehost.ru
Скриптер
Как же сохранение?

 

Sten

Unknown
Пользователь
08.05.2014
830
77
0
А тема разве для этого раздела? Ей место в "Готовые решения".

 

MADDD

Освоившийся
Пользователь
02.03.2015
181
25
0
27
А тема разве для этого раздела? Ей место в "Готовые решения".
По сути все команды расписанные с установкой можно перенести в готовые решения. Тут же суть в /addblack и /dellblack.

 

Sten

Unknown
Пользователь
08.05.2014
830
77
0
По сути все команды расписанные с установкой можно перенести в готовые решения. Тут же суть в /addblack и /dellblack.
Мне казалось отличие от "Команды" и "Готовым решением" можно легко отличить...

 

MADDD

Освоившийся
Пользователь
02.03.2015
181
25
0
27
Мне казалось отличие от "Команды" и "Готовым решением" можно легко отличить...
Вот это готовое решение. а то что я выложил- Это команда с подробной установкой, чтоб потом не писали- " Почему ошибка pOchs и т.д".

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