Problem mit OnPlayerEnterVehicle

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
  • Ich hab ein kleines problem mit OnPlayerEnterVehicle.
    Und zwar möchte ich wen der Spieler das postbike betritt
    ein Checkpoint angezeigt wird. Ich habe das ganze so gemacht:

    new postbike[7];


    postbike[0]=AddStaticVehicle(509,994.0952,-1536.6486,13.0938,76.6354,2,2); // Post BIKE 1
    postbike[1]=AddStaticVehicle(509,994.1246,-1535.2225,13.0908,74.1616,2,2); // Post BIKE 2
    postbike[2]=AddStaticVehicle(509,993.9294,-1533.9661,13.0878,78.2765,2,2); // Post BIKE 3
    postbike[3]=AddStaticVehicle(509,993.7622,-1532.9263,13.0838,82.6222,2,2); // Post BIKE 4
    postbike[4]=AddStaticVehicle(509,993.5521,-1531.2747,13.0831,84.8282,2,2); // Post BIKE 5
    postbike[5]=AddStaticVehicle(509,993.3789,-1529.9735,13.0805,87.2032,2,2); // Post BIKE 6
    postbike[6]=AddStaticVehicle(509,993.3319,-1532.2378,13.0843,89.9403,2,2); // Post BIKE 7


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new model=GetPlayerVehicleID(playerid);
    if(model==postbike[6]&&ispassenger==1)
    {
    if(Spieler[playerid][Nebenjob]==1)
    {
    SetPlayerCheckpoint(playerid,909.6171,-1512.8903,13.0575,3);
    SendClientMessage(playerid,ROT,"Fahren sie nun die Checkpoints ab um die Post auszutragen.");
    postcp[playerid] = 1;
    jobzeit[playerid] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Postbote");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }


    Es kommen keine Errors oder Warnings, aber wen ich InGame die Bikes betrette, passiert nichts.
    Danke im Vorraus :)

  • if(model==postbike[6]&&ispassenger==1)


    wenn du willst das der spieler den checkpoint angezeigt bekommen will wenn er als fahrer einsteigt so änder dies auf 0


    zu dem ist das abrufen der vehicleid sinnlos die wird automatisch an das callback weiter gegeben


    if(vehicleid==postbike[6]&&ispassenger==0)


    wenn du jedoch möchtest das der checkpoint angezeigt wird wenn der spieler eingestiegen ist so solltest du das eher über
    OnPlayerStateChange machen da dieses Callback schon aufgerufen wird wenn der spiele drin der nähe des autos f , g drückt


  • ublic OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new model=GetPlayerVehicleID(playerid);
    for(new _i=0;_i<sizeof(postbike);_i ++)
    {
    if(model==postbike[_i]&&ispassenger==1)
    {
    if(Spieler[playerid][Nebenjob]==1)
    {
    SetPlayerCheckpoint(playerid,909.6171,-1512.8903,13.0575,3);
    SendClientMessage(playerid,ROT,"Fahren sie nun die Checkpoints ab um die Post auszutragen.");
    postcp[playerid] = 1;
    jobzeit[playerid] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Postbote");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    } }


    dürfte so gehen, entschuldigung für die Einrückung.


    mit freundlichem Gruß
    Timo S.