[Pomoc] Engine

Započeo LoOdaK
19. Avg. 2016. Zaključano
862
pregleda
13
postova
Boki Boki
6
OG Legend
19. Avg. 2016.
Skripta koju koristim: majne dajne
Detaljan opis problema: Hocu da mi neko objasni kako napraviti Engine system ja sam nesto konto posto ja msm da engine sistem freez igraca e sad kad upali engine onda ga unfreez a tu bi bio bug sa rent motorima i ostalim pa ako neko moze i to da objasni kako bih mogao izbjeci i taj bug
Dio skripte: nema
Neke slike/video za lakse dobivanje pomoci(neobavezno): znate sta je engine system sta ce slike
eSADâ„¢
5
Kingpin
19. Avg. 2016.
Mozda bi mogao malo bolje da objasnis  😁
Boki Boki
6
OG Legend
19. Avg. 2016.
A brt sta imam da objasnjavam treba mi neko da mi objasni kako napraviti engine sistem ono na fazon kad udjes u auto da stisnes SHIFT i auto se krehne i ta sranja  😉
Tom_Redlake
3
Wheel Man
19. Avg. 2016.
Evo 😉
Nije moje btw nasao u 1 minuti sam za tebe
// Engine System v3
// Made by Joe Torran C
// Credits to JeNkStA for helping me fix some stuff
// DO NOT REMOVE THESE CREDITS

#include
#include

#define colorRed        0xFF0000FF
#define colorYellow    0xFFFF00FF

forward StartEngine(playerid);
forward DamagedEngine(playerid);

new vehEngine;

public OnPlayerStateChange(playerid, newstate, oldstate)
{
        new vehicleid = GetPlayerVehicleID(playerid);
     
        if(newstate == PLAYER_STATE_DRIVER)
        {
            if(vehEngine == 0)
            {
                TogglePlayerControllable(playerid, 0);
                SendClientMessage(playerid, colorYellow, "Vehicle engine NOT started");
                SendClientMessage(playerid, colorYellow, "To start the vehicle's engine press \"Shift\" or type \"/engine\"");
                }
                else if(vehEngine == 1)
                {
                    TogglePlayerControllable(playerid, 1);
                    SendClientMessage(playerid, colorYellow, "Vehicle engine running");
                }
        }
        return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new vehicleid = GetPlayerVehicleID(playerid);
 
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(vehEngine == 0)
            {
                if(newkeys == KEY_JUMP)
                {
                                vehEngine = 2;
                                SetTimerEx("StartEngine", 3000, 0, "i", playerid);
                                SendClientMessage(playerid, colorYellow, "Vehicle engine starting");
                        }
                }
                if(newkeys == KEY_SECONDARY_ATTACK)
                {
                    RemovePlayerFromVehicle(playerid);
                    TogglePlayerControllable(playerid, 1);
                }
        }
        return 1;
}

public StartEngine(playerid)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    new Float:health;
    new rand = random(2);
 
    GetVehicleHealth(vehicleid, health);
 
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(vehEngine == 2)
            {
                if(health > 300)
                        {
                            if(rand == 0)
                            {
                                        vehEngine = 1;
                                        TogglePlayerControllable(playerid, 1);
                                        SetTimerEx("DamagedEngine", 1000, 1, "i", playerid);
                                SendClientMessage(playerid, colorYellow, "Vehicle engine started");
                                }
                                if(rand == 1)
                                {
                                    vehEngine = 0;
                                    TogglePlayerControllable(playerid, 0);
                                    SendClientMessage(playerid, colorYellow, "Vehicle engine failed to start");
                                }
                        }
                        else
                        {
                            vehEngine = 0;
                            TogglePlayerControllable(playerid, 0);
                            SendClientMessage(playerid, colorYellow, "Vehicle engine failed to start due to damage");
                        }
                }
        }
        return 1;
}

public DamagedEngine(playerid)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    new Float:health;
 
    GetVehicleHealth(vehicleid, health);

        if(IsPlayerInAnyVehicle(playerid))
        {
            if(vehEngine == 1)
            {
                if(health < 300)
                        {
                            vehEngine = 0;
                                TogglePlayerControllable(playerid, 0);
                            SendClientMessage(playerid, colorYellow, "Vehicle engine stopped due to damage");
                        }
                }
        }
        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, "You need to be in a vehicle to use this command");
     
        if(vehEngine == 0)
        {
            vehEngine = 2;
                SetTimerEx("StartEngine", 3000, 0, "i", playerid);
                SendClientMessage(playerid, colorYellow, "Vehicle engine starting");
        }
        else if(vehEngine == 1)
        {
            vehEngine = 0;
                TogglePlayerControllable(playerid, 0);
                SendClientMessage(playerid, colorYellow, "Vehicle engine stopped");
                SendClientMessage(playerid, colorYellow, "To re-start the vehicle's engine press \"Shift\" or type \"/engine\"");
        }
        return 1;
}

public OnFilterScriptInit()
{
        print("\n  Engine System v3 by Joe Torran C \n");
        return 1;
}
Tom_Redlake
3
Wheel Man
19. Avg. 2016.
Imas komandu /engine
A mozes i auto upaliti da kliknes SHIFT
🙂
Boki Boki
6
OG Legend
19. Avg. 2016.
Sve je to ok ali stvarace bug kao sto sam rekao za rent motore samo upalis motor i ode bez da renta kako da resim to tj. kako bih mogao dodati provjeru jer nemam ideju nikakvu kako i sta  🙂
Boki Boki
6
OG Legend
19. Avg. 2016.
Ne koristim napisao sam da koristim svoju brt  😉
Boki Boki
6
OG Legend
19. Avg. 2016.
Ja brate nista nisam skontao te funkcije i kako da ih ja upotrijebim moze neko objasnjenje  ?
Muma Rascall
6
Forum Don
19. Avg. 2016.
LoOdaK wrote on August 19, 2016, 8:24 pm:
Sve je to ok ali stvarace bug kao sto sam rekao za rent motore samo upalis motor i ode bez da renta kako da resim to tj. kako bih mogao dodati provjeru jer nemam ideju nikakvu kako i sta  🙂
Ako imaš rent sistem, dodaš provjeru ako je rent vozilo i ako ulazi u njega da mu otvori dialog za rent i ako ne renta vozilo tj. zatvori dialog neka ga izbaci iz vozila > http://wiki.sa-mp.com/wiki/RemovePlayerFromVehicle
Boki Boki
6
OG Legend
19. Avg. 2016.
Pa da lako je to da izbacuje dialog al prvo sam radio da ukuca komandu pa da onda izbaci dialog
Muma Rascall
6
Forum Don
19. Avg. 2016.
Pa onda to isto uradi samo kad ulazi u vozilo neka ga freezuje i kad hoće da upali nek' provjerava je li rentano vozilo, a neka izlazi npr na /exit ako neće da renta i onda dodaš removeplayerfromvehicle i da ga unfreezeuje na tu cmd /exit.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha