Mit CreateObject erreichst du das Objektelimit.
Verwende einen Streamer und benutze CreateDynamicObject.
Beiträge von LeonMrBonnie
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
-
-
Endlich!
Wird es die Möglichkeit geben dass alte Design (also das jetzige) auf WSC umzuporten, oder werden nur die neuen Designs zu Verfügung stehen? Mir gefällt das jetzige mehr als die neuen.
-
Dafür hast du sicherlich auch einen Nachweis? Das was du hier schreibst ist absoluter Humbug.
Screenshotte ich deine Beiträge oder was?
Die Moderation weiß ganz genau selber, dass ich damit recht habe. Und das solltest du selber auch wissen, falls nicht bist du einfach nur blöd. -
Ich beleidige in einer Meldung einen Scammer / Ripper als "Bastard" welcher einen wehrlosen behinderten Menschen beklaut und verarscht hat. ("Safe würde jeder das denken, vielleicht aber nicht umsetzen"), und erhalte dafür eine Verwarnung mit der Begründung "Umgangston". Niemand außer den bearbeitenden Moderator sieht diese Meldung?! Anstatt man auf diesen Report darauf hinweist, gibt man lieber eine Verwarnung. In meinen Augen (So korrigiert mich, wenn ich falsch liege) ist das absolut unnötig. Niemand kann dies sehen und niemand kann sich entsprechend angegriffen frühen.
Ist doch egal wie viele Personen das sehen, wenn du jemanden beleidigst ist das ein Regelverstoß und wird dementsprechend auch als einer geahndet. Ob das nun in einem Beitrag oder einer Meldung ist, spielt da garkeine Rolle.
Dann, heute wurde wieder ein Beitrag entfernt. Begründung "Anstiftung zum Betrug". Denken wir einmal nach, was ist eigentlich Betrug?!Gehen wir nicht weiter auf das Thema ein.
Da ich weiß welcher Beitrag gemeint ist (hab ich übrigens gemeldet, kein Problem Brudi), kann ich sagen dass es natürlich als Betrug zählt. Du stiftest die Person an den Rockstar Support zu verarschen und somit eine (rechtsmäßige) Sperre zu umgehen. Das ist natürlich laut Rockstar auch nicht erlaubt, also verstößt du damit gegen die Regeln von Rockstar.
Ich denke mal du hast auch nicht die vollen Punkte wie bei Betrug erhalten, da du die Person ja auch nur "angestiftest" hast, und keinen Betrug selber begangen hast.Allerdings kann ich nicht ganz nachvollziehen, wieso bei gewissen Menschen, eine Verwarnung schneller ausgesprochen wird, als bei Menschen, die schon länger hier sind und offensichtlich bisschen mehr Dreck am Stecken haben. Kann das bitte einmal erläutert werden?
Das bei dir mal schneller eine Verwarnung ausgesprochen wird ist verständlich, du bist halt jemand der hier gerne mal Stress anfängt und hast seitdem du dem Forum beigetreten noch nicht viel Sinnvolles beigetragen, außer eben wie gesagt dass du Stress mit anderen anfängst.
-
Ohne Code können wir dir schlecht helfen.
-
1 Like fehlt noch!
-
Habe genau das Problem schonmal gesehen, das Problem ist dass die App Redis als Session Store verwendet und du keinen Redis Server laufen hast. Also entweder lässt du einen Redis Server laufen oder du deaktivierst irgendwo in den Configs der App den Redis Session Store.
-
Da es hier offensichtlich NodeJS ist und kein Vanilla JS, ist es Serverside.
-
Wird denn nur die Property "status" vom Objekt verändert, oder setzt du beim Webserver auch den Header Statuscode zu 200?
Sonst vielleicht mal https://www.npmjs.com/package/request das hier versuchen.JavaScript
Alles anzeigenconst request = require("request"); const apiHost = "https://google.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 request({ url: `${apiHost}/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' } }, (error, response, body) => { let status = response.statusCode; if(status !== 200 || error) // Die Antwort war nicht 200, also ist irgendwas schief gelaufen { if(!error) callback({ Status: status, Error: "The server did not respond with 200 - OK" }); else callback({ Status: status, Error: error }); } else { let parsed = JSON.parse(body); callback(null, { id: parsed.userID, email: parsed.email, groups: parsed.groups }); } }); }
-
Ich meine von http.get zu https.get ändern.
-
http.get ?
-
Ja, dann musst du natürlich das https Package nehmen und nicht http.
-
const apiHost = "https://www.projekt-xyz.de";
zu
const apiHost = "projekt-xyz.de";Ist anscheinend irgendein komisches Problem mit dem HTTP Package.
-
Hast du auch das http Package requiret? Versuch mal innerhalb der loginUser Funktion ein paar Logs zu platzieren und guck wo es stehen bleibt.
-
JavaScript
Alles anzeigenmp.events.add("sendDataToServer", (player, username, password, state) => { let loggedAccount = mp.players.toArray().find(p => p.loggedInAs == username); switch(state){ //Account Login case 0: { if(loggedAccount){ console.log("Logged in already."); player.call("loginHandler", ["logged"]); } else { 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({ Status: status, Error: "The server did not respond with 200 - OK" }); } 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 }); }); } }); } loginUser(username, password, (error, data) => { console.log(JSON.stringify(data)); if(error) { if(error.Status === 412) return player.call("loginHandler", ["incorrectinfo"]); // Falscher Name/Passwort else return console.log(error.Error); // Bei einem Error sind keine Daten vorhanden, also muss returnt werden, damit der 2. Parameter nicht verwendet wird } if(data.groups.find(group => group.groupID === 6)) { player.name = username; player.call("loginHandler", ["success"]); gm.auth.loadAccount(player); } else { player.call("loginHandler", ["incorrectinfo"]); } }); } break; } //Account Registration case 1: { if(username.length >= 3 && pass.length >= 5){ gm.mysql.handle.query('SELECT * FROM `accounts` WHERE `username` = ?', [username], function(err, res){ if(res.length > 0){ player.call("loginHandler", ["takeninfo"]); } else { bcrypt.hash(pass, function(err, hash) { if(!err){ gm.mysql.handle.query('INSERT INTO `accounts` SET username = ?, password = ?', [username, hash], function(err, res){ if(!err){ player.name = username; console.log("\x1b[92m" + username + "\x1b[39m has just registered."); } else { console.log("\x1b[31m[ERROR] " + err) } }); } else { console.log("\x1b[31m[BCrypt]: " + err) } }); } }); } else { player.call("loginHandler", ["tooshort"]); } break; } default: { player.outputChatBox("An error has occured, please contact your server administrator.") console.log("\x1b[31m[ERROR] Login/Register state was one that isn't defined. State: " + state) break; } } });
Versuch mal die Daten stringified zu printen. Dazu hast du auch statt dem data Parameter parsed verwendet, die Variable ist aber nur innerhalb der Funktion.
-
was zahlt man für ein ucp
Geld.
Komplett unterschiedlich abhängig von den Features, die Frage ist wie viel du bereit bist auszugeben. -
-
Hat keiner bestritten, nur sind die Fragen etwas dumm.
Statt den Threadersteller hier dumm von der Seite anzumachen kannst du es auch einfach komplett ignorieren oder du hilfst ihm. Deine Beiträge bringen hier niemanden auch nur ansatzweise weiter.
Wie vorher gefragt;
Wenn du selber eins erstellen willst, hast du schon Vorerfahrung? Weißt du was es können soll?
Wenn du eins kaufen willst, wie viel möchtest du maximal ausgeben? -
Ein Becks - ~1,25
-
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.