Jump to content
  • 0

Question

Posted

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.

1 answer to this question

Recommended Posts

Posted

Problema este ca tu ai schimbat doar comanda "/engine", nu si functia OnPlayerKeyStateChange.

In loc de

if(vehEngine[vehicleid] == 0)
                {
                    if(newkeys == KEY_SPRINT )
                    {
                                    vehEngine[vehicleid] = 2;
                                    SetTimerEx("StartEngine", 1000, 0, "i", playerid);
                                    SendClientMessage(playerid, colorYellow, "Porneste motorul masinii");
                            }
                    }
trebuie sa pui
if(vehEngine[vehicleid] == 0)
                	{
              			if(newkeys == KEY_SPRINT )
                    		{
                                    vehEngine[vehicleid] = 2;
                                    SetTimerEx("StartEngine", 1000, 0, "i", playerid);
                                    SendClientMessage(playerid, colorYellow, "Porneste motorul masinii");
                                    return 1;
                    		}
                	}
				if(vehEngine[vehicleid] == 1)
					{
						if(newkeys == KEY_SPRINT )
							{
							    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;
							}
					}

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.