Beiträge von TheKekes

    Hallo,
    wozu das Rad neu erfinden, wenn es diese Funktionen schon nativ in der API gibt?
    http://wiki.sa-mp.com/wiki/Setproperty
    Dein Script führt auch zu Performanceeinbrüchen, wenn viele globale Variablen angelegt werden und die gesuchte Variable
    am Ende des ServerVars Arrays ist. Bei 1000 Variablen wird dann erstmal 1000 mal strcmp ausgeführt, bevor die gesuchte Variable letztendlich ausgegeben wird (angenommen die gesuchte Variable ist die 1000ste im blödesten Fall)
    Dazu gibt es auch Techniken, um das zu vermeiden. Statt strcmp könntest du beispielsweise den Hash bilden und dann die Zahlen vergleichen.. usw.
    Für Anfänger solltest du lieber eine Wrapper der setproperty Funktionen erstellen mit defines.
    Diese Arbeit hat allerdings schon Dracoblue geleistet:
    http://dracoblue.net/download/dprop-11/39/
    Außerdem werden die Variablen nicht zwischen verschiedenen filterscripts und dem Gamemode synchron sein. Dazu kann jedoch das Mastersystem von Y_Less behilflich sein:
    http://forum.sa-mp.com/showpost.php?p=850937&postcount=364

    Zitat

    Euer Script wird damit auch viel schöner aussehen anstatt die nervigen Integer oder Strings oben stehen zu haben.


    Damit ergibt sich allerdings ein weiterer Nachteil. Wenn man sich vertippt und bei der Funktion den falschen Variablennamen benutzt, wirst du diesen fatalen Fehler nicht mehr bemerken.
    Bei einer normalen Variable gibst dann natürlich ne Compiler Meldung.
    Edit: Opera hat leider alle Zeilenumbrüche verschlungen, sry.

    Hallo


    Ich habe grad en Link von jmd bekommen, der mich recht verwirrt. Logischerweise würde ich sagen, das totaler Humbug, aber weil es auf DracoBlue ist, zweifle ich etwas. VirusTotal hat 2/43 als infisziert gemeldet und auch der Dateiname ist recht merkwürdig. Was soll man von sowas halten (Ich renn nicht blind rein und installiere es, es verunsichert mich nur) ? Die offiziele Seite bietet es ja auch noch nicht als Download an. Hat sich Draco da einen Spass erlaubt oder was ?


    Nein, es ist kein Fake und auch kein Virus. Es ist allerdings auch nicht das, wofür du es hälst.
    Es ist GTA T<< 0.3c, nicht GTA sa-mp 0.3c.


    GTA Tournament ist ein sehr alter multiplayer mod für GTA., Deshalb auch das Datum..


    Edit: Meinte natürlich multiplayer mod für GTA und nicht für sa-mp

    Das Script benutzt die Funktion "udb_hash" zum "Verschlüsseln". Diese Funktion basiert auf adler32, was so unsicher ist, dass du das Passwort gleich im Klartext speichern kannst.
    adler32 ist sogar als Prüfsumme ungeeignet wegen den vielen Kollisionen: http://de.wikipedia.org/wiki/Adler-32


    Benutze Whirlpool von Y_Less:
    http://forum.sa-mp.com/showthread.php?t=65290


    Du musst dazu das Plugin einbinden und dann zum Beispiel:


    new lpass[] = "Beispiel";
    new lverschluesselt[200];
    WP_Hash(lverschluesselt, sizeof lverschluesselt, lpass);
    printf("%s verschlüsselt: %s", lpass, lverschluesselt);


    Den verschlüssselten Wert speicherst du als Passwort ab. Und wenn jemand sich einloggt, verschlüsselst du das eingegebene. Falls der Hash der Eingabe der Gleiche ist wie der gespeicherte Hash, ist das Passwort richtig.

    Warum holst du dir nicht einfach ein Buch? Dann brauchst du dir darüber keine Gedanken machen.


    Und mit MySQL solltest du gar nicht erst anfangen, wenn du noch nichts einmal PHP scripten kannst.




    Durch Online Tutorials erlangst du nur gefährliches Halbwissen. Das solltest du beachten. Damit kannst du nicht erfolgreich programmieren.




    Zitat

    setze dir am besten ein ziel (projekt ) und scripte das dann z.B loginsystem mit mysql und php


    Dafür ist es noch VIEL zu früh, auch wenn es leider oft gängige Praxis bei Anfängern ist.






    Edit: Inhalt wurde verschluckt, sry.


    Was gibt es auch großartig zu erklären? Jeder Scripter der auch nur ein bisschen hirn hat wird den Code ja sofort beim ersten mal verstehen


    Das hat mit Hirn NICHTS zu tun. Du bist einfach in der Position eines erfahrenen Scripters und bist unfähig, dich an deine Anfänge zurück zu versetzen.


    Das ist einfach kein Tutorial und du scheinst auch nicht zu verstehen, was ein Tutorial ist und wie man ein Gutes schreibt.
    Und für wen schreibst du dieses Tutorial hauptsächlich? Für die Leser und nicht für dich. Und wenn die Leser eben ein richtiges Tutorial mit Erklärungen wollen, dann machst du auch eins oder lässt es ganz bleiben.


    Ich habe es nicht so gemeint wie es sich anhört :) Soll kein Angriff sein, nur konstruktive Kritik.

    Du hast dir zwar Mühe gegeben, ist aber ziemlich sinnlos,
    es läuft nämlich nur auf Windows. Und da die meisten dedizierten Server auf Linux / GNU laufen
    ist der Einsatz sinnlos. Es ist im Prinzip ja nur ein Wrapper für die GetProfile Funktionen der Windows API..


    Nimm dir lieber eine portable INI Bibliothek für C (oder C++, je nachdem worin du programmierst) und mach damit
    ein Plugin.

    Ist doch ganz einfach, nämlich in einer Schleife solange das Array in Teile auflösen, bis es leer ist, da keine weiteren Teile vorhanden sein.
    http://pastebin.com/f4c65eee3 (die Kommentare kannst du ignorieren und löschen, wenn die dich verwirren)


    ycmd ist bei YSI dabei.
    Hier ist die Doku: http://wiki.sa-mp.com/wiki/YSI:Commands


    Bei ycmd werden die Command ähnlich wie bei dcmd erstellt, nur man erstellt die Cmd nicht bei der Rückruffunktion onPlayerCommandText, sondern in OnGameModeInit/OnFIlterscriptInit:
    Aus der readme entnommen

    Wie meinst du das mit "Text eingeben"?


    Erstmal, zb dcmd und strtok kann man nicht vergleichen. Es gibt ja zum einen Methoden um Zeichenketten in Teile aufzulösen, und zum einen Methoden, um möglichst einfach und klar strukturiert Commands zu scripten.
    Also vergleiche ich eher:
    strtok, sscanf, strget, getstr, split, explode,..
    und ich vergleiche:
    zcmd, dcmd


    Mein letzer Test war lange her, aber so weit ich mich errinern kann, war Westie´s explode Funktion am schnellsten (von PHP portiert).
    Von allen kann ich also explode empfehlen http://forum.sa-mp.com/index.php?topic=110557.0


    Am Anfang ist die schnellste Methode:
    explode->sscanf->strtok->strget->getstr->split.
    Diese Reihenfolge hat keinen Anspruch auf Richtigkeit, probier es einfach selbst aus:
    http://forum.sa-mp.com/index.php?topic=79810.0#post_test


    Und zcmd->dcmd->ycmd.


    So, dass ist nun die dritte Meinung. Am besten machst du dir deine eigene Meinung.

    ... hat es auch noch Sicherheitslücken wie weiss nicht was. Lade ich ne verseuchte .amx in die Datenbank und jmd. benutzt diese direkt, kann ich C++ Code ausführen lassen, wie ich will.


    Jeder kann es ja mal auf seinem 0.2X Server mit dieser Datei ausprobieren, sie zeigt lediglich ne Messagebox an (hoffe mal das war jetzt die richtige).


    Ja, aber das hat keine negativen Konsequenzen, da die Scripts nur auf dem Server laufen. Und die Serverbesitzer lassen eh eigene Scripts ausführen, und keine zufälligen Scripts, die sie irgendwo gefunden haben (außer vielleicht GF Fanboys).
    Und die Serverhoster haben dann eben Pech. Aber das ist ja nicht nur bei Sa-mp Server so (das ist nun ein anderen Thema..)


    D.H. du kannst den Clienten keinen schadhaften Code einschleusen (unmöglich ist aber trotzdem nichts). Das gilt genauso für MTA: Dass man dort Clienten mit Viren infizieren kann, nur indem sie die Ressourcen downloaden, ist MEHR als lächerlich.


    Außerdem enthält die PAWN Version von SA-MP eigene Änderungen am Code. D.H. neue PAWN Versioen würden nur zu Inkompatibilitäten der Scripts führen. Außerdem werden Sicherheitslücken zum Teil von den Sa-MP Entwicklern selbst geschlossen, bzw wenn die Entwickler meinen sie hätten es nötig sie zu schließen.


    Edit: Ich hab mal den Full Quote entfernt.

    Ob deine Funktionen für produktive Scripte hilfreich sind, bin ich nicht von überzeugt. Die nativen Funktionen sind immer schneller als deine Eigenen. Auf jeden Fall macht es Fun, so etwas eigenes zu erstellen. Und man lernt, die nativen Funktionen besser einzusetzen, wenn man sie nachrekonstruiert. Insofern sind es "nützliche Codeschnipsel". :)

    Auch ganz nett:


    Spoiler anzeigen
    F: Nutzt du iptables auf deinen Server ?
    A: Ja, nutze ich.
    F: Cool, FW-Builder oder SuSecure110%SaveGuard oder 100%Secure.sh ?
    A: Nicht von allem dem, ich habe selber nachgedacht.
    F: WOW, kennst dich gut aus wa ? ist das besser als die oben geannten ?
    A: Ahm, für mich ja!
    F: Fette Sache, kann ich mal sehen ?
    A: NÖ
    F: Ach ich vestehe, glaubt wohl das ich dich dann Hacken kann, wa ?
    A: LOL, warum soll ich DIR mein iptables scipt geben ? Kannst doch eh nicht mit anfangen
    F: Echt versprochen, wenn ich nen Loch finde dan hack ich dich nicht OK ?
    A: Und wiso immer hacken ? Warum glaubst du das du mich hacken kannst nur weil ich dir mein Iptables Script gebe ?
    F: Na klar, wenn ich in dem Script nen Loch finde hack ich den Port.
    A: LOCH ?
    F: Wenn du was nicht geschützt hast
    A: AH Du meinst Dienste auf den Ports 22, 25, 80, 110, 443, 143 oder ?
    F: Ja, wenn die nicht geschüzt sind kann ich dich hacken
    A: LOL, dann mal los. Die Ports werden nicht geschützt
    F: scheinst dich dann ja doch nicht so auszukennen, wa ?
    A: Wenn du meinst.
    F: Ha, er bekommt angst
    A: *PRUST* ja stimmt, ich kack mir gleich an bein vor angst
    A: Weist du überhaubt was ich mit IpTables mache ?
    F: Na deinen deinen Server absichern.
    A: NE kein Stück. Ich nutz das nur um Portbezogende Traffic Statisiken zu erstellen.
    F: Was ist den das ?
    A: .....

    Da bin ich aber echt beeindruckt. Hab wohl wine unterschätzt.


    [W]ine [I ]s [N]ot An [E]mulator IST ein Simulator und kein Emulator.


    Es heißt ja nicht [W]ine [I ]s [N]ot An (S)imulator.


    VirtualBox und Wine sind beides Simulatoren, gerade da man Simulator weitläufig auslegen kann, Emulator hingegen hat eine feste Bedeutung. Weder VirtualBox noch Wine sind ein Emulator. Es gibt also einen Unterschied zwischen Simulator und Emulator..


    ie spinnt gerade...

    the keks das würde mit der viruen maschine schon funktionieren er müsste nur einestestellen wie viel ram ,festplattenspeicher ect der maschine zur verfügundstellt
    aber was doch sein kann ist das die virtuelle maschine bzw windows+gta sa in der virtuellen maschine anfangen zu laggen weil das ganze ein mords auffand für den pc ist wenn du einen etwas elteren hast naja musste mal versuche


    Nein würde nicht, da die virtuelle Maschine auch die Hardware simuliert. (selbst deine beste Graka wird dann als VGA simuliert)


    Und ich glaube kaum, dass es eine CPU gibt, die genug Leistung hat, die schwache Power der VGA Karte auszugleichen.


    (Moderne CPU schafft etwa 2500 bis 3000 einzelne Partikel. Eine Graka schafft da viel mehr, da sie 240 unterschiedliche Recheneinheiten haben, die sich parallel um die Berechnung kümmern)


    Es gibt bestimmte nur Guest Additions für die VirtualBox. Aber erstmal musst du eine für deinen PC finden, und ich weiß auch nicht,, ob das kostenlos ist.

    Man kann keine exe Dateien direkt öffnen, und auch nichts umwandeln.


    Es gibt nur zwei Möglichkeiten, einmal über Wine, das ein Windows OS vorgaukelt, und einmal über eine virtuelle Maschine wie VirtualBox von sun.


    Mit wine wird das wegen DirectX schonmal nicht klappen, wenn du beispielsweise XP auf eine virtuelle Maschine drauf installierst und GTA dann darauf versuchst, könnte es klappen. Aber leider unterstützen die virtuellen Maschinen keine aufwendigen 3D Anwendungen.


    Insofern hast du leider keine Chance.


    (Den windows Server wirst du sicherlich mit Wine als auch auf einer virtuellen Maschine starten können, GTA selbst nicht)