Mein Dialog wird nicht geöffnet

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
  • Ich selber habe es mir mal angeguckt.


    Er hat keine Errors/Warnings im Script und er hat einen ganz einfachen Befehl.


    Ich mache das mal schnell für ihn(Der Befehls name ist nun egal^^)



    #define Befehlsdialog


    if(!strcmp("/Befehl",cmdtext,true))
    {
    ShowPlayerDialog(playerid,Befehlsdialog,DIALOG_STYLE_INPUT,"Erstelle ein Plakat","Gib nun dein Werbe Text ein. Dieser darf nicht mehr als 20 Stellen haben!","Schreiben","Abbrechen");
    return 1;
    }


    if(dialogid == Befehlsdialog)
    {
    if(response == 0) return SendClientMessage(playerid,Rot,"Du hast es Abgebrochen!");
    if(response == 1)
    {
    SetObjectMaterialText(//Hier ist halt alles drinne, sogar richtig!);
    }
    }


    Sein problem ist halt das der Dialog erst garnicht aufgerufen wird. Ich habe es auch mal getestet und wenn er den Befehl eingibt passiert nichts!


    PS: Beachten, sein Code hat genau den gleichen "Inhalt" Also Fehler frei etc. aber natürlich hat er bei OnDialogResponse noch andere Sachen, aber die schreibe ich nicht. Es muss also am "Aufruf" liegen. Er hat es auch schonmal mit ocmd probiert. Ich selber habe auch kein Fehler gefunden, ein weiterer Scripter auch nicht!



  • hmm :)
    Die Dialoge werden normalerweise auch mit Zahlen definiert...


    #define Befehlsdialog 1


    if(!strcmp("/Befehl",cmdtext,true))
    {
    ShowPlayerDialog(playerid,Befehlsdialog,DIALOG_STYLE_INPUT,"Erstelle ein Plakat","Gib nun dein Werbe Text ein. Dieser darf nicht mehr als 20 Stellen haben!","Schreiben","Abbrechen");
    return 1;
    }


    if(dialogid == Befehlsdialog)
    {
    if(response == 0) return SendClientMessage(playerid,Rot,"Du hast es Abgebrochen!");
    if(response == 1)
    {
    SetObjectMaterialText(//Hier ist halt alles drinne, sogar richtig!);
    }
    }

  • Zitat

    hmm :)


    Die Dialoge werden normalerweise auch mit Zahlen definiert...

    Hahahaha ich habe erst überlegt ob ich eine zahl mache, war dann aber zu faul XD ich hoffe mal das er diese auch hat^^ ich habe nur den befehl und das unter ondialogresponse gesehen^^ Ich habe auch nicht sein script. Kenne ihn nur und will ihn mal ein bisschen helfen XD (Liegt daran das ich zur Zeit Hobbylos bin^^)

  • So ich bin dran


    ocmd:adt(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,5.0,1350.5476,-1306.9464,15.6275)) return SendClientMessage(playerid,COLOR_RED,"Du bist an keiner Webetafel!");
    ShowPlayerDialog(playerid,ADT,DIALOG_STYLE_INPUT,"WerbeTafel","Schreibe was du auf die Tafel schreiben wilst (Max. 20 Zeichen)","Schreiben","Abbrechen");
    return 1;
    }


    das kommische ist wenn ich nicht in RangeOfPoint bin kommt die Nachticht Du bist an keiner Tafel aber wenn cih in Range bin dann passiert Luft!



    Hier Response
    if(dialogid==ADT)
    {
    if(response == 0) return SendClientMessage(playerid,0xFFFF8200,"Der Text darf maximal 20 Zeichen lang sein!");
    if(response == 1)
    {
    if(strlen(inputtext) > 20)return ShowPlayerDialog(playerid,ADT,DIALOG_STYLE_INPUT,"WerbeTafel","Schreibe was du auf die Tafel schreiben wilst (Max. 20 Zeichen)","Schreiben","Abbrechen");
    SetObjectMaterialText(Schild,inputtext, 0, OBJECT_MATERIAL_SIZE_256x128,\"Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
    return 1;
    }
    }


    #define


    #define ADT 222222222222222222


  • 222222222222222222 ? watisdis


    Die Textdraw id ist zu groß denke ich mal... versuch mal mit einer kleineren zahl

  • Oke geht aber ich hab mal Test geschreiben aber es wurde nciht an das Object eine Textur gesetzt btw der Text


    wie mach ich das jetzt auf das ding das kommt



    if(dialogid==ADT)
    {
    if(response == 0) return SendClientMessage(playerid,0xFFFF8200,"Der Text darf maximal 20 Zeichen lang sein!");
    if(response == 1)
    {
    if(strlen(inputtext) > 20)return ShowPlayerDialog(playerid,ADT,DIALOG_STYLE_INPUT,"WerbeTafel","Schreibe was du auf die Tafel schreiben wilst (Max. 20 Zeichen)","Schreiben","Abbrechen");
    SetObjectMaterialText(Schild,inputtext, 0, OBJECT_MATERIAL_SIZE_256x128,\"Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
    return 1;
    }
    }


    eig sollte doch was kommen hier testserver
    5.9.176.8:7778

  • hahaha darf ich mal das Objekt von oben dazu haben? :D also Schild = CreateObjekt....


    Aber es kann auch daran liegen das es ein paar meter weiter weg ist! Ist bei mir mal so gewesen, flieg mal mit ein heli rum... dann müsstest du es irgendwann sehen^^ auch von den axen RUMfliegen ...

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