Beiträge von Weed

    JA klar, nur dcmd ist ja nicht die "vorgesehne " variante von sa-mp du wurde ja erst von Y_Less hinzugefügt aber wenn ich die ohne paramas verwende is das auch egal?? naja dann ma los dachte das könnten vll zu viele werden

    Also mal locker bleiben, erklärung is falsch???? Eig nit nein, der Code funktioniert wunderbar bei mir, und auf das mit dini wollt ich nicht weiter eingehen da hab ich nen link gegeben bei mir heißt das pFile muss ja nit bei jedem so sein
    und so schlecht kanns nit sein, sonst hätt das nen mod nicht zugelassen

    ne glaub das lieg wo anders dran gib ma gesamten code wahrscheinich irgendein return falsch oder so zumindest kam dass dann immer bei mir
    aber eig müsste das BetWea[variable] sein, die variable ist ja der string so weit ich weiß und der kann nur ein limit in die höhe haben, das heißt bei [3] nutzt du diesen voll aus aber kp warum exe

    Guten Tag liebe Brotfisher,


    wie ich hier sehe arbeiten viele von euch mit RCON Administratoren. Doch ist das nicht etwas nervig sich immer wieder mit /rcon login [Passwort] einzuloggen? Grade bei einem RL-Server ist das extrem nervig für Admins. Deswegen zeige ich euch hier wie man es einfach machen kann.
    Die Vorteile:


    -bessere Einteilung im Script(Meinungssache)
    -fasst viele Dinge auf einmal(Passwort,Adminlevel usw)
    -Variable verwendbar(PlayerInfo,Zufallsspawnkoordinaten usw.)
    -sobald man online kommt, hat man das Level


    Zu nächst brauchen wir eine enum Struktur.


    enum PlayerInfo
    {
    Admin,
    }
    Warum es enum heißt kann ich euch leider nicht sagen.
    Das
    PlayerInfo nach enum ist eine Variable. Diese kann durch jedes Wort/Buchsabe/Zahl ersetzt werden.
    Danach öffnen wir die Struktur mit einer "{"-Klammer.
    Nach demn wir das haben kommt eingerückt die Variable um WAS es sich handeln soll, in diesem Falle "Admin", was das Administratorlevel werden soll.
    Nach jeder Variable, auf die eine weitere folgt, kommt ein ",". Nach der letzten Variable muss eine "}"-Klammer sein.
    Ein Beispiel wie es oft verwendet wird:
    enum PlayerInfo
    {
    Pass[255], // Das Passwort, es kann bis zu 255 Zeichen lang sein
    Admin, // Das Adminlevel
    Money, // Geld
    Kills;// Kills eben^^
    }


    Kommen wir nun zu der Spielerinformation(PlayerInfo).
    new pInfo[MAX_PLAYERS][PlayerInfo];
    das
    pInfo ist ein 2 dimensionaler Array. Defacto eine Variable.
    MAX_PLAYERSist nur ein Wert der mit 200 definiert ist. Man könnte genauso gut 200 statt MAX_PLAYERS schreiben.
    PlayerInfo verweist auf die enum-Struktur. PlayerInfo kann durch jede Variable ersetzt werden, jedoch muss der Name dem Namen einer enum Struktur gleichen, ansonsten bekommt man errors.
    In der If-Abfrage kann PlayerInfo für die Werte die unter der Struktur aufgelistet sind stehn.

    If-Abfrage:

    Der Command kann ganz normal aufgebaut werden, man muss eben nur die If-Abfrage für PlayerInfo hinzufügen.
    if(pInfo[playerid][Admin] >= 3 )
    Die If-Abfrage ist wieder ganz normal aufgebaut. Man fängt an mit "if(" Nun kommt die Variable die wir bei "
    new"definiert haben. In diesem Falle ist es pInfo.
    Danach öffnen wir ein weiteres Feld mit "["-Klammer. Dort wir entweder ein Parammeter(Ziel) oder
    playerid eingetragen. Playerid bezieht sich auf den CMD-Ausführenden Spieler.
    Admin ist unsere Variable die wir bei der enum-Struktur eingetragen haben. In unserem Fall wollen wir somit ein Administratorsystem aufbauen.
    >= 3 besagt welches Level man haben muss um den Command ausführen zu können. Hier kommt zum ersten mal das Level bei dem Adminsystem ins Spiel. Dies so definiert wie man es gerne hätte. ">" sollte jedem aus dem Mateh unterricht bekannt sein. [Admin] > X /*und*/ X < [Admin] bedeutet, dass die Variable größer als bzw kleiner als der Nachfolgende Wert X ist(bei Abfragen sein muss). Wenn man nunein "=" Einfügt heißt es größer/kleiner gleich. So viel zum Thema Mathematik.
    Im prinzip ist nun unser Administrator-Level-System fertig. Die Nachstehende Variable "X"(siehe Beispiel) kann jeden Wert annehmen.
    Nach dem Selben Prinzip funktioniert ein Levelsystem mit ALLEM.


    Doch was wäre ein Adminsystem wenn es nicht gespeichert wird?
    dini_IntSet(pFile,"Admin",pInfo[playerid][Admin]);
    Dies wäre das Kommando beim Verlassen des Servers das Adminlevel zu speichern.
    Nun wird in der Dini Datei folgendes gespeichert:
    Admin: [Zahl = Level des Spielers]
    Natürlich wird dazu noch der Dini Code beim regestrieren usw benötigt.


    Ein gutes Tut für Dini Kommandos gibt es bei uns im Foum schon: [ SCRIPTING ] Dateiensystem dini - Dateien erstellen, löschen, speichern, laden
    Ein Tut für ein Registersystem ist ebenfalls vorhanden:[ SCRIPTING ] Ein einfaches Register/Login System machen


    Wenn ihr nun ein Adminlevelsystem erstellen wollt benötigt ihr für fast alle Administatorcmds Parameter. Hierzu gibt es ein exellentes Tut von goldkiller. Ich habe es mir 2 durchgelesen und verstehe das nun: [ SCRIPTING ] Commands mit Parametern



    wie viele dcmd cmds darf man eig haben? DU sagtest ja das dcmd resorcen(oder wie mans schreibt) schonender is, aber ab wann wirds wieder kritisch??? ich habe ca 25 dcmd befehle drin aber es kommen noch viele hinzu. UNd sollte man dcmd auch für cmds ohne paramas verwenden??

    WIndows hat erst die Testversion raus gegeben. Und Programme von XP sollen auch bei Windows 7 gehn

    kann man das auch mit einer enum struktur machen??? also so:
    new PlayerInventar[playerid][pInventar];
    enum pInventar
    {
    drogen,
    alcohole,
    bank;//ja sogar das als inventar zu machen :D
    }
    und dann eben nur absoeichern nur wie so etwa?:
    dini_IntSet(save,"Drogen",PlayerInventar[playerid][drogen]);
    ???

    Wie speicher ich einen Timer im registersystem? Also /jail [ id] [time] und das speichert wenn er off geht dann hört der timer auf. Sobald der Typ wieder on kommt ist der noch im Knast. WIe geht das?