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

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

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

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

Оптимизация кода.

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

Doker052

Умник
Всем привет пользователи P-I помогите мне оптимизоровать вот эту команду.

PHP:
COMMAND:t(playerid, params[])
{
    new param[12],string[200], num;
	sscanf(params, "s[12]d", param, num);
	if(GetString(param,"lock"))
  	{
	    for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,3,X,Y,Z))
			{
			    new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
				    if(!TrunkInfo[c][tOpen])
				    {
				        if(!IsAOwnableCar(c) || IsPlayerHaveCar(playerid,c))
				        {
					        TrunkInfo[c][tOpen] = 1;
					        SendClientMessage(playerid,-1,"Áàãàæíèê îòêðûò");
			       			SetBootStatus(c,1);
		       			}
		       			else SendClientMessage(playerid,COLOR_GREY,"Ó âàñ íåò êëþ÷åé îò ýòîãî òðàíñïîðòà");
					}
					else
					{
					    TrunkInfo[c][tOpen] = 0;
				        SendClientMessage(playerid,-1,"Áàãàæíèê çàêðûò");
		       			SetBootStatus(c,0);
					}
					break;
				}
			}
		}
	}
	else if(GetString(param,"info"))
 	{
		for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
			{
			    new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
					if(TrunkInfo[c][tOpen] == 1)
					{
						new str[500] = "{FFFFFF}";
						for(new i;i < 10;i ++)
						{
						    if(TrunkInfo[c][tGun][i] != 0)
						    {
						        format(string,sizeof(string),"Îðóæèå[%d]: %s | Ïàòðîíû: %d\n",i+1,GunName(TrunkInfo[c][tGun][i]),TrunkInfo[c][tAmmo][i]);
						        strcat(str,string);
						    }
						}
						format(string,sizeof(string),"Ìàòåðèàëû: %d\n",TrunkInfo[c][tMats]);
						strcat(str,string);
						format(string,sizeof(string),"Íàðêîòèêè: %dã\n",TrunkInfo[c][tDrugs]);
						strcat(str,string);
						format(string,sizeof(string),"Áðîíåæèëåòû: %døò\n",TrunkInfo[c][tArmours]);
						strcat(str,string);
						format(string,sizeof(string),"Èíãðèäèåíòû: %døò\n",TrunkInfo[c][tPackets]);
						strcat(str,string);
						ShowPlayerDialogEx(playerid,INVALID_DIALOG_ID,0,"Áàãàæíèê",str,"ÎÊ","");
					}
					else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò.Îòêðîéòå åãî (( /t lock ))");
					break;
				}
			}
		}
	}
	else if(GetString(param,"putarmour"))
  	{
  	    if(PI[playerid][pArmours])
  	    {
  	        for(new c = 1; c < ADD_VEHICLES; c ++)
			{
			    if(!IsACar(c)) continue;
			    new Float:X,Float:Y,Float:Z;
				GetVehicleShiftPos(c,1,X,Y,Z,3.0);
				if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
				{
				    new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
				    if(angle >= -45 && angle <= 45)
				    {
					    if(TrunkInfo[c][tOpen] == 1)
						{
							if(TrunkInfo[c][tArmours] < 5)
							{
							    TrunkInfo[c][tArmours] ++;
							    PI[playerid][pArmours] --;
							    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Âû ïîëîæèëè áðîíåæèëåò â áàãàæíèê");
							}
							else SendClientMessage(playerid,COLOR_GREY,"Â áàãàæíèêå óæå ëåæèò 5 áðîíåæèëåòîâ");
						}
						else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
						break;
					}
				}
			}
  	    }
  	    else SendClientMessage(playerid,COLOR_GREY,"Ó âàñ íåò áðîíåæèëåòà");
  	}
  	else if(GetString(param,"takearmour"))
  	{
  	    if(!PI[playerid][pArmours])
  	    {
  	        for(new c = 1; c < ADD_VEHICLES; c ++)
			{
			    if(!IsACar(c)) continue;
			    new Float:X,Float:Y,Float:Z;
				GetVehicleShiftPos(c,1,X,Y,Z,3.0);
				if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
				{
				    new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    	if(angle >= -45 && angle <= 45)
			    	{
					    if(TrunkInfo[c][tOpen] == 1)
						{
							if(TrunkInfo[c][tArmours] > 0)
							{
							    TrunkInfo[c][tArmours] --;
							    PI[playerid][pArmours] ++;
							    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Âû äîñòàëè áðîíåæèëåò ñ áàãàæíèêà");
							}
							else SendClientMessage(playerid,COLOR_GREY,"Â áàãàæíèêå íåò áðîíåæèëåòîâ");
						}
						else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
						break;
					}
				}
			}
  	    }
  	    else SendClientMessage(playerid,COLOR_GREY,"Ó âàñ óæå åñòü áðîíåæèëåò");
  	}
	else if(GetString(param,"putdrugs"))
  	{
  	    if(num < 1) return SendClientMessage(playerid, COLOR_GREY, "Èñïîëüçóéòå: /t putdrugs [Êîë-âî]");
		for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
			{
				new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
					if(TrunkInfo[c][tOpen])
					{
						if(num <= PI[playerid][pDrugs])
						{
							format(string,sizeof(string),"Âû ïîëîæèëè â áàãàæíèê %dã íàðêîòèêîâ",num);
							SendClientMessage(playerid,COLOR_WHITE,string);
							TrunkInfo[c][tDrugs] += num;
							PI[playerid][pDrugs] -= num;
						}
						else SendClientMessage(playerid,COLOR_GREY,"Ó âàñ íåò ñòîëüêî íàðêîòèêîâ");
					}
					else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
					break;
				}
			}
		}
	}
	else if(GetString(param,"takedrugs"))
  	{
  	    if(num < 1) return SendClientMessage(playerid, COLOR_GREY, "Èñïîëüçóéòå: /t takedrugs [Êîë-âî]");
		for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
			{
				new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
					if(TrunkInfo[c][tOpen])
					{
						if(num <= TrunkInfo[c][tDrugs])
						{
							format(string,sizeof(string),"Âû äîñòàëè èç áàãàæíèêà %dã íàðêîòèêîâ",num);
							SendClientMessage(playerid,COLOR_WHITE,string);
							TrunkInfo[c][tDrugs] -= num;
							PI[playerid][pDrugs] += num;
						}
						else SendClientMessage(playerid,COLOR_GREY,"Â áàãàæíèêå íåò ñòîëüêî íàðêîòèêîâ");
					}
					else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
					break;
				}
			}
		}
	}
	else if(GetString(param,"putmats"))
  	{
  	    if(num < 1) return SendClientMessage(playerid, COLOR_GREY, "Èñïîëüçóéòå: /t putmats [Êîë-âî]");
		for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
			{
				new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
					if(TrunkInfo[c][tOpen])
					{
						if(num <= PI[playerid][pMats])
						{
							format(string,sizeof(string),"Âû ïîëîæèëè â áàãàæíèê %d ìàòåðèàëîâ",num);
							SendClientMessage(playerid,COLOR_WHITE,string);
							TrunkInfo[c][tMats] += num;
							PI[playerid][pMats] -= num;
						}
						else SendClientMessage(playerid,COLOR_GREY,"Ó âàñ íåò ñòîëüêî ìàòåðèàëîâ");
					}
					else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
					break;
				}
			}
		}
	}
	else if(GetString(param,"takemats"))
  	{
  	    if(num < 1) return SendClientMessage(playerid, COLOR_GREY, "Èñïîëüçóéòå: /t takemats [Êîë-âî]");
  	    for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
			{
			    new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
				    if(TrunkInfo[c][tOpen])
				    {
						if(num <= TrunkInfo[c][tMats])
						{
						    if(PI[playerid][pMats] + num > 2000) return SendClientMessage(playerid, COLOR_GREY, "Âû íå ñìîæåòå óíåñòè ñ ñîáîé áîëåå 2000 ìàòåðèàëîâ");
							format(string,sizeof(string),"Âû äîñòàëè èç áàãàæíèêà %d ìàòåðèàëîâ",num);
							SendClientMessage(playerid,COLOR_WHITE,string);
							TrunkInfo[c][tMats] -= num;
							PI[playerid][pMats] += num;
						}
						else SendClientMessage(playerid,COLOR_GREY,"Â áàãàæíèêå íåò ñòîëüêî ìàòåðèàëîâ");
					}
					else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
					break;
				}
			}
		}
	}
	else if(GetString(param,"puting"))
  	{
  	    if(num < 1) return SendClientMessage(playerid, COLOR_GREY, "Èñïîëüçóéòå: /t puting [Êîë-âî]");
		for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
			{
				new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
					if(TrunkInfo[c][tOpen])
					{
						if(num <= PI[playerid][pPackets])
						{
							format(string,sizeof(string),"Âû ïîëîæèëè â áàãàæíèê %d èíãðèäèåíòîâ",num);
							SendClientMessage(playerid,COLOR_WHITE,string);
							TrunkInfo[c][tPackets] += num;
							PI[playerid][pPackets] -= num;
						}
						else SendClientMessage(playerid,COLOR_GREY,"Ó âàñ íåò ñòîëüêî èíãðèäèåíòîâ");
					}
					else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
					break;
				}
			}
		}
	}
	else if(GetString(param,"takeing"))
  	{
  	    if(num < 1) return SendClientMessage(playerid, COLOR_GREY, "Èñïîëüçóéòå: /t takeing [Êîë-âî]");
  	    for(new c = 1; c < ADD_VEHICLES; c ++)
		{
		    if(!IsACar(c)) continue;
			new Float:X,Float:Y,Float:Z;
			GetVehicleShiftPos(c,1,X,Y,Z,3.0);
			if(IsPlayerInRangeOfPoint(playerid,1,X,Y,Z))
			{
			    new Float:angle = GetPlayerAngleToPoint(playerid, X, Y);
			    if(angle >= -45 && angle <= 45)
			    {
				    if(TrunkInfo[c][tOpen])
				    {
						if(num <= TrunkInfo[c][tPackets])
						{
						    if(PI[playerid][pPackets] + num > 30) return SendClientMessage(playerid, COLOR_GREY, "Âû íå ñìîæåòå óíåñòè ñ ñîáîé áîëåå 30 èíãðèäèåíòîâ");
							format(string,sizeof(string),"Âû äîñòàëè èç áàãàæíèêà %d èíãðèäèåíòîâ",num);
							SendClientMessage(playerid,COLOR_WHITE,string);
							TrunkInfo[c][tPackets] -= num;
							PI[playerid][pPackets] += num;
						}
						else SendClientMessage(playerid,COLOR_GREY,"Â áàãàæíèêå íåò ñòîëüêî èíãðèäèåíòîâ");
					}
					else SendClientMessage(playerid,COLOR_GREY,"Áàãàæíèê çàêðûò. Îòêðîéòå åãî (( /t lock ))");
					break;
				}
			}
		}
	}
	else ShowTrunkHelp(playerid, INVALID_DIALOG_ID);
	return true;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу