Beiträge von Snail

    Einfach eine Variable einbauen
    Bei OnPLayerConnect wird sie auf 0 gesetzt.
    Dann einen Befehl /skin oder sowas. dabei wird die Variable auf eins gesetzt und der Spieler wird getötet.
    Bei OnPlayerRequestClass eine Abfrage ob Var == 1, wenn ja dann die ganzen Skins "else" OnPlayerSpawn(playerid)
    Bei OnPlayerSpawn muss die Variable dann wieder auf 0 gesetzt werden

    Man kann trotzdem immer noch nur die Keys benutzen, die Kye im SA:MP Wiki angegeben hat ;)
    Und es braucht kein Key-Detector, da alle dieses Keys im WIKI stehen ;)

    Eben nicht, da bestimmte Keys nur zu Fuß gehen. Der Keydetector zeigt dir an wie der Key im Fahrzeug ist.
    Genauso kann man mit dem Key-Detector auch Kombinationen erstellen. Sowas steht nämlich nicht im wiki ;)

    Ich habe eine Frage wie setzt man die daten jetzt ein?

    Den Key den du dadruch erhälst kannst du zum Beispiel beim OnPlayerKeyStateChange public verwenden.


    Anwendungsbeispiel :

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {

    if (newkeys & 4)
    {
    // 4 entspricht der linken Maustaste. Diese Zahl ersetzt du dann einfach durch den Key den du dir ausgesucht hast
    // Hier kann man jetzt eine Aktion durchführen lassen
    // z.B.: MoveObject(...) um Objekte zu verschieben (z.B.: Tore)
    MoveObject(Tor1, 555.5, 987.6, 123.4, 3);
    }
    return 1;
    }


    Edit : Anwendungsbeispiel eingefügt

    N'abend zusammen,
    Ich möchte euch heute mein erstes veröffentlichtes Filterscript vorstellen.



    Es handelt sich um einen Key-Detector. Dieser zeigt euch an, welche Tasten ihr gerade drückt.
    Damit wird es zum Kinderspiel Tastengesteuerte Abläufe zu erstellen (z.B.: Tor mit Taste öffnen).


    Ich habe dieses Filterscript erstellt, weil ich selbst ein paar Keys benötigt habe und bisher kein Filterscript dazu gefunden habe,
    welches mir auch gefällt. Dieses Filterscript arbeitet mit TextDraws, da ich persönlich es besser finde alles seperat vom Chat zu haben.


    So sieht der ganze Spaß aus :



    Zusätzlich zum Key wird noch up/down (W und S) und left/right(A und D) angezeigt.
    Diese sind immer durch 128 bzw. -128 erkenntlich


    Es wird ein recht schneller Timer verwendet, der sich alle 0,1 Sekunden wiederholt.
    Daher empfehle ich euch dieses FilterScript nur auf Test-Server mit geringen User zahlen zu verwenden, um Laggs zu vermeiden.


    Durch drücken des Download-Buttons erklärt ihr euch bereit die Credits drinnen zu lassen :)



    ______________________________________________________________________________
    Alternativer Link, falls der alte nicht geht :



    Pastebin :
    http://pastebin.com/piTdR8fm


    Für Pastebin-Benutzer :
    Neue Datei erstellen und als Key-Detector.pwn umbenennen, dann den Code einfügen,
    compilieren und als Filterscript laden


    Viel Spaß damit und bitte bewerten :rolleyes:


    Gruß Snail


    EDIT : Anwendungsbeispiel :



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if (newkeys & 4)
    {
    // 4 entspricht der linken Maustaste. Diese Zahl ersetzt du dann einfach durch den Key den du dir ausgesucht hast
    // Hier kann man jetzt eine Aktion durchführen lassen
    // z.B.: MoveObject(...) um Objekte zu verschieben (z.B.: Tore)
    MoveObject(Tor1, 555.5, 987.6, 123.4, 3);
    }
    return 1;
    }


    "Viele Fragen sich wahrscheinlich wofür brauch ich den sowas ? Die Keys stehen doch alle im wiki"
    Das ist allerdings falsch, den die im wiki genannten Keys gehen nicht überall (Beispielsweise geht Rechte-Maus-Taste nur zu Fuß)
    Der Key-Detector gibt euch den exakten Key an, der für den momentanen Zustand gültig ist.


    Solltet ihr noch Fragen oder Vorschläge haben könnt ihr diese gerne posten


    // LINKS fixed und Pastebin hinzugefügt

    Naja die sind in einer include definiert.
    Nur wer nimmt sich schon die Zeit und versucht die IDS für die anderen Tasten zu finden? xD
    Sogesehen ist alles möglich man muss nur wissen wie...!

    Es ist mit Samp nicht möglich. Samp greift auf die Einstellungen von GTA SA zu und nicht auf die Tastatur
    Es gibt ein Filterscript (Key-Detecter) welches dir alle Keys anzeigt.
    Da gibts für jede verschiedene Kombination von Tasten, allerdings nur von Tasten die in der GTA-Steuerung vorkommen

    Also du erstellst eine Variable die für alle Spieler gültig ist. Diese gibt an ob ein Spieler in dem DM ist oder nicht


    new indm[MAX_PLAYERS];


    Bei OnPlayerConnect wird die Var auf 0 gesetzt, weil er zu dem Zeitpunkt ja nicht im DM ist
    --> OnPLayerConnect
    indm[playerid] = 0;


    Dann hast du ja bestimmt einen Befehl wie man zu dem DM kommt.
    Bei diesem Befehl musst du die Var auf eins setzten
    indm[playerid] = 1;


    Damit der Spieler wenn er im DM ist auch immer da Spawnt musst du beim OnPLayerSpawn public eine Abfrage einbauen
    Dies geschieht wie folgt :



    if(indm[playerid] == 1)
    {
    SetPlayerPos(playerid, X, Y, Z);
    // DMspawnpunktkoordinaten für X Y Z einfügen
    }
    else
    {
    SetPlayerPos(playerid, X, Y, Z);
    // hier die koordinaten eintragen, wo er spawnen soll wenn er nicht im DM ist
    }


    Dann musst du bei deinen ganzen Befehlen eine Abfrage einfügen

    if(indm[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du kannst diesen Befehl nicht nutzen, da du im DM bist");
    return 1;
    }
    else
    {
    // Hier einfach die Sachen einfügen, die bei dem Befehl geschehen sollen
    return 1;
    }


    Dann musst du noch nen /enddm befehl machen, bei dem die Var wieder auf 0 gesetzt wird


    Hoffe jetzt ist es verständlich :)