Beiträge von Jeffry

    Ich weiß nicht was das andere Zeug alles macht, und ob da irgendein return ausgeführt wird, wird wohl so sein.
    Schreibe deinen Code mal über diese Zeile:
    //HIER HIN
    FRAC_OnPlayerStateChange(playerid, newstate, oldstate);


    Geht es dann?
    Wenn nein, was sagt der Log?

    Dann schreibe es mal so, was wird geprintet?
    printf("newstate = %d / playerid: %d", newstate, playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    printf("in");
    for(new j=0; j<11; j++) GetPlayerWeaponData(playerid, j, Weapons[playerid][j], Ammo[playerid][j]);
    ResetPlayerWeapons(playerid);
    new vid = GetPlayerVehicleID(playerid);
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
    printf("engine: %d", engine);
    if(engine == VEHICLE_PARAMS_OFF)
    {
    SendClientMessage(playerid,COLOR_PURPLE2,"Der Motor ist Ausgeschaltet, drücke die STRG Taste um den Motor zu starten.");
    }
    }

    Siehste. ;)


    So sollte es klappen:

    Spoiler anzeigen
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(oldstate == PLAYER_STATE_DRIVER)
    {
    TextDrawHideForPlayer(playerid, Textdraw7[playerid]);
    PlayerTextDrawHide(playerid, Textdraw8[playerid]);
    PlayerTextDrawHide(playerid, Textdraw9[playerid]);
    PlayerTextDrawHide(playerid, Textdraw10[playerid]);
    PlayerTextDrawHide(playerid, Textdraw11[playerid]);
    PlayerTextDrawHide(playerid, Textdraw12[playerid]);
    PlayerTextDrawHide(playerid, Textdraw13[playerid]);
    }

    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i = 0; i < sizeof(LVPDCars); i++)
    {
    if(GetPlayerVehicleID(playerid) == LVPDCars[i])
    {
    if(sInfo[playerid][fraktion] == 2)
    {
    goto AFTERCHECK;
    }
    else
    {
    SendClientMessage(playerid, COLOR_BLUE, "Du bist kein Polizist");
    RemovePlayerFromVehicle(playerid);
    goto AFTERCHECK;
    }
    }
    }
    for(new i = 0; i < sizeof(MedicalCars); i++)
    {
    if(GetPlayerVehicleID(playerid) == MedicalCars[i])
    {
    if(sInfo[playerid][fraktion] == 15)
    {
    goto AFTERCHECK;
    }
    else
    {
    SendClientMessage(playerid, COLOR_BLUE, "Du bist kein Sanitäter");
    RemovePlayerFromVehicle(playerid);
    goto AFTERCHECK;
    }
    }
    }
    for(new i = 0; i < sizeof(OrdnungsAmtCars); i++)
    {
    if(GetPlayerVehicleID(playerid) == OrdnungsAmtCars[i])
    {
    if(sInfo[playerid][fraktion] == 5)
    {
    goto AFTERCHECK;
    }
    else
    {
    SendClientMessage(playerid, COLOR_BLUE, "Du bist kein Mitglied des Ordnungsamtes");
    RemovePlayerFromVehicle(playerid);
    goto AFTERCHECK;
    }
    }
    }
    for(new i = 0; i < sizeof(HitmanCars); i++)
    {
    if(GetPlayerVehicleID(playerid) == HitmanCars[i])
    {
    if(sInfo[playerid][fraktion] == 7)
    {
    goto AFTERCHECK;
    }
    else
    {
    SendClientMessage(playerid, COLOR_BLUE, "Du bist kein Hitman");
    RemovePlayerFromVehicle(playerid);
    goto AFTERCHECK;
    }
    }
    }
    for(new i = 0; i < sizeof(SanNewsCars); i++)
    {
    if(GetPlayerVehicleID(playerid) == SanNewsCars[i])
    {
    if(sInfo[playerid][fraktion] == 6)
    {
    goto AFTERCHECK;
    }
    else
    {
    SendClientMessage(playerid, COLOR_BLUE, "Du bist kein Mitglied der San News");
    RemovePlayerFromVehicle(playerid);
    goto AFTERCHECK;
    }
    }
    }
    for(new i = 0; i < sizeof(Busse); i++)
    {
    if(GetPlayerVehicleID(playerid) == Busse[i])
    {
    if(sInfo[playerid][beruf] == 0)
    {
    goto AFTERCHECK;
    }
    else
    {
    SendClientMessage(playerid, COLOR_BLUE, "Du bist kein Busfahrer");
    RemovePlayerFromVehicle(playerid);
    goto AFTERCHECK;
    }
    }
    }
    AFTERCHECK:
    //tacho textdraw
    TextDrawShowForPlayer(playerid, Textdraw6);
    TextDrawShowForPlayer(playerid, Textdraw7[playerid]);
    PlayerTextDrawShow(playerid, Textdraw8[playerid]);
    PlayerTextDrawShow(playerid, Textdraw9[playerid]);
    PlayerTextDrawShow(playerid, Textdraw10[playerid]);
    PlayerTextDrawShow(playerid, Textdraw11[playerid]);
    PlayerTextDrawShow(playerid, Textdraw12[playerid]);
    PlayerTextDrawShow(playerid, Textdraw13[playerid]);

    new vID=GetPlayerVehicleID(playerid);
    new vModel=GetVehicleModel(vID);

    for(new i=0; i<sizeof(autosOhneMotor); i++)
    {
    if(autosOhneMotor[i]!=vModel)continue;
    new tmp_engine,
    tmp_lights,
    tmp_alarm,
    tmp_doors,
    tmp_bonnet,
    tmp_boot,
    tmp_objective;
    //Motor an/ausschalten
    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    SetVehicleParamsEx(vID, 1, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    }

    for(new i=0; i<sizeof(ahCars); i++)
    {
    if(ahCars[i][id_x]!=vID)continue;
    //Verkaufsprozess
    SetPVarInt(playerid,"buyCarID",i);
    new string[256];
    format(string,sizeof(string),"Möchten sie das Fahrzeug für %i$ kaufen?",ahCars[i][c_preis]);
    ShowPlayerDialog(playerid,DIALOG_AUTOHAUS,DIALOG_STYLE_MSGBOX,"Autoverkauf",string,"Ja","Nein");
    break;
    }
    }

    Spoiler anzeigen
    new w = GetPlayerWeapon(playerid);
    if((newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER) && w != 25 && w != 29 && w != 30 && w != 31)
    {
    SetPlayerArmedWeapon(playerid, 0);
    }
    return 1;
    }

    Schreibe es mal so, und wenn es nichts lädt, poste was im Log steht:

    Spoiler anzeigen
    public PlayerCarConnect(playerid)
    {
    printf("PlayerCarConnect: %d", playerid);
    if(IsPlayerNPC(playerid))
    {
    return 1;
    }
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    printf("name: %s", playername);
    for(new h = 0; h < MaxVeh[playerid]; h++)
    {
    new data[100],TextString[256];
    format(TextString, sizeof(TextString), "SELECT * FROM `cars` WHERE `sqlid`=%i AND `carkey`=%d", PlayerInfo[playerid][pSQLID], h);
    printf("Textstring: %s", TextString);
    self_mysql_query(TextString);
    mysql_store_result(MySQLConnection);
    printf("rows: %d", mysql_num_rows(MySQLConnection));
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(TextString);
    self_mysql_get_field("id", data); Carlist[playerid][h][cid] = strval( data );
    self_mysql_get_field("sqlid", data); Carlist[playerid][h][sqlid] = strval( data );
    self_mysql_get_field("ingarage", data); Carlist[playerid][h][ingarage] = strval( data );
    self_mysql_get_field("AH_Typ", data); Carlist[playerid][h][Typ] = strval( data );
    self_mysql_get_field("AH_X", data); Carlist[playerid][h][pos_x] = floatstr( data );
    self_mysql_get_field("AH_Y", data); Carlist[playerid][h][pos_y] = floatstr( data );
    self_mysql_get_field("AH_Z", data); Carlist[playerid][h][pos_z] = floatstr( data );
    self_mysql_get_field("AH_Rot", data); Carlist[playerid][h][z_angle] = floatstr( data );
    self_mysql_get_field("AH_Status", data); Carlist[playerid][h][Status] = strval( data );
    self_mysql_get_field("AH_Lock", data); Carlist[playerid][h][Lock] = strval( data );
    self_mysql_get_field("AH_Paintjob", data); Carlist[playerid][h][Paintjob] = strval( data );
    self_mysql_get_field("AH_Farbe1", data); Carlist[playerid][h][Farbe1] = strval( data );
    self_mysql_get_field("AH_Farbe2", data); Carlist[playerid][h][Farbe2] = strval( data );
    self_mysql_get_field("AH_mod1", data); Carlist[playerid][h][mod1] = strval( data );
    self_mysql_get_field("AH_mod2", data); Carlist[playerid][h][mod2] = strval( data );
    self_mysql_get_field("AH_mod3", data); Carlist[playerid][h][mod3] = strval( data );
    self_mysql_get_field("AH_mod4", data); Carlist[playerid][h][mod4] = strval( data );
    self_mysql_get_field("AH_mod5", data); Carlist[playerid][h][mod5] = strval( data );
    self_mysql_get_field("AH_mod6", data); Carlist[playerid][h][mod6] = strval( data );
    self_mysql_get_field("AH_mod7", data); Carlist[playerid][h][mod7] = strval( data );
    self_mysql_get_field("AH_mod8", data); Carlist[playerid][h][mod8] = strval( data );
    self_mysql_get_field("AH_mod9", data); Carlist[playerid][h][mod9] = strval( data );
    self_mysql_get_field("AH_mod10", data); Carlist[playerid][h][mod10] = strval( data );
    self_mysql_get_field("AH_mod11", data); Carlist[playerid][h][mod11] = strval( data );
    self_mysql_get_field("AH_mod12", data); Carlist[playerid][h][mod12] = strval( data );
    self_mysql_get_field("AH_mod13", data); Carlist[playerid][h][mod13] = strval( data );
    self_mysql_get_field("AH_mod14", data); Carlist[playerid][h][mod14] = strval( data );
    self_mysql_get_field("AH_mod15", data); Carlist[playerid][h][mod15] = strval( data );
    self_mysql_get_field("AH_mod16", data); Carlist[playerid][h][mod16] = strval( data );
    self_mysql_get_field("AH_mod17", data); Carlist[playerid][h][mod17] = strval( data );
    self_mysql_get_field("AH_SpawnSaveX", data); Carlist[playerid][h][SpawnSaveX] = floatstr( data );
    self_mysql_get_field("AH_SpawnSaveY", data); Carlist[playerid][h][SpawnSaveY] = floatstr( data );
    self_mysql_get_field("AH_SpawnSaveZ", data); Carlist[playerid][h][SpawnSaveZ] = floatstr( data );
    self_mysql_get_field("AH_SpawnSaveRot", data); Carlist[playerid][h][SpawnSaveRot] = floatstr( data );
    self_mysql_get_field("AH_TankVolumen", data); Carlist[playerid][h][TankVolumen] = strval( data );
    self_mysql_get_field("AH_Mats", data); Carlist[playerid][h][cMats] = strval(data);
    self_mysql_get_field("AH_Neon", data); Carlist[playerid][h][Neon] = strval(data);
    self_mysql_get_field("AH_NeonType", data); Carlist[playerid][h][NeonType] = strval(data);
    self_mysql_get_field("AH_Drugs", data); Carlist[playerid][h][cDrugs] = strval(data);
    self_mysql_get_field("AH_StandTime", data); Carlist[playerid][h][StandTime] = strval(data);
    self_mysql_get_field("AH_Meter", data); Kilometer[Carlist[playerid][h][h]] = strval(data);
    Carlist[playerid][h][Carid] = CreateTunedCar(playerid, h);
    /*if(Carlist[playerid][h][Typ] != -1 && Carlist[playerid][h][Status] == 0)
    {
    printf("Fahrzeugspeicherung: Beginning Spawn.");
    printf("Fahrzeugspeicherung: End Spawn.");
    }*/
    printf("(%d,%d,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%f)",
    PlayerInfo[playerid][pSQLID],h,Carlist[playerid][h][ingarage],Carlist[playerid][h][Typ],Carlist[playerid][h][pos_x],Carlist[playerid][h][pos_y],Carlist[playerid][h][pos_z],
    Carlist[playerid][h][z_angle],Carlist[playerid][h][Status],Carlist[playerid][h][Lock],Carlist[playerid][h][Paintjob],
    Carlist[playerid][h][Farbe1],Carlist[playerid][h][Farbe2],Carlist[playerid][h][mod1],Carlist[playerid][h][mod2],
    Carlist[playerid][h][mod3],Carlist[playerid][h][mod4],Carlist[playerid][h][mod5],Carlist[playerid][h][mod6],
    Carlist[playerid][h][mod7],Carlist[playerid][h][mod8],Carlist[playerid][h][mod9],Carlist[playerid][h][mod10],
    Carlist[playerid][h][mod11],Carlist[playerid][h][mod12],Carlist[playerid][h][mod13],Carlist[playerid][h][mod14],
    Carlist[playerid][h][mod15],Carlist[playerid][h][mod16],Carlist[playerid][h][mod17],
    Carlist[playerid][h][SpawnSaveX],Carlist[playerid][h][SpawnSaveY],Carlist[playerid][h][SpawnSaveZ],
    Carlist[playerid][h][SpawnSaveRot],Carlist[playerid][h][TankVolumen],Carlist[playerid][h][cMats],
    Carlist[playerid][h][Neon],Carlist[playerid][h][NeonType],Carlist[playerid][h][cDrugs],Carlist[playerid][h][StandTime],
    Kilometer[Carlist[playerid][h][CarID]]);
    }
    }
    printf("Ende");
    return 1;
    }

    An sich sehe ich in dem OnPlayerDeath keinen Fehler. Gut, das sind fast 1000 Zeilen, da einen Fehler zu finden den man nicht kennt ist ziemlich unmöglich.
    Ich wüsste nur noch einen Grund: Hast du, wenn du den Code kompilierst, eine mehrzeilige Meldung mit vielen Zahlen im Compiler stehen?

    Gibt es etwas, das aufgerufen wird, wenn ein Fahrzeug einen Anhänger ankuppelt?


    Nein, aber du könntest es per Timer und http://wiki.sa-mp.com/wiki/IsTrailerAttachedToVehicle lösen.
    Wenn ein Fahrzeug dran hängt, dann http://wiki.sa-mp.com/wiki/GetVehicleTrailer nutzen, dann hast du sowohl Anhänger als auch das Fahrzeug.
    Dann eine Array-Variable auf 1 setzen, damit es nicht ständig aufgerufen wird. Und wenn das Fahrzeug keinen Trailer mehr hat dann setzt du die Variable wieder auf 0.

    Ich gebe keinen Support via TeamViewer, außerdem habe ich dir gesagt du sollst den Code nicht verwenden, weil der voller Fehler ist. Wenn der eine behoben ist, kommt der nächste. Ich habe dir schon an die 50 Fehler behoben, und ich nehme an das war nur ein Bruchteil.


    Zudem habe ich dir gesagt, dass du nicht den kompletten Post zitieren sollst, das macht keinen Sinn.


    Wenn nicht mal das crashdetect Plugin etwas ausgibt, dann hilft nur noch manuelles debuggen. Wie du das machst siehst du hier: [ SCRIPTING ] Debugnachrichten


    Möglicherweise ist auch ein falsches oder fehlendes Plugin der Fehler hier.


    Und wie gesagt, ich kann dir nur davon abraten weiter mit dem Code deine Zeit zu verschwenden. Ich werde es auch nicht tun.

    Das ist ja immer noch der gleiche Code...
    Und wieder der gleiche Fehler.


    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(hitid!=INVALID_PLAYER_ID && weaponid == 38 && PlayerInfo[hitid][pSQLID] == 1 && Minigunarena[playerid] != 1 || weaponid == 38 && PlayerInfo[hitid][pSQLID] == 2 && Minigunarena[playerid] != 1 || weaponid == 38 && PlayerInfo[hitid][pSQLID] == 3 && Minigunarena[playerid] != 1){
    return 0;
    }
    if(hitid!=INVALID_PLAYER_ID && PlayerInfo[hitid][pImDMSchutz] == 1 && !IsACop(playerid) && PlayerInfo[playerid][pTeam] != 8){//Der Spieler stirbt
    return 0;
    }
    if(hitid!=INVALID_PLAYER_ID && PlayerInfo[playerid][pImDMSchutz] == 1 && !IsACop(hitid) && PlayerInfo[hitid][pTeam] != 8){//Der Spieler tötet
    return 0;
    }
    return 1;
    }

    Hm, das macht irgendwie keinen Sinn was du da machst, allerdings weiß ich auch nicht, was du machen willst.
    Also, du hast einen /essen Befehl, der geht nur an der einen Position die du angegeben hast. Ok, soweit klar.
    Dann zeigst du dem Spieler den Dialog, und wenn er da was auswählt machst du einen Schleife durch alle deine bsInfo's und schaust ob es existiert und noch Produkte hat. Aber hier vestehe ich das Prinzip nicht, das du vor hast.
    Was willst du denn machen, was soll passieren?


    An dieser einen Position (/essen) kann es ja nur ein Bussiness geben, oder? Soll das über die Schleife gefunden werden?
    Wenn ja, dann fehlt in der Schleife noch die Abfrage, ob der Spieler in der nähe der Bussiness ID ist (i).
    Wenn nein, wie soll es dann sein?

    Ja, aber hat sie auch immer den selben wert?
    So das ich sie in einem Include ändern kann, sie dann auch im Gamemode diesen Wert hat?


    Jain.
    Es ist zu beachten, dass es innerhalb einer amx Datei denselben Wert hat, sprich wenn du deine Include in einen Gamemode inkludierst und in einem Filterscript, dann kann der Wert der Variable Test im Gamemode sich von dem Wert im Filterscript unterscheiden.



    Generell, zu deinem Verständnis:
    Du kannst dir eine Include einfach so vorstellen, dass alles was in der Inc Datei steht an die Stelle geschrieben wird, an der die Include Anweisung im Code steht, die kann ja theoretisch auch in der Mitte vom Code stehen.


    Sprich
    #include <deineInclude>
    Wird einfach mit dem Inhalt aus deineInclude.inc ersetzt.

    So sollte es passen:


    Spoiler anzeigen
    public SekundenTimer6()
    {
    new string[500],Float:maxspeed = 200.0,playername[MAX_PLAYER_NAME],value,Float:xX,Float:yY,Float:zZ,Float:X,Float:Y,Float:Z;
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i) && gPlayerLogged_ && !IsPlayerNPC(i) && AFKModus[i] == 0)
    {
    new VID = GetPlayerVehicleID(i), Float:health;
    GetVehicleHealth(VID, health);
    if(IsPlayerInAnyVehicle(i))
    {
    GetVehiclePos(VID, xX, yY, zZ);
    GetVehicleVelocity(VID, X, Y, Z);
    value = floatround(floatsqroot((X*X) + (Y*Y) + (Z*Z)) * 100 * 1.40);
    if(GetPlayerState(i) == 2)
    {
    GetVehicleVelocity(GetPlayerVehicleID(i) ,X, Y, Z);
    value = floatround(floatsqroot((X*X) + (Y*Y) + (Z*Z)) * 100 * 1.40);
    if(value > maxspeed)
    {
    new tmpcar = GetPlayerVehicleID(i);
    if(!IsAPlane(tmpcar))
    {
    GetPlayerName(i, playername, sizeof(playername));
    format(string, sizeof(string), "AdmWarnung: %s(ID: %d) verdacht auf Speedhack, Km/h %d.", playername, i, value, i);
    SendAdminMessage(COLOR_KNALLROT, 1, string);
    }
    }
    }
    GetVehiclePos(VID, xX, yY, zZ);
    GetVehicleVelocity(VID, X, Y, Z);
    value = floatround(floatsqroot((X*X) + (Y*Y) + (Z*Z)) * 100 * 1.40);
    new Float:TankInProzent = GasDaten[GetVehicleModel(VID)-400][Tankvolumen]/100;
    if(Gas[VID]/TankInProzent >= 95)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 100);
    }
    else if(Gas[VID]/TankInProzent >= 90)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 90);
    }
    else if(Gas[VID]/TankInProzent >= 80)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 80);
    }
    else if(Gas[VID]/TankInProzent >= 70)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 70);
    }
    else if(Gas[VID]/TankInProzent >= 60)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 60);
    }
    else if(Gas[VID]/TankInProzent >= 50)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 50);
    }
    else if(Gas[VID]/TankInProzent >= 40)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 40);
    }
    else if(Gas[VID]/TankInProzent >= 30)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 30);
    }
    else if(Gas[VID]/TankInProzent >= 20)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 20);
    }
    else if(Gas[VID]/TankInProzent >= 10)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 10);
    }
    else if(Gas[VID]/TankInProzent >= 0)
    {
    SetPlayerProgressBarValue(i, TachoBar[i], 0);
    }
    if(GetPlayerState(i) == 2)
    {
    UpdatePlayerProgressBar(i, TachoBar[i]);
    }
    GetVehicleVelocity(GetPlayerVehicleID(i) ,X, Y, Z);
    value = floatround(floatsqroot((X*X) + (Y*Y) + (Z*Z)) * 100 * 1.40);
    new Motor[80], HBremse[80], Licht[80];
    new Float:carhealth;
    GetVehicleHealth(GetPlayerVehicleID(i),carhealth);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(i,x,y,z);
    new Float:x2, Float:y2, Float:z2, Float:output;
    GetVehiclePos(VID, x2, y2, z2);
    output = floatsqroot(floatpower(floatabs(floatsub(x2, vLastX[VID])), 2)+floatpower(floatabs(floatsub(y2, vLastY[VID])), 2)+floatpower(floatabs(floatsub(z2, vLastZ[VID])), 2));
    Kilometerstand[VID] += output;
    vLastX[VID] = x2; vLastY[VID] = y2; vLastZ[VID] = z2;
    Tankkm[VID] += output;
    if(Gas[GetPlayerVehicleID(i)] <= 0.00)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(GetPlayerVehicleID(i),engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(GetPlayerVehicleID(i),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Gas[GetPlayerVehicleID(i)] = 0.00;
    }
    if(Motorschaden[VID] == 1 && carhealth < 250)
    {
    SetVehicleHealth(VID, 250);
    }
    if(carhealth < 250 && Motorschaden[VID] == 0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(VID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(VID,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleHealth(VID, 250);
    Motorschaden[VID] = 1;
    }
    if((Tankkm[GetPlayerVehicleID(i)]/1000) >= 1)
    {
    Gas[GetPlayerVehicleID(i)] -= GasDaten[GetVehicleModel(GetPlayerVehicleID(i))-400][Tankverbrauch];
    Tankkm[GetPlayerVehicleID(i)] = 0.00;
    }
    new vehicleid = GetPlayerVehicleID(i);
    VehSpeed[VID] = value;
    if(!IsAPlane(VID) && !IsABoat(VID) && !IsAFahrrad(VID))
    {
    format(string,sizeof(string),"Fahrzeug: ~g~%s",VehNames[GetVehicleModel(VID)-400]);
    PlayerTextDrawSetString(i, Tacho[i][1], string);

    Spoiler anzeigen
    format(string,sizeof(string),"Geschwindigkeit: ~g~%d",value);
    PlayerTextDrawSetString(i, Tacho[i][2], string);

    Spoiler anzeigen
    format(string,sizeof(string),"Zustand: ~g~%.2f%%",carhealth);
    PlayerTextDrawSetString(i, Tacho[i][3], string);

    Spoiler anzeigen
    format(string,sizeof(string),"KM-Stand: ~g~%.2f",Kilometerstand[VID]/1000);
    PlayerTextDrawSetString(i, Tacho[i][4], string);

    Spoiler anzeigen
    format(string,sizeof(string),"~g~%.2f/%.2fL",Gas[VID],GasDaten[GetVehicleModel(VID)-400][Tankvolumen]);
    PlayerTextDrawSetString(i, Tacho[i][6], string);
    if(MotorSystemMotor[VID] == false)
    {
    format(Motor,sizeof(Motor),"~r~Motor");
    }
    else
    {
    format(Motor,sizeof(Motor),"~g~Motor");
    }
    if(MotorSystemLight[VID] == false)
    {
    format(Licht,sizeof(Licht),"~r~Licht");
    }
    else
    {
    format(Licht,sizeof(Licht),"~g~Licht");
    }
    if(Handbremse[VID] == false)
    {
    format(HBremse,sizeof(HBremse),"~r~Handbremse");
    }
    else
    {
    format(HBremse,sizeof(HBremse),"~g~Handbremse");
    }
    format(string,sizeof(string),"%s %s %s", Motor, HBremse, Licht);
    PlayerTextDrawSetString(i, Tacho[i][8], string);
    VehSpeed[VID] = value;
    new model = GetVehicleModel(VID);
    if(model == 528)
    {
    GetPlayerPos(i,x,y,z);
    format(string,sizeof(string),"~w~X: ~g~%.1f ~w~Y: ~g~%.1f ~w~Z: ~g~%.1f",x,y,z);
    PlayerTextDrawSetString(i, FBITacho[i], string);
    }
    }
    if(Gas[VID] > GasDaten[GetVehicleModel(VID)-400][Tankvolumen])
    {
    Gas[VID] = GasDaten[GetVehicleModel(VID)-400][Tankvolumen];
    }
    }
    else
    {
    PlayerTextDrawHide(i,Tacho[i][0]);
    PlayerTextDrawHide(i,Tacho[i][1]);
    PlayerTextDrawHide(i,Tacho[i][2]);
    PlayerTextDrawHide(i,Tacho[i][3]);
    PlayerTextDrawHide(i,Tacho[i][4]);
    PlayerTextDrawHide(i,Tacho[i][5]);
    PlayerTextDrawHide(i,Tacho[i][6]);
    PlayerTextDrawHide(i,Tacho[i][7]);
    PlayerTextDrawHide(i,Tacho[i][8]);
    HidePlayerProgressBar(i, TachoBar[i]);
    PlayerTextDrawHide(i,FBITacho[i]);
    }
    }
    }
    for(new i; i<MAX_PLAYERS; i++)
    {
    new Float: health;
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(i, sendername, sizeof(sendername));
    if(Spectate[i] != -1)
    {
    new targetid = Spectate[i];
    new VID = GetPlayerVehicleID(targetid),value = VehSpeed[VID];
    if(IsPlayerConnected(targetid))
    {
    if(PlayerInfo[i][pAdmin] >= 1 && IsPlayerInVehicle(targetid,VID))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(targetid, name, sizeof(name));
    GetPlayerHealth(targetid, health);
    format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~y~%s(ID:%d)~n~~y~Gesundheit:%.1f~n~~y~Geschwindigkeit:%d",name,targetid,health,value);
    GameTextForPlayer(i, string, 2500, 3);
    }
    if(PlayerInfo[i][pAdmin] >= 1 && !IsPlayerInVehicle(targetid,VID))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(targetid, name, sizeof(name));
    GetPlayerHealth(targetid, health);
    format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~y~%s(ID:%d)~n~~y~Gesundheit:%.1f~n~~y~Geschwindigkeit:%d",name,targetid,health,GetPlayerSpeed(targetid));
    GameTextForPlayer(i, string, 2500, 3);
    }
    SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(targetid));
    SetPlayerInterior(i, GetPlayerInterior(targetid));
    }
    }
    // Spectator Ende
    // CustomPickups
    if(PlayerInfo[i][pAdminOnDuty] == 1)
    {
    I_SetPlayerArmour(i, 2000.0);
    I_SetPlayerHealth(i, 200.0);
    }
    GetPlayerHealth(i,health);
    if(health > 180.0)
    {
    I_SetPlayerHealth(i, 150.0);
    }
    if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK && PlayerInfo[i][pAdmin] < 1338)
    {
    format(string, sizeof(string), "[SERVERGUARD]: %s wurde vom Server gebannt. Grund: Jetpack-Hack", sendername);
    SendAdminMessage(COLOR_LIGHTRED,1,string);
    SendClientMessage(i,COLOR_LIGHTRED,"Du wurdest gebannt: Permban. Grund: Jetpack-Hack. Erstelle jetzte einen Screenshot mit der Taste F8.");
    new hdw[256];
    gpci(i, hdw, sizeof hdw);
    format(string, sizeof string, "INSERT INTO `hwdban` (`Hardware`, `Grund`, `Admin`, `Spieler`, `BanDatum`) VALUES ('%s', 'Jetpack Hack', 'System', '%s', '%d')", hdw,sendername,gettime());
    self_mysql_queryEx(string);
    SetTimerEx("ConnectKick", 10,0,"i",i);
    format(string,sizeof(string),"{FF0000}[anticheat] {A9C4D4}[%s] wurde wegen Jetpack Hack gebannt.", SpielerName(i));
    UserAkte(PlayerInfo[i][pSQLID], string);
    format(string,sizeof(string),"[anticheat] [%s] wurde wegen Jetpack Hack gebannt.",SpielerName(i));
    EnterToLog("AntiCheat",string);
    }
    if(PlayerToPoint(2.0, i, 1173.1418,-1323.1293,15.3958) || PlayerToPoint(2.0, i, -2656.8435,639.3749,14.4531) || PlayerToPoint(2.0, i, 1613.2483,1816.0555,10.8203))
    {
    GameTextForPlayer(i, "~w~Versicherung: /krankenkasse ~w~Krankheitsheiler: /healme", 2000, 1);
    }
    else if(PlayerToPoint(7.0, i, 380.8262,-190.9529,1000.6328))
    {
    GameTextForPlayer(i, "~y~Willkommen im ~r~Donutladen ~g~/buydonut", 2000, 1);
    }
    else if(PlayerToPoint(2.0, i, 1223.4307,-1738.5736,13.5918))
    {
    GameTextForPlayer(i, "~y~Benutze ~g~/buylicenses um Scheine zu kaufen", 2000, 1);
    }
    /*else if(PlayerToPoint(2.0, i, 911.2007,-1235.1824,17.2109))
    {
    GameTextForPlayer(i, "~w~Hier kannst du dein Auto~n~freikaufen,~n~falls es abgeschleppt wurde:~n~~g~/freecar", 2000, 3);
    }*/
    else if(PlayerToPoint(2.0, i, -372.9898,-1428.4983,25.7266))
    {
    GameTextForPlayer(i, "~y~Benutze ~g~/gangunjail, ~y~/gangjail", 2000, 1);
    }
    else if(PlayerToPoint(2.0, i, 2310.0469,-8.3689,26.7422))
    {
    GameTextForPlayer(i, "~w~Um in das Jobmenu zu gelangen, benutze ~y~/jobs", 2000, 1);
    }
    else if(PlayerToPoint(2.0, i, 766.0630,13.2840,1000.7028))
    {
    GameTextForPlayer(i, "~y~Um einen neuen Fightingstyle zu erlernen, benutze ~r~/fightingstyle", 2000, 3);
    }
    else if(PlayerToPoint(2.0, i, -2237.0854,130.2281,1035.4141))
    {
    GameTextForPlayer(i, "~y~Um dir ein neues Handy zu kaufen, benutze ~r~/handys", 2000, 1);
    }
    else if(IsAtATM(i))
    {
    GameTextForPlayer(i, "~y~Willkommen beim ~r~ATM ~g~/atm", 2000, 1);
    }
    else if(PlayerToPoint(3.0,i,-100.3825,-25.0385,1000.7188))
    {
    GameTextForPlayer(i,"~y~Gib ~r~/shop ~y~ein, um dir etwas zu kaufen",2000,1);
    }
    else if(PlayerToPoint(1.0, i, 503.5941,-6.6935,1000.6719) || PlayerToPoint(1.0,i,505.6358,-79.8694,998.9609))
    {
    GameTextForPlayer(i,"~y~Gib ~r~/playdice ~y~ein, um im Casino zuspielen",2000,1);
    }
    else if(PlayerToPoint(2.0,i,362.5672,173.8237,1008.3828))
    {
    GameTextForPlayer(i, "~y~Willkommen in der ~r~Bank ~g~/bank", 2000, 1);
    }
    else if(PlayerToPoint(3.0, i,1209.7849,-1724.6807,13.5632))
    {
    GameTextForPlayer(i, "~g~Um mit dem Fuehrerschein zu beginnen, benutze ~y~/fsauto", 2000, 1);
    }
    else if(PlayerToPoint(80, i,-30.875, -88.9609, 1004.53))
    {
    GameTextForPlayer(i, "~y~Gib ~r~/buy ~y~ein, um dir etwas zu kaufen", 2000, 1);
    }
    else if(PlayerToPoint(3.0, i, 822.5699,1.5289,1004.1797))
    {
    GameTextForPlayer(i, "~w~Benutze ~y~/post",2000,1);
    }
    /*else if(PlayerToPoint(2.0, i,203.8202,-44.0331,1001.8047))
    {
    GameTextForPlayer(i, "~y~Gib ~r~/geiselnahme ~y~ein, um Hartmut als geisel zunehmen", 2000, 1);
    }*/
    else if(PlayerToPoint(2.0,i,376.5769,-68.2079,1001.5151) || PlayerToPoint(2.0,i,369.9709,-6.9479,1001.8589) || PlayerToPoint(2.0,i,374.6569,-119.6447,1001.4995) || PlayerToPoint(4.0,i,448.4754,-84.0636,999.5547) || PlayerToPoint(4.0,i,1203.1191,-898.2548,43.3799))
    {
    GameTextForPlayer(i, "Nutze /menu um dir Essen zu kaufen", 2000, 1);
    }
    else if(PlayerToPoint(2.0,i,1199.1437,-911.5316,48.0625))
    {
    GameTextForPlayer(i, "~y~Gib ~r~/drink ~y~ein, um dir etwas zu kaufen", 2000, 1);
    }
    else if(PlayerToPoint(5.0, i, 1796.6173,-1588.8010,13.5046) || PlayerToPoint(5.0,i, -2441.0500,522.8018,29.4661))
    {
    GameTextForPlayer(i, "~w~Prison einlieferung~n~~r~Nur fuer Cops", 2000, 3);
    }
    /*for(new z = 0; z < sizeof(ZollSystemInfo); z++)
    {
    if(PlayerToPoint(10.0, i, ZollSystemInfo[z][ZSObjectPosX], ZollSystemInfo[z][ZSObjectPosY], ZollSystemInfo[z][ZSObjectPosZ]))
    {
    GameTextForPlayer(i, "~y~Gib ~g~/zoll ~y~ein um den Zoll zu oeffnen", 2000, 3);
    }
    }*/
    if(GetPlayerSkin(i) == 0 || GetPlayerSkin(i) < 0 || GetPlayerSkin(i) == -1 || GetPlayerSkin(i) == 74)
    {
    SetPlayerSkin(i,101);
    }
    if(TransportTime[i] > 0)
    {
    if(TransportTime[i] >= 16)
    {
    TransportTime[i] = 1;
    if(TransportDriver[i] < 999)
    {
    if(IsPlayerConnected(TransportDriver[i]))
    {
    TransportCost[i] += TransportValue[TransportDriver[i]];
    TransportCost[TransportDriver[i]] = TransportCost[i];
    }
    }
    }
    TransportTime[i] += 1;
    format(string,sizeof(string),"TAXOMETER~n~~b~Platz(~w~1~b~): ~r~%d$ ~b~Platz(~w~2~b~): ~r~%d$~n~~b~Platz~b~(~w~3~b~): ~r~%d$",TransportCost[Taxometer1[i]],TransportCost[Taxometer2[i]],TransportCost[Taxometer3[i]]);
    TextDrawSetString(Taxometer[i], string);
    }
    if(TransportDuty[i] == 1)
    {
    format(string,sizeof(string),"TAXOMETER~n~~b~Platz(~w~1~b~): ~r~%d$ ~b~Platz(~w~2~b~): ~r~%d$~n~~b~Platz~b~(~w~3~b~): ~r~%d$",TransportCost[Taxometer1[i]],TransportCost[Taxometer2[i]],TransportCost[Taxometer3[i]]);
    TextDrawSetString(Taxometer[i], string);
    }
    /*if(!IsPlayerConnected(Wuerfeluser[Wuerfeluser[i]]) || !IsPlayerConnected(Wuerfeluser[i]))
    {
    //printf("TEST"); new dice = random(6)+1;
    if(Wuerfelrunde[i] == 1 || Wuerfeluser[Wuerfeluser[i] == 1)
    {
    }
    if(Wuerfelrunde[i] == 2 || Wuerfeluser[Wuerfeluser[i] == 2)
    {
    }
    if(Wuerfelrunde[i] == 3 || Wuerfeluser[Wuerfeluser[i] == 3)
    {
    }
    if(Wuerfeluser[Wuerfeluser[i] == 4)
    {
    }
    }*/
    if(PlayerInfo[i][pJailed] > 0 && PlayerInfo[i][pJailed] != 5)
    {
    if(PlayerInfo[i][pJailTime] > 0 && WantLawyer[i] == 0)
    {
    PlayerInfo[i][pJailTime] -= 1;
    }
    if(PlayerInfo[i][pJailTime] <= 0 && WantLawyer[i] == 0)
    {
    PlayerInfo[i][pJailTime] = 0;
    if(PlayerInfo[i][pJailed] == 1)
    { //Freilassung SFPD
    SetPlayerInterior(i, 0);
    SetPlayerPos(i,-1605.3224,713.3950,13.4961);
    SetPlayerVirtualWorld(i,0);
    }
    else if(PlayerInfo[i][pJailed] == 2)
    { //Freilassung Prison
    SetPlayerPos(i, 1799.5938,-1578.0750,14.0743);
    SetPlayerFacingAngle(i, 0);
    CP[i] = 0;
    PlayerInfo[i][pJailed] = 0;
    SetPlayerSkin(i, PlayerInfo[i][pChar]);
    SetPlayerInterior(i, 0);
    SetPlayerVirtualWorld(i,0);
    }
    else if(PlayerInfo[i][pJailed] == 3)
    { // Freilassung LSPD
    SetPlayerInterior(i, 0);
    SetPlayerPos(i, 1261.7485,-1629.1006,13.5510);
    SetPlayerVirtualWorld(i,0);
    }
    SendClientMessage(i, COLOR_GRAD1,"Du hast deine Schuld gegenüber der Gesellschaft beglichen.");
    format(string, sizeof(string), "~g~Freiheit~n~~w~Werde ein besserer Mensch");
    GameTextForPlayer(i, string, 5000, 1); PlayerInfo[i][pJailed] = 0; SetPlayerWorldBounds(i, 20000.0000,-20000.0000,20000.0000,-20000.0000); ClearCrime(i); SetPlayerToTeamColor(i); TogglePlayerControllable(i, 1);
    TextDrawHideForPlayer(i, CPrison[i]);
    }
    }
    if(Haltestellevar[i] == 1)
    {
    Haltestellenansage[i] = 0;
    Haltestellevar[i] = 0;
    }
    new Busfahrer;
    Busfahrer = GetPlayerIdFromName("BusbotSTADT");
    if(GetPlayerState(Busfahrer) == PLAYER_STATE_DRIVER)
    {
    if(!IsPlayerInRangeOfPoint(Busfahrer,8.0,1178.4788,-933.3400,43.0983)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,777.12, -1039.02, 24.49)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,618.70, -1255.52, 18.11)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,504.78, -1410.15, 16.31)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,393.42, -1657.83, 31.33)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1030.11, -1615.97, 13.71)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1174.99, -1859.03, 13.60)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1481.73, -1738.73, 13.74)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1854.72, -1759.30, 13.74)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1721.49, -1356.69, 13.67)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,461.55, -1026.70, 23.77)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,790.47, -1350.52, 13.67)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1128.96, -1413.82, 13.73)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1142.88, -1619.14, 14.17)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1814.63, -1920.21, 13.67)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1983.54, -2174.20, 13.84)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,2250.41, -2227.13, 13.69)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1436.90, -2287.23, 13.84)
    &&!IsPlayerInRangeOfPoint(Busfahrer,8.0,1431.78, -936.30, 36.53))
    {
    Haltestellevar[i] = 1;
    }
    if(Haltestellenansage[i] == 0)
    {
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1178.4788,-933.3400,43.0983))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Bürgershotnorth. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,777.12, -1039.02, 24.49))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Friedhof. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,618.70, -1255.52, 18.11))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Arbeitsamtls. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,504.78, -1410.15, 16.31))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Hotel LS. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,393.42, -1657.83, 31.33))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Angelsteg. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1030.11, -1615.97, 13.71))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Strand. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1174.99, -1859.03, 13.60))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Busdepot. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1481.73, -1738.73, 13.74))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Stadthalle. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1854.72, -1759.30, 13.74))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Alhambra. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1721.49, -1356.69, 13.67))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Downtown. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,461.55, -1026.70, 23.77))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Bank. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,790.47, -1350.52, 13.67))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Market Station. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1128.96, -1413.82, 13.73))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Krankenhaus. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1142.88, -1619.14, 14.17))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Zivispawn. ");//
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1814.63, -1920.21, 13.67))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Taxidepot. ");
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1983.54, -2174.20, 13.84))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Flughafen. ");
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,2250.41, -2227.13, 13.69))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Hafen. ");
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1436.90, -2287.23, 13.84))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: LS-Flughafen. ");
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    if(IsPlayerInRangeOfPoint(Busfahrer,7.0,1431.78, -936.30, 36.53))
    {
    //if(IsPlayerInVehicle(i,BusbotSTADT))
    if(IsInBus[i] != 0)
    {
    SendClientMessage(i,COLOR_BEIGE,"[Haltestellenansage]: Wir befinden uns zurzeit an der Haltestelle: Autobahnkreuz. ");
    Haltestellenansage[i] = 1;
    //Haltestellenwartetimer[i] = 15;
    }
    }
    }
    }
    if(IsPlayerConnected(i) && gPlayerLogged[i] && !IsPlayerNPC(i) && AFKModus[i] == 0)
    {
    new Float:antiarm;
    GetPlayerArmour(i,antiarm);
    if(gPlayerLogged[i] == 1 && PlayerInfo[i][pAdmin] < 1 && !IsACop(i) && antiarm > 1.0)
    {
    format(string,sizeof(string),"[SERVERGUARD]: %s wurde vom Server gekickt. Grund: Armour Hack",SpielerName(i));
    SendAdminMessage(COLOR_LIGHTRED,1,string);
    format(string, sizeof string, "[SERVERGUARD]: %s wurde vom Server gekickt. Grund: Armour Hack",SpielerName(i));
    SendClientMessage(i,COLOR_LIGHTRED,string);
    SetTimerEx("ConnectKick", 10,0,"i",i);
    }
    new IsInNoDm = 0;
    for(new ZI = 0; ZI < sizeof(NODMZonenInfo); ZI++)
    {
    if(IsPlayerInArea(i, NODMZonenInfo[ZI][NODMMinX],NODMZonenInfo[ZI][NODMMinY],NODMZonenInfo[ZI][NODMMaxX],NODMZonenInfo[ZI][NODMMaxY]))
    {
    IsInNoDm += 1;
    break;
    }
    }
    if(IsInNoDm == 1)
    {
    NoDmTimer[i] += 1;
    TextDrawShowForPlayer(i, NODMZoneTextdraw);
    }
    else
    {
    NoDmTimer[i] = 0;
    NoDmWarnungen[i] = 0;
    TextDrawHideForPlayer(i, NODMZoneTextdraw);
    }
    }
    }
    return 1;
    }