Перейти к содержанию
Авторизация  
NIKRUS

Переделка команды

Рекомендуемые сообщения

NIKRUS

Всем привет! Недавно нашел скрипт гаражей, но меня там не устраивают команды(/ga lock, /ga sell, и т.д.). Думал изменить в pwn, но там это:

	if(strcmp(cmd,"/ga",true)==0)
	{
		new temp[256];
		temp = strtok(cmdtext, idx);
		if(!strlen(temp)) return SendClientMessage(playerid,COLOR_WHITE," ???????????: /ga [buy(??????) sell(???????) lock(???????) enter(?????) exit(?????)");
		if(strcmp(temp,"buy",true)==0)
		{
			for(new gar = 1; gar <= TOTALGARAGE;gar++)
			{
				if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]))
				{
					new gares = 0;
					if(!strcmp(Names(playerid), Garage[gar][gOwner], true)) gares++;
					{
						if(PlayerInfo[playerid][pVIP] == 3)
						{
							if(gares >= 2) return SendClientMessage(playerid, COLOR_GRAD2, "? ??? ??????? ????? ?????");
						}
						else if(gares >= 1) return SendClientMessage(playerid, COLOR_GRAD2, "? ??? ??????? ????? ?????");
					}
					if(!strcmp("None", Garage[gar][gOwner], true))
					{
						if(PlayerInfo[playerid][pMoney] > Garage[gar][gPrice])
						{
							strmid(Garage[gar][gOwner], Names(playerid), 0, strlen(Names(playerid)), 255);
							GiveMoney(playerid,-Garage[gar][gPrice]);
							format(temp,sizeof(temp),"{FF0000}????? ?????:[%d]\n{33AA33}????????:{FFFFFF}[%s]\n{FFFFFF}??? ?? ??????????????? /ga",gar,Garage[gar][gOwner]);
							UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp);
							SaveGarage(gar);
							return SendClientMessage(playerid,COLOR_WHITE," ?? ??????? ?????? ?????");
						}
						else return SendClientMessage(playerid,COLOR_WHITE," ? ??? ???? ????? ?? ???????");
					}
					else return SendClientMessage(playerid,COLOR_WHITE," ????? ??? ??? ?? ??????");
				}
			}
		}
		else if(strcmp(temp,"sell",true)==0)
		{
			for(new gar = 1; gar <= TOTALGARAGE;gar++)
			{
				if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]))
				{
					if(!strcmp(Names(playerid), Garage[gar][gOwner], true))
					{
						strmid(Garage[gar][gOwner], "None", 0, strlen("None"), 255);
						GiveMoney(playerid,Garage[gar][gPrice]/2);
						Garage[gar][gLock] = 1;
						SaveGarage(gar);
						format(temp,sizeof(temp),"{FF0000}????? ????? [%d]\n?????????? ???? {FFFF00}[%d ???]\n{FFFFFF}??? ?? ??????????????? /ga",gar,Garage[gar][gPrice]);
						UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp);
						return SendClientMessage(playerid,COLOR_WHITE," ?? ??????? ??????? ???? ?????");
					}
					else return SendClientMessage(playerid,COLOR_WHITE," ????? ?? ??????????? ???");
				}
			}
		}
		else if(strcmp(temp,"lock",true)==0)
		{
			for(new gar = 1; gar <= TOTALGARAGE;gar++)
			{
				if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]) || (IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid)))
				{
					if(!strcmp(Names(playerid), Garage[gar][gOwner], true))
					{
						if(Garage[gar][gLock] == 1)
						{
							Garage[gar][gLock] = 0;
							SaveGarage(gar);
							return SendClientMessage(playerid,COLOR_WHITE," ????? ??????");
						}
						else
						{
							Garage[gar][gLock] = 1;
							SaveGarage(gar);
							return SendClientMessage(playerid,COLOR_WHITE," ????? ??????");
						}
					}
					else return SendClientMessage(playerid,COLOR_WHITE," ????? ?? ??????????? ???");
				}
			}
		}
		else if(strcmp(temp,"enter",true)==0)
		{
			for(new gar = 1; gar <= TOTALGARAGE;gar++)
			{
				if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]))
				{
					if(Garage[gar][gLock] == 1) return SendClientMessage(playerid,COLOR_WHITE," ????? ??????");
					if(IsPlayerInAnyVehicle(playerid))
					{
						new carid = GetPlayerVehicleID(playerid);
						SetVehiclePos(carid, GARAGE_X,GARAGE_Y,GARAGE_Z+1.0);
						SetPlayerPos(playerid,GARAGE_X,GARAGE_Y,GARAGE_Z+1.0);
						LinkVehicleToInterior(carid, GARAGE_INT);
						SetVehicleVirtualWorld(carid, gar);
						SetVehicleZAngle(carid, GARAGE_A);
						SetPlayerInterior(playerid,GARAGE_INT);
						SetPlayerVirtualWorld(playerid,gar);
						PutPlayerInVehicle(playerid,carid,0);
					}
					else
					{
						SetPlayerPos(playerid,GARAGE_X,GARAGE_Y-4.0,GARAGE_Z+1.0);
						SetPlayerInterior(playerid,GARAGE_INT);
						SetPlayerVirtualWorld(playerid,gar);
					}
					break;
				}
			}
		}
		else if(strcmp(temp,"exit",true)==0)
		{
			if(GetPlayerVirtualWorld(playerid) == 0) return SendClientMessage(playerid,COLOR_WHITE," ?? ?? ?????????? ? ?????? ");
			for(new gar = 1; gar <= TOTALGARAGE;gar++)
			{
				if(IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid))
				{
					if(IsPlayerInAnyVehicle(playerid))
					{
						new carid = GetPlayerVehicleID(playerid);
						LinkVehicleToInterior(carid, 0);
						SetVehicleVirtualWorld(carid, 0);
						SetPlayerInterior(playerid,0);
						SetPlayerVirtualWorld(playerid,0);
						SetVehiclePos(carid, Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0);
						SetVehicleZAngle(carid, Garage[gar][gA]);
						SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0);
						PutPlayerInVehicle(playerid,carid,0);
					}
					else
					{
						SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0);
						SetPlayerInterior(playerid,0);
						SetPlayerVirtualWorld(playerid,0);
					}
					break;
				}
			}
		}
		return true;

Как тут изменить на стандартные комадны(по типу /galock, /gasell)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Создать их отдельно и вынести код отдельно из тела каждой команды.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
NIKRUS

@Wеb, Тоесть это

	else if(strcmp(temp,"sell",true)==0) 

заменить на

if(strcmp(cmd,"/sell",true)==0) 

Правильно понимаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Да и код из тела команды переносить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.