Beiträge von Syno

    Ich muss ehrlich sein. Das hört sich noch nicht gut an. Entweder liegt das am Mic oder so, oder einfach an deiner Stimme. Es hört sich an als hättest du extra leise "gerappt" damit deine Mami das nicht hört.


    Kann ja sein das es am Mic etc. liegt, aber so doll, dass man damit Geld verdienen könnte ist es ganz klar nicht.

    [DT]Sniper:
    Dann würde ich es aber so machen:
    GetNearestTree(playerid, Float:radi = 100000.0)
    {
    new nearesttree = -1;
    for(new i = 0; i<MAX_TREE; i++)
    {
    new Float:dist = GetPlayerDistanceFromPoint(playerid, baum[i][0], baum[i][1], baum[i][2]);
    if(dist < radi)nearesttree = i, radi = GetPlayerDistanceFromPoint(playerid, baum[i][0], baum[i][1], baum[i][2]);
    }
    return nearesttree;
    }


    Habe jetzt noch die farge wie ich das nearesttree auslesen soll.
    kann ich da nicht einfach eine globale Variabel erstellen?


    Was genau meinst du?


    Das GetNearestTree gibt die ID vom Baum aus, also sagen wir der Baum baum[5] ist am nächsten, dann gibt die Funktion 5 aus.

    GetNearestTree(playerid)
    {
    new Float:Distance = 100000.0;
    new nearesttree;
    for(new i = 0; i<MAX_TREE; i++)
    {
    new Float:dist = GetPlayerDistanceFromPoint(playerid, baum[i][0], baum[i][1], baum[i][2]);
    if(dist < Distance)nearesttree = i, Distance = GetPlayerDistanceFromPoint(playerid, baum[i][0], baum[i][1], baum[i][2]);
    }
    return nearesttree;
    }
    So rechnest du den am nächsten stehenden Baum aus :)

    Versuchs mal so:
    ocmd:report(playerid,params[])
    {
    if(!params[0]) return SendClientMessage(playerid,-1,"Vewendung: /report [Text]");
    new namestr[MAX_PLAYER_NAME],string[144];
    GetPlayerName(playerid, namestr, MAX_PLAYER_NAME);
    format(string,144,"[Report] %s meldet folgendes %s",namestr,params[0]);
    for(new i; i<MAX_PLAYERS; i++)if(isPlayerAnAdmin(i, 1))SendClientMessage(i,ROT,string);
    return 1;
    }

    Lässt den Namen ja auch nicht Abfragen. Machs so ;)
    //EDIT: Noch besser :P
    ocmd:report(playerid,params[])
    {
    if(!params[0]) return SendClientMessage(playerid,-1,"Vewendung: /report [Text]");
    new namestr[MAX_PLAYER_NAME],string[144];
    GetPlayerName(playerid, namestr, MAX_PLAYER_NAME);
    format(string,144,"[Report] %s meldet folgendes %s",namestr,params);
    for(new i; i<MAX_PLAYERS; i++)if(isPlayerAnAdmin(i, 1))SendClientMessage(i,ROT,string);
    return 1;
    }

    Er geht durch die Schleifen durch, und schickt an alle die Adminlevel == 1 sind eine Message?


    Er geht eine 0-500 Schleife durch, sendet bei jedem mal dem Spieler die Nachricht falls er keinen Text eingegeben hat. Also bekommt man die MSG 500 mal. Schau dir nochmal an wo du die Schleife gesetzt hast, ist nicht mal ein großer Fehler den du da gemacht hast ;)



    Aber es kann nicht nur der Admin Rank 1ser Sehen?


    Am besten fragst du dann ab ob Admin >= 1 ist ;)

    case 0:
    {
    new Float:a, Float:x, Float:y, Float:z;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    else GetPlayerFacingAngle(playerid, a);
    GetPlayerPos(playerid, x, y, z);
    x += (5.0 * -floatcos(a, degrees)); //5.0 = Abstand zur Seite (wenn du die andere Seite willst, mach das "-" weg, bei beiden.
    y += (5.0 * -floatsin(a, degrees));
    }


    Wo ist das Problem? :S