Вопросы

React разработчик

Команда:

 

Спойлер

CMD:kick(playerid,params[])
{
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WHITE,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WHITE,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_ADMLVL] < 2) return true;
	if(sscanf(params,"us[100]",params[0],params[1])) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /kick [ид] [причина]");
	if(!IsPlayerConnected(params[0]))return  SendClientMessage(playerid,COLOR_WHITE,"Данного ID нет на сервере!");
    //if(playerid == params[0]) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя применить на себе!");
    if(PLAYER_DATA[params[0]][data_ADMLVL] > PLAYER_DATA[playerid][data_ADMLVL]) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя применить к старшей администрации!");
    for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(!IsPlayerConnected(i)) continue;
		if(GetPVarInt(i,"gPlayerAaction") == 0)
	    {
	        new string[145];
			format(string, sizeof(string), "Администратор %s кикнул %s. Причина: %s",PLAYER_DATA[playerid][data_NAME],PLAYER_DATA[params[0]][data_NAME],params[1]);
			SendClientMessage(i,COLOR_BLUE,string);
		}
	}
	ShowPlayerDialog(playerid, dialog_OK, DIALOG_STYLE_MSGBOX, "{00BFFF}Уведомление", "{FFFFFF}Вы были {00BFFF}кикнуты {FFFFFF}по решению администрации.\nЕсли произошла ошибка вы можете написать в тех. поддержку\nГруппа: {00BFFF}vk.com/revin.helps", "Выход", "");
	{
		Kick(params[0]);
	}
	return true;
}

 

При кике игроку должен будет вылезать диалог

Поделиться сообщением


Ссылка на сообщение

12 ответов на этот вопрос

  • 0
Гуру форума
2 минуты назад, Remmi_Feed сказал:

Команда:

 

  команда (закрыть спойлер)


CMD:kick(playerid,params[])
{
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WHITE,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WHITE,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_ADMLVL] < 2) return true;
	if(sscanf(params,"us[100]",params[0],params[1])) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /kick [ид] [причина]");
	if(!IsPlayerConnected(params[0]))return  SendClientMessage(playerid,COLOR_WHITE,"Данного ID нет на сервере!");
    //if(playerid == params[0]) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя применить на себе!");
    if(PLAYER_DATA[params[0]][data_ADMLVL] > PLAYER_DATA[playerid][data_ADMLVL]) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя применить к старшей администрации!");
    for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(!IsPlayerConnected(i)) continue;
		if(GetPVarInt(i,"gPlayerAaction") == 0)
	    {
	        new string[145];
			format(string, sizeof(string), "Администратор %s кикнул %s. Причина: %s",PLAYER_DATA[playerid][data_NAME],PLAYER_DATA[params[0]][data_NAME],params[1]);
			SendClientMessage(i,COLOR_BLUE,string);
		}
	}
	ShowPlayerDialog(playerid, dialog_OK, DIALOG_STYLE_MSGBOX, "{00BFFF}Уведомление", "{FFFFFF}Вы были {00BFFF}кикнуты {FFFFFF}по решению администрации.\nЕсли произошла ошибка вы можете написать в тех. поддержку\nГруппа: {00BFFF}vk.com/revin.helps", "Выход", "");
	{
		Kick(params[0]);
	}
	return true;
}

 

При кике игроку должен будет вылезать диалог

Пробуй так:

Спойлер

CMD:kick(playerid,params[])
{
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WHITE,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WHITE,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_ADMLVL] < 2) return true;
    if(sscanf(params,"us[100]",params[0],params[1])) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /kick [ид] [причина]");
    if(!IsPlayerConnected(params[0]))return  SendClientMessage(playerid,COLOR_WHITE,"Данного ID нет на сервере!");
    //if(playerid == params[0]) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя применить на себе!");
    if(PLAYER_DATA[params[0]][data_ADMLVL] > PLAYER_DATA[playerid][data_ADMLVL]) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя применить к старшей администрации!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        if(GetPVarInt(i,"gPlayerAaction") == 0)
        {
            new string[145];
            format(string, sizeof(string), "Администратор %s кикнул %s. Причина: %s",PLAYER_DATA[playerid][data_NAME],PLAYER_DATA[params[0]][data_NAME],params[1]);
            SendClientMessage(i,COLOR_BLUE,string);
            ShowPlayerDialog(params[0], dialog_OK, DIALOG_STYLE_MSGBOX, "{00BFFF}Уведомление", "{FFFFFF}Вы были {00BFFF}кикнуты {FFFFFF}по решению администрации.\nЕсли произошла ошибка вы можете написать в тех. поддержку\nГруппа: {00BFFF}vk.com/revin.helps", "Выход", "");
            Kick(params[0]);
        }
    }
    return true;
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Гуру форума
10 минут назад, Remmi_Feed сказал:

@Покемон все равно не вылезает

Пишет вообще что администратор кикнул ? 
И ещё вопрос зачем вот это ? 
if(GetPVarInt(i,"gPlayerAaction") == 0)

Поделиться сообщением


Ссылка на сообщение
  • 0
Гуру форума
2 минуты назад, Remmi_Feed сказал:

@Покемон просто пишет "Сервер закрыл соединение".

По пробуй так:
 

Спойлер

CMD:kick(playerid,params[])
{
    new string[145];
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WHITE,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WHITE,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_ADMLVL] < 2) return true;
    if(sscanf(params,"us[100]",params[0],params[1])) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /kick [ид] [причина]");
    if(!IsPlayerConnected(params[0]))return  SendClientMessage(playerid,COLOR_WHITE,"Данного ID нет на сервере!");
    //if(playerid == params[0]) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя применить на себе!");
    if(PLAYER_DATA[params[0]][data_ADMLVL] > PLAYER_DATA[playerid][data_ADMLVL]) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя применить к старшей администрации!");
    format(string, sizeof(string), "Администратор %s кикнул %s. Причина: %s",PLAYER_DATA[playerid][data_NAME],PLAYER_DATA[params[0]][data_NAME],params[1]);
    SendClientMessageToAll(COLOR_BLUE,string);
    ShowPlayerDialog(params[0], dialog_OK, DIALOG_STYLE_MSGBOX, "{00BFFF}Уведомление", "{FFFFFF}Вы были {00BFFF}кикнуты {FFFFFF}по решению администрации.\nЕсли произошла ошибка вы можете написать в тех. поддержку\nГруппа: {00BFFF}vk.com/revin.helps", "Выход", "");
    Kick(params[0]);
    return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Гуру форума
3 минуты назад, Remmi_Feed сказал:

@Покемон к сожалению нет

Странно почему жее не чего не пишет . .... 

 По пробуй string сделать больше 

Отредактировано пользователем Покемон

Поделиться сообщением


Ссылка на сообщение
  • 0
Великий Гуру

Хакай функцию kick и делай вызов ей через 1-2 сек что-бы вся инфа успела вывестися

Поделиться сообщением


Ссылка на сообщение
  • 0
Новичок

Не успевает вылезти диалог,а ты сервер кикает. Выше тебе написали как
Если не можешь посмотри на других модах реализацию 

Поделиться сообщением


Ссылка на сообщение
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От DonK/Key
      Всем привет, помогите кто разбирается, так как я можно сказать начинающий сделать свой КРМП, буду благодарен. Напишите либо тут либо @evreI_sigma (Мой Telegram)