Szerző Téma: Motorindító parancs  (Megtekintve 765 alkalommal)

Motorindító parancs
« Dátum: 2015. Március 14. - 16:13:26 »
0
Van egy /motor parancsom ami a motort kapcsolja ki és be. A baj az, hogy bármilyen kocsiba is ülök be, a motor nem indul el és nem áll le. A kocsiidk jól vannak beírva, nincsenek elcsúszva.1-30 kocsi megvan, /dl is jelzi.
 
if(!strcmp(cmdtext, \"/motor\", true))
            {
                        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)//Ha a vezető írja be
                        {
                                new vehicleid = GetPlayerVehicleID(playerid);//Lekéri a kocsi idjét amiben ül
                                if(Motor[vehicleid] == off)
                                {
                                    new kocsimotorid = GetPlayerVehicleID(playerid);
                                    if(pInfo[playerid][VehicleKey1] == kocsimotorid)
                                    if(pInfo[playerid][VehicleKey2] == kocsimotorid)
                                    {
                                        SetTimerEx(\"EngineStart\",2000,false,\"ii\",vehicleid);// Elindítja.
                                    }
                                    if(kocsimotorid == 9)//Ha SFPD-s kocsiban ül
                                    if(kocsimotorid == 10)//Ha SFPD-s kocsiban ül
                                    if(kocsimotorid == 11)//Ha SFPD-s kocsiban ül
                                    if(kocsimotorid == 12)//Ha SFPD-s kocsiban ül
                                    if(kocsimotorid == 13)//Ha SFPD-s kocsiban ül
                                    if(kocsimotorid == 14)//Ha SFPD-s kocsiban ül
                                {
                                        if(pInfo[playerid][LeaderJob] == 1)//És rendőr
                                        {
                                                        SetTimerEx(\"EngineStart\",2000,false,\"ii\",vehicleid);// Elindítja.
                                                }
                                        }
                                        if(kocsimotorid == 15)// Ha mentőben ül
                                    if(kocsimotorid == 16)
                                    if(kocsimotorid == 17)
                                {
                                        if(pInfo[playerid][LeaderJob] == 2)//És mentős
                                        {
                                                        SetTimerEx(\"EngineStart\",2000,false,\"ii\",vehicleid);// Akkor elindítja
                                                }
                                        }
                                    if(kocsimotorid == 18)// Ha tűzoltókocsiban ül
                                    if(kocsimotorid == 19)
                                    if(kocsimotorid == 20)
                                {
                                        if(pInfo[playerid][LeaderJob] == 3)//És tűzoltó
                                        {
                                                        SetTimerEx(\"EngineStart\",2000,false,\"ii\",vehicleid);// Akkor elindítja
                                                }
                                        }
                                    if(kocsimotorid == 1)// Ha OTAL kocsiban ül
                                    if(kocsimotorid == 2)
                                    if(kocsimotorid == 3)
                                    if(kocsimotorid == 4)
                                    if(kocsimotorid == 5)
                                    if(kocsimotorid == 6)
                                    if(kocsimotorid == 7)
                                    if(kocsimotorid == 8)
                                {
                                        if(pInfo[playerid][LeaderJob] == 4)//És OTALos
                                        {
                                                        SetTimerEx(\"EngineStart\",2000,false,\"ii\",vehicleid);// Akkor elindítja
                                                }
                                        }
                                        if(kocsimotorid == 21)// Ha terrorista kocsiban ül
                                    if(kocsimotorid == 22)
                                    if(kocsimotorid == 23)
                                    if(kocsimotorid == 24)
                                    if(kocsimotorid == 25)
                                    if(kocsimotorid == 26)
                                    if(kocsimotorid == 27)
                                    if(kocsimotorid == 28)
                                    if(kocsimotorid == 29)
                    if(kocsimotorid == 30)
                                {
                                        if(pInfo[playerid][LeaderJob] == 5)//És terrorista
                                        {
                                                        SetTimerEx(\"EngineStart\",2000,false,\"ii\",vehicleid);// Akkor elindítja
                                                }
                                        }
                                }
                                else if (Motor[vehicleid] == on)
                                {
                                        EngineStop(vehicleid);
                                }
                                else
                                {
                                        if (Motor[vehicleid] == on)
                                        {
                                                EngineStop(vehicleid);
                                        }
                                        else
                                        {
                                            SendClientMessage(playerid,COLOR_RED,\"Ehhez a járműhöz nincs kulcsod!\");
                                        }
                                }
                        }
                        return 1;
                }

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Motorindító parancs
« Válasz #1 Dátum: 2015. Március 14. - 16:39:27 »
0
Ez hiányzik mert én nem láttam a kódod ba.
http://wiki.sa-mp.com/wiki/SetVehicleParamsEx

Motorindító parancs
« Válasz #2 Dátum: 2015. Március 14. - 16:42:06 »
0
A timer indítja 2 mp késleltetéssel
 
 forward EngineStart(vehicleid);
public EngineStart(vehicleid)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 1, 1, alarm, doors, bonnet, boot, 0);
Motor[vehicleid] = on;
    new Float:x,Float:y,Float:z;
    GetVehiclePos(vehicleid,x,y,z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i,5,x,y,z))
    {
SendClientMessage(i,COLOR_WHITE,\"*A közelben beindult egy jármű motorja*\");
Starting[vehicleid] = 0;
    }
    else if(IsPlayerInRangeOfPoint(i,10,x,y,z))
    {
SendClientMessage(i,COLOR_GREY,\"*A távolban beindult egy jármű motorja*\");
    }
}
forward EngineStop(vehicleid);
public EngineStop(vehicleid)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 0, 0, alarm, doors, bonnet, boot, 0);
Motor[vehicleid] = off;
new Float:x,Float:y,Float:z;
    GetVehiclePos(vehicleid,x,y,z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i,5,x,y,z))
    {
SendClientMessage(i,COLOR_WHITE,\"*A közelben leállt egy jármű motorja*\");
    }
    else if(IsPlayerInRangeOfPoint(i,10,x,y,z))
    {
SendClientMessage(i,COLOR_GREY,\"*A távolban leállt egy jármű motorja*\");
    }
}

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Motorindító parancs
« Válasz #3 Dátum: 2015. Március 14. - 17:00:33 »
+1
new vehicleid = GetPlayerVehicleID(playerid);//Lekéri a kocsi idjét amiben ül
new kocsimotorid = GetPlayerVehicleID(playerid);

 
elég 1x lekérdezni az ID-t
de a hiba itt van:
 
if(kocsimotorid == 9)//Ha SFPD-s kocsiban ül
if(kocsimotorid == 10)//Ha SFPD-s kocsiban ül
if(kocsimotorid == 11)//Ha SFPD-s kocsiban ül
if(kocsimotorid == 12)//Ha SFPD-s kocsiban ül
if(kocsimotorid == 13)//Ha SFPD-s kocsiban ül
if(kocsimotorid == 14)//Ha SFPD-s kocsiban ül
[/quote]
 
HA a 9-es kocsiban ül
  HA a 10-es kocsiban ül
    HA a 11-es kocsiban ül
...

 
érted már? tehát egyszerre több kocsiban kellene ülnie...
itt az if-ek nem VAGY-ot hanem ÉS-t jelentenek...
 
if(kocsimotorid == 9 || //Ha SFPD-s kocsiban ül
kocsimotorid == 10 || //Ha SFPD-s kocsiban ül
kocsimotorid == 11) //Ha SFPD-s kocsiban ül

 
így kellene megcsinálnod, vagy egymás mellé...
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Motorindító parancs
« Válasz #4 Dátum: 2015. Március 14. - 17:16:33 »
0
Működik, köszi!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal