Duty Arbeit Skin OffDUuty nicht den Skin den mal vohr Duty gehen hatte

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
  • hey ich hab ein Kleines Problem ich will das ja so machen das man wen man Duty geht Nen Arbeit SKin bekommt und wen man off duty geht das man den Skin hat den man vohr OnDuty hatte
    ich hab aba jetzt das Problem wen ich Off duty geh das ich nicht den Skin habe den ich Vorher hatte also bevor ich OnDUty war



    if(pickupid == medicduty)
    {
    if(GetPVarInt(playerid,"Duty")==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,7,-2594.6692,642.1972,14.4531))
    {
    if(fraktion(playerid,2))
    {
    new Float:x, Float:y, Float:z;
    new string[128];
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);//accs
    SendClientMessage(playerid,BLAU,"Du bist nun Duty!");
    SetPlayerColor(playerid, ROT);
    if(fraktion(playerid,2))
    {
    if(IsPlayerInRangeOfPoint(playerid,7,-2594.6692,642.1972,14.4531))
    format(string,sizeof(string),"<<---Medic SA. Einheit %s ist nun duty--->>",SpielerName(playerid));
    SendClientMessage(playerid,0x0005FFFF,string);
    SetPlayerSkin(playerid,274);

    SetPVarInt(playerid,"Arbeit",274);
    GetPlayerPos(playerid,x,y,z);
    SetPVarInt(playerid,"Duty",1);
    SpielerSpeichern(playerid);


    }
    return 1;
    }
    else SendClientMessage(playerid,ROT,"Du Arbeitest Nicht Hier.");
    }
    }
    else if(GetPVarInt(playerid,"Duty")==1)
    {
    {
    if(fraktion(playerid,2))
    {
    new string[128];
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);//accs
    SendClientMessage(playerid,BLAU,"Du bist nun nicht mehr Duty!");
    SetPlayerColor(playerid,0xF0F0F0FF);
    ResetPlayerWeapons(playerid);
    SetPlayerArmour(playerid,0);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));//Skin
    SpielerSpeichern(playerid);
    if(fraktion(playerid,2))
    {
    if(IsPlayerInRangeOfPoint(playerid,7,-2594.6692,642.1972,14.4531))
    format(string,sizeof(string),"<<---Medic SA %s ist nun nicht mehr duty--->>",SpielerName(playerid));
    SendClientMessage(playerid,0xFF9600FF,string);
    SetPVarInt(playerid,"Duty",0);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));//Skin
    SpielerSpeichern(playerid);
    }
    return 1;
    }
    else SendClientMessage(playerid,ROT,"Du Arbeitest Nicht Hier.");
    }
    }


    Könnte mir wer sagen wo der Fehler ist ?
    lg kifkat

  • Speicher den Skin doch irgendwo zwischen und beim Offduty gehn, gibst du ihm den dann wieder

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ja das hab ich ja versucht aba ihren wie ist da ein Fehler und misslingt
    ich weis aba nicht wo der Fehler ist
    //edit
    Hier SpielerSpeichern
    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,"PayDay",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    //dini_IntSet(Spielerdatei,"Hp",GetPlayerHealth(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
    dini_IntSet(Spielerdatei,"Motorradschein",GetPVarInt(playerid,"Motorradschein"));
    dini_IntSet(Spielerdatei,"Waffenschein",GetPVarInt(playerid,"Waffenschein"));
    dini_IntSet(Spielerdatei,"Freezed",GetPVarInt(playerid,"Freezed"));
    dini_IntSet(Spielerdatei,"Wanted",GetPVarInt(playerid,"Wanted"));
    dini_IntSet(Spielerdatei,"Duty",GetPVarInt(playerid,"Duty"));
    dini_IntSet(Spielerdatei,"Alter",GetPVarInt(playerid,"Alter"));
    dini_IntSet(Spielerdatei,"Supporter",GetPVarInt(playerid,"Supporter"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Arbeit",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Bank",pInfo[playerid][Bank]);
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    }
    da Speicher isch ja den Privat Skin ab

  • Speichert es denn andere Werte wenn du SpielerSpeichern machst?
    ZB beim ausloggen, funktioniert es dann? Wenn ja, erstell einfach eine lokale Variable bei dem Befehl bevor du den Skin änderst.
    Dann kanst du diese Variable als skinid beim wieder einnehmen des normalen Skins verwenden.

    Nur wenn man das Unmögliche versucht kann man das absolut Mögliche erreichen
    Hermann Hesse


    „Was manche Menschen sich selber vormachen, das macht ihnen so schnell keiner nach.”
    Gerhard Uhlenbruck

  • wen ich mir den SKin kaufe Speichert er ihn,wen ich DUty geh Bleibt der SKin auch noch in der Datei,wen ich OffDUty geh Steht auf einmal eine 0 Dirne


    Noch nicht im Icon Gelaufen

    Passwort=XXXXXXX
    Level=6
    Geld=146431
    Adminlevel=1992
    Fraktion=2
    Baned=0
    Bank=2000
    Autoschein=0
    Motorradschein=0
    Skin=21
    Waffenschein=1
    Freezed=0
    Wanted=0
    Supporter=1889
    PayDay=6
    Duty=0
    Arbeit=0
    Alter=0
    Geschlecht=0

    Duty Gehen

    Passwort=XXXXXXX
    Level=6
    Geld=146431
    Adminlevel=1992
    Fraktion=2
    Baned=0
    Bank=2000
    Autoschein=0
    Motorradschein=0
    Skin=21
    Waffenschein=1
    Freezed=0
    Wanted=0
    Supporter=1889
    PayDay=6
    Duty=1
    Arbeit=0
    Alter=0
    Geschlecht=0
    OffDuty gehen

    Passwort=XXXXXXX
    Level=6
    Geld=146431
    Adminlevel=1992
    Fraktion=2
    Baned=0
    Bank=2000
    Autoschein=0
    Motorradschein=0
    Skin=0
    Waffenschein=1
    Freezed=0
    Wanted=0
    Supporter=1889
    PayDay=6
    Duty=0
    Arbeit=0
    Alter=0
    Geschlecht=0


    den kann es doch jetzt Eigentlich nur ihren wo im Ersten Post Genanten Skripte liegen oda ?


    kann mir da wer helfen bitte


    //edit


    kann mir bitte wer Hefen es wer für mich schon wichtig

    6 Mal editiert, zuletzt von Kevin B. ()

  • Du speicherst den alten Skin ja auch nirgendswo.
    Speicher ihn mit PVar irgendwo zwischen. Und lasse ihn per GetPVarInt wieder aufrufen.
    Setze vorsichtshalber ne Abfrage falls sich der Spieler ausloggt damit er den standart Skin bekommt und nicht den Arbeitsskin.


    LG RFT

    RFT

  • ich speicher den SKin doch ?

    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,"PayDay",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    //dini_IntSet(Spielerdatei,"Hp",GetPlayerHealth(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
    dini_IntSet(Spielerdatei,"Motorradschein",GetPVarInt(playerid,"Motorradschein"));
    dini_IntSet(Spielerdatei,"Waffenschein",GetPVarInt(playerid,"Waffenschein"));
    dini_IntSet(Spielerdatei,"Freezed",GetPVarInt(playerid,"Freezed"));
    dini_IntSet(Spielerdatei,"Wanted",GetPVarInt(playerid,"Wanted"));
    dini_IntSet(Spielerdatei,"Duty",GetPVarInt(playerid,"Duty"));
    dini_IntSet(Spielerdatei,"Alter",GetPVarInt(playerid,"Alter"));
    dini_IntSet(Spielerdatei,"Supporter",GetPVarInt(playerid,"Supporter"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));//skin
    dini_IntSet(Spielerdatei,"Arbeit",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Bank",pInfo[playerid][Bank]);
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    }
    return 1;
    }


    oda wie meinst du das ?

  • Beim zuweisen des Skin´s spinnt SA-MP eh gerne mal rum.
    Daher würde ich den Skin beim spawnen zuweisen lassen.
    Mit dem zwischen Speicher meinte ich in einer Variable falls der Spieler offline geht.


    LG RFT

    RFT

  • er Spawnt ja mit den skin den ich mir ausgesucht habe
    er hat halt nur den 0 skin wen ich offduty gehen will den speichert es es auch so ab mit den null skin


    //edit 3


    Hier hab mal nen Video gemacht
    [video]

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/video]
    und noch mal den passenden Code für PD
    if(pickupid == pdduty)
    {
    if(GetPVarInt(playerid,"Duty")==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,7,234.4888,111.6889,1003.2257))
    {
    if(fraktion(playerid,1))
    {
    new Float:x, Float:y, Float:z;
    new string[128];
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);//accs
    SendClientMessage(playerid,BLAU,"Du bist nun Duty!");
    SetPlayerColor(playerid, BLAU);
    if(fraktion(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,7,234.4888,111.6889,1003.2257))
    format(string,sizeof(string),"<<---Polizist %s ist nun duty--->>",SpielerName(playerid));
    SendClientMessage(playerid,0x0005FFFF,string);
    SetPlayerSkin(playerid,280);


    SetPVarInt(playerid,"Arbeit",280);
    GivePlayerWeapon(playerid,3,1); //Schlagstock
    GivePlayerWeapon(playerid,41,9999999); //Pfefferspray
    GetPlayerPos(playerid,x,y,z);
    SetPVarInt(playerid,"Duty",1);
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    SpielerSpeichern(playerid);


    }
    return 1;
    }
    else SendClientMessage(playerid,ROT,"Du Arbeitest Nicht Hier.");
    }
    }
    else if(GetPVarInt(playerid,"Duty")==1)
    {
    {
    if(fraktion(playerid,1))
    {
    new string[128];
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);//accs
    SendClientMessage(playerid,BLAU,"Du bist nun nicht mehr Duty!");
    SetPlayerColor(playerid,WEIS);
    SpielerSpeichern(playerid);
    if(fraktion(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,7,234.4888,111.6889,1003.2257))
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));//Skin
    format(string,sizeof(string),"<<---Polizist %s ist nun nicht mehr duty--->>",SpielerName(playerid));
    SendClientMessage(playerid,0xFF9600FF,string);
    SetPVarInt(playerid,"Duty",0);
    SpielerSpeichern(playerid);
    ResetPlayerWeapons(playerid);
    }
    return 1;
    }
    else SendClientMessage(playerid,ROT,"Du Arbeitest Nicht Hier.");
    }
    }
    }


    bitte helft mir doch ;(

    11 Mal editiert, zuletzt von Kevin B. ()