Beiträge von Kaliber

    Also, ich finde dein System von der Idee her nicht schlecht, jedoch, finde ich es teilweise ziemlich merkwürdig und schlecht wie du es umsetzt.


    1. Du hast extra eine Funktion SpielerName(playerid) die dafür sorgt, dass du den Namen eines Spielers auslesen kannst, trotzdem erstellst du in manchen Befehlen neue Variablen und lässt ihn nochmal auslesen?! Nebenbei bemerkt ist die Funktion hier nicht die schönste Lösung.


    2. Du machst teilweise unnötige abfragen, wie zum Beispiel:


    //In einem Command:
    if(IsPlayerConnected(playerid))
    Wenn der Spieler nicht connected wäre...wer gibt dann gerade diesen Befehl ein 8|


    3. Du hast den Sinn von ProxDetector glaube ich nicht so ganz verstanden, zumindest so wie du diese Funktion verwendest, macht es keinen Sinn, da solltest du lieber eine andere verwenden.


    4. GetMaxPlayers() ist eine Funktion, die in der CFG den Wert von maxplayers ausließt.
    Jedoch, so wie du es geschrieben hast, macht sie das in jedem Schleifendurchgang, somit wird die Funktion langsamer, du solltest es so verwenden:


    for(new i,l=GetMaxPlayers(); i!=l; i++)


    5. Da die Variable "Telefoniert" bei dir nur 2 Werte haben kann, nämlich 0 oder 1, solltest du die Variable als Boolean deklarieren, da sie dann weniger Speicher belegt.


    6. Du solltest aus dem Array bei "Telefoniert" mit MAX_PLAYERS ein char-Array machen, dann verbraucht jede Cell nicht 5 Byte Speicherplatz, sondern nur 1 Byte.


    7. Es ist zwar ziemlich egal, trotzdem sieht es irgendwie komisch aus, mach das mit diesem #define Filterscript raus...schließlich ist es eins und dann musst du nicht noch ein main(){ } darein schreiben, das ist unnötig.


    8. Teilweise machst du eine unnötige Verwendung von format, format verwendet man nur, um bestimmte Platzhalter wie %s,%d,%x,%c,%f...usw auszulesen. Wenn du einen normalen Text hast, kannst du diesen direkt mit SendClientMessage ausgeben und musst es nicht erst noch formatieren. (Zeile: 164)


    9. Achso, Variablen, die man nicht verwendet, muss man auch nicht deklarieren...z.B. xname in Zeile 183


    10. Allgemein, kannst du das noch viel kürzer schreiben, ist zwar nicht notwendig, finde ich aber eigentlich immer schöner. Zum Beispiel:


    if(sscanf(params,"us",pID,text))
    {
    return SendClientMessage(playerid,ROT,"/sms [ID] [Text]");
    }


    Kann man auch nur so schreiben:


    if(sscanf(params,"us",pID,text)) return SendClientMessage(playerid,ROT,"/sms [ID] [Text]");


    Ist zwar nicht dramatisch...aber nur so als Tipp ;)


    11. Noch als Tipp...unnötige else - Abfragen, kannst du auch vermeiden, z.B. diese hier:


    if(Telefoniert[pID] == 1)
    {
    return SendClientMessage(playerid,GRAU,"Besetzt...");
    }
    else
    {
    Wenn das if-Statement erfüllt werden würde, würde die Funktion 0 oder 1 zurückgeben. Sprich, der untere Teil würde eh nicht ausgeführt werden, also wäre, das else überflüssig und kann somit weggelassen werden.



    An sich ist es nicht schlecht, aber noch Ausbaufähig :)


    mfg. :thumbup:

    Hier der Verlauf:


    Ich finde das jetzt ernsthaft ärgerlich wir machten mehr oder weniger einen mündlichen Vertrag und er bietet die Zahlungsmöglichkeit "PSC" im Thread an und lehnt es dann ab..


    So ein totaler Schwachsinn :pinch:


    Also 5 Punkte:


    • Ich hatte euch im Ts³ mehrmals gesagt, dass ich nur Banküberweisung gebrauchen kann.
    • Ich habe dir gesagt, dass du dir mehr Zeit nehmen sollst das zu überdenken und was machst du, rennst los und kaufst dir in 2min eine 150€ psc und gibst mir dann die Schuld dafür?!
    • Weiterhin ist zu bemerken, dass diese Chat Logs ziemlich 2 Deutig sind und nicht präzise! (bsp mein okay war auf das klären bezogen.)
    • Dein Kollege kann bestätigen, dass ich gesagt hatte, dass ich keine PSC gebrauchen kann.
    • Das mit dem PSC in dem Thread selbst, war auf kleinere Beträge wie z.B. 10€ bezogen und nicht 150€!


    Zudem, gab es weder einen mündlichen, noch einen schriftlichen Vertrag, ja ihr habt euch nicht einmal das Script angeschaut?!


    Ich will euch nichts böses, also bleibe ich bei dem, was ich euch schon in Skype geschrieben hatte:


    Entweder du wandelst die PSC um in eine Banküberweisung, dann können wir darüber reden oder du verwendest die PSC selber (ich habe ja nicht einmal den Code, somit habe ich euch erst recht nicht "übern Tisch gezogen") und machst eine Banküberweisung.


    mfg. :thumbup:

    Ist jetzt nur aus dem Kopf geschrieben, könnte aber klappen, probiers mal aus:


    new buffer[] = "9999,9999,9999";
    for(new i; i<20; i++) {
    if(array[i] == -1) continue;
    if(array[i] < buffer[0]) buffer[0] = array[i];
    else if(array[i] < buffer[1]) buffer[1] = array[i];
    else if(array[i] < buffer[2]) buffer[2] = array[i];
    }


    buffer[0]; //enthält kleinste Zahl
    buffer[1]; //enthält 2. kleinste Zahl
    buffer[2]; //enthält 3. kleinste Zahl


    mfg. :thumbup:

    Tut mir Leid, würde er nicht.


    Du hast bei switch und case den Fehler gemacht, in Case Variablen zu benutzen,
    das mag der Compiler überhaupt nicht.


    In Case, zumindest in PAWN, muss es einen konstaten Wert geben.
    Hier hilft also nur ein if-Statement


    Solltest dir den richtigen Code anschauen von mir :P


    Habe es übersehen gehabt, da ich die if-Statements weg gemacht hatte, aber kurz darauf verbessert ;)


    Schau dir meinen Post mal an ^^

    Die andern schauen sich die Tutorials an von MrMonat & Nemesus die mitlerweile 1 Jahr alt sind und noch sehr Resc. fressenden Code haben...


    Eben das sollten sie nicht tun, sondern sich lieber mal die Funktionen im Wiki anschauen und sich mal allgemein mit Programmierung auseinander setzen :)


    Besonders wenn man Code releasen will ;)


    mfg. :thumbup:

    Ich will ja nicht meckern o.ä. aber ich hasse diesen Godfather Code, diese Art wie das GF immer Funktionen und Abfragen macht und ihr das alles übernehmt!!!


    Ich habe deinen Code mal überarbeitet, ich weiß nicht ob das was du da geschrieben hast funktioniert, aber wenn, dann sollte mein Code auch funzen:


    Hier: http://pastebin.com/PPkWFUfD


    Nur um dir mal einen Vergleich zu geben:


    Dein Code hatte: 325 Zeilen


    Mein Code hat: 88 Zeilen


    und bei meinem könnte man immernoch unnötige Zeilen und Klammern rausmachen ;)


    Also da geht noch einiges ^^


    mfg. :thumbup:


    //Edit: Rechtschreibung & anderer Pastebin

    Guten Nachmittag euch allen,


    da mir in letzter Zeit wirklich extrem langweilig ist und ich etwas Geld benötige, dachte ich mir, ich tue euch einen Gefallen und unterstütze bzw helfe ich euch bei Problemen o.ä.


    Was biete ich eigentlich an?
    Ich biete mich, wie schon im Titel erwähnt als Helfer, Lehrer oder auch als Scripter an. Hierzu ist zu sagen, dass ich nur Filterscripte oder Includes schreibe, aber keine ganzen Gamemodes, natürlich könnte ich auch Bug Fixxes o.ä. machen. Als Lehrer biete ich mich in sofern, dass ich euch in Bereichen wie HTML,Javascript,PHP,Pawn,C ++/# bestimmte Sachen erklären und beibringen kann. Und der letzte Punkt mit dem Helfer ist so zu verstehen, dass ich euch auch mit z.B. Server richtig anbekommen...WBB Forum richtig einstellen...o.ä. helfen kann.
    Ihr seht, mich kann man vielseitig nutzen ^^


    Wie könnt ihr euch an mich wenden und was kostet euch das?
    Wenden, könnt ihr euch einfach per PN, ich werde das mir dann anschauen und euch eine Rückmeldung geben, sowohl TeamSpeak³ als auch TeamViewer 9 und Skype habe ich :)
    Euch wird das nicht wirklich viel kosten, es kommt nur auf 1ne Sache an: Wie viel Zeitaufwand ist das für mich.
    Wenn das unter 5min geht, dann würde ich sogar Kleinigkeiten umsonst machen ;)
    Andernfalls, verlange ich so Preise zwischen 5-20€ ^^
    Also, das ist noch zu ertragen :D


    Zahlungsmöglichkeiten:
    Nun, hier bin ich leider etwas eingeschränkt, ich würde eine schlichte Banküberweisung bevorzugen, allerdings würde ich auch PayPal annehmen.


    Etwas über mich?
    Nun, ich bin männlich, 18 Jahre alt und habe schon die ein oder andere Erfahrung in diesem Bereich gemacht. Ich kenne mich mit der Materie in sofern genügend aus, um euch gut zu helfen. Zudem bin ich sehr freundlich und hilfsbereit.


    Habe ich auch Referenzen?
    Ja, natürlich, ich habe schon so manches hier veröffentlicht, einfach mal auf mein Profil klicken und sich ein bisschen durch meine Themen oder Beiträge stöbern.


    Schlusswort
    Habt keine Angst, ihr könnt euch ruhig alle bei mir melden, ich beiße nicht und würde mich über ein paar Angebote freuen :)
    Falls noch Fragen offen sein sollten, könnt ihr gerne hier im Thread mich fragen oder mir einfach eine kleine PN schicken.


    mfg. :thumbup:
    [Folgendes muss im Thema enthalten sein und darf nicht entfernt werden:]"]______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.


    Changelog:
    // dead: Der Expander darf nicht zum verstecken des Hinweistextes verwendet werden!
    //Edit by Kaliber: War nicht zum verstecken gedacht, nur damit das übersichtlicher aussieht :rolleyes:
    //Edit²: Rechtschreibung
    //Edit³: Text aktueller gestaltet

    Hier, probier mal das aus:


    forward getSaltString(string[],len);
    public getSaltString(string[],len)
    {
    if(strlen(string) < len) return print("Invalid memory access!"); //Wichtig...
    else strdel(string,len,strlen(string)); //Wichtig...
    for(new i; i<len; i++)
    {
    new rand;
    for(;;) {
    rand = 48+random(75);
    if(rand > 57 && rand < 65 || rand > 90 && rand < 97) continue;
    break;
    }
    string[i] = rand;
    }
    return print(string);
    }


    //Edit: Mach das mal ohne die do/While schleife und mach es so.


    mfg. :thumbup: