Busjob befehl+ Liniendialog

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
  • Weiß du, so kann ich dir nicht weiterhelfen, da du ständig irgendwas anderes sagst. Zuerst war es ein Fehler, dass "Ungültige ID 0" kommt, dann war es der Dialog, dann war der Checkpoint nicht da, dann war er kurz da und wieder weg, jetzt fehlt der zweite Checkpoint, du sagst jedes mal was anderes. So kann ich das Problem nicht nachvollziehen, sprich keinen Lösungsvorschlag geben.
    Mache bitte ein Video, beginnend ab dem Zeitpunkt an dem du spawnst und gehe die Schritte durch die du machst. Dann sehen wir, was passiert.

  • Beitrag von Blackshadowscript ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Jeffry du wolltest ja ein Video haben.


    Hier ist das Video für mein Busjob.

    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.

  • public OnPlayerEnterCheckpoint(playerid)
    {
    if(GetPVarInt(playerid, "trash_job"))
    {
    //Wenn trash job ausgeführt wird
    new cID = GetPVarInt(playerid, "trash_cp");
    if(IsPlayerInRangeOfPoint(playerid, 5, tCPs[cID][t_x], tCPs[cID][t_y], tCPs[cID][t_z]))
    {
    cID++;


    if(cID >= sizeof(tCPs))
    {
    GivePlayerMoney(playerid, 3000);
    SetPVarInt(playerid, "trash_cp", 0);
    SetPlayerCheckpoint(playerid, tCPs[0][t_x], tCPs[0][t_y], tCPs[0][t_z], 5);
    SendClientMessage(playerid,helblau,"Du hast soeben 3.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid, "trash_cp", cID);
    SetPlayerCheckpoint(playerid, tCPs[cID][t_x], tCPs[cID][t_y], tCPs[cID][t_z], 5);
    }
    return 1;
    }
    }


    if(GetPVarInt(playerid,"bus_job") == 1)
    {
    //wenn bus_job ausgeführt wird.
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z]))
    {
    bID++;
    if(bID >= sizeof(bust1cps))
    {
    GivePlayerMoney(playerid,6000);
    SetPVarInt(playerid,"bus_cp",0);
    SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 6.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
    }
    }
    }


    else if(GetPVarInt(playerid,"bus_job") == 2)
    {
    //wenn bus_job ausgeführt wird.
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust2cps[bID][v_x],bust2cps[bID][v_y],bust2cps[bID][v_z]))
    {
    bID++;
    if(bID >= sizeof(bust2cps))
    {
    GivePlayerMoney(playerid,12000);
    SetPVarInt(playerid,"bus_cp",0);
    SetPlayerCheckpoint(playerid,bust2cps[bID][v_x],bust2cps[bID][v_y],bust2cps[bID][v_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 12.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust2cps[bID][v_x],bust2cps[bID][v_y],bust2cps[bID][v_z],5);
    }
    }
    }
    else if (GetPVarInt(playerid,"bus_job") == 3)
    {
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust3cps[bID][n_x],bust3cps[bID][n_y],bust3cps[bID][n_z]))
    {
    bID++;
    if(bID >= sizeof(bust3cps))
    {
    GivePlayerMoney(playerid,15000);
    SetPVarInt(playerid,"bus_cp",8);
    SetPlayerCheckpoint(playerid,bust3cps[bID][n_x],bust3cps[bID][n_y],bust3cps[bID][n_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 15.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust3cps[bID][n_x],bust3cps[bID][n_y],bust3cps[bID][n_z],5);
    }
    }
    }
    else if(GetPVarInt(playerid,"bus_job") == 4)
    {
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust4cps[bID][m_x],bust4cps[bID][m_y],bust4cps[bID][m_z]))
    {
    bID++;
    if(bID >= sizeof(bust4cps))
    {
    GivePlayerMoney(playerid,30000);
    SetPVarInt(playerid,"bus_cp",8);
    SetPlayerCheckpoint(playerid,bust4cps[bID][m_x],bust4cps[bID][m_y],bust4cps[bID][m_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 30.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust4cps[bID][m_x],bust4cps[bID][m_y],bust4cps[bID][m_z],5);
    }
    }
    }
    DisablePlayerCheckpoint(playerid);
    return 1;
    }

  • Es liegt daran, dass du dem Spieler erst den Checkpoint anzeigst, und ihn dann ganz unten entfernst.
    Schreibe es so:
    public OnPlayerEnterCheckpoint(playerid)
    {
    printf("OnPlayerEnterCheckpoint: %d", playerid);
    DisablePlayerCheckpoint(playerid);
    if(GetPVarInt(playerid, "trash_job"))
    {
    //Wenn trash job ausgeführt wird
    new cID = GetPVarInt(playerid, "trash_cp");
    if(IsPlayerInRangeOfPoint(playerid, 5, tCPs[cID][t_x], tCPs[cID][t_y], tCPs[cID][t_z]))
    {
    cID++;


    if(cID >= sizeof(tCPs))
    {
    GivePlayerMoney(playerid, 3000);
    SetPVarInt(playerid, "trash_cp", 0);
    SetPlayerCheckpoint(playerid, tCPs[0][t_x], tCPs[0][t_y], tCPs[0][t_z], 5);
    SendClientMessage(playerid,helblau,"Du hast soeben 3.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid, "trash_cp", cID);
    SetPlayerCheckpoint(playerid, tCPs[cID][t_x], tCPs[cID][t_y], tCPs[cID][t_z], 5);
    }
    return 1;
    }
    }
    printf("bus_job: %d -> CP: %d", GetPVarInt(playerid,"bus_job"), GetPVarInt(playerid,"bus_cp"));
    if(GetPVarInt(playerid,"bus_job") == 1)
    {
    //wenn bus_job ausgeführt wird.
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z]))
    {
    bID++;
    if(bID >= sizeof(bust1cps))
    {
    GivePlayerMoney(playerid,6000);
    SetPVarInt(playerid,"bus_cp",0);
    SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 6.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust1cps[bID][g_x],bust1cps[bID][g_y],bust1cps[bID][g_z],5);
    }
    }
    }


    else if(GetPVarInt(playerid,"bus_job") == 2)
    {
    //wenn bus_job ausgeführt wird.
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust2cps[bID][v_x],bust2cps[bID][v_y],bust2cps[bID][v_z]))
    {
    bID++;
    if(bID >= sizeof(bust2cps))
    {
    GivePlayerMoney(playerid,12000);
    SetPVarInt(playerid,"bus_cp",0);
    SetPlayerCheckpoint(playerid,bust2cps[bID][v_x],bust2cps[bID][v_y],bust2cps[bID][v_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 12.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust2cps[bID][v_x],bust2cps[bID][v_y],bust2cps[bID][v_z],5);
    }
    }
    }
    else if (GetPVarInt(playerid,"bus_job") == 3)
    {
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust3cps[bID][n_x],bust3cps[bID][n_y],bust3cps[bID][n_z]))
    {
    bID++;
    if(bID >= sizeof(bust3cps))
    {
    GivePlayerMoney(playerid,15000);
    SetPVarInt(playerid,"bus_cp",8);
    SetPlayerCheckpoint(playerid,bust3cps[bID][n_x],bust3cps[bID][n_y],bust3cps[bID][n_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 15.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust3cps[bID][n_x],bust3cps[bID][n_y],bust3cps[bID][n_z],5);
    }
    }
    }
    else if(GetPVarInt(playerid,"bus_job") == 4)
    {
    new bID = GetPVarInt(playerid,"bus_cp");
    if(IsPlayerInRangeOfPoint(playerid,7,bust4cps[bID][m_x],bust4cps[bID][m_y],bust4cps[bID][m_z]))
    {
    bID++;
    if(bID >= sizeof(bust4cps))
    {
    GivePlayerMoney(playerid,30000);
    SetPVarInt(playerid,"bus_cp",8);
    SetPlayerCheckpoint(playerid,bust4cps[bID][m_x],bust4cps[bID][m_y],bust4cps[bID][m_z],5);
    SendClientMessage(playerid,rot,"Du hast soeben 30.000$ verdient");
    }
    else
    {
    SetPVarInt(playerid,"bus_cp",bID);
    SetPlayerCheckpoint(playerid,bust4cps[bID][m_x],bust4cps[bID][m_y],bust4cps[bID][m_z],5);
    }
    }
    }
    return 1;
    }



    Das hatte ich dir aber bereits in Post 3 gesagt:
    Busjob befehl+ Liniendialog



    EDIT: (Post unten)
    Blackshadowscript: Gerne ;)

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()