Перейти к содержанию
Авторизация  
Lev_Elistratov

Сис-ма двигателя

Рекомендуемые сообщения

Lev_Elistratov

В общем взял мод Мегаполис, а там велосипед заводится.

Как я не пытался, не помогает ничего.

Вот коды связанные с двигателем:

//=========================Двигатель============================================
if(newkeys == 512)//128
{
new sendername[MAX_PLAYER_NAME];
new string[128];
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(engine1[vehicleid] == 0)
{
engine1[vehicleid] = 2;
timere[playerid] = SetTimerEx("StartEngine", 2000, 0, "i", playerid);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s пробует завести машину", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
new vehicleidS;
vehicleidS = GetPlayerVehicleID(playerid);
if(vehicleidS>-1&&engine1[vehicleidS]==1)
{
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s заглушил двигатель", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
engine1[vehicleidS] = 0;
}
}
public EngineStart(playerid, carid)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInVehicle(playerid, carid))
{
new sendername[MAX_PLAYER_NAME];
new string[64];
GetPlayerName(playerid, sendername, sizeof(sendername));
new chance = random(10);
if(chance >= 0 && chance <= 8)
{
Engine[carid] = 1;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, COLOR_GREY, "Вы успешно запустили двигатель.");
format(string, sizeof(string), "* %s вставил ключ в замок зажигания и пытается завести двигатель.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вам не удалось запустить двигатель.");
}
}
}
return 1;
}
forward StartEngine(playerid);
public StartEngine(playerid)
{
KillTimer(timere[playerid]);
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
new vehid = GetPlayerVehicleID(playerid);
new rand = random(100);
new sendername[MAX_PLAYER_NAME];
new string[128];
new Float:vhealth;
GetVehicleHealth(vehicleid, vhealth);
if(IsPlayerInAnyVehicle(playerid)&&GetPlayerVehicleSeat(playerid)==0)
{
if(engine1[vehicleid] == 2)
{
if(vhealth >= 410)
{
if(rand > 10)
{
engine1[vehicleid] = 1;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
SetTimerEx("DamagedEngine", 1000, 1, "i", playerid);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Двигатель завелся (( %s ))", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
engine1[vehicleid] = 0;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, COLOR_RED, "Двигатель не заводится, попробуйте ещё раз");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Двигатель не завелся (( %s ))", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
}
else if(vhealth <= 400)
{
engine1[vehicleid] = 0;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, COLOR_RED, "Двигатель не заводится, попробуйте ещё раз");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Двигатель не завелся (( %s ))", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
}
}
return 1;
}

Что делать??

Есть еще паблик с идами великов

stock IsAVelik(carid)
{
new carmodel = GetVehicleModel(carid);
{
if(carmodel == 509 || carmodel == 481 || carmodel == 510
// Авиация
|| carmodel == 592 || carmodel == 577 || carmodel == 511 || carmodel == 512 || carmodel == 593 || carmodel == 520 || carmodel == 553
|| carmodel == 476 || carmodel == 519 || carmodel == 460 || carmodel == 513 || carmodel == 548 || carmodel == 425 || carmodel == 417
|| carmodel == 487 || carmodel == 488 || carmodel == 497 || carmodel == 563 || carmodel == 447 || carmodel == 469
// Водный
|| carmodel == 430 || carmodel == 446 || carmodel == 452 || carmodel == 453 || carmodel == 454 || carmodel == 472 || carmodel == 473
|| carmodel == 484 || carmodel == 493 || carmodel == 539 || carmodel == 595) return 1; // ??? ?????? ???????
}
return 0;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ryslik42

В паблик изменения статуса игрока сделай проверку, если игрок садится в велик, то изменяй параметр двиг транспорта на true

if(IsAVelik(GetPlayerVehicleID(playerid)))
	{
		SetVehicleParamsEx(GetPlayerVehicleID(playerid),true,lights,alarm,doors,bonnet,boot,objective);
		return 1;
	}

Вот так по моему будет верно, нет возможности проверить. 

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.