[Pomoc]Pomoc


Započeo Toretto_Samp, Februar 06, 2015, 17:05:22 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: //
Detaljan opis problema: Kako da napravim da igraci ne mogu pucati iz vozila ako nema vozaca
Dio skripte: //
Neke slike/video za lakse dobivanje pomoci(neobavezno): //

    // Noobist Simple Anti Passenger Abuse.
    // FS inspired by Indogamers Anti-Backseat
    // IsVehicleHasDriver function inspired by GetVehicleDriver from someone in SA-MP Forums.
     
    #define FILTERSCRIPT
     
    // Defines
    #define PassengerAfterDriverLeave // Activates Anti Passenger Abuse After Driver Leave (APAADL), when the driver left the vehicle, the passenger will automatically removed from the vehicle.
    //-------------------------------------
    // Includes
    #include <a_samp>
    //-------------------------------------
    // Functions
    stock IsVehicleHasDriver(vehicleid)
    {
            for(new playerid; playerid < MAX_PLAYERS; playerid++)
            {
                if(IsPlayerConnected(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == vehicleid) return 1;
            }
            return 0;
    }
    //------------------------------------
    // Forwards
    forward Fix(playerid, vehicleid);
    //------------------------------------
    // Self-made callbacks
    public Fix(playerid, vehicleid)
    {
        PutPlayerInVehicle(playerid, vehicleid, 0);
        return 1;
    }
    //------------------------------------
    // HERE WE GO!
    public OnFilterScriptInit()
    {
            print("\n--------------------------------------------------");
            print(" Noobist Simple Anti Passenger Abuse (NSAPA) LOADED!");
        #if defined PassengerAfterDriverLeave
        print("Anti Passenger Abuse After Driver Leave (APAADL) ACTIVATED!");
        #endif
            print("--------------------------------------------------\n");
            return 1;
    }
     
    public OnFilterScriptExit()
    {
            print("\n----------------------------------------------------");
            print(" Noobist Simple Anti Passenger Abuse (NSAPA) UNLOADED!");
            #if defined PassengerAfterDriverLeave
        print("Anti Passenger Abuse After Driver Leave (APAADL) DEACTIVATED!");
        #endif
            print("----------------------------------------------------\n");
            return 1;
    }
     
    #if defined PassengerAfterDriverLeave
     
    public OnPlayerConnect(playerid)
    {
            SetPVarInt(playerid, "vehicleid", 0);
            return 1;
    }
     
    public OnPlayerDisconnect(playerid, reason)
    {
            if(GetPVarInt(playerid, "vehicleid") > 0)
            {
                    printf("[NSAPA][APAADL]: Player %i has left the server while driving vehicle %i.", playerid, GetPVarInt(playerid, "vehicleid"));
                for(new passengerid = 0; passengerid < MAX_PLAYERS; passengerid++)
                {
                    if(IsPlayerConnected(passengerid) && GetPlayerVehicleID(passengerid) == GetPVarInt(playerid, "vehicleid"))
                    {
                        RemovePlayerFromVehicle(passengerid);
                        SendClientMessage(passengerid, 0xFF0000FF, "The driver is disconnected!");
                        printf("[NSAPA][APAADL]: Player %i has been removed from vehicle %i (Driver %i disconnected).", passengerid, GetPVarInt(playerid, "vehicleid"), playerid);
                            }
                    }
            }
            return 1;
    }
     
    #endif
     
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
            if(newstate == PLAYER_STATE_PASSENGER)
            {
                    new vehicleid = GetPlayerVehicleID(playerid);
                if(!IsVehicleHasDriver(vehicleid))
                {
                    new Float:vx, Float:vy, Float:vz;
                            GetVehiclePos(vehicleid, vx, vy, vz);
                            SetPlayerPos(playerid, vx, vy, vz+5);
                            SetTimerEx("Fix", 500, false, "ii", playerid, vehicleid);
                            SendClientMessage(playerid, 0xFF0000FF, "Do not enter vehicle as passenger without a driver!");
                            printf("[NSAPA]: Player %i entered vehicle %i without a driver.", playerid, vehicleid);
                            return 1;
                    }
            }
            #if defined PassengerAfterDriverLeave
            if(newstate == PLAYER_STATE_DRIVER) return SetPVarInt(playerid, "vehicleid", GetPlayerVehicleID(playerid));
            if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
            {
                for(new passengerid = 0; passengerid < MAX_PLAYERS; passengerid++)
                {
                    if(IsPlayerConnected(passengerid) && GetPlayerVehicleID(passengerid) == GetPVarInt(playerid, "vehicleid"))
                    {
                        RemovePlayerFromVehicle(passengerid);
                        SendClientMessage(passengerid, 0xFF0000FF, "The driver is leaving the vehicle!");
                        printf("[NSAPA][APAADL]: Player %i has been removed from vehicle %i (Driver %i left the vehicle).", passengerid, GetPVarInt(playerid, "vehicleid"), playerid);
                            }
                    }
                    SetPVarInt(playerid, "vehicleid", 0);
                    return 1;
            }
            #endif
            return 1;
    }
    // The End.
  :-*

Citat: [VG] RaKee poslato Februar 06, 2015, 17:10:38 POSLE PODNE
    // Noobist Simple Anti Passenger Abuse.
    // FS inspired by Indogamers Anti-Backseat
    // IsVehicleHasDriver function inspired by GetVehicleDriver from someone in SA-MP Forums.
     
    #define FILTERSCRIPT
     
    // Defines
    #define PassengerAfterDriverLeave // Activates Anti Passenger Abuse After Driver Leave (APAADL), when the driver left the vehicle, the passenger will automatically removed from the vehicle.
    //-------------------------------------
    // Includes
    #include <a_samp>
    //-------------------------------------
    // Functions
    stock IsVehicleHasDriver(vehicleid)
    {
            for(new playerid; playerid < MAX_PLAYERS; playerid++)
            {
                if(IsPlayerConnected(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == vehicleid) return 1;
            }
            return 0;
    }
    //------------------------------------
    // Forwards
    forward Fix(playerid, vehicleid);
    //------------------------------------
    // Self-made callbacks
    public Fix(playerid, vehicleid)
    {
        PutPlayerInVehicle(playerid, vehicleid, 0);
        return 1;
    }
    //------------------------------------
    // HERE WE GO!
    public OnFilterScriptInit()
    {
            print("\n--------------------------------------------------");
            print(" Noobist Simple Anti Passenger Abuse (NSAPA) LOADED!");
        #if defined PassengerAfterDriverLeave
        print("Anti Passenger Abuse After Driver Leave (APAADL) ACTIVATED!");
        #endif
            print("--------------------------------------------------\n");
            return 1;
    }
     
    public OnFilterScriptExit()
    {
            print("\n----------------------------------------------------");
            print(" Noobist Simple Anti Passenger Abuse (NSAPA) UNLOADED!");
            #if defined PassengerAfterDriverLeave
        print("Anti Passenger Abuse After Driver Leave (APAADL) DEACTIVATED!");
        #endif
            print("----------------------------------------------------\n");
            return 1;
    }
     
    #if defined PassengerAfterDriverLeave
     
    public OnPlayerConnect(playerid)
    {
            SetPVarInt(playerid, "vehicleid", 0);
            return 1;
    }
     
    public OnPlayerDisconnect(playerid, reason)
    {
            if(GetPVarInt(playerid, "vehicleid") > 0)
            {
                    printf("[NSAPA][APAADL]: Player %i has left the server while driving vehicle %i.", playerid, GetPVarInt(playerid, "vehicleid"));
                for(new passengerid = 0; passengerid < MAX_PLAYERS; passengerid++)
                {
                    if(IsPlayerConnected(passengerid) && GetPlayerVehicleID(passengerid) == GetPVarInt(playerid, "vehicleid"))
                    {
                        RemovePlayerFromVehicle(passengerid);
                        SendClientMessage(passengerid, 0xFF0000FF, "The driver is disconnected!");
                        printf("[NSAPA][APAADL]: Player %i has been removed from vehicle %i (Driver %i disconnected).", passengerid, GetPVarInt(playerid, "vehicleid"), playerid);
                            }
                    }
            }
            return 1;
    }
     
    #endif
     
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
            if(newstate == PLAYER_STATE_PASSENGER)
            {
                    new vehicleid = GetPlayerVehicleID(playerid);
                if(!IsVehicleHasDriver(vehicleid))
                {
                    new Float:vx, Float:vy, Float:vz;
                            GetVehiclePos(vehicleid, vx, vy, vz);
                            SetPlayerPos(playerid, vx, vy, vz+5);
                            SetTimerEx("Fix", 500, false, "ii", playerid, vehicleid);
                            SendClientMessage(playerid, 0xFF0000FF, "Do not enter vehicle as passenger without a driver!");
                            printf("[NSAPA]: Player %i entered vehicle %i without a driver.", playerid, vehicleid);
                            return 1;
                    }
            }
            #if defined PassengerAfterDriverLeave
            if(newstate == PLAYER_STATE_DRIVER) return SetPVarInt(playerid, "vehicleid", GetPlayerVehicleID(playerid));
            if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
            {
                for(new passengerid = 0; passengerid < MAX_PLAYERS; passengerid++)
                {
                    if(IsPlayerConnected(passengerid) && GetPlayerVehicleID(passengerid) == GetPVarInt(playerid, "vehicleid"))
                    {
                        RemovePlayerFromVehicle(passengerid);
                        SendClientMessage(passengerid, 0xFF0000FF, "The driver is leaving the vehicle!");
                        printf("[NSAPA][APAADL]: Player %i has been removed from vehicle %i (Driver %i left the vehicle).", passengerid, GetPVarInt(playerid, "vehicleid"), playerid);
                            }
                    }
                    SetPVarInt(playerid, "vehicleid", 0);
                    return 1;
            }
            #endif
            return 1;
    }
    // The End.
  :-*

Nisi me razumeo,ja hocu kad igrac pokusa da udje u auto sa gunom da bi pucao iz njega da mu se skloni gun jer vozac nije u vozilu  :)

EDIT:Pogrijesio sam,nisi na ovo mislio  :D
Poslednja Izmena: Februar 07, 2015, 10:13:46 PRE PODNE od Paul Castellano