SA-MP Forums Archive
Please Help me fix my engine GM script - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Please Help me fix my engine GM script (/showthread.php?tid=383446)



Please Help me fix my engine GM script - jakejohnsonusa - 07.10.2012

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;
	}



Re: Please Help me fix my engine GM script - rbush12 - 07.10.2012

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;
    } 



Re: Please Help me fix my engine GM script - jakejohnsonusa - 07.10.2012

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


Re: Please Help me fix my engine GM script - rbush12 - 07.10.2012

Just remove them lines and it should work.


Re: Please Help me fix my engine GM script - jakejohnsonusa - 07.10.2012

Ok. Thanks. Is this from your gamemode?


Re: Please Help me fix my engine GM script - rbush12 - 07.10.2012

Yes. Did it work?


Re: Please Help me fix my engine GM script - jakejohnsonusa - 07.10.2012

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)