[Pedido] Label Damage
#1

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(playeridissueridFloat:amountweaponidbodypart)
{
    new 
gString[128];
    
KillTimer(TimerDamage[playerid]);
    
Delete3DTextLabel(PlayerDamage[playerid]);
    
format(gStringsizeof gString"-%.0f",amount);
    
PlayerDamage[playerid] = Create3DTextLabel(gString0xFFFFFFAA0.00.00.07.5, -1);
    
Attach3DTextLabelToPlayer(PlayerDamage[playerid], playerid0.00.0, -0.4);
    
TimerDamage[playerid] = SetTimerEx("RemoveDamageLabel"3000false"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.
Reply
#2

UP Topic.
Reply
#3

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.
Reply
#4

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
Reply
#5

Up TopicІ
Reply
#6

Up Topicі
Reply
#7

Isso й tгo, Brasil Play Start, mais enfim.

https://sampforum.blast.hk/showthread.php?tid=250076
Reply
#8

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.
Reply
#9

Quote:
Originally Posted by ScripitrFaunu
Посмотреть сообщение
Isso й tгo, Brasil Play Start, mais enfim.

https://sampforum.blast.hk/showthread.php?tid=250076
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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)