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

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

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

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

Мануал Работа Автовора

Saibot

Мастер
Professional
Пользователь
Регистрация
20 Сен 2013
Сообщения
2,643
Лучшие ответы
84
Репутация
1,405
Награды
4
Давно я уже не выкладывал какие то Мануалы и поэтому сегодня, решил сделать работу Автовора.

Ко всем переменным:
PHP:
new car_thief_pickup,
	car_thief_zone[4],
	car_thief_timer[MAX_PLAYERS char],
	car_thief_time_press[MAX_PLAYERS char],
	car_thief_vehicle[MAX_PLAYERS] = {-1,...},
	Text: car_thief_model_TD[MAX_PLAYERS][4],
	Text: car_thief_buttons_TD[MAX_PLAYERS][15];

enum e_CAR_THIEF_JOB
{
    VEHICLE_NAMES[19],
    MODEL_VEHICLE,
	Float: POSITION_VEHICLE_X,
	Float: POSITION_VEHICLE_Y,
	Float: POSITION_VEHICLE_Z,
	Float: POSITION_VEHICLE_A
}

static const car_thief_array [][e_CAR_THIEF_JOB] =
{
	{"Sultan (id: 560)", 560, 1147.4513, -1347.3259, 13.6368, 177.6675},
	{"Cheetah (id: 415)", 415, 1319.3998, -1081.4877, 25.5933, 268.2216},
	{"Banshee (id: 429)", 429, 1097.5337, -1187.7130, 18.3361, 178.3175},

	{"Stallion (id: 439)", 439, 2389.5430, -1818.6965, 13.5469, 87.9724},
	{"Admiral (id: 445)", 445, 2219.6355, -1849.1877, 0.8837, 93.6176},
	{"Bullet (id: 541)", 541, 2112.5144, -1629.0964, 13.5156, 85.7790},

	{"Turismo (id: 451)", 451, -2222.8279, 292.4407, 35.1172, 354.1728},
	{"Comet (id: 480)", 480, -2488.6882, 284.8094, 35.1719, 254.5552},
	{"Infernus (id: 411)", 411, -2214.0481, 414.6380, 35.1719, 86.0037}
};
В public OnGameModeInit()
PHP:
car_thief_zone[0] = GangZoneCreate(831.991699, -1540.517700, 1423.991699, -1028.517700);
car_thief_zone[1] = GangZoneCreate(2014.424804, -2201.753173, 2590.424804, -1609.753173);
car_thief_zone[2] = GangZoneCreate(-2498.736328, 68.573822, -1938.736328, 604.573852);

car_thief_pickup = CreatePickup(1239, 2, 980.0743, 2066.5173, 10.8203);
Create3DTextLabel(!"Работа Автовора", -1, 980.0743, 2066.5173, 10.8203, 25.0,0,1);
В public OnPlayerClickTextDraw(playerid, Text: clickedid)
PHP:
if(clickedid >= car_thief_buttons_TD[playerid][4]
&& clickedid <= car_thief_buttons_TD[playerid][7])
{
	new clicked;
	for(new td = 7; td != 4; --td)
	{
	    if(clickedid == car_thief_buttons_TD[playerid][td])
	    {
	        clicked = td;
	        break;
	    }
	}
	static press_keys, pressed_again;
	if(press_keys == clicked - 4)
	{
		pressed_again ++;
		static const amount_symbols [] = "~y~Pushed: ~w~%d~y~/~g~10";
		new fmt_str[sizeof amount_symbols + 2];

		format(fmt_str, sizeof(fmt_str), amount_symbols, pressed_again);
		TextDrawSetString(car_thief_buttons_TD[playerid][8], fmt_str);

		if(pressed_again >= 10)
		{
			press_keys = pressed_again = 0;
			CancelSelectTextDraw(playerid);
			KillTimer(car_thief_timer{playerid});
			TogglePlayerControllable(playerid, 1);
			SetVehicleParamsEx(GetPlayerVehicleID(playerid),true,0,0,0,0,0,0);
			SendClientMessage(playerid, -1, !"Отвези этот транспорт в место сбыта.");
			SetPlayerRaceCheckpoint(playerid,2,948.9506,2070.4307,10.8203,0.0,0.0,0.0,3.0);

			for(new i = 15; i-- != 0;)
				TextDrawHideForPlayer(playerid, car_thief_buttons_TD[playerid][i]);
		}
		else
		{
			new random_keys = random(4);
			switch(random_keys)
			{
				case 0: TextDrawSetString(car_thief_buttons_TD[playerid][3], !"LD_BEAT:triang");
				case 1: TextDrawSetString(car_thief_buttons_TD[playerid][3], !"LD_BEAT:square");
				case 2: TextDrawSetString(car_thief_buttons_TD[playerid][3], !"LD_BEAT:circle");
				case 3: TextDrawSetString(car_thief_buttons_TD[playerid][3], !"LD_BEAT:cross");
			}
			press_keys = random_keys;
			car_thief_time_press{playerid} = 0;
		}
	}
}
В public OnPlayerConnect(playerid)
PHP:
car_thief_model_TD[playerid][0] = TextDrawCreate(108.666763, 210.462844, !"usebox");
TextDrawLetterSize(car_thief_model_TD[playerid][0], 0.000000, 8.901437);
TextDrawTextSize(car_thief_model_TD[playerid][0], 6.333340, 0.000000);
TextDrawUseBox(car_thief_model_TD[playerid][0], true);
TextDrawBoxColor(car_thief_model_TD[playerid][0], 102);

car_thief_model_TD[playerid][1] = TextDrawCreate(107.000106, 212.536941, !"usebox");
TextDrawLetterSize(car_thief_model_TD[playerid][1], 0.000000, 8.401436);
TextDrawTextSize(car_thief_model_TD[playerid][1], 7.583340, 0.000000);
TextDrawUseBox(car_thief_model_TD[playerid][1], true);
TextDrawBoxColor(car_thief_model_TD[playerid][1], 1724684624);

car_thief_model_TD[playerid][2] = TextDrawCreate(-5.833331, 189.777633, !"New Textdraw");
TextDrawLetterSize(car_thief_model_TD[playerid][2], 0.449999, 1.600000);
TextDrawTextSize(car_thief_model_TD[playerid][2], 114.166664, 105.777778);
TextDrawBackgroundColor(car_thief_model_TD[playerid][2], 572661504);
TextDrawFont(car_thief_model_TD[playerid][2], 5);
TextDrawSetPreviewModel(car_thief_model_TD[playerid][2], 560);
TextDrawSetPreviewRot(car_thief_model_TD[playerid][2], -15.000000, 0.000000, 40.000000, 1.000000);

car_thief_model_TD[playerid][3] = TextDrawCreate(57.083328, 272.740692, !"________");
TextDrawLetterSize(car_thief_model_TD[playerid][3], 0.204166, 1.522222);
TextDrawAlignment(car_thief_model_TD[playerid][3], 2);
TextDrawBackgroundColor(car_thief_model_TD[playerid][3], 51);
TextDrawSetProportional(car_thief_model_TD[playerid][3], 1);

car_thief_buttons_TD[playerid][0] = TextDrawCreate(169.916656, 232.240737, !"usebox");
TextDrawLetterSize(car_thief_buttons_TD[playerid][0], 0.000000, 7.057816);
TextDrawTextSize(car_thief_buttons_TD[playerid][0], 11.750000, 0.000000);
TextDrawBoxColor(car_thief_buttons_TD[playerid][0], 102);
TextDrawUseBox(car_thief_buttons_TD[playerid][0], true);

car_thief_buttons_TD[playerid][1] = TextDrawCreate(168.416641, 233.759246, !"usebox");
TextDrawLetterSize(car_thief_buttons_TD[playerid][1], 0.000000, 6.641149);
TextDrawTextSize(car_thief_buttons_TD[playerid][1], 13.000000, 0.000000);
TextDrawBoxColor(car_thief_buttons_TD[playerid][1], -855638176);
TextDrawUseBox(car_thief_buttons_TD[playerid][1], true);

car_thief_buttons_TD[playerid][2] = TextDrawCreate(123.250000, 233.796295, !"usebox");
TextDrawLetterSize(car_thief_buttons_TD[playerid][2], 0.000000, 6.628805);
TextDrawTextSize(car_thief_buttons_TD[playerid][2], 57.583335, 0.000000);
TextDrawBoxColor(car_thief_buttons_TD[playerid][2], 144);
TextDrawUseBox(car_thief_buttons_TD[playerid][2], true);

car_thief_buttons_TD[playerid][3] = TextDrawCreate(76.249992, 248.888870, !"LD_BEAT:triang");
TextDrawLetterSize(car_thief_buttons_TD[playerid][3], 0.000000, 0.000000);
TextDrawTextSize(car_thief_buttons_TD[playerid][3], 27.083341, 28.518524);
TextDrawAlignment(car_thief_buttons_TD[playerid][3], 2);
TextDrawColor(car_thief_buttons_TD[playerid][3], -1);
TextDrawSetShadow(car_thief_buttons_TD[playerid][3], 0);
TextDrawSetOutline(car_thief_buttons_TD[playerid][3], 0);
TextDrawFont(car_thief_buttons_TD[playerid][3], 4);

car_thief_buttons_TD[playerid][4] = TextDrawCreate(26.666664, 238.518539, !"LD_BEAT:triang");
car_thief_buttons_TD[playerid][5] = TextDrawCreate(26.416662, 272.185333, !"LD_BEAT:square");
car_thief_buttons_TD[playerid][6] = TextDrawCreate(134.750015, 238.518539, !"LD_BEAT:circle");
car_thief_buttons_TD[playerid][7] = TextDrawCreate(134.916656, 272.185333, !"LD_BEAT:cross");
for(new td = 4; td < 8; td++)
{
	TextDrawLetterSize(car_thief_buttons_TD[playerid][td], 0.000000, 0.000000);
	TextDrawTextSize(car_thief_buttons_TD[playerid][td], 19.166681, 18.666683);
	TextDrawAlignment(car_thief_buttons_TD[playerid][td], 1);
	TextDrawColor(car_thief_buttons_TD[playerid][td], -1);
	TextDrawSetShadow(car_thief_buttons_TD[playerid][td], 0);
	TextDrawSetOutline(car_thief_buttons_TD[playerid][td], 0);
	TextDrawFont(car_thief_buttons_TD[playerid][td], 4);
	TextDrawSetSelectable(car_thief_buttons_TD[playerid][td], true);
}
car_thief_buttons_TD[playerid][8] = TextDrawCreate(90.833297, 279.481506, !"~y~Pushed: ~w~0~y~/~g~10");
TextDrawLetterSize(car_thief_buttons_TD[playerid][8], 0.183333, 1.475556);
TextDrawAlignment(car_thief_buttons_TD[playerid][8], 2);
TextDrawColor(car_thief_buttons_TD[playerid][8], -1);
TextDrawSetShadow(car_thief_buttons_TD[playerid][8], 0);
TextDrawSetOutline(car_thief_buttons_TD[playerid][8], 1);
TextDrawBackgroundColor(car_thief_buttons_TD[playerid][8], 51);
TextDrawFont(car_thief_buttons_TD[playerid][8], 2);
TextDrawSetProportional(car_thief_buttons_TD[playerid][8], 1);

car_thief_buttons_TD[playerid][9] = TextDrawCreate(90.999961, 231.740783, !"5");
TextDrawLetterSize(car_thief_buttons_TD[playerid][9], 0.202083, 1.449630);
TextDrawAlignment(car_thief_buttons_TD[playerid][9], 2);
TextDrawColor(car_thief_buttons_TD[playerid][9], -1);
TextDrawSetShadow(car_thief_buttons_TD[playerid][9], 0);
TextDrawSetOutline(car_thief_buttons_TD[playerid][9], 1);
TextDrawBackgroundColor(car_thief_buttons_TD[playerid][9], 51);
TextDrawFont(car_thief_buttons_TD[playerid][9], 2);
TextDrawSetProportional(car_thief_buttons_TD[playerid][9], 1);

car_thief_buttons_TD[playerid][10] = TextDrawCreate(168.666656, 264.907409, !"usebox");
TextDrawLetterSize(car_thief_buttons_TD[playerid][10], 0.000000, -0.111934);
TextDrawTextSize(car_thief_buttons_TD[playerid][10], 119.666671, 0.000000);
TextDrawBoxColor(car_thief_buttons_TD[playerid][10], 144);
TextDrawUseBox(car_thief_buttons_TD[playerid][10], true);

car_thief_buttons_TD[playerid][11] = TextDrawCreate(60.083328, 263.833374, !"usebox");
TextDrawLetterSize(car_thief_buttons_TD[playerid][11], 0.000000, -0.070267);
TextDrawTextSize(car_thief_buttons_TD[playerid][11], 13.000003, 0.000000);
TextDrawBoxColor(car_thief_buttons_TD[playerid][11], 144);
TextDrawUseBox(car_thief_buttons_TD[playerid][11], true);

car_thief_buttons_TD[playerid][12] = TextDrawCreate(170.749908, 215.129608, !"usebox");
TextDrawLetterSize(car_thief_buttons_TD[playerid][12], 0.000000, 1.504835);
TextDrawTextSize(car_thief_buttons_TD[playerid][12], 10.916599, 0.000000);
TextDrawBoxColor(car_thief_buttons_TD[playerid][12], 128);
TextDrawUseBox(car_thief_buttons_TD[playerid][12], true);

car_thief_buttons_TD[playerid][13] = TextDrawCreate(169.666610, 216.129531, !"usebox");
TextDrawLetterSize(car_thief_buttons_TD[playerid][13], 0.000000, 1.421502);
TextDrawTextSize(car_thief_buttons_TD[playerid][13], 12.166612, 0.000000);
TextDrawBoxColor(car_thief_buttons_TD[playerid][13], -6736999);
TextDrawUseBox(car_thief_buttons_TD[playerid][13], true);

car_thief_buttons_TD[playerid][14] = TextDrawCreate(89.583312, 214.666610, !"Click the icon");
TextDrawLetterSize(car_thief_buttons_TD[playerid][14], 0.331666, 1.460001);
TextDrawAlignment(car_thief_buttons_TD[playerid][14], 2);
TextDrawColor(car_thief_buttons_TD[playerid][14], -1);
TextDrawSetShadow(car_thief_buttons_TD[playerid][14], 0);
TextDrawSetOutline(car_thief_buttons_TD[playerid][14], 1);
TextDrawBackgroundColor(car_thief_buttons_TD[playerid][14], 51);
TextDrawFont(car_thief_buttons_TD[playerid][14], 1);
TextDrawSetProportional(car_thief_buttons_TD[playerid][14], 1);
В public OnPlayerStateChange(playerid, newstate, oldstate)
PHP:
if(GetPlayerVehicleID(playerid) == car_thief_vehicle[playerid])
{
	SendClientMessage(playerid, 0x33CCFFFF, !"[АвтоВор]: Взломайте замок зажигания.");

	TogglePlayerControllable(playerid, 0);
	SelectTextDraw(playerid,0xddddddaa);

	GangZoneHideForPlayer(playerid, car_thief_zone[0]);
	GangZoneHideForPlayer(playerid, car_thief_zone[1]);
	GangZoneHideForPlayer(playerid, car_thief_zone[2]);

	TextDrawHideForPlayer(playerid, car_thief_model_TD[playerid][0]);
	TextDrawHideForPlayer(playerid, car_thief_model_TD[playerid][1]);
	TextDrawHideForPlayer(playerid, car_thief_model_TD[playerid][2]);
	TextDrawHideForPlayer(playerid, car_thief_model_TD[playerid][3]);

	car_thief_timer{playerid} = SetTimerEx(!"@_TimerCarThief", 1000, false, !"d", playerid);

	for(new i = 15; i-- != 0;)
		TextDrawShowForPlayer(playerid, car_thief_buttons_TD[playerid][i]);
}
В public OnPlayerEnterRaceCheckpoint(playerid)
PHP:
if(car_thief_vehicle[playerid] != -1)
{
    new salary = random(3000)+5000;

    static const amount_symbols [] = !"Добавлено к зарплате $";
    new string[sizeof amount_symbols + 6 char], str_salary[5 char];

    valstr(str_salary, salary);
    strcat(string, amount_symbols);
    strcat(string, str_salary);
    SendClientMessage(playerid, 0x33CCFFFF, string);

	GivePlayerMoney(playerid, salary);
    PlayerPlaySound(playerid, 4201, 0.0, 0.0, 0.0);
    DisablePlayerRaceCheckpoint(playerid);

	DestroyVehicle(car_thief_vehicle[playerid]);
	car_thief_vehicle[playerid] = -1;
}
В public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
if(pickupid == car_thief_pickup)
{
    if(car_thief_vehicle[playerid] != -1)
		return SendClientMessage(playerid, -1, !"Ты уже взял заказ!");

    SendClientMessage(playerid, 0xFF6347FF,
		!"На карте отмечено красной зоной место где \
		находится данный транспорт. (ESC ==> Карта)!"
	);
    new appeal_index = random(9);
    GangZoneShowForPlayer(playerid, car_thief_zone[appeal_index/3], 0xff0000C8);

    TextDrawSetPreviewModel(car_thief_model_TD[playerid][2],
		car_thief_array[appeal_index][MODEL_VEHICLE]);

    TextDrawSetString(car_thief_model_TD[playerid][3],
		car_thief_array[appeal_index][VEHICLE_NAMES]);

	car_thief_vehicle[playerid] = CreateVehicle(
		car_thief_array[appeal_index][MODEL_VEHICLE],
		car_thief_array[appeal_index][POSITION_VEHICLE_X],
		car_thief_array[appeal_index][POSITION_VEHICLE_Y],
		car_thief_array[appeal_index][POSITION_VEHICLE_Z],
		car_thief_array[appeal_index][POSITION_VEHICLE_A],
		1, 1, 0
	);
	TextDrawShowForPlayer(playerid, car_thief_model_TD[playerid][0]);
	TextDrawShowForPlayer(playerid, car_thief_model_TD[playerid][1]);
	TextDrawShowForPlayer(playerid, car_thief_model_TD[playerid][2]);
	TextDrawShowForPlayer(playerid, car_thief_model_TD[playerid][3]);
}
В конец мода
PHP:
@_TimerCarThief(playerid);
@_TimerCarThief(playerid)
{
    if(IsPlayerConnected(playerid))
    {
		if(car_thief_time_press{playerid} == 5)
		{
		    car_thief_time_press{playerid} = false;
			TogglePlayerControllable(playerid, 1);
			CancelSelectTextDraw(playerid);
			DestroyVehicle(car_thief_vehicle[playerid]);
			car_thief_vehicle[playerid] = -1;
            KillTimer(car_thief_timer{playerid});

			for(new i = 15; i-- != 0;)
				TextDrawHideForPlayer(playerid, car_thief_buttons_TD[playerid][i]);
		}
		else
		{
		    new pressed_str[2 char];
			valstr(pressed_str, 5 - car_thief_time_press{playerid});
			TextDrawSetString(car_thief_buttons_TD[playerid][9], pressed_str);
			car_thief_time_press{playerid} ++;
		}
		car_thief_timer{playerid} = SetTimerEx(!"@_TimerCarThief", 1000, false, !"d", playerid);
	}
	return 1;
}
Команда для ТП к данной работе
PHP:
CMD:qwe(playerid,params[])
{
	SetPlayerPos(playerid, 991.7145,2060.6455,10.8203);
	return 1;
}
Скриншоты:


Автор: Saibot
 
Последнее редактирование:
Сверху Снизу