Ja eigentlich schon, allerdings hattest du mir mal gesagt, dass wenn ich die Server-Anwendung mit dem X-Button schließe,
werden die stocks bei OnGameModeExit nicht aufgerufen ( sowie ich es verstanden habe ).
Beiträge von malE
-
-
Damit fange ich leider auch nichts an, das sind ja nur irgendwelche Werte.
Das crashdetect Plugin gibt dir nichts aus?Nein mir gibt crashdetect nichts aus.
Was ist, wenn du das "x" drückst, um die Konsole zu schließen?
Dann steht in der MySQL Log keine Meldung.
-
Nein ich habe '/exit' benutzt.
Aber wenn ich '/gmx' benutze kommt das die Verbindung bereits vorhanden ist ( [WARNING] CMySQLHandle::Create - connection already exists ).
Jedoch wenn ich '/exit' benutze, kommt im MySQL Log zwar keine Warning / Error Meldung, aber stattdessen wird eine Crashinfo.txt Datei erstellt.
Mit dem Inhalt kann ich nichts anfangen.// Edit:
Diese Fehlermeldung ( [WARNING] CMySQLConnection::Disconnect - no connection available ) taucht nur auf wenn ich bei OnGameModeExit mysql_close(handle); stehen habe. -
MySQL plugin R39-4
-
Wenn ich mysql_close(handle); entferne wird eine crashinfo.txt Datei erstellt.
--------------------------
SA-MP Server: 0.3.7-R2
Exception At Address: 0x69C84FC6 Module: (mysql.DLL)
Registers:
EAX: 0x00004000 EBX: 0x001FE2C0 ECX: 0x00000080 EDX: 0x01000100
ESI: 0x00000100 EDI: 0x00000080 EBP: 0x0403FE68 ESP: 0x0403FE50
EFLAGS: 0x00010206
Stack:
+0000: 0x006C6880 0x00000080 0x00000000 0x01000100
+0010: 0x00057F85 0x00027F85 0x0403FE90 0x69C847CA
+0020: 0x00735EA8 0x007256A8 0x00047F84 0x365C0641
+0030: 0x02860060 0x0403FF0C 0x69CAA164 0x00000000
+0040: 0x0403FF1C 0x69C8CB62 0x0403FEBC 0x365C0505
+0050: 0x00000000 0x006C2F78 0x006707F0 0x000025E3
+0060: 0x00000000 0x00735EA8 0x007256A8 0x006C6880
+0070: 0x33373531 0x006C6880 0x729AE09E 0x000000BF
+0080: 0x72024A1E 0x000000BF 0x00000000 0x00000000
+0090: 0x00000000 0x636E6F2D 0x6C662D65 0x4F496761
+00A0: 0x006BD7F8 0x00000000 0x00000000 0x76004141
+00B0: 0x365C04B1 0x0403FE90 0x0403FF38 0x0403FF38
+00C0: 0x69CA9A90 0x00000000 0x69CA7440 0x0403FF44
+00D0: 0x69CA744E 0x365C04E1 0x00000000 0x00670F80
+00E0: 0x006707F0 0x0403FF24 0x0403FF6C 0x69CAB7A0
+00F0: 0x00000000 0x0403FF7C 0x67E5C01D 0x006C2F78
+0100: 0x365C0329 0x00000000 0x00670F80 0x006707F0
+0110: 0xC0000005 0x0403FF50 0x0403F878 0x0403FFC4
+0120: 0x67E4A0D5 0x55BA3C7D 0x00000000 0x0403FF88
+0130: 0x67E5C001 0x00000000 0x0403FF94 0x76A9337A
--------------------------
Loaded Modules:
samp-server.exe A: 0x00400000 - 0x00519000 (C:\Users\Zensiert\Desktop\Dokumente\samp scripting\samp-server.exe)
ntdll.dll A: 0x76FA0000 - 0x77120000 (C:\Windows\SysWOW64\ntdll.dll)
kernel32.dll A: 0x76A80000 - 0x76B90000 (C:\Windows\syswow64\kernel32.dll)
KERNELBASE.dll A: 0x76920000 - 0x76966000 (C:\Windows\syswow64\KERNELBASE.dll)
SHELL32.dll A: 0x75220000 - 0x75E6A000 (C:\Windows\syswow64\SHELL32.dll)
msvcrt.dll A: 0x769D0000 - 0x76A7C000 (C:\Windows\syswow64\msvcrt.dll)
SHLWAPI.dll A: 0x76970000 - 0x769C7000 (C:\Windows\syswow64\SHLWAPI.dll)
GDI32.dll A: 0x74FF0000 - 0x75080000 (C:\Windows\syswow64\GDI32.dll)
USER32.dll A: 0x74B60000 - 0x74C60000 (C:\Windows\syswow64\USER32.dll)
ADVAPI32.dll A: 0x74E80000 - 0x74F20000 (C:\Windows\syswow64\ADVAPI32.dll)
sechost.dll A: 0x74F20000 - 0x74F39000 (C:\Windows\SysWOW64\sechost.dll)
RPCRT4.dll A: 0x76830000 - 0x76920000 (C:\Windows\syswow64\RPCRT4.dll)
SspiCli.dll A: 0x74B00000 - 0x74B60000 (C:\Windows\syswow64\SspiCli.dll)
CRYPTBASE.dll A: 0x74AF0000 - 0x74AFC000 (C:\Windows\syswow64\CRYPTBASE.dll)
LPK.dll A: 0x74E10000 - 0x74E1A000 (C:\Windows\syswow64\LPK.dll)
USP10.dll A: 0x76730000 - 0x767CD000 (C:\Windows\syswow64\USP10.dll)
WSOCK32.dll A: 0x6DA30000 - 0x6DA37000 (C:\Windows\system32\WSOCK32.dll)
WS2_32.dll A: 0x74DD0000 - 0x74E05000 (C:\Windows\syswow64\WS2_32.dll)
NSI.dll A: 0x76B90000 - 0x76B96000 (C:\Windows\syswow64\NSI.dll)
WINMM.dll A: 0x68090000 - 0x680C2000 (C:\Windows\system32\WINMM.dll)
IMM32.DLL A: 0x74E20000 - 0x74E80000 (C:\Windows\system32\IMM32.DLL)
MSCTF.dll A: 0x764A0000 - 0x7656C000 (C:\Windows\syswow64\MSCTF.dll)
mysql.DLL A: 0x69C80000 - 0x69CBE000 (C:\Users\Zensiert\Desktop\Dokumente\samp scripting\plugins\mysql.DLL)
libmysql.dll A: 0x0F2C0000 - 0x0F7CC000 (C:\Users\Zensiert\Desktop\Dokumente\samp scripting\libmysql.dll)
Secur32.dll A: 0x6D680000 - 0x6D688000 (C:\Windows\system32\Secur32.dll)
MSVCR120.dll A: 0x67E30000 - 0x67F1E000 (C:\Windows\system32\MSVCR120.dll)
MSVCP120.dll A: 0x68010000 - 0x68081000 (C:\Windows\system32\MSVCP120.dll)
NLAapi.dll A: 0x73C00000 - 0x73C10000 (C:\Windows\system32\NLAapi.dll)
napinsp.dll A: 0x50420000 - 0x50430000 (C:\Windows\system32\napinsp.dll)
pnrpnsp.dll A: 0x50400000 - 0x50412000 (C:\Windows\system32\pnrpnsp.dll)
mswsock.dll A: 0x6DA80000 - 0x6DABC000 (C:\Windows\System32\mswsock.dll)
DNSAPI.dll A: 0x6D620000 - 0x6D664000 (C:\Windows\system32\DNSAPI.dll)
winrnr.dll A: 0x503F0000 - 0x503F8000 (C:\Windows\System32\winrnr.dll)
wshbth.dll A: 0x67720000 - 0x6772D000 (C:\Windows\system32\wshbth.dll)
mdnsNSP.dll A: 0x6D5F0000 - 0x6D611000 (C:\Program Files (x86)\Bonjour\mdnsNSP.dll)
Iphlpapi.DLL A: 0x72500000 - 0x7251C000 (C:\Windows\system32\Iphlpapi.DLL)
WINNSI.DLL A: 0x724F0000 - 0x724F7000 (C:\Windows\system32\WINNSI.DLL)
rasadhlp.dll A: 0x6D4F0000 - 0x6D4F6000 (C:\Windows\system32\rasadhlp.dll)
streamer.DLL A: 0x68BD0000 - 0x68C18000 (C:\Users\Zensiert\Desktop\Dokumente\samp scripting\plugins\streamer.DLL)
wshtcpip.dll A: 0x6DA20000 - 0x6DA25000 (C:\Windows\System32\wshtcpip.dll)
-
Vielen Dank an euch beiden!
Nun funktionieren die beiden Systeme. -
Da sonst im Kilometerstand die Entfernung vom Nullpunkt bis zum Fahrzeug dazu addiert wird, ohne das sich das Fahrzeug bewegt hat.
-
Gut zu wissen , getVehIndex muss ich nun immer benutzen wenn ich VehicleInfo[... benutze?
Jetzt werden die leider die Privatfahrzeuge immer am Nullpunkt gespawnt.
Am speichern hängt es nicht, habe es mir schon printen lassen.
Ich weiß jedoch nicht wo hier der Fehler liegt.Code
Alles anzeigenforward OnPlayerVehiclesLoad(playerid); public OnPlayerVehiclesLoad(playerid) { new engine, lights, alarm, doors, bonnet, boot, objective; new rows; rows = cache_num_rows(); for(new i=0; i < rows; i++) { VehicleInfo[i][v_Police] = bool:cache_get_field_content_int(i, "police", handle); if(VehicleInfo[i][v_Police] == true)continue; VehicleInfo[i][v_ID] = cache_get_field_content_int(i, "id", handle); VehicleInfo[i][v_Besitzer] = cache_get_field_content_int(i, "besitzer", handle); VehicleInfo[i][v_X] = cache_get_field_content_float(i, "x", handle), VehicleInfo[i][v_X] = VehicleInfo[i][v_KMX]; VehicleInfo[i][v_Y] = cache_get_field_content_float(i, "y", handle), VehicleInfo[i][v_Y] = VehicleInfo[i][v_KMY]; VehicleInfo[i][v_Z] = cache_get_field_content_float(i, "z", handle), VehicleInfo[i][v_Z] = VehicleInfo[i][v_KMZ]; VehicleInfo[i][v_R] = cache_get_field_content_float(i, "r", handle); VehicleInfo[i][v_Health] = cache_get_field_content_float(i, "health", handle); VehicleInfo[i][v_Tank] = cache_get_field_content_int(i, "liter", handle); VehicleInfo[i][v_Sirene] = bool:cache_get_field_content_int(i, "siren", handle); VehicleInfo[i][v_Model] = cache_get_field_content_int(i, "model", handle); VehicleInfo[i][v_Farbe] = cache_get_field_content_int(i, "farbe", handle); VehicleInfo[i][v_Farbe2] = cache_get_field_content_int(i, "farbe2", handle); VehicleInfo[i][v_Kilometer] = cache_get_field_content_int(i, "kmstand", handle); VehicleInfo[i][v_Bombe] = bool:cache_get_field_content_int(i, "bombe", handle); VehicleInfo[i][v_WeelsKugelsicher] = bool:cache_get_field_content_int(i, "weelskugelsicher", handle); VehicleInfo[i][v_Panzerglas] = bool:cache_get_field_content_int(i, "panzerglas", handle); if(VehicleInfo[i][v_Model] >= 400 && VehicleInfo[i][v_Model] <= 611) { VehicleInfo[i][v_Objekt] = CreateVehicle(VehicleInfo[i][v_Model], VehicleInfo[i][v_X], VehicleInfo [i][v_Y], VehicleInfo[i][v_Z], VehicleInfo[i][v_R], VehicleInfo[i][v_Farbe], VehicleInfo[i][v_Farbe2], -1, VehicleInfo[i][v_Sirene]); if(VehicleInfo[i][v_Health] > 250.99) SetVehicleHealth(VehicleInfo[i][v_Objekt], VehicleInfo[i][v_Health]); else SetVehicleHealth(VehicleInfo[i][v_Objekt], 1000); GetVehicleParamsEx(VehicleInfo[i][v_Objekt], engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(VehicleInfo[i][v_Objekt], engine, lights, alarm, 1, bonnet, boot, objective); } else printf("[FEHLER] Fahrzeug-Model %d existiert nicht (DB-ID: %d).", VehicleInfo[i][v_Model], i); if(GetVehicleModel(MAX_VEHICLES-1) != 0) return print("Es können keine weiteren Fahrzeuge geladen werden, Limit (MAX_VEHICLES) erreicht."); } return 1; }
-
-
Wie oben schon erwähnt, wird der Motor nicht gestartet, weil der Tank leer ist.
Obwohl der nicht leer ist. Deswegen kann ich vID schon mal nicht benutzen.// Edit:
Mir ist gerade aufgefallen, dass nur bei den Polizeifahrzeugen der Tacho funktioniert, außerdem wird mir beim Kilometerstand die Entfernung vom Nullpunkt bis zur
Position des Fahrzeugs angezeigt. -
Scheint zu funktionieren, Kilometerstand wird auch gespeichert sowie der Tank.
Jedoch hakt es nun am Motor Befehl.
Der Motor geht nicht an, ich kann so oft wie ich möchte /motor eingeben, aber der Motor geht nicht an.
Jedoch wird mir die InfoBox angezeigt, dass der Motor an wäre.Code
Alles anzeigenocmd:motor(playerid, params[]) { new vID = GetPlayerVehicleID(playerid); new idx = getVehIndex(vID); new engine, lights, alarm, doors, bonnet, boot, objective; if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 1; GetVehicleParamsEx(idx, engine, lights, alarm, doors, bonnet, boot, objective); new str[145]; if(engine == 1){ engine = 0; VehicleInfo[idx][v_Motor] = false; ShowInfoBox(playerid, "Motor ~r~aus", 2000); }else{ if(VehicleInfo[idx][v_Tank] == 0)return ShowInfoBox(playerid, "Treibstoff ist leer.", 3500); engine = 1; VehicleInfo[idx][v_Motor] = true; ShowInfoBox(playerid, "Motor ~g~an", 2000); if(VehicleInfo[GetPlayerVehicleID(playerid)][v_Bombe] == true) { for(new i=0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue; if(GetPlayerVehicleID(i) != GetPlayerVehicleID(playerid))continue; format(str, sizeof(str), " * %s starb durch eine Fahrzeugbombe.", PlayerInfo[i][p_Name]); SendLocalMessage(i, 15.0, COLOR_PURPLE, str); VehicleInfo[GetPlayerVehicleID(playerid)][v_Bombe] = false; SetPlayerHealth(i, 0); } new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); CreateExplosion(X, Y, Z, 0, 25); } } SetVehicleParamsEx(idx, engine, lights, alarm, doors, bonnet, boot, objective); return 1; }
-
Vielen Dank erstmal!
Zudem musst du dann beim Laden der Fahrzeuge den Wert von diesen Variablen
VehicleInfo[idx][v_KMX], VehicleInfo[idx][v_KMY], VehicleInfo[idx][v_KMZ]
auf den Wert von
VehicleInfo[idx][v_X], VehicleInfo [idx][v_Y], VehicleInfo[idx][v_Z]
setzen, damit nicht der Null-Punkt als Berechnungsstart genommen wird.Soll ich idx durch i ersetzen oder den stock benutzen den du mir erstellt hast?
Dann musst du außerdem, wenn die Distanz dazu gerechnet wurde, also in der Funktion zur Positionsberechnung, oder dort wo es der Variable hinzugefügt wird (je nach dem wie der Rest deines Systems aussieht) die Koordinaten aktualisieren, sprich:
GetVehiclePos(vehicleid, VehicleInfo[idx][v_X], VehicleInfo [idx][v_Y], VehicleInfo[idx][v_Z]);
Damit diese neue Position als neuer Berechnungsstart genommen wird.Das hier soll ich dann durch GetVehiclePos(vID, VehicleInfo[idx][v_X], VehicleInfo [idx][v_Y], VehicleInfo[idx][v_Z]); im public TachoTimer ersetzen?
Fehler: Sobald ich in ein Fahrzeug einsteige wird der Kilometerstand automatisch hochgezählt.Logischer Weise tritt der Fehler mit dem Tank der Privatfahrzeuge auch im Motor-Befehl auf.
Soll ich im Befehl den Index von vID zu idx ersetzen?Code
Alles anzeigenocmd:motor(playerid,params[]) { new vID = GetPlayerVehicleID(playerid); new engine, lights, alarm, doors, bonnet, boot, objective; if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 1; GetVehicleParamsEx(vID, engine, lights, alarm, doors, bonnet, boot, objective); new str[145]; if(engine == 1){ engine = 0; VehicleInfo[vID][v_Motor] = false; ShowInfoBox(playerid, "Motor ~r~aus", 2000); }else{ if(VehicleInfo[vID][v_Tank] == 0)return ShowInfoBox(playerid, "Treibstoff ist leer.", 3500); engine = 1; VehicleInfo[vID][v_Motor] = true; ShowInfoBox(playerid, "Motor ~g~an", 2000); if(VehicleInfo[GetPlayerVehicleID(playerid)][v_Bombe] == true) { for(new i=0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue; if(GetPlayerVehicleID(i) != GetPlayerVehicleID(playerid))continue; format(str, sizeof(str), " * %s starb durch eine Fahrzeugbombe.", PlayerInfo[i][p_Name]); SendLocalMessage(i, 15.0, COLOR_PURPLE, str); VehicleInfo[GetPlayerVehicleID(playerid)][v_Bombe] = false; SetPlayerHealth(i, 0); } new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); CreateExplosion(X, Y, Z, 0, 25); } } SetVehicleParamsEx(vID, engine, lights, alarm, doors, bonnet, boot, objective); return 1; }
-
Hallo,
habe jeweils ein Problem mit meiner Tank & Kilometerstand Funktion.
An meiner Tank Funktion wird die Tank-Menge der Privatfahrzeuge zwar in die Variable ausgelesen, aber im TextDraw ( Tacho ) wird mir ein leerer Tank gezeigt.
Sowie bei meinem /motor Befehl, man kann logischer Weise nämlich nur den Motor starten mit einem gefüllten Tank, jedoch steht auch dort, dass mein Tank leer wäre.
In der MySQL Spalte des Fahrzeugs steht jedoch 40, also 40 Liter im Tank.
Habe mir es auch schon printen lassen, dort steht auch in der Variable 40.
Jedoch tritt dieses Problem bei den Polizeifahrzeugen nicht auf, die separat geladen werden.Code
Alles anzeigenforward OnPlayerVehiclesLoad(playerid); public OnPlayerVehiclesLoad(playerid) { new engine, lights, alarm, doors, bonnet, boot, objective; new rows; rows = cache_num_rows(); for(new i=0; i < rows; i++) { VehicleInfo[i][v_Police] = bool:cache_get_field_content_int(i, "police", handle); if(VehicleInfo[i][v_Police] == true)continue; VehicleInfo[i][v_ID] = cache_get_field_content_int(i, "id", handle); VehicleInfo[i][v_Besitzer] = cache_get_field_content_int(i, "besitzer", handle); VehicleInfo[i][v_X] = cache_get_field_content_float(i, "x", handle), VehicleInfo[i][v_X] = VehicleInfo[i][v_KMX]; VehicleInfo[i][v_Y] = cache_get_field_content_float(i, "y", handle), VehicleInfo[i][v_Y] = VehicleInfo[i][v_KMY]; VehicleInfo[i][v_Z] = cache_get_field_content_float(i, "z", handle), VehicleInfo[i][v_Z] = VehicleInfo[i][v_KMZ]; VehicleInfo[i][v_R] = cache_get_field_content_float(i, "r", handle); VehicleInfo[i][v_Health] = cache_get_field_content_float(i, "health", handle); VehicleInfo[i][v_Tank] = cache_get_field_content_int(i, "liter", handle); VehicleInfo[i][v_Sirene] = bool:cache_get_field_content_int(i, "siren", handle); VehicleInfo[i][v_Model] = cache_get_field_content_int(i, "model", handle); VehicleInfo[i][v_Farbe] = cache_get_field_content_int(i, "farbe", handle); VehicleInfo[i][v_Farbe2] = cache_get_field_content_int(i, "farbe2", handle); VehicleInfo[i][v_Kilometer] = cache_get_field_content_int(i, "kmstand", handle); VehicleInfo[i][v_Bombe] = bool:cache_get_field_content_int(i, "bombe", handle); VehicleInfo[i][v_WeelsKugelsicher] = bool:cache_get_field_content_int(i, "weelskugelsicher", handle); VehicleInfo[i][v_Panzerglas] = bool:cache_get_field_content_int(i, "panzerglas", handle); //printf("Health: %0.2f | Tank: %d | Sirene: %d | Farbe: %d | Farbe: %d | Kilometer: %d | Bombe: %d | Kugelsicher: %d | Panzerglas: %d", //VehicleInfo[i][v_Health], VehicleInfo[i][v_Tank], VehicleInfo[i][v_Sirene], VehicleInfo[i][v_Farbe], VehicleInfo[i][v_Farbe2], VehicleInfo[i][v_Kilometer], VehicleInfo[i][v_Bombe], VehicleInfo[i][v_WeelsKugelsicher], VehicleInfo[i][v_Panzerglas]); if(VehicleInfo[i][v_Model] >= 400 && VehicleInfo[i][v_Model] <= 611) { VehicleInfo[i][v_Objekt] = CreateVehicle(VehicleInfo[i][v_Model], VehicleInfo[i][v_X], VehicleInfo [i][v_Y], VehicleInfo[i][v_Z], VehicleInfo[i][v_R], VehicleInfo[i][v_Farbe], VehicleInfo[i][v_Farbe2], -1, VehicleInfo[i][v_Sirene]); if(VehicleInfo[i][v_Health] > 250.99) SetVehicleHealth(VehicleInfo[i][v_Objekt], VehicleInfo[i][v_Health]); else SetVehicleHealth(VehicleInfo[i][v_Objekt], 1000); GetVehicleParamsEx(VehicleInfo[i][v_Objekt], engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(VehicleInfo[i][v_Objekt], engine, lights, alarm, 1, bonnet, boot, objective); } else printf("[FEHLER] Fahrzeug-Model %d existiert nicht (DB-ID: %d).", VehicleInfo[i][v_Model], i); } return 1; }
Code
Alles anzeigenforward TachoTimer(); public TachoTimer() { for(new i=0; i < MAX_PLAYERS; i++) { new vID = GetPlayerVehicleID(i); if(!IsPlayerConnected(i) || PlayerInfo[i][p_LoggedIn] != true)continue; if(!IsPlayerInAnyVehicle(i))continue; new tacho[256], Float:hp; GetVehicleHealth(vID, hp); VehicleInfo[vID][v_Kilometer] += e_GetDistance(vID); format(tacho, sizeof(tacho), "%s~n~Geschwindigkeit: %dkm/h~n~Kilometerstand: %d.%dkm~n~Treibstoff: %dl~n~Schaden: %0.2f", VehicleNames[GetVehicleModel(vID)-400], GetPlayerSpeed(i), VehicleInfo[vID][v_Kilometer]/1000, VehicleInfo[vID][v_Kilometer]%1000, VehicleInfo[vID][v_Tank], hp); PlayerTextDrawSetString(i, Tacho[i][0], tacho); if(VehicleEngineOn(vID))PlayerTextDrawSetString(i, Tacho[i][2], "~g~Motor"); else PlayerTextDrawSetString(i, Tacho[i][2], "~w~Motor"); if(VehicleLightsOn(vID))PlayerTextDrawSetString(i, Tacho[i][3], "~g~Licht"); else PlayerTextDrawSetString(i, Tacho[i][3], "~w~Licht"); if(VehicleDoorLocked(vID))PlayerTextDrawSetString(i, Tacho[i][4], "~g~Tueren"); else PlayerTextDrawSetString(i, Tacho[i][4], "~w~Tueren"); GetVehiclePos(vID, VehicleInfo[vID][v_KMX], VehicleInfo[vID][v_KMY], VehicleInfo[vID][v_KMZ]); } return 1; }
Dann kommen wir mal zum zweiten Problem.
Hierbei wird erst gar nicht die Kilometer-Strecke gespeichert.
Aber im Tacho steht eine Strecke, und zwar die vom 0 Punkt bis zur Position des Fahrzeuges.
Wenn ihr versteht was ich meine.Code
Alles anzeigenforward SaveAllVehicles(); public SaveAllVehicles() { new query[256]; for(new i=0; i < MAX_VEHICLES; i++) { if(VehicleInfo[i][v_X] == 0.0 && VehicleInfo[i][v_Y] == 0.0 && VehicleInfo[i][v_Z] == 0.0)continue; if(VehicleInfo[i][v_Model] >= 400 && VehicleInfo[i][v_Model] <= 611) { GetVehiclePos(VehicleInfo[i][v_Objekt], VehicleInfo[i][v_X], VehicleInfo[i][v_Y], VehicleInfo[i][v_Z]); GetVehicleZAngle(VehicleInfo[i][v_Objekt], VehicleInfo[i][v_R]); GetVehicleHealth(VehicleInfo[i][v_Objekt], VehicleInfo[i][v_Health]); format(query, sizeof(query), "UPDATE fahrzeuge SET x=%f, y=%f, z=%f, r=%f, health=%f, model=%d, liter=%d, farbe=%d, farbe2=%d, bombe=%d, police=%d, weelskugelsicher=%d, panzerglas=%d, besitzer=%d, exp=%d, kmstand=%d WHERE id=%d", VehicleInfo[i][v_X], VehicleInfo[i][v_Y], VehicleInfo[i][v_Z], VehicleInfo[i][v_R], VehicleInfo[i][v_Health], VehicleInfo[i][v_Model], VehicleInfo[i][v_Tank], VehicleInfo[i][v_Farbe], VehicleInfo[i][v_Farbe2], VehicleInfo[i][v_Bombe], VehicleInfo[i][v_Police], VehicleInfo[i][v_WeelsKugelsicher], VehicleInfo[i][v_Panzerglas], VehicleInfo[i][v_Besitzer], VehicleInfo[i][v_EXP], VehicleInfo[i][v_Kilometer], VehicleInfo[i][v_ID]); mysql_tquery(handle, query); } } return 1; }
Codestock e_GetDistance(vehicleid) { new Float:x2, Float:y2, Float:z2, Float:value; GetVehiclePos(vehicleid, x2, y2, z2); value = floatsqroot(floatpower(floatabs(floatsub(x2, VehicleInfo[vehicleid][v_KMX])), 2)+floatpower(floatabs(floatsub(y2, VehicleInfo[vehicleid][v_KMY])), 2)+floatpower(floatabs(floatsub(z2, VehicleInfo[vehicleid][v_KMZ])), 2)); return floatround(value); }
Das sollte alles notwendige sein.
Ich hoffe ihr könnt mir helfen. -
YaBroo ich kann damit nichts anfangen.
// Edit:
Doch ich habe Values, es ist doch nur ein Print-Abschnitt.
Hier mein format -
Ich weiß nicht in welche Spalte das Problem sein soll, eigentlich ist alles in der Tabelle.
Error-Meldung
SQL[17:51:21] [DEBUG] CMySQLQuery::Execute[OnHausCreate] - starting query execution [17:51:21] [ERROR] CMySQLQuery::Execute[OnHausCreate] - (error #1054) Unknown column 'Villa' in 'field list' [17:51:21] [DEBUG] CMySQLQuery::Execute[OnHausCreate] - error will be triggered in OnQueryError
Print
-
Wo liegt der Fehler?
Ich kann nämlich leider nichts mit der Error-Meldung anfangen.Code
Alles anzeigenstock CreateHouseTabelle() { new query[1256]; format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `hauser` ("); format(query, sizeof(query), "%s`id` int(11) NOT NULL PRIMARY KEY,", query); format(query, sizeof(query), "%s`besitzer` varchar(32) NOT NULL DEFAULT '0',", query); format(query, sizeof(query), "%s`preis` int(11) NOT NULL PRIMARY KEY,", query); format(query, sizeof(query), "%s`schloss` int(11) NOT NULL PRIMARY KEY,", query); format(query, sizeof(query), "%s`upgrade1` int(11) NOT NULL PRIMARY KEY,", query); format(query, sizeof(query), "%s`upgrade2` int(11) NOT NULL PRIMARY KEY,", query); format(query, sizeof(query), "%s`kasse` int(11) NOT NULL PRIMARY KEY,", query); format(query, sizeof(query), "%s`x` float(11) NOT NULL DEFAULT '0',", query); format(query, sizeof(query), "%s`y` float(11) NOT NULL DEFAULT '0',", query); format(query, sizeof(query), "%s`z` float(11) NOT NULL DEFAULT '0'", query); format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query); mysql_query(handle, query); return 1; }
-
Naja ich würde dann lieber zum Luftkühler greifen, da ich mich noch nicht mit WaKü auskenne und auch nicht genug Geld im Moment habe um noch mal ca. 100€ hinblättern zu können.
-
Ja das habe ich auch gehört, aber die CPU Köpfen werde ich auf jeden Fall nicht machen, zu groß ist die Angst irgendetwas kaputt zu machen.
Dann werde ich den neuen RAM erstmal mit 1,5V laufen lassen!
Hast du vielleicht etwas bei einem be quiet! Dark Rock 3 Tower Kühler auszusetzen? -
Habe gerade den Prime95 FFTS-Test gemacht und ich kam auf 95° Celsius.
Ich denke das ist etwas sehr viel, oder? Wie würdest du jetzt vorgehen bzw was würdest du mir raten.
Habe den Standard Box-Kühler vom i7.
Soll ich den neuen RAM erstmal auf 1600Mhz lassen & nach dem kauf einen besseren Kühlers auf 2400Mhz hochschrauben? -
Stimmt! Steht sogar im Titel. Sorry.
EDIT: Gut danke für die Info. Die 1,65V werden automatisch hochgestellt oder muss ich das auch irgendwo im BIOS hochschrauben.
Weißt du ungefähr wie wärmer die CPU dadurch wird?