Muss das auch zu
Natürlich.
Ich rate dir, dich einfach durch das Tutorial zu arbeiten:
[jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)
Muss das auch zu
Natürlich.
Ich rate dir, dich einfach durch das Tutorial zu arbeiten:
[jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)
"handle" muss wie folgt deklariert werden:
new MySQL:handle;
Du hast es wahrscheinlich aktuell so:
new handle;
Jetzt funktioniert's! Du hast mich mit dem Satz daran erinnert, dass ich vergessen habe die Array Größe in der Variable einzutragen.
Ahh perfekt! Sowas dachte ich mir nämlich, als es mit keinem der Befehle ging.
Nur blöd, dass crashdetect das nicht sauber aus gibt. Eine "Index out of bound" Meldung wäre sinnvoller gewesen. Gut, dass es jetzt geht.
@\gamemode\GTA SERVER\pawno\include\core.inc(12) : error 042: invalid combination of class specifiers
Ich verweise hier mal auf:
[jTool] PAWN Errors & Warnungen - Deutsche Übersetzung +++ Erklärungen
Eine Funktion oder eine Variable ist unerlaubterweise sowohl als "public" als auch als "native" gekennzeichnet. Andere Kombinationen können ebenfalls nicht unterstützt werden, so kann eine Funktion zum Beispiel nicht gleichzeitig "public" und "stock" sein (eine Variable jedoch kann jedoch mit "public" und "stock" deklariert werden).
Da der Fehler in der core.inc Zeile 12 kommt, welche folgende ist:
[pwn=12]native heapspace();[/pwn]
Könnte es sein, dass du irgendwo nochmal "heapspace" definiert hast, in einer Include oder im Gamemode?
Andernfalls kannst du versuchen, die aktuellen Includes nochmal herunterzuladen:
http://www.sa-mp.com/download.php
Achte auch darauf, die pawno.exe direkt zu öffnen, und deinen Gamemode dann über "Öffnen" auszuwählen. Sonst kann es sein, der Compiler wird aus einem anderen Verzeichnis gezogen.
Wie von dir beschrieben ein Prefix eingefügt, aber ändern tut sich leider auch nichts...
Füge bitte mal den Befehl ein:
if(!strcmp(cmdtext, "/testabc", true))
{
printf("Befehl ausgrführt.");
return 1;
}
Kommt der Print dann im Server Log an, oder erscheint auch wieder ein Fehler?
Falls das geht, poste bitte, wie du "getItemName" definiert hast, und wie "Items" deklariert ist.
Leider der gleiche Fehler.
Trotz dass du /xinventory im Spiel eingegeben hast, und den ocmd Befehl nicht geändert hast (auskommentiert gelassen)?
Falls ja, was passiert, wenn du es zu /abcxyz umbenennst?
Keinen weiteren Befehl, aber ein enum.
Es wäre ansonsten eventuell ein Versuch wert, das enum, die Werte im enum und das Array umzubenennen, von Inventory zu "xyInventar" (nur testweise, kann dann ja nochmal umbenannt werden).
Wäre zumindest eine gewisse Erklärung, dass ocmd versucht, das Array, da es fast gleich heißt, auszuführen, was ja nicht geht.
Weil der ocmd Befehl ist auf jeden Fall auskommentiert.
Hast du irgendwo im Code noch etwas anderes, das "inventory" heißt?
Liegt es vielleicht daran, weil sich ocmd zwischen OnPlayerCommandText klemmt?
ocmd setzt sich vor OnPlayerCommandText hin, von daher kommt er wohl dort erst gar nicht an.
Klappt es denn, wenn du den strcmp Befehl mal "/xinventoy" nennst?
/inventory funktioniert allerdings auch nicht als "strcmp".
Dem Log nach wurde erneut ocmd aufgerufen, für den Befehl. Prüfe das bitte nochmal.
ocmdOnPlayerCommandText
Auf die Neuste Version kann ich nicht Updaten finde die Windows / Und Linux Plugins nicht (Sind zumindest nicht zum download)
[jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)
Download (Kapitel 5):
https://github.com/pBlueG/SA-MP-MySQL/releases
Da du wohl noch irgendwas um R5-R7 nutzt, ist der Aufwand zum Umschreiben des Codes sehr groß, das hat sich nicht mit den paar Zeilen erledigt.
mysql_store_result: Gibt es nicht mehr, es wird jetzt über mysql_pquery bzw. mysql_tquery und ein entsprechendes Callback gearbeitet, um den Cache auszulesen (siehe Tutorial).
mysql_num_rows: Ist jetzt cache_get_row_count.
mysql_fetch_row_format: Gibt es nicht mehr. Die Spalten werden jetzt separat aus dem Cache gelesen (siehe Tutorial).
Der Aufwand von R5-R7 nach R39 ist nicht größer als direkt zu R41-4, daher gehe lieber direkt zur aktuellen Version.
hast du eventuell eine Lösung?
Dieser Thread ist für kleine Scripting Fragen, nicht für ganze Systeme, die umgebaut werden.
Erstelle bitte einen separaten Thread.
Außerdem empfehle ich dir die aktuelle MySQL Version zu nutzen.
Du hast mir ja gesagt @Jeffry das ich eine Schleife durch alle Spieler gehen lassen soll, dann durch alle Fahrzeuge. Wie mache ich das am besten
Nach der ersten Schleife für MAX_PLAYERS eine zweite Schleife für MAX_VEHICLES.
Darin ist "i" dann die vehicleid so gesehen.
Dann für "i" prüfen, ob ein Spieler in diesem Auto sitzt, wenn ja, nichts machen.
Sitzt keiner drin, dann prüfen ob der Motor für "i" an ist.
Wenn ja, dann eine Tankeinheit von "i" abziehen.
Schau mal ob du das in Code umgesetzt bekommst.
Nutze für die Abfrage, ob ein Spieler im Fahrzeug "i" ist, folgende Funktion:
stock IsAnyPlayerInVehicle(vehicleid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i, vehicleid)) return 1;
}
return 0;
}
Den Code einfach ganz unten in deinem Gamemode einfügen, und die Funktion wie gewohnt nutzen:
if(IsAnyPlayerInVehicle(i)) //...
Ja er speichert wie voher auch als wenn ich im himmel den server verlasse spawne ich auch im himmel ander selben z cordinate
Hast du dir die Werte denn per Print mal vor und nach MapAndreas ausgeben lassen? Wenn ja, was kommt raus?
Danke! Das Problem lag tatsächlich daran, aber warum?
Allerdings bleibt der gleiche Fehler, wenn ich meinen Befehl aufrufe.
Die Meldung kam in dem Fall dann vom Debug Modus.
Tritt der Fehler denn nur bei dem Befehl auf, oder auch bei anderen Befehlen?
Hast du mal versucht, den Befehl als "strcmp" Befehl anzulegen, und den ocmd Befehl zu entfernen, klappt es dann?
habs getestet falle immer noch vom himmel..
Prüfe mal, ob GetPlayerPos bei OnPlayerDisconnect überhaupt noch eine Position aus gibt. Lasse dir anschließend den Wert von Z vor und nach MapAndreas ausgeben. Möglicherweise ist das Plugin nicht richtig geladen oder initialisiert?
Trotz mehrfacher Erhöhung gleicher Fehler.
Geht die Meldung im Compiler denn weg? Falls nein, hast du eine "pawn.cfg" im pawno Ordner für den Debug Modus drin? Wenn ja, entferne diese bitte mal und versuche es dann nochmal.
Wie kann ich das Ganze auf die Neuste Version der Mysql Version Updaten?
Im Prinzip musst du nur am Ende mysql_pquery stattdessen ausführen. Die SQL Syntax bleibt ja gleich.
public OnPlayerDisconnect(playerid, reason)
{
GetPlayerPos(playerid, SpielerInfo[playerid][pLastX], SpielerInfo[playerid][pLastY], SpielerInfo[playerid][pLastZ]);
MapAndreas_FindZ_For2DCoord(SpielerInfo[playerid][pLastX], SpielerInfo[playerid][pLastY], SpielerInfo[playerid][pLastZ]);
return true;
}
Header size: 4028 bytes
Füge bitte unter den Includes das ein:
#pragma dynamic 100000
Erhöhe die Zahl etwas, falls die Meldung nicht weg geht, so lange, bis die Meldung im Compiler weg geht.
@Jeffry kannst du mir hier eventuell weiterhelfen?
Hast du irgendwelche Warnungen im Compiler stehen, oder eine Meldung bezüglich Stack/Heap Size?
Entferne auch mal das str[256], aus dem Befehl, das ist ungenutzt, eine Warnung müsste daher mindestens da sein.
Neue Sommerreifen (ohne Felge). Bei reifendiscount.de.
Ja, ich bin spät dran, hatte bisher noch keine Zeit den Wechsel machen zu lassen. Wechsel-Termin ist erst am 11.05..
Die 225'er für vorne, die 255'er für hinten.
Bekomme in der Zeile ein tag mismatch:
"handle" muss so deklariert sein:
new MySQL:handle;
error 025: function heading differs from prototype
Wo genau kommt der Fehler, in welchen Zeilen?
Klappt auch, doch wenn ich es wieder löschen will wird es nur für eine Person gelöscht, bei den anderen bleibt es sichtbar.
Das Problem ist, dass du es für alle Spieler in die gleiche Variable schreibst, somit wird nur die Label ID des letzten Labels gespeichert.
Du musst die playerid für die das Label erstellt wird, mitgeben, in deinem Fall "j".
eventBar[i][barlabel][j] = CreateDynamic3DTextLabel...
Im enum dann auch:
Text3D:barlabel[MAX_PLAYERS],
Das wäre natürlich eine Möglichkeit, sieht nur nicht so schön aus, könnte aber gehen.
So:
if(newkeys & KEY_CTRL_BACK)
Beachte auch, falls obiges nicht geht:
(4) If the key number "262144" does not work, just use key number "2".
http://wiki.sa-mp.com/wiki/Keys
if(newkeys & 2)
Wenn ich auf dem Server connecte steht die ganze Zeit im Chat das ich keinen Tank habe
Du fragst nirgends ab, ob der Spieler auch tatsächlich in einem Fahrzeug ist.
Wenn ich z.b 15 Autos im Autohaus habe wäre das nicht viel unnötiger Code?
Das stimmt, dafür gibt es Arrays und Loops.
Ich gebe dir jetzt bewusst keinen fertigen Code, da ich dir schon so viel Code gegeben habe, jetzt solltest du selbst am Code arbeiten, sonst gibt es keinen Lerneffekt.
Versuche, ob du weiter kommst. Natürlich helfe ich auch am Code weiter, wenn es Sinn macht.