>> Maskensystem mit Deckname <<

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 Maskensystem mit Deckname erstellt und nur Leider Buggt es manchmal
    Undzwar Buggt es wenn man Stirbt, dann verschwindet der Deckname und wenn man die Maske irgendwie zulange auf hat.
    Der Deckname verschwindet dann immer.


    Am Ende ist ein Screen zu sehen die nochnie ein Maskensystem mit Deckname gesehen haben.
    Also wie gesagt verschwindet der Name immer.



    OnPlayerUpdate
    if(Maske[playerid] == 1)
    {
    new string[128], Float:health, Float:armour, mname[MAX_PLAYER_NAME];
    GetPlayerHealth(playerid, health);
    GetPlayerArmour(playerid, armour);
    new rhealth = floatround(health, floatround_round);
    new rarmour = floatround(armour, floatround_round);
    GetPVarString(playerid, "maskname", mname, MAX_PLAYER_NAME);
    format(string, 128, "{FFFFFF}%s\n{FF0000}L: %i R: %i", mname, rhealth, rarmour);
    Update3DTextLabelText(maskenlabel[playerid], 0xFFFFFFFF, string);
    }



    OnPlayerDeath


    if(Maske[playerid] == 1)
    {
    for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0);
    SetPlayerAttachedObject(playerid,1, 19036, 2, 0.107, 0.035, 0.0, 90, 90, 0);//Objekt erscheint
    }


    Dialog
    if(dialogid == DIALOG_TNAME)
    {
    if(response)
    {
    if(strlen(inputtext) < 3)
    {
    return SendClientMessage(playerid,grau, "Ungültiger Name");
    }
    new string[128], Float:health, Float:armour;
    GetPlayerHealth(playerid, health);
    GetPlayerArmour(playerid, armour);
    new rhealth = floatround(health, floatround_round);
    new rarmour = floatround(armour, floatround_round);
    format(string, 128, "{FFFFFF}%s\n{FF0000}L: %i R: %i", inputtext, rhealth, rarmour);
    maskenlabel[playerid] = Create3DTextLabel(string, 0xFFFFFFFF, 0.0, 0.0, 0.0, 35.0, 0, 1);
    Attach3DTextLabelToPlayer(maskenlabel[playerid], playerid, 0.0, 0.0, 0.6);
    Maske[playerid] = 1;
    SetPlayerAttachedObject(playerid,2,19036,2,0.073, 0.029, 0, 88, 75, 0);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(i,playerid,false);
    }
    }
    }


    Und hier noch der Befehl
    ocmd:maske(playerid,params[])
    {
    if(IsPlayerInFrak(playerid,6))
    {
    if(Maske[playerid]==1)
    {
    SendClientMessage(playerid,grün,"Du hast dir deine Maske abgesetzt...");
    Delete3DTextLabel(maskenlabel[playerid]);
    Maske[playerid] = 0;
    RemovePlayerAttachedObject(playerid, 1);
    RemovePlayerAttachedObject(playerid, 2);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(i,playerid,true);
    }
    }
    else if(Maske[playerid]==0)
    {
    SendClientMessage(playerid,grün,"Du hast dir eine Maske aufgesetzt.");
    ShowPlayerDialog(playerid,DIALOG_TNAME,DIALOG_STYLE_INPUT,"<<Deckname>>","Bitte gib hier einen Deckname ein\nAlles du hier eingibst steht über dir als Name\nBitte Wählen:","Ja","Nein");
    }
    }
    else
    {
    SendClientMessage(playerid,weiss,"Du darfst diesen Befehl nicht nutzen");
    }
    }

  • Aber dazu hab ich mich inzwischen genug geäußert. (Kleiner Tipp, nur weil der Befehl zum Geld geben /pay heißt ist es kein GF )


    Es ist aber eins :pinch:


    @Topic:


    Hast du evtl Timer o.ä. drinnen wo dann Funktionen aufgerufen werden, die dem Spieler ihre alten Namen wiedergeben oder so...? ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • public OnPlayerStreamIn(playerid, forplayerid)
    {
    if(Maske[playerid]==1)
    {
    ShowPlayerNameTagForPlayer(i,playerid,false);
    }
    return 1;
    }


    Bischen genauer weil ich nicht unnötig hier etwas gepostet haben will ^^
    so in etwa, habe mich eben vertan ^^

  • Also an alle nochmal, die es nochnicht Wissen,
    Ich kenne den MrMonat Server und habe nichts rauskopiert nur nachgescriptet, ausserdem ist bei MrMonat nichts von einen Dialog zu sehen
    wenn man die Maske aufsetzt. Bei MrMOnat ist es /setdeckname und dann /maske, Bei mir nur /maske Dann Dialog,
    hat also nichts damit zu tuhen, das ist auch das einzige, ausserdem habe ich mit den Script kein Server vor, nur ein fertiges Selfmade script,
    in das ich zocken kann wenn MrM Revival down ist über Homeserver, aber ich werde nie was grosses draus machen.
    Deswegen und wenn man es nachscriptet und nicht abkopiert, dann ist es ja ok.


    Weiterer Hinweis.
    Ich benutze %i und MrMonat %f


    So nun Spammt nicht weiter rum und helft.

  • Das Maskensystem ist zwar das selber, aber nachgescriptet. Es ist aber nicht das MrM Script es ist meins.


    Tropic:


    Ihr habt mich alle Falsch verstanden.
    Der richtige Ingame Name soll ja verschwinden,
    Das tut er auch, aber wenn man stirbt verschwindet der Deckname mit.


    Da wo nun auf den Foto zu sehen ist "Patrick" oder "Spongebob", der Name verschwindet immer bei Tod sein oder nach ner Zeit, und das soll er nicht. Der Name soll bleiben.


    Noch ein Beispiel
    Auf den Screen steht Spongebob (H:100 | A:0) richtig ???
    Nach ner Zeit, steht da der Name aber nicht, dann steht da nurnoch.
    (H:100 | A:0)
    Verstanden :)