Nur bestimmte Zahlen erlauben?

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 mal eine kleine frage, und zwar.
    Habe ich ein Dynamisches ATM - System gescriptet das Problem dabei ist nur, das bei der Rotations Angabe.
    Man jede Zahl auswählen kann, ich möchte aber das man NUR die Zahl 90, 180, 270 und 360 nehmen kann.


    Ich Poste euch mal hier meinen Code rein:



    ocmd:catm(playerid,params[])
    {
    if(PlayerDaten[playerid][pAdminlevel] != 2000)return SendClientMessage(playerid,DUNKELROT," Du hast kein Zugriff auf diesen Befehl!");
    {
    if(PlayerDaten[playerid][pTutorial] == 1)return SendClientMessage(playerid,ORANGE," Du bist noch in der Einführung!");
    if(PlayerDaten[playerid][pLogin] == 0)return SendClientMessage(playerid,ORANGE ," Du bist nicht Eingeloggt!");
    new text[16], Float:x,Float:y,Float:z,string[110], rot;
    if(sscanf(params,"s[16]i",text, rot)) return SendClientMessage(playerid,ORANGE,"Benutzung: /catm [Name] [Rotation: 90, 180, 270, 360]");
    if(rot == 90 || rot == 180 || rot == 270 || rot == 360) // Hier habe ich es so schon versucht, aber bringt nichts mache ich da etwas Falsch?
    if(strlen(text) > 16)return SendClientMessage(playerid,DUNKELROT,"Der Text darf Maximal nur 16 Zeichen enthalten!");
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"Geldautomat an: "#HWEIS"X: "#HROT"%f "#HWEIS"Y: "#HROT"%f "#HWEIS"Z: "#HROT"%f "#HWEIS"Erstellt.",x,y,z);
    SendClientMessage(playerid, WEIS, string);
    SetPlayerPos(playerid,x,y,z+2);
    CATM(x,y,z,text, rot);
    }
    return 1;
    }

  • Das machst du einfach so:


    ocmd:catm(playerid,params[])
    {
    if(PlayerDaten[playerid][pAdminlevel] != 2000)return SendClientMessage(playerid,DUNKELROT," Du hast kein Zugriff auf diesen Befehl!");
    if(PlayerDaten[playerid][pTutorial] == 1)return SendClientMessage(playerid,ORANGE," Du bist noch in der Einführung!");
    if(PlayerDaten[playerid][pLogin] == 0)return SendClientMessage(playerid,ORANGE ," Du bist nicht Eingeloggt!");
    new text[16], Float:x,Float:y,Float:z,string[110], rot;
    if(sscanf(params,"s[16]i",text, rot)) return SendClientMessage(playerid,ORANGE,"Benutzung: /catm [Name] [Rotation: 90, 180, 270, 360]");
    if(rot != 90 || rot != 180 || rot != 270 || rot != 360) return SendClientMessage(playerid,ORANGE,"Es sind nur Rotationen von 90 180 270 oder 360 erlaubt!");
    if(strlen(text) > 16)return SendClientMessage(playerid,DUNKELROT,"Der Text darf Maximal nur 16 Zeichen enthalten!");
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"Geldautomat an: "#HWEIS"X: "#HROT"%f "#HWEIS"Y: "#HROT"%f "#HWEIS"Z: "#HROT"%f "#HWEIS"Erstellt.",x,y,z);
    SendClientMessage(playerid, WEIS, string);
    SetPlayerPos(playerid,x,y,z+2);
    CATM(x,y,z,text, rot);
    return 1;
    }


    Die Frage ist jedoch...was ist mit Rotation 0? :rolleyes:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • So habe ich es auch schon gehabt, funktioniert nicht:
    Kommt nur die Fehlermeldung.


    if(rot != 90 || rot != 180 || rot != 270 || rot != 360) return SendClientMessage(playerid,ORANGE,"Es sind nur Rotationen von 90 180 270 oder 360 erlaubt!");


    Und was meinst mit Rotation 0, muss ich da etwas bestimmtes beachten? :D
    Weil Rotation ROT-Z = 0 ist das selbe wie ROT-Z = 360

  • Weil Rotation ROT-Z = 0 ist das selbe wie ROT-Z = 360


    Ja..das stimmt sry, bin gerade erst aufgestanden :wacko:


    Schreib die Zeile so:


    if(rot != 90 && rot != 180 && rot != 270 && rot != 360) return SendClientMessage(playerid,ORANGE,"Es sind nur Rotationen von 90 180 270 oder 360 erlaubt!");


    Ich brauch erstmal n Kaffe ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Haha, macht doch nichts ^^
    Aber so Funktioniert es, danke euch beiden :)


    Ich auch, habe noch nicht mal richtig gefrühstückt :wacko: