Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Вопросы

Гость
Новичок

Суть такова что есть команда у меня /makeleader ID, а я хочу что бы было /makeleader Nick_Name
 

Спойлер

CMD:makeleader(playerid, params[])
{
    if(GetString(GetName(playerid), NAME_DEVELOPER_ONE) || GetString(GetName(playerid), NAME_DEVELOPER_TWO) || GetString(GetName(playerid), NAME_LEADERS_ONE) || GetString(GetName(playerid), NAME_LEADERS_TWO))
    {
        if(PI[playerid][pAdmin] < 7) return 1;
        else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
        else if(sscanf(params, "u", params[0])) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /makeleader [id игрока]");
        else if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, PlayerIsNotOnline);
        else if(PlayerLogged[params[0]] == false) return SCM(playerid, COLOR_GREY, PlayerIsNotAuthorized);
        else if(IsPlayerInAnyVehicle(params[0])) return SCM(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");
        else if((PI[params[0]][pAdmin] >= 1 && PI[params[0]][pAdmin] <= 7) && PI[playerid][pAdmin] != 8) return SCM(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");
        else if(PI[params[0]][pLevel] < 10) return SCM(playerid, COLOR_GREY, "У игрока меньше чем 10 уровень!");
        else if(PI[params[0]][pTempLeader]) return SCM(playerid, COLOR_GREY, "Сначала снимите с себя права временного лидера!");
        if(PI[params[0]][pLeader])
        {
            LeaveFractionPlayer(params[0]);
            SendMes(playerid, COLOR_BLUE, "Вы сняли %s с должности лидера организации",GetName(params[0]));
            SendMes(params[0], COLOR_BLUE, "Администратор %s снял вас с должности лидера организации", GetName(playerid));
        }
        else
        {
            if(PI[params[0]][pLeader] > 0) return SCM(playerid, COLOR_GREY, "Игрок лидер другой организации!");
            else if(PI[params[0]][pMember] > 0) return SCM(playerid, COLOR_GREY, "Игрок находиться в другой организации!");
            new str[64], str2[712];
            for(new i = 1; i < MAX_FRACTIONS; i++)
            {
                format(str, sizeof(str), "№%i - %s\n", i, Fraction_Name);
                strcat(str2, str);
            }
            SetPVarInt(playerid, "actplayerid", params[0]);
            ShowPlayerDialog(playerid, D_FRACMENU, 2, "{ffcc00}Организации", str2, "Принять", "Отмена");
        }
    }
    return 1;
}

 

 

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

Последнее устное предупреждение.
Делайте название темы информативным, а не "Помогите", "Как решить" и пр.

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


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

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

  • 0
Гость stibs
Новичок

Ко всем командам (выдача лидерки в оффлайне): 
 

Спойлер

CMD:setoffleader(playerid, params[])
{
	//проверка на админа
	if(sscanf(params, "s[24]", params[0])) return SendClientMessage(playerid, -1, "Используйте: /setoffleader [Nick-Name]");
	new query[100];
	mysql_format(dbHandle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `name` = '%s'", params[0]); 
	mysql_tquery(dbHandle, query, "SetOffLeader", "ds", playerid, name); 

	return true;
}

 

В конец мода: 

Спойлер

forward SetOffLeader(playerid, name[])
public SetOffLeader(playerid, name[])
{
	new rows, fields, leaderid, str[30], str2[150];
	cache_get_data(rows, fields);
	if(!rows) return SCM(playerid, -1, !"Игрока с таким ником не существует!");
	
	leaderid = cache_get_field_content_int(0, "leader");
	if(0 != leaderid)
	{
		new query[150];
		mysql_format(dbHandle, query, sizeof(query), "UPDATE `accounts` SET `leader` = '0', `member` = '0', 'rank' = '0' WHERE `name` = '%s'", name);
		mysql_tquery(dbHandle, query, "", "");
		format(query, sizeof(query), "Вы сняли игрока %s с лидерки %s", name, Fraction_Name[leaderid]);
		SCM(playerid, -1, query); 
		return true;
	}
	
	for(new i = 1; i < MAX_FRACTIONS; i++)
	{
		format(str, sizeof(str), "№%i - %s\n", i, Fraction_Name);
		strcat(str2, str);
	}
	
	SetPVarString(playerid, "name", name);
	ShowPlayerDialog(playerid, 5726, DIALOG_STYLE_LISG, "Выбор огранизации", str2, "Выбрать", "Отмена");
	
	return true;
}

 

Ко всем диалогам: 

Спойлер

		case 5726:
		{
		    if(!response) return true;
		    
		    new name[MAX_PLAYER_NAME], rank;
		    GetPVarString(playerid, "name", name, sizeof(name));
			switch(listitem+1)
			{
				case TEAM_ARMIYA: rank = 12;
				case TEAM_FBI: rank = 16;
				case TEAM_POLICIA,TEAM_DPS,TEAM_MERIA,TEAM_BOLNICA,TEAM_ITALYM,TEAM_RM,TEAM_OPG1,TEAM_OPG2,TEAM_SMI: rank = 10;
				case TEAM_AUTOSCHOOL: rank = 8;
			}
		    new query[150];
			mysql_format(dbHandle, query, sizeof(query), "UPDATE `accounts` SET `leader` = '%d', `member` = '%d', `rank` = '%d' WHERE `name` = '%s'", listitem+1, listitem+1, rank,name);
			mysql_tquery(dbHandle, query, "", "");
			format(query, sizeof(query), "Вы оффлайн назначили на лидерство %s игрока %s", Fraction_Name[listitem+1], name);
			SCM(playerid, -1, query);
			return true;
		}

 

 

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


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

@stibs 

Спойлер

        


case D_FRACMENU:
        {
            if(!response) return DeletePVar(playerid, "actplayerid");
            SetPVarInt(playerid, "actfraction", listitem+1);
            new fractionid = GetPVarInt(playerid, "actfraction");
            new mes[128];
            for(new i; i < 8; i++)
            {
                new skinid = Fraction_Skin[fractionid];
                if(!skinid) break;
                if(!i) format(mes, sizeof(mes), "Ñêèí %d [%d]", i+1, skinid);
                else format(mes, sizeof(mes), "%s\nÑêèí %d [%d]", mes, i+1, skinid);
            }
            ShowPlayerDialog(playerid, D_LEADERSKIN, 2, "{ffa500}Âûáîð ñêèíà", mes, "Ïðèíÿòü", "Îòìåíà");
        }

        case D_LEADERSKIN:
        {
            if(!response)
            {
                DeletePVar(playerid, "actplayerid");
                DeletePVar(playerid, "actfraction");
                return 1;
            }
            new actplayerid = GetPVarInt(playerid, "actplayerid");
            new fractionid = GetPVarInt(playerid, "actfraction");
            new skinid = Fraction_Skin[fractionid][listitem];
            if(!IsPlayerConnected(actplayerid)) return SCM(playerid, COLOR_GREY, PlayerIsNotOnline);
            else if(!PlayerLogged[actplayerid]) return SCM(playerid, COLOR_GREY, PlayerIsNotAuthorized);
            switch(fractionid)
            {
                case TEAM_ARMIYA: PI[actplayerid][pRank] = 12;
                case TEAM_FBI: PI[actplayerid][pRank] = 16;
                case TEAM_POLICIA,TEAM_DPS,TEAM_MERIA,TEAM_BOLNICA,TEAM_ITALYM,TEAM_RM,TEAM_OPG1,TEAM_OPG2,TEAM_SMI: PI[actplayerid][pRank] = 10;
                case TEAM_AUTOSCHOOL: PI[actplayerid][pRank] = 8;
            }
            PI[actplayerid][pLeader] = PI[actplayerid][pMember] = fractionid;
            PI[actplayerid][pJob] = 0;
            PI[actplayerid][pMemberSkin] = skinid;
            SetPlayerSkin(actplayerid, PI[actplayerid][pMemberSkin]);
            new string[128];
            format(string, sizeof(string), "Âû íàçíà÷èëè %s ëèäåðîì îðãàíèçàöèè: %s", GetName(actplayerid), Fraction_Name[fractionid]);
            SCM(playerid, COLOR_LIME, string);
            format(string, sizeof(string), "Àäìèíèñòðàòîð %s íàçíà÷èë Âàñ ëèäåðîì îðãàíèçàöèè: %s", GetName(playerid), Fraction_Name[fractionid]);
            SCM(actplayerid, COLOR_BLUE, string);
            format(string, sizeof(string), "[A] %s íàçíà÷èë %s ëèäåðîì îðãàíèçàöèè \"%s\"", GetName(playerid), GetName(actplayerid), Fraction_Name[fractionid]);
            SendAdminMessage(COLOR_GREY, string);
            SendLog("SetLeader", string);
            ResetPlayerWeaponsAC(actplayerid);
            SetPlayerColorEx(actplayerid, TeamColors[GetTeamID(actplayerid)]);
            DeletePVar(playerid, "actplayerid");
            DeletePVar(playerid, "actfraction");
        }

 

 

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

Код необходимо брать под спойлер и под тег "Код".
Как это сделать?

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


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

@stibs 

Спойлер

J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(2874) : error 017: undefined symbol "DIALOG_STYLE_LISG"
J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(22081) : error 017: undefined symbol "name"
Pawn compiler 3.10.20150531     Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.

Спойлер

2874:    ShowPlayerDialog(playerid, 5726, DIALOG_STYLE_LISG, "Âûáîð îãðàíèçàöèè", str2, "Âûáðàòü", "Îòìåíà");
22081:     mysql_tquery(dbHandle, query, "SetOffLeader", "ds", playerid, name);

 

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


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

Команду заменить: 

CMD:setoffleader(playerid, params[])
{
	//проверка на админа
	if(sscanf(params, "s[24]", params[0])) return SendClientMessage(playerid, -1, "Используйте: /setoffleader [Nick-Name]");
	new query[100];
	mysql_format(dbHandle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `name` = '%s'", params[0]); 
	mysql_tquery(dbHandle, query, "SetOffLeader", "ds", playerid, params[0]); 

	return true;
}

Вместо DIALOG_STYLE_LISG

напишите DIALOG_STYLE_LIST

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


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

@stibs

Спойлер

J:\Ñåðâåð TimePlay RolePlay\Ìîä\gamemodes\stel.pwn(22081) : error 017: undefined symbol "name"
Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
 

	mysql_tquery(dbHandle, query, "SetOffLeader", "ds", playerid, name);

 

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


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

@Daniil Roslyakov ошибка исчезла по другому поводу. Значит, вы не то скопировали. Там вместо name должно быть params[0]. Я думаю, что заменить команду не так уж и сложно. Удалить старую и вставить новую. А не просто добавить еще одну. 

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


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

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

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

    • Дебилойд
      От Дебилойд
      Здравствуйте!
      Мы ищем талантливого 3D-моделлера в команду нашего CRMP-проекта!
      Что нужно будет делать:
      Моделировать и адаптировать автомобили.
      Создавать и настраивать скины (модели персонажей).
      Большим плюсом будет:
      Умение создавать качественные и оптимизированные интерьеры.
      Если вы хотите стать частью нашей команды и развивать проект вместе с нами, пишите в ЛС. Ждем ваши портфолио!
    • LORDIKUS
      От LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба