Beiträge von Noob Punisher

    Ist doch Logisch
    if(PlayerInfo[playerid][pJob] == 7) //Wenn der Spieler den Job 7 Hat
    { //dann
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein KFZ-Mechaniker!"); // Kommt diese Nachricht
    return 1; //Returnt
    }

    Halo ist allgemein einfach ein Klasse Game!
    Schade das der letzte Teil nur auf XBOX Erschienen ist.
    Ich denke das selbe passiert jetzt wieder.
    Die Grafik -> Flop


    Sonst finde ich Halo aber gut.
    Mehr kann ich dazu nicht sagen.

    Habe ich!!!! Hör doch zu! Es steht doch alles in der Spieler Datei! Das habe ich auch gerade gesagt.
    Ich benutze Dini!


    LoadAcccount:
    SetPVarInt(playerid,"Knast",dini_Int(Spielerdatei,"Knast"));
    SetPVarInt(playerid,"Knastzeit",dini_Int(Spielerdatei,"Knastzeit"));


    SpielerSpeichern:
    dini_IntSet(Spielerdatei,"Knast",GetPVarInt(playerid,"Knast"));
    dini_IntSet(Spielerdatei,"Knastzeit",GetPVarInt(playerid,"Knastzeit"));

    Geladen:
    speichern[playerid] = GetPVarInt(playerid,"Knastzeit");


    Speicher:
    public speichert(playerid)
    {
    speichern[playerid] -= 1000;
    SetPVarInt(playerid,"Knastzeit",speichern[playerid]);
    if(GetPVarInt(playerid,"Knast")==0)
    {
    KillTimer(speicher);
    }
    }


    In der Spielerdatei steht auch Knastzeit: 60000 (Beispiel)

    OnPlayerSpawn:
    //Knast
    if(GetPVarInt(playerid,"Knast")==1)
    {
    SendClientMessage(playerid,ROT,"Zurück in den Knast! Du hast deine Strafe noch nicht abgesessen");
    SetPlayerPos(playerid,216.6484, 108.4219, 998.6719); //Im Knast
    SetPlayerInterior(playerid,10);
    arrestback = SetTimerEx("arrestzeitt", speichern[playerid], true,"i",playerid);
    }
    public:
    public arrestzeitt(playerid)
    {
    KillTimer(arrestback);
    SetPVarInt(playerid,"Knast",0);
    SendClientMessage(playerid,GREEN,"Du bist aus dem Knast gekommen!");
    SendClientMessage(playerid,GREEN,"Benimm dich in Zunkunft!");
    SpawnPlayer(playerid);
    }


    Denn rest kennst du ja.

    Ich versteh nicht ganz.
    Wenn ich nur den Wert setzen würde, passiert aber nichts. (Logischer Weiße).


    Sollte das nicht auch so Klappen? Aber Irgendwie wenn ich Spawne komm ich nicht im Knast. Es kommt die Message das ich wieder im knast gehen musste und sofort auch dass ich wieder frei bin.
    Doch nach den Sekunden die ich noch drin Sein müsste kommt das gleiche Nochmal.

    Zur Nachfrage wieder:
    new arrestback;
    forward arrestzeitt(playerid);


    Dann:
    if(GetPVarInt(playerid,"Knast")==1)
    {
    SendClientMessage(playerid,ROT,"Zurück in den Knast! Du hast deine Strafe noch nicht abgesessen");
    SetPlayerPos(playerid,216.6484, 108.4219, 998.6719); //Im Knast
    SetPlayerInterior(playerid,10);
    arrestback = SetTimerEx("arrestzeitt", speichern[playerid], true,"i",playerid);
    }


    und
    public arrestzeitt(playerid)
    {
    KillTimer(arrestback);
    SetPVarInt(playerid,"Knast",0);
    SendClientMessage(playerid,GREEN,"Du bist aus dem Knast gekommen!");
    SendClientMessage(playerid,GREEN,"Benimm dich in Zunkunft!");
    SpawnPlayer(playerid);
    }


    Keine Errors oder Warnings.
    Funktioniert das so?

    Jetzt wird es gespeicher:
    public speichert(playerid)
    {
    speichern[playerid] -= 1000;
    SetPVarInt(playerid,"Knastzeit",speichern[playerid]);
    }


    Nun bin ich mir nicht sicher wie es weiter gehen soll.
    Nun wird ja jede Sekunde eine Sekunden von der Knast zeit weg gemacht.
    Jetzt bin ich mir nicht sicher ob das Richtig ist.
    Der Timer muss ja auch noch gekillt werden:
    public speichert(playerid)
    {
    speichern[playerid] -= 1000;
    SetPVarInt(playerid,"Knastzeit",speichern[playerid]);
    if(GetPVarInt(playerid,"Knast")==0)
    {
    KillTimer(speicher);
    }
    }
    Richtig?
    //Edit: Habe bei dem Arrest Timer den PVar auf 0 gestellt wenn man raus kommt. Und auf 1 wenn man reinkommt!

    Da ich Anfänger bin, habe ich es versucht...


    Oben:
    new speicher;
    forward speichert(playerid);
    new speichern[MAX_PLAYERS];


    Im arrest befehl
    speichern[playerid] = zeit*1000*60;
    speicher = SetTimerEx("speichert", 1000, 1,"i",playerid);


    und public:
    public speichert(playerid)
    {
    speichern -= 1000;
    }


    Leider Errors


    Edit:



    Zitat

    (5112) : error 023: array assignment must be simple assignment
    (5112) : warning 215: expression has no effect
    (2217) : warning 204: symbol is assigned a value that is never used: "speicher"