Veränderte 3D texte im script speichern

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
  • Also ich habe mit Delete3DTextLabel einen text gelöscht und den dan ausgetauscht und es geht um eine wohnung ich will das dies im script gespeichert wird... und nicht nach restart wieder anders ist...


    if(strcmp(cmdtext, "/einmieten", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,1,13.8878,1210.6125,22.5032))
    {
    if(PlayerInfo[playerid][pWohnung] == 0)
    {
    new name[MAX_PLAYER_NAME+1], string[24+MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "1 Raum Apparment\nBesitzer: %s", name);
    SendClientMessage(playerid,Grau,"Sie haben sich in das Appartmend eingemieted dies Kostet pro PayDay 250$");
    PlayerInfo[playerid][pWohnung] = 1;
    Delete3DTextLabel(woh1);
    Create3DTextLabel(string, Türkis, 13.8878,1210.6125,22.5032, 5.0, 0, 0);
    }
    else
    {
    SendClientMessage(playerid,Grau,"Sie haben bereits eine Wohnung kündigen sie die miete mit /unrent");
    }
    }
    return 1;
    }

  • Erkläre mal ausführlicher, was du willst und was nicht ^^


    So wie ich das verstanden habe, willst du einen Text speichern, dann speicher doch einfach den String und setzt den, wenn die 3DLabels erstellt werden als Text ein ?


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Okay also ich will so einzelne wohnungen machen
    dort ist vor der tür ein pickup und ein text der text soll sich verändern
    bis jetzt habe ich es so:
    //Wohnungen
    new Text3D:woh1;
    CreatePickup(1239, 1, 13.8878,1210.6125,22.5032);
    woh1 = Create3DTextLabel("1 Raum Apparment\n150$ pro PayDay\n/einmieten", Türkis, 13.8878,1210.6125,22.5032, 5.0, 0, 0);
    dann wenn sich jemand einmietet soll der text (woh1) gelöscht werden und durch einen anderen ersetzt werden
    Delete3DTextLabel(woh1);
    Create3DTextLabel(string, Türkis, 13.8878,1210.6125,22.5032, 5.0, 0, 0);
    nun wenn ich aber den Server restarte dan ist wieder der alte text da der was oben ist wie kann ich machen das der ersetzte also das nachdem man den befehl gemacht hat
    der text gespeichert wird und der andere gelöscht wird?

  • Naja...wie man halt einen string speichert so ungefähr:


    new g_text[128]; //globale Variable


    //Dann halt das:
    CreatePickup(1239, 1, 13.8878,1210.6125,22.5032);
    woh1 = Create3DTextLabel("1 Raum Apparment\n150$ pro PayDay\n/einmieten", Türkis, 13.8878,1210.6125,22.5032, 5.0, 0, 0);
    format(g_text,128,"1 Raum Apparment\n150$ pro PayDay\n/einmieten");


    //Speichern
    dini_Set(Spielerdatei,"haustext",g_text);


    //Laden
    new string[128];
    format(string,128,dini_Get(Spielerdatei,"haustext"));
    woh1 = Create3DTextLabel(string, Türkis, 13.8878,1210.6125,22.5032, 5.0, 0, 0);


    Wenn ich das richtig verstanden habe, meintest du sowas :huh:

    ast2ufdyxkb1.png


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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Also ich habe es jetzt so
    //Wohnungen
    new Text3D:woh1;
    new g_text[128];


    CreatePickup(1239, 1, 13.8878,1210.6125,22.5032);
    format(g_text,128,"1 Raum Apparment\n150$ pro PayDay\n/einmieten");
    woh1 = Create3DTextLabel(g_text, Türkis, 13.8878,1210.6125,22.5032, 5.0, 0, 0);


    if(strcmp(cmdtext, "/einmieten", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,1,13.8878,1210.6125,22.5032))
    {
    if(PlayerInfo[playerid][pWohnung] == 0)
    {
    new name[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, name, sizeof(name));
    format(g_text,128, "1 Raum Apparment\nBesitzer: %s", name);
    SendClientMessage(playerid,Grau,"Sie haben sich in das Appartmend eingemieted dies Kostet pro PayDay 250$");
    PlayerInfo[playerid][pWohnung] = 1;
    Update3DTextLabelText(woh1, Türkis, g_text);
    }
    else
    {
    SendClientMessage(playerid,Grau,"Sie haben bereits eine Wohnung kündigen sie die miete mit /unrent");
    }
    }
    return 1;
    }
    if(strcmp(cmdtext, "/unrent", true) == 0)
    {
    if(PlayerInfo[playerid][pWohnung] >= 1)
    {
    format(g_text,128,"1 Raum Apparment\n150$ pro PayDay\n/einmieten");
    SendClientMessage(playerid,Grau,"Sie haben die Miete gekündigt und sind nun obdachlos!");
    PlayerInfo[playerid][pWohnung] = 0;
    Update3DTextLabelText(woh1, Türkis, g_text);
    }
    else
    {
    SendClientMessage(playerid,Grau,"Sie haben keine Wohnung");
    }
    return 1;
    }


    nur wenn ich mich dan einmiete dan ist der text nicht entfernt und nach server restart ist er wieder auf "1 Raum Apparment\n150$ pro PayDay\n/einmieten" ich verstehe das nicht...

  • Schau dir doch mal an, wie das andere gemacht haben und versuche es zu übernehmen...nutze einfach die SuFu ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


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