Fahrrad

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
  • Hallo liebes Forum,


    habe so probiert um zu gucken ob ein Fahhrad bestigen wird oder man sich ins Auto setzt...


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(GetvehicleModel(playerid) == 509 || GetvehicleModel(playerid) == 481 || GetvehicleModel(playerid) == 510)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, Rot, "Du bist kein Newbie mehr");
    }
    return 1;
    }


    das ganze klappt aber leider nicht...wie kann ich das lösen oder muss das ganze unter OnPlayerEnterVehicle?

  • Von wo soll er den wissen ob er noch "NewBie" ist oder nicht`?
    Also noch eine Abfrage ein bauen z.B.

    if(GetPVarInt(playerid,"Level", > 2))return SendClientMessage(playerid,Rot,"Du bist kein NewBie mehr!);


    Wichtig, Ist Ungestest.

  • hatte ich vergessen,ja :D


    habe es jetzt so if(GetVehicleModel(playerid) == 509 || GetVehicleModel(playerid) == 481 || GetVehicleModel(playerid) == 510)
    {
    if(GetPVarInt(playerid,"Level")>=0)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, Rot, "Du bist kein Newbie mehr");
    }
    else
    {
    SendClientMessage(playerid,Gruen,"Viel Süaß beim fahren");
    }
    }


    funktioniert leider aber immer noch nicht. -.-

  • if(GetPVarInt(playerid,"Level")>=0)


    Nun fragt er ab ob er Höers Level hat als 0 :D
    Ich hatte mich auch Vertahn. Du musst das ">" durch ein "<" ersetzen :)

  • if(GetvehicleModel(GetPlayerVehicle(playerid)) == 509 ||GetvehicleModel(GetPlayerVehicle(playerid)) == 481 || GetvehicleModel(GetPlayerVehicle(playerid)) == 510)
    {
    aus dem kopf geschrieben, kann daher falsch sein der befehl.

  • Das hat er doch schon drinne..


    Ich habs so gemacht:


    for(new i=0; i<sizeof(NOOBCar); i++)
    {
    if(GetPlayerVehicleID(playerid) == NOOBCar[i])
    {
    if(GetPlayerScore(playerid) > 2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_ROT,"Du darfst dieses Fahrzeug nur bis Level 2 benutzen!");
    }
    }
    }
    Habe vorher die Cars gemacht, unter OnGameModeInIt

  • Blitz100 Er hat GetVehicleModel(playerid)
    Von [DT]Sniper lautet es GetvehicleModel(GetPlayerVehicle(playerid))
    Kleiner Unterschied...


    if(GetPVarInt(playerid,"Level")>=0)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, Rot, "Du bist kein Newbie mehr");
    }
    else
    {
    SendClientMessage(playerid,Gruen,"Viel Süaß beim fahren");
    }Macht 0 Sinn. '''Wenn dein Level 0 oder größer als 0 ist, kommt ''Du bist kein Newbie mehr''....wtf.
    D.h. man kann dein Fahrrad nur mit Level -1 oder kleiner fahren.


    Vorschlagen würde ich z.B.
    #define NEWBIE 2
    -> D.h. bis einschließlich Level 2 sind deine Spieler ''Newbies''
    Abfrage kann dann lauten


    if(GetPVarInt(playerid,"Level")<=NEWBIE)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, Rot, "Du bist kein Newbie mehr");
    }
    else
    {
    SendClientMessage(playerid,Gruen,"Viel Süaß beim fahren");
    }



    So kannst du oben im Code das Level hinterher ändern, falls es z.B. mal auf 3 steigen oder auf 1 sinken soll.
    Nur ein Vorschhlag..


    Wer es noch komplizierter mag, kann mit nem stock arbeiten.
    Einfach ''IsANoob'' oder so einbauen, dann brauchste als Abfrage bei Befehlen nur ''if(IsANoob(playerid) {...}''


    (nix getestet, kp...hab nur dein Code kopiert und auf mein Vorschlag geändert..)
    (Hab für die kleinen Codezeilen absichtlich mal kein pwn-tag verwendet...)

  • habe es jetzt so:


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetPVarInt(playerid,"Auto")!=1)
    {
    if(GetVehicleModel(playerid) != 509 || GetVehicleModel(playerid) != 481 || GetVehicleModel(playerid) != 510)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du hast noch keinen Führerschein!");
    SendClientMessage(playerid,Rot,"Besorg dir einen bei der Fahrschule.");
    }
    else
    {
    SendClientMessage(playerid,Gruen,"HF");
    }
    }
    return 1;
    }


    Onplayerstatechange
    if(GetVehicleModel(playerid) == 509 || GetVehicleModel(playerid) == 481 || GetVehicleModel(playerid) == 510)
    {
    if(isPlayerANoob(playerid))
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, Rot, "Du bist kein Newbie mehr");
    }
    else
    {
    SendClientMessage(playerid,Gruen,"Viel Spaß beim fahren");
    }
    }


    stock isPlayerANoob(playerid)
    {
    if(GetPVarInt(playerid,"Level")>=2)return 1;
    return 0;
    }


    klappt aber immernoch nicht -.-