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
Beiträge von Weed
-
-
ne es klappt ja bei mir wunderbar, nur iwie bringt bright mich durcheinander
die 255 steht für die Passwortlänge, die kann bis zu 255 Zeichen sein -
Äh nochmal auf deutsch Gold das rall ich nit was du meinst,
BrighT ihc habe nichts bei onplayerdisconnect drin muss ihc noch machen wo kann man den pFile deklariren? -
Warum in den Showroom stellen der läuft auf unserem Server lass den schei-^^ Sobald mein HauptGM fertig is kannste den reinklatschen aber nit vorher
-
bei mir is auch keine deklaration und es klappt
-
Pawno weiß nicht dass pFile ein String ist => Fehler.klappt aber bei mir supergut also kein fehler drin oder so
-
userfiles ich hab kp von mysql
schaft doch wer oda? -
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 LevelZu 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 machenWenn 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
-
ach er hat eig nur gf produziert oda?? deswegen war er nit so hilfreich für mich
-
das MUSS funktionieren wenn man als rcon eingeloggt is
-
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??
-
willst du es wirklich an einem bestimmten ort erstellen? und was funktioniert nit? error bei pawno oder ig und was passiert?
-
ich find das klasse das du immer diese "Tuts" machst, aber du erklärst sehr wenig dazu. Ich veresteh das nicht so ganz zum Teil.
PS: heute so gegen 10 könnte ich nochm al 15 min^^
-
kann mir das wer mahcne???
-
Wie meinst du das? Hast du nen Car-Owner system?
-
-
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?