Script Beurteilung ob es Ressourcenschonend ist....

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
  • Auf sa-mp.com gibts viele Infos dazu.
    Generell gilt:
    #define sind langsamer, als es direkt zu schreiben. (aber wen interessierts)
    new PlayerTextDraw[MAX_PLAYERS][p_textdraws];
    new SpielerInfo[MAX_PLAYERS][p_spielerdaten];
    new SearchJob[MAX_PLAYERS];
    Alles in einen Array. Spart Speicherplatz.
    new i = 0;
    for(;i < System[PlayerOnServer]; i++)
    {
    Wozu definierst du es oberhalb, wenn du es danach eh nicht mehr verwendest?


    Dass du mit switch, case arbeitest, ist schon mal besser. Habe mal gelesen, dass es schneller sein soll.


    new i = 0;
    for(;i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) return 1;
    Das soll eher ein continue; sein.
    Ansonsten würds wenig Sinn machen.


    PlayerToPoint
    Verwende unbedingt IsPlayerInRangeOfPoint.

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • Wenn ich
    continue;
    benutze bekomme ich folgenden Error


    error 024: "break" or "continue" is out of context



    Zitat


    new i = 0;
    for(;i < System[PlayerOnServer]; i++)
    {


    Wozu definierst du es oberhalb, wenn du es danach eh nicht mehr verwendest?


    Wie soll ich das verstehen ?

  • #define sind langsamer, als es direkt zu schreiben. (aber wen interessierts)


    Wo hast du denn das gelesen?
    #defines aka direktive aka Präprozessor


    Brauchen absolut keine Zeit.
    Das ist das erste was ausgeführt wird, beim Compilen.


    Es dient einfach nur zur verweinfachung, man muss sich nicht merken, wie hoch sein MAX_PLAYERS ist.
    Ebenso muss man nur eine Zeile ändern, wenn man so oft den Wert von MAX_PLAYERS benutzt hat.


    Aber Performenceeinbrüche / -schübe, hab man nur durch #defines nicht.
    Wenn wir auf #emit basis gehen, ist das eine völlig andere Geschichte :thumbup:


    [LP]Tochnas:
    if(t2-t1 >= 350)
    {
    printf("[WARNING 28512] [%dms]Server neustart.",t2-t1);
    SendRconCommand("gmx");
    }
    Was Genau soll das bringen?
    Ob der Server jetzt in 5 ms oder in 10 startet ist unerheblich.


    Was wichtig ist, ist das man während der Laufzeit, den Server mit seiner "Scriptkunst" nicht vergewaltigt

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

    Margarete Stokowski

  • @BlackAce



    Das habe ich nur als Test eingefügt...

  • Das continue muss auch statt das return 1; in Schleifen verwendet werden.

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • .. Lern doch bitte die Basics.
    IsPlayerConnected(playerid)

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."