Nick:G.O.D Problema:Vreau ajutor sa pun ca atunci cand apas dinnou "SHIFT" sa se opreasca motorul. Erori / warnings:Nu. Linii script: [pawn] #include <a_samp> #include <zcmd> #pragma tabsize 0 #define colorRed 0xFF0000FF #define colorYellow 0xFFFF00FF forward StartEngine(playerid); forward DamagedEngine(playerid); new vehEngine[MAX_VEHICLES]; public OnPlayerStateChange(playerid, newstate, oldstate) { new vehicleid = GetPlayerVehicleID(playerid); if(newstate == PLAYER_STATE_DRIVER) { if(vehEngine[vehicleid] == 0) { TogglePlayerControllable(playerid, 0); SendClientMessage(playerid, colorYellow, "Motorul nu este pornit"); SendClientMessage(playerid, colorYellow, "Pentru a porni vehicolul apasa \"SHIFT\" sau scrie \"/engine\""); } else if(vehEngine[vehicleid] == 1) { TogglePlayerControllable(playerid, 1); SendClientMessage(playerid, colorYellow, "Motorul masinii este pornit"); } } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInAnyVehicle(playerid)) { if(vehEngine[vehicleid] == 0) { if(newkeys == KEY_SPRINT ) { vehEngine[vehicleid] = 2; SetTimerEx("StartEngine", 1000, 0, "i", playerid); SendClientMessage(playerid, colorYellow, "Porneste motorul masinii"); } } if(newkeys == KEY_SECONDARY_ATTACK) { RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid, 1); } } return 1; } public StartEngine(playerid) { new vehicleid = GetPlayerVehicleID(playerid); new Float:health; GetVehicleHealth(vehicleid, health); if(IsPlayerInAnyVehicle(playerid)) { if(vehEngine[vehicleid] == 2) { if(health > 300) { { vehEngine[vehicleid] = 1; TogglePlayerControllable(playerid, 1); SetTimerEx("DamagedEngine", 1000, 1, "i", playerid); SendClientMessage(playerid, colorYellow, "Motorul masinii a pornit"); } } else { vehEngine[vehicleid] = 0; TogglePlayerControllable(playerid, 0); SendClientMessage(playerid, colorYellow, "Motorul nu a pornit pentru ca este avariat"); } } } return 1; } public DamagedEngine(playerid) { new vehicleid = GetPlayerVehicleID(playerid); new Float:health; GetVehicleHealth(vehicleid, health); if(IsPlayerInAnyVehicle(playerid)) { if(vehEngine[vehicleid] == 1) { if(health < 300) { vehEngine[vehicleid] = 0; TogglePlayerControllable(playerid, 0); SendClientMessage(playerid, colorYellow, "Motorul s-a oprit pentru ca este avariat"); } } } return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { TogglePlayerControllable(playerid, 1); return 1; } CMD:engine(playerid, params[]) { new vehicleid = GetPlayerVehicleID(playerid); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, colorRed, "Trebuie sa fi intr-o masina pentru a folosi comanda"); if(vehEngine[vehicleid] == 0) { vehEngine[vehicleid] = 2; SetTimerEx("StartEngine", 3000, 0, "i", playerid); SendClientMessage(playerid, colorYellow, "Porneste motorul masini"); } else if(vehEngine[vehicleid] == 1) { vehEngine[vehicleid] = 0; TogglePlayerControllable(playerid, 0); SendClientMessage(playerid, colorYellow, "Motorul masinii s-a oprit"); SendClientMessage(playerid, colorYellow, "Pentru a reporni motorul apasa \"SHIFT\" sau scrie \"/engine\""); } return 1; }[/pawn] Ai incercat sa rezolvi singur ?:Da, dar imi dadea erori deci l-am lasat asa.