[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Okay das mit Continue Check ich.
    Habs schon in einer Funtkion verwendet,
    aber das mit Case verstehe ich immer noch nicht.

  • alternativ kannste auch if / else if nehmen...

    Einmal editiert, zuletzt von kleinerOpa ()

  • Also sind if & case quasi das gleiche?
    Oder gibst da nen drastischen unterschied?

  • naja ab 3 ist switch ressourcenschonender. also
    test(var)
    {
    if(var==1)return fA();
    else if(var==2)return fB();
    else if(var==3)return fC();
    else return fD();
    }
    //entspricht:
    test(var)
    {
    switch(var)
    {
    case 1:return fA();
    case 2:return fB();
    case 3:return fC();
    default:return fD();
    }
    }
    //oder
    test(var)return((var==1)?(fA()):((var==2)?(fB()):((var==3)?(fC()):(fD()))));


  • if(dialogid == Chat){
    if(listitem == 0){
    new string[128];
    new name[MAX_PLAYER_NAME];
    format(string, sizeof(string), "[%s]: Guten Morgen Jungs und Mäddels! Wie geht es euch",name);
    SendClientMessageToAll(0x0ffffff, string);


    Darf ich eben fragen, warum mir der Wert name nicht ausgegeben wird?

  • if(dialogid == Chat){
    if(listitem == 0){
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof (name));
    format(string, sizeof(string), "[%s]: Guten Morgen Jungs und Mäddels! Wie geht es euch",name);
    SendClientMessageToAll(0x0ffffff, string);


  • if(dialogid == Haupt){
    if(response == 0){
    new string[256];
    format(string, sizeof(string), "abgebrochen");
    ShowPlayerDialog(playerid, 212, DIALOG_STYLE_MSGBOX, "Buttler:",string, "Ok", "Schließen" );
    }
    if(listitem == 0){
    }
    ShowPlayerDialog(playerid, Chat, DIALOG_STYLE_LIST, "Was kann ich für Sie tun'?", "Begrüßung\nVerabschiedung\nKompliment\nEinstellungen", "Auswählen", "Schließen");
    }
    if(dialogid == Chat){
    if(listitem == 0){
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof (name));
    format(string, sizeof(string), "[%s]: Guten Morgen Jungs und Mäddels! Wie geht es euch",name);
    SendClientMessageToAll(0x0ffffff, string);
    }
    if(listitem == 1){
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof (name));
    format(string, sizeof(string), "[%s]: Tschüß und Aufwiedersehen Jungs und Mäddels! Sehen uns!",name);
    SendClientMessageToAll(0x0ffffff, string);
    }
    }


    Findet ihr den Fehler?


    Es ist so,
    wenn ich Scrollrad drücke, öffne ich ein kleines Menü.
    Wenn ich dort das 1. Auswähle öffnet sich dort ein 2. Menü. Und wenn ich dort das 1./2. ausw#hle, kommt eine Textnachricht an alle.


    Aber ich habe das problem, wenn ich beim ersten menü z.B escape drücke oder schließen, öffnet der mir das 2. sofort.
    Und dann sendet ihr mir die Nachricht.
    Also escape/schließen öffnet das nächste 1. seltsamer weiße.


    Hoffe jemand findet den Fehler schnell.

    Einmal editiert, zuletzt von Drake_Bell ()

  • Suche für OnPlayerKeyState oder wie das heißt folgende Tasten:


    Enter & 2 & 3 & 9 & STRG.
    Bitte Helfen.


    Danke :thumbup:

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Drake: Geh schlafen...Verpenntheits-Fehler ;)
    if(listitem == 0){
    }
    Was soll das denn bewirken..ohne Inhalt oder sonstiges ;D


    Dan:


    Die Zahlen kannst du nicht in OnPlayerKeyState benutzen. Doch 2 schon, dass ist der SPECIAL KEY. Aber der Rest nicht, da SA:MP nur auf Tasten die schon von GTA SA festgelegt sind zugreifen kann/will.
    Frag mich, wieso Kye das so eingestellt hat :/

  • WTF?
    Klar ist da ein Inhalt du trottel^^



    Stas, nein das hat mir das ganze Menü gespeert?^^

  • Kann ich das LANGE/GROßE Unten stehende auch leichter machen? ALso anstatt 1oooox SendClientMessage vllt. iwie das es so ist SendClientMessage1000x oder so xD halt kürzer? Frisst zuviele Zeilen/Resourcen =/


    if (strcmp("/clear", cmdtext, true, 10) == 0)
    {
    if(Player[playerid][admin] < 1)
    {
    SendClientMessage(playerid, COLOR_RED,"You must be a Moderator or higher to see clear the chat");
    }
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    SendClientMessageToAll(COLOR_RED,"");
    new name[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Admin %s has cleared the chat",name);
    SendClientMessageToAll(COLOR_GREEN,string);
    return 1;
    }

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • Ich check meinen Fehler immernoch nicht...

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == Haupt){
    if(response == 0){
    new string[256];
    format(string, sizeof(string), "abgebrochen");
    ShowPlayerDialog(playerid, 212, DIALOG_STYLE_MSGBOX, "Buttler:",string, "Ok", "Schließen" );
    }
    if(listitem == 0){
    }
    ShowPlayerDialog(playerid, Chat, DIALOG_STYLE_LIST, "Was kann ich für Sie tun'?", "Begrüßung\nVerabschiedung\nKompliment\nEinstellungen", "Auswählen", "Schließen");
    }
    if(dialogid == Chat){
    if(dialogid == 1)
    if(listitem == 0){
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof (name));
    format(string, sizeof(string), "[%s]: Guten Morgen Jungs und Mäddels! Wie geht es euch",name);
    SendClientMessageToAll(0x0ffffff, string);
    }
    if(listitem == 1){
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof (name));
    format(string, sizeof(string), "[%s]: Tschüß und Aufwiedersehen Jungs und Mäddels! Sehen uns!",name);
    SendClientMessageToAll(0x0ffffff, string);
    }
    }


  • Mach:
    stock ClearScreen(playerid)
    {
    for(new i = 0; i < 50; i++)
    {
    SendClientMessageToAll(COLOR_WHITE, " ");
    }
    //return 0;
    }

  • Danke nun die Fragen:


    stock ClearScreen(playerid)
    {
    for(new i = 0; i < 50; i++) //Ist die 50 die Anzahl wie oft der Satz kommt?
    {
    SendClientMessageToAll(COLOR_WHITE, " ");
    }
    //return 0;
    }


    bzw. wo stelle ich ein wieoft die Zahl kommt^^?

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • if(strcmp(cmd, "/clear", true) == 0)
    {
    if (PlayerInfo[playerid][admin] >= 1)
    {
    for (new MSG=1; MSG<=51; MSG++) SendClientMessageToAll(0," ");
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(string, sizeof(string), "*** Administrator %s hat den Chat gelöscht ***",sendername);
    SendClientMessageToAll(COLOR_LIGHTBLUE,string);
    printf(string);
    }
    else SendClientMessage(playerid,0, "Du bist kein Admin !");
    return 1;
    }