Damit nicht ständig ein neues Thema für kleine Fragen eröffnet wird, könnt Ihr eure Fragen jetzt hier stellen!
[SAMMELTHEMA] Kleine Scripting Fragen - GTA V
- Eddy
- Unerledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ich versuche grade anhand eines Tutorials das Scripten für GTA V zu lernen was bis jetzt auch ganz in ordnung ging bis ich an ein fehler gestoßen bin der mich zu einer zwangspause zwingt
Folgendes Problem:
Main-Methode kann nicht aufgerufen werden. Warum das so ist kann ich nicht sagen habe jetzt dauerhaft alles kontrolliert und für mich sieht es 1:1 aus wie ausExterner Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Wo soll den da ein fehler sein? ich glaube ich bin zu blöde es zu finden
Mein Code sieht so aus:
C
Alles anzeigenusing System; using GTANetworkAPI; using LiteDB; namespace testresource { public class ServerSettings { public int _id { get; set; } = 1; public int default_weather { get; set; } = 6; } public class Main : Script { public ServerSettings LoadedSettings { get; set; } public Main() { using (var db = new LiteDatabase(@"./Database.db")) { var settings = db.GetCollection<ServerSettings>("settings"); if(settings.Count() == 0) { ServerSettings serverSettings = new ServerSettings(); settings.Upsert(serverSettings); } LoadedSettings = settings.FindById(1); } if (LoadedSettings == null) return; LoadDefaulWeather(); } public void LoadDefaulWeather() { NAPI.World.SetWeather((Weather)LoadedSettings.default_weather); } } }
-
Bekommst du eine Fehlermeldung oder wird dies im Server betrieb nicht aufgerufen ?
-
Beitrag von Kaliber ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: okay (). -
-
-
@GamerXiOS das kommt in Visual Studio der fehler und ich habe es 1:1 wie im video gemacht und weiß dadurch nun nicht weiter warum der diesen fehler ausgibt da ich so gearbeitert habe wie im video
-
Hast du schonmal daran gedachg es sein zu lassen? Wenn du auf Lösungs suche bist und alles ablehnst da der gezeigte es auch nicht gemacht hat, dann schreib ihn an und frage uns nicht wenn du sowieso nichts versuchst.
-
das kommt in Visual Studio der fehler
Dann mach doch mal ein Screenshot von dem Fehler. Ohne genaue Fehlermeldung ist es nicht so einfach zu helfen
-
Hier das bild wo der fehler sein soll was 1:1 wie im video ist oder ich bin einfach nur blind
-
Das Problem ist, dass dein Projekt als eigenständiges Projekt definiert ist.
Rechtsklick auf dein Projekt -> Eigenschaften -> Klassenbibliothek auswählen und fertig -
Du hast eine Konsolen Anwendung(.exe) erstellt und keine Klassenbibliothek (.dll)
-
Danke @Cal44 und @Akino Kiritani für eure Hilfe so wie allen anderen.
-
Ich habe vorher nicht mit NativeUI gearbeitet, aber warum funktioniert das nicht? Sobald ich X drücke, kommt dieser Fehler:
Der hilft mir leider garnicht weiter.
Code:JavaScript
Alles anzeigen//Fahrzeugmenü let MenuOpen = false; mp.keys.bind(0x58, false, function() { let vehiclesMenu = new Menu("Fahrzeuge", "", new Point(50, 50)); let vehicles = getNearbyVehicles(player); let vehIdx = []; for(let i = 0; i < vehicles.length; i++) { let veh = vehicles[i]; let engine = veh.getIsEngineRunning() === true ? "~g~An~w~" : "~r~Aus~w~"; let locked = veh.getVariable("vehicle_Locked") === true ? "~r~Abgeschlossen~w~" : "~g~Geöffnet~w~"; vehiclesMenu.AddItem(new UIMenuItem(veh.model, `Motor: ${engine} | Türen: ${locked}`)); vehIdx.push(veh); } if(vehicles.length === 0) vehiclesMenu.AddItem(new UIMenuItem("Keine Fahrzeuge in der Nähe", `Es ist kein Fahrzeug in der Nähe.`)); vehiclesMenu.ItemSelect.on((item) => { vehiclesMenu.Visible = false; vehiclesMenu.Close(); if(item.Text === "Keine Fahrzeuge in der Nähe") return; let vehMenu = new Menu(item.Text, "", new Point(50, 50)); let vehicle = vehIdx[item.Index]; let engine = vehicle.getIsEngineRunning() === true ? "~g~An~w~" : "~r~Aus~w~"; let locked = vehicle.getVariable("vehicle_Locked") === true ? "~r~Abgeschlossen~w~" : "~g~Geöffnet~w~"; vehMenu.AddItem(new UIMenuItem(`Motor: ${engine}`, `Motor an/abschalten`)); vehMenu.AddItem(new UIMenuItem(`Zweitschlüssel vergeben`, `Zweitschlüssel an einen Spieler weitergeben`)); vehMenu.AddItem(new UIMenuItem(`Türen: ${locked}`, `Türen auf/abschließen`)); vehMenu.ItemSelect.on((item) => { switch(item.Index) { case 0: { if(!player.vehicle || !player.vehicle.getPedInSeat(-1) === player.handle) return player.notify("Du kannst nur als Fahrer den Motor an/abstellen!"); if(vehicle.getIsEngineRunning()) { player.notify("~r~Motor wird abgeschaltet..."); mp.events.callRemote("vehicle_Engine", vehicle, false); } else { player.notify("~g~Motor wird gestartet..."); mp.events.callRemote("vehicle_Engine", vehicle, true); } mp.gui.cursor.visible = true; mp.gui.chat.show(true); vehMenu.Visible = false; vehMenu.Close(); break; } case 1: { if(vehicle.getVariable("vehicle_Locked") === true) { player.notify("Türen: ~g~Aufgeschlossen"); mp.events.callRemote("vehicle_Lock", vehicle, false); } else { player.notify("Türen: ~g~Aufgeschlossen"); mp.events.callRemote("vehicle_Lock", vehicle, true); } mp.gui.cursor.visible = true; mp.gui.chat.show(true); vehMenu.Visible = false; vehMenu.Close(); break; } } }); }); if(!MenuOpen) { mp.gui.cursor.visible = false; mp.gui.chat.show(false); vehiclesMenu.Visible = true; vehiclesMenu.Open(); } else { mp.gui.cursor.visible = true; mp.gui.chat.show(true); vehiclesMenu.Visible = false; vehiclesMenu.Close(); } });
-
vehiclesMenu.ItemSelect.on
Sollte das nicht:
vehiclesMenu.OnItemSelect
heißen? o:
und bei dem Anderen eben auch?
-
Laut NativeUI Dokumentation (https://hackmd.io/s/HJO_CdHaM) ist das richtig so.
-
Hast dir mal geprintet, was da so die Werte von item sind?
Eventuell musst du das abfangen? Kannst ja per Debug herausfinden, an welcher Stelle der Code crasht...
-
Der Fehler ist extrem komisch... Ich habe jetzt mal versucht eine neue clientside Package zu machen und dort nur diese Zeilen Code reingemacht:
Codeconst NativeUI = require("nativeui"); const Menu = NativeUI.Menu; const Point = NativeUI.Point; let vehiclesMenu = new Menu("Fahrzeuge", "", new Point(50, 50));
Und der Fehler tritt sofort beim connecten auf... Es liegt also an dem "new Menu(...)", aber warum? Ich habs genauso gemacht wie in der Dokumentation
-
Hast du denn NativeUI auch in der index.js eingebunden?
-
Natürlich.