Ich versteht nicht was falsch ist | ocmd problem

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.
    Ich bin jetzt schon die ganze Zeit am suchen , aber ich weiß net wo der Fehler liegt.
    Ich habe einen Befehl gemacht .

    ocmd:DJ(playerid,params[])
    {
    if(!IsPlayerConnected(playerid))return 0;
    {
    if(GetPVarInt(playerid, "Job")== 1);
    {
    if(!IsPlayerInRangeOfPoint(playerid,1,1211.2683,-905.6534,48.0557))return SendClientMessage(playerid,ROT,"Du bist an keinem Dj Pult!");
    ShowPlayerDialog(playerid,DIALOG_DISCO,DIALOG_STYLE_LIST,"Disco","Neon Lichter\nDisco Lichter\nNebelmaschine\nTanzfläche\nDiscokugeln\nBlitzlichter\nMusik","Weiter","Abbrechen");return 1;
    }
    else
    {
    SendClientMessage(playerid,ORANGE,"Du hast nicht den Job DJ!");
    }
    }
    }


    so nun bekomme ich aber diesen Error:
    C:\Users\Lennart\Desktop\180) : error 036: empty statement
    C:\Users\Lennart\Desktop\(185) : warning 225: unreachable code
    C:\Users\Lennart\Desktop\(185) : error 029: invalid expression, assumed zero
    C:\Users\Lennart\Desktop\190) : warning 209: function "ocmd_DJ" should return a value


    Ich weiß echt nicht weiter , ich hoffe mir kann jmd. helfen.
    MFG. :thumbup:

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • ocmd:DJ(playerid,params[])
    {
    if(!IsPlayerConnected(playerid))return 0; // return 0 an der Stelle geht nicht wegen "{", besser anders rum if(IsPlayerConnected(..))
    {
    if(GetPVarInt(playerid, "Job")== 1);
    {
    if(!IsPlayerInRangeOfPoint(playerid,1,1211.2683,-905.6534,48.0557))return SendClientMessage(playerid,ROT,"Du bist an keinem Dj Pult!");
    ShowPlayerDialog(playerid,DIALOG_DISCO,DIALOG_STYLE_LIST,"Disco","Neon Lichter\nDisco Lichter\nNebelmaschine\nTanzfläche\nDiscokugeln\nBlitzlichter\nMusik","Weiter","Abbrechen");return 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ORANGE,"Du hast nicht den Job DJ!");
    return 1;
    }
    else{ return 0;} // besser hier
    }

    Einmal editiert, zuletzt von thacoga308 ()

  • So hast du es:



    ocmd:DJ(playerid,params[])
    {
    if(!IsPlayerConnected(playerid))return 0;
    {
    if(GetPVarInt(playerid, "Job")== 1);
    {
    if(!IsPlayerInRangeOfPoint(playerid,1,1211.2683,-905.6534,48.0557))return SendClientMessage(playerid,ROT,"Du bist an keinem Dj Pult!");
    ShowPlayerDialog(playerid,DIALOG_DISCO,DIALOG_STYLE_LIST,"Disco","Neon Lichter\nDisco Lichter\nNebelmaschine\nTanzfläche\nDiscokugeln\nBlitzlichter\nMusik","Weiter","Abbrechen");return 1;
    }
    else
    {
    SendClientMessage(playerid,ORANGE,"Du hast nicht den Job DJ!");
    }
    }
    }


    richtig wäre es so:



    ocmd:DJ(playerid,params[])
    {
    if(!IsPlayerConnected(playerid))return 0;
    if(GetPVarInt(playerid, "Job")== 1)
    {
    if(!IsPlayerInRangeOfPoint(playerid,1,1211.2683,-905.6534,48.0557))return SendClientMessage(playerid,ROT,"Du bist an keinem Dj Pult!");
    ShowPlayerDialog(playerid,DIALOG_DISCO,DIALOG_STYLE_LIST,"Disco","Neon Lichter\nDisco Lichter\nNebelmaschine\nTanzfläche\nDiscokugeln\nBlitzlichter\nMusik","Weiter","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,ORANGE,"Du hast nicht den Job DJ!");
    }
    return 1;
    }


    Dieser Fehler:

    Code
    warning 209: function "ocmd_DJ" should return a value


    sagt alles was du Wissen soltlest! Wenn du das schon nicht Wusstest.... und ausserdem nach den dialog return 1; ?!? WTF


    //E: Fehler behoben, wo hast du Scripten gelernt? Nach einer if Abfrage kommt NIE ein ; -.-
    //E: So jetzt hatte ich den Fehler wieder gut gemacht^^

    2 Mal editiert, zuletzt von LogispireMode ()

  • hilft mir nicht viel weiter , denn wie ich schon geschrieben hatte habe ich nurnoch die 2 Errors.
    @Alle danke für die Antworten!

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • ocmd:DJ(playerid,params[])
    {
    if(!IsPlayerConnected(playerid))return 0; // return 0 an der Stelle geht nicht, besser anders rum if(IsPlayerConnected(..))
    {
    if(GetPVarInt(playerid, "Job")== 1);
    {
    if(!IsPlayerInRangeOfPoint(playerid,1,1211.2683,-905.6534,48.0557))return SendClientMessage(playerid,ROT,"Du bist an keinem Dj Pult!");
    ShowPlayerDialog(playerid,DIALOG_DISCO,DIALOG_STYLE_LIST,"Disco","Neon Lichter\nDisco Lichter\nNebelmaschine\nTanzfläche\nDiscokugeln\nBlitzlichter\nMusik","Weiter","Abbrechen");return 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ORANGE,"Du hast nicht den Job DJ!");
    return 1;
    }
    }
    return 1;
    }

  • Zitat

    hilft mir nicht viel weiter , denn wie ich schon geschrieben hatte habe ich nurnoch die 2 Errors.


    @Alle danke für die Antworten!

    welche zwei errors?


    Du hast nach der if Abfrage auch ein Simikolon rein geballer was niemals sein sollte!


    //E: Rechtschreibung
    //E:


    Hahahaha leider auch falsch ;) Guck dir die if Abfrage mal an :p :thumbup:

  • PawnFox ich probiere es.
    @LogispireMode
    hier die Errors.
    C:\Users\Lennart\Desktop\disco.pwn(179) : error 036: empty statement
    C:\Users\Lennart\Desktop\disco.pwn(184) : error 029: invalid expression, assumed zero

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • ocmd:DJ(playerid,params[])
    {
    if(!IsPlayerConnected(playerid))return 0;
    if(GetPVarInt(playerid, "Job")== 1); //179
    {
    if(!IsPlayerInRangeOfPoint(playerid,1,1211.2683,-905.6534,48.0557))return SendClientMessage(playerid,ROT,"Du bist an keinem Dj Pult!");
    ShowPlayerDialog(playerid,DIALOG_DISCO,DIALOG_STYLE_LIST,"Disco","Neon Lichter\nDisco Lichter\nNebelmaschine\nTanzfläche\nDiscokugeln\nBlitzlichter\nMusik","Weiter","Abbrechen");
    }
    else //184
    {
    SendClientMessage(playerid,ORANGE,"Du hast nicht den Job DJ!");
    }
    return 1;
    }

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • Und meins ? ;(


    Du hast nach der if(GetPVarInt(playerid,"Job") == 1)) //Hier hattest du ein ";" was NIEMALS sein darf!(Nach if kein ; am ende der klammer setzen^^)


    Dann wäre der erste weg,der zweite müsste dann eig. auch weg gehen^^


    PS: Probier doch einfach mal mein Code von oben 8o

  • ocmd:DJ(playerid,params[])
    {
    if(!IsPlayerConnected(playerid))
    {
    if(GetPVarInt(playerid, "Job")== 1)
    {
    if(!IsPlayerInRangeOfPoint(playerid,1,1211.2683,-905.6534,48.0557))
    {
    ShowPlayerDialog(playerid,DIALOG_DISCO,DIALOG_STYLE_LIST,"Disco","Neon Lichter\nDiscoLichter\nNebelmaschine\nTanzfläche\nDiscokugeln\nBlitzlichter\nMusik","Weiter","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist an keinem DJ-Pult!");
    }
    }
    else
    {
    SendClientMessage(playerid,ORANGE,"Du hast nicht den Job DJ!");
    }
    }
    return 1;
    }
    So vielleicht?
    PS.: Die Nachricht mit dem "DJ-Pult" muss ebenfalls durch eine "else-Abfrage" gekennzeichnet werden, denn sonst wird diese Nachricht nur angezeigt, wenn du in der Nähe des Pults bist, was unlogisch wäre.