Beiträge von Kaliber

    public leben()
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    SetPlayerHealth(i, -5);
    return 1;
    }


    So würden alle Leute auf dem Server nach 50sek -5 Leben haben...bzw sterben ;)


    So muss man es machen:


    public leben() {
    new i,Float:health;
    for(; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) GetPlayerHealth(i,health),SetPlayerHealth(i, health-5.0);
    return 1;
    }


    mfg. :thumbup:

    Danke dir, aber dann sind stocks ja allgemein ressourcenfressend, wenn ich das richtig verstanden habe, oder?


    Das kommt darauf an, zunächst einmal gibt es keine "stocks" ... "stock" ist nur ein Wort, welches dafür sorgt, sobald die Funktion bzw die Variable vor der dieses Wort steht und es nicht verwendet wird, vom Compiler ignoriert wird ;)


    Und naja man muss halt ab und zu zur Vereinfachung Funktionen schreiben, dass diese Ressourcen fressen ist logisch...


    Deshalb sollte man versuchen einfache Funktionen in Makros darzustellen, da diese den Speicher nicht so belasten ;)


    mfg. :thumbup:

    Guten Tag,


    ich wollte mal so ein neugier fragen, was ihr von einem Script
    erwartet das mehr als 90.000 Zeilen hat.


    Es gibt ja einige Scripts die so viele haben.
    Und das als Selfmade und kein Godfather.


    Naja, entweder das der Scripter 90% aus einem GF kopiert hat...oder permanent unnötige Klammern & Kommentare & Returns setzt ... oder das das Teil mind. 1000 Features hat ^^

    Habe sowas auch ab und zu im Spam Ordner ;)


    Folgendes lässt sich dazu sagen:


    Die Adressen, welche in der Kopfzeile der E-Mail (dem RFC822-Header) stehen und für den Endnutzer sichtbar sind, müssen nicht unbedingt mit den Adressen übereinstimmen, die von dem Versender für den Transport der E-Mail verwendet werden. Diese bleiben meist für den Endnutzer verborgen. Die eigentlichen Empfänger wurden unter BCC (Blind Carbon Copy) eingetragen. Diese Angaben sind für den Empfänger nicht sichtbar. Auf diese Weise ist eine ökonomische Verteilung von Mailinglisten möglich.


    Wenn man sich die E-Mails genauer ansieht, stellt man fest, dass die Absender- und Empfängeradressen im RFC822-Header in der Regel ungültig sind. In diesen Fällen handelt es sich oft um Missbrauch des E-Mail-Systems. Es wird viel Mühe darauf verwendet, den wahren Absender der Mail zu verschleiern, so dass dieser auf der Empfängerseite nicht zu ermitteln ist. Selbst unter Mitwirkung der Postmaster aller am Transport beteiligter Mailer ist die Rückverfolgung zum Teil nicht möglich, weil Sicherheitslücken in der Software bestimmter E-Mail Programme (z.B. ältere sendmail-Versionen) ausgenutzt werden.


    Der absendende Computer und sogar die ersten Server haben keinen Eintrag im Domain Name System ( DNS) der verteilten Datenbank der Computer im Internet. Der erste Server, der über das DNS greifbar ist, schreibt bei gefälschten Absenderadressen keinen Hinweis auf den tatsächlichen Absender in das Header-Log (die Kopfzeile). Damit verliert sich bei genau diesem Computer die Möglichkeit der Rückverfolgung.


    Der CC-Header (Auflistung der Kopieempfänger) steht im Header (Kopfzeile) der E-Mail - der BCC-Header (Auflistung der Blindempfänger) nicht. Sinn dieses Verfahrens ist es, dass der Originalempfänger nicht wissen soll, ob jemand, und wenn ja wer, mitliest.


    Quelle: http://forum.telekom.de/foren/read.php?313,11178056


    mfg. :thumbup:

    Da "Weiblich" nicht die Größe bzw Länge deines Arrays hat kommt dieser Fehler, schreib es einfach so:


    format(sStats[playerid][sGeschlecht],20,"Weiblich");


    mfg. :thumbup:

    TruckingTargets[Trucking1Tour][0] = 1703.3060; //Beispiel
    new Float:tX;
    /*Zeile:306*/tX = TruckingTargets[Trucking1Tour][0];


    Du kannst das nicht so direkt machen, sondern musst es so machen:


    TruckingTargets[Trucking1Tour][xPos] = 1703.3060; //Beispiel
    new Float:tX;
    /*Zeile:306*/tX = TruckingTargets[Trucking1Tour][xPos];


    //Edit:
    Du könntest das auch mit 0 direkt machen, dann braucht der Array aber auch den TAG vom enum, sprich so:


    TruckingTargets[Trucking1Tour][TourInfo:0] = 1703.3060; //Beispiel
    new Float:tX;
    /*Zeile:306*/tX = TruckingTargets[Trucking1Tour][TourInfo:0];


    mfg. :thumbup:

    Schreib den Command mal so:


    if(!strcmp("/startbonus", cmdtext, true)) {
    if (!GetPlayerScore(playerid)) return ShowPlayerDialog(playerid,DIALOG_STARTBONUS,DIALOG_STYLE_LIST,"STARTBONUS WÄHLEN","Level +2\n10.000$","Bestätigen","");
    return SendClientMessage(playerid,ROT,"Du hattest deinen Startbonus schon");
    }


    mfg. :thumbup:


    Naja, ich zeig dir mal eine Möglichkeit, die nur den Namen eines Spielers bannt mit einem schönen Dialog (das selbe wie Ban(playerid)) :)


    Also zuerst ersetze in deinem /ban Befehl das Ban(playerid); durch ein Ban_Player(playerid);


    //Die Funktionen:
    stock Ban_Player(playerid) {
    new buffer[13 + MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME),format(buffer,sizeof buffer,"ban_%s.ini",name);
    new File:f=fopen(buffer,io_write);fwrite(f,"banned"),fclose(f);
    return Kick(playerid);
    }


    //Als letztes unter OnPlayerConnect
    new buffer[13 + MAX_PLAYER_NAME], bName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,bName,MAX_PLAYER_NAME),format(buffer,sizeof buffer,"ban_%s.ini",bName);
    if(fexist(buffer)) return ShowPlayerDialog(playerid,9999,DIALOG_STYLE_MSGBOX,"{FF0000}Banned","{FF0000}Sie wurden vom Server gebannt!","Bestätigen","");


    mfg. :thumbup: