Вопросы

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 пользователей онлайн

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

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

    • Korochansky
      От Korochansky
      Я рад объявить о выпуске первой публичной версии современной IDE с открытым исходным кодом под лицензией GPLv3 для разработки open.mp и SA-MP, которая отличается интеграцией с SAMPCTL, управлением зависимостями и встроенной поддержкой Git.
       
      Особенности:
      • Разработано специально для open.mp и SA-MP разработки.
      • Встроенная интеграция с SAMPCTL для создания, запуска и управления проектами.
      • Менеджер зависимостей для удобной установки и обновления серверных пакетов и компонентов.
      • Встроенная поддержка Git с индикаторами состояния репозитория и историей коммитов.
      • Маркеры истории изменений для отслеживания измененных и сохраненных строк.
      • Автоматическое сопоставление и выделение скобок
      • Предварительный просмотр цвета для значений RGBA и HEX прямо в редакторе.
      • Интеграция инструмента выбора цвета для быстрой вставки цветов в код Pawn.
      • Режим 'Разделенный редактор кода' для одновременной работы с несколькими файлами.
      • Дерево проекта, оптимизированное для крупных проектов.
      • Интегрированные панели вывода результатов сборки и консоли сервера.
      • Автоматический мониторинг и обновление файлов проектов.
      • Портативная версия (установка не требуется).
       
      В репозитории: https://github.com/daniilkorochansky/spawn
    • Margiela
      От Margiela
      устал от vs code + он часто конфликтует с маками, конкретно с версией M3(как у меня).
      имеются ли аналоги pawno на mac?