Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Список чего-либо (/help, /ahelp, /rules) без форматирования

Статус
В этой теме нельзя размещать новые ответы.

DeIMoS

Мастер
Представляю вашему вниманию команду, которую я писал для одной темы в разделе "Вопросы по программированию в Pawn", но тема была закрыта и код остался бесхозным :( Не пропадать же добру.

В данной команде показан сам принцип того, как можно организовать большие списки какой-либо информации не прибегая к насилованию стэка. Такой подход подойдёт как для ShowPlayerDialog, так и для SendClientMessage (в SendClientMessage вместо того, чтоб заменять нуль-символ на "\0", просто нужно показывать выводить каждый массив в чат)

Собственно, код:
PHP:
CMD:ahelp(playerid) 
{ 
	if(!PlayerInfo[playerid][bAdmin]) return 1; 
	 
	static a_level_1[] = 
	{
		"{FFFFFF}Уровень 1: /atipster /gg /re /pm /admin(/a) /alogin /tp /ap /alock /hp /ram /o /aad /unprison"
	};
	static a_level_2[] = 
	{
		"Уровень 2: /getstats /fstyle /prison /mute /sp /skin /iwep /slap /goto /kick /money"
	};
	static a_level_3[] = 
	{
		"Уровень 3: /warehouse /mark /gotomark /gethere /spveh /getip /pgetip /agetipreg /geton /jailed"
	};	
	static a_level_4[] = 
	{
		"Уровень 4: /unban /balance /spawncars /sethp /house /freeze"
	};
	static a_level_5[] = 
	{
		"Уровень 5: /chat /fuel /warn /fuelcars"
	};
	static a_level_6[] = 
	{
		"Уровень 6: /setskin /ban /setskill /uval"
	};
	static a_level_7[] = 
	{
		"Уровень 7: /givemoney /sban /ainfoip /delveh /delvehall /veh /givegun"
	};
	static a_level_8[] = 
	{
		"Уровень 8: /unbanip  /amusic /gotoderby"
	};
	static a_level_9[] = 
	{
		"Уровень 9: /offwarn /offban /templeader"
	};
	static a_level_10[] = 
	{
		"Уровень 10: /iban /banip /unwarn /agiverank"
	};
	static a_level_11[] = 
	{
		"Уровень 11: /gzcolor /setmats /switchmafia /makeleader"
	};
	static a_level_12[] = 
	{
		"Уровень 12: /edit /startpb /startrace"
	};
	static a_level_12[] = 
	{
		"Уровень 13-14: /nick /getadmin /addbiz /addeat /adelpos /giverubete /mka /sniat /makehelper /narkopriton /ghetto"
	};


	switch(PlayerInfo[playerid][bAdmin])
	{
		case 1:
		{
			a_level_1[sizeof(a_level_1)-1] = '\0';
		}
		case 2:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\0';
		}
		case 3:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\0';
		}
		case 4:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\0';
		}
		case 5:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\0';
		}
		case 6:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\0';
		}
		case 7:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\n';
			a_level_7[sizeof(a_level_7)-1] = '\0';
		}
		case 8:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\n';
			a_level_7[sizeof(a_level_7)-1] = '\n';
			a_level_8[sizeof(a_level_8)-1] = '\0';
		}
		case 9:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\n';
			a_level_7[sizeof(a_level_7)-1] = '\n';
			a_level_8[sizeof(a_level_8)-1] = '\n';
			a_level_9[sizeof(a_level_9)-1] = '\0';
		}
		case 10:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\n';
			a_level_7[sizeof(a_level_7)-1] = '\n';
			a_level_8[sizeof(a_level_8)-1] = '\n';
			a_level_9[sizeof(a_level_9)-1] = '\n';
			a_level_10[sizeof(a_level_10)-1] = '\0';
		}
		case 11:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\n';
			a_level_7[sizeof(a_level_7)-1] = '\n';
			a_level_8[sizeof(a_level_8)-1] = '\n';
			a_level_9[sizeof(a_level_9)-1] = '\n';
			a_level_10[sizeof(a_level_10)-1] = '\n';
			a_level_11[sizeof(a_level_11)-1] = '\0';
		}
		case 12:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\n';
			a_level_7[sizeof(a_level_7)-1] = '\n';
			a_level_8[sizeof(a_level_8)-1] = '\n';
			a_level_9[sizeof(a_level_9)-1] = '\n';
			a_level_10[sizeof(a_level_10)-1] = '\n';
			a_level_11[sizeof(a_level_11)-1] = '\n';
			a_level_12[sizeof(a_level_12)-1] = '\0';
		}
		default:
		{
			a_level_1[sizeof(a_level_1)-1] = '\n';
			a_level_2[sizeof(a_level_2)-1] = '\n';
			a_level_3[sizeof(a_level_3)-1] = '\n';
			a_level_4[sizeof(a_level_4)-1] = '\n';
			a_level_5[sizeof(a_level_5)-1] = '\n';
			a_level_6[sizeof(a_level_6)-1] = '\n';
			a_level_7[sizeof(a_level_7)-1] = '\n';
			a_level_8[sizeof(a_level_8)-1] = '\n';
			a_level_9[sizeof(a_level_9)-1] = '\n';
			a_level_10[sizeof(a_level_10)-1] = '\n';
			a_level_11[sizeof(a_level_11)-1] = '\n';
			a_level_12[sizeof(a_level_12)-1] = '\n';
			a_level_13[sizeof(a_level_13)-1] = '\0';
		}
	}
	SPD(playerid, 0000, DIALOG_STYLE_MSGBOX, ""SERVER"Команды администратора", a_level_1, "Закрыть", ""); 
	return 1; 
}

Не самый компактный вариант, но самый производительный из тех, что я видел в паблике
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу