[Pedido] /ferimentos [ID]
#1

Olб a todos, bom dia/boa tarde/boa noite/boa madrugada. Preciso de um sistema como esse abaixo.



Seria comando, /ferimentos [ID], que informaria os damages/hits sofridos pelo jogador ferido caнdo no chгo, exatamente como estб na imagem.

Como eu faзo?
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=581443
Reply
#3

Quote:
Originally Posted by Coreia
Посмотреть сообщение
Esse cуdigo que o Gii enviou nгo funcionou.
Reply
#4

Me fale o problema filhote.
Reply
#5

Quote:
Originally Posted by Coreia
Посмотреть сообщение
Me fale o problema filhote.
Eu digito /ferimentos 1 e nгo funciona, nгo aparece a dialog, nгo aparece absolutamente nada. Eu nгo alterei nada no cуdigo, coloquei tudo exatamente em suas funзхes.
Reply
#6

Manda o codigo
Reply
#7

Quote:
Originally Posted by Coreia
Посмотреть сообщение
Manda o codigo
Jб exclui, mas eu nгo alterei nada no cуdigo.
Reply
#8

Bem nao vej nada de errado no cod, tira o isnull e usa sscanf e veja resultado
Reply
#9

Eu tinha feito isso, nгo resolveu.
Reply
#10

Bom, eu testei o script e funcionou. O dialog apenas nгo serб mostrado caso o jogador em questгo nгo tenha lhe causado dano. De qualquer forma adicionei essa exceзгo.

Como nгo tive ninguйm para testar comigo, criei um comando para simular a callback OnPlayerTakeDamage()

Cуdigo utilizado:

PHP код:
#define MAX_DAMAGE_STRING_LEN 500
CMD:causardano(playerid) {
    new 
issuerid playeridFloatamount 5.0weaponid 27bodypart 5;
    
    static
        
hora,
        
minuto,
        
segundo,
        
Floatcolete,
        
weaponName[24],
        
infoString[128],
        
attackerName[MAX_PLAYER_NAME],
        
damageString[MAX_DAMAGE_STRING_LEN];
    
gettime(horaminutosegundo);
    
GetPlayerArmour(playeridcolete);
    
GetPlayerName(issueridattackerNamesizeof (attackerName));
    
GetWeaponName(weaponidweaponNamesizeof (weaponName));
    
format(infoStringsizeof(infoString), "%.2f dmg de uma %s na(o) %s (Colete: %s) - %02d:%02d:%02d \n"amountweaponNameGetBodyPartName(bodypart), colete ? ("Sim") : ("Nгo"), horaminutosegundo);
    print(
infoString);
    
GetPVarString(playeridattackerNamedamageStringMAX_DAMAGE_STRING_LEN);
    print(
damageString);
    
strcat(damageStringinfoString);
    print(
damageString);
    
SetPVarString(playeridattackerNamedamageString);
    
    
SendClientMessage(playerid, -1"Dano causado");
    return 
1;
}
GetBodyPartName(bodypart) {
    static 
data[15];
    switch ( 
bodypart ) {
        case 
3data "Torso";
        case 
4data "Peito";
        case 
5data "Braзo Esquerdo";
        case 
6data "Braзo Direito";
        case 
7data "Perna Esquerda";
        case 
8data "Perna Direita";
        case 
9data "Cabeзa";
        default: 
data "Indefinido";
    }
    return 
data;
}
CMD:checarferimentos(playeridparams[]) {
    static 
id;
    
    if ( 
sscanf(params"u"id ) )
        return 
SendClientMessage(playerid, -1"Use /checarferimentos [id]");
    static 
name[24], damageString[MAX_DAMAGE_STRING_LEN];
    
/*if ( id == playerid )
        return SendClientMessage(playerid, -1, "Vocк nгo pode informar seu prуprio ID!");*/
    
if ( GetPlayerName(idname24) == )
        return 
SendClientMessage(playerid, -1"Jogador invбlido!");
    
GetPVarString(playeridnamedamageStringMAX_DAMAGE_STRING_LEN);
    
    if ( 
strlen(damageString) < 10 )
        
SendClientMessage(playerid, -1"Este jogador nгo lhe causou dano!");
    else
        
ShowPlayerDialog(playerid9999DIALOG_STYLE_MSGBOXnamedamageString"Fechar""");
    return 
1;

Utilizei sscanf conforme vocк havia solicitado.


OBS:

PHP код:
 /*if ( id == playerid )
        return SendClientMessage(playerid, -1, "Vocк nгo pode informar seu prуprio ID!");*/ 
Esta parte do cуdigo ficou comentado devido ao fato de eu ter testado comigo mesmo.

Seria interessante fazer um debug do sistema com mais de um jogador online.

A unica mudanзa relativa no cуdigo foi adicionar esta exceзгo:

PHP код:
if ( strlen(damageString) < 10 
        
SendClientMessage(playerid, -1"Este jogador nгo lhe causou dano!"); 
Imagem do sistema: http://i.imgur.com/Xa2vZup.jpg
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)