Dialog 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 leute,
    ich habe ein sehr grosses problem undzwar bei fast allen (oder neuen dialogen) wenn ich z.B /event mache dann kommt ein dialog aber wenn man auf etwas draufdrückt dann passiert nicht ich habs mit sämtlichen filterscripts probiert und die kacken alle ab bei den dialogen.
    und noch ein kleines problem nebenbei :
    wenn ich irgendwas /(hiehinter) schreibe dann kommt kein Server: Unknow command es passiert garnichts
    includes habe ich:

    #include <a_samp>
    #include <zcmd>
    #include <ocmd>
    #include <foreach>
    //ich habe scanf unten mit stock gamacht
    #include <dini>

  • jo habe ich und bei OnPlayerCommandText
    habe ich auch ganz unten return 0;

    also hier mal beispiel zeilen (eines von den filterscripts):

    public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
    {
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_EVENT_START:
    {
    ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_CAR,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","Bitte gib die {00FF00}ModelID {FFFFFF}der Fahrzeuge ein (400-611):","Okay","Abbrechen");
    }
    case DIALOG_EVENT_SELECT_CAR:
    {
    EventInfo[e_cID] = strval(inputtext);
    if(!strval(inputtext)) return ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_CAR,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Du musst eine {00FF00}ModelID {FF0000}eingeben (400-611)!","Okay","Abbrechen");
    if(EventInfo[e_cID] < 400 || EventInfo[e_cID] > 611) ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_CAR,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Die {00FF00}ModelID {FF0000}muss zwischen 400 und 611 liegen!","Okay","Abbrechen");


    format(str,128,"* ModelID: %d",EventInfo[e_cID]);
    Msg(playerid,gruen,str);
    ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_COL,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","Bitte gib eine {00FF00}FarbID {FFFFFF}ein (0-126):","Okay","Abbrechen");
    }
    case DIALOG_EVENT_SELECT_COL:
    {
    EventInfo[e_cCol] = strval(inputtext);
    if(!strval(inputtext)) return ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_COL,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Du musst eine {00FF00}FarbID {FF0000}eingeben (0-126)!","Okay","Abbrechen");
    if(EventInfo[e_cCol] < 0 || EventInfo[e_cCol] > 126) return ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_COL,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Die {00FF00}FarbID {FF0000}muss zwischen 0 und 126 liegen!","Okay","Abbrechen");


    format(str,128,"* FarbID: %d",EventInfo[e_cCol]);
    Msg(playerid,gruen,str);
    ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_MAX,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","Gib bitte die Anzahl der beteiligten {00FF00}Fahrzeuge {FFFFFF}ein (Max. 10):","Okay","Abbrechen");
    }
    case DIALOG_EVENT_SELECT_MAX:
    {
    EventInfo[e_cAnzahl] = strval(inputtext);
    if(!strval(inputtext)) return ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_MAX,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Du musst die Anzahl der beteiligten {00FF00}Fahrzeuge {FF0000}eingeben (Max. 10)!","Okay","Abbrechen");
    if(EventInfo[e_cAnzahl] < 0 || EventInfo[e_cAnzahl] > 15) return ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_MAX,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Die Maximale Anzahl der beteiligten {00FF00}Fahrzeuge {FF0000}beträgt 10!","Okay","Abbrechen");


    format(str,128,"* Anzahl Fahrzeuge: %d",EventInfo[e_cAnzahl]);
    Msg(playerid,gruen,str);
    ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_PRICE,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","Gib bitte den {00FF00}Preis {FFFFFF}ein:","Okay","Abbrechen");
    }
    case DIALOG_EVENT_SELECT_PRICE:
    {
    EventInfo[e_Preis] = strval(inputtext);
    if(!strval(inputtext)) return ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_PRICE,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Gib bitte den {00FF00}Preis {FF0000}ein:","Okay","Abbrechen");


    format(str,128,"* Preis: $%d",EventInfo[e_Preis]);
    Msg(playerid,gruen,str);
    ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_COUNT,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","Gib bitte die Zeit in {00FF00}Sekunden {FFFFFF}ein, wann das Event anfängt:","Okay","Abbrechen");
    }
    case DIALOG_EVENT_SELECT_COUNT:
    {


    EventInfo[e_Count] = strval(inputtext);
    if(!strval(inputtext)) return ShowPlayerDialog(playerid,DIALOG_EVENT_SELECT_COUNT,DIALOG_STYLE_INPUT,"{33CCFF}h-RaceEvent {FFFFFF}by |GSR|Honig","{FF0000}Du musst die Zeit in {00FF00}Sekunden {FF0000}eingeben!","Okay","Abbrechen");


    new Float:Pos[4];
    format(str,128,"* Zeit bis zum Start: %d Sekunden",EventInfo[e_Count]);
    Msg(playerid,gruen,str);
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    GetPlayerFacingAngle(playerid,Pos[3]);
    for(new i=0;i<EventInfo[e_cAnzahl];i++)
    {
    Abstand += 3.0;
    CreateVehicle(EventInfo[e_cID],Pos[0]+Abstand,Pos[1],Pos[2],Pos[3],EventInfo[e_cCol],EventInfo[e_cCol],-1);
    }
    Msg(playerid,gruen,"* Eventfahrzeuge erstellt.");
    Msg(playerid,gruen,"* Nun musst du {FFFF00}15 Race-Checkpoints erstellen. Gehe dazu zur gewünschten Stelle und tippe {00FF00}/check.");
    SetPVarInt(playerid,"CP",1);
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    ePort[0] = Pos[0];
    ePort[1] = Pos[1];
    ePort[2] = Pos[2];
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_EVENT_START .. DIALOG_EVENT_SELECT_COUNT:
    {
    Msg(playerid,rot,"* Event erstellen abgebrochen.");
    ResetEvent();
    }
    }
    }
    return 1;
    }

  • ich benutze eigentlich auch if(dialogid==XYZ)
    aber ich habe mir diese sachen nur heruntergeladen
    egal was mir ab jtzt lade klappt nicht
    die alten sachen klappen aber


    //edit bitte um antworten


    //edit man es klappt nicht;(


    //edit ah ja manniaic zu deiner ersten antwort sage ich dir dass return 0; eigentlich für server unknow command stehen soll und return 1; was das betrift es ist genau das gegenteil

    4 Mal editiert, zuletzt von Nixon ()

  • was meinst du mit case 0 : case 1 ..
    ach ja dieses umschreiben auf if(dialogid == XY) klappt nivht ich habe jetzt auch einmal ein ganz anderen gamemode drinne so ein ganz normaler wenn man auf new klickt


    ach T4125Gamer genau das probem habe ich auch bei deinem filterscript kann es sein dass ich irgendein plugin brauche oder so?


    //edit ich glaub ich habs geschaft aber ich bleibe noch am thema dran
    //edit yeah yeah yeah ich bin über glücklich ich habs geschaft ich musste beim umschreiben nämlich nicht listitem machen sondern NUR response
    kann geclosed werden


    //edit ich habe mit nem anderen dialog nochen problem (wurde von T4125Gamer gescripted)
    hier da code

    if(dialogid == 131)
    {
    if(response)
    {
    if(listitem == 0)
    {
    ShowPlayerDialog(playerid,132,DIALOG_STYLE_INPUT,"Convoy Menü","Wie soll dein Convoy heißen?","Wählen","Abbrechen");
    return 1;
    }
    else if(listitem == 1)
    {
    new string[128];
    new convoy_auslesen1 = dini_Int("/Convoy/%s.txt", "Name");
    format(string,sizeof(string),"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s",convoy_auslesen1,convoy2,convoy3,convoy4,convoy5,convoy6,convoy7,convoy8,convoy9,convoy10);
    ShowPlayerDialog(playerid,DIALOG_CONVOY_JOIN,DIALOG_STYLE_LIST,"Convoy Menü",string,"Wählen","Abbrechen");
    return 1;



    }
    }
    }
    return 1;
    }
    //unt der ocmd command:
    ocmd:convoy(playerid,params[])
    {
    ShowPlayerDialog(playerid,131,DIALOG_STYLE_LIST,"Convoy Menü","1. Einen neuen Convony erstellen\n2. Einem Convoy beitreten","Wählen","Abbrechen");
    return 1;
    }

    3 Mal editiert, zuletzt von Nixon ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen