Beiträge von Sebastian.

    if(strcmp(cmd,"/medicschranke",true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    if(medictorvar == 0)
    {
    MoveObject(schranke1, 1143.37000000,-1291.08000000,13.44000000 +0.01, 0.01, 0.00000000,270.00000000,0.00000000);
    SendClientMessage(playerid, COLOR_RED, "Schranke geschlossen!");
    medictorvar = 1;
    }
    else
    {
    MoveObject(schranke1, 1143.37000000, -1291.08000000, 13.44000000 -0.01, 0.01, 0.00000000,0.00000000,0.00000000); // Hier muss es dann - 0.01 heißen
    SendClientMessage(playerid, COLOR_GREEN, "Schranke geöffnet!");
    medictorvar = 0;
    }
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist kein Arzt");
    return 1;
    }


    /edit: Kann es sein, das du das Object 2x im Skript hast? bzw.. ich sehe oben, das du es einmal offen und einmal zu im skript hast.. nimm das Object, wo es zu ist mal raus

    Hallo.
    Kurze Frage.. bei mir wird der nächste RaceCheckpoint nicht mehr angezeigt, wenn ich den ersten passiert habe.. mit normalen Checkpoint klappt das alles.. jedoch so nicht... wüsste wer zufällig warum?
    So habe ich die koordinaten in einem array +enum

    new PilotLSSF[][NJobDaten] = {
    {491.0360,-2480.9023,208.3164},
    {-934.9673,-2460.8608,353.8739},
    {-1648.3916,-1971.1779,326.9221},
    {-1535.7734,-1203.6198,252.9583},
    {-1764.5897,-391.3161,247.9086},
    {-1417.1436,73.7660,14.8915},
    {-1249.4308,-103.9663,14.8782}
    };
    enum NJobDaten {
    Float:X,
    Float:Y,
    Float:Z
    }


    public PilotTimerLSSF(playerid)
    {
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid,COLOR_GELB,"Tower Los Santos: Startfreigabe erteilt. Guten Flug!");
    SetPlayerRaceCheckpoint(playerid, 3,PilotLSSF[0][X], PilotLSSF[0][Y],PilotLSSF[0][Z],PilotLSSF[1][X],PilotLSSF[1][Y],PilotLSSF[1][Z], 5.0);//Erster Checkpoint
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    for(new i = 0;i<sizeof PilotLSSF;i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,PilotLSSF[i][X],PilotLSSF[i][Y],PilotLSSF[i][Z]))
    {
    new string[128];
    DisablePlayerRaceCheckpoint(playerid);
    Nebenjob[playerid][p_Checkpoint]++;
    new playercp = Nebenjob[playerid][p_Checkpoint];
    if(playercp == sizeof(PilotLSSF))
    {
    new EXP = 4 + random(5);
    new GELD = 400 + random(267);
    pInfo[playerid][PilotenExp] += EXP;
    pInfo[playerid][pSonstigeEinnahmen] +=GELD;
    format(string,sizeof(string),"Sie erhalten +%d Exp und %i$ dazu!", EXP,GELD);
    SendClientMessage(playerid,COLOR_HELLBLAU,string);
    PilotErfahrung(playerid);
    }
    else
    {
    SetPlayerRaceCheckpoint(playerid, 3, PilotLSSF[playercp][X],PilotLSSF[playercp][Y],PilotLSSF[playercp][Z],PilotLSSF[Nebenjob[playerid][p_Checkpoint]+1][X],PilotLSSF[Nebenjob[playerid][p_Checkpoint]+1][Y],PilotLSSF[Nebenjob[playerid][p_Checkpoint]+1][Z],5.0);
    }
    }
    }
    return 1;
    }

    //Edit: Hat keiner eine Idee?


    Mfg
    Sebastian


    //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;
    }

    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

    Tag..
    vor ca. 30min konnte ich noch Maps öffnen, jedoch wenn ich jetzt eine öffnen will, steht folgedes unten in Gelb dort.

    Code
    On-Exit-Save has loaded the most recent backup of the previously loaded map. Use "new" to start a new map.


    Wüsste wer wie ich dies "gefixxt" bekomme?
    Mfg
    Sebastian

    ok :)
    ich hatte bei diesem befehl, vergessen immer die Variable "Haltestelle" auf 0 zu setzen ^^



    if(dialogid == DIALOG_BUSLINIEN)
    {
    if(response == 1)
    {
    if(listitem == 0)
    {
    if(pInfo[playerid][FeahrtGeradeBus] == 0)
    {
    new vehicleid = GetPlayerVehicleID(playerid),
    BusfahrerBus = GetVehicleModel(vehicleid);
    if(BusfahrerBus == 431)
    {
    if(pInfo[playerid][BusSkill] >= 1)
    {
    Busfahrer[playerid][pB_Checkpoint]=0;
    Busfahrer[playerid][pB_Haltestelle]= 0; //<-Hier
    pInfo[playerid][FeahrtGeradeBus] = 1;
    SetPlayerCheckpoint(playerid,BusSkillEins[0][Bus1_X],BusSkillEins[0][Bus1_Y],BusSkillEins[0][Bus1_Z], 3.0);
    SendClientMessage(playerid,COLOR_HELLBLAU,BusSkillEins[0][Bus1_Text]);
    return 1;
    }
    }
    }
    }
    return 1;
    }
    }