Beiträge von Jeffry

    Einwandfrei, bloß blöd das schon bei 23% das Auto brennt.


    Dann mach es zu
    hp = (hp-250.0) / 7.5;
    Ich glaube ab 250 brennt es. Ansonsten musst das anpassen. Die 7.5 auch. (7.5 = (1000-250)/100))
    Also entsprechend auch da die 250 einfügen, dann kommst du auf den neuen Teiler.

    Ah, sorry. Du loopst ja durch alle Spieler und nicht durch die Autos.
    GetVehicleHealth(i,hp);
    Zu
    GetVehicleHealth(GetPlayerVehicleID(i),hp);

    format(string1,sizeof(string1),"HP: %s%",GetVehicleHealth(i,hp));
    zu:
    GetVehicleHealth(i,hp);
    format(string1,sizeof(string1),"HP: %d%%",floatround(hp));

    OnPlayerStateChange:
    if(newstate != PLAYER_STATE_DRIVER) TextDrawHideForPlayer(playerid,Tacho);
    das ist besser als OnPlayerExitVehicle.


    Anstatt OnPlayerUpdate könntest du einen Timer verwenden.

    Füge mal vor:
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    das ein:
    if(vID == 0) return SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist nicht in einem Auto, oder nahe genug an einem Auto.");


    Ich schätze du warst nicht nahe genug am Auto.

    ocmd:carlock(playerid)
    {
    new engine, lights, alarm, doors, bonnet, boot, objective, vID;
    if(!IsPlayerInAnyVehicle(playerid))
    {
    new Float:x, Float:y, Float:z;
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    GetVehiclePos(i, x, y, z);
    if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
    {
    vID = i;
    break;
    }
    }
    }
    else vID = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    switch(doors)
    {
    case 0:
    {
    SetVehicleParamsEx(vID,engine,lights,alarm,1,bonnet,boot,objective);
    new string[144];
    format(string, sizeof(string),"{0xFFFFFFAA}Du hast soeben dein Fahrzeug (%s) {0x00FF00FF}abgeschlossen", GetVehicleFriendlyName(vID));
    SendClientMessage(playerid,weiß, string);
    }
    case 1:
    {
    SetVehicleParamsEx(vID,engine,lights,alarm,0,bonnet,boot,objective);
    new string[144];
    format(string, sizeof(string), "{0xFFFFFFAA}Du hast soeben dein Fahrzeug (%s) {0xE10000FF}aufgeschlossen", GetVehicleFriendlyName(vID));
    SendClientMessage(playerid,weiß, string);
    }
    }
    return 1;
    }

    Na der Befehl geht nur wenn du in einem Fahrzeug bist. GetPlayerVehicleID gibt die vehicleid zurück von dem Fahrzeug in dem der Spieler ist.


    Wenn du ein nahegelegenes Auto nehmen willst musst du einen Loop durch alle vehicleids machen, die Position abfragen und abfragen ob der Spieler im Range diese Position ist. Wenn ja, diese id nutzen.

    Das heißt, dass du eine Verbindung nutzt, die nicht mehr besteht. Der Zeit entnehme ich, das das nicht gerade eben passiert ist, deshalb konnte ich darauf schließen, dass auch das an dem GMX lag.
    Außer du hast deine Uhr verbogen.

    Ja, wobei ich denke dann liegt die Verschiebung an dem GMX. Deshalb starte ich den Server bei mir immer komplett neu, damit umgehst du solche Probleme.
    Musst mal prüfen ob du auch schön alle Textdraws löschen lässt wenn der Server neu gestartet wird per GMX. Grade bei Filterscripts ist das oft ein Problem, da OnPlayerConnect erneut aufgerufen wird, der Filterscript aber nicht neu gestartet wird. Hat oft zur Folge, dass Dinge doppelt vorhanden sind.