Beiträge von Kaliber

    Es ist vil nicht platz sparend aber wenn ich eine schleife mit vielen objecten habe wird das nicht viel resosen verbauchen oder wie das heißt ?
    oder wird beides gleich viel verbrauchen ?
    was währe am besten ?


    Es heißt Ressourcen :)


    und es ist sparender wenn du nur 1ne Variable machst, anstatt 5 oder so ^^
    Was irgendwie ja auch logisch ist...dann wird nämlich nur 1ne Variable im Speicher angelegt und nicht 5...


    Wieso ist eine Schleife nicht passend?


    Ist sie :)


    Wieso wird dafür mehr Zeit verbraucht?


    Nun, es wird mehr Zeit verbrauchst...aber wir reden hier von 0.01ms oder so ^^ Und das nur 1x nämlich wenn der Callback OnGameModeInit aufgerufen wird...
    Abgesehen davon, dass es 0.001ms länger dauert, hat man Zeilen gespart, es ist eine schönere Übersicht und man kann Problemlos auch noch 99 weitere Texturen dran hängen ;)


    //Edit:
    Was H4rd_B4se am Ende seines Beitrags geschrieben hat, ist auch eine sehr elegante Lösung! :)


    mfg. :thumbup:

    Tut mir leid, bin noch zu sehr an Java gewöhnt, aber im Prinzip gibt beides das selbe aus.


    Nein nicht direkt ^^


    double gibt z.B. in Java auch Kommazahlen aus, sprich 1.23 ;)


    Aber %d gibt eben nur ganze Integer aus ... und mit %f muss man Floats ausgeben ;)


    mfg. :thumbup:

    Erstmal ist der Name nicht vom Datentyp double, sondern String, weshalb du auch mit diesem arbeiten musst.


    %d steht nicht für double sondern für dezimal.


    und bei deinem Beispiel ist die Variable string überflüssig...da kann man direkt name verwenden ;)


    mfg. :thumbup:

    Das was man am pRP Script halt bearbeiten muss: ForumUrl,BindIP,TSIp...


    Hast du evtl die Makros leer gemacht und dann returnt?


    Sprich sowas:


    #define test ""


    //In irgendeiner Funktion oder Callback
    return test;


    Dann würde das nämlich auch crashen ;)


    mfg. :thumbup:

    Das funktioniert nicht, da OnPlayerConnect nur dann aufgerufen wird, wenn ein Spieler auf den Server connected und er sich nicht an der Position 359.2563,183.4888,1008.3828 befindet.


    Sprich du müsstest permanent abfragen ob sich der Spieler an dieser Position befindet...das macht man über einen Timer und ich bin mir sicher, dass in deinem Script schon solche Funktionen aufgerufen werden über einen Timer. Schau doch mal, wo die anderen IsPlayerInRangeOfPoint abfragen gemacht werden und schreibe es dazu ;)


    mfg. :thumbup:

    Schreib deinen Befehl mal so:


    ocmd:heal(playerid,params[]) {
    if(!MedicUS[playerid]) return scm(playerid,c_error,"Du bist kein Medic.");
    if(!params[0]) return scm(playerid,c_error,"Verwendung: /heal [spielerid]");
    new Float:Q[3],pID=strval(params);GetPlayerPos(playerid,Q[0],Q[1],Q[2]);
    if(!IsPlayerInRangeOfPoint(pID,2.5,Q[0],Q[1],Q[2])) return scm(playerid,c_error,"Du bist nicht in der Nähe eines Teampartners!");
    new string[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Du wurdest von Medic {00E6D7}%s {FFFFFF}geheilt!",name),scm(pID,-1,string);
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du hast Soldat {00E6D7}%s {FFFFFF}geheilt!",name),scm(playerid,-1,str2);
    return SetPlayerHealth(pID,100);
    }


    mfg. :thumbup:

    Schreib das mal so:


    new nachricht[64], ip[16];
    GetPlayerIp(playerid,ip,sizeof(ip));
    format(nachricht,sizeof(nachricht),"Herzliche Willkommen %s!(%i) Dein Account wurde nicht gefunden! Bitte erstell einen! /n Zur Sicherheit wurde deine IP (%s) gespeichert!",Spielername(playerid),playerid,ip);


    mfg. :thumbup:

    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 ^^