В теме 13 сообщений

Я написал небольшую команду, но все же нужную!
Сразу говорю что делал команду под свой мод!
Если будут ошибки создавайте тему и решим!
Если не жалко поставьте плюсик :)

Изменения:
Теперь вам не придется кикать всех вручную, и это будет более удобно, чем к примеру кикать 400 человек с сервера
 

Спойлер

cmd:tex(playerid, params[])
{
    if(PI[playerid][pAdmin] < ADM_GL) return 1; //Проверка на администратора, для использавания команды
	//===============================================================================================
	for(new i = 0; i <= MAX_PLAYERS; i++)
   	{
   		if(IsPlayerConnected(i))
   		{
		    if(PI[i][pAdmin] > SUPPORT) //Если игрок администратор, то высвечиваеися табличка с паролем и т.д
		    {
   				ShowPlayerDialog(i,0,DIALOG_STYLE_MSGBOX,"Внимание!!!","{CB1A1A}Администраторов не отключается с сервера!\n{CB1A1A} Активированы тех.работы для сервера!\n{CB1A1A}Пароль к серверу: ВАШ ПАРОЛЬ\n{CB1A1A}Причина будет в нашей офф. группе VK: ВАША ГРУППА","Понял","");
    		}
  		    if(PI[i][pAdmin] == ADM_NONE) //Если игрок не администратор, то высвечевается табличка с информацией, и его отключает с сервера
  		    {
        		ShowPlayerDialog(i,0,DIALOG_STYLE_MSGBOX,"Внимание!!!","{CB1A1A} Внимание массовое отключение с сервера!\n{CB1A1A}Причина будет в нашей офф. группе VK: ВАША ГРУППА","Понял","");
       			Kick(i);
  			}
    	}
   	}
	//===============================================================================================
	SendRconCommand("password Ваш пароль");
	SendRconCommand("hostname TimePlay RolePlay || У нас Тех.Работы, не грустите!");
	//===============================================================================================
	SendClientMessageToAll(0xF04245FF, "Руководитель сервера активиривал Тех.Работы!");
	return 1;
}

cmd:texoff(playerid, params[])
{
    if(PI[playerid][pAdmin] < ADM_GL) return 1;
	//===============================================================================================
	SendRconCommand("password 0"); //Снос пароля
	SendRconCommand("hostname TimePlay RolePlay || Заходи к нам, мы вас ждем!");
	//===============================================================================================
    callcmd::gmx(i, ""); //Вызов команды для рестарта сервера
	//===============================================================================================
	SendClientMessageToAll(0xF04245FF, "Руководитель сервера деактивиривал Тех.Работы! Спасибо всем кто помагал!");
	return 1;
}

 


Автор: Jaliba Baron (Я)

Отредактировано пользователем Jaliba Baron
Причина: Исправление переменной

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


Ссылка на сообщение
Поделиться на другие сайты
format(string, sizeof(string), ">>> {9ACD32}$s: Администрация /kick лишних игроков!", GetName(playerid));

Возможно, вместо '$s' вы хотели использовать спецификатор '%s'?
Так же, хочется отметить, что:

	format(string, sizeof(string), ">>> {9ACD32}%s: Пароль к серверу: *************", GetName(playerid)); //За место "*********" ваш пароль
	format(string, sizeof(string), ">>> {9ACD32}$s: Администрация /kick лишних игроков!", GetName(playerid));
	SendAdminMessage(COLOR_LIGHTGREEN, string);

Данный код не будет корректно работать, т.к. format полностью изменяет строку, соответственно будет отправлено только 2-е сообщение.

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


Ссылка на сообщение
Поделиться на другие сайты

@Skiffi 

Цитата

Возможно, вместо '$s' вы хотели использовать спецификатор '%s'?

Вы в этом правы, но я не заметил где исправлена ошибка

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


Ссылка на сообщение
Поделиться на другие сайты

@Daniil Roslyakov ,

{9ACD32}/*$s*/:

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


Ссылка на сообщение
Поделиться на другие сайты

Ребят такой  вопрос а как исправить ошибку 

C:\Users\admin\Desktop\rrp\2\Новая папка\gamemodes\new.pwn(34040) : symbol is never used: "tex"
C:\Users\admin\Desktop\rrp\2\Новая папка\gamemodes\new.pwn(34063) : symbol is never used: "texoff"

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


Ссылка на сообщение
Поделиться на другие сайты

Помогите пожалуйста.
(25470) : error 017: undefined symbol "i"

  callcmd::gmx(i, ""); //Вызов команды для рестарта сервера

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


Ссылка на сообщение
Поделиться на другие сайты

@DeHaker переменная i не найдена, скиньте кусок кода (10-20 строк снизу и сверху этой)

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


Ссылка на сообщение
Поделиться на другие сайты

подскажите пожалуйста, что за ошибка?

 

 

C:\Users\User\Desktop\dsfsdf\gamemodes\byopdev.pwn(69533) : error 017: undefined symbol "PI"
C:\Users\User\Desktop\dsfsdf\gamemodes\byopdev.pwn(69533) : warning 215: expression has no effect
C:\Users\User\Desktop\dsfsdf\gamemodes\byopdev.pwn(69533) : error 001: expected token: ";", but found "]"
C:\Users\User\Desktop\dsfsdf\gamemodes\byopdev.pwn(69533) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\dsfsdf\gamemodes\byopdev.pwn(69533) : fatal error 107: too many error messages on one line
4 Errors.

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


Ссылка на сообщение
Поделиться на другие сайты

@Саид11223321142 неизвестная переменная "PI" 

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


Ссылка на сообщение
Поделиться на другие сайты

@Roy Weezy и как это исправить? 

 

 

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

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


Ссылка на сообщение
Поделиться на другие сайты

по моему #define         GN(%1)                              PI [%1][pName]

 

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

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


Ссылка на сообщение
Поделиться на другие сайты

Гость, 

Спойлер

cmd:texoff(playerid, params[])
{
    if(PI[playerid][pAdmin] < ADM_GL) return 1;
    //===============================================================================================
    SendRconCommand("password 0"); //Снос пароля
    SendRconCommand("hostname TimePlay RolePlay || Заходи к нам, мы вас ждем!");
    //===============================================================================================

/*
    callcmd::gmx(i, ""); //Вызов команды для рестарта сервера
В чём смысл создавать команду для рестарта, используя цикл i, и str ""? Легче просто прописать SendRconCommand("gmx"); 
*/
    //===============================================================================================
/*
    SendClientMessageToAll(0xF04245FF, "Руководитель сервера деактивиривал Тех.Работы! Спасибо всем кто помагал!");
Я бы поместил эту строку раньше, чем произошёл рестарт, ибо как сообщение отправиться во время рестарта?
*/
    return 1;
}

 

 

 

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

Заметка от DEST , создано

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

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

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

    • Chopick
      От Chopick
      Всем здравствуйте! Делаю систему домов/бизнесов по туториалу knox know с плагином GoodArea. Есть проблема, если заходишь в интерьер бизнеса, то когда выходишь спавнит почему-то на пикап дома.

      Вот енумы:
       
      #define MAX_HOUSES 1000 #define MAX_BIZS 1000 enum house {         hID,         STREAMER_TAG_PICKUP:hPICKUP,         STREAMER_TAG_AREA:hAREA,         hOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:hTEXT[256],         STREAMER_TAG_MAP_ICON:hICON,         hPRICE,         hCLASS,         hINTERIOR,         Float:hX,         Float:hY,         Float:hZ,         Float:hA,         hCONDITION // Закрыт/Открыт } new House[MAX_HOUSES][house]; new Houses; new HouseGroup; enum biz {         bID,         STREAMER_TAG_PICKUP:bPICKUP,         STREAMER_TAG_AREA:bAREA,         bOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:bTEXT[256],         STREAMER_TAG_MAP_ICON:bICON,         bNAME[25],         bPRICE,         bTYPE,         bINTERIOR,         Float:bX,         Float:bY,         Float:bZ,         Float:bA } new Biz[MAX_BIZS][biz]; new Bizs; new BizGroup; enum interior_info {         intID,         intNAME[41],         intINTERIOR,         Float:intX,         Float:intY,         Float:intZ,         Float:intA,         STREAMER_TAG_AREA:intAREA } new Interior[MAX_INTERIORS][interior_info]; new Interiors; new InteriorGroup; Вот что у меня в OnGameModeInit:
      HouseGroup = CreateGroupGoodAreas(GoodArea:HouseEnter); InteriorGroup = CreateGroupGoodAreas(GoodArea:InteriorExit); BizGroup = CreateGroupGoodAreas(GoodArea:BizArea);  
      Вот стоки:
      GAResponse:HouseEnter(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                 if(House[index][hCONDITION] > 0 && House[index][hOWNER] == player_info[playerid][NAME] || House[index][hCONDITION] == 0)                 {                                         GoToInterior(playerid, House[index][hINTERIOR]);                                         SetPlayerVirtualWorld(playerid, index);                                 }                                 else if(House[index][hCONDITION] > 0 && House[index][hOWNER] != player_info[playerid][NAME]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Этот дом закрыт на ключ!");                         }                 }                 case GA_RESPONSE_ENTER:                 {                     if(House[index][hOWNER] == 0)                     {                         CreateNoOwnerHouseTD(playerid);                         for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                         {                             PlayerTextDrawShow(playerid, NoOwnerTextDraw_PTD[playerid][i]);                                 }                                 new price[8];                                 format(price, sizeof(price), "%d$", House[index][hPRICE]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][2], price);                                 new id[9];                                 format(id, sizeof(id), "%d", House[index][hID]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][0], id);                                 switch(House[index][hCLASS])                                 {                                     case 1: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "A");                                     case 2: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "B");                                     case 3: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "C");                                 }                                 for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                         {                             TextDrawShowForPlayer(playerid, NoOwnerTextDraw_TD[i]);                                 }                         }                 }                 case GA_RESPONSE_LEAVE:                 {                 for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                 {                     PlayerTextDrawHide(playerid, NoOwnerTextDraw_PTD[playerid][i]);                         }                         for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                 {                     TextDrawHideForPlayer(playerid, NoOwnerTextDraw_TD[i]);                         }                 }         }         return 1; } GAResponse:BizArea(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                     GoToInteriorBiz(playerid, Biz[index][bINTERIOR]);                                 SetPlayerVirtualWorld(playerid, index);                 }                 }         }         return 1; } GAResponse:InteriorExit(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 new world = GetPlayerVirtualWorld(playerid);                 if(key & KEY_WALK)                 {                     if(world < MAX_HOUSES)                     {                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, House[world][hX], House[world][hY], House[world][hZ]);                             SetPlayerFacingAngle(playerid, House[world][hA]);                                 }                                 else if(world < MAX_HOUSES + MAX_BIZS)                     {                         world -= MAX_HOUSES;                                         printf("%d index world", world);                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, Biz[world][bX], Biz[world][bY], Biz[world][bZ]);                             SetPlayerFacingAngle(playerid, Biz[world][bA]);                                 }                         }                         if(key & KEY_CTRL_BACK)                         {                             if(player_info[playerid][HOUSE] != House[world][hID]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Вы не владелец данного дома!");                             new dialog[256];                                 format(dialog, sizeof(dialog),                                         "{ffd900}[1]{ffffff}Информация о доме\n\                                         {ffd900}[2]{ffffff}%s дом",                                 (House[world][hCONDITION] == 1) ? ("{00ff00}Открыть") : ("{ff0000}Закрыть"));                             SPD(playerid, DLG_HMENU, DIALOG_STYLE_LIST, "{ffd900}Меню дома", dialog, "Выбрать", "Закрыть");                             return 1;                         }                 }         }         return 1; } stock GoToInterior(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода\n\                         Нажмите \"H\", чтобы открыть меню дома");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; } stock GoToInteriorBiz(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; }  
       
      Что мне делать, подскажите пожалуйста?