Beiträge von INCepted

    So ich melde mich nun hier wieder, weil es doch ist, was ich dachte.
    Die function von Lars verhindert jegliches ändern der ElementDatas, auch wenn
    es Scripts vom Server sind (im Clientseitigen), somit habe ich das Problem, wenn ich der Funktion
    vioSetElementData einfach das SetElementData rausnehme, sodass es nur in der Tabelle gespeichert ist, dann
    gibt es das Problem, dass ich im ganzen Script setElementData durch vioSetElementData ersetzen muss, was nämlich öfters
    benutzt wird, hat einer eine Idee ?

    Also wenn ich das richtig verstehe, du hast ein eigenes Leben, was bis zu 10.000 geht, richtig ?
    Dann machst du das, wie von Lars erwähnt, mit dem Dreisatz.
    Nur statt /100 machst du /10000

    gangwardeath und gangwarDeath


    Bitte lies dir mein Thema erst richtig durch, ich habe bereits dies getestet, es wird richtig gesetzt und
    auch abgefragt, wenn ich sterbe wird aber die variable nicht geupdated, ich habe einfach quasi das Gefühl die komplette Schleife
    wird nur einmal gemacht obwohl da ein Timer ist...

    EDIT: Hat sich geklärt, hab vergessen die Parameter wieder beim Timer zu setzen ^^

    Hey liebes Forum,
    bin dabei eine HUD für das Gangwar zu machen. Bisher ist alles eigentlich
    fertig bis auf die Lebenden Anzeige.

    Ich möchte nämlich, dass die Lebenden gezählt werden, dass habe ich mit
    setElementData gemacht, sobald man stirbt und vom Gangwar betroffen ist wird
    ElementData ( "gangwardeath" ) auf true gestellt, das klappt auch, da ich es mit
    einer Chatbox getestet habe..

    Wenn ich aber alle zählen will funktioniert das nicht. Die Online Zahl geht, jedoch wenn
    ich sterbe wird es nicht bei den Lebenden abgezogen, wahrscheinlich weil die if-Abfrage dann nicht mehr
    passiert werden kann aber immer noch in der Variable gezählt wird, was kein SInn macht.

    Hier die function:

    Hier mal ein Beispiel wie man das ganze lösen könnte

    Würde man nun Clientseitig ein Elementdata verändern, wird die Änderung rückgängig gemacht, und man wird gekickt.

    LG
    Lars


    Das trifft aber nicht auf Clientseitige Scripts des Servers zu, oder ?
    Somit würde clientseitig setElementData immer noch mit einer absichernden
    Function funktionieren, wenn ich es verstanden habe.

    Denn wenn ich nach Sams und Noneatemes Erklärung gehen würde,
    Müsste ich ja setElementData bei der Function vioSetElementData weglassen, das
    Erforder dann, dass ich überall im Vio Script das reine setElementData ersetzen, da das auch
    öfters verwendet wird..

    Also nochmal rückfassend: Die Sicherheits Function von Lars reicht
    Aus um das Ausnutzen zu verhindern, sodass setElementData clientseitig
    Nur bei Dateien vom Server funktioniert, richtig ?


    Danke aber für die hilfreichen Antworten! :)

    Element Datas sind in der Regel nicht Vertrauenswürdig da sie von Clienten Modifiziert werden können.
    Diese werden dann Automatisch mit dem Server sychronisiert, sodass Element Datas niemals für sensible Daten wie Adminlevel o.Ä. verwendet werden sollten.

    Eine Serverseitige Tabelle, wie im Vio Script vorhanden ist, gleicht die Element-Datas ab und hat somit eine "sichere" Version der Element-Datas.
    Da das Vio Script allerdings komplett inperformant gescriptet wurde und so ziemlich alles Falsch gemacht wurde was man Falsch machen kann, kann ich die Funktion jedoch nicht empfehlen.

    Wenn du das Thema Tabellen in Lua verstanden hast, wirst du schnell merken wie man diese Daten in einer Tabelle speichert. Dazu kannst du dir ein paar Tutorials anschauen.


    Schon klar, jedoch sind bei mir die ElementDatas in einer Tabelle ( elementData = {} ) gespeichert, was bezweckt also diese Tabelle
    serverseitig wirklich und was ist an dieser Tabelle falsch ?

    Hey liebes Forum,
    habe mich zum Thema VIO allgemein so ein wenig durchgelesen.
    Nun ist mir zu Ohren gekommen, VIO sei unsicher bzw. ausnutzbar aufgrund seiner getElementData
    Function (vioGetElementData etc.), da dies zwar zur Sicherheit dienen sollte aber nicht vollkommen ist, weswegen es
    so gut wirkt als wäre es gar nicht da.

    Nun meine Frage, da die Lösung wäre die ElementDatas in eine Tabelle zu speichern, habe ich jetzt die
    Frage wie das gehen soll, ich kann mir nicht vorstellen was genau wie in eine Tabelle gespeichert werden soll
    bei ElementData, könnte mir das einer näher beibringen oder zeigen, wäre echt dankbar :)

    Gruß

    Danke für eure Hilfe!
    Aber dieser Rotz ist ja voll verbuggt...
    Kaum ein Button geht dabei...
    Und der Befehl /newhouse geht auch nicht.


    Dieser "Rotz" ist auch für Leute die Scripten oder anfangen wollen, welche
    sich in die Sachen einlesen und die Errors sich anschauen um versuchen dies zu beheben.
    Dieses Forum kann dir dann dabei helfen, jedoch kann das Forum auch nicht dein Server verwalten..


    Vielen dank, MasterM!

    Diese Zeile sollte man vielleicht weglassen:

    Lua
    money = oldMoney


    Da das Geld ja sonst immer wieder auf 0 gesetzt wird und es ein endloser Kreislauf ist ^^.
    Klappt so weit gut, Problem ist nur, was ist wenn ich 70.000 auf der Hand habe, dann dauert dies ja entsprechend lange,
    kann man das bei onClientRender, sofern man eine größere Summe hat etwas verschnellern ?

    Du erstellst Serverseitig eine Tabelle oder speicherst deine Werte in Element-Datas (also vioSetElementData). Du musst dann in die entsprechenden Funktionen (z.B. wenn wer im Gangwar getötet wird) Die Werte updaten, also z.B. so:


    Lua
    --Anfang der krassen Funktion für die Kills
    
    
    vioSetElementData(killer,"gangwar_kills",vioGetElementData(killer,"gangwar_kills")+1) -- killer ist der Mörder
    
    
    -- weiteres Zeug der Funktion

    Mit der Damage-Anzeige: omPlayerDamage gibt dir einen loss-Parameter zurück, der ist eine Zahl von 1-100, wie viel der Spieler eben Leben verliert hat.


    Super, vielen dank! :)

    Heyho liebe Community,

    Ich habe vor eine Gangwar HUD zu erstellen, was auch relativ simpel wäre,
    Jedoch fehlen mir noch 2 wichtige Faktoren, die ich nicht
    Mir vorstellen kann, wie dies gehen soll.

    1.: Kills im Gangwar berechnen:
    Die HUD soll auch anzeigen, wie viel Kills selber
    Man im Gangwar gemacht hat.

    2.: Damage Counter:
    Zudem soll sie anzeigen wie viel Damage man insgesamt
    Geleistet hat.

    Ich freue mich über jede Antwort ;)

    Angenehmen Abend liebe Community,
    ich habe eine HUD, die logischerweise auf DxDraw aufbaut und mit
    "onClientRender" ausgeführt wird.

    Ich habe jedoch nun ein Problem, dass wenn ich eine GUI öffne die HUD VOR der GUI ist.
    Was muss ich tun um die HUD HINTER die GUI zu plazieren ?

    Mit einem GUI müsstest du die Funktion setFPSLimit nutzen (Clientseitig).
    Oder du öffnest die Konsole (F8) und gibst fps_limit=60 ein (60 ist dabei ein Beispiel).

    Bei beidem gilt, es geht nicht über die Serverseitig eingestellte FPS.


    Hey danke für die Antwort, leider klappt das nicht.. Die
    FPS Anzahl wird immer wieder auf 50 gesetzt, egal welche FPS ich eingebe, obwohl
    die maximale FPS anzahl des Servers 65 beträgt.
    Ich habe das testweise mit einem Command gemacht, da ich es
    für ein Script brauche.


    Jedoch wird bei eingabe des "setfps" Commands nie die FPS auf 60 gesetzt...

    Hallo MTA-SA,
    Ich bin dabei gerade eine HUD zu animieren, da ich es mit "onClientRender" mache gibt es ein
    Problem, sofern man die gebindete Taste für das animieren zu oft drückt sozusagen Spamt,
    dann kommt der Client nicht hinterher und es bugt. Ich habe jetzt im Wiki nichts gefunden, aber kann
    ich irgendwie abfragen ob bereits ein Event gesetzt wurde ?

    Gruß