Der Server brauch wahrscheinlich eine MySQL Datenbank, nicht eine SQLite Datenbank. Deswegen funktioniert es auch nicht.
Du kannst mit Programmen wie WAMP, XAMPP oder MAMP (ja die heißen echt so) einen MySQL Server lokal aufsetzen.
Beiträge von LeonMrBonnie
-
-
JavaScript
Alles anzeigenconst apiHost = "https://testseite.de"; const apiSecret = "SECRET123"; function loginUser(username, password, callback) { if(!username || !password || typeof callback !== "function") return console.error(`loginUser was called with invalid parameters`); // Die angegeben Parameter sind falsch http.get({ host: `${apiHost}`, path: `/index.php?user-api&method=login&username=${username}&password=${password}&secret=${apiSecret}`, // Die Daten des Users werden in die URL geschrieben headers: { 'User-Agent': 'Projekt Reallife Agent 1.0.0' } }, (response) => { let status = response.statusCode; if(status !== 200) // Die Antwort war nicht 200, also ist irgendwas schief gelaufen { response.resume(); // Den Rest der Anfrage verarbeiten, damit kein Memory Overflow entsteht callback(`Request failed. Server responded with status code ${status}`); } else { let data = ""; response.on('data', (chunk) => { data += chunk; }); response.on('end', () => { let parsed = JSON.parse(data); callback(null, { id: parsed.userID, email: parsed.email, groups: parsed.groups }); }); } }); }Der erste Parameter des Callbacks ist der Fehler, falls keiner vorhanden ist, ist dieser null. Der zweite Parameter sind die empfangenen Daten.
Du nutzt es also so: -
Guten Morgen!
Da kein Problem mit dem Keybinder an sich vorlag. Dieser Funktioniert einwandfrei. Es lag lediglich daran, dass SAMP AC installiert warUnd? Vielleicht haben andere genau die gleiche Frage. Es bringt niemanden weiter seine Fragen zu löschen. Wenn es dir zu peinlich ist, dass du eine Frage gestellt hast, dann frag garnicht erst.
-
Du erweiterst die Funktion um 2 Parameter, Name und Passwort, dann kannst du mit diesen Variablen die URL für die Anfrage zusammensetzen. Da es eine HTTP Anfrage ist, würd es sich auch lohnen Promises zu verwenden. (Async/await) Dann kannst du das Callback weglassen. Ist aber natürlich deine Entscheidung ob du den klassischen Callbackstil von NodeJS verwendest oder es mit einer modernen Methode (Promises) machst.
-
Warum verbindest du dich nicht einfach zum MySQL Server des Forums auf deinem NodeJS Server? Wenn der Gameserver vom Forum abhängig ist, sorgt das eher für Probleme. (Forum Mal down = Niemand kann sich auf dem Server einloggen)
Auch sendest du dann dort Name und Passwort des Nutzers nicht nur von Client zu Server sondern nochmal weiter übers Internet zu einem weiteren Server. Stichwort: Datensicherheit -
https://wiki.rage.mp/index.php?title=Marker::Marker
Codelet marker = mp.markers.new(0, new mp.Vector3(0.0, 0.0, 0.0), 1); // Im Key Handler für E if(mp.game.system.vdist(mp.players.local.position.x, mp.players.local.position.y, mp.players.local.position.z, marker.position.x, marker.position.y, marker.position.z) < 2.5) mp.events.callRemote("markerPosition"); -
Mit mp.keys.bind einen neuen Handler für die E-Taste setzen, in diesem Handler fragst du ab ob der Spieler in der Nähe von dem Marker ist, wenn ja dann teleportierst du den Spieler in das Interior. (mp.keys.bind ist clientside, und das teleportieren machst du serverside)
-
Du installierst es einfach ganz normal für GTA V und dann funktioniert es automatisch in RageMP.
-
-
-
Eine Weitere Frage ist, wie kann ich für alle Spieler zum beispiel eine schranke rotieren lassen, so dass es jeder spieler sieht, hab schon etwas bei Natives gefunden aber das wäre ja nur Client side (nur für den spieler der das ausführt
Das ist auch nur Serverside möglich, du musst es selber synchronisieren indem du es bei allen Spielern abspielen lässt.
-
Ohne 1. Richtig geiles Team 2. Richtig geiles Script und 3. Viel Innovation, wirst du leider keinen guten Server mehr aufbauen können.
-
Wie hast du Textdraw0-Textdraw13 definiert?
-
Das könnte bei dir der Fehler sein. Es gibt Tools die dir deine verbundenen Grafikkarten mit genauen Informationen anzeigen, google mal und lad dir davon eins runter und guck ob deine GTX 880 überhaupt erkannt wird.
-
Was man auf dem Bild von Root sieht ist der Grafikkartenspeicher und nicht RAM. Ich halte es für sehr unwahrscheinlich dass er nur 2GB RAM hat.
-
Sind die Koordinaten auch richtig? Du lädst diese ja aus einer XML Datei. Solltest dir mal printen welchen Wert diese haben.
-
Die Proportionen der TextDraws sind nicht wirklich schön, auch das Layout des Logins gefällt mir nicht. Ich finde aber die Farben sind gut gewählt.
-
Kurze frage ist das für SA:MP ?
Das ist definitiv.
Aber dadurch dass du so viele Includes verwendest und man dadurch über vieles keinerlei Informationen hat, was dort eigentlich passiert, ist es hier relativ schwer dir zu helfen.
-
Optisch eher so, naja, aber da es denke mal nur als Platzhalter gemeint es wie es aussehen soll, auch okay.
Ein eigenes Selfmade schreiben ist immer der beste Weg um sich zu verbessern und zu lernen. Viel Glück dabei.
-
Die Version ist aber nicht für den neusten GTA V Patch. Du musst warten bis der ScriptHook geupdatet wird.