Bots verfolgen keine Spieler

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
  • Habe dieses Tutorial durchgelesen und eingefügt....


    Mein "Zombie" Schwangt zwar und bewegt sich, aber nur auf seinem Fleck !


    Scriptteile:


    OnPlayerStreamIn & OnPlayerStreamOut

    public OnPlayerStreamIn(playerid, forplayerid)
    {
    if(IsPlayerNPC(playerid)==0)
    {
    if(IsPlayerNPC(forplayerid)==1)
    {
    SetPVarInt(forplayerid, "SpielerInReichweite", GetPVarInt(forplayerid, "SpielerInReichweite") + 1);
    if(GetPVarInt(forplayerid, "SpielerInReichweite") == 1)
    {
    new tid = SetTimerEx("zombietimer",1000,true,"i",forplayerid);
    SetPVarInt(forplayerid, "zombietimerID", tid);
    }
    }
    }
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    if(IsPlayerNPC(playerid)==0)
    {
    if(IsPlayerNPC(forplayerid)==1)
    {
    SetPVarInt(forplayerid, "SpielerInReichweite", GetPVarInt(forplayerid, "SpielerInReichweite") - 1);
    if(GetPVarInt(forplayerid, "SpielerInReichweite") == 0)
    {
    KillTimer(GetPVarInt(playerid, "zombietimerID"));
    }
    }
    }
    return 1;
    }


    Den Zombietimer
    forward zombietimer(playerid);
    public zombietimer(playerid)
    {
    new Float:x, Float:y, Float:z;
    if(GetPVarInt(playerid, "AufVerfolgung")==1)
    {
    GetPlayerPos(GetPVarInt(playerid, "VerfolgterSpieler"),x,y,z);
    if(IsPlayerInRangeOfPoint(playerid, 20.0, x,y,z))
    {
    ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1,1);
    MoveRNPC(playerid, x,y,z, 0.006);
    }
    else
    {
    SetPVarInt(playerid, "AufVerfolgung", 0);
    }
    }
    else
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerNPC(i)==0)
    {
    GetPlayerPos(i, x,y,z);
    if(IsPlayerInRangeOfPoint(playerid, 20.0, x,y,z))
    {
    SetPVarInt(playerid, "AufVerfolgung", 1);
    SetPVarInt(playerid, "VerfolgterSpieler", i);
    ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1,1);
    MoveRNPC(playerid, x,y,z, 0.006);


    break;
    }
    }
    }
    }
    }