Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Klaida su Mašinos užvedimu


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2107 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Padariau užvedimo/užgęsinimo simple sistema, kai įlipu į mašiną būną kaip originaliai: užsikuria automatiškai, o jei palaikau tada galiu važiuoti ir jei nespaudžiu nevažiuoja. nemoku paaiškinti :D

kodas: 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if (GetPlayerVehicleSeat(playerid) == 0)
    {
        if (newkeys & KEY_ANALOG_DOWN)
        {
            GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
            SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
            SendClientMessage(playerid, color_RED, "Mašinos variklis užsivedė .");
            }else{
            SendClientMessage(playerid, color_RED, "Mašinos variklis užgęsintas .");
            GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
            SetVehicleParamsEx(vehicleid,0,lights,alarm,doors,bonnet,boot,objective);
        }

    }
    return 1;
}

 

Nuoroda į komentarą
Dalintis per kitą puslapį

5 minutes prieš, mariusqw parašė:

Sukurk publicą, paleisk for'ą kuris užgesintų visas mašinas. Ir kai krauna serverį sukurk timerį, kad jis kartotųsi.

Ką įrašyti į public? tuos visus kur yra įrašyti į OnPlayerKeyStateChange? ir kas tas For?:D Neesu toks geras skripteris

Nuoroda į komentarą
Dalintis per kitą puslapį

Prirašyk šitas funkcijas kur tau patogiau, ar dokumento viršuje ar apačioje:

enum
{
	VEHICLE_ENGINE,
	VEHICLE_LIGHTS,
	VEHICLE_ALARM,
	VEHICLE_DOORS,
	VEHICLE_BONNET,
	VEHICLE_BOOT,
	VEHICLE_OBJECTIVE
};



GetVehicleParams(vehicleid, param)
{
	new
	    params[7];

	GetVehicleParamsEx(vehicleid, params[0], params[1], params[2], params[3], params[4], params[5], params[6]);
	return params[param] == VEHICLE_PARAMS_ON;
}

SetVehicleParams(vehicleid, param, status)
{
	new
	    params[7];

	GetVehicleParamsEx(vehicleid, params[0], params[1], params[2], params[3], params[4], params[5], params[6]);

	params[param] = status;

	return SetVehicleParamsEx(vehicleid, params[0], params[1], params[2], params[3], params[4], params[5], params[6]);
}

Toliau, norint padaryti jog transportas užsivestų/užsigesintų paspaudus klavišą:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER))
    {
        if(newkeys & KEY_ANALOG_DOWN)
        {
            if(!GetVehicleParams(vehicleid, VEHICLE_ENGINE))
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, true);
				SendClientMessage(playerid, -1, "[!] Užvedėte transporto priemonės variklį.");
			}
			else
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, false);
				SendClientMessage(playerid, -1, "[!] Išjungėte transporto priemonės variklį.");
			}
        }

    }
    return 1;
}

Funkcijų gali neįsidėti, tačiau ateityje kai susidursi su kitom sistemom bus patogiau išjungti/įjungti variklį su viena eilute, nei kopijuoti 5+ eilutes iš naujo.

Redaguota , nario ALFRED.
Nuoroda į komentarą
Dalintis per kitą puslapį

18 minutes prieš, ALFRED. parašė:

Prirašyk šitas funkcijas kur tau patogiau, ar dokumento viršuje ar apačioje:


enum
{
	VEHICLE_ENGINE,
	VEHICLE_LIGHTS,
	VEHICLE_ALARM,
	VEHICLE_DOORS,
	VEHICLE_BONNET,
	VEHICLE_BOOT,
	VEHICLE_OBJECTIVE
};



GetVehicleParams(vehicleid, param)
{
	new
	    params[7];

	GetVehicleParamsEx(vehicleid, params[0], params[1], params[2], params[3], params[4], params[5], params[6]);
	return params[param] == VEHICLE_PARAMS_ON;
}

SetVehicleParams(vehicleid, param, status)
{
	new
	    params[7];

	GetVehicleParamsEx(vehicleid, params[0], params[1], params[2], params[3], params[4], params[5], params[6]);

	params[param] = status;

	return SetVehicleParamsEx(vehicleid, params[0], params[1], params[2], params[3], params[4], params[5], params[6]);
}

Toliau, norint padaryti jog transportas užsivestų/užsigesintų paspaudus klavišą:


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER))
    {
        if(newkeys & KEY_ANALOG_DOWN)
        {
            if(!GetVehicleParams(vehicleid, VEHICLE_ENGINE))
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, true);
				SendClientMessage(playerid, -1, "[!] Užvedėte transporto priemonės variklį.");
			}
			else
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, false);
				SendClientMessage(playerid, -1, "[!] Išjungėte transporto priemonės variklį.");
			}
        }

    }
    return 1;
}

Funkcijų gali neįsidėti, tačiau ateityje kai susidursi su kitom sistemom bus patogiau išjungti/įjungti variklį su viena eilute, nei kopijuoti 5+ eilutes iš naujo.

 error 029: invalid expression, assumed zero

ant 

 if(newkeys & KEY_ANALOG_DOWN)

Nuoroda į komentarą
Dalintis per kitą puslapį

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(newkeys & KEY_ANALOG_DOWN)
        {
            if(!GetVehicleParams(vehicleid, VEHICLE_ENGINE))
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, true);
				SendClientMessage(playerid, -1, "[!] Užvedėte transporto priemonės variklį.");
			}
			else
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, false);
				SendClientMessage(playerid, -1, "[!] Išjungėte transporto priemonės variklį.");
			}
        }

    }
    return 1;
}

Vienu skliausteliu per daug pridėjau, pabandyk šitą.

Nuoroda į komentarą
Dalintis per kitą puslapį

8 minutes prieš, ALFRED. parašė:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(newkeys & KEY_ANALOG_DOWN)
        {
            if(!GetVehicleParams(vehicleid, VEHICLE_ENGINE))
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, true);
				SendClientMessage(playerid, -1, "[!] Užvedėte transporto priemonės variklį.");
			}
			else
			{
				SetVehicleParams(vehicleid, VEHICLE_ENGINE, false);
				SendClientMessage(playerid, -1, "[!] Išjungėte transporto priemonės variklį.");
			}
        }

    }
    return 1;
}

Vienu skliausteliu per daug pridėjau, pabandyk šitą.

Dėkui, bet kai tik ilipu būną užvesta

 

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2107 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...