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

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

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

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

Создание гаражей

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

sasa50

Умник
Начинаем наш урок

Ctrl+f => new SBizzInfo

Ниже вставляем
PHP:
enum GarageInfo
       {
       gOwned,
       gOwner[64],
       Float:gEntranceX,
       Float:gEntranceY,
       Float:gEntranceZ,
       Float:gExitX,
       Float:gExitY,
       Float:gExitZ,
       g  Price,
       gL ock,
       gCarin,
       };
       new Garages[644][GarageInfo];
Ctrl+f => public LoadSBizz()

После данного "паблика" (public) вставляем:
PHP:
forward LoadGarage();
public LoadGarage()
{
       new arrCoords[11][64];
       new strFromFile2[256];
       new File: file = fopen("garage.cfg", io_read);
       if (file)
       {
       new idx;
       while (idx < sizeof(Garages))
       {
       fread(file, strFromFile2);
       split(strFromFile2, arrCoords, '|');
       Garages[idx][gOwned] = strval(arrCoords[0]);
       strmid(Garages[idx][gOwner], arrCoords[1], 0, strlen(arrCoords[1]), 255);
       Garages[idx][gEntranceX] = floatstr(arrCoords[2]);
       Garages[idx][gEntranceY] = floatstr(arrCoords[3]);
       Garages[idx][gEntranceZ] = floatstr(arrCoords[4]);
       Garages[idx][gExitX] = floatstr(arrCoords[5]);
       Garages[idx][gExitY] = floatstr(arrCoords[6]);
       Garages[idx][gExitZ] = floatstr(arrCoords[7]);
       Garages[idx][gPrice] = strval(arrCoords[8]);
       Garages[idx][gLock] = strval(arrCoords[9]);
       Garages[idx][gCarin] = strval(arrCoords[10]);
       idx++;
       }
       fclose(file);
       }
       return 1;
}
Вставляем в public OnGameModeInit
PHP:
LoadGarage();
       CreateObject(14798, 808.20452880859, 34.788818359375, 9.5595703125, 0.000000, 0.000000, 0.000000); //Сам гараж
       CreateObject(14797, 809.88421630859, 34.816730499268, 9.6204814910889, 0.000000, 0.000000, 0.000000); //
       CreateObject(16773, 801.01934814453, 35.459674835205, 12.355661392212, 0.000000, 0.000000, 270.02026367188); //
       CreateObject(2007, 804.056640625, 40.417610168457, 8.3639659881592, 0.000000, 0.000000, 0.000000); //
       CreateObject(2007, 805.03289794922, 40.412582397461, 8.3639659881592, 0.000000, 0.000000, 0.000000); //
       CreateObject(2007, 806.02478027344, 40.404388427734, 8.3639659881592, 0.000000, 0.000000, 0.000000); //
       CreateObject(2063, 806.56414794922, 31.784990310669, 9.2653980255127, 0.000000, 0.000000, 181.62072753906); //
       for(new h = 0; h < sizeof(Garages); h++)
       {
       new txt[999];
       if(Garages[h][gOwned] == 0)
       {
       AddStaticPickup(1272, 2, Garages[h][gEntranceX], Garages[h][gEntranceY], Garages[h][gEntranceZ]);
       pickups++;
       format(txt, sizeof(txt), "|___Гараж___|\n(( Стоимость гаража: %d ))\n (( Для покупки введите /buygarage ))", Garages[h][gPrice]);
       }
       if(Garages[h][gOwned] == 1)
       {
       //AddStaticPickup(1318, 1, Garages[h][gEntranceX], Garages[h][gEntranceY], Garages[h][gEntranceZ]);
       //pickups++;
       format(txt, sizeof(txt), "|___Гараж___|\n(( Хозяин: %s ))", Garages[h][gOwner]);
       }
       Create3DTextLabel(txt,0x008080FF,Garages[h][gEntranceX], Garages[h][gEntranceY], Garages[h][gEntranceZ]+0.5,40.0,0,1);
       }
Ctrl+f => public OnPropUpdate()

Вставляем
PHP:
while (idx < sizeof(Garages))
       {
       new coordsstring[256];
       format(coordsstring, sizeof(coordsstring), "%d|%s|%f|%f|%f|%f|%f|%f|%d|%d|%d\n",
       Garages[idx][gOwned],
       Garages[idx][gOwner],
       Garages[idx][gEntranceX],
       Garages[idx][gEntranceY],
       Garages[idx][gEntranceZ],
       Garages[idx][gExitX],
       Garages[idx][gExitY],
       Garages[idx][gExitZ],
       Garages[idx][gPrice],
       Garages[idx][gLock],
       Garages[idx][gCarin]);
       if(idx == 0)
       {
       file2 = fopen("garage.cfg", io_write);
       }
       else
       {
       file2 = fopen("garage.cfg", io_append);
       }
       fwrite(file2, coordsstring);
       idx++;
       fclose(file2);
       }
       idx = 0;
В public OnPlayerCommandText добавляем следущие команды:
PHP:
for(new i = 0; i < sizeof(Garages); i++)
       {
       if (PlayerToPoint(3, playerid,Garages[i][gEntranceX], Garages[i][gEntranceY], Garages[i][gEntranceZ]) || PlayerToPoint(3, playerid,Garages[i][gExitX], Garages[i][gExitY], Garages[i][gExitZ]))
       {
       new pnick[MAX_PLAYER_NAME];
       GetPlayerName(playerid, pnick, sizeof(pnick));
       if(strcmp(pnick, Garages[i][gOwner], true) == 0)
       {
       if(Garages[i][gLock] == 1)
       {
       Garages[i][gLock] = 0;
       GameTextForPlayer(playerid, "~g~OЏKP‘ЏO", 5000, 6);
       PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
       return 1;
       }
       if(Garages[i][gLock] == 0)
       {
       Garages[i][gLock] = 1;
       GameTextForPlayer(playerid, "~r~€AKP‘ЏO", 5000, 6);
       PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
       return 1;
       }
       }
       else
       {
       GameTextForPlayer(playerid, "~r~You Dont Have A Key", 5000, 6);
       return 1;
       }
       }
       }
Ctrl+f => if(strcmp(cmd, "/open", true) == 0)

Добавляем
for(new i = 0; i < sizeof(Garages); i++)
{
if (PlayerToPoint(3, playerid,Garages[gEntranceX], Garages[gEntranceY], Garages[gEntranceZ]) || PlayerToPoint(3, playerid,Garages[gExitX], Garages[gExitY], Garages[gExitZ]))
{
new pnick[MAX_PLAYER_NAME];
GetPlayerName(playerid, pnick, sizeof(pnick));
if(strcmp(pnick, Garages[gOwner], true) == 0)
{
if(Garages[gLock] == 1)
{
Garages[gLock] = 0;
GameTextForPlayer(playerid, "~g~OЏKP‘ЏO", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
return 1;
}
if(Garages[gLock] == 0)
{
Garages[gLock] = 1;
GameTextForPlayer(playerid, "~r~€AKP‘ЏO", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
return 1;
}
}
else
{
GameTextForPlayer(playerid, "~r~You Dont Have A Key", 5000, 6);
return 1;
}
}
}


Добавляем
Ctrl+f => if(strcmp(cmd, "/enter", true) == 0)

Вставляем
PHP:
for(new i = 0; i < sizeof(Garages); i++)
       {
       if (PlayerToPoint(3, playerid,Garages[i][gEntranceX], Garages[i][gEntranceY], Garages[i][gEntranceZ]))
       {
       if(Garages[i][gLock] == 1)
       {
       GameTextForPlayer(playerid, "~r~€AKP‘ЏO", 5000, 1);
       return 1;
       }
       new pnick[MAX_PLAYER_NAME];
       GetPlayerName(playerid, pnick, sizeof(pnick));
       if(strcmp(pnick, Garages[i][gOwner], true) == 0)
       {
       if (GetPlayerState(playerid) == 2)
       {
       if(Garages[i][gCarin] == 1 && GetPlayerState(playerid) == 2)
       {
       GameTextForPlayer(playerid, "~r~HET MECTA", 5000, 1);
       return 1;
       }
       new tmpcar = GetPlayerVehicleID(playerid);
       SetVehiclePos(tmpcar, Garages[i][gExitX], Garages[i][gExitY], Garages[i][gExitZ]);
       SetVehicleVirtualWorld(tmpcar, i);
       LinkVehicleToInterior(tmpcar, 1);
       SetVehicleZAngle(tmpcar, 0);
       Garages[i][gCarin] = 1;
       }
       else { SetPlayerPos(playerid, Garages[i][gExitX], Garages[i][gExitY], Garages[i][gExitZ]); }
       SetPlayerInterior(playerid, 1);
       SetPlayerVirtualWorld(playerid, i);
       OnPropUpdate();
       }
       }
       }
Ctrl+F => if(strcmp(cmd, "/exit", true) == 0)

Добавляем
PHP:
for(new i = 0; i < sizeof(Garages); i++)
       {
       if (PlayerToPoint(3, playerid,Garages[i][gExitX], Garages[i][gExitY], Garages[i][gExitZ]))
       {
       if(GetPlayerVirtualWorld(playerid) == i)
       {
       if (GetPlayerState(playerid) == 2)
       {
       new tmpcar = GetPlayerVehicleID(playerid);
       SetVehiclePos(tmpcar, Garages[i][gEntranceX],Garages[i][gEntranceY],Garages[i][gEntranceZ]);
       SetVehicleVirtualWorld(tmpcar, 0);
       LinkVehicleToInterior(tmpcar, 0);
       Garages[i][gCarin] = 0;
       }
       else { SetPlayerPos(playerid,Garages[i][gEntranceX],Garages[i][gEntranceY],Garages[i][gEntranceZ]); }
       SetPlayerInterior(playerid,0);
       SetPlayerVirtualWorld(playerid,0);
       PlayerInfo[playerid][pInt] = 0;
       PlayerInfo[playerid][pLocal] = 255;
       }
       }
       }
Всё гараж готов
PHP:
Авто статьи: Thirty_third
Всё т=ставьте спасибо если помог
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу