Nützliche Funktionen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link

  • Glaubst du ein deutscher Server, der diese Hilfe benötigt hat mehr als 250 Spieler :huh:


    PS: Wenn dir das zu wenige sind, kannst du das jederzeit editieren ;)


    mfg. :thumbup:

    Ne, aber es gibt bessere Methoden, die aktuelle Spieleranzahl zu bekommen. Somit ist man unabhängig von solchen statischen Variablen. Aber sowas machen nur Leute, die Ahnung haben und Ihre Programmierung überdenken. Aber das ist jetzt ein anderes Thema ;)

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Aber sowas machen nur Leute, die Ahnung haben und Ihre Programmierung überdenken.


    Schneller geht es auf jeden Fall nicht, als einfach eine statische Variable darein zu setzen ;)


    Du gehst jetzt von MAX_PLAYERS oder GetMaxPlayers() aus...uhh, weil ich keine von diesen Funktionen verwendet habe, habe ich jetzt keine Ahnung von den Sachen die ich da mache oder was 8|


    Geile Logik :whistling:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Für etwas gibt es Direktiven ;P



    Wenn ich diese Funktion schon Nutze nehme ich GetMaxPlayers().


    mfg. :thumbup:


    //Edit:


    So habe jetzt GetMaxPlayers() in die Schleifen eingebaut ^^


    Naja...nungut weitere Vorschläge bitte :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • Das aufrufen der Funktion ist bezüglich Geschwindigkeit langsamer, als eine einfache Direktive.


    So kannst du das nicht sehen, da GetMaxPlayers() prüft wie viele Leute auf dem Server sind, sagen wir mal 5, danach macht er einen break und gibt diesen Wert wieder...und meine Schleife geht dann auch nur 5 Leute durch..insgesamt 10 Durchläufe...


    Bei einem Direktive allerdings, läuft der constant 50 oder 100 oder was weiß ich für dinger durch, also ist in diesem Fall GetMaxPlayers() und auch eigentlich in allen anderen Fällen besser bzw gleich gut ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Nein, gehe ich nicht. Benutze selber in meinen Skript eine eigen Kreation, und hat mir schon viel Performance Besserungen gegeben ;)


    Ich hab Dir gar nichts unterstellt. Wenn Du Dich jetzt auf so einem Niveau herablassen willst, dann tuh das aber ohne mich.
    Gerne kann ich Dir das mal per PN o.Ä. erklären.


    Zitat

    Kaliber Es ist trotzdem schön MAX_PLAYERS zu verwenden, notfalls machste es halt so:


    Quellcode
    1
    2


    #undef MAX_PLAYERS
    #define MAX_PLAYERS 150

    Davon würde ich alle rasch abraten, der Pawn Compiler kommt so desöfteren mal "durcheinander" ;)


    //edit zu GetMaxPlayer();
    Soweit ich weiß hatte [NSG]Bright mal dazu etwas gepostet. Ich meine in Erinnerung zu haben, dass diese Funktion noch langsamer ist alles wenn man "MAX_PLAYERS" als Direktive Konstante benutzt.

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Das aufrufen der Funktion ist bezüglich Geschwindigkeit langsamer, als eine einfache Direktive.


    Du kannst aber damit argumentieren, dass die höchste SpielerID weit unter dem Wert vom MAX_PLAYERS liegt (ausser MAX_PLAYER hat einen realistischen Wert). Zudem weisst Du nicht, ob der Pawn Compiler die Funktion auf inline setzt, dann enfällt der Call


    PS: Bei unseren Spielerzahlen ist sowas Mikrooptimierung :S

  • Ich hab Dir gar nichts unterstellt.


    Aber sowas machen nur Leute, die Ahnung haben


    Paradox :rolleyes:


    Denk mal nach bevor du was schreibst ;)


    mfg. :thumbup:


    //edit:
    Jony

    Zitat

    //edit zu GetMaxPlayer();
    Soweit ich weiß hatte [NSG]Bright mal dazu etwas gepostet. Ich meine in Erinnerung zu haben, dass diese Funktion noch langsamer ist alles wenn man "MAX_PLAYERS" als Direktive Konstante benutzt.


    Siehe:


    Zitat

    So kannst du das nicht sehen, da GetMaxPlayers() prüft wie viele Leute auf dem Server sind, sagen wir mal 5, danach macht er einen break und gibt diesen Wert wieder...und meine Schleife geht dann auch nur 5 Leute durch..insgesamt 10 Durchläufe...


    Bei einem Direktive allerdings, läuft der constant 50 oder 100 oder was weiß ich für dinger durch, also ist in diesem Fall GetMaxPlayers() und auch eigentlich in allen anderen Fällen besser bzw gleich gut

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • Keine Angst, wenn ich Dich meinen würde hätte ich es auch so formuliert ;)


    Bright hatte da eine Thema zu gemacht, bzw. eine Art "Test". War bisschen aufschlussreicher als der Text da oben.^^

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Keine Angst, wenn ich Dich meinen würde hätte ich es auch so formuliert ;)


    Bright hatte da eine Thema zu gemacht, bzw. eine Art "Test". War bisschen aufschlussreicher als der Text da oben.


    Du hast es so formuliert :huh:


    Wieso aufschlussreicher als mein Text da oben, der sagt doch alles aus.


    Aber ist auch egal, back To Topic, falls ein User noch gute Ideen für eine Funktion hat, pls posten :)


    mfg. :thumbup:


    //Edit: Neue Funktionen hinzugefügt...bitte um weitere Vorschläge :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • IP Range als String ausgeben, für ein Range-Ban System zmb.


    Den Code habe ich sogar grad für nen Kumpel geschrieben, kann ich aber auch gerne veröffentlichen :D


    mfg. :thumbup:


    //Edit: IpCut Funktion hinzugefügt :)


    Weiter Beispiele pls ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Nicht schlecht.
    8/10


    Danke, da du mir nicht volle Punktzahl gegeben hast, hätte ich auch gerne ein etwas ausführlicheres Feedback...was gefällt dir noch nicht so...Verbesserungen ?


    mfg. :thumbup:


    //Edit: Rechtschreibung

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • Wahh hier bekommt, man ja echt Plaque mit euch...


    Für etwas gibt es Direktiven ;P


    Es gibt keine direktiven in PAWN.
    In PAWn hast soetwas Macro oder man nennt sowas auf Prä-Prozessor.


    Sprich
    PWN = new String[MAX_PLAYERS];
    AMX = new String[500];


    Das ist einfach, nur eine Vereinfachung für Sachen die häufiger verwendet werden.
    Das hat auch zu Folge, das man einfach Sachen ändern kann.
    wenn ich MAX_PLAYERS auf 100 stelle, wird aus den 500 die in der AMX sind, einfach 100,
    ohne große Zauberei.


    So kannst du das nicht sehen, da GetMaxPlayers() prüft wie viele Leute auf dem Server sind,

    Was für ein Quatsch, das ist noch schlimmer als die Behauptung mit den "Direktiven".
    GetMaxPlayers gibt die maximale Anzahl an Spieler an die auf den Server connecten können.
    Steht in der server.cfg 50 gibt die Funktion 50 zurück, da 50 Spieler Connecten können.
    Dabei wäre es egal, ob NPC oder nicht.


    Davon würde ich alle rasch abraten, der Pawn Compiler kommt so desöfteren mal "durcheinander" ;)

    Das ist echt die dümmste und schlimmste Behauptung von allen drein.
    Der Compiler kommt NIE durcheinander.
    Was euer Script "zerstört" ist euer Pseudowissen, eure spezielle Fertigkeit Müll in euer Script zu bauen
    und zu behaupten 26 Errors, seien Klammerfehler.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Komisch, den Fehler hattest selbst Du im Projekt Sunset Skript gemacht. (Und nein, es ist kein Müll drinnen. BTW: Deine Queries waren noch schlimmer!, das brauchen wir jetzt mal hier nicht diskutieren!)
    Je nach Skript kann es da zu schweren Fehlinterpretation kommen. Dies liegt am Pawn-Compiler. Aber ja, du weißt es besser. Bist bestimmt Berufsinformatiker ;)


    Zum Thema Direktive leg ich Dir diese Dokumentation ans Herz: (Du hast zwar was richtiges geschrieben, dennoch!)
    http://www.compuphase.com/pawn/Time_Functions.pdf
    http://sourceforge.net/apps/tr…pting%3BPawn%3BErrorCodes


    BTW: Keiner sagt, das 26 Errors immer ein Klammerfehler ist. (In den meisten Fällen der User hier aber ;) )

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Aber ja, du weißt es besser. Bist bestimmt Berufsinformatiker ;)


    Bin ich nicht :P


    Zum Thema Direktive leg ich Dir diese Dokumentation ans Herz:


    Ich sagte doch bereits, die nennen sich in PAWN PräProzessoren und nicht Direktive.


    Direktive sind zwar PräPorzessoren aber sie nennen sich in PAWN nunmal nicht so.


    [quote='Jony','index.php?page=Thread&postID=1230587#post1230587']Deine Queries waren noch schlimmer!/[quote]
    Das lag A daran, das ich nicht wusste das BlueGs Plugin nach einer bestimmen Anzahl anzeichen abcutted und das ich nachher den überblick verloren hab,
    bei den ganzen Variablen :|

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ja dann nennt man sie halt anderst in Pawn, darf ich dir nen Kuchen vorbeibringen ;P


    PS: Wir wissen beide, was damit gemeint ist, also können wir glücklich sein
    PS 2: @BlackAce Und bitte hör auf zu verallgemeinern, konstruktive Kritik und Ergänzung wie vorher sind ok, aber alles andere ist unwürdig ;)

  • Schön das wir das jetzt auch geklärt hätten :sleeping:


    Back To Topic pls :rolleyes:


    mfg. :thumbup:


    //Edit: 2 neue Funktionen geaddet :) Bitte weitere Vorschläge für Funktionen ^^
    //Edit²: Nocheinmal 2 neue Funktionen geaddet :) Bin für Feedback und Vorschläge offen ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    2 Mal editiert, zuletzt von Kaliber ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen