Beiträge von Alca_White


    Bei mir ist eh so, dass wenn ich zum Beispiel einen Fehler in Zeile 20 habe und einen in Zeile 1329 dann kommt die Beschreibung des Fehlers von Zeile 20 aber dahinter steht dann: Zeile 1329 und umgekehrt. Ich hoffe ihr versteht was ich meine.

    Hey,


    ich bin grade dabei, einen Anti-MoneyCheat zu scripten. Soweit ich weiß, mach man das ja mit einer Variable die das Geld vom Spieler beinhält, und dann das Geld immerwieder mit der lokalen Geldvariable der Spielers synchronisiert wird. Bei einem Kauf oder Verkauf wird dann das Geld von der Servervariable abgezogen. Nun wollte ich wissen, wie das bei NPC's (im BSN etc.) ist. Wenn die einem etwas verkaufen, wird das ja von der lokalen Variable abgezogen. Dies würde das AntiCheat dann als Hackversuch erkennen und bannen. Kann ich irgendwie steuern, was mit den NPC's passiert. Also wo das Geld abgezogen wird? Oder müsste ich das durch nen Dialog ersetzen?

    Danke. Funktioniert.
    Ich versuche jetzt die Eingaben via DIALOG_STYLE_INPUT in einem Textdraw wieder auszugeben. Beim Benutzernamen funktioniert das super. Nur das Problem ist, dass wenn ich beim Passwort eine eingabe mache, das Username Textdraw geändert wird. Obwohl ich definitiv das richtige Textdraw anspreche. Ich verstehe nicht wieso. Es werden auch die richtigen Werte ausgelesen. Mit dem SendClientMessage befehl erhalte ich auch die richtige eingabe. Sie wird nur immer wieder hinter Benutzername: angezeigt.
    if(dialogid==DIALOG_LOGIN_BENUTZERNAME)
    {
    if(response)
    {
    TextDrawSetString(Textdraw8[playerid],inputtext);
    TextDrawShowForPlayer(playerid,Textdraw8[playerid]);
    SendClientMessage(playerid,COLOR_BLUE,inputtext);
    }
    }

    if(dialogid==DIALOG_LOGIN_PASSWORT)
    {
    if(response)
    {
    TextDrawSetString(Textdraw9[playerid],inputtext);
    TextDrawShowForPlayer(playerid,Textdraw9[playerid]);
    SendClientMessage(playerid,COLOR_BLUE,inputtext);
    }
    }


    Textdraw8[i] = TextDrawCreate(250.904785, 217.173339, " ");
    TextDrawLetterSize(Textdraw8[i], 0.449999, 1.600000);
    TextDrawTextSize(Textdraw8[i],350.0,10.0);
    TextDrawAlignment(Textdraw8[i], 1);
    TextDrawColor(Textdraw8[i], -1);
    TextDrawSetShadow(Textdraw8[i], 0);
    TextDrawSetOutline(Textdraw8[i], 1);
    TextDrawBackgroundColor(Textdraw8[i], 51);
    TextDrawFont(Textdraw8[i], 1);
    TextDrawSetProportional(Textdraw8[i], 1);
    TextDrawSetSelectable(Textdraw8[i], 1);


    Textdraw9[i] = TextDrawCreate(250.904785, 237.653335, " ");
    TextDrawLetterSize(Textdraw9[i], 0.449999, 1.600000);
    TextDrawAlignment(Textdraw9[i], 1);
    TextDrawColor(Textdraw9[i], -1);
    TextDrawTextSize(Textdraw9[i],350.0,10.0);
    TextDrawSetShadow(Textdraw9[i], 0);
    TextDrawSetOutline(Textdraw9[i], 1);
    TextDrawBackgroundColor(Textdraw9[i], 51);
    TextDrawFont(Textdraw9[i], 1);
    TextDrawSetProportional(Textdraw9[i], 1);
    TextDrawSetSelectable(Textdraw9[i], 1);


    EDIT:
    Hatte versehentlich beiden Dialogen die gleiche ID zugewiesen. Hat sich erledigt.

    Hi.
    Danke für die Hilfe. Ich habe es jetzt hinbekommen, indem ich das Callback einfach erstellt habe. Aber (siehe Bild) wenn ich auf login klicke, kommt trotzdem der Passwort Dialog. Egal wo ich hinklicke, alles unterhalb des Passwort Schriftzuges ruft noch den Passwort dialog auf.


    Der Code sieht so aus:
    Textdraw7[i] = TextDrawCreate(129.619110, 267.960006, "LOGIN");
    TextDrawLetterSize(Textdraw7[i], 0.449999, 1.600000);
    TextDrawAlignment(Textdraw7[i], 1);
    TextDrawColor(Textdraw7[i], -1);
    TextDrawSetShadow(Textdraw7[i], 0);
    TextDrawSetOutline(Textdraw7[i], 1);
    TextDrawBackgroundColor(Textdraw7[i], 51);
    TextDrawFont(Textdraw7[i], 1);
    TextDrawSetProportional(Textdraw7[i], 1);
    TextDrawSetSelectable(Textdraw7[i],1);


    Textdraw2[i] = TextDrawCreate(129.904785, 217.173339, "Benutzername:");
    TextDrawLetterSize(Textdraw2[i], 0.449999, 1.600000);
    TextDrawAlignment(Textdraw2[i], 1);
    TextDrawColor(Textdraw2[i], -1);
    TextDrawSetShadow(Textdraw2[i], 0);
    TextDrawSetOutline(Textdraw2[i], 1);
    TextDrawBackgroundColor(Textdraw2[i], 51);
    TextDrawFont(Textdraw2[i], 1);
    TextDrawSetProportional(Textdraw2[i], 1);
    TextDrawSetSelectable(Textdraw2[i], 1);


    Textdraw3[i] = TextDrawCreate(129.904785, 237.653335, "Passwort:");
    TextDrawLetterSize(Textdraw3[i], 0.449999, 1.600000);
    TextDrawAlignment(Textdraw3[i], 1);
    TextDrawColor(Textdraw3[i], -1);
    TextDrawSetShadow(Textdraw3[i], 0);
    TextDrawSetOutline(Textdraw3[i], 1);
    TextDrawBackgroundColor(Textdraw3[i], 51);
    TextDrawFont(Textdraw3[i], 1);
    TextDrawSetProportional(Textdraw3[i], 1);
    TextDrawSetSelectable(Textdraw3[i], 1);
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid == Textdraw2[playerid])
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN_BENUTZERNAME, DIALOG_STYLE_INPUT, "Login", "Bitte gib deinen Benutzernamen ein:", "Bestätigen", "Abbrechen");
    }
    if(clickedid == Textdraw3[playerid])
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN_BENUTZERNAME, DIALOG_STYLE_PASSWORD, "Login", "Bitte gib dein Passwort ein:", "Bestätigen", "Abbrechen");
    }
    if(clickedid == Textdraw7[playerid])
    {
    SendClientMessage(playerid,COLOR_RED,"cool");
    }
    return 1;
    }

    Danke. Funktioniert super.


    Wenn ich jetzt einen Dialog öffnen möchte, sobald ich auf das TextDraw klicke benutze ich dafür ja eigentlich:
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    return 1;
    }


    Aber dies ist bei mir im Code nicht vorhanden... Also es gibt weder OnPlayerClickTextdraw noch OnPlayerClickPlayerTextdraw. Wieso?

    Das Plugin gibt nichts aus. Bei OnPlayerDeath habe ich nur das Standardmäßige return 0;
    Sonst nichts. Aus dem GF habe ich auch nichts. Ist alles 100% selfmade. Ich weiß nicht woran es sonst liegen soll. Ich habe diese Flasche und die Zigarette auch sonst nirgendwo definiert oder gespawnt.

    Hi.


    Danke für deine Hilfe. Es funktioniert jetzt alles soweit. Nur nachdem ich jetzt F4 drücke und mich dann kille kommt diese Flasche über dem Boden an einer Position in der Nähe meines Todespunktes?! Was kann ich dagegen tun?

    Hi,


    ich habe heute etwas an meinem ersten selfmade
    weitergearbeitet. Und mir ist aufgefallen, dass man mit F4 noch in die
    Klassenwahl kommt. Das habe ich dann mit:
    public OnPlayerRequestClass(playerid, classid)
    {
    SetSpawnInfo(playerid, 0, 0, 1772.3368,-1894.9919,13.5531,268.8154, 0, 0, 0, 0, 0, 0);
    TogglePlayerSpectating(playerid, 0);
    SpawnPlayer(playerid);
    return 1;
    }
    behoben.
    Das
    Problem ist jetzt nur, dass ich wenn ich F4 drücke und dann sterbe geht
    noch alles normal. Nachdem ich dann aber nochmal sterbe, werde ich die
    ganze Zeit gefreezed und höre dauerhaft das Todesgeräusch. Ich schwbe
    dann ein kleine Stück über dem Boden und werde ganze oft getötet und
    wieder neu gespawnt. Wie kann ich das am besten beheben?
    Falls ich
    in einem Auto sterbe, explodiert das Auto ganz oft hintereinander. Ich
    komme erst wieder daraus wenn ich wieder F4 drücke.
    Dieses Problem tritt aber erst auf wenn ich F4 drücke und dann 2x sterbe. Ich weiß echt nichtmehr weiter...


    Danke schonmal im Vorraus.