Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: команда /addzone - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

команда /addzone Оценка: -----

#1
Пользователь офлайн   SRIPTER MODOV 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Автор не я,вырезка с мода.
//к переменным
enum grzone
{
	grid,
	Float:grX,
	Float:grY,
	Float:grZ,
	Float:grD,
	grName[50],
	grVirt
}
new GREENZONE[100][grzone], TOTALZONE = 0;

//к командам
CMD:addzone(playerid, params[])
{
    if(PlayerInfo[playerid][pAlcoInvenxua] != 12) return true;
    new str[50];
    ClearString();
    strcat(stringer,"Создать зеленую зону\n");
    for(new g = 1; g <= TOTALZONE; g++)
    {
    	format(str, 50, "%i. %s\n", GREENZONE[g][grid], GREENZONE[g][grName]);
     	strcat(stringer,str);
	}
 	return ShowPlayerDialog(playerid, 7555, 2, "Зеленые зоны", stringer, "Выбор", "Закрыть");
}
//к диалогам
		case 7555:
		    {
		    	if(!response) return true;
				switch(listitem)
				{
			    	case 0: ShowPlayerDialog(playerid, 7556, DIALOG_STYLE_INPUT, "Создать зеленую зону", "Введите название зоны и дистанцию через знак ','", "Далее", "Закрыть");
			    	default:
					{
			 			SetPVarInt(playerid,"ZONEID",listitem);
				  		ShowPlayerDialog(playerid,7557,DIALOG_STYLE_LIST,"Редактирование зоны","{FFCC00}• {FFFFFF}Изменить название\n{FFCC00}• {FFFFFF}Изменить положение\n{FFCC00}• {FFFFFF}Изменить дистанцию", "Далее", "Закрыть");
					}
				}
			}
		case 7556:
			{
		    	if(!response) return true;
		    	new price,name[32];
  				if(sscanf(inputtext,"p<,>s[32]i",name,price)) return ShowPlayerDialog(playerid, 7556, DIALOG_STYLE_INPUT, "Создать зеленую зону", "Введите название зоны и дистанцию через знак ','", "Далее", "Закрыть");
		    	TOTALZONE++;
		    	GetPlayerPos(playerid, GREENZONE[TOTALZONE][grX],GREENZONE[TOTALZONE][grY]
,GREENZONE[TOTALZONE][grZ]);
		    	GREENZONE[TOTALZONE][grVirt] = GetPlayerVirtualWorld(playerid);
		    	mysql_format(connects, mysql_query_, sizeof(mysql_query_), "INSERT INTO `"TABLE_GREENZONE"` (`grname`) VALUES ('%e')",name);
 				mysql_function_query(connects, mysql_query_, false, "", "");
 				strmid(GREENZONE[TOTALZONE][grName],name, 0, strlen(name), 32);
 				GREENZONE[TOTALZONE][grid] = TOTALZONE;
 				GREENZONE[TOTALZONE][grD] = float(price);
 				SaveZone(TOTALZONE);
 				return SendMes(playerid,COLOR_WHITE,"Зеленая зона под номером %i создана!",TOTALZONE);
			}
		case 7557:
			{
		    	if(!response) return true;
		    	switch(listitem)
		    	{
		        	case 0: ShowPlayerDialog(playerid, 7558, DIALOG_STYLE_INPUT, "Изменить название", "Введите название зоны:", "Далее", "Закрыть");
		        	case 1:
		        	{
		            	GetPlayerPos(playerid, GREENZONE[GetPVarInt(playerid,"ZONEID")][grX],GREENZONE[
GetPVarInt(playerid,"ZONEID")][grY],GREENZONE[GetPVarInt(playerid,
"ZONEID")][grZ]);
		    			GREENZONE[GetPVarInt(playerid,"ZONEID")][grVirt] = GetPlayerVirtualWorld(playerid);
		    			SaveZone(GetPVarInt(playerid,"ZONEID"));
					}
					case 2: ShowPlayerDialog(playerid, 7559, DIALOG_STYLE_INPUT, "Изменить дистанцию", "Введите дистанцию для зоны:", "Далее", "Закрыть");
				}
				return true;
			}
		case 7558:
			{
		    		if(!response) return true;
		    		strmid(GREENZONE[GetPVarInt(playerid,"ZONEID")][grName]
,inputtext, 0, strlen(inputtext), 32);
		    		SaveZone(GetPVarInt(playerid,"ZONEID"));
			}
		case 7559:
			{
		    		if(!response) return true;
		    		GREENZONE[GetPVarInt(playerid,"ZONEID")][grD] = float(strval(inputtext));
		    		SaveZone(GetPVarInt(playerid,"ZONEID"));
			}
//ко стокам
publics: LoadZone()
{
    new r, fs;
    cache_get_data(r, fs);
    new idx;
    for(idx = 1; idx <= r; idx++)
    {
	    GREENZONE[idx][grid] = cache_get_row_int(idx-1,0, connects);
	    GREENZONE[idx][grX] = cache_get_row_float(idx-1,1, connects);
	    GREENZONE[idx][grY] = cache_get_row_float(idx-1,2, connects);
	    GREENZONE[idx][grZ] = cache_get_row_float(idx-1,3, connects);
	    GREENZONE[idx][grD] = cache_get_row_float(idx-1,4, connects);
	    cache_get_row(idx-1, 5, GREENZONE[idx][grName], connects, 32);
	    GREENZONE[idx][grVirt] = cache_get_row_int(idx-1,6, connects);
    		TOTALZONE++;
	}
	printf("-> Загружено зеленых зон: %i",TOTALZONE);
}
stock SaveZone(idx)
{
    mysql_format(connects,mysql_query_, sizeof(mysql_query_), "UPDATE "TABLE_GREENZONE" SET grx = '%f', gry = '%f', grz = '%f', grd = '%f', grname = '%s', grvirt = '%i' WHERE id = %i",
	GREENZONE[idx][grX],GREENZONE[idx][grY],GREENZONE[
idx][grZ],GREENZONE[idx][grD],GREENZONE[idx][
grName],GREENZONE[idx][grVirt], idx);
	mysql_function_query(connects, mysql_query_, false, "", "");
	return true;
}

0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика