Bot Freezen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Währe per Timer und IsPlayerInRangeOfPoint umsetzbar. ;)
    Sprich du lässt alle zwei Sekunden einen Timer laufen und eine for-Schleife darin und durchläufst alle Spieler ob jemand in der Nähe ist, obs ressourcendfressend ist -> idk.

  • Muss ich dann nicht auch irgendwie die PlayerPos des Bots "Getten"?


    Danke schonmal


    //edit:


    Naja, so war das warscheinlich der absolute Fail oder?
    public BotFreeze(playerid)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    BotPos[playerid][0] = x;
    BotPos[playerid][1] = y;
    BotPos[playerid][2] = z;

    if(IsPlayerInRangeOfPoint(playerid,BotPos[playerid][0],BotPos[playerid][1],BotPos[playerid][2]));
    {
    if(IsPlayerNPC(playerid))
    {
    TogglePlayerControllable(playerid,0);
    }
    return 1;
    }

  • Ja ganz richtig ist das nicht, da hast du recht. :D
    Mach das wie folgt:

    • Gette die Person des Bots
    • Durchlaufe eine MAX_PLAYERS-Schleife und mache dort eine IsPlayerInRangeOfPoint Abfrage mit der Position des Bots
  • xD habs jetzt so inetwas versucht, ist aber genau so ein Epic Fail wie mein Erster versucht...


    public BotFreeze(playerid,GetPlayerID)
    {
    new CityDriver2ID = GetPlayerID("CityDriver2");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(CityDriver2ID,x,y,z);
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
    {
    TogglePlayerControllable(playerid,0);
    }
    }

    return 1;
    }


    Kannst du mir Zeigen wie man die Position einen NPC´s richtig gettet und hinterher dann auch bei IsPlayerInRangeOfPoint richtig verwendet?
    //edit: Es müssten aber mit mehreren Bots Funzen...