Also icharbeite zurzeit an einem Script mit Zombies, Menschen etc.
Wobei die Zombies (pInfected == 1) wenn sie die rechte Maus gedrückt halten alle Menschen in ihrer Umgebung ebenfalls infizieren sollen.
1) Gibt es dafür vielleicht eine sauberere Lösung um das hinzubekommen?
2) Klappt das so überhaupt oder werden so alle Spieler auf dem Server infiziert, hatte leider bisher noch keine Zeit es zu testen.
Nun aber mal der Script:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys & KEY_SECONDARY_ATTACK)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
new infizierwaffe = 4;
if(GetPlayerWeapon(playerid) == infizierwaffe && SpielerInfo[playerid][pInfected] == 1)
{
new Float:PosX ,Float:PosY, Float:PosZ;
GetPlayerPos(playerid, PosX, PosY, PosZ);
if(IsPlayerInRangeOfPoint(i, 3, PosX, PosY, PosZ))
{
SpielerInfiziert[i] = 1;
SpielerInfo[playerid][pTeam] = 1;
GameTextForPlayer(playerid,"~w~Du hast dein Opfer~n~~r~Infiziert",5000,1);
}
}
}
}
}
Achja für die dies nicht wissen: IsPlayerInRangeOfPoint ist die "offizielle" Variante von PlayerToPoint, also nicht deswegen schon rummeckern!