Beiträge von Sry4pwn

    Genau, zunno hat recht. Die pvars werden beim restart schon vorher zuruckgsetzt. Wie gesagt, musst du den account schon davor speichern und verhindern, dass der Account beim onplayerdisconnect nicht nochmal gespeichert wird.

    das is ja mal die schlechteste erklärung seit langem...
    sollte ungefähr so aussehen:


    Code
    #include <a_samp>
    public OnFilterScriptInit()
    {	
    	CreateObject(...);
    	CreateObject(...);
            ...
    
    }


    das compilsd du dann, fügst die .amx in den filterscript-ordner ein.
    Um das Filterscript zu laden gibt es mehrere möglichkeiten:

    • Du trägst es bei filterscripts in der server.cfg ein
    • Du lässt es zB unter OnGameModeInit laden. (SendRconCommand("loadfs fsName");)
    • Oder du lädst es ingame. (/rcon loadfs fsName)

    Am Handy eher schwer. Naja, vielleicht verstehst Dus ja.
    Natürlich deklariwrst du erstmal ein globales Array.
    new pfandflasche[2];


    In dieses speicherst du dann deine pickupid rein, wenn du das pickup erstellst.
    pfandflasche[0]=createpickup(....
    pfandflasche[1]=createpickup


    Im callback gehst du mit ner schleife dein gesamtes Array durch und prufst ob die pickupid in deinem Array enthalten ist.
    For(new i=0; i<sizeof(pfandflaschen); i++) {
    if(pickupid==pfandflaschen[i]) {


    }
    }


    Is zwar Jetz extrem schlecht geschrieben, aber mehr mag ich am Handy auch ned schreiben...
    Vielleicht checkst ja, wies im Grunde geht.

    Wenn du vor hast noch mehrere solche pickups zu erstellen, ware es auf jeden Fall übersichtlicher und einfacher, wenn auch ned Viel Ressourcensparender, die pickupids in nem array zu speichern und diese dann im calback entweder mit nem switch, oder direkt mit ner for-schleife abzufangen.
    Das würde Dir bei richtiger anwendung und bei steugender quantitat viele Zeilen Script und auch arbeit ersparen.

    Naja, beim Befehl ermittelst du, welches fahrzeug hinter deinem Fahrzeug steht. Dieses hängst du dann mit attachtrailertovehicle genauso wie einen Anhänger hinten an dein Fahrzeug dran.

    Das hat Kalcor schon ganz gut gemacht.
    Kommt nämlich irgendjemand auf die Idee mittendrin ein Textdraw zu machen, kann man nichtmehr auf die Scorelist zugreifen, weil das textdraw sie überlagert.

    und 14=20


    //so, hab die Lösung: Auenland
    Du rechnest die Zahlen durchs hexadezimal system um. = {12, 7, 3, 28, 20, 12, 28, 14}
    Das Alphabet des Informatikers geht von q-m, von links oben nach rechts unten. ä, ö und ü werden mitgezählt.
    Zählst du alle Zahlen nacheinander aus, kommst du schließlich auf auenland ;)


    Ist ganz nützlich den text genau zu analysieren, dann kommt man ganz gut drauf ;)

    Das hexadezimalsystem ist ein zahlensystem, bei dem jede Ziffer von 0-15 geht. Das es für die Zahlen von 10-15 keine Ziffern gibt, werden diese Ziffern mit a-f dargestellt. Dadurch, dass in deinem Code zahlen und Buchstaben bis f vorkommen könnte man darauf schließen, dass man die zeichen mit dem hexadezimalsystem übersetzen muss. dann hat man dezimalzahlen. was man dann damit anfängt is die nachste Frage.

    So... natürlich kannst du das immer weiter fortführen. Wenn du mehr gates hast, eben immer weiter machen...
    Nachteil dabei ist, dass im moment nicht gespeichert wird, ob das tor offen oder zu ist. Daher wird es wenn einer länger im Bereich des Tors ist auch öfter aufgemacht und dass es ansonsten dauernd zugemacht wird, was du zwar ingame nicht merkst, was sich aber auf die performance auswirkt.
    Dem könntest du entgegenwirken, indem du globale bools erstellst, die den status des gates speichern und diese dann vor moveobject nochmal abfragen.


    Bei OnGameModeInit();
    SetTimer("updateGates", 1500, true);


    Schreib eine Funktion, die per Timer regelmäßig aufgerufen wird. In der Funktion eine schleife die alle Spieler durchläuft. Natürlich musst du auch abfragen ob er ne Lizenz hat. Dann fragst du ab, ob der Spieler grade bei einem Tor steht, wenn ja setzt du einen bool in der Methode auf true. Nach der schleife öffnest Su das Tor wenn der Böll true ist und schließt du das Tor wenn der bool false ist.

    Diese sendformat Funktion is übrigens total schlecht. Frisst total Viel Leistung.
    Folgendes Makro funktioniert übrigens mit unbegrenzt vielen Parametern ;)

    Code
    new scm_buf[140]
    #define SendFormatMessage(%0, %1, %2, %3) (format(scm_buf, 140, %2, %3), SendClientMessage(%0, %1, scm_buf))

    Mhm ja ich hatte mir das irgendwie kompliziert aufgezeichnet, dann bin ich irgendwie aufn cosinus gekommen. Kann nicht so falsch gewesen sein, wenn nur das Vorzeichen falsch war.
    Davor hatte ich das auch schonmal mitm tangens, hatte da aber irwie auch schon das Problem mit den Vorzeichen.
    Naja, is ja wayne, nachdem ich deinen Code bisschen bearbeitet hatte hats dann alles problemlos funktioniert.
    Danke ;)