08.08.2017, 00:01
Bom, fiz um cуdigo baseado em um tуpico que vi aqui no fуrum, mas nгo ficou bem como eu esperava:
Deu certo, mostra o dano corretamente.
Tem 2 aspectos que gostaria de adicionar ao cуdigo.
1° atacar o label na skin, onde o tiro foi acertado.
2° como tem um timer de 3 segundos para deletar o label, gostaria de que nгo sumisse o label anterior para aparecer o prуximo. Digamos que eu dк 5 tiros em localizaзхes diferente da skin, gostaria de que cada um tivesse seu label que fosse deletado com 3 segundos.
OBS: Tentei fazer ambas caracterнsticas e nгo obtive sucesso.
Desde jб, agradeзo.
PHP код:
#include <a_samp>
forward RemoveDamageLabel(playerid);
new TimerDamage[MAX_PLAYERS];
new Text3D:PlayerDamage[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
PlayerDamage[playerid] = Text3D:-1;
return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
new gString[128];
KillTimer(TimerDamage[playerid]);
Delete3DTextLabel(PlayerDamage[playerid]);
format(gString, sizeof gString, "-%.0f",amount);
PlayerDamage[playerid] = Create3DTextLabel(gString, 0xFFFFFFAA, 0.0, 0.0, 0.0, 7.5, -1);
Attach3DTextLabelToPlayer(PlayerDamage[playerid], playerid, 0.0, 0.0, -0.4);
TimerDamage[playerid] = SetTimerEx("RemoveDamageLabel", 3000, false, "d", playerid);
return 1;
}
public RemoveDamageLabel(playerid)
{
Delete3DTextLabel(PlayerDamage[playerid]);
}
Tem 2 aspectos que gostaria de adicionar ao cуdigo.
1° atacar o label na skin, onde o tiro foi acertado.
2° como tem um timer de 3 segundos para deletar o label, gostaria de que nгo sumisse o label anterior para aparecer o prуximo. Digamos que eu dк 5 tiros em localizaзхes diferente da skin, gostaria de que cada um tivesse seu label que fosse deletado com 3 segundos.
OBS: Tentei fazer ambas caracterнsticas e nгo obtive sucesso.
Desde jб, agradeзo.