lass die 1 weg im Param
Beiträge von BlackFoX
-
-
Ich wäre für nen Close ...
Wenn einer ein Skript reinstellt das nicht jeder braucht bzw. total von Fehlern zerfressen ist dann sagt auch nicht Direkt jeder was,
warum hat eig. noch niemand so ne Kritik gedacht aber was soll es wenn es nicht läuft nutzt es keiner...
genau so mit den Map Files, wenn sie aussehen wir Löcher Käse dann will sie auch keiner haben...Finde die Kritik hier etwas übertrieben , ich denke man sollte es dem Uhrheber überlassen was er damit tun möchte bzw.
es ist sogar so... sonst dürfte ich auch keine Beta Versionen rausstellen da die Produkte nie endgültig Stabil laufen bzw.
Fehler enthalten -
Also ich kann mich nicht erinnern das wir hier zu extreme fälle haben , wie Firefreak bereits sagte , wenn es einen nicht juckt soll
man nicht weiter gucken und sich nen anderen Stehplatz suchen -
Wo wären wir dann wenn wir dem User die Freiheit nehmen seine Werke zu Präsentieren , kein Meister ist vom Himmel gefallen
-
Warum , er wollte es doch für seinen cmd, wenn er nen Menü nimmt , nutzt er
das doch so ...Callback OnPlayerSelectedMenuRow
new Menu:cur = GetPlayerMenu(playerid);if(cur == SEIN_MENU)
{
switch(row)
{
case 0:print("Menu Item 0");
}
}Hier geht es um Random daher erkläre ich ihm wie man Random anwenden kann bzw. noch ein bisschen Platz dabei sparen kann durch die
verschiedenen Statements -
-
Also von CreateObject zu deinem Format ?
Könnte ich machen, ist ne leichte Sache
-
-
Ich werde mein Fahrzeug System später auf djson Basis raus bringen , vllt Morgen
dann kann sich das jeder mal anschauen -
Gut gemacht BlackFox.
Du hast echt langeweileJetzt ist aber gut ja ?
Ich wollte euch das System nur näher bringen , Langeweile klar... -.- -
Hallo Liebe Community ,
Ich möchte euch hier einmal meine neue Lieblings Include vorstellen , sie heißt DJson , ich hab sie nun zum ersten mal getestet,
und ich war äußerst begeistert, sie hat ein Array ähnliches Pfad System , sie Speichert und lädt ungefähr so :djSetInt("stats.json","server/3saved3",55);
Nun sieht es so aus in der Datei ...
So nochmal unterteilt ( Bitte nicht wundern ich hab es schon mal mit anderen Dingen getestet
)
{ // < Hauptteil
"players":{"connected":1,"spawned":1}, // Hier war schon mal ein test :>
"server":{"3saved3":55,"saved":2,"started":6} // dies hab ich gespeichert , so nun unten die Erklärung...
} // Hauptblock beendet"server" ist das was ich als Hauptpfad nutze um meine Server Daten zu speichern , also sagen wir mal Haupt Ordner nur so als Begriffserklärung
{ der Block Startet
"3saved3" ist mein Item wo ich eine Beispiel Zahl speichere , natürlich gehen auch Namen etc aber dazu später
{ der Block Startet für 3saved3
:55 ist nun unser WertAchtung wenn du nun mehrere Items Speicherst in diesem Context...
"server/3saved3/deinitem"Wird der alte Wert für 3saved3 gelöscht also gibt es die 55 nicht mehr
aber du kannst weitere Items in 3saved3 speichern, also Praktisch gesehen eine endlose Speicherungs Möglichkeit,
man kann sich dies vorstellen wie in einem Ordner PrinzipZu den Funktionen ...
djCreateFile(file[]) // Datei erstellen
djFloat("datei.endung","array1/array2/..."); // lädt einen Rationalen Wert also Koordinaten bzw. Kommazahlen
djInt("datei.endung","array1/array2/..."); // lädt einen Integer/Zahlen Wert
dj("datei.endung","array1/array2/..."); // Lädt einen String/ Textwert
djSetFloat("datei.endung","array1/array2/...",KoordinatenWert); // Speichert einen Rationalen Wert bzw. einfach Float ^^
djSetInt("datei.endung","array1/array2/...",Zahlenwert); // Speichert einen Zahlen Wert
djSet("datei.endung","array1/array2/...",Name); // Speichert einen String/Textwert
djUnset("datei.endung","array1/array2/..."); // Löscht einen Eintrag
djIsSet("datei.endung","array1/array2/..."); // Schaut nach ob der Eintrag vorhanden ist und gibt je nach dem True/False zurück
djCount("datei.endung","array1/array2/..."); // Schaut wie viel Einträge im ausgewählten Item sind
djStyled(bool:styled); - Ordnet eure Struktur so das er eingerückt und Ordentlich dargestellt wird
So wie gesagt , stellt es euch vor wie ein Ordner Prinzip ihr könnt soviel Speichern in einem Eintrag wie ihr wollt , wenn
ihr im Eintrag selber jedoch wo noch unter Items sind einen Wert Speichert werden die anderen Werte gelöscht ,
bzw. die anderen Werte und Items in diesem Eintrag werden gelöscht und nur noch euer festgelegter Wert für diesen Eintrag
existiert! Also immer aufpassenHier mal ein Beispiel in Form eines Kommandos :
if (strcmp("/savepos", cmdtext, true) == 0)
{
new Float:pX,
Float:pY,
Float:pZ,
Float:pA;
GetPlayerPos(playerid,pX,pY,pZ);
GetPlayerFacingAngle(playerid,pA);
new playerform[40],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof playername);
format(playerform,sizeof playerform,"spielerpos.%s.ini",playername);
djSetFloat("spielerpos.ini","spieler/position/x",pX);
djSetFloat("spielerpos.ini","spieler/position/y",pY);
djSetFloat("spielerpos.ini","spieler/position/z",pZ);
djSetFloat("spielerpos.ini","spieler/position/a",pA);
return 1;
}Struktur :
Wenn ihr diese Include nutzt muss dies in die entsprechenden Klassen , die Namen sagen ja alles :
djson_GameModeInit();
djson_GameModeExit();Wie ihr seht ist dieses System sehr Effektiv und erspart einem eine Menge Ressourcen & Arbeit.
( Ich werde das Tutorial bei bedarf noch etwas verbessern )
INFO: DJson 1.6 (c) by Draco Blue - http://dracoblue.net/download/djson-16/51/
Mfg. BlackFoX_UD_
-
Ich weiß nicht aber irgendwie sagt mir mein Gefühl das du Dreck am stecken hast,
genauer ... ich trau dir irgendwie kein Stück, hab mir nen paar Post von dir angesehen und da
kam mir auch einiges Merkwürdig vor.
Außerdem wenn man ein Projekt beginnen möchte muss man auch eigene Ideen haben bzw. eine Struktur für den Anfang -
Du musst bei dini, beim Laden keinen dritten Param angeben
-
Jo Frauen bewertet man immer gut , das könnte eine neue Art einer Bestechung werden :>
-
Außerdem hätte ich nicht Tausend (if) abfragen genommen sondern switch/case also das Schubladen System
switch(listitem)
{
case 0:
{}
}so erspart man sich eine Menge Arbeit, und noch ein Tipp...
new preise[] = {2000,3000,4000,7000}; // z.b. die Preise je nach item Index
und dann könnte man das nach der Dialog ID abfrage so machen nur ein Beispiel...
if(GetPlayerMoney(playerid) < preise[listitem])return SendClientMessage(playerid,0xFFFFFFFF,"Du brauchst mehr Geld!");
-
geh in die Server Konfigurationen und stell
lanmode auf 0
-
geht auch schneller :
if(GetPlayerMoney(playerid) < 1000)return SendClientMessage(playerid,0xFFFFFFFF,"Du hast nicht genug Geld!"); -
Kann es sein das du evntl. einen Klammerfehler über LoadCars , irgendwo hast ?,
sobald dieser auftritt werden alle Funktionen die unterhalb dieses Fehlers liegen nicht mehr einbezogen bzw. es kommt zu einem Fehler dieser Art -
Return gibt einen Wert zurück und beendet die Funktion...daher wird die andere Rückgabe nicht mehr ausgelöst
-
Du nimmst die Koordinaten wie das Objekt sein soll beim erstellen bzw. Standardmäßig ,
und verwendest diese sobald du das Tor / Objekt in die Standard Richtung zurücksetzen möchtestDu speicherst dir dann noch einmal die Koordinaten wo es Später einmal hin soll nach dem Öffnen bzw. welchen Rotations grad es Später haben soll
und verwendest diese zum schließen also