switch frage

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
  • moin.
    ich habe mir gedacht ich probiere unter onplayerpickuppickup ein switch aus nur leider bekomme ich einen fehler.



    new pickup1;
    pickup1=CreatePickup(1318,1,-1605.5558,710.2774,13.8672,0);


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    switch(pickupid)
    {
    case pickup1:{SetPlayerPos(playerid,-1983.1892,137.7320,27.6875);} //fehlerzeile
    }
    return 1;
    }


    fehler:

    Code
    sf.pwn(44) : error 008: must be a constant expression; assumed zero


    jetzt meine frage ist es ueberhaupt moeglich bei den switch cases buchstaben zu verwenden oder geht es nur mit zahlen? ich habe es auch so probiert da ich das irgendwo gelesen habe: case "pickup1": klappt aber genauso wenig. und ich will jetzt nicht hoeren ..arbeite doch mit if else.. darum gehts mir ja nicht.

  • case pickup1: SetPlayerPos(playerid,-1983.1892,137.7320,27.6875); //fehlerzeile
    BOMBER: Schon etwas fail waste da gepostet hast

    Zitat von BOMBER

    case pickup1:{SetPlayerPos(playerid,-1983.1892,137.7320,27.6875)};



    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • Guten Abend!


    Die Klammern, die Funktionen schließen, also { und },
    habe im "Case" überhaupt nichts verloren.


    Einfach { und } entfernen und es klappt.


    case pickup1: SetPlayerPos(playerid,-1983.1892,137.7320,27.6875);

    Freundliche Grüße


    4#Future | Fake - Philip




    // EDIT


    sonic


    Du willst mich heute Nacht wohl fertig machen? ^^
    Du bist nur schneller, weil ich meinen Text schön formatiere :D

  • der fehler hat mit den {} klammern ueberhaupt nichts zu tun.. man kann sie verwenden muss aber nicht.
    also ich sehe zwischen meinem und euren code keine grossen unterschiede ..der fehler bleibt der gleiche


    Code
    sf.pwn(44) : error 008: must be a constant expression; assumed zero


    hat noch jemand einen vorschlag ?

  • Sende mir deine TV Daten per PN. Ich fix es dir schnell ;]


    öm... mir fällt da gerade was auf...


    new
    gPlayer0,
    gPlayer1,
    gPlayer2,
    gPlayer3;

    SetPlayerValue(playerid, value)
    {
    switch(playerid)
    {
    case 0: gPlayer0 = value; // is the same as doing if(playerid == 0)
    case 1: gPlayer1 = value; // is the same as doing if(playerid == 1)
    case 2: gPlayer2 = value; // is the same as doing if(playerid == 2)
    case 3: gPlayer3 = value; // is the same as doing if(playerid == 3)
    }
    }
    QUELLE: http://wiki.sa-mp.com/wiki/Scripting_Basics


    Dir auch?


    //EDIT: Problem wurde anderweitig gelöst ;]


    Gruss: Sonic

    I didn't hit you. I high fived your face.

    Einmal editiert, zuletzt von Sonic Hedgehog ()

  • ich habe noch eine ganze weile rumprobiert aber es leider nicht hinbekommen. aber was mir aufgefallen ist.. bei OnDialogResponse klappt das ganze. ich denke mal weil die dialoge mit zahlen defined werden.



    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    }
    case DIALOG_REGISTER:
    {
    }
    }