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

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

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

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

Дом на колесах v1

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

Funky_Storage

Компетентный


[HIDE=100]
Возможный Warning:
error 017: undefined symbol "RemovePlayerFromVehicleAc"
Решение:
Замените RemovePlayerFromVehicleAc на RemovePlayerFromVehicle
[/HIDE]

Дом на колесах. Простая, но в тоже время интересная система!








Для начала мы сделаем аренду "домов на колесах"!​

  • Добавим переменную renthome

PHP:
new renthome[2];
Число 2 это количество автомобилей.

Теперь сделаем так, чтобы когда игрок садился в автомобиль - ему выдавал диалог аренды.​

Находим public OnPlayerStateChange
И вставляем туда следующий текст:

PHP:
if(newcar >= renthome[0] && newcar <= renthome[1])
{
    if(renthome[playerid] != GetPlayerVehicleID(playerid))
    {
    ShowPlayerDialog(playerid,1121,DIALOG_STYLE_MSGBOX, " ", "{FFFFFF}Аренда автомобилей\nТип: {FFA500}Дом на колесах\n{FFFFFF}Стоимость: {00962F}20000$", "Аренда", "Отмена");
    TogglePlayerControllable(playerid, 0);
    }
}
Находим public OnDialogResponse
И вставляем туда следующий текст:

PHP:
case 1121:
{
    if(!response) return RemovePlayerFromVehicleAc(playerid),TogglePlayerControllable(playerid, 1);
    if(PlayerInfo[playerid][pCash] < 19999) return SendClientMessage(playerid, 0xFFFFFFFF,"У вас нет столько денег"),RemovePlayerFromVehicleAc(playerid),TogglePlayerControllable(playerid, 1);
    PlayerInfo[playerid][pCash] -= 20000;
    renthouse[playerid] = 1;
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid, 0xFFFFFFFF,"Вы арендовали дом на колесах. Цена составила {00962F}20000$");
    return 1;
	}
Внимание: переменную pCash замените на свою!

Теперь делаем функцию, которая отвечает за наш интерьер!

Находим public OnPlayerStateChange
И вставляем туда следующий текст:

PHP:
	if(newstate == PLAYER_STATE_PASSENGER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 508)
	{
     	SetPlayerPos(playerid,116.92, 3416.60, 24.83);
     	SetPlayerFacingAngle(playerid, 0);
        SetCameraBehindPlayer(playerid);
        SetPlayerInterior(playerid, 1);
	}
	return 1;
Остался только выход из автомобиля.
Находим public OnPlayerKeyStateChange
И вставляем туда следующий текст:

PHP:
      if(newkeys == 16)
	{
		new Float:X, Float:Y, Float:Z;
		GetVehiclePos(renthome[playerid], X, Y, Z);
		SetPlayerPos(playerid, X+4, Y, Z);
		SetPlayerInterior(playerid, 0);
	}
	return 1;
Считай самое сложное позади, теперь мы добавим сами автомобили и интерьер.

Находим public public OnGameModeInit
И вставляем туда следующий текст:

PHP:
//--------------------[Дом на колесах]----------------------//
CreateObject(19464, 115.60, 3413.69, 27.38,   0.00, 0.00, 0.00);
CreateObject(19379, 120.95, 3411.88, 24.78,   0.00, 90.00, 0.00);
CreateObject(2576, 116.25, 3412.37, 24.83,   0.00, 0.00, 90.00);
CreateObject(19464, 115.60, 3407.76, 27.38,   0.00, 0.00, 0.00);
CreateObject(19464, 118.56, 3416.77, 27.38,   0.00, 0.00, 90.00);
CreateObject(2434, 116.20, 3415.98, 24.73,   0.00, 0.00, 0.00);
CreateObject(2356, 118.77, 3414.92, 24.87,   0.00, 0.00, 270.00);
CreateObject(1567, 116.92, 3416.60, 24.83,   0.00, 0.00, 0.00);
CreateObject(19464, 119.90, 3413.73, 27.38,   0.00, 0.00, 0.00);
CreateObject(2305, 119.26, 3416.13, 24.86,   0.00, 0.00, 0.00);
CreateObject(19464, 121.01, 3411.46, 27.38,   0.00, 0.00, 90.00);
CreateObject(19464, 121.94, 3408.62, 27.38,   0.00, 0.00, 90.00);
CreateObject(2299, 116.04, 3410.57, 24.82,   0.00, 0.00, 270.00);
CreateObject(19464, 119.90, 3407.86, 27.38,   0.00, 0.00, 0.00);
CreateObject(19464, 118.85, 3405.78, 27.38,   0.00, 0.00, 0.00);
CreateObject(2708, 117.83, 3408.22, 24.85,   0.00, 0.00, 180.00);
CreateObject(19464, 117.92, 3407.66, 27.38,   0.00, 0.00, 90.00);
CreateObject(2249, 116.16, 3416.18, 26.45,   0.00, 0.00, 45.00);
CreateObject(1706, 119.26, 3413.24, 24.82,   0.00, 0.00, 270.00);
CreateObject(2206, 119.26, 3415.80, 24.85,   0.00, 0.00, 270.00);
CreateObject(2239, 116.15, 3412.07, 24.86,   0.00, 0.00, 74.52);
CreateObject(2312, 116.14, 3414.77, 26.33,   0.00, 0.00, 72.34);
CreateObject(2705, 116.09, 3408.34, 26.58,   0.00, 0.00, 90.00);
CreateObject(2704, 116.24, 3408.35, 26.59,   0.00, 0.00, 90.00);
CreateObject(2689, 116.38, 3408.37, 26.59,   0.00, 0.00, 270.00);
CreateObject(2706, 116.86, 3408.35, 26.60,   0.00, 0.00, 270.00);
CreateObject(2401, 117.89, 3407.89, 26.61,   0.00, 0.00, 180.00);
CreateObject(2396, 117.36, 3407.96, 26.60,   0.00, 0.00, 180.00);
CreateObject(2386, 117.92, 3408.28, 25.93,   0.00, 0.00, 90.00);
CreateObject(2386, 116.30, 3408.34, 25.43,   0.00, 0.00, 90.00);
CreateObject(2384, 117.36, 3408.28, 25.94,   0.00, 0.00, 180.00);
CreateObject(2384, 116.53, 3408.28, 25.94,   0.00, 0.00, 180.00);
CreateObject(2053, 116.90, 3408.23, 25.90,   -0.02, 0.00, 0.00);
CreateObject(2189, 119.74, 3410.05, 26.62,   0.00, 90.00, 180.00);
CreateObject(2287, 119.28, 3410.05, 26.33,   0.00, 0.00, 270.00);
CreateObject(19377, 117.45, 3412.27, 27.97,   0.00, 90.00, 0.00);
//------------------------------------------------------------//
Автомобили для аренды:

PHP:
renthome[0] = CreateVehicle(508, 995.9606, -1458.4331, 13.7770, 0.0000, -1, -1, 100);
renthome[1] = CreateVehicle(508, 1001.1905, -1458.5101, 13.7770, 0.0000, -1, -1, 100);
Поздравляю! Все готово!
По найденым багам, просьба отписываться в теме!
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу