Beiträge von Simon

    Ich möchte ein Login-System machen. Dazu habe ich eine Klasse User, die ist aktuell noch ziemlich leer.
    Aufjedenfall soll für jeden eingeloggten Client ein Objekt User erstellt werden, in welchem dann Daten verwaltet werden (Level, Geld, etc). Ich kann dann mit Hilfe des Objektes auf die Daten zugreifen.


    Ich muss nun aber jedem User-Objekt einem Client zuweisen.
    Deswegen wollte ich eine Liste von allen User-Objekten machen, welche einem Client zugewiesen sind.
    Sobald ein Event/Command aufgerufen wird, kann ich dann mit Hilfe des Clients das User-Objekt finden und die Daten lesen/schreiben.


    Es wäre sehr einfach, wenn es in irgendeiner Form (Am besten numerisch) eine ID gibt, die einen Clienten identifiziert.


    Bisher habe ich eine sortedDictonaryList<Client,User>. Das Problem ist, das die Regel zur Sortierung beim Client implementiert werden muss. Ich möchte an dieser Klasse aber nichts verändern.


    Mal Beispiel-Code:


    Fehlermeldung: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: At least one object must implement IComparable.

    Ich nutze c# mit der Bridge. Gibt es einen Weg, die eindeutige ID eines Clients zu erhalten.
    Leider finde ich im WIKI nichts passendes dazu.

    Also es gibt ja nicht so ein Event wie in SA:MP, welches aufgerufen wird, wenn sich der state vom Spieler ändert, zum Beispiel von Fußgänger auf Beifahrer oder Fahrer.


    An deiner Stelle würde ich einen Timer machen, der bei jeden aufruf alle Spieler durchgeht und den aktuellen Fahrzeug-Sitz abfragt und diesen Speichert.


    Du vergleichst einfach den vorherigen Wert (zum Beispiel -1 = Fußgänger) mit dem neuen Wert(zum Beispiel 0 = Fahrer oder 1 = Beifahrer) und löst dann ein event aus welches dir den newstate und oldstate angibt. so weiß du, ob er vom Beifahrersitz auf Fahrersitz gewechselt hat.

    wenn du /getdoor eingibst, hast du deine maus, mit der du über objekte "hovern" kannst.


    Wenn diese leicht transparent werden, kannst du durch einen klick diese registrieren und anschließend mit /setdoorstate öffnen.


    Das was in der Ressource geschieht bei den Befehlen /getdoor und /setdoorstate, müsstest du quasi nur nachbauen. Habs selber aber noch nicht gemacht.


    Es gibt aber eine Liste mit vielen türen und deren Position im GTA:N Forum. dort kannst du mal schauen.


    Aber vermutlich hast du das alles richtig gemacht und es liegt an anderen Fehlern, wie zum Beispiel die Vermutung von toor. Da ist mein wissen aber derzeit am Ende.

    also sind diese standardmäßig nicht geladene interiors also sowohl durch türen betretbare räume als auch in sich geschlossene räume?


    Und wieviele interiors lassen sich derzeit laden?

    Also GTA:N sollte das bisher fortschrittlichste Projekt sein. Zumindest gibt es hier einen eigenen Themembereich dazu, wo sicherlich in der nächsten Zeit viele Tutorials geschrieben werden.

    Es ist lange her, dass ich aktiv HTML gemacht habe, aber wenn ich mich recht erinnere, braucht man eine Form, damit mein klicken auf den Button auch etwas ausgelöst wird.


    Bin mir an dieser Stelle nicht sicher und lasse mich gerne korrigieren.


    Aber aufjedenfall schadet es nicht. Ich hatte wie bereits erwähnt genau dieses Problem, wie du es jetzt hast: es ist einfach gar nichts passiert. Bis ich die erwähnten Änderungen vorgenommen habe.


    Was ich auch gemacht habe: ich habe mir an geeigneten Stellen Debug Meldungen ausgegeben und nach und nach Code auskommentiert, umzu schauen ob überhaupt die Funktion aufgerufen wird.


    In der HTML Datei habe ich in den Javascript funktionen, die durch den Button-Klick aufgerufen werden, einfach mal alerts ausgegeben und dies im Browser getestet (alert bringt den client zum crashen).


    Du solltest ähnlich vorgehen, um zu schauen ob die Funktionen im Browser aufgerufen werden und um zu schauen ob inGame deine Clientside Funktionen im Script aufgerufen werden.

    Eine Liste findest du hier
    Wie genau muss ich mir die interiors denn vorstellen?


    Sind die geladenen Interiors dann wie in Samp ein in sich geschlossender Raum, in den man den Spieler teleportieren muss oder so wie mit dem Amnunations einfach ein Raum hinter einer Tür, die man mit Hilfe vom doormanager öffnen muss.

    Hallo,


    ich habe eine ganz allgemeine Frage zum Thema Interiors:


    Wie funktioniert der ganze Kram.


    Ich habe bisher folgendes herausgefunden:


    Es gibt Türen, dessen state man ändern kann. Dazu muss man diese Tür wohl erst registrieren und den status der registrierten Tür durch Angabe der ID ändern.
    Standardmäßig sind die Türen abgeschlossen und zu, mann kann sie aufschließen, so dass sie sich bewegen wenn man dagegen läuft (man kommt ins interior rein) und man kann von anfang an sogar die Tür auf einen bestimmten "Stand" bringen, z.B.: halb geöffnet oder komplett geöffnet.


    Es gibt Interiors, sogenannte IPLs. Was genau die Abkürzung bedeutet weiß ich nicht. Aufjedenfall gibt es da jede Menge und da hört mein Wissen auf. Die paar zugehörigen Funktionen, die ich im wiki gefunden habe, geben mir leider keine weitere Auskunft.


    Wenn sich da jemand mit auskennt, würde ich gerne wissen, wie das alles funktioniert. Ich brauche keine Lösung mit Beispiel, sondern nur eine Erklärung.


    Bei SA:MP war es ja so: Interiors hatten eine Interior-ID und Koordinaten. Um den Spieler da hin zu bringen, musste man einfach die Position und das Interior setzen.
    Das ganze scheint mit bei GTA:N etwas komplizierter, da man ja auch wie bereits erwähnt diese Türen hat, die sich durch anpassen des Status beweglich machen und dahinter sich direkt das "Interior" befindet, ohne das man teleporiert wird. Bei anderen Eingängen, so kenne ich es aus Singleplayer/Online-Modus, da kommt eine kleine Sequenz und nach kurzer Ladezeit war man dann in einem Gebäude drinne.

    Ich hatte ähnliche Probleme.


    Bei mir war das das Login/Register System. Ich habe mir da eine <From> mit HTML anzeigen lassen und durch Button-Klicks Javascript Funktionen aufgerufen, die wiederum Client-Side Funktionen im Script ausführen.


    Bei mir ist oftmals jedoch gar nichts passiert.


    Das Problem habe ich gelöst, indem ich mich streng an die HTML vorgaben gehalten habe.


    Also meine Frage: Wie genau ist deine HTML-Datei aufgebaut?
    Sie müsste so aufgebaut sein:



    Anschließend ging es bei mir wunderbar.


    Außerdem habe ich noch Probleme mit den Parametern gehabt, die ich an das Script übergeben habe.


    So musste ich Username und Passwort an das Script übergeben, um dann eine Datenbank abfrage zu machen:


    JavaScript
    var Username = document.getElementById("username").value;
    var Password = document.getElementById("password").value;
    ressourceCall function(Username, Password);

    Damit gab es komischerweise Probleme. Habe es geändert in:



    JavaScript
    var Username = document.getElementById("username");
    var Password = document.getElementById("password");
    
    
    ressourceCall function(Username.value, Password.value);

    Wenn ich ein Textdraw anklickbar machen möchte, muss ich auch die anklickbare fläche dafür definieren.


    Angenommen ich habe ein Button: Dann habe ich ein Text und eine Box umzu, und alles inerhalb der Box kann angeklickt werden.


    Ich bin nach dem wiki vorgegangen und habe die Box so definiert, sie wird mir auch richtig angezeigt. Jedoch ist die klickbare Fläche nicht die, die ich definiert habe.


    Von Links nach Rechts betrachtet stimmt alles. alles über dem Textdraw stimmt auch, nur alles unter dem Textdraw ist anklickbar, welches nicht so sein sollte.


    Nun habe ich 2 neue TextDraws, wo mir keine Box angezeigt werden soll, jedoch muss die größe der Box ebenfalls definiert werden. Wenn ich sie nun genauso definiere wie vorher, dann habe ich das selbe Problem wie bei den vorherigen Textdraws.


    Außerdem ist das eine Textdraw zentriert, weshalb man da auch noch etwas beachten muss, woraus ich jedoch aus dem wiki nicht ganz schlau werde. Man muss da X und Y vertauschen, gleichzeitig wird aber gesagt, das X quasi die Breite und Y die Höhe ist, was ja logisch ist. nur in wiefern muss ich X und Y vertauschen? breite (x) und höche(y) werden zu breite(y) und höhe(x) ? Und selbst dann werde ich sicherlich wieder das oben beschriebene Problem haben.


    Mal eine Grafik im Anhang, Grün bedeutet nicht klickbar also in Ordnung. Rot bedeutet klickbar, obwohl nicht in der klickbaren Fläche.

    Hallo,


    Textdraws waren nie meine stärke. Ich brauche Hilfe bei der klickbaren Fläche von Textdraws.


    Ich weiß das man dazu die TextSize verändern muss, Es ist quasi die Box die da wäre, wenn man diese aktiviert.


    Jedoch haut das bei mir nicht ganz so hin.


    Wie genau sollte ich da am besten vorgehen. Ich habe ein TextDraw, welches Zentriert ist und eins, welches Linksbündig ist.


    Ich habe 2 andere Textdraws, bei denen ich durch langes probieren eine einigermaßen passende Fläche hatte. die Breite passt, nur die Höhe passt nicht ganz:
    Zwar beginnt die Fläche bei beiden an richtiger Stelle (von oben nach unten gehend) aber alles unterhalb des Textdraws und innerhalb der breite ist auch klickbar.
    Auch bei diesen beiden hat das mit der Box nicht so ganz hingehauen, die nebenbei gesagt sogar angezeigt wird.


    Bevor ich nun bei meinen Hauptproblem, dem zentrierten und dem linksbündigen rumprobiere und die selbe Lösung bekomme, würde ich gerne nochmal Hilfe dazu bekommen, um die 2 ungefär passenden Textdraws zu korrigieren, und es direkt richtig zu machen.


    Vielen Dank


    Hatte ich noch hier, ich weiß dennoch nicht wer die Liste erstellt hatte (bin mir sicher das ich sie nicht erstellt habe :'d).

    Danke, sowas hatte ich gesucht.


    Bin nun aber gleichzeitig auch fündig geworden.

    Es gibt etwa 200 Komponennten. Viele Fahrzeuge teilen sich die selben Komponenten, aber nun nicht alle.
    Ich müsste für jedes Fahrzeug die Komponennten alle durchgehen und die Preise rausschreiben.


    Ist an sich kein Problem, jedoch würde das warscheinlich ewig dauern.


    Daher die Frage, ob es eine preisliste gibt.


    Ich muss leider für jede Komponennte den Preis wissen, da das Geld vom Server anders verwaltet wird. Ich muss also den Betrag, der abgezogen wird beim Tuning, anders verwalten.
    Am einfachsten ist das, wenn die Preise vorab bekannt sind.

    Gibt es eine existierende Liste für die Tuning-Komponennten und den dazugehörigen Preisen?


    Ich weiß von der offiziellen Liste der Komponennten, wobei dort jedoch keine Preise angegeben sind. Diese sind jedoch sehr wichtig für mich.