Fehler die ich mir nicht erklären kann

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 an alle ich hab hier fehler die ich mir nicht erklären kann bzw die ich nicht sehe:


    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(493) : warning 217: loose indentation
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(499) : warning 217: loose indentation
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(518) : warning 217: loose indentation
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(524) : warning 217: loose indentation
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(532) : error 012: invalid function call, not a valid address
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(532) : warning 215: expression has no effect
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(532) : error 001: expected token: ";", but found ")"
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(532) : error 029: invalid expression, assumed zero
    D:\Script\samp03asvr_R8_win32\filterscripts\License.pwn(532) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    hier die zeilen oder besser gesagt DIE zeile:


    else if(GetPlayerMenu(playerid) == test3)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort! Es folgt Frage 4.");
    ShowMenuForPlayer(test4,playerid);
    test4(playerid) //Zeile 532
    }


    wen ihr noch weitere daten braucht bitte sagen
    MFG GTA

  • Hallo GTA0071,


    zuerst einmal möchte ich sagen, dass BloodyEric natürlich in Ansätzen Recht hat.


    Zum einen müsste schonmal in deine Zeile 532, statt "test4(playerid)" rein "test4(playerid);".
    Dieses ; beendet Deinen Parameter "test4". Dies ist auch im Fehler abzulesen: (532) : error 001: expected token: ";", but found ")"


    Zum zweiten nehme ich an, dass die Zeile 524 folgende ist "else if(GetPlayerMenu(playerid) == test3)".
    Kann es vielleicht sein, dass Du vor dem "else if"
    kein einziges Mal nur "if" stehen hast?


    Denn mit "else if" in einer Funktion anzufangen, bringt bei mir genau diesen Fehler...
    Bitte schicke mal noch einige Codezeilen, auch wie Du "test3" und "test4" definiert hast.


    Ein beliebter Fehler ist auch folgender, nämlich nur "new test3;" zu schreiben.
    Denn möchtest Du Menüs definieren, musst Du dies mit "new Menu:test3;" tun.


    [WICHTIG] Wenn "test3" wirklich ein Menü zeigen soll, muss es so heisen: "ShowMenuForPlayer(test3, playerid);".
    Und Du musst test3 nicht mit einem playerid, definieren, denn Menüs werden schon bei der Funktion "ShowMenuForPlayer" nur
    für den Player, mit der playerid gezeigt...


    Bitte schau nochmal nach...

  • Du weißt aber schon, dass Test4(playerid) einen Funktionsaufruf darstellt? Und ich bezweife wirklich, dass es diese Funktion gibt. Also ist die Zeile dort unnötig und falsch und muss weg, das Menü öffnet sich mit der Zeile drüber.

  • Ups :D


    Habe auch grade gesehen, dass "ShowMenuForPlayer(test4,playerid);" ja schon drüber steht...
    (ohje wenn man alt wird :D)


    Trotzdem ist bestimmt "test4" falsch deiniert.
    Nämlich einfach nur "new test4;", wobei es für ein Menü aber "new Menu:test4;" heisen muss.


    Und Du solltest auch schauen, dass Du wirklich ein Menu bei "OnGameModeInit" lädt, welches
    "test4" heißt, da sonst ein Fehler, des Nichtgebrauchens der Variable kommt...

  • ich würde test4(playerid); draus machen ihr Mr.Brains

    Habe ich ja auch schon gesagt, aber mir glaubt ja keiner :D


    Wobei BloodyEric, vielleicht Recht haben könnte, dass keine Funktion "piblic test4(playerid)" exitiert,
    sondern GTA0071, ausversehen gedacht hat, er müsse dies noch zusätzlich anfügen...


    GTA0071, nun für Dich: Entferne zuerst einmal die Zeile: "test4(playerid)" und probiere, ob es funktioniert...

  • danke das ihr mir all diese tipps gegeben hab. ich habs hinbekommen durch euch aber wen ich das test4(......) raus gemacht habe hatte ich nen angeblichen klammmer fehler (26 errors). dann hab ich von der stellung versucht alle errors zu cleanen und es ging net. aber nun ist das ok aber ich hab immer noch ein kleines prob


    public praxis(playerid)
    {
    Fahrschulauto = CreateVehicle(560,-2027.1296,-94.0949,34.8693,89.9994,1,1,-1);
    PutPlayerInVehicle(playerid, Fahrschulauto,0);
    SetPlayerCheckpoint(playerid,-2044.6627,-80.5275,34.7249,2.5); // Hier geben sie ihre Coords ein für den 1 Wegpunkt
    SendClientMessage(playerid, COLOR_YELLOW2, "Bitte fahren sie vorsichtig die Checkpoints ab.");
    schulung[playerid] = 1;
    }


    wen ich zu dem teil hier komme wird das auto gespawned und ich werd rein gesetzt alles ok aber mir wird kein checkpoint angezeigt woran liegt das?

  • wieso


    else if




    steht irgendetwas über diesen Zeilen?

  • SetPlayerCheckpoint(playerid, Float:x, Float:y, Float:z, Float:size);
    Ich sehe gerade keinen Fehler an Deiner Funktion, habe ich jedoch einen Verdacht...
    Kommt beim Compilen irgend ein Fehler, hinsichtlich dieser Zeile oder eine Warnung?


    Wenn nicht, dann weis auch nicht weiter ?(

  • nein es kommt kein einziger warning für diese zeile... ich versteh das net aber könnte ich net das so umbauen das ich eine abfrage bei OnPlayerStateChange mache und dann abfragen lasse wen er fahrer ist das dann die CP´s kommen? das problem ist ich weiß net wie eine abfrage aussieht die sich auf ein auto spezialisiert. ist das überhaupt möglich?

    Einmal editiert, zuletzt von GTA0071 ()

  • sry hardcore wir sind ein thema weiter ^^


    2 Mal editiert, zuletzt von GTA0071 ()