SpielerDaten[playerid][pVerwalter1]
Musst du jetzt natürlich zu
SpielerDaten[playerid][pVerwalter][0]
ändern.
Analog bei den anderen.
SpielerDaten[playerid][pVerwalter1]
Musst du jetzt natürlich zu
SpielerDaten[playerid][pVerwalter][0]
ändern.
Analog bei den anderen.
1. Ein i, hast du doch bei der verwid auch hinbekommen, warum jetzt nicht?
2. So in etwa, probiere es doch einfach erst mal im Code aus, der Compiler wird dir schon sagen, ob es syntaktisch passt.
3. Du musst die Spalte genau gleich im Funktionskopf mitgeben, wie die playerid auch, das hast du doch auch hinbekommen, warum verkomplizierst du es jetzt so?
Probiere es bitte einfach im Code aus. Andernfalls kann dir jemand oder ich den Befehl fertig geben, dann hast du aber nichts dabei gelernt und stellst die gleichen Fragen nächstes mal wieder.
1. Ja.
2. Nein, die spalte gibt der User im Befehl ein, also in sscanf aufnehmen.
3. Mit "for" wie jede andere Schleife auch, versuche dich doch erst mal dran.
4. Wenn ein User 4 unterschiedliche Rang Namen haben kann, dann musst du der Funktion natürlich auch mitgeben, welcher der vier Ränge zurück gegeben werden soll.
Dann benötigst du einen zusätzlichen Eingabeparameter im Befehl (Spalte).
Setze außerdem im Enum dein pVerwalter1, ... auf:
pVerwalter1[4],
Dann kannst du über den eingegebenen Parameter "Spalte" auf den Index zugreifen:
SD[pID][pVerwalter][spalte] = verwid;
Um zu prüfen, ob er diesen Rang bereits hat, mache eine Schleife durch alle 4 Spalten und gebe eine Nachricht aus, falls du die verwid bereits in einer der Spalte findest.
Außerdem muss deine "GVRN" auch die Spalte mit als Parameter beinhalten, sonst weiß der Code ja nicht, welche Spalte du auslesen willst.
Ja, wie willst du es denn haben?
Du hast für diesen Befehl bereits einen Thread offen: Befehl Frage
Bleibe daher in diesem Thread und verteile den Code nicht überall, das führt nur zu Überschneidungen bei Lösungsversuchen und ist absolut nicht zielführend.
Was breadfish sagt ist absolut richtig, für deine Anforderung aber vermutlich etwas zu viel des Guten.
Daher würde ich dir, auch wenn man es eigentlich nicht so machen sollte, erst mal raten, das Ganze mit 4 Spalten in der User-Tabelle zu realisieren. Das ist einfacher und für dich besser verständlich.
Wie mache ich es, dass der Befehl weiß in welche Spalte er schreiben soll?
Woher soll er es denn wissen? Wenn 0 drin steht, oder was sagt dem Befehl, dass er in 1,2,3 oder 4 schreiben soll?
Außerdem, beim Entziehen, wie soll er da wissen, welchen Rang er entziehen soll?
Eventuell musst du deinen Befehl nochmal überdenken, was alles angegeben werden soll. Soll zusätzlich der Index angegeben werden, oder beim entziehen noch zusätzlich der Rang, der entzogen werden soll?
Mache die Anpassungen, die ich oben gepostet habe.
Vehicle[trailer][vehProds] -= gebraucht, Tanke[i][tLiterBenzin] += floatadd(gebraucht, Tanke[i][tLiterBenzin]);
zu:
Vehicle[trailer][vehProds] -= gebraucht, Tanke[i][tLiterBenzin] = Tanke[i][tMaxLiterBenzin];
else Tanke[i][tMaxLiterBenzin] += Vehicle[trailer][vehProds], Vehicle[vehicleid][vehGeladen][0] = 0, Vehicle[trailer][vehProds] = 0;
zu:
else Tanke[i][tLiterBenzin] += Vehicle[trailer][vehProds], Vehicle[vehicleid][vehGeladen][0] = 0, Vehicle[trailer][vehProds] = 0;
printf("Tankstelle: Diese Tankstelle hat %d Benzin erhalten.", floatadd(gebraucht, Tanke[i][tLiterBenzin]));
zu:
printf("Tankstelle: Diese Tankstelle hat %d Benzin erhalten.", floatround(floatsub(gebraucht, Tanke[i][tLiterBenzin])));
Nutze GetPlayerInterior und GetPlayerVirtualWorld.
Hm, dann gehen mir langsam die Ideen aus.
Versuche es mal mit der libmysql.dll aus folgendem Download, im Windows Ordner:
Gamemode Unknown
Die libmysql.dll muss im Hauptverzeichnis des Servers liegen, also dort wo die server.cfg auch liegt.
Dann versuche als nächstes bitte folgende libmysql.dll:
https://github.com/kaban4ik/MySQL-r5-SA-MP
Man muss dazu sagen, das R5 Plugin ist uralt, daher gibt es dazu keine aktuellen Daten mehr.
Installiere bitte folgende All In One Runtimes und versuche anschließend nochmal beide Varianten:
https://www.chip.de/downloads/…ne-Runtimes_37449838.html
Ich vermute du meinst als fehlende Datei die libmysql.dll. Diese kommt in der Regel aus den Runtimes, daher schlägt die zweite Variante fehl. Diese sollte dann aber klappen, wenn du das Runtime Paket installierst.
Du lädst immer nur die Zeile 0 aus dem Cache.
Ersetze bitte die MySQL Plugin, DLL und Include Dateien mit den Dateien aus folgendem R5 Download und kompiliere dann deinen Code neu.
MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)
Es gab in der Vergangenheit Probleme mit diversen Dateien. Die dort hochgeladenen Dateien funktionieren auf jeden Fall, die habe ich selbst geprüft.
Möglicherweise löst dies das Problem schon.
Dies ist keine kleine Scripting Frage, erstelle dafür einen separaten Thread.
Lade dir zusätzlich das Crashdetect Plugin herunter und füge dem Thread anschließend den aktualisierten Server Log mit crashdetect Informationen hinzu.
https://forum.sa-mp.com/showthread.php?t=262796
Noch einfacher geht es übrigens mit einem zweiten Windows Benutzerkonto.
Einfach ein zweites (oder auch mehrere) Benutzerkonto anlegen, mit dem ersten Konto auf den Server verbinden, dann "Benutzer wechseln" machen, mit dem zweiten Benutzer anmelden und ebenfalls SA-MP starten. Schon ist man mit beiden Benutzern verbunden.
Zum Hin und Her switchen einfach immer Benutzer wechseln machen.
Das spart die Kosten für einen zweiten PC bzw eine zweite Windows Lizenz für die VM.
Ja! Auf jeden Fall.
Dabei geht es nicht darum, dass dir die Sprache direkt etwas bringt, sprich, dass du die Sprache zum Beispiel für einen späteren Beruf benötigen könntest oder in anderen Umgebungen nutzen könntest, sondern darum, dass dir das Erlernen einer Codingsprache, egal welche, indirekt so viel Wissen und Erfahrung bringt, dass du extrem schnell in neue, andere, Sprachen rein kommst, vor allem weil PAWN eine große Ähnlichkeit zu z.B. C oder auch Java hat (abgesehen vom Objektorientierten).
Du musst hier also einen Schritt weiter, um die Ecke, denken.
Ich habe vor PAWN noch nie etwas mit Scripting oder Programmierung zu tun gehabt. Alles was ich in PAWN gemacht habe, habe ich mir größtenteils selbst beigebracht. Privat habe ich auch nie eine andere Sprache verwendet.
Das Wissen und vor allem die Erfahrung, sowie die programmiertechnische Denkweise gant besonders, sind die Werte, die extrem wichtig sind.
Beruflich habe ich durchaus mit ganz unterschiedlichen Sprachen zu tun, die hin und wieder durch Drittanbietersoftware außerhalb vom SAP Umfeld eingesetzt werden. Für mich ist das in diesem Fall extrem von Vorteil, dass ich - und das nur durch meine PAWN Kenntnisse - sehr schnell in alle möglichen anderen Sprachen rein komme. Dabei geht es gar nicht darum, die jeweilige Sprache zu können, sondern die Sprache verstehen zu können. Verstehst du eine Sprache, dann kannst du den Code analysieren und anhand von vorhandenen Codes oft auch eigene Anpassungen vornehmen. Das spart nicht nur Zeit und Aufwand, sondern auch Kosten, in vielerlei Hinsicht und Kosten einzusparen ist im betrieblichen Umfeld immer mit sehr hoher Priorität zu sehen.
Aber natürlich haben die PAWN Kenntnisse auch dafür gesorgt, dass ich ohne Probleme in ABAP (Sprache von SAP) rein gekommen bin. Die Chance, dass du im späteren Beruf zufällig die Sprache programmierst, die du auch privat sehr gut und sehr lange genutzt hast, ist sehr gering. Daher, egal welche Sprache du lernst, du fängst damit immer etwas an.
Dies nur als Beispiel, warum PAWN mir extrem viel gebracht hat.
Wenn deine Frage also darauf abzielt, was es dir für die Zukunft bringt, PAWN zu lernen und zu nutzen, dann kann ich dir nur sagen, es hilft enorm und du kannst damit sehr viel anfangen. Nicht mit der Sprache direkt, aber mit dem Wissen und der Erfahrung, die du dir angeeignet hast.
Was ist die Standardfarbe von der Dialogschrift in den Dialogboxen?
A9C4E4
mittelgroße, flache Ebene/Objekt
8378 eventuell? Das ist das Tor des großen Hangars.
Alternativ könntest du auch ein echtes Dach eines Gebäudes nutzen, und deine Wände entsprechend anpassen, dass man das Gebäude nicht sieht, nur das Dach.
Beispiel: 8059