Перейти к содержанию
Авторизация  
Golovin_17

Помогите исправить ошибку в команде /makeleader

Рекомендуемые сообщения

Golovin_17

Помогите исправить ошибку в команде!!!
Вожу команду /makeleader выдается фракция но 1 ранг
А как сделать чтобы выдавало лидерку?
 

	if(strcmp(cmd, "/makeleader", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "?????????: /??????? [playerid] [id]");
				return 1;
			}
			new para1;
			new level;
			para1 = strval(tmp);
			tmp = strtok(cmdtext, idx);
			level = strval(tmp);
			if(level > 25 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "????? ??????? ??? ?????? ?? 0, ?? 24!"); return 1; }
			if(PlayerInfo[playerid][pAdmin] >= 8) //??? ??????????????
			{
				if (dostup[playerid] != 1)
				{
					ShowPlayerDialog(playerid,2934,DIALOG_STYLE_INPUT,"?????? ??????????????","??????? ?????? ?? ???????????????? ??????","??","??????");
					return 1;
				}
				if(IsPlayerConnected(para1))
				{
					if(para1 != INVALID_PLAYER_ID)
					{
						if(PlayerInfo[para1][pMember] > 0 || PlayerInfo[para1][pFMember] < 255)
						{
							SendClientMessage(playerid, COLOR_GREY, "*???? ????? ??? ??????? ?? ???????!");
							return 1;
						}
						GetPlayerName(para1, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						PlayerInfo[para1][pLeader] = level;
						format(string, sizeof(string), "* ??? ???? ?????? ???????! ??????? %s", sendername);
						SendClientMessage(para1, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "* ?? ?????? ??????? %s %d.", giveplayer,level);
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
						if(level == 0) { PlayerInfo[para1][pChar] = 0; }
						else if(level == 1) { PlayerInfo[para1][pChar] = 288; } //?????
						else if(level == 2) { PlayerInfo[para1][pChar] = 295; } //???
						else if(level == 3) { PlayerInfo[para1][pChar] = 287; } //?????
						else if(level == 4) { PlayerInfo[para1][pChar] = 70; } //???
						else if(level == 5) { PlayerInfo[para1][pChar] = 113; } //La Cosa Nostra
						else if(level == 6) { PlayerInfo[para1][pChar] = 120; } //???
						else if(level == 7) { PlayerInfo[para1][pChar] = 147; } //?????????????
						else if(level == 8) { PlayerInfo[para1][pChar] = 294; } //???????
						else if(level == 9) { PlayerInfo[para1][pChar] = 113; } //????????
						else if(level == 10) { PlayerInfo[para1][pChar] = 61; } //??? ????
						else if(level == 11) { PlayerInfo[para1][pChar] = 171; } //????????? ?.??????
						else if(level == 12) { PlayerInfo[para1][pChar] = 270; }//??????????? ?????
						else if(level == 13) { PlayerInfo[para1][pChar] = 118; }//???
						else if(level == 14) { PlayerInfo[para1][pChar] = 277; }//Mara Salvatrucha
						else if(level == 15) { PlayerInfo[para1][pChar] = 111; }//?????? ?????
						else if(level == 16) { PlayerInfo[para1][pChar] = 102; }//???????
						else if(level == 17) { PlayerInfo[para1][pChar] = 67; }//??????? ???????
						else if(level == 18) { PlayerInfo[para1][pChar] = 46; }//???????????
						else if(level == 19) { PlayerInfo[para1][pChar] = 272; }//??????????? ??????
						else if(level == 20) { PlayerInfo[para1][pChar] = 126; } //???
						else if(level == 21) { PlayerInfo[para1][pChar] = 188; }//????? ??????
						else if(level == 22) { PlayerInfo[para1][pChar] = 21; } //???
						else if(level == 23) { PlayerInfo[para1][pChar] = 285; } //???????
						else if(level == 24) { PlayerInfo[para1][pChar] = 28; } //???????
						else if(level == 25) { PlayerInfo[para1][pChar] = 28; } //???????
						gTeam[para1] = 11;
						PlayerInfo[para1][pTeam] = 11;
						SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
					}
				}//not connected
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "* ? ??? ??? ???? ?? ????????????? ???????! !");
			}
		}
		return 1;
	}

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


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

@Golovin_17, объясни нормально. Выдаёт же лидерку, а там уже лидер пускай сам себе выдаёт LVL. 

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


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

Смени раскладку на русскую и выложи. А так: 

PlayerInfo[para1][pRang] = ранг;

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


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

Так и должно быть. Потом ты должен себя повысить через /giverank до нужного ранга.

Изменено пользователем Веб

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


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

,Да, но можно сделать ведь проще. 

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


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

После каждого 
PlayerInfo[para1][pChar] = 120;
кидай

PlayerInfo[para1][pRank] = номер старшего ранга;

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


Ссылка на сообщение
Поделиться на другие сайты
Kapral
if(strcmp(cmd, "/makeleader", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "?????????: /makeleader [playerid] [id]");
				return 1;
			}
			new para1;
			new level;
			para1 = strval(tmp);
			tmp = strtok(cmdtext, idx);
			level = strval(tmp);
			if(level > 25 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "????? ??????? ??? ?????? ?? 0, ?? 25!"); return 1; }
			if(PlayerInfo[playerid][pAdmin] >= 8) //??? ??????????????
			{
				if (dostup[playerid] != 1)
				{
					ShowPlayerDialog(playerid,2934,DIALOG_STYLE_INPUT,"?????? ??????????????","??????? ?????? ?? ???????????????? ??????","??","??????");
					return 1;
				}
				if(IsPlayerConnected(para1))
				{
					if(para1 != INVALID_PLAYER_ID)
					{
						if(PlayerInfo[para1][pMember] > 0 || PlayerInfo[para1][pFMember] < 255)
						{
							SendClientMessage(playerid, COLOR_GREY, "*???? ????? ??? ??????? ?? ???????!");
							return 1;
						}
						GetPlayerName(para1, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						PlayerInfo[para1][pLeader] = level;
						format(string, sizeof(string), "* ??? ???? ?????? ???????! ??????? %s", sendername);
						SendClientMessage(para1, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), "* ?? ?????? ??????? %s %d.", giveplayer,level);
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
						if(level == 0) { PlayerInfo[para1][pChar] = 0; } { PlayerInfo[para1][pRank] = 0; }
						else if(level == 1) { PlayerInfo[para1][pChar] = 288; } { PlayerInfo[para1][pRank] = 0; } //?????
						else if(level == 2) { PlayerInfo[para1][pChar] = 295; } //???
						else if(level == 3) { PlayerInfo[para1][pChar] = 287; } //?????
						else if(level == 4) { PlayerInfo[para1][pChar] = 70; } //???
						else if(level == 5) { PlayerInfo[para1][pChar] = 113; } //La Cosa Nostra
						else if(level == 6) { PlayerInfo[para1][pChar] = 120; } //???
						else if(level == 7) { PlayerInfo[para1][pChar] = 147; } //?????????????
						else if(level == 8) { PlayerInfo[para1][pChar] = 294; } //???????
						else if(level == 9) { PlayerInfo[para1][pChar] = 113; } //????????
						else if(level == 10) { PlayerInfo[para1][pChar] = 61; } //??? ????
						else if(level == 11) { PlayerInfo[para1][pChar] = 171; } //????????? ?.??????
						else if(level == 12) { PlayerInfo[para1][pChar] = 270; }//??????????? ?????
						else if(level == 13) { PlayerInfo[para1][pChar] = 118; }//???
						else if(level == 14) { PlayerInfo[para1][pChar] = 277; }//Mara Salvatrucha
						else if(level == 15) { PlayerInfo[para1][pChar] = 111; }//?????? ?????
						else if(level == 16) { PlayerInfo[para1][pChar] = 102; }//???????
						else if(level == 17) { PlayerInfo[para1][pChar] = 67; }//??????? ???????
						else if(level == 18) { PlayerInfo[para1][pChar] = 46; }//???????????
						else if(level == 19) { PlayerInfo[para1][pChar] = 272; }//??????????? ??????
						else if(level == 20) { PlayerInfo[para1][pChar] = 126; } //???
						else if(level == 21) { PlayerInfo[para1][pChar] = 188; }//????? ??????
						else if(level == 22) { PlayerInfo[para1][pChar] = 21; } //???
						else if(level == 23) { PlayerInfo[para1][pChar] = 285; } //???????
						else if(level == 24) { PlayerInfo[para1][pChar] = 28; } //???????
						else if(level == 25) { PlayerInfo[para1][pChar] = 28; } //???????
						gTeam[para1] = 11;
						PlayerInfo[para1][pTeam] = 11;
						SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
					}
				}//not connected
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "* ? ??? ??? ???? ?? ????????????? ???????! !");
			}
		}
		return 1;
	}

Сделал пример выдачи ранга у первого лидера, смотри, делай так же. Вставляй ранг, и готово.

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


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

@Kapral, вообще-то

if(level == 0) { PlayerInfo[para1][pChar] = 0; PlayerInfo[para1][pRank] = 0; }

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


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

,раз умный, вставляй. 

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


Ссылка на сообщение
Поделиться на другие сайты
Alonso
@Golovin_17, если помогло кнопочка вопрос решен @Kapral, просто тупить не надо, в твоем случае либо краш павн, либо ошибки.

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


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

Смотри. После каждого ида скина(pChar) вставляй PlayerInfo[para1][pRank] = ранг. Пример: 

if(level == 0) { PlayerInfo[para1][pChar] = 280; PlayerInfo[para1][pRank] = 5; }//level == 0 ид фракции, скорей всего это означает то, что это гражданин, pRang не вставляй! А вот если if(level == 1) и дальше. То вставляй так: if(level == 1) { PlayerInfo[para1][pChar] = 280; PlayerInfo[para1][pRank] = 5; }// level == 1, 1 - ид фракции, [pChar] = 280, 280 - ид скина, [pRank] == 5, 5 - ранг ради примера вставил. Кстати, если будет выдавать 17 еррор, скорей всего из-за этого: [pRank], тогда букву k замени на g. Так-как есть тут скриптеро-грамматики, которые толком русского не знают.

Написал конечно)))


,Тут твоя ошибка.  if(level == 0) - значит, что скорей всего он гражданин - пропускаем. А дальше, всё верно.

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


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

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

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.