Beiträge von BloodyEric

    Auto-AFK für Leute die auf dem Desktop sind - zum Beispiel. Der wichtigste Punkt ist, dass man mit OnPlayerUpdate einfach eigene Callbacks erstellen kann, bei einem 2 Sekunden-Timer ist das problematischer, da das Event möglicherweise ausgelöst wird, aber vom Timer nicht erfasst wird, da es ausschließlich in der Zeit zwischen den Timerdurchläufen passieren könnte.

    Die Streamer müssen umgeschrieben werden, bei Createobject gibt es einen neuen Parameter, die Streamdistance --> Ab wann ein Objekt geladen werden soll. Wenn du es nicht selbst kannst nimm Incognitos Streamerplugin, das ist bereits fertig.


    Ansonsten muss das Script einmalig mit den neuen Includes recompilet werden, dann sollte es schon funktionieren.

    Sofuck würde auch so wieder funktionieren, gugg dir 0.2X an. Da war bei einem Client-Update auch die d3d9.dll gesperrt und die Leute cheateten weiter.


    Yop, bei der neuen Funktion passt sich das Objekt dynamisch zu den Bewegungen des Spielers an, als wenn du zum Beispiel bei den Special-Actions dem Spieler eine Flasche in die Hand gibst, nur dass das jetzt mit allen Objekten an allen Knochen funktioniert.

    Zum Thema: Coole Idee, bin mir aber sehr sicher, Tempomaten schon vor Monaten auf anderen Servern gesehen zu haben. Problem an der AMX ist, dass viele andere Scripts diese Tasten schon direkt benutzen. Dafür funktioniert es auf einem "rohen" Script durchaus cool, sollte zu einem ganzen "Motor" Script werden, mit Motor starten/stoppen, evtl. noch Licht an/aus etc. :)

    1. Mach wenn noch was bei response==0 einfach meine Struktur und ein else, mehr Fälle können nämlich dann nicht auftreten. ;)


    Zum weiteren Vorhaben: Zumindest mir fällt auf die "kurze" Variante keine Möglichkeit ein. Wenn es nicht zu viele Objekte sind, würde ich dir daher vorstellen, mit der FOR-Schleife die Liste so zu gestalten, dass bei nichtaktiven Objekten ein entsprechender Eintrag erstellt wird (Das Objekt ist nicht verfügbar). Dann die Liste im Script vorfertigen mit allen möglichen Listitems und die Abfrage noch jeweils einbauen, damit überprüft wird, ob das Listitem verfügbar ist: if(Object[i][blEnabled] == 1)

    Okay, 2 Sachen. Zuerst: Mit Format erstellst du "objectstring" aber im Dialog rufst du nur "string" auf.


    Deine Forschleife ist an sich ein richtiger Ansatz, aber du musst sie ändern. Der fertige String muss so aussehen:


    objekt1\nobjekt2\nojekt3....


    Ungetestet würde ich die Forschleife dann so machen: (Abhängig von der Anzahl der Objekte kann es sein, dass eine Arraygröße von 256 nicht reicht!)


    for(new i=0;i<sizeof(Object);i++)
    {
    if(Object[i][blEnabled] == 1)
    {
    format(objectstring,sizeof(objectstring),"%s\nObjekt %d",objectstring,i);
    }
    }


    Noch so als kleiner Tipp:


    if(dialogid == ObjectDialog)
    {
    if(response == 0) return 1;
    if(response == 1)
    {


    kann einfach zu


    if(dialogid== ObjectDialog)
    {
    if(response)
    {
    //CODE
    }
    }
    werden, da bei einer anderen Antwort (der 2. Button) der Dialog automatisch ohne Effekt geschlossen wird.


    Die Frage ist, wie du damit jetzt weiterarbeitest. Da deine Objekte ja scheinbar sich in der Laufzeit variabel ändern, wird das mit dem case für jedes Objekt schwer.
    Ich weiß nicht, was du mit den Objekten jetzt weiter vor hast. Wenn du bei jedem etwas anderes machen willst, aber immer andere in der Liste stehen könnten, solltest du am besten leere Listeneinträge erstellen, damit die Struktur im Code immer gleich bleibt - 3. Zeile in der Liste ist immer das 3. Objekt, egal ob es [blenabled] ist oder nicht. Wenn du aber bei allen den selben Vorgang machen würdest könntest du die listitem-Struktur folgendermaßen versuchen (wie immer ungetestet):


    switch (listitem)
    case 0..sizeof(Objects): //Mache irgendwas mit dem Objekt


    Spontan fällt mir aber keine Anwendungsmöglichkeit ein, da in der Variable ja nicht die Objekte an sich überliefert werden. Versuch dein Vorhaben etwas näher zu erläutern. ;)