Label Damage -
MorteAmerica - 08.08.2017
Bom, fiz um cуdigo baseado em um tуpico que vi aqui no fуrum, mas nгo ficou bem como eu esperava:
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]);
}
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.
Re: Label Damage -
MorteAmerica - 08.08.2017
UP Topic.
Re: Label Damage -
iTouchS - 08.08.2017
Bom, vocк me ajudou, agora eu vou tentar te ajudar, seguinte:
Quanto a parte do label aparecer onde o tiro foi acertado, sу tenho duas coisas pra dizer: calculo e gambiarra.
a primeira parte й um pouco complicada, pois acredito que teria de definir altura, e o raio da skin em geral. essa parte pra mim seria complicada. quanto a segunda parte dos tiros, vocк pode criar uma variбvel de 5 cйlulas, com um timer pra deletar cada um
Код:
Exemplo:
new Variavel[MAX_PLAYERS][4];
Variavel[playerid][1] = Create3DTextLabel...
Variavel[playerid][2] = Create3DTextLabel...
Em seguida, usar o timer pra deletar uma de cada vez, assim ele iria sumir em tempo diferente pois foi chamada a funзгo quando o tiro foi acertado, e tambйm supondo que o tiro foi acertado em sequencia do outro, pra que nгo fique muito rбpido e nгo dк pra perceber que foram removidos em tempos diferentes, sugiro que eles tenham um certo atraso.
Re: Label Damage -
MorteAmerica - 09.08.2017
Ja tentei amigo, nгo obtive sucesso. Quanto a posiзгo, tentei usar a public OnPlayerWeaponShot que geta a posiзгo onde o tiro acertou, seria meio bugado pois nгo atacaria na skin, mas o resultado seria satisfatуrio. Porйm, em nenhuma das inъmeras tentativas dera certo.
Agradeзo a ajuda, continuarei aguardando
Re: Label Damage -
MorteAmerica - 10.08.2017
Up TopicІ
Re: Label Damage -
MorteAmerica - 13.08.2017
Up Topicі
Re: Label Damage -
ScripitrFaunu - 13.08.2017
Isso й tгo, Brasil Play Start, mais enfim.
https://sampforum.blast.hk/showthread.php?tid=250076
Re: Label Damage -
ClaudioF - 13.08.2017
Quote:
Isso й tгo, Brasil Play Start, mais enfim.
|
http://www.emblemax.com.br/a-evoluca...da-automotiva/
Isso й a evoluзгo das rodas, deixa eu te perguntar: Acha que foi a mesma pessoa que fez isso ? Nгo, mas todas elas tem o mesmo principio, e a mesma funзгo, apenas foram aperfeiзoadas, sabe aquele ditado que diz: "Tentou re inventar a roda", entгo... eu sou contra ele, vocк pode sim re inventar, ou diria da maneira correta. aperfeiзoar algo que jб exista.
Re: Label Damage -
MorteAmerica - 19.08.2017
Quote:
Originally Posted by ScripitrFaunu
|
Nгo conheзo este servidor. Mas agradeзo а dica para buscar ideias.
Mas lamento informar, que este code que enviou nгo sana todas minhas duvidas. Somente б de um label para cada tiro.