Jobs funktionieren nicht einwandfrei (mehrere Spieler gleichzeitig)

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 liebe Community,
    ich habe lange an diesem job System gebastelt.
    Es funktioniert wie jedes andere auch. mit /startjob wählt man seinen Job aus. Anschließend fährt man zur "anmeldestelle"
    ab da wird dann Spezifisch (z.B. Busfahrer) die Route gewählt.


    Jetzt habe ich das ganze alleine ausprobiert -> Resultat erfolgreich
    eben habe ich es mit einem kumpel ausprobiert und wir wollten beide gleichzeitig fahren -> Resultat -> Total verbuggt


    Ich hatte seinen nächsten Punkt schon und sein Punkt war weg!


    wie kriege ich das behoben


    Leider habe ich davon eig 0 ahnung weil ich mich ganz neu mit Checkpoints befasst habe



    Hier aber mal der Busfahrer befehl
    startjob

    Spoiler anzeigen
    ocmd:startjob(playerid,params[])
    {
    ShowPlayerDialog(playerid,ANMELDUNGEN,DIALOG_STYLE_LIST,"Anmeldestellen","Geldtransportservice Los Santos Bank \n Busfahrer/in \n Job 3 \n Job 4","Anmeldung","Abbrechen");

    return 1;
    }

    dann der auswahl dialog
    Spoiler anzeigen
    if(dialogid == ANMELDUNGEN)
    {
    if(response)
    {
    if (listitem == 0)
    {
    BankJob1[playerid] = 2;
    Roads[playerid] = 2;
    Busfahrer1[playerid] = 20;
    SetPlayerCheckpoint(playerid,1466.7200,-1028.7030,23.4623,5.0);
    SendClientMessage(playerid,CL_HBLUE,"Du hast den Money-Transport-Service-Job gestartet -> Fahre nun zur Los Santos Bank North und melde dich an!");
    return 1;
    }
    if (listitem == 1)
    {

    BankJob1[playerid] = 19;
    SendClientMessage(playerid,CL_HBLUE,"Du hast den Busfahrer/innen-Job gestartet -> Fahre nun zur Anmeldestelle von Bus - Los Santos GmbH!");
    Roads[playerid] = 1;
    SetPlayerCheckpoint(playerid,1268.6335,-1816.1614,13.1145,7.0);

    return 1;
    }
    if (listitem == 2)//Detektiv
    {
    Roads[playerid] = 2;
    BankJob1[playerid] = 19;
    SendClientMessage(playerid,CL_HBLUE,"Du hast einen Job gestartet -> Fahre nun zur Anmeldestelle!");
    return 1;
    }
    if (listitem == 2)//Dieb
    {
    Roads[playerid] = 2;
    BankJob1[playerid] = 19;
    SendClientMessage(playerid,CL_HBLUE,"Du hast einen Job gestartet -> Fahre nun zur Anmeldestelle!");
    return 1;
    }
    }
    }

    Dann ausgewählt der Busfahrer Job
    Spoiler anzeigen
    public OnPlayerEnterCheckpoint(playerid)
    {
    if(BankJob1[playerid] == 2)
    {
    //if(!IsPlayerInRangeOfPoint(playerid,10.0,1466.7200,-1028.7030,23.4623)) return BankJob1[playerid] = 2;
    {
    ShowPlayerDialog(playerid,ZIELE,DIALOG_STYLE_LIST,"Deine Anfahrtsziele","Ziel 1 \n Tankstelle \n Drogenzentrum Los Santos \n Plattenfirma \n Pierstraße \n X \n X \n X \n X \n X \n X \n X\n X \n X \n Los Santos Police Department","Losfahren","Auftrag abbrechen");
    BankJob1[playerid] = 3;
    }
    DisablePlayerCheckpoint(playerid);

    return 1;
    }
    if(BankJob1[playerid] == 3)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,-1,"Du hast das Geld erfolgreich hierher Transportiert - Du erhälst dafür 1500$.");
    SendClientMessage(playerid,-1,"In 20 Sek kannst du erneut Geld ausliefern! Fahre dafür einfach wieder zur Bank! /startjob");
    GivePlayerMoney(playerid,1500);
    TogglePlayerControllable (playerid, 0);
    SetTimer("banking",20000,false);

    return 1;
    }
    //BUSFAHRER STRECKE 1 LS - SF
    if(Roads[playerid] == 1)
    {

    //if(!IsPlayerInRangeOfPoint(playerid,5.0,1243.3254,-1847.2728,13.1883)) return Roads[playerid] = 1,Busfahrer1[playerid] = 1;
    {
    ShowPlayerDialog(playerid,ROUTEN_1,DIALOG_STYLE_LIST,"Fahrstreckenwahl","LS Bus Bahnhof bis SF Bank über Truckstop \n LS Bus Bahnhof bis LS Flughafen über Stadthalle und LS Bahnhof ","Strecke fahren","Strecke abbrechen");
    Busfahrer1[playerid] = 1;
    Roads[playerid] = 2;
    return 1;
    }

    //5SetTimer("bus_driver1",20000,false);

    }

    if(Busfahrer1[playerid] == 1)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,-1,"In 20 sek wird dir deine Erste Haltestelle angezeigt.");
    SendClientMessage(playerid,-1," Dann wirst du 20 Sek gefreezed. Anschließend wird dir dein neuer Punkt angezeigt");
    Busfahrer1[playerid] = 2;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver1",20000,false);
    return 1;
    }
    if(Busfahrer1[playerid] == 2)
    {
    DisablePlayerCheckpoint(playerid);
    Busfahrer1[playerid] = 3;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver1",20000,false);
    return 1;
    }
    if(Busfahrer1[playerid] == 3)
    {
    DisablePlayerCheckpoint(playerid);
    Busfahrer1[playerid] = 4;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver1",20000,false);
    return 1;
    }
    if(Busfahrer1[playerid] == 4)
    {
    DisablePlayerCheckpoint(playerid);
    Busfahrer1[playerid] = 5;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver1",20000,false);
    return 1;
    }
    if(Busfahrer1[playerid] == 5)
    {
    DisablePlayerCheckpoint(playerid);
    Busfahrer1[playerid] = 6;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver1",20000,false);
    return 1;
    }
    if(Busfahrer1[playerid] == 6)
    {
    DisablePlayerCheckpoint(playerid);
    Busfahrer1[playerid] = 7;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver1",20000,false);
    return 1;
    }
    if(Busfahrer1[playerid] == 7)
    {
    DisablePlayerCheckpoint(playerid);
    Busfahrer1[playerid] = 8;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver1",20000,false);
    return 1;
    }
    if(Busfahrer1[playerid] == 8)
    {
    DisablePlayerCheckpoint(playerid);
    TogglePlayerControllable(playerid,0);
    SendClientMessage(playerid,-1,"Du hast folgende Busstrecke abgeschlossen: Los Santos Bus GmbH bis San Fierro Bank. Du erhälst dein Lohn auf die Hand");
    GivePlayerMoney(playerid,3100);
    Busfahrer1[playerid] = 1;
    SendClientMessage(playerid,-1,"Du hast nun eine 10 Minuten Job - Sperre. Nach ablauf dieser Sperre kannst du wieder einen Job tätigen!");
    return 1;
    }
    //Busfahrer Strecke 2
    if(Busfahrer2[playerid] == 2)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,-1,"In 10 sek wird dir deine Erste Haltestelle angezeigt.");
    SendClientMessage(playerid,-1," Dann wirst du an jeder Haltestelle 30 Sek gefreezed. Anschließend wird dir dein neuer Punkt angezeigt");
    Busfahrer2[playerid] = 3;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",10000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 3)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 4;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 4)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 5;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 5)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 6;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 6)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 7;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 7)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 8;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 8)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 9;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 9)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 10;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    if(Busfahrer2[playerid] == 10)
    {
    DisablePlayerCheckpoint(playerid);
    //SendClientMessage(playerid,-1,"");
    Busfahrer2[playerid] = 11;
    GivePlayerMoney(playerid,250);
    TogglePlayerControllable(playerid,0);
    SetTimer("bus_driver2",30000,false);
    return 1;
    }
    return 1;
    }
    public bus_driver1(playerid)
    {
    if(Busfahrer1[playerid] == 2)
    {
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,1243.3254,-1847.2728,13.1883,7.0);
    SendClientMessage(playerid,-1,"Du fährst nun folgende Route : Los Santos, Bus Bahnhof bis San Fierro Bank über Truckstop und SF Bahnhof.");

    Spoiler anzeigen
    return 1;
    }
    if(Busfahrer1[playerid] == 3)
    {
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,670.6043,-1735.1041,13.2707,7.0);
    SendClientMessage(playerid,-1,"Du kannst nun zur nächsten Haltestelle fahren");
    return 1;
    }
    if(Busfahrer1[playerid] == 4)
    {
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,278.9674,-1513.9545,32.1741,7.0);
    SendClientMessage(playerid,-1,"Du kannst nun zur nächsten Haltestelle fahren");
    return 1;
    }
    if(Busfahrer1[playerid] == 5)
    {
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,-130.4320,-1230.6105,2.5817,7.0);
    SendClientMessage(playerid,-1,"Du kannst nun zur nächsten Haltestelle fahren");
    return 1;
    }
    if(Busfahrer1[playerid] == 6)
    {
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,-1787.2384,-571.1826,16.1349,7.0);
    SendClientMessage(playerid,-1,"Du kannst nun zur nächsten Haltestelle fahren");
    return 1;
    }
    if(Busfahrer1[playerid] == 7)//SF BAHNHOF
    {
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,-1986.4297,151.1903,27.3380,7.0);
    SendClientMessage(playerid,-1,"Deine nächste Haltestelle ist der San Fierro Bahnhof. Mache eine kurze Ansage!");
    return 1;
    }
    if(Busfahrer1[playerid] == 8)//SF BANK
    {
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,-1950.5823,576.5387,34.8990,7.0);
    SendClientMessage(playerid,-1,"Deine nächste Haltestelle ist die Endhaltestelle. Bitte weise deine Fahrgäste darauf hin!");
    return 1;
    }
    if(Busfahrer1[playerid] == 9)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,-1,"Vielen Dank für deine Arbeit. Du hast die Endhaltestelle erreicht!");
    return 1;
    }
    return 1;
    }


    und irgendwo darin befindet sich der Fehler


    ich bin sehr dankbar wenn mir da jemand helfen könnte


    Bin auf Skype und auf unserem TS³ erreichbar


    Skype: jannis50002


    TS 94.101.39.18:9988