Autos von SpielerID lösen (Kilometerstand)

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
  • Hallo zusammen,


    ich brauche mal einen kleinen Anstups zum denken



    undzwar habe ich ja momentan dass die Autos auf die PlayerID gespeichert werden, so auch der Kilometerstand auf die PlayerID


    jetzt muss natürlich der Stand des Autos geändert werden und nicht die der PlayerID


    heißt BSP:+
    Spieler A fährt 3 KM
    Spieler B steigt ein, Kilometerstand steht wieder auf 0


    Nun soll ja nicht der KM Stand auf die PlayerID gespeichert werden sondern auf das Auto


    Ich kann euch gerne Zeilen vom Script geben, sagt mir nur was ihr braucht



    MFG und vielen dank schonmal


    Der Akzeptierer

  • Okay heißt bei diesen Zeilen hier vom Kilometerstand muss ich es wo ändern???


    Mein Timer

    Spoiler anzeigen
    public zehn(vehicleid)
    {

    Spoiler anzeigen
    for(new i;i<MAX_PLAYERS;i++) {
    if(!IsPlayerConnected(i))continue;
    if(!IsPlayerInAnyVehicle(i))continue;
    new Float:Distanz,km2[32];
    GetVehiclePos(vehicleid,pNewKM[0][i],pNewKM[1][i],pNewKM[2][i]);
    Distanz=GetVehicleDistanceFromPoint(vehicleid,pOldKM[0][i],pOldKM[1][i],pOldKM[2][i]);
    if(Distanz > 150){ Distanz=0; }
    cInfo[i][kmstand] += Distanz/1000;
    pOldKM[0][i] = pNewKM[0][i];
    pOldKM[1][i] = pNewKM[1][i];//Damit die schleife da bleibt kk ^^ kk = ok
    pOldKM[2][i] = pNewKM[2][i];
    //floatround(cInfo[i][kmstand],km2);
    format(km2,sizeof km2,"%0.2f",cInfo[i][kmstand]);
    //SendClientMessage(i,-1,"Kilometerstand aktualisiert");
    PlayerTextDrawSetString(i,Textdraw25[i], km2);//Das cInfo [kmstand]sollte besser eine Float sein, da man damit finde ich präziser arbeiten kann ok könntest du evtl Speichern und auslesen noch überprüfen glaube habe da auch gefailt klar
    }
    return 1;
    }




    und mein OnPlayerStateChange



    Spoiler anzeigen
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {




    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) // Player entered a vehicle as a driver
    {
    {
    new vehicleid=GetPlayerVehicleID(playerid);
    PlayerTextDrawShow(playerid,Textdraw20[playerid]);
    PlayerTextDrawShow(playerid,Textdraw21[playerid]);
    PlayerTextDrawShow(playerid,Textdraw22[playerid]);
    PlayerTextDrawShow(playerid,Textdraw23[playerid]);
    PlayerTextDrawShow(playerid,Textdraw24[playerid]);
    PlayerTextDrawShow(playerid,Textdraw25[playerid]);
    PlayerTextDrawShow(playerid,Textdraw26[playerid]);

    zehn(vehicleid);
    GetPlayerVehicleID(playerid);
    GetVehiclePos(GetPlayerVehicleID(playerid),pOldKM[0][playerid],pOldKM[1][playerid],pOldKM[2][playerid]);
    SetTimerEx("zehn",1000,1,"d",GetPlayerVehicleID(playerid)); //hier muss ich doch dann den Timer aktivieren oder? Ja, aber warte
    }
    new vehicleid=GetPlayerVehicleID(playerid);
    new modell = GetVehicleModel(vehicleid);
    if(modell == 462)
    {
    if(sInfo[playerid][rollerschein] == 1)return SendClientMessage(playerid,CL_GREEEN,"Viel Spaß beim fahren deines Rollers");
    else if(sInfo[playerid][rollerschein] == 0) return RemovePlayerFromVehicle(playerid),
    SendClientMessage(playerid, RED, "Du hast keinen Rollerschein");
    }
    new model1 = GetVehicleModel(vehicleid);
    if(model1 == 400)
    {
    if(sInfo[playerid][autoschein] == 1)return SendClientMessage(playerid,CL_GREEEN,"Viel Spaß beim fahren deines Autos");
    else if(sInfo[playerid][autoschein] == 0) return RemovePlayerFromVehicle(playerid),
    SendClientMessage(playerid, RED, "Du hast keinen Autoführerschein");
    }
    new vID=GetPlayerVehicleID(playerid);
    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 %iEuro kaufen?",ahCars[i][c_preis]);
    ShowPlayerDialog(playerid,DIALOG_AUTOHAUS,DIALOG_STYLE_MSGBOX,"Autoverkauf",string,"Ja","Nein");
    break;
    }



    if(modell == 428)
    {
    if(TorStatus[AC_JOB1] == true)
    {
    SendClientMessage(playerid, -1,"Mit /banking kannst du deine Gehalt info sehen!");
    }
    else if(TorStatus[AC_JOB1] == false)
    {
    SendClientMessage(playerid, -1,"Dieser Job ist zurzeit deaktiviert. Komme später wieder.");
    RemovePlayerFromVehicle(playerid);

    }
    }
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT) // Player went out of a vehicle as a driver
    {

    PlayerTextDrawHide(playerid,Textdraw20[playerid]);
    PlayerTextDrawHide(playerid,Textdraw21[playerid]);
    PlayerTextDrawHide(playerid,Textdraw22[playerid]);
    PlayerTextDrawHide(playerid,Textdraw23[playerid]);
    PlayerTextDrawHide(playerid,Textdraw24[playerid]);
    PlayerTextDrawHide(playerid,Textdraw25[playerid]);
    PlayerTextDrawHide(playerid,Textdraw26[playerid]);
    }
    }
    return 1;
    }