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;
}
}
}
}
}