Bikes unter 0.3c?

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
  • Hi,


    ich arbeite an einem Script für SA-MP 0.3c, und mir kommt vor, als würde man mit Fahrrädern nicht fahren können, wenn man Motor und Lichter ned automatisch angehen lässt... Leider fehlt mir auch jeglicher Lösungsansatz, weshalb ich euch frage, ob und wie man das lösen könnte?
    In OnPlayerEnterVehicle abfragen, ob es ein Bike/BMX ist und wenn ja, den Motor anmachen scheint mir doch zu einfach, aber wenn es so ist, dann tuts mir leid.


    Greetz,
    Major

  • Beitrag Spam sinnlos. Du schlägst selber was vor wahrscheinlich ohne es zu testen.
    was bringt dir das? Teste es doch einfach es klappt bestimmt.


    Prüf entweder bei OnPlayerEnterVehicle ob es ein Fahrad ist wenn ja mach den Motor an
    oder du machst bei deinem Dialog/ Command eine abfrage rein ob es ein Fahrrad ist und machst da den Motor an.
    2 Varianten es gibt bestimmt noch mehr z.B. mit Timer jedoch nimm einfach die die du selbst Vorgeschlagen hast.
    Oder die mit dem einbauen das es überprüft beim Command.
    mfg


    //edit Text


    Bewerte mich und meine Transaktionen als Mittelsmann

  • Ich hab es bei mir im Script so gemacht:
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 510)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }
    Es währe jedoch trotzdem nett von dir wenn du uns deinen Befehl zum Motor starten zeigst das wir dir weiterhelfen können das wir da einbauen wenn du
    auf dem bike /e /engine /m oder /motor keine ahnung was du hast eingibst das da steht "Du sitzt auf einem Fahrad das hat doch kein Motor" oder ähnliches.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

  • Danke, so ein Anfänger bin ich auch nicht, dass ich Codestücke gebraucht hätte, hätte mir nur irgendwie gedacht, dass es eben daran liegt, dass Motor und so angemacht werden müssten, und Fahrräder haben keinen Motor und deshalb wäre des paradox und bla bla bla... :D versteht ihr?


    @ SuFu: "Bike 0.3c" ergibt nur lauter Zeugs mit Godfather und Führerschein fürs Fahrrad und den ganzen Schmarrn. Hätte mir ned wirklich weitergeholfen :D


    PS: was ich noch übersehen hab: es ist sogar schon so eingebaut wie im Eröffnungspost erwähnt, bringt aber Nüsse.

    if(IsVehicleBike(GetVehicleModel(vehicleid)))
    {
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
    }

  • Also haste jetzt eine Lösung?
    Wenn nicht schreib hier nochmal in den Thread oder schick mir ne PN mit deinem Problem.
    Ich hoffe dir hat der Codeschnipsel geholfen.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

  • Du musst definieren was Fahrrädwer sind.
    Dafür lkannst du entweder ein Tutorial nehmen um Fraktionscars festzulegen da das inetwas das gleich ist oder du definierste sie mit einem forward wir hier:
    forward IsABike(vehicleid);
    public IsABike(vehicleid)
    {
    new modelid = GetVehicleModel(carid);
    if(modelid == 509 || modelid == 481 || modelid == 510) //Des sind die Fahrräder
    {
    return 1;
    }
    return 0;
    }
    Wenn du es so hast kannste des abfragen isABike bei on player enter verhicle.
    Also so:


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(IsABike(vehicleid))
    {
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
    }
    return 1;
    }
    Ungetestet






    Oder du setzt da die abfrage ein:
    public IsABike(vehicleid)
    {
    new modelid = GetVehicleModel(carid);
    if(modelid == 509 || modelid == 481 || modelid == 510) //Des sind die Fahrräder
    {
    new engine,lights,alarm,doors,bonnet,boot,objective; // Das der Motor angemacht wird
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective); // Das der Motor angemacht wird
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); // Das der Motor angemacht wird
    return 1;
    }
    return 0;
    }
    Das ist jedoch ungetestet also könnt zu errors führen oder zu bugs.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

  • Ich denke, diese Lösung wird dir sehr helfen ;)


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(AutoSchloss[vehicleid] == 1)
    {
    ClearAnimations(playerid);
    SendClientMessage(playerid,COLOR_GREEN,"Dieses Auto ist verschlossen");
    return 1;
    }
    return 1;
    }


  • Das wollte er doch garnicht wissen nach meiner auffassung.
    Er wollte lediglich wissen wie man den Motor bie Fahrrädern ohne ein Command anmacht jedoch bei den anderen Autos der Motor bleibt also zum anmachen.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

  • IsABike ist in Form von "IsVehicleBike(carid)" realisiert, wobei carid eine ID aus der DB ist, die mittels Funktion aus nem Array mit Infos (die durch ein Enum dargestellt werden) geholt wird.
    Problem hierbei ist, dass obwohl der Motor in OnPlayerEnterVehicle angemacht wird, Bikes immer noch nicht fahrbar sind...

  • Vermutlich hast du dann irgendwo eingestellt das man gefreezt wird oder sonstiges das musst du suchen geh am besten mal alles durch mit ControlAble und FreezPlayer
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann