Fahrzeuge beschränken

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 Leute,


    ich wollte mal Fragen wie ich bestimmte Fahrzeuge mit:


    if(pInfo[playerid][team] ==1)


    beschränken kann.
    Es geht hierbei um die jeweiligen Fahrzeugmodells.


    Polizei Fahrzeug zb. 596


    Am besten beim Einsteigen abfragen oder?
    Wie begrenze ich es dann auf die IDs?

  • So würde ich sagen (Einfach mal so geschrieben ^^ ) :


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid = GetPlayerVehicleID;
    if(pInfo[playerid][team] == 1)
    {
    if(GetPlayerVehicleID(playerid))
    {
    if(GetVehicleModel(vehicleid)) == 596 || //Weitere Vehicle ID's, immer mit || getrennt!
    //Was passieren soll
    }
    else
    {
    //Was passieren soll, wenn er nicht in einem Fahrzeug dieser ID sitzt
    }
    }

    return 1;
    }

  • Dann bekomme ich folgende Error,
    ich weiß dass das ein Klammerfehler ist aber ich weiß nicht wo :O



    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(299) : error 004: function "Stadtwahl" is not implemented
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2019) : error 004: function "StatsSystem" is not implemented
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2025) : error 004: function "Levelup" is not implemented
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2355) : error 076: syntax error in the expression, or invalid function call
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2361) : error 029: invalid expression, assumed zero
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2361 -- 2362) : error 029: invalid expression, assumed zero
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2361 -- 2363) : warning 215: expression has no effect
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2363) : error 001: expected token: ";", but found "else"
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2363) : fatal error 107: too many error messages on one line


  • Schau dir die zeile mal an, mal sehen ob du es findest :)
    if(GetVehicleModel(vehicleid)) == 596 || //Weitere Vehicle ID's, immer mit || getrennt!

  • Den Fehler hatte ich auch schnell gefunden, als ich dann || entfernt habe entstand folgendes:



    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2886) : error 021: symbol already defined: "OnPlayerStateChange"
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2887) : error 076: syntax error in the expression, or invalid function call
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2892) : error 029: invalid expression, assumed zero
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2892 -- 2894) : warning 215: expression has no effect
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2894) : error 001: expected token: ";", but found "}"


    Edit: Ich glaub ich habes, moment :D


    Edit2: Nun folgendes:



    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2414) : error 076: syntax error in the expression, or invalid function call
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2419) : error 029: invalid expression, assumed zero
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2419 -- 2421) : warning 215: expression has no effect
    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2421) : error 001: expected token: ";", but found "}"

  • Bitte :)



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new Vehicle = GetPlayerVehicleID(playerid);
    if(Vehicle == rentbike1)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike2)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike3)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike4)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike5)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike6)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike7)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike8)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    new vehicleid = GetPlayerVehicleID;
    if(pInfo[playerid][team] == 1)
    {
    if(GetPlayerVehicleID(playerid))
    {
    if(GetVehicleModel(vehicleid)) == 596 //Weitere Vehicle ID's, immer mit || getrennt!
    //Was passieren soll
    }
    else
    {
    //Was passieren soll, wenn er nicht in einem Fahrzeug dieser ID sitzt
    }
    }
    }
    return 1;
    }


  • if(pInfo[playerid][team] == 1)
    {
    if(GetPlayerVehicleID(playerid))
    {
    if(GetVehicleModel(vehicleid) == 596) { //Weitere Vehicle ID's, immer mit || getrennt!
    //Was passieren soll
    }
    else
    {
    //Was passieren soll, wenn er nicht in einem Fahrzeug dieser ID sitzt
    }
    }


    Einfach ersetzten, dann sollte es funktionieren.

  • Erst 26 Error, dann Klammerfehler asugebssert und danach 1Error:



    C:\Users\Adrian\Desktop\Own Server\gamemodes\Skript.pwn(2419) : error 017: undefined symbol "vehicleid"


    wenn ich dann
    #define vehicleid mache bekomme ich warns.


  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new Vehicle = GetPlayerVehicleID(playerid);
    if(Vehicle == rentbike1)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike2)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike3)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike4)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike5)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike6)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike7)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(Vehicle == rentbike8)
    {
    SendClientMessage(playerid,Admin,"Dieses Fahrrad kannst du mieten! Pro Fahrt kostet dies 100$!(/bikerent)");
    SendClientMessage(playerid,Admin,"Falls du dieses Fahrrad doch nicht möchtest, kannst du mit /exit absteigen.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(GetVehicleModel(Vehicle)) == 596)
    {
    if(pInfo[playerid][team] == 1)
    {
    //was passieren soll wenn der spieler team 1 ist
    }else{
    //was passiert wenn er nicht team 1 ist
    }
    }
    }
    return 1;
    }


    erscheint mir sinnvoller..



    Edit:
    Damit kannst du den Spieler aus dem Fahrzeug schmeißen:
    RemovePlayerFromVehicle(playerid);


    Edit2:
    Du kannst es auch so machen...

    if(GetVehicleModel(Vehicle) == 596 && pInfo[playerid][team] == 1)
    {
    //was passieren soll wenn der spieler team 1 ist und er in der id 596 ist
    }
    else
    {
    //was passiert wenn er nicht team 1 istund er in der id 596 ist
    }

  • Funktioniert, ich danke :)


    Edit:


    Joa es gab zwar keine Error jedoch werde ich aus dem Auto gekickt, selbst wenn ich in Team 1 bin. :



    if((GetVehicleModel(Vehicle)) == 596 || 523)
    {
    if(pInfo[playerid][team] == 1)
    {
    PutPlayerInVehicle(playerid);
    }else{
    RemovePlayerFromVehicle(playerid);
    }
    }

    Einmal editiert, zuletzt von Danger34 ()