Beiträge von Arrows73

    Edit: pwnfl4sh hat uns sowohl in /credits aufgenommen, als auch eine Message eingebaut, die allen Spielern gezeigt wird, wenn sie connecten. Damit ist - meiner Meinung nach - alles geklärt. Würde mich über eine Antwort freuen :)



    [hide]


    Eine kurze Vorgeschichte: Unser Server, World War III wurde 2009 gegründet, war lange Zeit einer der größten TDM-Server und wurde 2011 neu gescripted, nachdem er einige Monate offline war. Das Schlachtfeld befindet sich seitdem nicht mehr in der Wüste, sondern in den Wäldern rund um Mt. Chiliad.


    Um meine Argumente etwas zu untermauern:


    "Old Ruins" gibts bei euch auch:




    Die "Ion Cannon" heißt bei euch "Laser Cannon":




    Das gleiche gilt für das Turf "Power Plant", hat bei euch sogar den gleichen Namen:




    Ihr habt sogar einige unserer Sniper-Buildings, die wir extra für Scharfschützen aufgestellt haben, nachgemappt. Es scheint so, als ob ihr die Gebäude unbedingt noch irgendwo reinbringen wollt, weil bei uns stehen die zumindest an strategisch günstigen Sniper-Positionen, bei euch einfach irgendwo:





    Ah ja: Euer Bot "Bernd" heißt bei uns "Megan" und hat auch die gleiche Chatfarbe:


    Wie gesagt, sind sogar die Turf-Pickups dieselben, außerdem sind die Commands analog (/ct, /t, ...), die Ghost-Mode (heißt bei uns "Ghost Device") habt ihr kopiert etc.


    In Fort Chiliad gibts bei uns die Scud-Missile, eine Rakete, die mit einem Filterscript gesteuert wird, an dem ich über zwei Wochen gearbeitet habe (damit die Rakete sich tatsächlich so bewegt, wie es sich gehört :) ), bei euch gibts die "SRBM" in "Fort Cock".
    Wenn man ins Pickup läuft, sieht man folgenden Dialog:
    "Enter a player ID" => "Do you want to fire the SRBM on the following player ..."?
    Bei uns sieht das so aus:
    "Enter the name or ID of the targeted player below" -> "Targeted player: ... Is this correct?"


    Drum herum habt ihr versucht, mit Gewalt eine Art Mount-Chiliad zu mappen, damit das ganze ähnlich aussieht.


    Bei euch:

    Bei uns:


    Die Umsetzung ist allerdings nicht ganz so gut wie bei uns bzw. die Rakete fliegt nicht selbststeuernd, soweit ich das gesehen habe.



    Noch ein kleines Schlusswort hierzu vielleicht:
    Ich finde es gut, sich Ideen bei anderen Servern abzuschauen. Wir haben das auch teilweise gemacht, aber mit einem sehr großen Unterschied: Wir haben immer versucht, Dinge etwas zu verbessern und uns nur Inspirationen bei anderen Servern zu holen. Wenn man einen Server aber praktisch 1:1 nachmacht, dann ist das nicht nur äußerst dreist, sondern meiner Meinung nach auch sehr langweilig. Ein Maler zeichnet schließlich nicht auch nur Bilder von anderen Malern ab, wäre doch langeweilig.
    Warum versucht ihr also nicht was eigenes? Glaubt mir, das macht viel mehr Spaß.


    Übrigens: Bei uns gibt es einen Command /copyright, wo alles drinsteht, was wir an Funktionen von anderen Filterscripts verwendet haben. Es ist zwar 99% selbstgemacht, aber dennoch wird diese Liste stets aktuell gehalten. Ich würde es sehr schätzen, zumindest namentlich in eurem Skript irgendwo erwähnt zu werden, das wäre meiner Meinung nach das Mindeste.


    - Chris, Scripter von World War III


    PS: Falls sich jemand ein Bild machen will: Die IP unseres Servers ist 84.200.73.39:7777, dann könnt ihr vergleichen. Viel Spaß :)[/hide]

    Ich würde etwas in der Art von



    (Pseudo Code:)
    function TesteSpielerNamen
    if (Name enthält kein "_") lehne ab
    if (Mehr als ein "_" kommt vor) lehne ab
    if ("_" sitzt an erster bis dritter oder vorvorletzer bis letzter Stelle) lehne ab
    if (Erster Buchstabe und Buchstabe nach "_" sind nicht großgeschrieben) lehne ab
    if (Anzahl Selbstlaute < MIN_SELBSTLAUTE) lehne ab
    return


    empfehlen, ist mit den String-Funktionen von Pawno recht leicht machbar, schätze ich :)
    Für die Großbuchstaben kann man die chars als integer interpretieren und auf der Liste nachschauen, welches Intervall die großgeschriebenen Buchstaben beinhaltet.

    So ists richtig, im vorherigen Beispiel war ein Syntaxfehler


    public kenny48GateCheck()
    {
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
    {
    if(!IsPlayerConnected(playerid)) continue;
    if(IsPlayerAdmin(playerid) && IsPlayerInRangeOfPoint(playerid, 10.0, 817.8605,-1803.1636,13.0171))
    {
    MoveObject(kenny48,818.29425049,-1802.77172852,4.94463348,3.0);


    return 1;
    }
    }
    return 1;
    }