Bustour

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
  • Beitrag von justRevitox ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beim ersten Checkpoint wird die Runde beendet???



    public Bustimer(playerid)
    {
    new playercp = Busfahrer[playerid][bus_Checkpoint];
    new route = Busfahrer[playerid][bus_Route];
    if(IsPlayerInRangeOfPoint(playerid,2.5,Bus_Stationen[route][playercp][bus_x],Bus_Stationen[route][playercp][bus_y],Bus_Stationen[route][playercp][bus_z]))
    {
    if(Busfahrer[playerid][bust] > 0)
    {
    KillTimer(buswt[playerid]);
    buswt[playerid] = SetTimerEx("Bustimer",1000,false,"i",playerid);
    new string[20];
    PlayerTextDrawHide(playerid,Textdraw0);
    format(string,sizeof(string),"Haltestelle %d/10",Busfahrer[playerid][bust]);
    PlayerTextDrawSetString(playerid,Textdraw0, string);
    PlayerTextDrawShow(playerid,Textdraw0);
    Busfahrer[playerid][bust] --;
    return 1;
    }
    else
    {
    if(playercp == sizeof(Bus_Stationen[])-1)
    {
    DisablePlayerCheckpoint(playerid);
    KillTimer(buswt[playerid]);
    PlayerTextDrawHide(playerid,Textdraw0);
    new veh = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(veh);
    if(route == 0)
    {
    new string[128],skill = randomEx(1, 2);
    format(string,sizeof(string),"Du hast deine Route beendet, 1750€ und %d Bus-EXP erzhalten!",skill);
    SendClientMessage(playerid,0x33CCFFAA,string);
    GivePlayerMoney(playerid, 1750);
    Busfahrer[playerid][bus_Aktiv]=false;
    sInfo[playerid][busskill] += skill;
    Checkbuslevel(playerid);
    return 1;
    }
    else if(route == 1)
    {
    new string[128],skill = randomEx(1, 3);
    format(string,sizeof(string),"Du hast deine Route beendet, 2750€ und %d Bus-EXP erhalten!",skill);
    SendClientMessage(playerid,0x33CCFFAA,string);
    GivePlayerMoney(playerid, 2750);
    Busfahrer[playerid][bus_Aktiv]=false;
    sInfo[playerid][busskill] += skill;
    Checkbuslevel(playerid);
    return 1;
    }

    }
    else
    {
    DisablePlayerCheckpoint(playerid);
    KillTimer(buswt[playerid]);
    Busfahrer[playerid][bus_Checkpoint]++;
    new playercp1 = Busfahrer[playerid][bus_Checkpoint];
    PlayerTextDrawHide(playerid,Textdraw0);
    SendClientMessage(playerid,0xFFFF00FF,"Auf zur nächsten Haltestelle!");
    SetPlayerCheckpoint(playerid,Bus_Stationen[route][playercp1][bus_x],Bus_Stationen[route][playercp1][bus_y],Bus_Stationen[route][playercp1][bus_z],Bus_Stationen[route][playercp1][bus_g]);
    Busfahrer[playerid][bust] = 10;
    return 1;
    }
    }
    }
    else
    {
    KillTimer(buswt[playerid]);
    buswt[playerid] = SetTimerEx("Bustimer",1000,false,"i",playerid);
    Busfahrer[playerid][bust] = 10;
    PlayerTextDrawHide(playerid,Textdraw0);
    return 1;
    }
    return 1;
    }

  • so
    enum Buscords
    {
    Float:bc_x,
    Float:bc_y,
    Float:bc_z,
    Float:bc_rad
    }


    new Bus_Stationen[][][Buscords] =
    {
    {
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0}
    },
    {
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0},
    {0.0,0.0,0.0,4.0}
    }
    };

  • Beitrag von justRevitox ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Eigentlich passt es dann.
    Schreibe es so, und poste dann was im Server Log steht:
    public Bustimer(playerid)
    {
    new playercp = Busfahrer[playerid][bus_Checkpoint];
    new route = Busfahrer[playerid][bus_Route];
    printf("BusTimer: %d", playerid);
    if(IsPlayerInRangeOfPoint(playerid,2.5,Bus_Stationen[route][playercp][bus_x],Bus_Stationen[route][playercp][bus_y],Bus_Stationen[route][playercp][bus_z]))
    {
    printf("InRange: %d", Busfahrer[playerid][bust]);
    if(Busfahrer[playerid][bust] > 0)
    {
    KillTimer(buswt[playerid]);
    buswt[playerid] = SetTimerEx("Bustimer",1000,false,"i",playerid);
    new string[20];
    PlayerTextDrawHide(playerid,Textdraw0);
    format(string,sizeof(string),"Haltestelle %d/10",Busfahrer[playerid][bust]);
    PlayerTextDrawSetString(playerid,Textdraw0, string);
    PlayerTextDrawShow(playerid,Textdraw0);
    Busfahrer[playerid][bust] --;
    return 1;
    }
    else
    {
    printf("playercp: %d | sizeof-1: %d", playercp, sizeof(Bus_Stationen[])-1);
    if(playercp == sizeof(Bus_Stationen[])-1)
    {
    printf("Route beendet.");
    DisablePlayerCheckpoint(playerid);
    KillTimer(buswt[playerid]);
    PlayerTextDrawHide(playerid,Textdraw0);
    new veh = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(veh);
    if(route == 0)
    {
    new string[128],skill = randomEx(1, 2);
    format(string,sizeof(string),"Du hast deine Route beendet, 1750€ und %d Bus-EXP erzhalten!",skill);
    SendClientMessage(playerid,0x33CCFFAA,string);
    GivePlayerMoney(playerid, 1750);
    Busfahrer[playerid][bus_Aktiv]=false;
    sInfo[playerid][busskill] += skill;
    Checkbuslevel(playerid);
    return 1;
    }
    else if(route == 1)
    {
    new string[128],skill = randomEx(1, 3);
    format(string,sizeof(string),"Du hast deine Route beendet, 2750€ und %d Bus-EXP erhalten!",skill);
    SendClientMessage(playerid,0x33CCFFAA,string);
    GivePlayerMoney(playerid, 2750);
    Busfahrer[playerid][bus_Aktiv]=false;
    sInfo[playerid][busskill] += skill;
    Checkbuslevel(playerid);
    return 1;
    }

    }
    else
    {
    printf("Nächster CP.");
    DisablePlayerCheckpoint(playerid);
    KillTimer(buswt[playerid]);
    Busfahrer[playerid][bus_Checkpoint]++;
    new playercp1 = Busfahrer[playerid][bus_Checkpoint];
    PlayerTextDrawHide(playerid,Textdraw0);
    SendClientMessage(playerid,0xFFFF00FF,"Auf zur nächsten Haltestelle!");
    SetPlayerCheckpoint(playerid,Bus_Stationen[route][playercp1][bus_x],Bus_Stationen[route][playercp1][bus_y],Bus_Stationen[route][playercp1][bus_z],Bus_Stationen[route][playercp1][bus_g]);
    Busfahrer[playerid][bust] = 10;
    return 1;
    }
    }
    }
    else
    {
    KillTimer(buswt[playerid]);
    buswt[playerid] = SetTimerEx("Bustimer",1000,false,"i",playerid);
    Busfahrer[playerid][bust] = 10;
    PlayerTextDrawHide(playerid,Textdraw0);
    return 1;
    }
    return 1;
    }

  • Ich habs so gemacht, halt als Bauer , und funktioniert:



    enum BauernCPDaten {
    Float:bCP_X,
    Float:bCP_Y,
    Float:bCP_Z
    }
    new BauernCP[][BauernCPDaten] = {
    {20.4214,62.7821,4.0922},
    {-10.8430,-8.3040,4.0942},
    {-37.7827,-82.3471,4.0944},
    {-25.6119,-91.4447,4.0945},
    {25.8801,35.8845,4.0945},
    {42.0253,43.7315,3.4804},
    {5.0298,-44.1023,4.0918},
    {-12.0191,-89.1497,4.0932},
    {3.7829,-106.2996,2.7385},
    {45.7055,7.3281,3.4091},
    {64.6364,30.4883,1.6147},
    {31.3213,-59.0014,3.0735},
    {20.6863,-88.6571,2.4700},
    {40.1048,-101.5151,1.5939},
    {65.4498,-30.4873,1.7795},
    {75.5787,22.4513,1.5867},
    {-132.4013,49.3706,4.0941},
    {-181.2694,-75.5866,4.0944},
    {-231.7830,-73.5467,4.0945},
    {-270.0512,-52.6578,4.0857},
    {-251.5576,28.0954,3.1874},
    {-233.3778,81.1003,3.1378},
    {-203.7975,158.2948,6.7198}
    };



    command(farmen, playerid, params[]) {
    if(SpielerInfo[playerid][pJob] != 2) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Farmer");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du bist in keinen Farmer-Fahrzeug");
    if(IsBAUERNCAR(GetPlayerVehicleID(playerid))==0)return SendClientMessage(playerid, COLOR_RED, "Du bist in keinen Farmer-Fahrzeug2");
    if(Job_Farmer[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "Du farmst bereits. Um aufzuhören verwende /stopfarmen");
    Job_Farmer[playerid] = 1;
    SendClientMessage(playerid, 0x009BFFFF, "Fahre nun die Checkpoins ab");
    Job_Farmer_CP[playerid] = 0;
    SetPlayerCheckpoint(playerid,BauernCP[0][bCP_X],BauernCP[0][bCP_Y],BauernCP[0][bCP_Z], 10.0);
    return 1;
    }



    public OnPlayerEnterCheckpoint(playerid)
    {
    new str[200], ok[200];
    if(Job_Farmer[playerid] == 1) {

    if(IsPlayerInRangeOfPoint(playerid, 10, BauernCP[Job_Farmer_CP[playerid]][bCP_X], BauernCP[Job_Farmer_CP[playerid]][bCP_Y], BauernCP[Job_Farmer_CP[playerid]][bCP_Z])) {
    Job_Farmer_CP[playerid]++;
    if(Job_Farmer_CP[playerid] >= sizeof(BauernCP)) {
    new v = GetPlayerVehicleID(playerid);
    RemovePlayerFromVehicle(playerid);
    SetVehicleToRespawn(v);
    SpielerInfo[playerid][pGeld] += 200;
    Job_Farmer_CP[playerid] = 0;
    Job_Farmer[playerid] = 0;
    SendClientMessage(playerid, 0x00FFE6FF, "Die Ernte war erfolgreich!");
    SendClientMessage(playerid, 0x00FFE6FF, "Für deine Arbeit erhälst du 200$");
    DisablePlayerCheckpoint(playerid);
    return 1;
    } else {
    format(str, sizeof(str), "[FARMEN] %i / %i Punkte", Job_Farmer_CP[playerid], sizeof(BauernCP));
    SendClientMessage(playerid, 0xEBFF00FF, str);
    SetPlayerCheckpoint(playerid, BauernCP[Job_Farmer_CP[playerid]][bCP_X], BauernCP[Job_Farmer_CP[playerid]][bCP_Y], BauernCP[Job_Farmer_CP[playerid]][bCP_Z], 10.0);
    return 1;
    }


    }

    }
    DisablePlayerCheckpoint(playerid);
    return 1;
    }

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.