Проблема со сменой ранга в диалоге
#2

Попробуйте так:
Code:
 

case DIALOG_SETRANK: 
    { 
        if(!response) return 1;
		if(!strlen(inputtext)) 
		{ 
			format(string,sizeof(string),"Введите номер ранга и через пробел название.\n(Пример: 5 Директор)"); 
			ShowPlayerDialog(playerid,DIALOG_SETRANK,DIALOG_STYLE_INPUT,"Изменить название",string,"Принять","Скрыть"); 
			return 1;
		} 
		new tmp[24],idx;//Может ругаться на размер массива tmp, в этом случае увеличте его
		tmp = strtok(inputtext,idx);
		if(!strlen(tmp))
		{
			format(string,sizeof(string),"Введите номер ранга и через пробел название.\n(Пример: 5 Директор)"); 
			ShowPlayerDialog(playerid,DIALOG_SETRANK,DIALOG_STYLE_INPUT,"Изменить название",string,"Принять","Скрыть"); 
			return 1;			
		}
		new rank = strval(tmp); 
		if(rank > 10 || rank < 0) return SendClientMessage(playerid, COLOR_GRAD2, "Можно изменить только с 1го по 10ый ранг"); 
		tmp = strrest(inputtext,idx);
		if(!strlen(tmp)) 
		{ 
			format(string,sizeof(string),"Введите номер ранга и через пробел название.\n(Пример: 5 Директор)"); 
			ShowPlayerDialog(playerid,DIALOG_SETRANK,DIALOG_STYLE_INPUT,"Изменить название",string,"Принять","Скрыть"); 
			return 1;
		} 
		new l = Player[playerid][pLeader]; 
		if(rank==0)strcpy(RankInfo[l][rank0], tmp); 
		else if(rank==1)strcpy(RankInfo[l][rank1], tmp); 
		else if(rank==2)strcpy(RankInfo[l][rank2], tmp); 
		else if(rank==3)strcpy(RankInfo[l][rank3], tmp); 
		else if(rank==4)strcpy(RankInfo[l][rank4], tmp); 
		else if(rank==5)strcpy(RankInfo[l][rank5], tmp); 
		else if(rank==6)strcpy(RankInfo[l][rank6], tmp); 
		else if(rank==7)strcpy(RankInfo[l][rank7], tmp); 
		else if(rank==8)strcpy(RankInfo[l][rank8], tmp); 
		else if(rank==9)strcpy(RankInfo[l][rank9], tmp); 
		else if(rank==10)strcpy(RankInfo[l][rank10], tmp); 
		//сохранение ранга в файл 
		new file = ini_openFile("/mod/ranks.ini"); 
		if(file<0) 
		{ 
			SendClientMessage(playerid, COLOR_RED,"Ошибка сохранения ранга"); 
			return 1; 
		} 
		for(new i=1;i<6;i++) 
		{ 
			format(string, sizeof(string), "Ранг 0 фракции %d",i);ini_setString (file, string, RankInfo[i][rank0]); 
			format(string, sizeof(string), "Ранг 1 фракции %d",i);ini_setString (file, string, RankInfo[i][rank1]); 
			format(string, sizeof(string), "Ранг 2 фракции %d",i);ini_setString (file, string, RankInfo[i][rank2]); 
			format(string, sizeof(string), "Ранг 3 фракции %d",i);ini_setString (file, string, RankInfo[i][rank3]); 
			format(string, sizeof(string), "Ранг 4 фракции %d",i);ini_setString (file, string, RankInfo[i][rank4]); 
			format(string, sizeof(string), "Ранг 5 фракции %d",i);ini_setString (file, string, RankInfo[i][rank5]); 
			format(string, sizeof(string), "Ранг 6 фракции %d",i);ini_setString (file, string, RankInfo[i][rank6]); 
			format(string, sizeof(string), "Ранг 7 фракции %d",i);ini_setString (file, string, RankInfo[i][rank7]); 
			format(string, sizeof(string), "Ранг 8 фракции %d",i);ini_setString (file, string, RankInfo[i][rank8]); 
			format(string, sizeof(string), "Ранг 9 фракции %d",i);ini_setString (file, string, RankInfo[i][rank9]); 
			format(string, sizeof(string), "Ранг 10 фракции %d",i);ini_setString (file, string, RankInfo[i][rank10]); 
		} 
		ini_closeFile (file); 
		format(string, sizeof(string), "Ранг успешно сохранен: '%s'",tmp); 
		SendClientMessage(playerid, COLOR_RED,string); 
        return 1; 
    }
Reply


Messages In This Thread
Проблема со сменой ранга в диалоге - by Stepan23 - 04.05.2012, 10:15
Re: Проблема со сменой ранга в диалоге - by TRPG - 04.05.2012, 12:36
Re: Проблема со сменой ранга в диалоге - by Stepan23 - 04.05.2012, 12:49
Re: Проблема со сменой ранга в диалоге - by Stepashka - 04.05.2012, 14:09
Re: Проблема со сменой ранга в диалоге - by Stepan23 - 04.05.2012, 16:00

Forum Jump:


Users browsing this thread: 1 Guest(s)