suche bus fahrer job system

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
  • du erststellt halt ein array mit deinen coordianten, und das dazugehörige enum.. dann machst du unter OnPlayerEnterCheckpoint eine for schleife durch alle coordinaten, die du im array erstellt hast, und fragst das mit IsPlayerInRangeOfPoint ab.. wenn es so ein Checkpoint gewesen ist, startest du einen timer.. wenn der timer abgelaufen ist, lässt du eine Variable ++ nehmen, und lässt dann den nächsten Checkpoint anzeigen.. usw

  • if(strcmp,cmdtext,"/buslinie",true) == 0
    {
    ShowPlayerDialog(playerid,DIALOG_BUSLINIEN, DIALOG_STYLE_LIST,"{FFFFFF}Verfügbare Linien",Linie 1 (LS Route)\nLinie 2 (LS-SF),"Auswählen", "Abbrechen");
    }


    und ja dann halt DIALOG_BUSLINIEN oben definieren (#define DIALOG_BUSLINIEN)
    und dann bei ondialogresponse schreiben was passieren soll das wäre es im DIALOg

    MFG


  • //Der Bus Timer .. wird oben im skript eingetragenm
    forward BusTimer(playerid);
    //das Enum, und das dazugehörige Array
    enum BusInfo {
    Float:Bus_X,
    Float:Bus_Y,
    Float:Bus_Z
    }
    //Das Array
    new BusKoordianten[][BusInfo] = {
    {X, Y, Z},
    //... usw.
    };
    //Das enum, für die Variable ++ zu nehmen, damit auch der nächste Checkpoint angezeigt wird
    enum BusVariable {
    Haltestelle
    }
    new Busfahrer[MAX_PLAYERS][BusVariable];


    //Der Befehl um es zu starten
    if(strcmp("/starten",cmdtext, true, 10) == 0)
    {
    Busfahrer[playerid][Haltestelle]=0;
    SetPlayerCheckpoint(playerid,BusKoordianten[0][Bus_X],BusKoordianten[0][Bus_Y],BusKoordianten[0][Bus_Z], 3.0);
    return 1;
    }
    //Wenn du in einem Bus Checkpoint bist
    public OnPlayerEnterCheckpoint(playerid)
    {
    for(new i=0;i < sizeof BusKoordinaten;i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, BusKoordinate[i][Bus_X],BusKoordinate[i][Bus_Y],BusKoordinate[i][Bus_Z]))
    {
    new vehicleid = GetPlayerVehicleID(playerid),
    BusfahrerBus = GetVehicleModel(vehicleid);
    if(BusfahrerBus == 431)//Ist er in einem bus dann soll der timer gestartet werden
    {
    SetTimerEx("BusTimer",1,false,"i",playerid);
    }
    }
    }
    }
    return 1;
    }


    //wenn der timer abgelaufen ist
    public BusTimer(playerid)
    {

    DisablePlayerCheckpoint(playerid);
    Busfahrer[playerid][Haltestelle]++;
    new CP = Busfahrer[playerid][Haltestelle];
    if(CP == sizeof(BusKoordinaten))
    {
    //Wenn er am letzten Checkpoint ist...
    }
    else
    {
    //Wenn nicht, wird der nöchste Checkpoint gesetzt
    SetPlayerCheckpoint(playerid,BusKoordinaten[CP][Bus_X],BusKoordinaten[CP][Bus_Y],BusKoordinaten[CP][Bus_Z], 3.0);
    }
    return 1;
    }