Si on suit ta logique, les lignes où l'on créer le 3DTextLabel devrait faire référence au tueur, et non au tué !
label[playerid] = Create3DTextLabel(".: A Tuée :. !", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
label[killerid] = Create3DTextLabel(".: A Tuée :. !", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(label[playerid], killerid, x, y, z+0.75);
Attach3DTextLabelToPlayer(label[killerid], killerid, x, y, z+0.75);
Ceci n'étant qu'un parenthèse, le code est correct, le 3DTextLabel est bien créé, il est bien attaché et il est bien détruit.
Le problème vient en faite de l'utilisation de la fonction Attach3DTextLabelToPlayer.
Attach3DTextLabelToPlayer(Text3D:id, playerid, Float:OffsetX, Float:OffsetY, Float:OffsetZ)
Text3D:id: 3D Text label which you want to attach.
playerid: Playerid who you want to attach 3D Text label
OffsetX: The X coordinate offset from the player.
OffsetY: The Y coordinate offset from the player.
OffsetZ: The Z coordinate offset from the player.
La subtilité vient du fait que les paramètres OffsetX, OffsetY et OffsetZ sont relatif au joueur et donc, le 3DTextLabel se retrouve à x, y et z par rapport au joueur !
La bonne utilisation serait la suivante ...
Attach3DTextLabelToPlayer(label[killerid], killerid, 0.0, 0.0, 0.75);