hey ich stehe gerade richtig aufm Schlauch
Ich habe ein Job Car System über ein Enum laufen.
Ich will jetzt an ein Tractor ein Trailer ran Attachen aber ich bekomme es nicht hin wie mache ich es, dass auch genau der Attachted wird wenn der Tractor kaputt geht ?
Tractor mit Anhänger
- reaL.
- Geschlossen
- Erledigt
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
-
-
Ich will jetzt an ein Tractor ein Trailer ran Attachen aber ich bekomme es nicht hin wie mache ich es, dass auch genau der Attachted wird wenn der Tractor kaputt geht ?
Ich versehe deine Frage nicht ganz...
Weißt du nicht wie man die an das Fahrzeug attacht oder was meinst du genau? -
Beitrag von reaL. ()
Dieser Beitrag wurde vom Autor gelöscht (). -
doch
Aber wie soll ich das machen das ich den Trailer einen Tractor zuordne nicht das wenn Tractor a respawnt der Trailer von Tractor b an Tractor a attachted wirdKann man die 610 überhaupt an die 531 heften ?
-
Ich bin irgendwie verwirrt was du überhaupt willst?
Wenn der Traktor kaputt geht bleibt der Anhänger soviel ich weiß da wo der Traktor mit dem Anhänger kaputt gegangen ist.
-
Hab dir mal ein kleines Script gebastelt.
C
Alles anzeigenSetTimer("SekundenTimer",1000,1); //Setzen des Timers auf 1000ms / 1Sekunde forward SekundenTimer(); public SekundenTimer() { for(new i=0; i<MAX_PLAYERS; i++) //Schleife durch alle Spieler Slots { if(!IsPlayerConnected(i)) continue; //ist der Spieler auf dem Server if(LoggedIn[i] == false) continue; //ist der Spieler eingeloggt if(!IsPlayerInAnyVehicle(i)) continue; //ist der Spieler in ein Fahrzeug new vehicleID = GetPlayerVehicleID(i); //Auslesen der FahrzeugID new modelID = GetVehicleModelID(vehicleID); //Auslesen der ModelID if(modelID != 531 && IsTrailerAttachedToVehicle(vehicleID) == 0) continue; //ist die ModelID 531 und hat es ein Trailer/Anhänger new attachtedVehicleID = GetVehicleTrailer(vehicleID); // Auslesen der FahrzeugID des Trailer/Anhänger new Float:VehicleHealth; //Deklarieren der Variable VehicleHealth new Float:VehicleHealth2; //Deklarieren der Variable VehicleHealth2 GetVehicleHealth(vehicleID,VehicleHealth); //Auslesen vom Schaden vom Zugfahrzeug GetVehicleHealth(attachtedVehicleID, VehicleHealth2); //Auslesen vom Schaden vom Trailer/Anhänger if(VehicleHealth != VehicleHealth2) //Ist der Schaden vom Zugfahrzeug ungleich zu dem Schaden vom Trailer/Anhänger { SetVehicleHealth(attachtedVehicleID,VehicleHealth); //Setzen des Schadens am Trailer/Anhänger print("Der Schaden vom Trailer %d wurde gesetzt[%d/%d]",attachtedVehicleID, VehicleHealth, VehicleHealth2); } } return 1; }
LoggedIn musst du anpassen und die Abfragen für die Jobs musst du auch noch tätigen
-
Nein ich will die Vehicle Id 610 an die Vehicleid 531 Heften mit AttachTrailerToVehicle aber das geht irgendwie nicht aber wieso ?
Kann mir jemand ein schnipsel machen wo es Funktioniert -
Hast du die VehicleID oder die ModelID als parameter genommen?
-
Ich habe so
Aber es geht nur wenn ich 1 Tractor und 1 Trailer drinnen habe sprich wenn ich die Anderen Tractoren/Trailer ausklammere geht esDas wird geprintet
Trailer 15, Tractor 20
Wird ausgeführt
Trailer 16, Tractor 21
Wird ausgeführt
Trailer 17, Tractor 22
Wird ausgeführt
Trailer 18, Tractor 23
Wird auageführt
Trailer 19, Tractor 24
Wird ausgeführt -
Wie sieht es denn im Spiel aus, wenn du an die Stelle hin läufst, wo die Traktoren und Anhänger stehen? (Kannst du ein Bild davon machen?)
-
die stehen so wie sie im enum definiert sind
-
die stehen so wie sie im enum definiert sind
Das sagt uns jetzt auch so viel aus mach mal ein Bild! InGame
-
ich kann gerade kein Bild machen da ich ich am Handy bin
Was bringt das Bild ? -
Damit wir uns vorstellen können, wie es im Spiel aussieht, ob sie nah beieiander sind, oder weit entfernt, etc. Das sieht man anhand der enum Daten schlecht.
Poste einfach ein Bild, wenn du Zeit hast, das pressiert ja nicht. Einen Code könntest du ja am Handy jetzt auch nicht ausprobieren, und der wäre ohnehin nur ins Blaue geraten. -
Das Problem ist das ich kein Wlan habe
Könntest du es einfach mal in ein Leeren Gamemode einfügen und dir ein Bild machen ?
Der Codes ist ja vollständig -
Das Problem ist das ich kein Wlan habe
Du könntest auch versuchen, mit deinem Handy das am PC zu fotografieren (lokaler Server geht ja auch ohne Internet), und dann mit dem Handy das Foto hier als Anhang einzufügen.
Ein Versuch ist es wert, und Jeffry könnte damit was anfangen, wenn er es noch nicht mit einem leeren Gamemode ausprobiert hat. -
-
Ok, ich habe es jetzt mal bei mir vom Prinzip her ausprobiert. Das Attachen funktioniert mit AttachTrailerToVehicle.
Problem bei dir wird sein, dass du AttachTrailerToVehicle nicht erneut aufrufst, wenn die beiden Fahrzeuge eingestreamt werden.
https://wiki.sa-mp.com/wiki/AttachTrailerToVehicle
[wiki]AttachTrailerToVehicle[/wiki]Jetzt natürlich die Frage der Funktionalität, wie du es haben willst, denn wenn man die Teile bei OnVehicleStreamIn attachen lässt, dann springen die Anhänger immer wieder an den Traktor, wenn sie für einen Spieler eingestreamt werden, angenommen also Spieler A lässt den Anhänger fallen, und dann kommt Spieler B in den Server und geht zu Spieler A, dann wird der Anhänger wieder attached. Man könnte versuchen die Position abzufragen, und sie nur dann direkt zu attachen, wenn sie am Spawn stehen.
Gegebenenfalls kann man es auch mit einem Befehl machen (/attach), der den nächsten Anhänger attached.
Ich weiß jetzt nicht, wie du es machen willst, bzw. wie es sein soll.
-
ich will den Trailer einen Festen Tractor zuordnen und die dann Attachen sodass wenn ein Tractor Kaputt ist und respawnt er dann auch wieder den Gleichen Trailer bekommt und nicht von ein Anderen Tractor
-
Ok, versuche bitte mal folgenden Code, ob es dann klappt:
public OnVehicleStreamIn(vehicleid, forplayerid)
{
if(Trailerid[vehicleid] != -1)
{
AttachTrailer(Trailerid[vehicleid],vehicleid);
}
else if(Tractorid[vehicleid] != -1)
{
AttachTrailer(vehicleid, Tractorid[vehicleid]);
}
return 1;
}Versuche ob es so klappt.
Wenn es so klappt, dann baue ich dir noch die Positionsprüfung ein.