Can't drive with vehicle
#1

Hey,

I have very annoying bug in my gamemode. When i connect my server i can't start any car(ex: when i spawn car with /veh i cant drive with it) if i'm not in faction or somewhere. If i'm civin system just says "You don't have key's to start engine", but if i change my faction id and start faction car and all works fine now even this /veh vehicle. Sorry for terrible english..
All id's are correct! Checked many times. My /engine command.

Код:
	if(!strcmp(cmd, "/engine", true))
	{
		if(IsPlayerConnected(playerid))
	    {
			if(IsPlayerInAnyVehicle(playerid))
			{
       if(k2ivitatav[playerid] == 1)
	   			{
		    		if(!engineOn[GetPlayerVehicleID(playerid)])
		    		{
		        		if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
						{
							return 1;
						}
						if(IsAnOwnableCar(idcar))
						{
							if(PlayerInfo[playerid][pPcarkey] == idcar) { }
							else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
							else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
							else { return 1; }
						}
						if(pveh == 999 || pveh == 999 || pveh == 999 || pveh == 999)
						{
							return 1;
						}
						if(idcar == 999 || idcar == 999)
						{
							return 1;
						}
						if(idcar >= 32 && idcar <= 35)
						{
						    if(HireCar[playerid] != idcar)
						    {
								return 1;
							}
						}
	                   if(IsAPlane(idcar))
						{
						    return 1;
						}
						if(IsAHarvest(idcar))
						{
						    return 1;
						}
						if(IsADrugHarvest(idcar))
						{
						    return 1;
						}
						if(IsASweeper(idcar))
						{
						    return 1;
						}

						new Float:health;
	                    GetVehicleHealth(GetPlayerVehicleID(playerid),health);
						new playerveh = GetPlayerVehicleID(playerid);
						if (health <= 400 && !IsABoat(playerveh) && !IsAPlane(playerveh) && !IsAHarvest(playerveh) && !IsADrugHarvest(playerveh) && !IsASweeper(playerveh))
	                    {
	                    engineOn[GetPlayerVehicleID(playerid)] = false;
						TogglePlayerControllable(playerid, 0);
						GetPlayerName(playerid, sendername, sizeof(sendername));
						format(string, sizeof(string), "* %s ьritab mootorit kдivitada kuid ebaхnnestub.", sendername);
						ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						SendClientMessage(playerid, COLOR_BLUE, "Mootor ei kдivitunud. Mootor on liiga kuum. Kutsu Mehaanik.");
						gEngine[playerid] = 0;
						return 1;
						}
						if(Gas[playerveh] == 0)
						{
							Mecmd(playerid,"ьritab mootorit kдivitada kuid ebaхnnestub.");
							SendClientMessage(playerid, COLOR_GRAD1, "Masinas pole enam tilkagi kьtust.");
							return 1;
						}
						if( sTankimas[playerid] == 1 )
			            {
				        TogglePlayerControllable(playerid, false);
				        return SendClientMessage(playerid, COLOR_GREY, "Sa ei saa tankimise ajal mootorit kдivitada.");
	                    }
	                    if(gEngine[playerid] == 1) { return 1; }

						PutPlayerInVehicle(playerid, playerveh, 0);
						TogglePlayerControllable(playerid, 0);
						GetPlayerName(playerid, sendername, sizeof(sendername));
						format(string, sizeof(string), "* %s kдivitab sхiduki mootori.", sendername);
						ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						SetTimerEx("StartingTheVehicle",1,0,"i",playerid);
						gEngine[playerid] = 1;
						return 1;
					}
					if(engineOn[GetPlayerVehicleID(playerid)])
		    		{
		        		if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
						{
							return 1;
						}
						if(IsAnOwnableCar(idcar))
						{
						    if(PlayerInfo[playerid][pPcarkey] == idcar) { }
							else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
							else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
							else { }
						}
						if(pveh == 999 || pveh == 999 || pveh == 999 || pveh == 999)
						{
							return 1;
						}
						if(idcar == 999 || idcar == 999)
						{
							return 1;
						}
						if(idcar >= 999 && idcar <= 999)
						{
						    if(HireCar[playerid] != idcar)
						    {
								return 1;
							}
						}
						if(IsAHarvest(idcar))
						{
						    return 1;
						}
						if(IsADrugHarvest(idcar))
						{
						    return 1;
						}
                        if(IsAPlane(idcar))
						{
						    return 1;
						}
						if(IsASweeper(idcar))
						{
						    return 1;
                        }
			            engineOn[GetPlayerVehicleID(playerid)] = false;
						TogglePlayerControllable(playerid, 0);
						PlayerPlaySound(playerid,1022, 0.0, 0.0, 0.0)
						GetPlayerName(playerid, sendername, sizeof(sendername));
						format(string, sizeof(string), "* %s keerab vхtit ja suretab mootori.", sendername);
						ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						gEngine[playerid] = 0;
						return 1;
					}

	   	       }
	   	       else
		       {
			        SendClientMessage(playerid, COLOR_GRAD1, "You don't have keys to start engine.");
  		       }
  		   }
        }
        return 1;
	}
Reply
#2

Show the function "StartingTheVehicle(playerid)".
Reply
#3

Код:
public StartingTheVehicle(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
    		new sendername[MAX_PLAYER_NAME];

            engineOn[GetPlayerVehicleID(playerid)] = true;
            TogglePlayerControllable(playerid, true);
            GetPlayerName(playerid, sendername, sizeof(sendername))
            gEngine[playerid] = 0;
        }
		else
		{
		    gEngine[playerid] = 0;
		}
    }
    return 1;
}
Reply
#4

Anyone can't help?
Reply
#5

try to convert the command to ZCMD command processor because strcmp is not recommended for Command processor
Reply
#6

I'm not very good with zCMD maybe you can help me with that do? :P
Reply
#7

try this make sure you have a backup of the old command
pawn Код:
CMD:engine(playerid,params[])
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsPlayerInAnyVehicle(playerid))
            {
       if(k2ivitatav[playerid] == 1)
                {
                    if(!engineOn[GetPlayerVehicleID(playerid)])
                    {
                        if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
                        {
                            return 1;
                        }
                        if(IsAnOwnableCar(idcar))
                        {
                            if(PlayerInfo[playerid][pPcarkey] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
                            else { return 1; }
                        }
                        if(pveh == 999 || pveh == 999 || pveh == 999 || pveh == 999)
                        {
                            return 1;
                        }
                        if(idcar == 999 || idcar == 999)
                        {
                            return 1;
                        }
                        if(idcar >= 32 && idcar <= 35)
                        {
                            if(HireCar[playerid] != idcar)
                            {
                                return 1;
                            }
                        }
                       if(IsAPlane(idcar))
                        {
                            return 1;
                        }
                        if(IsAHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsADrugHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsASweeper(idcar))
                        {
                            return 1;
                        }

                        new Float:health;
                        GetVehicleHealth(GetPlayerVehicleID(playerid),health);
                        new playerveh = GetPlayerVehicleID(playerid);
                        if (health <= 400 && !IsABoat(playerveh) && !IsAPlane(playerveh) && !IsAHarvest(playerveh) && !IsADrugHarvest(playerveh) && !IsASweeper(playerveh))
                        {
                        engineOn[GetPlayerVehicleID(playerid)] = false;
                        TogglePlayerControllable(playerid, 0);
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* %s ьritab mootorit kдivitada kuid ebaхnnestub.", sendername);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        SendClientMessage(playerid, COLOR_BLUE, "Mootor ei kдivitunud. Mootor on liiga kuum. Kutsu Mehaanik.");
                        gEngine[playerid] = 0;
                        return 1;
                        }
                        if(Gas[playerveh] == 0)
                        {
                            Mecmd(playerid,"ьritab mootorit kдivitada kuid ebaхnnestub.");
                            SendClientMessage(playerid, COLOR_GRAD1, "Masinas pole enam tilkagi kьtust.");
                            return 1;
                        }
                        if( sTankimas[playerid] == 1 )
                        {
                        TogglePlayerControllable(playerid, false);
                        return SendClientMessage(playerid, COLOR_GREY, "Sa ei saa tankimise ajal mootorit kдivitada.");
                        }
                        if(gEngine[playerid] == 1) { return 1; }

                        PutPlayerInVehicle(playerid, playerveh, 0);
                        TogglePlayerControllable(playerid, 0);
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* %s kдivitab sхiduki mootori.", sendername);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        SetTimerEx("StartingTheVehicle",1,0,"i",playerid);
                        gEngine[playerid] = 1;
                        return 1;
                    }
                    if(engineOn[GetPlayerVehicleID(playerid)])
                    {
                        if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
                        {
                            return 1;
                        }
                        if(IsAnOwnableCar(idcar))
                        {
                            if(PlayerInfo[playerid][pPcarkey] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
                            else { }
                        }
                        if(pveh == 999 || pveh == 999 || pveh == 999 || pveh == 999)
                        {
                            return 1;
                        }
                        if(idcar == 999 || idcar == 999)
                        {
                            return 1;
                        }
                        if(idcar >= 999 && idcar <= 999)
                        {
                            if(HireCar[playerid] != idcar)
                            {
                                return 1;
                            }
                        }
                        if(IsAHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsADrugHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsAPlane(idcar))
                        {
                            return 1;
                        }
                        if(IsASweeper(idcar))
                        {
                            return 1;
                        }
                        engineOn[GetPlayerVehicleID(playerid)] = false;
                        TogglePlayerControllable(playerid, 0);
                        PlayerPlaySound(playerid,1022, 0.0, 0.0, 0.0)
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* %s keerab vхtit ja suretab mootori.", sendername);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        gEngine[playerid] = 0;
                        return 1;
                    }

               }
               else
               {
                    SendClientMessage(playerid, COLOR_GRAD1, "You don't have keys to start engine.");
               }
           }
        }
        return 1;
    }
Reply
#8

Quote:
Originally Posted by Team_PRO
Посмотреть сообщение
try this make sure you have a backup of the old command
pawn Код:
CMD:engine(playerid,params[])
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsPlayerInAnyVehicle(playerid))
            {
       if(k2ivitatav[playerid] == 1)
                {
                    if(!engineOn[GetPlayerVehicleID(playerid)])
                    {
                        if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
                        {
                            return 1;
                        }
                        if(IsAnOwnableCar(idcar))
                        {
                            if(PlayerInfo[playerid][pPcarkey] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
                            else { return 1; }
                        }
                        if(pveh == 999 || pveh == 999 || pveh == 999 || pveh == 999)
                        {
                            return 1;
                        }
                        if(idcar == 999 || idcar == 999)
                        {
                            return 1;
                        }
                        if(idcar >= 32 && idcar <= 35)
                        {
                            if(HireCar[playerid] != idcar)
                            {
                                return 1;
                            }
                        }
                       if(IsAPlane(idcar))
                        {
                            return 1;
                        }
                        if(IsAHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsADrugHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsASweeper(idcar))
                        {
                            return 1;
                        }

                        new Float:health;
                        GetVehicleHealth(GetPlayerVehicleID(playerid),health);
                        new playerveh = GetPlayerVehicleID(playerid);
                        if (health <= 400 && !IsABoat(playerveh) && !IsAPlane(playerveh) && !IsAHarvest(playerveh) && !IsADrugHarvest(playerveh) && !IsASweeper(playerveh))
                        {
                        engineOn[GetPlayerVehicleID(playerid)] = false;
                        TogglePlayerControllable(playerid, 0);
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* %s ьritab mootorit kдivitada kuid ebaхnnestub.", sendername);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        SendClientMessage(playerid, COLOR_BLUE, "Mootor ei kдivitunud. Mootor on liiga kuum. Kutsu Mehaanik.");
                        gEngine[playerid] = 0;
                        return 1;
                        }
                        if(Gas[playerveh] == 0)
                        {
                            Mecmd(playerid,"ьritab mootorit kдivitada kuid ebaхnnestub.");
                            SendClientMessage(playerid, COLOR_GRAD1, "Masinas pole enam tilkagi kьtust.");
                            return 1;
                        }
                        if( sTankimas[playerid] == 1 )
                        {
                        TogglePlayerControllable(playerid, false);
                        return SendClientMessage(playerid, COLOR_GREY, "Sa ei saa tankimise ajal mootorit kдivitada.");
                        }
                        if(gEngine[playerid] == 1) { return 1; }

                        PutPlayerInVehicle(playerid, playerveh, 0);
                        TogglePlayerControllable(playerid, 0);
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* %s kдivitab sхiduki mootori.", sendername);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        SetTimerEx("StartingTheVehicle",1,0,"i",playerid);
                        gEngine[playerid] = 1;
                        return 1;
                    }
                    if(engineOn[GetPlayerVehicleID(playerid)])
                    {
                        if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
                        {
                            return 1;
                        }
                        if(IsAnOwnableCar(idcar))
                        {
                            if(PlayerInfo[playerid][pPcarkey] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
                            else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
                            else { }
                        }
                        if(pveh == 999 || pveh == 999 || pveh == 999 || pveh == 999)
                        {
                            return 1;
                        }
                        if(idcar == 999 || idcar == 999)
                        {
                            return 1;
                        }
                        if(idcar >= 999 && idcar <= 999)
                        {
                            if(HireCar[playerid] != idcar)
                            {
                                return 1;
                            }
                        }
                        if(IsAHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsADrugHarvest(idcar))
                        {
                            return 1;
                        }
                        if(IsAPlane(idcar))
                        {
                            return 1;
                        }
                        if(IsASweeper(idcar))
                        {
                            return 1;
                        }
                        engineOn[GetPlayerVehicleID(playerid)] = false;
                        TogglePlayerControllable(playerid, 0);
                        PlayerPlaySound(playerid,1022, 0.0, 0.0, 0.0)
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* %s keerab vхtit ja suretab mootori.", sendername);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        gEngine[playerid] = 0;
                        return 1;
                    }

               }
               else
               {
                    SendClientMessage(playerid, COLOR_GRAD1, "You don't have keys to start engine.");
               }
           }
        }
        return 1;
    }
Okey, now i'm getting these error's when i replaced zcmd command
Код:
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : error 029: invalid expression, assumed zero
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : error 017: undefined symbol "cmd_engine"
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : error 029: invalid expression, assumed zero
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
(Yes, i put zcmd include top of gamemode)
Reply
#9

Quote:
Originally Posted by Sturra
Посмотреть сообщение
Okey, now i'm getting these error's when i replaced zcmd command
Код:
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : error 029: invalid expression, assumed zero
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : error 017: undefined symbol "cmd_engine"
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : error 029: invalid expression, assumed zero
F:\Users\Kasutaja\Desktop\ServeriFailid\gamemodes\uusGm.pwn(18458) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
(Yes, i put zcmd include top of gamemode)
pawn Код:
//after a_samp
#include <zcmd>
make sure you are using correct version + maybe you didn't convert all command to zcmd
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)