Textdraw anklickbar machen

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
  • Guten Abend Community,


    Ich habe das Register & Login System vom Mr Monat und bin sehr zufrieden damit. Nur ich möchte das ganze nicht mehr über die langweiligen Dialoge anzeigen sondern über ein Textdraw.
    Die Textdraws habe ich schon alle mit dem Textdraw Editor angefertigt und die Codes zum erstellen der Textdraws habe ich auch.


    Es sind 3 Textdraws für das Register & Login System (Titel Screen, Register, Login).


    Hier ein Bild zum Titel Screen:
    Titel Screen - Textdraw


    Jetzt möchte ich, dass man in diesem Textdraw 3 Sachen anklicken kann (Registriere dich, Logge dich ein, Und den grauen Kasten unter Information).


    Wenn man auf "Registriere dich" klickt, dann soll das Register Textdraw angezeigt werden / Wenn man auf "Logge dich ein" klickt soll das Login Textdraw angezeigt werden...


    Register - Textdraw / Login - Textdraw


    Sobald eine Seite angeklickt wird, möchte ich dass das jeweilige Textdraw erscheint. In den Textdraws soll man auf die Balken klicken können und dann soll sich ein Dialog öffnen (DIALOG_STYLE_INPUT / DIALOG_STYLE_PASSWORD)... Sobald man in dem Dialog etwas eingetragen hat, soll dies auch in dem Balken angezeigt werden...


    Wie funktioniert das ganze ? Ich habe noch nie zuvor mit Textdraws gearbeitet und kenne mich deshalb nicht wirklich aus. Bitte eine Anfänger freundliche Erklärung wenn möglich.


  • Vielen Dank, aber ich habe ein komisches Problem. In dem Tutorial wird gezeigt, dass unter
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    gearbeitet wird. Ich finde dieses Public nicht in meinem Script. Was soll ich jetzt machen ?

  • Das Public braucht man nicht forwarden.



    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) //<-- PS, das ist der richtige Callback
    {
    return 1;
    }


    einfach so ins Script schreiben.


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid==Titlescreen8)
    {
    SendClientMessage(playerid,Hell_Grün,"Erfolgreich ausgewählt");
    }
    else if(clickedid==Titlescreen9)
    {
    SendClientMessage(playerid,Hell_Grün,"Erfolgreich ausgewählt");
    }
    TextDrawHideForPlayer(playerid,Titlescreen0);
    TextDrawHideForPlayer(playerid,Titlescreen1);
    TextDrawHideForPlayer(playerid,Titlescreen2);
    TextDrawHideForPlayer(playerid,Titlescreen3);
    TextDrawHideForPlayer(playerid,Titlescreen4);
    TextDrawHideForPlayer(playerid,Titlescreen5);
    TextDrawHideForPlayer(playerid,Titlescreen6);
    TextDrawHideForPlayer(playerid,Titlescreen7);
    TextDrawHideForPlayer(playerid,Titlescreen8);
    TextDrawHideForPlayer(playerid,Titlescreen9);
    TextDrawHideForPlayer(playerid,Titlescreen10);
    TextDrawHideForPlayer(playerid,Titlescreen11);
    TextDrawHideForPlayer(playerid,Titlescreen12);
    TextDrawHideForPlayer(playerid,Titlescreen13);
    TextDrawHideForPlayer(playerid,Titlescreen14);
    TextDrawHideForPlayer(playerid,Titlescreen15);
    TextDrawHideForPlayer(playerid,Titlescreen16);
    TextDrawHideForPlayer(playerid,Titlescreen17);
    TextDrawHideForPlayer(playerid,Titlescreen18);
    TextDrawHideForPlayer(playerid,Titlescreen19);
    TextDrawHideForPlayer(playerid,Titlescreen20);
    TextDrawHideForPlayer(playerid,Titlescreen21);
    TextDrawHideForPlayer(playerid,Titlescreen22);
    TextDrawHideForPlayer(playerid,Titlescreen23);
    CancelSelectTextDraw(playerid);
    }
    return 1;
    }


    Ich habe es jetzt so gemacht wie in dem Tutorial. Nur ich bekomme Errors...
    C:\Users\Matthias\Desktop\HS-Reallife (Samp)\gamemodes\Future-Dream.pwn(520) : error 017: undefined symbol "clickedid"
    C:\Users\Matthias\Desktop\HS-Reallife (Samp)\gamemodes\Future-Dream.pwn(522) : error 017: undefined symbol "clickedid"
    C:\Users\Matthias\Desktop\HS-Reallife (Samp)\gamemodes\Future-Dream.pwn(526) : error 017: undefined symbol "clickedid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    3 Errors.


    Was habe ich falsch gemacht ?


    PS: Tut mir wirklich Leid wenn ich mich gerade Dumm anstelle aber ich versteh das alles noch nicht so.

  • Ja wo ich es so gemacht habe wie in dem Tutorial da habe ich keine Errors bekommen. Leider konnte ich das Textdraw nicht anklicken.. Jetzt wo ich ein anderes Callback eingebaut habe, zeigt es mir an das das nicht existiert.. Wie muss ich das umschreiben oder so ?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du hast Textdraws verwendet und schreibst das ganze unter OnPlayerClickPlayerTextDraw,


    du sollst es unter dem OnPlayerClickTextDraw Public schreiben,
    jedoch empfehle ich dir die TextDraws als Playertextdraws zu erstellen.


    ~ handy

  • einfach die Zeile mit deiner austauschen

    PHP
    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:clickedid)

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Ich verstehe leider nicht, was ich falsch mache. Ich habe jetzt die Anweisungen vom Wiki auch 1 zu 1 befolgt und alles so gemacht wie es dort beschrieben / gezeigt wurde. Könnt ihr mir bitte hierbei nochmal helfen ?
    Ich werde euch mein Script als Download zur Verfügung stellen. Bitte versucht mein Problem zu lösen und schickt es mir dann zurück (Auf diesem Script befinden sich keine Systeme. Nur 1 Textdraw). Bitte mit so vielen Erklärungen wie nötig, dass ich auch verstehe was ich falsch gemacht habe.


    Natürlich ist auch Hilfe via Teamviewer 9 erwünscht, da ich dann natürlich dabei zuschauen kann und somit auch ein besseres Verständnis für alles bekomme.


    PS: Download Link für das Script nur auf Anfrage (Einfach unter dem Beitrag antworten "Ich möchte mir das Script anschauen" oder so, dann werde ich euch privat kontaktieren und euch den Download Link schicken.