moin moin,
wie schon in der Überschrift steht, habe ich ein kleines Problem mit dem entfernen des 3DTextLabel´s.
zum code:
wenn jemand getroffen wird, wird ein Textdraw an den spieler gehangen. bei einem weiteren Treffer soll das alte textlabel verschwinden und ein neues kommen.
zum Problem:
Die TextLabel werden alle richtig angehangen. aber die alten werden nicht entfernt.zum schluss hängen da 4 Textlabel übereinander
ich hoffe mir kann hier jemand helfen.
Code:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(GetPVarInt(playerid,"Paint")== 1)
{
if(GetPlayerWeapon(issuerid) == 24)
{
if(issuerid != INVALID_PLAYER_ID)
{
new string[128],string1[256], verteidiger[MAX_PLAYER_NAME], angreifer[MAX_PLAYER_NAME];
GetPlayerName(playerid, verteidiger, sizeof (verteidiger));
GetPlayerName(issuerid, angreifer, sizeof (angreifer));
Ps: der Timer der drin
if(GetPVarInt(playerid,"PBLeben") == 0)return SendClientMessage(issuerid,ROT,"Der Spieler ist schon ausgeschieden");
format(string, sizeof(string), "[ %s ] hat [ %s ] getroffen, [ %s ] hat noch [ %d ] Leben", angreifer, verteidiger, verteidiger,GetPVarInt(playerid,"PBLeben"));
SendClientMessageToAll(GELB, string);
label[playerid] = Create3DTextLabel("1 Treffer", GRÜN, 30.0, 40.0, 50.0, 40.0, 0);
label2[playerid] = Create3DTextLabel("2 Treffer", GRÜN, 30.0, 40.0, 50.0, 40.0, 0);
label3[playerid] = Create3DTextLabel("3 Treffer", GRÜN, 30.0, 40.0, 50.0, 40.0, 0);
label4[playerid] = Create3DTextLabel("4 Treffer", GRÜN, 30.0, 40.0, 50.0, 40.0, 0);
label5[playerid] = Create3DTextLabel("Ausgeschieden", ROT, 30.0, 40.0, 50.0, 40.0, 0);
format(string1,sizeof(string1), "[ %s ] ist aus der Runde ausgeschieden.",verteidiger);
if(GetPVarInt(playerid,"PBLeben")== 5)return Attach3DTextLabelToPlayer(label[playerid],playerid, 0.0, 0.0, 0.7) && SetPVarInt(playerid,"PBLeben",GetPVarInt(playerid,"PBLeben")-1) && SetPlayerHealth(playerid,100);
if(GetPVarInt(playerid,"PBLeben")== 4)return Attach3DTextLabelToPlayer(label2[playerid],playerid, 0.0, 0.0, 0.7) && Delete3DTextLabel(label[playerid]) && SetPVarInt(playerid,"PBLeben",GetPVarInt(playerid,"PBLeben")-1) && SetPlayerHealth(playerid,100);
if(GetPVarInt(playerid,"PBLeben")== 3)return Attach3DTextLabelToPlayer(label3[playerid],playerid, 0.0, 0.0, 0.7) && Delete3DTextLabel(label2[playerid]) && SetPVarInt(playerid,"PBLeben",GetPVarInt(playerid,"PBLeben")-1) && SetPlayerHealth(playerid,100);
if(GetPVarInt(playerid,"PBLeben")== 2)return Attach3DTextLabelToPlayer(label4[playerid],playerid, 0.0, 0.0, 0.7) && Delete3DTextLabel(label3[playerid]) && SetPVarInt(playerid,"PBLeben",GetPVarInt(playerid,"PBLeben")-1) && SetPlayerHealth(playerid,100);
if(GetPVarInt(playerid,"PBLeben")== 1)return Attach3DTextLabelToPlayer(label5[playerid],playerid, 0.0, 0.0, 0.7) && Delete3DTextLabel(label4[playerid]) && SendClientMessageToAll(HELLBLAU,string1) && TogglePlayerControllable(playerid,0) && SetTimer("toggletimer",5000,1);
}
}
}
return 1;
}
Ps: Der Timer ist nur für testzwecke drinnen (bevor kommentare dazu kommen )