Как создать гараж в крмп

Как создать гараж в крмп

Ctrl+f => new SBizzInfo

enum GarageInfo
<
gOwned,
gOwner[64],
Float:gEntranceX,
Float:gEntranceY,
Float:gEntranceZ,
Float:gExitX,
Float:gExitY,
Float:gExitZ,
gPrice,
gLock,
gCarin,
>;
new Garages[644][GarageInfo];

Ctrl+f => public LoadSBizz()

После данного «паблика» (public) вставляем:

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]);

Как создать дом и гараж в CRMP | CRMP делаем фулл дом | Radmir Role Play | Как сделать дом


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

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]);

Как залить крышу гаража своими руками

Я СЛОВИЛ ЭЛИТНЫЙ ГАРАЖ НА 15 МЕСТ! ЧТО ТУДА ТЕПЕРЬ СТАВИТЬ? (Radmir CRMP)


>
Create3DTextLabel(txt,0x008080FF,Garages[h][gEntranceX], Garages[h][gEntranceY], Garages[h][gEntranceZ]+0.5,40.0,0,1);
>

Ctrl+f => public OnPropUpdate()

while (idx < sizeof(Garages))
<
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), «%d|%s|%f|%f|%f|%f|%f|%f|%d|%d|%dn»,
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 добавляем следущие команды:

//====================================================[Garages by 33]=================================================
if(strcmp(cmd, «/buygarage», true) == 0)
<
if(IsPlayerConnected(playerid))
<
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new b = 0; b < sizeof(Garages); b++)
<
if(PlayerToPoint(2.0, playerid, Garages[b][gEntranceX], Garages[b][gEntranceY], Garages[b][gEntranceZ]) && Garages[b][gOwned] == 0)
<
if(GetPlayerMoney(playerid) > Garages[b][gPrice])
<
Garages[b][gOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(Garages[b][gOwner], sendername, 0, strlen(sendername), 255);
ServerGivePlayerMoney(playerid,-Garages[b][gPrice]);
PlayerPlayMusic(playerid);
SendClientMessage(playerid, COLOR_WHITE, «Поздравляем вас с приобретением!»);
DateProp(playerid);
OnPropUpdate();
SavePlayer(playerid);
return 1;
>
else
<
SendClientMessage(playerid, COLOR_WHITE, «У вас не хватит денег на это!»);
return 1;
>
>
>
>
return 1;
>
if(strcmp(cmd, «/sellgarage», true) == 0)
<
if(IsPlayerConnected(playerid))
<
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new b = 0; b < sizeof(Garages); b++)
<
if(PlayerToPoint(3.0, playerid, Garages[b][gEntranceX], Garages[b][gEntranceY], Garages[b][gEntranceZ]))
<
if(b == sizeof(Garages)) < SendClientMessage(playerid, COLOR_WHITE, «Bы должны быть у своего гаража.»); >
if(strcmp(Garages[b][gOwner],playername, true ) == 0)
<
Garages[b][gOwned] = 0;
Garages[b][gLock] = 1;
strmid(Garages[b][gOwner], «No-one», 0, strlen(«No-one»), 255);
ServerGivePlayerMoney(playerid,Garages[b][gPrice]);
PlayerPlayMusic(playerid);
SendClientMessage(playerid, COLOR_WHITE, «Bы продали свой гараж.»);
DateProp(playerid);
OnPropUpdate();
SavePlayer(playerid);
return 1;
>
else
<
SendClientMessage(playerid, COLOR_WHITE, «Bы не можете продать этот гараж.»);
return 1;
>
>
>
>
return 1;
>

Ctrl+f => if(strcmp(cmd, «/open», true) == 0)

Гараж это здание или нежилое помещение

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, «/enter», true) == 0)

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)

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;
>
>
>

В комплекте даю файл с гаражами по всем 3м городам (всего 644 гаража).

Прошу первых проверивших отписатсья о возможных багах/недостатках, хоть лично и проверил, но мог допустить ошибку при копировании.

Место под гараж как получить

Требуются модераторы/публикаторы на сайты mafia2mp.ru и iv-online.ru

Создание UCP для вашего сервера, а так же перевод мода на MySQL.
___________________________________________________

Помогаю с созданием сайтов/форумов. Нуждающимся — писать в ICQ
___________________________________________________

Источник

Форум Pawn-Wiki.Ru — Воплоти мечту в реальность!: Система Гаражей — Форум Pawn-Wiki.Ru — Воплоти мечту в реальность!

Система Гаражей Оценка:

Пользователь офлайн

Romzes

  • Группа: Администраторы
  • Сообщений: 7 178
  • Регистрация: 14 августа 11

Думаю кому-то пригодится.
Сразу говорю автор кода не я,я просто сделал урок.
Для начало добовляем ко всем new

Добавм еще ко всем new

В public OnGameModeExit добавим

В public OnGameModeInit

И чуть ниже тоже в public OnGameModeInit

Создаем сами обьекты гаражей (OnGameModeInit)

Ко всем коммандам OnPlayerCommandText

Создаем паблики (можно в конце мода)

И ищо:

Пользователь офлайн

Mike

Источник

Как создать гараж в крмп

Всем привет. недавно вышло новое обновление, и я думаю у многих возникли вопросы. я подробно расскажу о системе «гаражи».
Данная система — это дополнение к старой системе транспорта. она не изменена глобально, просто сделали возможность иметь несколько машин.

• Заходим в игру и прописываем команду /enterg для того чтобы попасть в гараж (работает рядом с домом и в интерьере). прописав команду, мы появляемся в интерьере гаража.

• В вашем гараже несколько личных транспорта. у них нету паспорта, это просто «модельки» т.е. их невозможно продать/обменять в гараже, нужно обязательно выгнать из гаража.

► Любой игрок может зайти в любой гараж, не зависимо от того закрыт дом или нет. но он не сможет выгнать чужую машину из гаража.
► Если владельца дома не будет в гараже, то машин тоже не будет.
Так что будьте внимательны, никогда не покупайте транспорт в гараже, могут быть разводы!

Приклеить пенопласт к металлу в гараже чем

• После того как сядете на свой транспорт и нажав на кнопку 2, вы переместитесь на улицу, и у т/с появился паспорт, теперь вы можете продать/обменять,но если вы хотите,купить другое т/c,не меняя своё,для это вы должны взять скутер,выгнать его из гаража и потом уже меняться,таким образом вы купите новую машину,заместо скутера.
• Загнать транспорт обратно в гараж, нажмите на caps look или h (гудок).

► Выполнять какие-либо функции продавать/обменивать/закрывать/открывать можно только с тем транспортом, который вне гаража!
► Выгонять две и более машины одновременно нельзя. чтобы взять другую машину, нужно либо прописать /fixcar (машина заспавнится в гараже), либо загнать машину в гараж.

• Теперь о домах:
Nope и D класс не имеют гаража (машины спавнятся по старинке у дома).
C — class имеет гараж на две машины.
B — class имеет гараж на три машины.
A — class имеет гараж на четыре машины.
S — class имеет гараж на пять машин.

► Если заменить А class на С, то в гараже будут первые две машины, остальные сохранятся на аккаунте или будут спавняться рандомно после перезахода в игру или в гараж,точно не известно.

Источник
Рейтинг
Загрузка ...