Beiträge von [RSA]AlexandA

    Ich glaube, dass du kein bisschen Scripten kannst oder?
    Lies dir mal ein paar Tutorials durch und versuch dich dann nochmal an deinen Fragen.
    Ist nicht böse gemeint aber ich würde erstmal mit etwas kleinem anfangen.
    Die meisten deiner Fragen sind gut in Tutorials erklärt oder über die SuFu zu finden.

    Die Suchfunktion hätte es auch getan...


    Füg, das mal in dein Script ein:


    stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }


    Übrigens, du weißt schon dass du abragst ob der Spieler nicht auf X,Y,Z steht?


    AChja und die Abfrage ist auch nicht ganz korrekt:


    anstatt:
    if (!PlayerToPoint( 5, 223.5616,188.0528,1003.0313)


    und
    if (!PlayerToPoint( 5, 257.8623,79.2799,1003.6406)



    heißt es:


    if (!PlayerToPoint(5,playerid, 223.5616,188.0528,1003.0313))



    if (!PlayerToPoint( 5, playerid, 257.8623,79.2799,1003.6406))

    Du meinst, dass Admins dann eine Nachricht erhalten?


    dcmd_report(playerid, params[])
    {
    new
    pID,
    string[128],
    message[64],
    ThePlayer[MAX_PLAYER_NAME];
    if(sscanf(params, "s", message))
    {
    SendClientMessage(playerid,COLOR_RED,"Da fehlt doch etwas.");
    SendClientMessage(playerid, COLOR_INFO, "Benutze bitte: /report [Nachricht]");
    return 1;
    }
    GetPlayerName(playerid,ThePlayer,sizeof(ThePlayer));
    format(string,sizeof(string),"%s berrichtet: %s.",ThePlayer, message);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerAdmin(i))
    {
    SendClientMessage(i, COLOR_RED, string);
    }
    }
    }
    return 1;
    }



    ich weiß nicht wie du die Admins bei dir definiert hast, deswegen hier nur für Rcon Admins


    //Edit:
    Matze wahr wohl schneller :rolleyes:

    Einfach irgendwo außerhalb eines Callbacks ins Script einfügen:


    stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }

    Irgendeine Zahl, kommt halt drauf an in welcher Entfernung man den Befehl noch nutzen darf. Aber da man ihn ja bei dir nur im Pickup nutzen darf, würde ich das so lassen wie FlamingTK es hat.



    Radius

    new gate1;
    new gate2;


    forward GateOpen();
    forward GateClose();



    gate1 = CreateObject(988, 1964.194702, -2189.709229, 13.610937, 0.0000, 0.0000, 180.0000);
    gate2 = CreateObject(988, 1958.783936, -2189.709473, 13.585938, 0.0000, 0.0000, 180.0000);
    SetTimer("GateOpen", 1000, 1);


    public GateOpen(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerToPoint(20,i ,1961.4778,-2188.8291,13.5469))
    {
    MoveObject(gate1,1969.471436,-2189.709229,13.610937,3);
    MoveObject(gate2,1953.459106,-2189.709473,13.585938,3);
    return 1;
    }
    else { return SetTimer("GateClose", 6000, 0); }
    }
    }
    return 0;
    }


    public GateClose(playerid)
    {
    MoveObject(gate1,1964.194702, -2189.709229, 13.610937,3);
    MoveObject(gate2,1958.783936, -2189.709473, 13.585938,3);
    return 1;
    }



    Probiers so