[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
  • Hallo :3


    Ich habe ein Problem mit Anklickbare Textdraws...
    Undzwar wenn ich ganz nach unten gehe auf der Rechten Seite, dann werden alle Rot! Egal wie tief... Hier nochmal ein Screen:
    http://www.fotos-hochladen.net/uploads/samp0043om8ucd6qv.png
    Auch wenn ich z.b.: Auf Updates gehe , werden alle rot...



    Code:



    Textdraw2 = TextDrawCreate(521.714233, 124.302200, "Registrieren <");
    TextDrawTextSize(Textdraw2, 700.0, 70.0);
    TextDrawLetterSize(Textdraw2, 0.486997, 2.377778);
    TextDrawAlignment(Textdraw2, 1);
    TextDrawColor(Textdraw2, -1);
    TextDrawSetShadow(Textdraw2, 0);
    TextDrawSetOutline(Textdraw2, 1);
    TextDrawBackgroundColor(Textdraw2, 51);
    TextDrawFont(Textdraw2, 1);
    TextDrawSetProportional(Textdraw2, 1);


    Textdraw3 = TextDrawCreate(542.904663, 94.635589, "Einloggen <");
    TextDrawTextSize(Textdraw2, 700.0, 70.0);
    TextDrawLetterSize(Textdraw3, 0.486997, 2.377778);
    TextDrawAlignment(Textdraw3, 1);
    TextDrawColor(Textdraw3, -1);
    TextDrawSetShadow(Textdraw3, 0);
    TextDrawSetOutline(Textdraw3, 1);
    TextDrawBackgroundColor(Textdraw3, 51);
    TextDrawFont(Textdraw3, 1);
    TextDrawSetProportional(Textdraw3, 1);


    Textdraw4 = TextDrawCreate(549.404663, 244.968841, "Update's <");
    TextDrawTextSize(Textdraw2, 700.0, 70.0);
    TextDrawLetterSize(Textdraw4, 0.486997, 2.377778);
    TextDrawAlignment(Textdraw4, 1);
    TextDrawColor(Textdraw4, -1);
    TextDrawSetShadow(Textdraw4, 0);
    TextDrawSetOutline(Textdraw4, 1);
    TextDrawBackgroundColor(Textdraw4, 51);
    TextDrawFont(Textdraw4, 1);
    TextDrawSetProportional(Textdraw4, 1);


    Textdraw5 = TextDrawCreate(535.404663, 221.080108, "Serverinfo <");
    TextDrawTextSize(Textdraw2, 700.0, 70.0);
    TextDrawLetterSize(Textdraw5, 0.486997, 2.377778);
    TextDrawAlignment(Textdraw5, 1);
    TextDrawColor(Textdraw5, -1);
    TextDrawSetShadow(Textdraw5, 0);
    TextDrawSetOutline(Textdraw5, 1);
    TextDrawBackgroundColor(Textdraw5, 51);
    TextDrawFont(Textdraw5, 1);
    TextDrawSetProportional(Textdraw5, 1);


    Und wenn ich auf Einloggen drücke und das Passwort übereinstimmt , passiert nichts.. eigentlich sollte der Spieler sofort spawnen..

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • new site=cache_get_row_int(10,0);
    printf("Sind %i Ergebnise",site);


    new ergebnis=floatround((site/10),floatround_ceil);
    printf("Das Ergebnbis ist %i",ergebnis);


    Code
    [21:12:54] Sind 32 Ergebnise
    [21:12:21] Das Ergebnbis ist 3


    Warum ist das so? ?(

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

  • Danke *-* ... Und wieder ein Problem mit meine Textraws.. Wenn ich z.b. jetzt auf meinen Textdraw "einlogen" drücke , kommt auch der Feld mit Bitte gebe dein Passwort ein..... Ist ja schön und gut , aber wenn das Passwort richtig ist , dann spawn der Spieler einfach nicht , oder sendet eine Nachricht an den Spieler keine Nachricht dass er Regestriert wurde ... hier ist das mit Clickplayer...




    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW) //Sagt das wenn der Player ein falsches TD anklickt nichts passieren soll.
    {
    if(clickedid == Textdraw2)
    {
    if(IsPlayerNPC(playerid))return 1; //Fragt ob der Spieler ein NPC ist
    new Spielerdatei[128];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
    if(dini_Exists(Spielerdatei)) //Es wird abgefragt ob der Spieler bereits regestriert ist
    { //Wenn ja , dann...
    SendClientMessage(playerid, Rot,"[FEHLER] {FFFFFF}Dieser Account ist bereits Regestriert!");
    }
    else
    { //Falls nicht
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"Registrierungs Vorgang","Herzlichen Willkommen auf meinen Testserver!\nBitte gib nun dein Password ein, um auf dem Server Spielen zu können!","Register","Abbrechen");
    }
    }
    else if(clickedid == Textdraw3)
    {
    if(IsPlayerNPC(playerid))return 1; //Fragt ob der Spieler ein NPC ist
    new Spielerdatei[128];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
    if(dini_Exists(Spielerdatei)) //Es wird abgefragt ob der Spieler bereits regestriert ist
    { //Wenn ja , dann...
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Login Vorgang","Herzlichen Willkommen zurück auf meinen Testserver!\nBitte gib nun dein Password ein!","Login","Abbrechen");
    }
    else
    { //Falls nicht
    SendClientMessage(playerid, Rot,"[FEHLER] {FFFFFF}Dieser Account ist nicht Regestriert! Bitte Regestriere dich!");
    }
    }
    }
    return 1;
    }


    Ab hier sollte er doch zu den Dialogs rüber gehen also " public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) "
    Aber geht er nicht, muss ich noch was machen ? oder muss ich das mit "public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])" in den OnPlayerclicktextdraw mit einbauen?

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Poste bitte den Code von OnDialogResponse.


    Bitteschön:



    if(dialogid == DIALOG_LOGIN) //Wenn der Dialog-Login aufgerufen wird
    {
    if(response == 0) //Falls der Spieler auf abbrechen drückt
    {
    return 1;
    }
    if(response == 1) //Falls der Spieler auf Login drückt
    {
    if(!strlen(inputtext)) //Hier wird überprüft ob was eingegben wurde
    {
    SendClientMessage(playerid,-1,"Dein angegebenes Passwort war nicht lang genug!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Herzlichen Willkommen zurück auf Incredible German Reallife!\nBitte gib nun dein Password ein!","Login", "Abbrechen"); //Dialog erneut zeigen
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,-1,"Spieler wird geladen!");
    SpawnPlayer(playerid);
    Login(playerid,MD5_Hash(inputtext));
    return 1;
    }
    }
    if(dialogid == DIALOG_REGISTER) //Falls der DIALOG_REGISTER aufgerufen wird
    {
    if(response == 0) //Falls er auf abrrechen drückt..
    {
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext)) //Überprüft ob was eingegeben wird...
    {
    SendClientMessage(playerid,-1,"Dein eingegebenes Passwort war nicht lang genug!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Herzlichen Willkommen auf Incredible German Reallife!\nBitte gib nun dein Password ein, um auf dem Server Spielen zu können!","Register","Abbrechen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,-1,"Spieler wird geladen!");
    Register(playerid,MD5_Hash(inputtext));
    SpawnPlayer(playerid);
    return 1;
    }
    }
    }

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Das else stand unter der falschen if-Abfrage.


    if(dialogid == DIALOG_LOGIN) //Wenn der Dialog-Login aufgerufen wird
    {
    if(response == 0) //Falls der Spieler auf abbrechen drückt
    {
    return 1;
    }
    if(response == 1) //Falls der Spieler auf Login drückt
    {
    if(!strlen(inputtext)) //Hier wird überprüft ob was eingegben wurde
    {
    SendClientMessage(playerid,-1,"Dein angegebenes Passwort war nicht lang genug!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Herzlichen Willkommen zurück auf Incredible German Reallife!\nBitte gib nun dein Password ein!","Login", "Abbrechen"); //Dialog erneut zeigen
    return 1;
    }
    else
    {
    SendClientMessage(playerid,-1,"Spieler wird geladen!");
    SpawnPlayer(playerid);
    Login(playerid,MD5_Hash(inputtext));
    return 1;
    }
    }
    }
    if(dialogid == DIALOG_REGISTER) //Falls der DIALOG_REGISTER aufgerufen wird
    {
    if(response == 0) //Falls er auf abrrechen drückt..
    {
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext)) //Überprüft ob was eingegeben wird...
    {
    SendClientMessage(playerid,-1,"Dein eingegebenes Passwort war nicht lang genug!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Herzlichen Willkommen auf Incredible German Reallife!\nBitte gib nun dein Password ein, um auf dem Server Spielen zu können!","Register","Abbrechen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,-1,"Spieler wird geladen!");
    Register(playerid,MD5_Hash(inputtext));
    SpawnPlayer(playerid);
    return 1;
    }
    }
    }

  • Danke.. es geht aber jetzt habe ich so ein Bug , wenn ich mich eingeloggt habe , dann werde sofort nach oben "geslapt..."


    Liegt an den Spawnbotten , weil ich den weggemacht .. Aber wenn ich hier " TogglePlayerSpectating(playerid, 1); " auf 0 stelle geht es , aber der Spawnbotten wird angezeigt , und das halt andersum... Bild:


    http://www.fotos-hochladen.net/uploads/samp003ury0ns38o1.png

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

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