[Hilfe/Frage] Skin 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
  • Huhu,

    ich habe zureit ein kleines Problem und zwar wollte ich in mein Script eine Skinauswahl einbaun wo auch der Skin mit Dini gespeichert werden soll. Ich dachte eig. es wäre recht einfach aber es klappt jetzt doch nicht so wie ich es mir vorgestellt habe. Daher hoffe ich das mir hier jemannd helfen kann.


    Zum Speichern & Laden benutz ich das:



    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));



    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));


    Doch jetzt zu meinem Problem und zwar wie benutz ich das im Script bzw. wie sage ich dem Script das er jetzt den Skin in der Dini Datei ändern soll?
    Zurzeit sieht das bei mir so aus:


    if(dialogid == DIALOG_SKINTERROR)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(listitem == 0)
    {
    SetPlayerSkin(playerid,220);
    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    if(listitem == 1)
    {
    SetPlayerSkin(playerid,221);
    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    if(listitem == 2)
    {
    SetPlayerSkin(playerid,222);
    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    }


    Er ändert es zwar für den moment aber es wird nicht gespeichert.
    Was muss ich tuhn damit er es direkt speichert?


    SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));


    So etwas aber wo soll ich dort die Skinid reinpacken?


    hoffe mir kann jemannd helfen. - MfG Brand

  • Bei den ganzen teilen mit SetPlayerSkin ( Bei den Terror's) einfügen : SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));


    if(dialogid == DIALOG_SKINTERROR)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(listitem == 0)
    {
    SetPlayerSkin(playerid,220);
    SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));


    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    if(listitem == 1)
    {
    SetPlayerSkin(playerid,221);
    SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));


    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    if(listitem == 2)
    {
    SetPlayerSkin(playerid,222);
    SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));


    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    }



  • schwachsinn ... trotzdem bekommt er ihn nicht nacheinem relogg ...


    einfach bei der auswahl!


    if(dialogid == DIALOG_SKINTERROR)
    {


    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(listitem == 0)
    {
    SetPlayerSkin(playerid,220);
    SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Skin", GetPVarInt(playerid,"Skin"));
    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    if(listitem == 1)
    {
    SetPlayerSkin(playerid,221);
    SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Skin", GetPVarInt(playerid,"Skin"));
    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    if(listitem == 2)
    {
    SetPlayerSkin(playerid,222);
    SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Skin", GetPVarInt(playerid,"Skin"));
    SendClientMessage(playerid,GRÜN,"Du hast deinen Skin geändert!");
    }
    }


    so dürfte es gehen...


    MFG

  • nein ... du hast es in die Pvariable
    speichern lassen das er den skin geändert hat ... is ja auch alles gut währe auch gegangen ... weil er es beim ausloggen speichert
    aber er sagte oben doch das er es direkt gespeichert haben will ... also


    dini_IntSet(Spielerdatei,"Skin", GetPVarInt(playerid,"Skin"));