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

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

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

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

Автомастерская [RLS]

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

Sergo

Изучающий
Пользователь
Регистрация
2 Дек 2012
Сообщения
378
Лучшие ответы
0
Репутация
290
Здравствуйте уважаемы пользователи.Вот выкладываю данную систему,хотел продать,но не вышло.

Пожалуй начнём.​


Ко всем define:
PHP:
#define AVTOM 4356
У кого нет вообще никакой системы тюнинга. То добавляете в enum pInfo:
PHP:
pSpoiler,
pBamper1,
pBamper2,
pNitro,
pGidra,
pKolesocar,
Если нет системы тюнинга то в OnPlayerUpdateRL
PHP:
	ini_setInteger(File,"Nitro",PlayerInfo[playerid][pNitro]);
ini_setInteger(File,"Gidra",PlayerInfo[playerid][pGidra]);
ini_setInteger(File,"Spoiler",PlayerInfo[playerid][pSpoiler]);
ini_setInteger(File,"Bamper1",PlayerInfo[playerid][pBamper1]);
ini_setInteger(File,"Bamper2",PlayerInfo[playerid][pBamper2]);
Если нет системы тюнинга то в OnPlayerRegister
PHP:
	ini_setInteger(File,"Nitro",PlayerInfo[playerid][pNitro]);
ini_setInteger(File,"Gidra",PlayerInfo[playerid][pGidra]);
ini_setInteger(File,"Spoiler",PlayerInfo[playerid][pSpoiler]);
ini_setInteger(File,"Bamper1",PlayerInfo[playerid][pBamper1]);
ini_setInteger(File,"Bamper2",PlayerInfo[playerid][pBamper2]);
Если нет системы тюнинга то в OnPlayerSave
PHP:
	ini_setInteger(File,"Spoiler",PlayerInfo[playerid][pSpoiler]);
ini_setInteger(File,"Bamper1",PlayerInfo[playerid][pBamper1]);
ini_setInteger(File,"Bamper2",PlayerInfo[playerid][pBamper2]);
ini_setInteger(File,"Nitro",PlayerInfo[playerid][pNitro]);
ini_setInteger(File,"Gidra",PlayerInfo[playerid][pGidra]);
Дальше ко всем new:
PHP:
new avxod[3];
new Zanavto;
new achec[MAX_PLAYERS];
new Menu:Vibor[10];
new acash[MAX_PLAYERS];
В public OnDialogResponse:
PHP:
if(dialogid == AVTOM)
{
	if(response)
	{
		if(Zanavto == 1)return SendClientMessage(playerid,COLOR_YELLOW,"В данный момент гараж занят");
		SendClientMessage(playerid,COLOR_YELLOW,"Пройдите к гаражу, он находится на улице");
		SetPlayerRaceCheckpoint(playerid,2,901.6194,-1207.3713,16.9832,0.0,0.0,0.0,5.0);
		achec[playerid] = 1;
		Zanavto = 1;
		return 1;
	}
	else
	{
		return 1;
	}
}
if(dialogid == AVTOM+1)
{
	if(response)
	{
		if(PlayerInfo[playerid][pCash] < acash[playerid]) return SendClientMessage(playerid,COLOR_WHITE,"На вашем счету недостаточно средств!");
		PlayerInfo[playerid][pCash] -= acash[playerid];
		SendClientMessage(playerid,COLOR_YELLOW,"Тюнинг установлен!");
		acash[playerid] = 0;
	}
	else
	{
		return 1;
	}
}
в public OnPlayerPickUpPickup:
PHP:
else if(pickupid == avxod[0])
{
	SetPPos(playerid,1494.5236,1307.0103,1093.2930);
	SetPlayerInterior(playerid, 3);
	SetPlayerVirtualWorld(playerid, 3);
	SetPlayerFacingAngle(playerid, 185.0658);
	return true;
}
else if(pickupid == avxod[1])
{
	SetPPos(playerid,918.3442,-1249.7787,15.8619);
	SetPlayerInterior(playerid, 0);
	SetPlayerVirtualWorld(playerid, 0);
	SetPlayerFacingAngle(playerid, 185.0658);
	return true;
}
else if(pickupid == avxod[2] && PlayerInfo[playerid][pCar] != 462)
{
	SPD(playerid,AVTOM,DIALOG_STYLE_MSGBOX,"{FFFFFF}Запись в автомастерскую","{FFFFFF}Вы хотите арендовать гараж для тюнинга вашего автомобиля?","Да","Нет");
}
в public OnPlayerSelectedMenuRow:
PHP:
if(Current == Vibor[0])
{
	new vehicle = GetPlayerVehicleID(playerid);
	switch(row)
	{
	case 0: ShowMenuForPlayer(Vibor[1],playerid);
	case 1: ShowMenuForPlayer(Vibor[2],playerid);
	case 2:	ShowMenuForPlayer(Vibor[3],playerid);
	case 3:	ShowMenuForPlayer(Vibor[4],playerid);
	case 4:	AddVehicleComponent(vehicle, 1087),PlayerInfo[playerid][pGidra] = 1087,ShowMenuForPlayer(Vibor[0],playerid);//Гидравлика
	case 5:	ShowMenuForPlayer(Vibor[5],playerid);
	case 6:	ShowMenuForPlayer(Vibor[6],playerid);
	case 7:
		{
			new string[256];
			TogglePlayerControllable(playerid, 1),Zanavto = 0;
			format(string,sizeof(string),"{FFFFFF}Установка всех деталей будет стоить %d\nВы Согласны?",acash[playerid]);
			SPD(playerid,AVTOM+1,DIALOG_STYLE_MSGBOX,"Оплата",string,"Согласен","Отмена");
		}
	}
}
if(Current == Vibor[1])//Колёса
{
	new vehicle = GetPlayerVehicleID(playerid);
	switch(row)
	{
	case 0: AddVehicleComponent(vehicle, 1080),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pKolesocar] = 1080,acash[playerid] += 150000;
	case 1: AddVehicleComponent(vehicle, 1079),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pKolesocar] = 1079,acash[playerid] += 150000;
	case 2: AddVehicleComponent(vehicle, 1074),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pKolesocar] = 1074,acash[playerid] += 150000;
	case 3: AddVehicleComponent(vehicle, 1075),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pKolesocar] = 1075,acash[playerid] += 150000;
	case 4: AddVehicleComponent(vehicle, 1078),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pKolesocar] = 1078,acash[playerid] += 150000;
	}
}
if(Current == Vibor[2])//Спойлер
{
	new vehicle = GetPlayerVehicleID(playerid);
	switch(row)
	{
	case 0: AddVehicleComponent(vehicle, 1000),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pSpoiler] = 1000,acash[playerid] += 80000;
	case 1: AddVehicleComponent(vehicle, 1001),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pSpoiler] = 1001,acash[playerid] += 80000;
	case 2: AddVehicleComponent(vehicle, 1002),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pSpoiler] = 1002,acash[playerid] += 80000;
	case 3: AddVehicleComponent(vehicle, 1003),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pSpoiler] = 1003,acash[playerid] += 80000;
	}
}
if(Current == Vibor[3])//Капот
{
	new vehicle = GetPlayerVehicleID(playerid);
	switch(row)
	{
	case 0: AddVehicleComponent(vehicle, 1004),ShowMenuForPlayer(Vibor[0],playerid),acash[playerid] += 100000;
	case 1: AddVehicleComponent(vehicle, 1005),ShowMenuForPlayer(Vibor[0],playerid),acash[playerid] += 100000;
	}
}
if(Current == Vibor[4])//Нитро
{
	new vehicle = GetPlayerVehicleID(playerid);
	switch(row)
	{
	case 0: AddVehicleComponent(vehicle, 1009),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pNitro] = 1009,acash[playerid] += 140000;
	case 1: AddVehicleComponent(vehicle, 1008),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pNitro] = 1008,acash[playerid] += 140000;
	case 2: AddVehicleComponent(vehicle, 1010),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pNitro] = 1010,acash[playerid] += 140000;
	}
}
if(Current == Vibor[5])//Бампер задний
{
	new vehicle = GetPlayerVehicleID(playerid);
	switch(row)
	{
	case 0: AddVehicleComponent(vehicle, 1140),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper1] = 1140,acash[playerid] += 120000;
	case 1: AddVehicleComponent(vehicle, 1141),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper1] = 1141,acash[playerid] += 120000;
	case 2: AddVehicleComponent(vehicle, 1148),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper1] = 1148,acash[playerid] += 120000;
	case 3: AddVehicleComponent(vehicle, 1149),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper1] = 1149,acash[playerid] += 120000;
	}
}
if(Current == Vibor[6])//Бампер передний
{
	new vehicle = GetPlayerVehicleID(playerid);
	switch(row)
	{
	case 0: AddVehicleComponent(vehicle, 1169),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper2] = 1169,acash[playerid] += 120000;
	case 1: AddVehicleComponent(vehicle, 1170),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper2] = 1170,acash[playerid] += 120000;
	case 2: AddVehicleComponent(vehicle, 1171),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper2] = 1171,acash[playerid] += 120000;
	case 3: AddVehicleComponent(vehicle, 1172),ShowMenuForPlayer(Vibor[0],playerid),PlayerInfo[playerid][pBamper2] = 1172,acash[playerid] += 120000;
	}
}
В OnGameModeInit
PHP:
Avto();

avxod[0] = CreatePickup(1318,23,919.4678,-1252.1257,16.2109);
avxod[1] = CreatePickup(1318,23,1494.3989,1303.5792,1093.2891  ,3);
avxod[2] = CreatePickup(1239,2,1495.8900,1308.9751,1093.2871,  3);
В конец мода:
PHP:
Avto()
{
	Vibor[0] = CreateMenu("Menu", 1, 40.0, 220.0, 100.0);
	SetMenuColumnHeader(Vibor[0], 0, "Tuning");
	AddMenuItem(Vibor[0],0,"Wheels");
	AddMenuItem(Vibor[0],0,"Spoiler");
	AddMenuItem(Vibor[0],0,"Hood");
	AddMenuItem(Vibor[0],0,"Nitro");
	AddMenuItem(Vibor[0],0,"Hydraulics");
	AddMenuItem(Vibor[0],0,"Rear Bumper");
	AddMenuItem(Vibor[0],0,"Front Bumper");
	AddMenuItem(Vibor[0],0,"Exit");
	Vibor[1] = CreateMenu("Menu", 1, 40.0, 220.0, 100.0);
	SetMenuColumnHeader(Vibor[1], 0, "Wheels");
	AddMenuItem(Vibor[1],0,"Switch");
	AddMenuItem(Vibor[1],0,"Cutter");
	AddMenuItem(Vibor[1],0,"Mega");
	AddMenuItem(Vibor[1],0,"Rimshine");
	AddMenuItem(Vibor[1],0,"Twist");
	Vibor[2] = CreateMenu("Menu", 1, 40.0, 220.0, 100.0);
	SetMenuColumnHeader(Vibor[2], 0, "Spoiler");
	AddMenuItem(Vibor[2],0,"Pro");
	AddMenuItem(Vibor[2],0,"Win");
	AddMenuItem(Vibor[2],0,"Drag");
	AddMenuItem(Vibor[2],0,"Alpha");
	Vibor[3] = CreateMenu("Menu", 1, 40.0, 220.0, 100.0);
	SetMenuColumnHeader(Vibor[3], 0, "Hood");
	AddMenuItem(Vibor[3],0,"Champ Scoop");
	AddMenuItem(Vibor[3],0,"Fury Scoop");
	Vibor[4] = CreateMenu("Menu", 1, 40.0, 220.0, 100.0);
	SetMenuColumnHeader(Vibor[4], 0, "Nitro");
	AddMenuItem(Vibor[4],0,"2x");
	AddMenuItem(Vibor[4],0,"5x");
	AddMenuItem(Vibor[4],0,"10x");
	Vibor[5] = CreateMenu("Menu", 1, 40.0, 220.0, 100.0);
	SetMenuColumnHeader(Vibor[5], 0, "Rear Bumper");
	AddMenuItem(Vibor[5],0,"X-Flow Sultan");
	AddMenuItem(Vibor[5],0,"Alien Sultan");
	AddMenuItem(Vibor[5],0,"X-Flow Elegy");
	AddMenuItem(Vibor[5],0,"Alien Elegy");
	Vibor[6] = CreateMenu("Menu", 1, 40.0, 220.0, 100.0);
	SetMenuColumnHeader(Vibor[5], 0, "Front Bumper");
	AddMenuItem(Vibor[6],0,"X-Flow Sultan");
	AddMenuItem(Vibor[6],0,"Alien Sultan");
	AddMenuItem(Vibor[6],0,"X-Flow Elegy");
	AddMenuItem(Vibor[6],0,"Alien Elegy");
}
У кого нет системы тюнинга то в конец OnPlayerLogin и везде где спаун авто стоит:
PHP:
AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pKolesocar]);
AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pNitro]);
AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pGidra]);
if(PJ(caridhouse[playerid]))
{
	AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pSpoiler]);
	AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pBamper1]);
	AddVehicleComponent (caridhouse[playerid], PlayerInfo[playerid][pBamper2]);
}
В public OnPlayerEnterRaceCheckpoint:
PHP:
	    if(achec[playerid] == 1)
	    {
	        SendClientMessage(playerid,COLOR_WHITE,"Установите детали");
	        ShowMenuForPlayer(Vibor[0],playerid);
	        TogglePlayerControllable(playerid, 0);
	        DisablePlayerRaceCheckpoint(playerid);
	    }
Знаю что нет оптимизации,так что не ругайтесь. :)

Вот видео:
Автор: Sergo
Делал для себя,будут ошибки пишите.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу