Mir ist gerade was besseres eingefallen, mache es so:
//oben im Script
new btimer[MAX_PLAYERS], gehalten[MAX_PLAYERS];
//Einen Timer Für alle Spieler setzen
public OnPlayerConnect(playerid)
{
SetTimerEx("Check", 1000, 1, "i", playerid);
return 1;
}
//Der Callback
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (HOLDING( KEY_FIRE ))
{
if(IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z)) //Wieder koords ersetzen
{
btimer[playerid] = SetTimerEx("Hold", 1000*15, 0, "i", playerid);
}
else if(IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z))//X, Y, Z ersetzen durch die Koordinaten von Baum 2
{
btimer[playerid] = SetTimerEx("Hold", 1000*15, 0, "i", playerid);
}
}
else
{
KillTimer(btimer[playerid]);
}
return 1;
}
forward Hold(playerid);
public Hold(playerid)
{
gehalten[playerid] = 1;
return 1;
}
forward Check(playerid);
public Check(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z)) //X, Y, Z ersetzen durch die Koordinaten von dem Baum
{
if(gehalten[playerid] == 1)
{
DestroyObject(baum1);
}
}
else if(IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z))//X, Y, Z ersetzen durch die Koordinaten von Baum 2
{
if(gehalten[playerid] == 1)
{
DestroyObject(baum2);
}
}
return 1;
}
mfg.