Beiträge von Privat

    Du meinst ein Tacho :)


    Du erstellst TextDraws, setzt bei OnGameModeInit einen Timer, der alle 1000 Millisekunden abgerufen wird.
    Dann erstellst du ein public (Callback) der so heißt wie der Timer, und dort fragst du ab ob der Spieler Fahrer des Fahrzeuges ist, ob der im Fahrzeug ist, ob der Online ist, und ob der kein NPC ist.


    Das mit der Geschwindigkeit kann ich auch nicht, da das bisschen zu schwer für mich ist ^^
    Aber das mit den Schaden, das musst du im "format" formatieren.


    new Float:health,vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleHealth(vehicleid,health);
    format(string,sizeof(string),"Schaden: %0.2f",health);
    TextDrawSetString(tacho,string);


    Sollte so ungefähr sein, ansonsten schau dir Tutorials hier im Forum an.

    Dann musst du mir Variablen arbeiten.


    Beispiel:


    new motoran[MAX_PLAYERS];//GANZ OBEN


    if(newkeys & .....)
    {
    if(motoran[playerid] == 0)
    {
    //MOTOR AN
    motoran[playerid] = 1;
    return 1;
    }
    if(motoran[playerid] == 1)
    {
    //MOTOR AUS
    motoran[playerid] = 0;
    return 1;
    }
    }


    Das andere darfst du ausfüllen :)

    Ja, aber das kannst du nur zu Fuß benutzen, im Fahrzeug geht das nicht.


    mach das so:


    if(newkeys & KEY_WALK || KEY_FIRE)
    {
    //:..
    }


    Ich bin mir nicht sicher, ob das klappt, probieren, aber ich glaube nicht, bin mir auch nicht sicher ^^

    Du musst das so machen, BEISPIEL:


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_SECONDARY_ATTACK)//TASTE ENTER
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1555.3942,-1675.6497,16.1953))
    {
    SetPlayerInterior(playerid,4);
    SendClientMessage(playerid,ROT," Du bist nun angekommen!");
    }
    }
    return 1;
    }


    In deinem Fall:


    Mach es jetzt mit der Taste ENTER


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vehicleid,...
    SetVehicleParamsEx(vehicleid,...
    SendClientMessage(playerid,ROT," Motor an!");
    }

    Aber das ist auch ein wenig "blöd".



    Wenn du auf dem Server dann ein Auto hast, was an ist, und dort einsteigst, geht das automatisch aus.
    Warum ging das mit der For Schleife nicht, bekommst du dann Errors / Warnings, oder wie?


    /e
    for(new i = 0;i<MAX_VEHICLES;i++)
    {
    GetVehicleParamsEx(i ,engine,lights,doors,alarm,bonnet,boot,objective);
    SetVehicleParamsEx(i ,VEHICLE_PARAMS_OFF,lights,doors,alarm,bonnet,boot,objective);
    }

    Du musst auch bei OnGameModeInit eine for Schleife machen, und dort alle Fahrzeuge auf aus stellen.


    for(new i = 0;i<MAX_VEHICLES;i++)
    {
    GetVehicleParamsEx(vehicleid,engine,lights,doors,alarm,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,doors,alarm,bonnet,boot,objective);
    }


    Müsste dann gehen ^^

    Mach das so:


    if(strcmp("/Motor", cmdtext, true, 10) == 0)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vehicleid,engine,lights,doors,alarm,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,doors,alarm,bonnet,boot,objective);
    return 1;
    }


    Ganz oben im Script:


    new engine,lights,alarm,doors,bonnet,boot,objective;

    Geladen werden sie, wenn ich sie über der Datenbank verändere.


    SavePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt] == 0)return 1;
    new query[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(query,sizeof(query),"UPDATE User SET level='%i',Geld='%i',skinid='%i',adminlevel='%i',fraktion='%i' WHERE username='%s'",GetPlayerScore(playerid),GetPlayerMoney(playerid),sInfo[playerid][ID],sInfo[playerid][skinid],sInfo[playerid][adminlevel],sInfo[playerid][fraktion],name);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }
    ResetPlayer(playerid)
    {
    sInfo[playerid][level] = 0;
    sInfo[playerid][eingeloggt] = 0;
    sInfo[playerid][ID] = 0;
    sInfo[playerid][skinid] = 0;
    sInfo[playerid][adminlevel] = 0;
    sInfo[playerid][fraktion] = 0;
    return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
    SavePlayer(playerid);
    ResetPlayer(playerid);
    return 1;
    }