KOSTENLOSE REGISTRIERUNG - FREE REGISTER
  • Willkommen, Gast!
  • Donnerstag, 28. März 2024, 18:23:53
Position: Home » Grand Theft Auto: San Andreas » Multiplayer » Scripte und kleine Codes » Distanz

Willkommen im GTAvision.com Forum

Du bist noch nicht bei uns angemeldet. Wenn das dein erster Besuch bei uns ist, so kannst du die wichtigsten Funktionen des Boards in der FAQ nachlesen. Um Beiträge zu schreiben oder neue Themen zu erstellen musst du in fast jedem Forum registriert und eingeloggt sein. Dies gilt nicht bei den Newskommentaren, dort können auch Gäste etwas schreiben ohne sich vorher registrieren zu müssen. Damit du Beiträge lesen kannst, musst du dir erst ein Forum aussuchen welches dich interessiert, z.B. GTA V - Allgemeines, dann klickst du auf ein Thema das dich interessiert z.B. "Allgemeine GTA V Plauderecke" und schon kannst du die Beiträge lesen. Um im genannten Thema zu antworten, musst du dich allerdings vorher eingeloggt haben. Viel Spaß in unserem Forum, wünscht das gesamte GTAvision.com Team.

Follow @GTAvision
Grand Theft Auto: San Andreas
Thema: Distanz [Seite 1 2 3 ]  

Kein neuer Beitrag 14.11.2009, 22:10
Beitrag #16   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

aso, k ty^^
ich werds testen.
Ich könnte es eig wissen wenn ich in der schule aufgepasst hätte :D
Meine lehrerin wüsste aber glaube ich auch wie man sowas macht, weil die glaube ich C++ kann :D
Naja, erstmal danke, hast mir sehr geholfen

MFG, RoB

Kein neuer Beitrag 15.11.2009, 00:15
Beitrag #17   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

Hi

Nu hab ichn anderes prob :D

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public TachoUpdate(playerid)
{
      for(new i = 0;i<MAX_PLAYERS;i++)
      {
         if(IsPlayerInAnyVehicle(playerid))
         {
             new vid = GetPlayerVehicleID(playerid);
             GetVehicleHealth(vid, CarInfo[vid][Schaden]);
             new TachoString2[256] ,TachoString[256], TachoString1[256], TachoString3[256], TachoString4[256];
             new Float:X, Float:Y, Float:Z;
             GetVehicleVelocity(GetPlayerVehicleID(playerid), X, Y, Z);
            new Float:geschwindigkeit = floatsqroot(X*X + Y*Y + Z*Z) * 100 * 2.5;
            

            
            new Float:schaden;
              new Float:carschaden;
              GetVehicleHealth(vid, carschaden);
              schaden = 1000 - carschaden;
             new Float:Schaden = floatdiv(schaden,10);
            
            format(TachoString2,sizeof(TachoString2),"Km/h: %d", floatround(geschwindigkeit));
            format(TachoString,25,"Tank: %d/%d",CarInfo[vid][Tankinhalt], CarInfo[vid][Tankvolumen]);
            format(TachoString1,25,"CarID: %d",CarInfo[vid][ID]);
            format(TachoString3,25,"KM: %d",CarInfo[vid][KM]);
            format(TachoString4,25,"Schaden: %.0f%", Schaden);

            TextDrawSetString(Tacho2, TachoString2);
                TextDrawShowForPlayer(playerid, Tacho2);

            TextDrawSetString(Tacho,TachoString);
              TextDrawShowForPlayer(playerid, Tacho);

              TextDrawSetString(Tacho1,TachoString1);
              TextDrawShowForPlayer(playerid, Tacho1);
              
              TextDrawSetString(Tacho3,TachoString3);
              TextDrawShowForPlayer(playerid, Tacho3);
              
              TextDrawSetString(Tacho4,TachoString4);
              TextDrawShowForPlayer(playerid, Tacho4);
         }
      }
   return 1;
}


Was is daran falsch?
der zeigt folgendes an:

Code:
1
2
3
4
5
6
7
F:\Rockstar Games Server\GTA San Andreas 0.3\gamemodes\SARL.pwn(2297) : warning 219: local variable "Schaden" shadows a variable at a preceding level
F:\Rockstar Games Server\GTA San Andreas 0.3\gamemodes\SARL.pwn(2303) : warning 213: tag mismatch
F:\Rockstar Games Server\GTA San Andreas 0.3\gamemodes\SARL.pwn(2297) : warning 204: symbol is assigned a value that is never used: "Schaden"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


3 Warnings.


Das hat alles mit dem schaden zu tun.
Hab kp warum das so is oO
Ich hab doch alles richtig gemacht oda?

MFG, RoB

Kein neuer Beitrag 15.11.2009, 13:00
Beitrag #18   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

Hi

Hab das problem gelöst. Es lag daran dass ich bei Autodateien ne enum namens Schaden hatte.
Deswegen kamen die fehler :D

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
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 15.11.2009, 13:01 von Robdeflop1.

Kein neuer Beitrag 15.11.2009, 13:19
Beitrag #19   

Recycler
Vize-Boss
* * * * * * * * * O O
Registrierung: 29.12.2006, 11:54
User-Info: nicht mehr da
Beiträge: 2146

Code:
1
100 - (Vehiclehealth / 10)


So müsste das gehen. Dann hast du den Schaden in Prozent wenn 100% gleich Totalschaden
(Vehiclehealth = 0)

MfG
Recycler
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 15.11.2009, 13:21 von Recycler.

Kein neuer Beitrag 15.11.2009, 13:26
Beitrag #20   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

Ah, ok, ich werds testen.

Achja, der Tacho funzt einwandfrei! Vielen dank!

MFG, RoB

Kein neuer Beitrag 15.11.2009, 13:38
Beitrag #21   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

Hmm, ne funzt net.
Habs so gemacht:

Code:
1
2
3
4
5
6
7
8
9
10
                new Float:carschaden;
            new Float:schaden;
            GetVehicleHealth(vid, carschaden);
            schaden = 100 - (carschaden / 10);

format(TachoString4,25,"Schaden: ~y~%d", floatround(schaden));[code]

Explodiert wieder bei 75 schaden.

MFG, RoB

Kein neuer Beitrag 15.11.2009, 13:50
Beitrag #22   

Recycler
Vize-Boss
* * * * * * * * * O O
Registrierung: 29.12.2006, 11:54
User-Info: nicht mehr da
Beiträge: 2146

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

Kein neuer Beitrag 15.11.2009, 13:58
Beitrag #23   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

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:

Code:
1
2
3
4
5
6
7
8
9
10
11
if(GetVehicleHealth(vid) = 1000)
{
   CarInfo[vid][Schaden] = 0;
}
else if(GetVehicleHealth(vid) = 996)
{
   CarInfo[vid][Schaden] = 1;
}
.
.
.


Oda geht das einfacher?

MFG, RoB

Kein neuer Beitrag 15.11.2009, 14:13
Beitrag #24   

Recycler
Vize-Boss
* * * * * * * * * O O
Registrierung: 29.12.2006, 11:54
User-Info: nicht mehr da
Beiträge: 2146

Code:
1
prozent = (vhealth < 250) ? 100 : floatround((100 - (vhealth / 10)) * (4 / 3));


MfG
Recycler
Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte Mal 15.11.2009, 14:16 von Recycler.

Kein neuer Beitrag 15.11.2009, 14:27
Beitrag #25   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

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
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 15.11.2009, 14:29 von Robdeflop1.

Kein neuer Beitrag 15.11.2009, 14:31
Beitrag #26   

Recycler
Vize-Boss
* * * * * * * * * O O
Registrierung: 29.12.2006, 11:54
User-Info: nicht mehr da
Beiträge: 2146

Code:
1
new Float:prozent = (vhealth < 250.0) ? 100.0 : ((100.0 - (vhealth / 10.0)) * (4.0 / 3.0));


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
Dieser Beitrag wurde insgesamt 2 mal editiert. Das letzte Mal 15.11.2009, 14:32 von Recycler.

Kein neuer Beitrag 15.11.2009, 14:40
Beitrag #27   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

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 :D
Vielleicht hab ich gleich nochn paar fragen zu KM zähler xD

MFG, RoB

Vielen dank :-)

Kein neuer Beitrag 15.11.2009, 15:24
Beitrag #28   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

Hmm, wie ichs mir gedacht hab, hab ich auch probleme mit dem KM zähler^^

Wie kann ich einen realistichen KM zähler mit

Code:
1
new Float:geschwindigkeit = floatsqroot(X*X + Y*Y + Z*Z) * 100 * 2.5;


machen?

Ich bekomme sogut wie immer fette zahlen raus.

MFG, RoB

Kein neuer Beitrag 15.11.2009, 19:12
Beitrag #29   

Recycler
Vize-Boss
* * * * * * * * * O O
Registrierung: 29.12.2006, 11:54
User-Info: nicht mehr da
Beiträge: 2146

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:

Code:
1
KMzaehler += (geschwindigkeit / 3600) / 0.2


Verständlich?

MfG
Recycler

Kein neuer Beitrag 16.11.2009, 21:59
Beitrag #30   

Robdeflop1
Obergangster
* * * * * * O O O O O
Registrierung: 13.07.2009, 17:51
Script Editor: Pawno
Beiträge: 197

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 :shock:
Aber warum?

das is im /delcar cmd drinne:

Code:
1
2
3
4
5
6
7
8
9
10
11
format(string10, sizeof(string10), "/Autos/%d.cer", GetPlayerVehicleID(playerid));
                if(fexist(string10))
                {
                  DestroyVehicle(GetPlayerVehicleID(playerid));
                  fremove(string10);
                  SendClientMessage(playerid, COLOR_YELLOW, "Fahrzeug wurde gelöscht!");
               for(new i = 1; i < MAX_VEHICLES; i++)
               {
                   CarSave(i);
               }
                }


Das sollte doch funktionieren oda nit?

MFG, RoB

Druckansicht

Erste Seite Zurück 1 2 3     (Anzeige: 16 – 30; Insgesamt: 33) Weiter Letzte Seite
Toggle Ähnliche Themen zu „Distanz“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Es wurden keine Themen gefunden.
  • 0.040324 Sek., 26 DB-Zugriffe, 2.313 MiB
  • Powered by Boardsolution v1.45
GTAvision.com :: Forumregeln :: FAQ :: Impressum :: Kontakt :: RDRvision.com :: LANOIREvision.com :: MaxPayneVision.com
NetVisionWork.NET
.: © 2006-2014 by GTAvision.com :.

Rockstar GamesTake-Two Interactive Deutschland

Free Grand Theft Auto Downloads