[Ajuda] Verificar a quantidade de colete, mesmo que seja maior que 100.
#1

Pessoal Quero que aparece a quantidade de colete que o jogador tem.

Tipo quando um admin dar 300 por cento de colete pra um jogador, o numero 300 precisa aparecer no dialoog

o foda й que quando o o colete de alguem й maior 150 por cento, aparece no dialog sу 150 sendo que o jogador tem como por exemplo 300 de colete.

Estou usando floatround mais nгo deu certo olhem.

pawn Код:
CMD:vercolete(playerid, params[])
{
    new ID_2PESSOA;
    if(sscanf(params,"u", ID_2PESSOA)) return SendClientMessage(playerid,COR_CINZA,"Digite: /infoplayer [ID/NOME]");
    if(!IsPlayerConnected(ID_2PESSOA)) return SendClientMessage(playerid, VERMELHO_BEM_CLARO , "O(a) Jogador(a) nгo estб online!");
    new
    Celulas1[256],
    Celulas2[256],
    Float:Colete;
    GetPlayerArmour(ID_2PESSOA, Colete);
format(Celulas2, sizeof(Celulas2), "{64FF9D}[!] {FFFC8D}Colete: {FFFFFF}%d por cento. \n\n", floatround(Colete));
        strcat(Celulas1, Celulas2, sizeof(Celulas1));
    return true;
}
Reply
#2

Pelo q percebi, o Inteiro buga se passar dos 255...

PHP код:
CMD:vercolete(playeridparams[])
{
    new 
ID_2PESSOA;
    if(
sscanf(params,"u"ID_2PESSOA)) return SendClientMessage(playerid, -1,"Digite: /infoplayer [ID/NOME]");
    if(!
IsPlayerConnected(ID_2PESSOA)) return SendClientMessage(playerid, -"O(a) Jogador(a) nгo estб online!");
    new
    
Celulas1[256],
    
Celulas2[256],
    
Float:Colete;
    
GetPlayerArmour(ID_2PESSOAColete);
    if(
Colete 100)
    {
        
format(Celulas2sizeof(Celulas2), "{FF5A5A}[!] {FFFC8D}Colete: {FFFFFF}acima de 100 por cento [%0.f] {FF5A5A}(Suspeito de Xiter/Hack)\n\n"Colete);
        
strcat(Celulas1Celulas2sizeof(Celulas1));
    }
    else
    {
        
format(Celulas2sizeof(Celulas2), "{64FF9D}[!] {FFFC8D}Colete: {FFFFFF}%0.f por cento. {64FF9D}(Normal)\n\n"Colete);
        
strcat(Celulas1Celulas2sizeof(Celulas1));
    }
    
ShowPlayerDialog(playerid0123DIALOG_STYLE_MSGBOX"TITULO"Celulas1"OK""");
    return 
true;

A substituiзгo й simples, em vez de "%d" coloque "%0.f" e remova o "floatround", pois vc quer o valor inteiro da float e nгo de um valor inteiro qualquer.
Por ultimo, vc quer uma dialog com os valores da string, se nгo fizer o code para ela aparecer, ela nгo vai aparecer sozinha!
Reply
#3

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Pelo q percebi, o Inteiro buga se passar dos 255...

PHP код:
CMD:vercolete(playeridparams[])
{
    new 
ID_2PESSOA;
    if(
sscanf(params,"u"ID_2PESSOA)) return SendClientMessage(playerid, -1,"Digite: /infoplayer [ID/NOME]");
    if(!
IsPlayerConnected(ID_2PESSOA)) return SendClientMessage(playerid, -"O(a) Jogador(a) nгo estб online!");
    new
    
Celulas1[256],
    
Celulas2[256],
    
Float:Colete;
    
GetPlayerArmour(ID_2PESSOAColete);
    if(
Colete 100)
    {
        
format(Celulas2sizeof(Celulas2), "{FF5A5A}[!] {FFFC8D}Colete: {FFFFFF}acima de 100 por cento [%0.f] {FF5A5A}(Suspeito de Xiter/Hack)\n\n"Colete);
        
strcat(Celulas1Celulas2sizeof(Celulas1));
    }
    else
    {
        
format(Celulas2sizeof(Celulas2), "{64FF9D}[!] {FFFC8D}Colete: {FFFFFF}%0.f por cento. {64FF9D}(Normal)\n\n"Colete);
        
strcat(Celulas1Celulas2sizeof(Celulas1));
    }
    
ShowPlayerDialog(playerid0123DIALOG_STYLE_MSGBOX"TITULO"Celulas1"OK""");
    return 
true;

A substituiзгo й simples, em vez de "%d" coloque "%0.f" e remova o "floatround", pois vc quer o valor inteiro da float e nгo de um valor inteiro qualquer.
Por ultimo, vc quer uma dialog com os valores da string, se nгo fizer o code para ela aparecer, ela nгo vai aparecer sozinha!
Cara o foda й que quando eu coloco em "%0.f" aparece a saude mais em numeros bem maiores.

se o sangue do cara ta 100 por cento.

aparece no dialog 100.000000

o foda й que quando eu seto um valor de life de 1000 por cento no jogador fica por exemplo.

232.0000000 buga cara.

Queria apenas que mostra-se valores pequeno

Se o jogador tiver 100 por cento de colete. tem de aparecer 100 por centro no dialog,

se ele tiver 12000 por cento de colete, ten de aparecer no dialog й foda
Reply
#4

Eu realmente n manjo de Float, mas se baseando pela Wiki vc tem uma noзгo e sim, float й um valor "quebrado" composto por "numero > virgula > numero" respectivamente.

Se quer uma dica:
Sete a vida/colete total dos players do seu server para 99.0, pois cerca de 90% dos xiters nгo tem opзгo para modificar o valor do colete ou vida, simplesmente seta para 100.0.
Reply
#5

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Eu realmente n manjo de Float, mas se baseando pela Wiki vc tem uma noзгo e sim, float й um valor "quebrado" composto por "numero > virgula > numero" respectivamente.

Se quer uma dica:
Sete a vida/colete total dos players do seu server para 99.0, pois cerca de 90% dos xiters nгo tem opзгo para modificar o valor do colete ou vida, simplesmente seta para 100.0.
Isso seria atй bom cara. o problema seria quando eu seta-se um valor do colete para Vip's ou organizaзхes que utilizarб 150 por cento de colete.

Vocк diz algo bom, seria ideal 99.0, mais irei analizar futuramente.
Reply
#6

Quote:
Originally Posted by Duk
Посмотреть сообщение
Isso seria atй bom cara. o problema seria quando eu seta-se um valor do colete para Vip's ou organizaзхes que utilizarб 150 por cento de colete.

Vocк diz algo bom, seria ideal 99.0, mais irei analizar futuramente.
Ai vem a questгo dos Vips/Helpers, mas analisa cmg:

PHP код:
//TOPO
#define MAX_HEALTH 99.0
//OnPlayerConnect ou OnPlayerSpawn
SetTimerEx("AtualizarVida"1000true"i"playerid);
//Qualquer lugar
forward AtualizarVida(playerid);
public 
AtualizarVida(playerid)
{
    if(!
IsPlayerAdmin(playerid))
    {
        new 
Float:Health;
        
GetPlayerHealth(playeridHealth);
        if(
Health MAX_HEALTH)
        {
            
SendClientMessage(playeridCOLOR_RED"HACK LIXO!");
            
Kick(playerid);
        }
    }
    return 
1;

Vocк cria a checagem, neste caso, se o player n for admin rcon ele й kickado, mas vc pode adicionar mais variaveis, assim como VIP ou Helper!
Acabei de testar e funciona!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)