CMD:lampale(playerid,params[])
{
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new ora, perc, mperc;
gettime(ora, perc, mperc);
if(ora > 18)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, false, alarm, doors, bonnet, boot, objective);
}
}
}
}
return 1;
}
Telóról írtam szerintem az elgondolás jó és remélem nincs benne hiba. A lényeg az, ha este 18 után van lekapcsolja a lámpákat és nappal pedig a samp autómatikusan nem kapcsolja fel. Ezt formázd kedvedre. Remélem mûködik tesztelve nem volt, pawnoban hibátlan.
Nem teljesen így gondoltam. Alap SA ha beér mondjuk egy sötét alagútba, akkor is felkapcsolja a lámpákat.
De a kód így megy próbáltad?
Amúgy egyszerû a folyamatos kikapcsolása (elméletileg): Nem kötöm estéhez hanem parancshoz és akkor így elméletileg folyamatosan kikapcsolva kéne legyen még alagutakban:
CMD:lampale(playerid,params[])
{
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, false, alarm, doors, bonnet, boot, objective);
}
}
}
return 1;
}
De ez csak elmélet, teszteld le, ha nem jó van egy sokkal hosszabb és fáradalmasabb megírás is.
ManualVehicleEngineAndLights();
Funkciót vedd ki.