Форум Pawn.Wiki - Воплоти мечту в реальность!: changeskin - Форум Pawn.Wiki - Воплоти мечту в реальность!

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

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

[ Pawn ]
changeskin

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

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Здравствуйте, проблема с командой /changeskin
Когда заместитель вводит команду /changeskin [id], то открывается диалог, а когда заместитель уже выбрал скин и нажал "Выдать", то ничего не происходит.
Буду благодарен если поможете


CMD:changeskin(playerid, params[])
{
	if(PLAYER_DATA[playerid][data_RANK] < 9) return SCM(playerid, COLOR_SUNGLOW, "Вам недоступна данная команда!");
	if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_SUNGLOW, "Используйте: {FFFFFF}/changeskin [ID]");
	if(Form[playerid] == false) return SCM(playerid, COLOR_SUNGLOW, "На вас нет формв!");
    if(Form[params[0]] == false) return SCM(playerid, COLOR_SUNGLOW, "На игроке нет формы!");
	if(PLAYER_DATA[params[0]][data_START_JOB] != 0) return SCM(playerid, COLOR_SUNGLOW, "На игроке надета рабочая форма!");
	if(PLAYER_DATA[params[0]][data_LOGGED] == false) return SCM(playerid, COLOR_SUNGLOW, "Данный игрок не прошел авторизацию!");
	if(PLAYER_DATA[playerid][data_MEMBER] != PLAYER_DATA[params[0]][data_MEMBER]) return SCM(playerid, COLOR_SUNGLOW, "Данный игрок не состоит в Вашей организации!");

	new Float:x, 
		Float:y, 
		Float:z;
	GetPlayerPos(params[0], x, y, z);
	if(!IsPlayerInRangeOfPoint(playerid, 3.5, x, y, z)) return SCM(playerid, COLOR_SUNGLOW, "Игрок слишком далеко от вас!");

	SetPVarInt(playerid, "CHANGE_SKIN", params[0]);
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [ Правительство ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	if(PLAYER_DATA[playerid][data_MEMBER] == 1)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "59 (M)\n141 (Ж)\n164 (M)\n227 (M)\n228 (М)", "Выбрать", "Отмена");
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [ ГАИ, УВД, ФСБ ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	if(PLAYER_DATA[playerid][data_MEMBER] == 3)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "266 (M)\n267 (M)\n280 (M)\n284 (M)\n288 (M)\n263 (Ж)\n211 (Ж)", "Выбрать", "Отмена"); // ГАИ
	if(PLAYER_DATA[playerid][data_MEMBER] == 8)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "72 (M)\n166 (M)\n270 (M)\n278 (M)\n285 (М)\n286 (М)", "Выбрать", "Отмена"); // ФСБ
	if(PLAYER_DATA[playerid][data_MEMBER] == 12) SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "76 (Ж)\n234 (M)\n265 (M)\n267 (M)\n268 (М)\n288 (М)", "Выбрать", "Отмена"); // УВД
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [ Армия ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	if(PLAYER_DATA[playerid][data_MEMBER] == 2)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "76 (Ж)\n234 (M)\n265 (М)\n267 (М)\n268 (М)\n288 (М)", "Выбрать", "Отмена");
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [ ТРК ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	if(PLAYER_DATA[playerid][data_MEMBER] == 9)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "188 (M)\n211 (Ж)\n217 (M)\n250 (М)\n261 (М)", "Выбрать", "Отмена");
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [ МЧС ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	if(PLAYER_DATA[playerid][data_MEMBER] == 10) SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "203 (M)\n204 (M)\n205 (Ж)\n258 (M)\n277 (M)", "Выбрать", "Отмена");
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [ Автошкола ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	if(PLAYER_DATA[playerid][data_MEMBER] == 11) SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "11 (Ж)\n66 (M)\n189 (М)", "Выбрать", "Отмена");
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [ Больница ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	if(PLAYER_DATA[playerid][data_MEMBER] == 4)	 SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "70 (M)\n274 (M)\n275 (M)\n276 (M)\n148 (Ж)", "Выбрать", "Отмена");
	//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [ Мафии ] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	if(PLAYER_DATA[playerid][data_MEMBER] == 5)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "111 (M)\n113 (М)\n117 (М)\n119 (М)", "Выбрать", "Отмена"); // Русская Мафия
	if(PLAYER_DATA[playerid][data_MEMBER] == 6)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "120 (M)\n121 (M)\n122 (М)\n123 (М)\n124 (М)", "Выбрать", "Отмена"); // Кавказская Мафия
	if(PLAYER_DATA[playerid][data_MEMBER] == 7)  SPD(playerid, dialog_SETSKIN, DIALOG_STYLE_LIST, "{FFCC00}Выберете форму одежды", "112 (M)\n126 (M)\n127 (М)", "Выбрать", "Отмена"); // Восточная Мафия
	return 1;
}	



		case dialog_SETSKIN:
		{
			if(response)
			{
				new target_id = GetPVarInt(playerid, "CHANGE_SKIN");
				switch(PLAYER_DATA[playerid][data_MEMBER])
				{
					case 1:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 59;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 141;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 164;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 227;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 228;
						}
					}
					case 2:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 76;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 234;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 265;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 267;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 268;
							case 5: PLAYER_DATA[playerid][data_SKINM] = 288;
						}
					}
					case 3:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 266;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 267;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 280;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 284;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 288;
							case 5: PLAYER_DATA[playerid][data_SKINM] = 263;
							case 7: PLAYER_DATA[playerid][data_SKINM] = 211;
						}
					}
					case 4:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 70;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 274;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 275;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 276;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 148;
						}
					}
					case 5:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 111;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 113;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 117;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 119;
						}
					}
					case 6:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 120;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 121;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 122;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 123;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 124;
						}
					}
					case 7:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 112;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 126;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 127;
						}
					}
					case 8:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 72;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 166;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 270;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 278;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 285;
							case 5: PLAYER_DATA[playerid][data_SKINM] = 286;
						}
					}
					case 9:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 188;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 211;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 217;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 250;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 261;
						}
					}
					case 10:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 203;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 204;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 205;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 258;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 277;
						}
					}
					case 11:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 11;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 66;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 189;
						}
					}
					case 12:
					{
						switch(listitem)
						{
							case 0: PLAYER_DATA[playerid][data_SKINM] = 76;
							case 1: PLAYER_DATA[playerid][data_SKINM] = 234;
							case 2: PLAYER_DATA[playerid][data_SKINM] = 265;
							case 3: PLAYER_DATA[playerid][data_SKINM] = 267;
							case 4: PLAYER_DATA[playerid][data_SKINM] = 268;
							case 5: PLAYER_DATA[playerid][data_SKINM] = 288;
						}
					}
				}
				new string[256], query[256];

				SetPlayerSkinAC(target_id, PLAYER_DATA[playerid][data_SKINM]);

				f("Лидер %s поменял вам игровой скин на %d ID", PLAYER_DATA[playerid][data_NAME], PLAYER_DATA[playerid][data_SKINM]);
				SCM(GetPVarInt(playerid, "CHANGE_SKIN"), COLOR_SUNGLOW, string);
				f("Вы выдали форму %s под ID %d", PLAYER_DATA[GetPVarInt(playerid, "CHANGE_SKIN")][data_NAME], PLAYER_DATA[playerid][data_SKINM]);
				SCM(playerid, COLOR_SUNGLOW, string);
				f("%s выдал вам фракционную форму", PLAYER_DATA[playerid][data_NAME]);
				ProxDetector(10.1, playerid, string,COLOR_PINK ,COLOR_PINK ,COLOR_PINK ,COLOR_PINK ,COLOR_PINK);
				SetPlayerChatBubble(playerid, string, COLOR_PINK, 10.1, 10000);

				mysql_format(dbHandle, query, sizeof(query), "UPDATE `accounts` SET `skinm` = '%d' WHERE `name` = '%s'", PLAYER_DATA[playerid][data_SKINM], PLAYER_DATA[GetPVarInt(playerid, "CHANGE_SKIN")][data_NAME]);
				mysql_tquery(dbHandle, query);

     			if(Form[GetPVarInt(playerid, "CHANGE_SKIN")] == true) SetPlayerSkinAC(GetPVarInt(playerid, "CHANGE_SKIN"), PLAYER_DATA[GetPVarInt(playerid, "CHANGE_SKIN")][data_SKINM]);
	 			DeletePVar(playerid, "CHANGE_SKIN");		
			}
		}

0

#2
Пользователь офлайн   ddrgtagfon 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
перепиши всю эту поеботу мягко говоря, лучше на массив, будет читабельно, как минимум

                        if(Form[GetPVarInt(playerid, "CHANGE_SKIN")] == true) SetPlayerSkinAC(GetPVarInt(playerid, "CHANGE_SKIN"), PLAYER_DATA[GetPVarInt(playerid, "CHANGE_SKIN")][data_SKINM]);
                                DeletePVar(playerid, "CHANGE_SKIN");            
                        }

а это что вообще такое?
1

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


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

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


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