Das FEnster ist nur da wenn man ENTER gedrückt hält

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
  • Hier der code
    if(dialogid == DIALOG_JOB)
    {
    if(response == 1)
    {
    if(sInfo[playerid][perso] == 0)return SendClientMessage(playerid,COLOR_RED, "Du musst zuerst einen Personalausweiß beantragen");
    switch(listitem)
    {
    case 0: //Busfahrer
    {
    sInfo[playerid][beruf] = 1;
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun Busfahrer!");
    return 1;
    }
    case 1: //Pilot
    {
    sInfo[playerid][beruf] = 2;
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun Pilot!");
    return 1;
    }
    case 2: //waffendealer
    {
    sInfo[playerid][beruf] = 3;
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun Waffendealer!");
    return 1;
    }
    case 3: //Drogendealer
    {
    sInfo[playerid][beruf] = 4;
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun Drogendealer!");
    return 1;
    }
    case 4:
    {
    sInfo[playerid][beruf] = 5;
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun Bergarbeiter!");
    }
    case 5: // Harz4
    {
    sInfo[playerid][beruf] = 6;
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun ein echter Harzer!");
    return 1;
    }
    }
    }
    if(response == 0)
    {
    return 1;
    }
    return 1;
    }
    if(dialogid == DIALOG_STADTHALLE)
    {
    if(response ==1)
    {
    switch(listitem)
    {
    case 0: //1.Möglichkeit (Perso)
    {
    if(sInfo[playerid][perso] == 0)
    {
    new pgeld = GetPlayerMoney(playerid);
    if(pgeld >= 500)
    {
    sInfo[playerid][perso] =1;
    GivePlayerMoney(playerid,-500);
    SendClientMessage(playerid,COLOR_GREEN,"Herzlichen Glückwusch! Du besitzt nun einen Personalausweis.");
    return 1;
    }
    else
    {
    return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld mit. Ein Personalausweis kostet 500$!");
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_GREEN,"Du hast bereits einen Personalausweis");
    }


    }
    case 1: //2. Möglichket (job)
    {
    ShowPlayerDialog(playerid,DIALOG_JOB,DIALOG_STYLE_LIST,"Jobs","Pilot\nBusfahrer\nWaffendealer\nDrogendealer\nBergarbeiter\nHarz4","Wählen","Abbrechen");
    return 1;
    }
    }
    }
    if(response ==0)
    {
    return 1;
    }
    return 1;
    }


    das fenster geht nur wenn ich enter dgedrückt halte


    hier das onplayerkeystate:

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == 16) //Enter
    {
    if(IsPlayerInRangeOfPoint(playerid,2,361.8740,173.5203,1008.3828))
    {
    //Stadthalle Punkt
    ShowPlayerDialog(playerid,DIALOG_STADTHALLE,DIALOG_STYLE_LIST,"Stadthalle","Personalausweiß beantragen\nJob Auswahl","Wählen","Abbrechen");
    }
    }

  • Du musst also die Taste ENTER gedrückt halten, damit der Dialog (die Box) da bleibt? Wenn du loslässt, verschwindet die?

  • Hey,
    das liegt daran, dass du den Dialog beim Klicken der Entertaste erscheinen lässt.
    if(newkeys == 16) //Enter
    Jedoch schließt du mit der Entertaste gleichzeitig im selben Moment den Dialog bzw. wählst etwas im Dialog automatisch aus, so dass du keine Auswahlmöglichkeit hast.
    Das heißt du musst entweder mit einem Timer arbeiten, oder einfach die Taste wechseln.


    Mit freundlichen Grüßen,
    MoD