Robdeflop1, 12.11.2009, 19:49 |
---|
Hi Ich wollte ma fragen wie ich die distanz zwichen 2 punkten auf der karte rausbekommen kann. Ich hatte volgende theorie: Pos 1 = X + Y + Z = XYZ Pos 2 = X2 + Y2+ Z2 = XYZ2 oda so Dann die größere von den beiden zusammengemixxten poshaufen minus die kleiner = distanz zwichen den beiden punkten. Das stimmt aber leider nit Kann mir einer helfen wie ich das machen kann? in pawno *edit: oda zumindestens sagen wie ich das am besten rechnen kann/muss, den rest kann ich dann alleine. MFG, RoB |
Nico, 13.11.2009, 12:52 |
---|
d = SQRT((x2-x1)^2+(y2-y1)^2+(z2-z1)^2)
Gruß Nico |
Robdeflop1, 13.11.2009, 15:10 |
---|
HI Schonma danke^^ Wofür steht das SQRT? Meinst du damit floatsqroot? MFG, RoB |
Recycler, 13.11.2009, 15:56 |
---|
Ja, floatsqroot ist an dieser Stelle die richtige Funktion (Quadratwurzel), wenn auch langsam. Eine mögliche Implementierung ohne floatpower (ebenfalls eine langsame Funktion) wäre zum Beispiel: Einfache Multiplikation der Faktoren. MfG Recycler |
Robdeflop1, 13.11.2009, 16:45 |
---|
Hi Funzt das so recycler?? Ich dachte das muss mit wurzel gemacht werden, sonst bekommt man iwie probleme bei diagonalen strecken. Un da steht nirgendwo floatpower^^ MFG, RoB |
Recycler, 13.11.2009, 17:17 |
---|
Das funktioniert wie in dem Beispiel. Und hier kommt die Quadratwurzel zum Einsatz, meinetwegen auch die "normale" Wurzel als Umkehrung des Quadrats x². floatpower benutze ich in dem Code nicht und das ist wie gesagt eine Verbesserung. Viele Scripte benutzen diese Potenzfunktion und nehmen dann als Exponenten die 2. Equivalent habe ich den Faktor mit sich selbst multipliziert. Das ist schneller als floatpower mit 2, jedenfalls in PAWN. MfG Recycler |
Robdeflop1, 14.11.2009, 16:45 |
---|
Hi Achsöö^^ Danköö, ich hätte in mathe besser aufpassen sollen Vielleicht hab ich demnächst nochma ne frage zu dem thema, bin nämlich grad selber n km/h tacho am machen, den ich nit soo einfach finde^^ Aber jetzt wo ich ja die formel hab sollte es eig kein prob sein. MFG, RoB |
Recycler, 14.11.2009, 18:07 |
---|
Seit SA-MP 0.3 gibt es eine extra Funktion um die Geschwindigkeit des Spielers zu ermitteln. Der Distanzalgorithmus ist nicht mehr nötig. So etwas sollte reichen: (ungetestet) Die Konstanten am Ende sind irgendwelche schlauen Werte die die GTA Einheit in eine halbwegs realistische KM/H Einheit umrechnen. Ohne 1.61 hat man MPH. X, Y und Z sind die Werte aus GetPlayerVelocity bzw. GetVehicleVelocity. MfG Recycler |
Robdeflop1, 14.11.2009, 18:36 |
---|
achsoo Wusste ich noch garnit. Also rechnet der das schon mit wurzel usw automatisch oda was? MFG, RoB *EDIT: Was is daran falsch?: ich hatte es vorher auch iwie so, aber nie gehts nimmer. Hab iwas geändert, weiß aber nichmehr was. Der Server schmiert ab wenn ich ig gehe un in ein car einsteige. MFG, RoB |
Recycler, 14.11.2009, 18:49 |
---|
Lass doch diese alte Berechnung weg und mach es wie ich es vorgeschlagen habe. Das ist um einiges schneller und einfacher! MfG Recycler |
Robdeflop1, 14.11.2009, 18:55 |
---|
ok Muss ich das dann auch mit nem timer usw machen? MFG, RoB |
Recycler, 14.11.2009, 18:58 |
---|
Ja, das musst du dann wohl auch mit einem Timer machen. Nur die Berechnung ist einfacher geworden. MfG Recycler |
Robdeflop1, 14.11.2009, 18:58 |
---|
ok thx, ich werds dann so machen MFG, RoB |
Robdeflop1, 14.11.2009, 19:16 |
---|
HI Nu hab ich das raus: Aber das funzt net ganz^^ Da steht jenachdem in welche richtung man fährt n minus vor der geschwindigkeit. Der timer is 0,5 sekunden. *EDIT: Un bei diagonaler fahrrichtung gibts auch probleme, da zeigt der an dass man langsamer fährt, manchmal sogar 0. MFG, RoB |
Recycler, 14.11.2009, 21:08 |
---|
Scheint doch nicht so zu funktionieren wie ich das dachte. Hier ist die richtige Formel zur Berechnung der Geschwindigkeit: Passiert mir immer wieder und ist wohl der schlimmste Fehler den man machen kann -> das Quadrat einer Summe ist nicht gleich der Summe der Quadrate MfG Recycler |
Robdeflop1, 14.11.2009, 22:10 |
---|
aso, k ty^^ ich werds testen. Ich könnte es eig wissen wenn ich in der schule aufgepasst hätte Meine lehrerin wüsste aber glaube ich auch wie man sowas macht, weil die glaube ich C++ kann Naja, erstmal danke, hast mir sehr geholfen MFG, RoB |
Robdeflop1, 15.11.2009, 00:15 |
---|
Hi Nu hab ichn anderes prob Was is daran falsch? der zeigt folgendes an: Das hat alles mit dem schaden zu tun. Hab kp warum das so is oO Ich hab doch alles richtig gemacht oda? MFG, RoB |
Robdeflop1, 15.11.2009, 13:00 |
---|
Hi Hab das problem gelöst. Es lag daran dass ich bei Autodateien ne enum namens Schaden hatte. Deswegen kamen die fehler Jetzt hab ich aber ein neues prob. Ich will eine schadensanzeige machen, die von 0 - 100% geht. 0 is kein schaden, un 100 is MS (motorschaden). Meine bisherige Rechnung is so: (Maximalerschaden(1000) - Vehiclehealth) / 10 Dann ist der wagen aber schon bei 75 prozent kaputt, und nicht bei 100. Wie muss ich das rechnen? MFG, RoB |
Recycler, 15.11.2009, 13:19 |
---|
So müsste das gehen. Dann hast du den Schaden in Prozent wenn 100% gleich Totalschaden (Vehiclehealth = 0) MfG Recycler |
Robdeflop1, 15.11.2009, 13:26 |
---|
Ah, ok, ich werds testen. Achja, der Tacho funzt einwandfrei! Vielen dank! MFG, RoB |
Robdeflop1, 15.11.2009, 13:38 |
---|
Hmm, ne funzt net. Habs so gemacht: |
Recycler, 15.11.2009, 13:50 |
---|
Das liegt daran dass ein Fahrzeug bei 250 oder weniger Health explodiert. So ist das in GTA San Andreas festgelegt worden. Du könntest die 100% ja auf eine Health-Skala von 250 - 1000 beziehen. MfG Recycler |
Robdeflop1, 15.11.2009, 13:58 |
---|
HI Jo, das is ja mein problem :*( Wie mach ich sone healthskala? Muss ich da für jeden Prozent schaden das festlegen? z.B. so: Oda geht das einfacher? MFG, RoB |
Recycler, 15.11.2009, 14:13 |
---|
MfG Recycler |
Robdeflop1, 15.11.2009, 14:27 |
---|
Hi Der zeigt 0 und 100 schaden problemlos an, aber dazwichen sins nur fette zahlen. Also so 8 oda 10 stellige, hab aber nit nachgezählt. Wofür steht das ? un der : ? Der zeigt mir auch ein warning in der zeile an, Tag mismatch. MFG, RoB |
Recycler, 15.11.2009, 14:31 |
---|
Dann benutz das erstmal ohne floatround und wende den Wert dann wie in deinem Code an. Stell sicher, dass du den richtigen Datentyp anzeigen lässt -> floatround(prozent) -> Integer %d. In diesem Fall benutze ich den Bedingungsoperator...lies hier nach: http://www.imb-jena.de/~gmueller/kurse/c_c++/c_operbd.html MfG Recycler |
Robdeflop1, 15.11.2009, 14:40 |
---|
Hi Geil, danke es funzt! Den integer %d hab ich vorher auch die ganze zeit benutzt. Und floatround musste rein, ohne gings nit^^ Ty, hast mir sehr geholfen Vielleicht hab ich gleich nochn paar fragen zu KM zähler xD MFG, RoB Vielen dank |
Robdeflop1, 15.11.2009, 15:24 |
---|
Hmm, wie ichs mir gedacht hab, hab ich auch probleme mit dem KM zähler^^ Wie kann ich einen realistichen KM zähler mit machen? Ich bekomme sogut wie immer fette zahlen raus. MFG, RoB |
Recycler, 15.11.2009, 19:12 |
---|
So funktioniert das nicht. Die Berechnung der Geschwindigkeit in KM/H lässt du mal wie ich sie gepostet habe. Der Rest ist nur noch Logik - die Geschwindigkeit wird per Timer in einem bestimmten Intervall abgerufen. Geht man davon aus, dass in dieser Zeit die Geschwindigkeit konstant bleibt, kann man die Strecken errechnen. Bei einem Timer von 200ms wäre die Berechnung in etwa: Verständlich? MfG Recycler |
Robdeflop1, 16.11.2009, 21:59 |
---|
Hi Gut, funzt alles, ty^^ Hab nu aber n neues prob. Ich habn car system. Von jedem car wird ne datei gemacht, wenn ich ein car erstelle. Aber wenn ich ein car lösche, dann is das car zwar im ersten moment weg (also die datei im ordner), aber wenn ich den server ausmache, dann sin die gelöschen dateien wieder da Aber warum? das is im /delcar cmd drinne: Das sollte doch funktionieren oda nit? MFG, RoB |
Robdeflop1, 17.11.2009, 16:05 |
---|
Hi Oder wie kann ich die datei per script umbenennen? Geht das mit den einfachen funktionen in der file.inc? Weil ich das dann einfach zu 0 umbenenne, un in Gamemodeexit is ein command, der alle cars löscht die dann den dateinamen 0 haben. (der dateiname is die ID von dem car) MFG, RoB |
Robdeflop1, 21.11.2009, 14:31 |
---|
HI So, der server crasht immer, wenn ich in ein fahrzeug einsteige. Das liegt an der schadensanzeige. Wie kann ich machen dass der nimmer crasht? Hast du noch ne idee? Pls help^^ MFG, RoB |
Robdeflop1, 21.11.2009, 22:40 |
---|
Hi Is nu egal^^ machs ohne Schadensanzeige, da das ja sowieso contra RL is Nu hab ich aber das proble, dass die Textdraws vom tacho bei mir daheim aufm server angezeigt werden, aber nit wenn ich auf den server vom Hoster angezeigt werden, obwohl es das selbe script is. Daheim funzt auch ein Spawnsystem un ein TO-System einwandfrei, aber iwie net auf dem server vom hoster -.- Dieses prob hab ich schon ein bissl länger und finde einfach keine lösung :*( Kann mir keiner helfen? MFG, RoB |