Доступ к готовым решениям

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

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

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

Мануал Работа "автоугонщик/автодиллер"

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

Regisss

Умник
Вообщем, опишу в кратце. Нам даётся на выбор 10 машин, которые обновляются каждый час. Нам нужно привести к докам любую из доступных машин и продать её, после чего получить сумму денег.

И так, думаю, объяснил доступно. Начнём.

В начало мода:

PHP:
#define cGREEN 3caa3c
#define COLOR_ORANGE 0xffae42FF
#define cORANGE ffae42 // цвета
static dropcars[][2] = { // Переменная, хранящая ид и цену авто
{411,20000}, // Инфернус за 20к
{560,15000} // султан за 15к, добавляйте дальше свои.
};
new WantedCars[10]; // переменная, хранящая модель 10-и машин.
В паблик OnGameModeInit()

PHP:
Create3DTextLabel("{FFFFFF}Чтобы продать машину используйте\n{"#cORANGE"}/dropcar",0xFFFFFF, -1548.9137,123.7483,5.2504, 20.0, 0, 1); // информация
CreateDynamicObject(3077, -1570.51135, 137.25484, 2.51400,   0.00000, 0.00000, -7.80001); // доска
SetWantedCars(); // сделаем наши первые 10 машин
Так же в ваш PAYDAY до цикла добавьте строку "SetWantedCars();"

В конец мода:

PHP:
SetWantedCars()
{
	new Text3D:wantedtext = Create3DTextLabel("",0xFFFFFF, -1570.51135, 137.25484, 5.0, 40.0, 0, 0); // создадим текст
	new string[64 * 11],str[64]; // сделаем переменные текста
	strcat(string,"{"#cORANGE"}Разыскиваются Автомобили:{FFFFFF}\n"); // добавим первую строку
	new x = 0; // переменная цикла
	while(x != 10) // цикл
	{
	    starts: { // точка возвращения
	        new psd = random(sizeof(dropcars)); // рандомный кар
		for(new i; i < 10; i++) if(WantedCars[i] == dropcars[psd][0]) { goto starts; } // если уже есть такой - назад
		format(size(str),"%d. %s[%d] - {"#cGREEN"}%d${FFFFFF}\n",x + 1,VehicleNames[dropcars[psd][0] - 400],dropcars[psd][0],dropcars[psd][1]); // форматируем текст
		strcat(string,str); // присоединяем
		printf("В слот WantedCars[%d] помещён ид машины %d",x,dropcars[psd][0]); // выводим для проверки
		WantedCars[x] = dropcars[psd][0]; // записываем модель
		x++; // прибавляем переменную
		}
	}
	Update3DTextLabelText(wantedtext,0xFFFFFF,string); // обновим текст
	return 1;
}
Далее, в команды:

DC_CMD:
PHP:
	CMD:dropcar(playerid,params[])
	{
		if(IsPlayerConnected(playerid))
		{
		    if(!IsPlayerInRangeOfPoint(playerid,20.0,-1548.9137,123.7483,5.2504)) return Error(playerid,"Вы не в доках SF!");
			new Float:health;
			new carid = GetPlayerVehicleID(playerid);
			GetVehicleHealth(carid, health);
			if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
			{
			    new okay = 0;
			    for(new v; v < 10; v++)
				{
					if(GetVehicleModel(carid) == WantedCars[v] && (!IsFractionCar(carid) && !IsPersCar(carid)))
					{
						new hp = floatround(health);
						new money = 0;
						switch(hp)
						{
							case 1..800: money = (dropcars[v][1] / 4);
							case 900..999: money = dropcars[v][1] / 2;
							case 1000: money = dropcars[v][1];
							default: money = 0;
						}
						format(string, sizeof(string), "[DROPCAR]: {FFFFFF}Вы продали автомобиль за {"#cGREEN"}$%d",money);
						send(giveplayerid, COLOR_LIME, string);
						format(size(string),"~g~+%d$",money); GameTextForPlayer(playerid,string,5000,1);
						GiveMoney(playerid, money);
						DestroyVehicle(carid);
						okay++;
						break;
					}
				}
				if(!okay) return Error(playerid,"Вы привезли не ту машину!");
			}
			else return Error(playerid,"Вы должны быть в машине!");
		}
		return true;
	}
OnPlayerCommandText:
PHP:
        if(!strcmp(cmdtext,"/dropcar",true))
	{
		if(IsPlayerConnected(playerid))
		{
		    if(!IsPlayerInRangeOfPoint(playerid,20.0,-1548.9137,123.7483,5.2504)) return Error(playerid,"Вы не в доках SF!");
			new Float:health;
			new carid = GetPlayerVehicleID(playerid);
			GetVehicleHealth(carid, health);
			if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
			{
			    new okay = 0;
			    for(new v; v < 10; v++)
				{
					if(GetVehicleModel(carid) == WantedCars[v] && (!IsFractionCar(carid) && !IsPersCar(carid)))
					{
						new hp = floatround(health);
						new money = 0;
						switch(hp)
						{
							case 1..800: money = (dropcars[v][1] / 4);
							case 900..999: money = dropcars[v][1] / 2;
							case 1000: money = dropcars[v][1];
							default: money = 0;
						}
						format(string, sizeof(string), "[DROPCAR]: {FFFFFF}Вы продали автомобиль за {"#cGREEN"}$%d",money);
						send(giveplayerid, COLOR_LIME, string);
						format(size(string),"~g~+%d$",money); GameTextForPlayer(playerid,string,5000,1);
						GiveMoney(playerid, money);
						DestroyVehicle(carid);
						okay++;
						break;
					}
				}
				if(!okay) return Error(playerid,"Вы привезли не ту машину!");
			}
			else return Error(playerid,"Вы должны быть в машине!");
		}
		return true;
	}

Кому нужен define Error:
PHP:
#define Error(%0,%1)    SendClientMessage(%0,0xFF6347FF,"[ERROR]:{FFFFFF} "%1"")
Вообщем-то все :)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу