Beiträge von Kaliber

    Lösche die Funktion und den Befehl und schreib es einfach so:


    ocmd:explode(playerid,params[])
    {
    if(!params[0]) return SendClientMessage(playerid,-1,"Verwendung: /explode [spielerid]");
    if(!IsATerrorist(playerid)) return SendClientMessage(playerid,-1,"Du bist kein Terrorist!");
    new Float:p[3],pID = strval(params);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Ein Spieler mit dieser ID ist nicht online!");
    GetPlayerPos(playerid,p[0],p[1],p[2]);
    if(!IsPlayerInRangeOfPoint(pID,50.0,p[0],p[1],p[2])) return SendClientMessage(playerid,-1,"Dieser Spieler ist nicht in deiner Nähe!");
    SendClientMessage(playerid,COLOR_ORANGE, "Du hast dich in die Luft gejagt.");
    CreateExplosion(p[0],p[1],p[2], 7, 25);
    return SetPlayerHealth(playerid,0),SetPlayerHealth(pID,0);
    }


    mfg. :thumbup:

    Das gehört eigentlich in die Scripting Base


    Was hast du da jetzt Großartig verändert? :huh:


    Du hast nur params[] oben hinzugefügt, oder? :huh:


    Wenn ja, dass kann man so machen, also das einfach weglassen, das ist völlig okay so!


    Ich denke der Fehler liegt hier:


    for(new i=1; i <= MAX_JOBS; i++)


    Schreibe diese Zeile mal so:


    for(new i=1; i<MAX_JOBS; i++)


    Das Unknown Command, kommt denke ich wegen eine Array out of Bounds error ;)


    Falls du öfters sowas hast, kannst du auch das crashdetect Plugin nutzen ^^


    mfg. :thumbup:

    spawnchange


    Schreib den Befehl mal so:


    CMD:spawnchange(playerid) {
    if(isFraktion(playerid,0))return SCM(playerid,GRAU,"{CACA00}[INFO]:{FFFFFF} Du bist in keiner Fraktion!");
    SpielerInfo[playerid][pSpawn] = !SpielerInfo[playerid][pSpawn];
    SendClientMessage(playerid,GRAU,"{CACA00}[INFO]:{FFFFFF} Du hast deinen spawn geändert!");
    return SavePlayer(playerid);
    }


    mfg. :thumbup:

    Kaliber: Das ist richtig, nur wäre das auch gar nicht nötig.
    Float - Integer. Zur not den Integer in ein Float umwandeln :P


    Dann muss man es wohl ausrechnen :)


    Aber erkläre mir eins:


    new x[2 char];
    x{0} = 257;
    x{1} = 1;
    printf("%d | %d",x{0},x{1});


    Beides ergibt 1...wie willst du das unterscheiden? :huh:


    mfg. :thumbup:

    Naja man könnte das ganze über eine Rechnung lösen


    Ich bin mir jetzt nicht sicher, aber kann es sein, dass man keine Float-Variablen in einem Char-Array speichern kann? :huh:


    Weil ich habe da mal einen Test gemacht:


    new Float:x[4 char];
    x{0} = 355.0;
    x{1} = 249.59;
    x{2} = 299.31;
    x{3} = 5.5;
    for(new i; i<4; i++) printf("%.02f",x{i});


    Der Output...ist bei allen 0.00...


    mfg. :rolleyes:

    Wenn du schon soooooo pingelig bist :D


    Das hat nichts mit pingelig zu tun, das sind nur ein paar Tipps bzw Hinweise gewesen :rolleyes:


    Und man kann hier keine char-Arrays verwenden.


    Zumindest in diesem Fall nicht, da dann die Höchste Zahl bei 255 liegen müsste...aber allein die Ersten Koordinaten liegen bei 335.0 ;)


    Also würde das hier nicht funktionieren ;)


    mfg. :thumbup:

    pierre65:


    Mal paar Tipps für dein Include:


    Es ist okay, wenn du GetMaxPlayers() nutzen willst, aber dann mach es wenigstens so:


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


    Denn ansonsten, wird die Funktion immer wieder aufgerufen und das verbraucht viel Zeit.


    Und als weiteren Tipp, in einer Include solltest du mit static arbeiten, da es sonst zu Problemen kommen kann im Gamemode und du solltest #undef nutzen für deine Definierungen...falls jemand im Gamemode die gleichen Namen hat, könnte das nämlich sonst zu bösen Problemen kommen ;)


    Und noch was:


    enum pInfo_PlayerInfoEnum { Float:pInfo_PlayerInfoLastXPos };
    new pInfo_PlayerInfo[MAX_PLAYERS][pInfo_PlayerInfoEnum];


    Da kannst du auch einfach folgendes machen:


    static Float:pInfo_PlayerInfo[MAX_PLAYERS];


    Kommt ja aufs selbe drauf raus ;)


    Joa..ansonsten hab es mir nicht genauer angeschaut, ich weiß, dass es schon ähnliche Includes mit weitaus schöneren TextDraws gibt..vielleicht machste da nochmal was am Design ^^


    Aber ansonsten, nette Idee :D


    mfg. :thumbup:

    aber an der performance da könntest du noch etwas schrauben


    Ach was...auf die paar Bytes kommt es auf nem root auch nicht mehr drauf an :D


    Aber danke für den Verbesserungs-Vorschlag bin aber zu faul das umzuändern und ich finde, es ist auch mal schön wenn man eine Datei öffnet wenigstens grob was lesen zu können :D


    mfg. :thumbup: