Вопросы

DreamHarakiri
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
LilPokemon
Гуру форума
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
LilPokemon
Гуру форума
10 минут назад, Remmi_Feed сказал:

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

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

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


Ссылка на сообщение
  • 0
LilPokemon
Гуру форума
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
LilPokemon
Гуру форума
3 минуты назад, Remmi_Feed сказал:

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

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

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

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

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


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

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

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


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

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

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


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

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

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

    • Helados
      От Helados
      Короче, мы протестировали наш GTA на другом хостинге — голосовой чат там работает, всё включается нормально. Также проверили на другом хостинге с нашим игровым модом — voice chat тоже работает.
      Но на нашем личном хостинге, который мы купили на OVH и установили панель, не получается запустить голосовой чат. Похоже, проблема связана с портами. После перезапуска сервер почему-то случайным образом выбирает порты сам и мы не можем это исправить.
      Если кто-то знает человека, который может помочь разобраться с этой проблемой, буду благодарен.