[Hilfe] Wie behebe ich diese Errors?

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
  • Guten Tag Community,


    Ich habe folgedne Errors bekommen und weiß nicht wie ich sie beheben soll :(



    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(282) : warning 202: number of arguments does not match definition
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(385) : error 002: only a single statement (or expression) can follow each "case"
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(385) : warning 215: expression has no effect
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Hier die Zeilen:


    Warning:(282) ===> Hier Zeile: 1
    ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Männlich\r\nWeiblich", "OK", "Abbrechen");


    Error/Warrning:(385) ===> Hier Zeile: Vorletzte Zeile das return 1;

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/Spieler/%s.ini", pname);


    switch(dialogid)
    {
    case DIALOG_REGISTER1:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    new pwlength = strlen(inputtext);
    if(pwlength > 0)
    {
    dini_Create(path); // Erstellt die .ini Datei
    dini_Set(path, "password", inputtext); // Schreibt das eingegebene Passwort in die .ini
    ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "lala" "Männlich\r\nWeiblich", "OK", "Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_NOPW1, DIALOG_STYLE_MSGBOX, "Registrierung", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen");
    }
    }
    }
    case DIALOG_REGISTER2:
    {
    if(!response)
    {
    dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat.
    Kick(playerid);
    }
    else
    {
    dini_IntSet(path, "sex", listitem); // Schreibt entweder 0 oder 1 in die .ini (0 = Männlich, 1 = Weiblich)
    ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr Alter an: (z.B. 22):", "OK", "Abbrechen");
    }
    }
    case DIALOG_REGISTER3:
    {
    if(!response)
    {
    dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat.
    Kick(playerid);
    }
    else
    {
    dini_Set(path, "age", inputtext);
    ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "Registrierung", "Ihre Registrierung ist nun abgeschlossen!", "OK", "OK");
    }
    }
    case DIALOG_REGISTER4:
    {
    pInfo[playerid][sex] = dini_Int(path, "sex");
    pInfo[playerid][age] = dini_Int(path, "age");
    pInfo[playerid][logged] = 1;
    }
    case DIALOG_LOGIN1:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    new pwlength = strlen(inputtext);
    if(pwlength > 0)
    {
    new pw[200];
    format(pw, sizeof(pw), "%s", dini_Get(path, "password"));
    if(strcmp(inputtext, pw) == 0) // Wenn das Passwort stimmt
    {
    pInfo[playerid][sex] = dini_Int(path, "sex");
    pInfo[playerid][age] = dini_Int(path, "age");
    pInfo[playerid][logged] = 1;
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_WRONGPW, DIALOG_STYLE_MSGBOX, "Login", "Sie haben ein inkorrektes Passwort angegen!", "OK", "Abbrechen");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_NOPW2, DIALOG_STYLE_MSGBOX, "Login", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen");
    }
    }
    }
    case DIALOG_NOPW1: // Sollte das Passwort bei der Registrierung "Leer" sein:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr gewünschtes Passwort ein:", "OK", "Abbrechen");
    }
    }
    case DIALOG_NOPW2: // Sollte das Passwort beim Login "Leer" sein:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
    }
    }
    case DIALOG_WRONGPW:
    {
    if(!response)
    {
    Kick(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
    }
    }
    return 1;//Hier ist der Error!
    }


    Ich hoffe mir kann da Jemand weiterhelfen :D


    LG

    Gamemod: |||||||||||||||||||| 15%
    Map: |||||||||||||||||||| 70%



    Einmal editiert, zuletzt von [HcR]Shadow ()

  • Leider nicht :(


    Aber danke schon mal für deine Hilfe!


    Hat sonst vill. Jemand ne Ahnung?


    LG


    //Edit:
    So den Warn hab ich jetzt draußen :D
    Aber der Error macht mit ziemlich Probleme ich verstehs einfach nicht :(
    Weiß den wirklich niemand ws ich falsch gemacht habe?

    Gamemod: |||||||||||||||||||| 15%
    Map: |||||||||||||||||||| 70%



    Einmal editiert, zuletzt von [HcR]Shadow ()

  • ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Welches Geschlecht?", "Männlich\r\nWeiblich", "OK", "Abbrechen");
    Den anderen Fehler behebst du, indem du die Zeile mit dem return rauslöscht, da diese Zeile total unnötig ist.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ok danke der erste hat funktiniert!
    Aber wenn ich beim zweiten das return 1; raus lösche bekomme ich noch mehr errors :(



    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(522) : warning 217: loose indentation
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(522) : error 029: invalid expression, assumed zero
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(522) : error 004: function "OnPlayerClickPlayer" is not implemented
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(527) : warning 225: unreachable code
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(527) : error 029: invalid expression, assumed zero
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(527) : error 004: function "fahrzeugheilen" is not implemented
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(529) : warning 219: local variable "playerid" shadows a variable at a preceding level
    C:\Users\Pierre\Desktop\ser 0.3\gamemodes\selfmade.pwn(548) : error 030: compound statement not closed at the end of file (started at line 398)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.



    Und das ist das was darunter steht:



    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    public fahrzeugheilen()
    {
    for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:health, fahrzeug;
    if (IsPlayerInAnyVehicle(playerid))
    {
    fahrzeug = GetPlayerVehicleID(playerid);
    GetVehicleHealth(fahrzeug, health);
    if (health < 700)
    {
    SetVehicleHealth(fahrzeug, 1000);
    RepairVehicle(GetPlayerVehicleID(playerid));
    }
    }
    }
    }
    return 1;
    }


    LG

    Gamemod: |||||||||||||||||||| 15%
    Map: |||||||||||||||||||| 70%



  • Ich hoffe sehr das der Code NICHT in einem public ist, sonst kannst dich schämen. Hier der fix. Ich würde dann gerne die Zeilen nach der Funktion fahrzeugheilen sehen. Empfehlen tu ich dir auch die neusten SAMP 0.3 Includes!

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Das steht alles in public OnDialogResponse!
    Und nach dem fahrzeg heilen kommt nichts mehr ist Ende :D


    Die Errors kommen weil ich das Return weg gelassen hab :( ein public muss doch returned werden ?!


    LG


    PS: Wo finde ich die neuen Includes?

    Gamemod: |||||||||||||||||||| 15%
    Map: |||||||||||||||||||| 70%



  • ja, der wird später returnt, aber bitte hau die public aus einem public heraus. Das ist das schlimmste scripten was ich damals behoben habe bei einem.. public müssen alleine stehen und nicht IN einem public.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • HÖ???
    LOL du hast da was falsch verstanden der public steht nicht im anderen public xDD
    erst als ich das return rausgenommen habe!!!


    LG

    Gamemod: |||||||||||||||||||| 15%
    Map: |||||||||||||||||||| 70%



  • Das kann ned sein, weil ein ein public mit { } geschlossen wird und nicht mit einem return

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Habs gefixxt ^^ Es hat eine } gefehlt oberhalb vom return

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!