GetPlayerVehicleID Problem!

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
  • Was ist hierran falsch? X( ;(


    if(GetPlayerVehicleID(playerid) == 432)
    {
    if(Player[playerid][rank] < 6)
    {
    SendClientMessage(playerid, COLOR_RED,"Du brauchst Rank 6 oder höher!");
    RemovePlayerFromVehicle(playerid);
    }
    return 1;
    }

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • lol, 2 fehler.


    1. Du brauchst die modelid, nit die carid^^
    2. du musst aus dem < ein >= machen xD < heißt ja kleiner, nit größer. Also sieht das dann so aus:


    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 432)
    {
    if(Player[playerid][rank] >= 6)
    {
    SendClientMessage(playerid, COLOR_RED,"Du brauchst Rank 6 oder höher!");
    RemovePlayerFromVehicle(playerid);
    }
    return 1;
    }

  • Zitat

    2. du musst aus dem < ein >= machen xD < heißt ja kleiner, nit größer. Also sieht das dann so aus:

    Ja, falls der Rang unter 6 ist passiert das.. so war das gemeint.. lol.. ^^

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • ja.. ist kla.. ^^ wo runter hast du das gemacht? OnPlayerEnterVehicle?


    //hier die lösung:


    new auto[1]; //das in den eckigen klammern ist die anzahl der autos... es wird bei 0 angefangen..


    OnGameModeInit()
    {
    auto[0] = AddStaticVehicle(...);// das auto was erst mit dem rank gefahren werden kann..
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new j = 0;j<sizeof auto;j++)
    {
    if(vehicleid ==auto[j])
    {
    if(Player[playerid][rank] >= 6)
    {
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du benötigst rank 6 oder höher um das auto fahren zu können!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }
    return 1;
    }



    Einmal editiert, zuletzt von Simon ()

  • nein eben nicht! OnPlayerENterVehicle fängt an, wenn du f/g drückst. außerdem wirst du dann auch als beifahrer rausgeworfen. das problem: du drügst g/f und steigst ein. in dem moment soll er dich aus dem auto schmeißen. das tut er auch! nur da du noch garnet im auto sitzt sondern er gerade erst einsteigt, merkt keiner was davon..


    die lösung: ein ein post über deinen letzten...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • wäre auch ne möglichkeit...


    also dann aber wieder bei OnPlayerEnterVehicle.. also wenn er einsteigt wird er einfach gefreezed...


    aber dann fliegt er halt net aus dem auto und es wird einem auch nocht gesagt welchen rank er braucht...

  • Kapier deine aussage nicht ganz, aber sie ist teils falsch,der spieler wird nicht gefreezt sondern entfreezt auch wenn er nicht gefreezt war wird sein bewegungsvorgang abgebrochen.
    In dem fall halt das einsteigen...


    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 432)
    {
    if(Player[playerid][rank] < 6)
    {
    SendClientMessage(playerid, COLOR_RED,"Du brauchst Rank 6 oder höher!");
    TogglePlayerControllable(playerid,true);
    }
    return 1;
    }

  • Wär eh unsinn, wenn er dann nicht rausgeschmissen würde, denn Panzer und Hydras sind eh 1 sitzer^^

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • das meinte ich.... also es sieht so aus als würde er gefreezed und gleich wieder entfreezed werden...


    er wird halt gestoppt... nur er muss wissen ob man ihn einsteigen lassen soll und dann rauswerfen oder bevor er überhaupt dazu kommt einzusteigen daran gehindert wird..


    beides ist möglich..