Pawno-SAMP
Главная
Вход
Регистрация
Вторник, 15.07.2025, 10:29Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[Мануал] Сис-ма трейлеров
UlkiorraJeezyДата: Суббота, 14.07.2012, 19:00 | Сообщение # 1
Лейтенант
Группа: Администраторы
Сообщений: 71
Репутация: 0
Статус: Offline
Начнем.
1.В вышку мода:
Code
forward LoadTrailer();
forward SaveTrailer();
enum TrailerInfo
{
tOwned,
tOwner[64],
Float:tPosX,
Float:tPosY,
Float:tPosZ,
Float:tPosA,
tCol,
tLvl,
tExit,
tCost,
tLock,
};
new Trailer[27][TrailerInfo];
new buytrailer[sizeof(Trailer)];
new Text3D:TrailerLabel[sizeof(Trailer)];
new trailercheck[MAX_PLAYERS];//
forward IsATrailer(carid);  

2. в enum pInfo
Code
pTrailer,  

3. в public OnPlayerConnect
Code
PlayerInfo[playerid][pTrailer] = 255;  

4. в public SetPlayerSpawn
Code
new newveh=GetPlayerVehicleID(playerid);
new trailer = PlayerInfo[playerid][pTrailer];
for(new i;i<sizeof(Trailer);++i)
{
if(newstate==2&&newveh==buytrailer[i])
{
if(Trailer[i][tOwned]==0)
{
TogglePlayerControllable(playerid,0);
format(string, sizeof(string), "{FFFFFF}Вы действительно собираетесь приобрести данный {FFA500}трейлер{FFFFFF} за ${FFA500}%d?",Trailer[i][tCost]);
ShowPlayerDialog(playerid,817,DIALOG_STYLE_MSGBOX,"{FFA500}Покупка трейлера",string," [Да] "," [Нет] ");
}
if(Trailer[i][tOwned]==1)
{
if(trailer != i )
{
RemovePlayerFromVehicle(playerid),SendClientMessage(playerid,COLOR_GREY,"{FFA500}*{FFFFFF} У вас нет ключей от этого трейлера");
}
}
}

5. ищем
public OnPlayerStateChange(playerid, newstate, oldstate)

там будет вот такая функция
PLAYER_STATE_DRIVER

ниже добавим
Code
new newveh=GetPlayerVehicleID(playerid);
new trailer = PlayerInfo[playerid][pTrailer];
for(new i;i<sizeof(Trailer);++i)
{
if(newstate==2&&newveh==buytrailer[i])
{
if(Trailer[i][tOwned]==0)
{
TogglePlayerControllable(playerid,0);
format(string, sizeof(string), "{FFFFFF}Вы действительно собираетесь приобрести данный {FFA500}трейлер{FFFFFF} за ${FFA500}%d?",Trailer[i][tCost]);
ShowPlayerDialog(playerid,817,DIALOG_STYLE_MSGBOX,"{FFA500}Покупка трейлера",string," [Да] "," [Нет] ");
}
if(Trailer[i][tOwned]==1)
{
if(trailer != i )
{
RemovePlayerFromVehicle(playerid),SendClientMessage(playerid,COLOR_GREY,"{FFA500}*{FFFFFF} У вас нет ключей от этого трейлера");
}
}
}

6. в public OnGameModeInit
Code
LoadTrailer();
for(new h = 0; h < sizeof(Trailer); h++)
{
buytrailer[h] = CreateVehicle(508, Trailer[h][tPosX], Trailer[h][tPosY], Trailer[h][tPosZ], Trailer[h][tPosA], Trailer[h][tCol], 1, -1);
}
for(new h = 0; h < sizeof(Trailer); h++)
{
if(Trailer[h][tOwned] == 1)
{
new temp[MAX_STRING];
format(temp, sizeof(temp), "{FFA500}Владелей трейлера: {ffffff}%s ", Trailer[h][tOwner]);
TrailerLabel[h] = Create3DTextLabel(temp,0xFF0000FF,Trailer[h][tPosX], Trailer[h][tPosY], Trailer[h][tPosZ]+1.5,40.0,0,1);
Attach3DTextLabelToVehicle(TrailerLabel[h] , buytrailer[h] , 0.0, 0.0, 1.5);
}
if(Trailer[h][tOwned] == 0)
{
new temp[MAX_STRING];
format(temp, sizeof(temp), "{FFA500}Трейлер: {ffffff}продается{FFA500} \n{FFA500}Цена: %d", Trailer[h][tCost]);
TrailerLabel[h] = Create3DTextLabel(temp,0xFF0000FF,Trailer[h][tPosX], Trailer[h][tPosY], Trailer[h][tPosZ]+1.5,40.0,0,1);
Attach3DTextLabelToVehicle(TrailerLabel[h] , buytrailer[h] , 0.0, 0.0, 1.5);
}
}

7.В public OnPlayerRegister
Code
format(var, 32, "Trailer=%d\n",PlayerInfo[playerid][pTrailer]);fwrite(hFile, var);  

8. в public OnPlayerUpDate
Code
format(var, 32, "Trailer=%d\n",PlayerInfo[playerid][pTrailer]);fwrite(hFile, var);  

9.теперь в OnPlayerLogin добавим
Code
if( strcmp( key , "Trailer" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pTrailer] = strval( val ); }  

10. в public OnPlayerCommandText

11. в низ мода

12. ко всем forward
Code
forward IsATrailer(carid);  

13. добавить public
Code
public IsATrailer(carid)
{
if(carid >= truck[0] && carid <= truck[2])
{
return 1;
}
return 0;
}

14. в начало мода
Code
new truck[3];  


FS с трейлерами http://rghost.ru/32573301
 
  • Страница 1 из 1
  • 1
Поиск:


Пожертвования на развитие сайта. Yandex: 410011459268530 © 2025
Создать бесплатный сайт с uCoz