Hallo, ich möchte gerne das wie RGN scripten, dass man ab 1000 Meter Entfernung
von einem Cop keine Wanteds bekommt, nur ich weiß nicht wie :&
Ich brauche eure Hilfe :3
Frage
- Jayden.Kero
- 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
-
-
Function Float:GetDistanceBetweenPlayers(p1,p2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if(!IsPlayerConnected(p1) !IsPlayerConnected(p2))
{
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
} -
Wo muss ich das einfügen, also unter OnGameModeInit, oder wo?
-
Nein das ist ein Stock xD
Du kannst das ganz unten ins Script tun....
Du bekommst dadurch nen neuen "Befehl"
mit dem du die entferntheit von 2 Spielern messen kannst.... zb:
if(GetDistanceBetweenPlayers(playerid,giveplayerid) < 8)
{
//ect....
}
L.G.
heyho -
Joa...
Trotzdem brauche ich noch Hilfe, eingefügt habe ich es , Ahnung weiter habe ich nicht. -
Da steht doch alles falls du weiterhin hilfe brauchst sende mir deine TV Daten per pn.......
-
if(GetDistanceBetweenPlayers(playerid,giveplayerid) >= 1000)
{
Spieler keine Wanteds geben
}
else
{
Spieler Wanteds geben
}
Halt den Wantedgeben-Befehl anpassen. -
Leute, es hilft auch nichts, wenn Ihr ihm die Funktion nicht erklärt.
Und wenn du es ihm per TV machst, lernt er es ebenfalls nicht.
Zu der o.G. Funktion:
Float: steht für den Rückgabewert. Dieser ist eine Fließkommazahl, um genau zu sein, die Differenz zwischen 2 Spielern.
Als Parameter sind oben p1 und p2 definiert. Diese gibt man später bei der Verwendung der Funktion an:
GetDistanceBetweenPlayers(p1,p2)Dabei musst du "p1" und "p2" natürlich durch die playerID's ersetzen (In der Abfrage, NICHT in der Funktion selbst!)
In der Funktion wird folgendes gemacht:Er fragt, ob beide SpielerIDs verbunden sind. Wenn nein, returnt er eine -1.00, also einen Fehler.
Wenn beide Spieler verbun den sind, speichert der die Position (x,y,z-Koordinaten) in den oben definierten Float Variablen.
Mittels der Berechnung, die meine Mathematikkentnisse allerdings nicht zu verstehen vermögen, berechnet die Funktion nun die Distanz und returnt diese als Float.Bedeutet: Mit GetDistanceBetweenPlayers(p1,p2) hast Du nun die Distanz zwischen den Spielern.
-
breadfish.de
Hat das Thema geschlossen.