Beiträge von Jeffry
-
-
Nicht wirklich.
Du könntest den Punkt berechnen (http://forum.sa-mp.com/showthread.php?t=140765) aber ich bezweifle, dass das immer zu 100% funktioniert.
Man müsste zudem für die entsprechenden Objekte die genauen Maße kennen, und die Berechnung muss aus jedem Winkel passen. -
Erklären kann ich es dir nicht, aber schaue dir mal das hier an (ganz unten wird die 3D-Drehung erklärt), vielleicht hilft dir das:
https://wiki.delphigl.com/index.php/QuaternionDie Werte kannst du nutzen, um die Rotation des Fahrzeugs in alle drei Richtungen zu berechnen.
Hier etwas dazu: http://forum.sa-mp.com/showthread.php?t=167645
Vor allem die Posts darunter scheinen hilfreich. -
if(SetSpawnInfo(playerid, 0, inputtext, 314.5553, -1774.3304, 4.7110, 180.0000, 0, 0, 0, 0, 0, 0))
zu:
if(SetSpawnInfo(playerid, 0, strval(inputtext), 314.5553, -1774.3304, 4.7110, 180.0000, 0, 0, 0, 0, 0, 0)) -
Kannst du die Fehlermeldung bitte posten, und erklären, was dein Code machen soll?
-
-
Dann so, ja.
-
Wenn du den Spieler beim Eingang in die Virtuelle Welt (nicht Interior!) 5 setzt, ja.
-
Dann füge diese Schleife entsprechend mit dem Variablennamen für alle Gangs jeweils untereinander hinzu.
-
Den Code den ich dir gegeben habe kannst du nehmen und über den alten Code ersetzen.
Ich habe nur das hier hinzugefügt:
//Gang Fahrzeuge:
for(new i = 0; i < sizeof(BallasVehs); i++)
{
SetVehicleToRespawn(BallasVehs[i]);
} -
Wie kann ich Los Santos Bank in Farbe kennzeichenen?
Mit embedded colors:
"{FF0000}Hallo {FFFFFF}Welt!"Warum werden mit die §DTextLabeln im Interior nicht angezeigt?
Du erstellst die Labels in Welt 0 (letzter Parameter), daher zeigt es sie in deinem Interior (da veränderst du ja die Welt per Code) nicht an.
-
if(strcmp(cmdtext,"/ramfa",true)==0)
{
if(GetPlayerLeader(playerid))
{
if(gettime() < LastRespawned[GetPlayerFaction(playerid)-1])
return SendClientMessage(playerid,FACTION_COL_GREY,"Du kannst deine Fahrzeuge nur alle '5' Minuten respawnen.");
LastRespawned[GetPlayerFaction(playerid)-1] = gettime()+(60*5);
for(new fc;fc<sizeof(FactionCars);fc++)
{
if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
{
if(FactionCars[fc][fFaction][0] == GetPlayerFaction(playerid))
{
DestroyAndCreateFactionCar(fc);
}
}
}
//Gang Fahrzeuge:
for(new i = 0; i < sizeof(BallasVehs); i++)
{
SetVehicleToRespawn(BallasVehs[i]);
}
SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast deine Fraktionsfahrzeuge erfolgreich respawnt.");
}
else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
return true;
}Analog für alle anderen Fahrzeug-Arrays der Gangs.
-
Poste doch mal deine Codes vom Eingang und vom Ausgang (OnPlayerPickUpPickup).
-
Dann musst du es über virtuelle Welten regeln, sprich beim Ausgang abfragen, in welcher Welt der Spieler ist, und dann entsprechend die Position unterschiedlich setzen, je nach Welt in der der Spieler ist. Dann die Welt wieder auf 0 setzen.
-
Stört sich das dann untereinander oder kann ich das dann ganz normal weiter benutzen
Was meinst du mit "stören"?
Generell sehen sich die Spieler in unterschiedlichen Welten nicht, falls du das meinst. -
FuegosVehs[pv++]
Zu
FuegosVehs[pv]Das Hochzählen übernimmt ja die Schleife.
Außerdem kannst du die Deklaration der Variable vorvor die Schleife schreiben, das ist besser.
-
Dafür kannst du diese Funktion nutzen: Position hinterm Fahrzeug rausfinden.
stock GetPosVorVeh(vehicleid, Float:dist, &Float:x, &Float:y, &Float:z) //©Jeffry
{
new Float:a;
GetVehicleZAngle(vehicleid, a);
GetVehiclePos(vehicleid, x, y, z);
x += (dist * floatsin(-a, degrees));
y += (dist * floatcos(-a, degrees));
return true;
}Dies kannst du vie GetPlayerPos nutzen, und dann mit IsPlayerInRangeOfPoint prüfen, ob der Spieler innerhalb des Umkreises ist.
Wenn du es auf verschieden große Fahrzeuge anwenden willst, dann kannst du die "dist" über https://wiki.sa-mp.com/wiki/GetVehicleModelInfo herausfinden (Länge durch 2 wäre die dist dann).
-
Das Label ist aber InGame nicht zu stehen.
Lass dir die Position mal per Print ausgeben, und schaue ob das passt. Lasse dir dann ansonsten mal die Label-ID ausgeben, ob da eine generiert wird, oder ob das Label gar nicht erstellt wird.
Zum Problem 2:
Versuche
SCMEx(playerid,-1,"[BOT] %s: Hallo %s.",GetDynamicActorName(i),_GetPlayerName(playerid));
zu:
SCMEx(playerid,-1,"[BOT] %s: Hallo %s.",s_DynamicActors[i][e_iActorName],_GetPlayerName(playerid));
zu ändern. Geht das? -
Hier nun der Download. Quelle: http://forum.sa-mp.com/showpost.php?p=3479431&postcount=984
Hänge es auch im Anhang an, falls das englische Forum mal wieder down ist.
Zum Öffnen der Archive kann 7Zip verwendet werden (http://www.7-zip.org/). -