Tut es nicht unbedingt, da GetPlayerName aus einer Variable, die im Server schon eingebaut ist entnimmt und sie Instant ausgibt. (Wie alle möglichen eingebauten Funktionen, die meißtens mit "Get" anfangen.)
Ich werde gleich mal checken welches schneller funktioniert. ![grin ^^](https://breadfish.de/wcf/images/smilies/emojione/1f604.png)
P.S.: Da deine "PlayerName" Variable vom Script aus leicht veränderbar ist, ist sie nicht so ganz sicher und dein Beispiel mit der Globalen Variable new PlayerName[MAX_PLAYER_NAME]; ist Falsch.
Wenn du deinem script nicht befielst, es zu ändern, wird es auch nicht geändert. ![smile :)](https://breadfish.de/wcf/images/smilies/emojione/263a.png)
Aber das mit dem Variable hast du recht, es ist falsch.
Er hat sozusagen "MAX_PLAYERS" und "MAX_PLAYER_NAME" gleichzeitig benutzt, was ja eh nur bugs gibt.
So etwa müsste es sein:
#include <a_samp>
new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);
return 1;
}
// Dann kannst du es auch ungefähr so benutzen:
public OnPlayerDeath(playerid,killerid,reason)
{
new string[64];
format(string, sizeof string, "* Spieler %s wurde von %s getötet.", PlayerName[playerid], PlayerName[killerid]);
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
new string[64];
format(string, sizeof string, "* %s hat den Server verlassen.", PlayerName[playerid]);
SendClientMessageToAll(0xFFFFFFAA,string);
return 1;
}