OnPlayerEnterVehicle --> Wenn man nur mit f einteigen soll ?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Du stellt das selbe nur mit der Taste G ein ;)


    // Und fragst ab ob er Passagier ist.

  • Hmm nein ich meine mann soll als Passagier einsteigen sollen , auch wenn man nicht in der Fraktion ist ! :)


    So habe ich es gemacht !



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new i=0; i<sizeof(bcar); i++)
    {
    if(vehicleid==bcar[i])
    if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pLeader] == 15)//Army FBI Cop
    {
    return 1;
    }
    else
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerPos(playerid,X,Y,Z);
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Beamter !");
    return 1;
    }
    }
    for(new i=0; i<sizeof(mediccar); i++)
    {
    if(vehicleid==mediccar[i])
    if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)//La Cosa Nostra
    {
    return 1;
    }
    else
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerPos(playerid,X,Y,Z);
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Paramedic !");
    return 1;
    }
    }

  • Das könntest du bei OnPlayerStateChange.


    Das würde so aussehe:


    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(lspdcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==lspdcar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,rot,"Du bist kein Polizist!");
    }
    }

    }
    }



    Änders einfach.




    MFG K444n

    Ich Scripte nicht mehr!
    Signatur zuletzt Aktualiesiert:11.07.2012





    MFG K44n

  • Hierzu:


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)


    {


    ispassenger - Damit kannst du abfragen ob der Spieler mit F (Als Fahrer) oder mit G (als Beifahrer) einsteigt.


    if(vehicleid == car)
    {
    if(!ispassenger)
    {
    // ...


    LG


    //Edit:


    new Float:X,Float:Y,Float:Z;


    GetPlayerPos(playerid,X,Y,Z);


    SetPlayerPos(playerid,X,Y,Z);


    Warum so umständlich? :P Freez den Spieler einfach und entfreeze ihn danach wieder :huh:

  • C:\Users\NIKEiD\Desktop\BrotherhoodRL GER\gamemodes\Backupgf.pwn(2489) : error 017: undefined symbol "newstate"



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(bcar); i++)
    {
    if(vehicleid==bcar[i])
    if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pLeader] == 15)//Army FBI Cop
    {
    return 1;
    }
    else
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerPos(playerid,X,Y,Z);
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Beamter !");
    return 1;
    }
    }


    SO :)

  • Das muss unter OnPlayerStateChange..., so wie du es gemacht hast.


    OnPlayerEnterVehicle wird aufgerufen, wenn der Spieler in ein Fahrzeug in seiner Nähe einsteigt
    OnPlayerStateChange, wenn der Spieler z.B. seine State von Zufuß auf Fahrer wechselt ^^

  • -.- Du verstehst es nicht oder? ^^


    OnPlayerStateChange -> Spieler wechselt seine State
    OnPlayerEnterVehicle -> Spieler drückt G/F in der Nähe von einem Fahrzeug


    Du kannst in OnPlayerSTATEChange abfragen, ob der Spieler seine STATE wechselt.
    Und in OnPlayerEnterVehicle, ob der Spieler G/F in der Nähe eines Fahrzeuges drückt und somit in es EINSTEIGEN will.
    So, ich habe fertig, hoffe du hast es jetzt besser verstanden :P


    LG