Fehler bei Frakautos

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
  • 483=if(GetPlayerVehicleID(playerid) == grovefahrzeuge(vehicleid)
    486= DIE ERSTE { if(!isPlayerinFrakt(playerid,1)
    {
    SendClientMessage(playerid,rot,"Dieser Wagen gehört der Grove Street");
    RemovePlayerFromVehicle(playerid);
    }
    und 140= die letze klammer hier if(!isPlayerinFrakt(playerid,1)
    {
    SendClientMessage(playerid,rot,"Dieser Wagen gehört der Grove Street");
    RemovePlayerFromVehicle(playerid);
    }


    HIER NOCHMAL ALLES ZSM


    new grovefahrzeug[12];
    grovefahrzeug[0] = AddStaticVehicle(560,2481.6655,-1653.7430,13.0913,89.3862,191,191); // grove3
    grovefahrzeug[1] = AddStaticVehicle(560,2499.0454,-1683.0353,13.0892,102.8021,191,191); // grove4
    grovefahrzeug[2] = AddStaticVehicle(567,2473.6240,-1692.3252,13.3893,1.5045,191,191); // grove 1
    grovefahrzeug[3] = AddStaticVehicle(567,2506.6694,-1694.3275,13.4271,0.4538,191,191); // grove 2
    grovefahrzeug[4] = AddStaticVehicle(451,2468.5720,-1671.4988,13.1045,13.1538,191,191); // grove
    grovefahrzeug[5] = AddStaticVehicle(451,2468.8464,-1653.5500,13.1084,93.0590,191,191); // grove
    grovefahrzeug[6] = AddStaticVehicle(487,2530.3611,-1677.4352,20.1065,242.7744,191,191); // grove
    grovefahrzeug[7] = AddStaticVehicle(522,2503.9526,-1693.6013,13.1313,1.9871,191,191); // grove
    grovefahrzeug[8] = AddStaticVehicle(522,2516.4688,-1665.9817,13.4588,90.2528,191,191); // grove
    grovefahrzeug[9] = AddStaticVehicle(522,2506.0911,-1651.2596,13.2435,128.5980,191,191); // grove
    grovefahrzeug[10] = AddStaticVehicle(413,2501.0127,-1654.7416,13.5605,75.2678,191,191); // grove
    grovefahrzeug[11] = AddStaticVehicle(560,2510.0095,-1672.1099,13.1169,347.6112,191,0); // grove
    //Frakfahrzeuge----------------------------------------------------------------------------------------------------------
    public grovefahrzeuge(vehicleid)
    {
    for(new i =0;i < sizeof(grovefahrzeug); i++)
    {
    if(vehicleid==grovefahrzeug[i])
    {
    return 1;
    }
    return 0;
    }
    }
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(GetPlayerVehicleID(playerid) == grovefahrzeuge(vehicleid)
    {
    if(!isPlayerinFrakt(playerid,1)
    {
    SendClientMessage(playerid,rot,"Dieser Wagen gehört der Grove Street");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    mfg Antimon

  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(GetPlayerVehicleID(playerid) == grovefahrzeuge(vehicleid)) //Eine ) gefehlt
    {
    if(!isPlayerinFrakt(playerid,1)) //ebenso
    {
    SendClientMessage(playerid,rot,"Dieser Wagen gehört der Grove Street");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    140:
    if(!isPlayerinFrakt(playerid,1)) //Auch die )
    {
    SendClientMessage(playerid,rot,"Dieser Wagen gehört der Grove Street");
    RemovePlayerFromVehicle(playerid);
    }

  • danke für die hilfe habe aber kleinen fehler gemacht 140 ist daspublic grovefahrzeuge(vehicleid)
    {
    for(new i =0;i < sizeof(grovefahrzeug); i++)
    {
    if(vehicleid==grovefahrzeug[i])
    {
    return 1;
    }
    return 0;
    }
    }


    C:\Users\Harry\Desktop\GTA\gamemodes\Testserver.pwn(140) : warning 209: function "grovefahrzeuge" should return a value
    //EDIT habe JETZT NOCH EIN WARNING :/// BITTE UM HILFE


    //EDIT Habs doch geschaft :)

    3 Mal editiert, zuletzt von Antimon ()

  • Hast jetzt vielleicht keine Fehler beim kompilieren, dennoch sind dort noch logische Fehler.


    if(GetPlayerVehicleID(playerid) == grovefahrzeuge(vehicleid))
    Das wird niemals funktionieren, außer der Spieler sitzt zufällig im Fahrzeug mit der Vehicleid 1 und es handelt sich dabei auch um ein Grove Fahrzeug.
    Die Funktion grovefahrzeuge() bei dir gibt doch schon von sich selbst zurück,ob es ein Grove Fahrzeug ist. Das musst du nicht mit irgendetwas vergleichen.
    Wo hast du überhaupt die vehicleid her bei OnPlayerStateChange ?


    Auch wenn man sich das mal mit den return Werten überlegt:
    GetPlayerVehicleID() - Gibt einen Wert zwischen 0 und MAX_VEHICLES-1 zurück.
    grovefahrzeuge() - Gibt entweder 0 oder 1 zurück.

  • Zitat

    was soll ich dann machen um frak auto zu erstellen ?


    Dazu habe ich doch rein gar nichts geschrieben. Ich habe nur gesagt, dass du unter OnPlayerStateChange einen Logik Fehler hast.


    Zitat

    //EDIT weil es funktioniert nicht xD


    Sehr gute Beschreibung. Glaubst du wirklich Jemand außer dir hat jetzt verstanden wo der Fehler ist ?
    Du musst viel genauer sagen,was genau nicht funktioniert. Keiner kann auch nur erahnen wo der Fehler sein kann,da du 0 Informationen gibst.

  • habe keine erors und keine warnings mehr habe über if(new.. ein new gesetzt new vehicleid = GetPlayerVehicleID(playerid); und jetzt kommt mir keine Nachricht wenn ich mit anderer frak reinsteige und kann damit einfach weiterfahren genauso bei grove frak kann einsteigen und fahren (was auch gut ist) aber die anderen fraks sollen nicht fahren dürfen

  • habe keine erors und keine warnings mehr habe über
    if(new.. ein new gesetzt [pwn]


    "if(new" ? Wirklich ?!


    Poste doch einfach mal den ganzen Code von OnPlayerStateChange. Denk doch mal etwas nach. Dir soll Jemand helfen, muss aber alle Grundlegenden Informationen nachfragen anstatt sie einfach direkt zu bekommen. Das hilft dir nicht.
    Du bist damit aber auch leider nicht die Ausnahme.

  • {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(GetPlayerVehicleID(playerid) == grovefahrzeuge(vehicleid))
    {
    if(isPlayerinFrakt(playerid,1))
    {
    return 1;
    }
    else
    {
    SendClientMessage(playerid,grovegrün,"Dieser Wagen gehört der Grove Street");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    }
    return 1;
    }


    hier hoffe kannst helfen

  • if(GetPlayerVehicleID(playerid) == grovefahrzeuge(vehicleid))


    Habe doch oben geschrieben,dass das Quatsch ist.
    Ließ doch nochmal meinen Post.

    Spoiler anzeigen
    Ist zwar sowieso falsch,aber wozu nochmal GetPlayerVehicleID() ? Du ließt doch vorher den Wert eh aus

    Wenn du die Funktion grovefahrzeuge() selber geschrieben hast,dann musst du doch wissen,welchen Wert die Funktion zurück gibt,wenn du in einem Grove Fahrzeug sitzt :wacko: .