Lev_Elistratov 93 Опубликовано 4 ноября, 2015 В общем взял мод Мегаполис, а там велосипед заводится. Как я не пытался, не помогает ничего. Вот коды связанные с двигателем: //=========================Двигатель============================================ 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 288 Опубликовано 4 ноября, 2015 В паблик изменения статуса игрока сделай проверку, если игрок садится в велик, то изменяй параметр двиг транспорта на true if(IsAVelik(GetPlayerVehicleID(playerid))) { SetVehicleParamsEx(GetPlayerVehicleID(playerid),true,lights,alarm,doors,bonnet,boot,objective); return 1; } Вот так по моему будет верно, нет возможности проверить. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты