Beiträge von Einstein

    Aber ich finde es lächerlich, dass ihr auf die jüngere/ältere Leute rumhackt - nur weil sie es nicht können.

    Wird Zeit das einer kommt und nen Wikipediaartikel über den Begriff "Kiddie" schreibt. Es sind nicht nur die jüngeren, es sind diejenige die im schlechten Verhalten versuchen Hilfe zu bekommen und was ich nicht verstehe das die meisten auch noch verstehen was die von einem wollen.

    Ich finde man sollte härtere Regeln aufziehen und damit auch mehr und erfahrene Moderatoren aufstellen.

    Noch härte Regeln und noch mehr Mods? Ich finde die Regeln die breadfish aufgezogen hat mehr als ausreichend.

    Guten Abend, ich möchte euch etwas über Ressourcenschonendes Scripten in Sa-Mp erzählen.


    1. Player-for-Schleifen optimieren


    Für die meisten User sieht eine for-Player-Schleife so aus:


    for (new playerid=0; playerid<MAX_PLAYERS; playerid++)
    {
    //Beispiel aus Yless Server Addon
    SetPlayerGravity(playerid, 0.008);
    }


    Doch sehen wir uns das mal genauer an. MAX_PLAYERS, ist der definierte Wert von Sa-Mp und ist in 0.2.2 als 200 deklariert. Warum sollten wir den eine for Schleife 200 mal auf einem 32 Slot Server laufen lassen. Also helfen wir uns dort mit GetMaxPlayers() ab. Diese Funktion returnt die maximale Anzahl der Player.



    for (new playerid=0; playerid<GetMaxPlayers(); playerid++)
    {
    //Beispiel aus Yless Server Addon
    SetPlayerGravity(playerid, 0.008);
    }


    Doch warum lassen wir die Schleife für jede ID die nicht online ist mitlaufen? Auch wenn Samp vor jedem Absenden selber cheackt ob der Player online ist, sollten wir dies per Pawn regeln. Hier arbeiten wir mit IsPlayerConnected(playerid);


    for (new playerid=0; playerid<GetMaxPlayers(); playerid++)
    {
    if(IsPlayerConnected(playerid))
    {
    //Beispiel aus Yless Server Addon
    SetPlayerGravity(playerid, 0.008);
    }
    }


    2. Die Timer Funktionen


    Ich kann mich noch an SampRL in der ersten Generation erinnern. Für jede Kleinigkeit wurde ein Timer gesettet. Das ist jedoch sinnlos, es sei den der Timer wird nich wiederholt. Für alle sich wiederholenden Timer gilt, ein Timer für alles reicht. Doch dieser sollte möglichst optimiert sein.


    #define MAX_TIMERS 20


    new timertime[MAX_TIMERS];
    new acttimertime[MAX_TIMERS];


    forward GeneralTimer();


    public OnGameModeInit()
    {
    SetTimer("GeneralTimer", 1000, true);
    return 1;
    }

    public GeneralTimer()
    {
    for(new timer=0; timer<MAX_TIMERS; timer++)
    {
    acttimertime[timer]++;
    if(timertime[timer] == acttimertime[timer])
    {
    acttimertime[timer] = 0;
    for(new playerid=0; playerid<GetMaxPlayers(); playerid++)
    {
    //Hier wird Beispielsweise für jedne Player etwas gecheckt
    }
    }
    }
    return 1;
    }


    Dies ist ein Beispiel wie ein General Timer aussehen könnte. Ein bessere und einfachere Methode gibt es hier: ProTimer System


    3. Strings


    Auch hier erinnere ich mich nur an die erste Scriptgeneration von SampRL. Zu jedem String wurden gleich hohe, unbenötigte Werte zugeordnet.


    Beispiel:



    new str[256];
    format(str, 256, "%s.name", /*GetPlayerName()*/);


    Auch hier stellt sich die Frage, warum stellen wir 256 Zeichen zur Verfügung wenn in Samp max. 32 gehen? 32 plus die 5 Zeichen von .name reichen also vollkommen aus. Desweiteren sollten wir hier auch mir sizeof(string) arbeiten, um die Funktion einfacher zu ändern, falls etwas eintritt.



    new str[37];
    format(str, sizeof(str), "%s.name", /*GetPlayerName()*/);


    Schon haben wir den String abgeschlackt. Besonders Multidimensionale Array wie Strings sind in PAWN sehr Ressourcenfressend.



    Ich werde das Tutorial weiter ergänzen sobald ich Lust und Laune habe. Ich hoffe ich konnte euch etwas helfen, ich gehe jetzt Simpsons gucken.

    Jo da kann ich dir voll und ganz zustimmen, mit 12 KANN man einen Clan genau wie mit 30 leiten, nur hätte das zu 0.1b bzw. zu Vor-Godfather-Zeiten nicht jeder zweite gemacht...

    Du musst auch bedenken, dass Godfather erst mit 0.2 released wurde. Desweiteren war der Technische Stand von Samp zu 0.1 nicht so leicht wie jetzt. Das eigentliche PAWN was dahinter steckt, wir nur in if, for, while und foreach benutzt. Die ganzen Funktionen kommen von Sa-Mp. Wie DMA schon sagte, das entwicklen von Gamemodes und Filterscripts für Sa-Mp war nie so einfach und wird es noch einfacher mit 0.2.5. Funktionen wie sleep(), davon haben nur die wenigsten gehört, da sie nur in der main() Funktioniert, welches das eigentliche Pawn Script ist.

    Und du realisiert nicht das es das spiel schon auf PC giebt weil es in Russland downgegradet wurde hat die GTA Sa grafik ungefähr
    aber es ist GTA IV weil ich es auch bei meinem kumpel auf PS3 getestet habe.
    Diese GTA IV von dem ich spreche wird mit einer Vitruellen CD abgespielt und die Emulator Software sorgt dafür das ich es spielen kann dieser Emulator ist für alle PS3 spiele die in Russland/Ukraine Downgegradet wurde wann checkst du das endlich -.-

    Ich hoffe du verstehst die Technik dahinter. Die PS3 ist die sicherste Next-Gen Konsole. Sie ist unteranderem nicht Emulierbar, weil sie alle Spiele einen speziellen Blueraytreiber benötigt. Desweitern wirst du wohl kein Blueray haben. Virtualisierbar ist die PS3 nicht, selbst der Gameboy Advance ist nicht zu 100% virtualisiert und emuliert. Ich kenne nur eine Preview der PC Version und diese lässt sich aufgrund einer fehlenden DLL nicht starten. Desweiteren gibt es noch Fake Versionen im Internet hinter der sich Windows Vista kauert. PS3 Spiele sind auch nicht Donwgradebar, auch nicht auf SA Grafik. Willst also die gesamte Engine jedes Spiels von HAnd ohne Quellcodes umschreiben, neu compilen und für den Emulator optimieren? Viel Spaß

    Du wiedersprichst dir hier selbst. Du weißt hoffentlich das GTA4 nur für Xbox 360 und PS3 auf Russisch erschienen ist und es für PC vorerst nicht in mehreren Sprachen gleichzeitig entwickelt wird.

    Die meisten Kiddies sind dijenige, die hier keine Ahnung vom Scripten haben, nen fertiges Script nehmen, 2 Zeilen ändern und sich dann wundern wawrum es nicht mehr funktioniert.

    naja es gibt leute die haben GTA IV auf PC Spielbar gemacht

    Du laberst einfach nur nen Schwachsinn vor dich hin. Ich packe gleich auch meinen Xbox 360 Alpha Emulator aus... GTA 4 gibt es nur für Konsole wurde auch von niemanden umgecrackt um es auf dem PC zuspielen. Es exestiert lediglich eine Preview von GTA4 der PC Edition die mittlerweile entfernt wurde und nicht mehr Downloadbar ist.

    Reden lassen, solche Leute können meistens sowieso nichts. Einfach sagen du hast seine IP sichergestellt und dann mit dem Anwalt drohen, der wird auf den Knien liegen und betteln das du damit nciht zum Anwalt gehst. Den alleine die Ankündigung von sowas ist Strafbar.