Please Help me fix my engine GM script
#1

Here is my engine gamemode script, I need it fixed... I have no idea whats wrong. The problems: Engine will not re-start while inside after it's shut down , I get stuck inside when it's shut down and I can't get out. can someone please fix these two things. Thanks so much! (I will +1 Rep anyone who can help fix this).

Код:
if(!strcmp(cmd, "/engine", true))
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(IsPlayerInAnyVehicle(playerid))
			{
	    		if(!engineOn[GetPlayerVehicleID(playerid)])
	    		{
	        		if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return 1;
					if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509) return 1;
					if(IsARentableCar(idcar))
					{
					    if(HireCar[playerid] != idcar) return 1;
					}
					if(IsAHarvest(idcar)) return 1;
					if(IsADrugHarvest(idcar)) return 1;
					if(IsASweeper(idcar)) return 1;
					
					
					if(CanTurnEngine[playerid] != idcar && CanTurnEngine[playerid] == 9999)
						return SendClientMessage(playerid, COLOR_GREY,"* You cannot turn this car's engine!");
					
					format(string, sizeof(string), "* %s spins a key and tries to start vehicle engine.", sendername);
					ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
					SetTimerEx("StartingTheVehicle",3500,0,"i",playerid);
					GameTextForPlayer(playerid, "~w~Starting vehicle engine...",3500,3);
					gEngine[playerid] = 1;
					new y, m, d;
					new h,mi,s;
					getdate(y,m,d);
					gettime(h,mi,s);
					format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /engine",d,m,y,h,mi,s,sendername);
					CommandLog(string);
					return 1;
				}
				else if(engineOn[GetPlayerVehicleID(playerid)])
	    		{
	        		if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return 1;
					if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509) return 1;
					if(IsARentableCar(idcar))
					{
					    if(HireCar[playerid] != idcar) return 1;
					}
					if(IsAHarvest(idcar)) return 1;
					if(IsADrugHarvest(idcar)) return 1;
					if(IsASweeper(idcar)) return 1;
					
					if(CanTurnEngine[playerid] != idcar && CanTurnEngine[playerid] == 9999)
						return SendClientMessage(playerid, COLOR_GREY,"* You cannot turn this car's engine!");
					
					format(string, sizeof(string), "* %s spins a key and turns off the engine.", sendername);
					ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
					GameTextForPlayer(playerid, "~w~Engine Shut Down.",3500,3);
					gEngine[playerid] = 0;
					TogglePlayerControllable(playerid, 0);
					new y, m, d;
					new h,mi,s;
					getdate(y,m,d);
					gettime(h,mi,s);
					format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /engine",d,m,y,h,mi,s,sendername);
					CommandLog(string);
					return 1;
				}
			}
	    }
	    return 1;
	}
Reply
#2

Try This

PHP код:
if(!strcmp(cmd"/engine"true))
    {
        if(
IsPlayerInAnyVehicle(playerid))
        {
            if(
IsPlayerConnected(playerid))
            {
                if(!
engineOn[GetPlayerVehicleID(playerid)])
                {
                    if(
GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return 1;
                    if(
pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509) return 1;
                    if(
IsARentableVeh(idcar))
                    {
                        if(
HireCar[playerid] != idcar) return 1;
                    }
                    if(
IsAHarvest(idcar)) return 1;
                    if(
IsADrugHarvest(idcar)) return 1;
                    if(
IsASweeper(idcar)) return 1;
                    if(
IsASalesVehicle(idcar)) return 1;
                    if(
CanTurnEngine[playerid] != idcar && CanTurnEngine[playerid] == 9999)
                        return 
SendClientMessage(playeridCOLOR_GREY,"* You cannot turn this car's engine!");
                    new 
plname[MAX_PLAYER_NAME];
                    
GetPlayerName(playeridplnamesizeof(plname));
                    
format(stringsizeof(string), "* %s spins a key and tries to start vehicle engine."plname);
                    
ProxDetector(30.0playeridstringCOLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
                    if(
PlayerInfo[playerid][pAdmin] < 1337 && PlayerInfo[playerid][pAdminDuty] == 1)
                    {
                        
SetTimerEx("StartingTheVehicle",1,0,"i",playerid);
                    }
                    else
                    {
                        
SetTimerEx("StartingTheVehicle",3500,0,"i",playerid);
                    }
                    
GameTextForPlayer(playerid"~w~Starting vehicle engine...",3500,3);
                    
gEngine[playerid] = 1;
                    new 
vid GetPlayerVehicleID(playerid);
                    new 
engine,lights,alarm,doors,bonnet,boot,objective;
                    
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
                    
SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);
                
//    engineOn[GetPlayerVehicleID(playerid)] = true;
                    
new ymd;
                    new 
h,mi,s;
                    
getdate(y,m,d);
                    
gettime(h,mi,s);
                    
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /engine",d,m,y,h,mi,s,sendername);
                    
CommandLog(string);
                    return 
1;
                }
                else if(
engineOn[GetPlayerVehicleID(playerid)])
                {
                    if(
GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return 1;
                    if(
pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509) return 1;
                    if(
IsARentableVeh(idcar))
                    if(
IsASalesVehicle(idcar))
                    {
                        if(
HireCar[playerid] != idcar) return 1;
                    }
                    if(
IsAHarvest(idcar)) return 1;
                    if(
IsADrugHarvest(idcar)) return 1;
                    if(
IsASweeper(idcar)) return 1;
                    if(
CanTurnEngine[playerid] != idcar && CanTurnEngine[playerid] == 9999)
                        return 
SendClientMessage(playeridCOLOR_GREY,"* You cannot turn this car's engine!");
                    
format(stringsizeof(string), "* %s spins a key and turns off the engine"sendername);
                    
ProxDetector(30.0playeridstringCOLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
                    
GameTextForPlayer(playerid"~w~Engine Turned Off.",3500,3);
                    
gEngine[playerid] = 0;
                    new 
vid GetPlayerVehicleID(playerid);
                    new 
engine,lights,alarm,doors,bonnet,boot,objective;
                    
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
                    
SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
                    
engineOn[GetPlayerVehicleID(playerid)] = false;
                    
TogglePlayerControllable(playerid0);//// ath the dealship's in the game, you can go there and try to get a car, buy when you do /v it spawns you a car, but you can take it away, idk how you can buy it,can you fix it where they cant leave with the car, they have to buy it first?
                    
new ymd;
                    new 
h,mi,s;
                    
getdate(y,m,d);
                    
gettime(h,mi,s);
                    
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /engine",d,m,y,h,mi,s,sendername);
                    
CommandLog(string);
                    return 
1;
                }
            }
        }
        return 
1;
    } 
Reply
#3

I get errors with that one:
error 017: undefined symbol "IsARentableVeh"
error 017: undefined symbol "IsARentableVeh"
Reply
#4

Just remove them lines and it should work.
Reply
#5

Ok. Thanks. Is this from your gamemode?
Reply
#6

Yes. Did it work?
Reply
#7

Sort of. The being stuck in car part if fixed. But the re-starting car part is still not working, now once its turned off it stays off. Even when you exit and reenter the car, it doesn't start. It says it starts but it doesn't allow you to drive/move it... can you please fix this (I will +1 Rep you for your great help)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)