sasa50
Умник
Начинаем наш урок
Ctrl+f => new SBizzInfo
Ниже вставляем
Ctrl+f => public LoadSBizz()
После данного "паблика" (public) вставляем:
Вставляем в public OnGameModeInit
Ctrl+f => public OnPropUpdate()
Вставляем
В public OnPlayerCommandText добавляем следущие команды:
Ctrl+f => if(strcmp(cmd, "/open", true) == 0)
Добавляем
Добавляем
Ctrl+f => if(strcmp(cmd, "/enter", true) == 0)
Вставляем
Ctrl+F => if(strcmp(cmd, "/exit", true) == 0)
Добавляем
Всё гараж готов
Всё т=ставьте спасибо если помог
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];
После данного "паблика" (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;
}
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);
}
Вставляем
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;
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;
}
}
}
Добавляем
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();
}
}
}
Добавляем
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
Последнее редактирование:
