Hallo leute
Ist es möglich Handbremse zu Benutzen?
Wenn ja wie scripte ich sowas?
Mfg
Hallo leute
Ist es möglich Handbremse zu Benutzen?
Wenn ja wie scripte ich sowas?
Mfg
gibts doch eigentlich schon is " " (leertaste) oder soll das auch nur ne normale bremse sein ?
mfg
EDIT: oder meinste das sich das auto nicht mehr bewegen kann ? (genauere angaben wären nett :))
Also es sollte so sein:
/handbremse
Auto ist gefreezet und mann nicht damit fahren und wenn man wieder /handbremse eingibt sollte der auto entfreezed sein
strg oder leertaste
ocmd:handbremse(playerid,params [])
{
Freeze(playerid);
SendClientMessage(playerid,Farbe,"Du hast die Handbremse gezogen.");
return 1;
}
So in Etwa ?
Spieler freezen (TogglePlayerControllable) und nach max. 5 Sekunden entfreezen
@über mir edit: und darüber
das ist ne schlechte idee da er ja nicht den player freezen will sondern nur das auto
meine idee wäre die velocity zu sätzen:
http://wiki.sa-mp.com/wiki/SetVehicleVelocity
z.b. in onplayerupdate -> testen ob in auto -> wenn ja ist die handbremse angezogen -> wenn ja setvelocity auf 0
Könnt ihr mir bitte das vor zeigen?
Ich bin neu beim Scripten
Könnt ihr mir bitte das vor zeigen?
Ich bin neu beim Scripten
also ne vorlage steht doch auf samp wiki. wenn du neu im scripten bist, taste dich doch nicht gleich an sowas ran. nimm dir ertsmal etwas leichteres vor. bin selber auch schon etwas am scripten aber ich würde es auch nicht machen wollen. klingt viel zu kompliziert.
Mach doch einfach den Motor aus, dann fährt es nicht mehr:
if(strcmp("/handbremse",cmdtext,true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerVehicleSeat(playerid)==0) //Spieler ist Fahrer
{
new vid=GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); //Fahrzeugzustand in Variablen speichern
if(engine) //Motor an
engine=0;
else engine=1; //Motor aus
SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); //Fahrzeugzustand aktualisieren
}
}
return 1;
}
Wo muss ich das genau einfügen?
Dort wo die anderen CMDs in deinem Script auch stehen, unter OnPlayerCommandText().
Angesichts dieser Frage schließe ich mich Rockys Hinweis aber an, es gibt viele brauchbare Anfängertutorials.
unter public onplayercommandtext
Danke erstmal
Aber wenn ich den Auto weg schiebe lässt er sich Bewegen..
Ich möchte das Auto gefreezet ist...
Wenn ein Spieler der darin sitzt nicht auch gefreezed werden soll ist das so einfach erstmal leider nicht möglich.
Aso Okay schade
Hm , Okay , Motor geht aus , aber wie man ein Fahrzeug Freezet weiß ich auch nicht >.>
Würde das auch mal gerne wissen
Oder hab eine Idee !
Eventuell Mit Einen Timer Vielleicht Der Per Cmd Oder Taste gestartet Wird und Alle Paar Millisekunden Das Vehicle An Die Position zurück Setzt is Aber Nicht Sehr Empfehlenswert Weil Das Zum Lagg Führen Kann
Hat jemand eine Idee?
Du machst ein Enum mit MAX_VEHICLES so z.B.
enum handbremse_cars
{
handbremse
}
new HbCar[MAX_VEHICLES][handbremse_cars];
Dann lässt du bei /handbremse dir die carid des cars geben in dem du gerade sitzt und machst HbCar[carid][handbremse] = 1;
Dann lässt du den Spieler frezen.
so z.B.:
HbCar[GetPlayerVehicleID(playerid)][handbremse] = 1;
TogglePlayerControllable(playerid, 0);
Und bei OnPlayerStateChange lässt du überprüfen ob der Spieler der Fahrer ist, wenn ja lässt du dir wieder die carid geben und überprüfst das mit einer if abfrage ob die handbremse gezogen wurde, wenn ja lässt du ihn wieder freezen.
so z.b.
if(newstate == PLAYER_STATE_DRIVER)
{
if(HbCar[GetPlayerVehicleID(playerid)][handbremse] == 1) {
TogglePlayerControllable(playerid, 0);
}
Dann musst du nur noch einen Befehl machen das die Handbremse draußen ist oder das bei /handbremse einfügen das es überprüft ob das car die handbremse drinnen hat oder nicht und dann die handbremse reinmacht oder nicht.
Ich weis nicht ob du dann noch einen befehl brauchst zum aussteigen falls du die handbremse nicht lösen willst oder machst ein keyevent und überprüfst ob er im car ist und und und.
Ka. ob das so geht, nicht getestet^^.
warum freezt ihr alle den spieler? mach doch einfach SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,Lichter,....etc.) dann ist der motor aus und es sieht so aus als wenn die handbremse angezogen wäre .. das erfordet aber grundwissen und ist nichts für anfänger also fang sofern du noch einer bist mit kleineren sachen an guck dir hier im forum tuts an und mach keinesfalls C&P dann erlernst du das Scripting sehr schnell sowas kann nicht jeder also fang lieber klein an