[ FRAGE ] Job u. Timer

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 Breadfish !
    Ich habe eine Frage und zwar ,
    habe ich hier einen Job gescriptet , wo das ganze system einen kleinen Haken hat .


    Wie es eigendlich laufen sollte :


    Der Spieler nimmt mit /annehmen und dann einer Auswahl eine von den 2 Fahrten in LS an .
    Dann muss er sich ein Car vom Hof nehmen und damit die Checkpoints ( Quelle 1 + 2 ) annehmen.
    Wie bestimmt wird , welcher Checkpoint wann welche Aufgabe hatt , wird über SetPVarInt und GetPVarInt ( Quelle 3 )


    Problem :
    Wenn der Job im Multiplayer gespielt / getestet wird , kann es oft passieren , dass der Timer auf ein anderen Spieler umchaltet ?!
    Alles ist auch mit einen Timer aufgebaut ( Quelle 4 )
    Diesen Bug / Scriptproblem möchte ich gerne gelöst haben...
    Danke im Vorraus


    Mfg.
    Niknew

    Quelle 1:



    if(dialogid==DIALOG_MULL)
    {
    if(listitem == 0)
    {
    SetPlayerCheckpoint(playerid,985,-944.5,41.4,5);
    SendClientMessage(playerid,grün,"Setze dich in einen Müllwagen vom Hof und fahre die Checkpoints ab !");
    SetPVarInt(playerid,"M11",1);
    SpielerSpeichern(playerid);
    return 1;
    }
    if(listitem == 1)
    {
    SendClientMessage(playerid,grün,"Setze dich in einen Müllwagen vom Hof und fahre die Checkpoints ab !");
    SetPVarInt(playerid,"M21",1);
    SetPlayerCheckpoint(playerid,2222.6,-1162.7,25.7,5);
    SpielerSpeichern(playerid);
    return 1;
    }
    }


    Quelle 2:

    if(GetPVarInt(playerid,"M17")==1)
    {
    SetPlayerCheckpoint(playerid,961.3,-936.4,41.4,5);
    SetPVarInt(playerid,"M17",0);
    SendClientMessage(playerid,grau,"Die Mülltonne wird geleert ... Das kann ca. 8 - 15 sekunden dauern!");
    SetPVarInt(playerid,"M18",1);
    SpielerSpeichern(playerid);
    SetTimer("M1",1000*7,false);
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    if(GetPVarInt(playerid,"M18")==1)
    {
    SendClientMessage(playerid,grün,"Erfolgreich Fahrt beendet");
    SetPVarInt(playerid,"M18",0);
    SendClientMessage(playerid,lila,"************** ZAHLTAG **************");
    SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : 125 $ Grund - Lohn ");
    SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : + 10 $ Streckenlohn");
    SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : + 5 $ Arbeitsbonus ");
    SendClientMessage(playerid,weiß,"-------------------------------------");
    SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : 140 $ Lohn ");
    SendClientMessage(playerid,lila,"*************************************");
    GivePlayerMoney(playerid,140);
    DisablePlayerCheckpoint(playerid);
    return 1;
    }


    Quelle 3:

    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name [MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
    SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
    SetPVarInt(playerid,"Paytime",dini_Int(Spielerdatei,"Paytime"));
    SetPVarInt(playerid,"Respeckt",dini_Int(Spielerdatei,"Respeckt"));
    SetPVarInt(playerid,"LS Arena",dini_Int(Spielerdatei,"LS Arena"));
    SetPVarInt(playerid,"Karte LS",dini_Int(Spielerdatei,"Karte LS"));
    SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
    SetPVarInt(playerid,"Knast",dini_Int(Spielerdatei,"Knast"));
    SetPVarInt(playerid,"Farmerlohn",dini_Int(Spielerdatei,"Farmerlohn"));
    SetPVarInt(playerid,"M11",dini_Int(Spielerdatei,"M11"));
    SetPVarInt(playerid,"M12",dini_Int(Spielerdatei,"M12"));
    SetPVarInt(playerid,"M13",dini_Int(Spielerdatei,"M13"));
    SetPVarInt(playerid,"M14",dini_Int(Spielerdatei,"M14"));
    SetPVarInt(playerid,"M15",dini_Int(Spielerdatei,"M15"));
    SetPVarInt(playerid,"M16",dini_Int(Spielerdatei,"M16"));
    SetPVarInt(playerid,"M17",dini_Int(Spielerdatei,"M17"));
    SetPVarInt(playerid,"M18",dini_Int(Spielerdatei,"M18"));
    SetPVarInt(playerid,"M21",dini_Int(Spielerdatei,"M21"));
    SetPVarInt(playerid,"M22",dini_Int(Spielerdatei,"M22"));
    SetPVarInt(playerid,"M23",dini_Int(Spielerdatei,"M23"));
    SetPVarInt(playerid,"M24",dini_Int(Spielerdatei,"M24"));
    SetPVarInt(playerid,"M25",dini_Int(Spielerdatei,"M25"));
    SetPVarInt(playerid,"M26",dini_Int(Spielerdatei,"M26"));
    SetPVarInt(playerid,"M27",dini_Int(Spielerdatei,"M27"));
    SetPVarInt(playerid,"M28",dini_Int(Spielerdatei,"M28"));
    //Spielerinfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    //Spielerinfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
    if(GetPVarInt(playerid,"Banned")==1)
    {
    SendClientMessage(playerid,hellrot,"Du bist gebannt !");
    Kick(playerid);
    return 1;
    }
    SetPlayerColor(playerid,weiß);
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    Quelle 4 :


    public M1 (playerid)
    {
    SendClientMessage(playerid,weiß,"Die Mülltonne ist nun geleert ... Fahre zum nächsten Checkpoint");
    TogglePlayerControllable(playerid,1);
    return 1;
    }