[FilterScript] TextDraw Ping System
#1

Bom, a pedido de uns colegas via skype fiz um sistema super bбsico de ping ao mirar em outro player, mostrando o mesmo em TextDraw(A TEXT FICO HORRIVEL) mas estб funcional o projeto, quando vocк mira no player mostra o ping atual do mesmo de forma dinвmina, apуs parar de mirar a Text volta ao seu estado original sendo ele escrito:
"Nenhum Alvo"
Contйm tambйm 2 cmds extras um que mostra o seu ping: /meuping e outro que mostra o ping de um determinado player /pingdele [id] em ambos sendo exibida uma menssagem: Seu ping й: 100 o ping dele й: 100 (apenas exemplo)

Estarei postando Pastebin, Download das includes utilizadas e o projeto compilado no 4shared...

Primeiramente o cуdigo:

pawn Код:
/*
FilterScript criado a pedido do SkYpE...

Crйditos: Focaximubh(EU '-')

          Cantiliano_ = duduzinho (Me ajudou a testar o projeto e me deu idйia pra arruma uns errinhos O.o
          mlk tu й dms e ainda arrumo minha conexгo pra usar o sa-mp sem hamachi :D)
       
         IpsBruno(pelo icmd que й mto bom)

          Zamaroht's (Pelo editor de TextDraws)
         
          SA-MP WiKi Pela explicaзгo das funзхes:
         
          https://sampwiki.blast.hk/wiki/GetPlayerTargetPlayer
          https://sampwiki.blast.hk/wiki/GetPlayerPing
          https://sampwiki.blast.hk/wiki/CreatePlayerTextDraw
         
          ZeeX (Pelo ZCMD)

Objetivo do FilterScript: Apуs mirar em algum player, o seu PING serб imprimido
na TextDraw aparecendo de forma totalmente dinвmica

EX: Ping Alvo: 120
    Ping Alvo: 123
    Ping Alvo: 133
    Ou de acordo com o ping do player(os ping acima foi sу exemplo nunca vi ping
    abaixo de 200 mais hje em dia suhausahs)
   
    Obrigado pela atenзгo de todos, peзo desculpas por erros de lуgica ou atй
    falta de organizaзгo do cуdigo, estou disposto a receber crнticas e dicas
    para a melhoria de projetos, apesar de extremamente simples.
*/


#include <a_samp>
#include <a_players>
#include <icmd>
#include <sscanf2>

new PlayerText:PlayerPingText[MAX_PLAYERS];


public OnGameModeInit()
{
    return 1;
}
main()
{
    print("\n----------------------------------");
    print(" PlayerPingTextDraw by: Focaximubh");
    print("----------------------------------\n");
}
public OnGameModeExit()
{
    return 1;
}

public OnPlayerConnect(playerid)
{
    PlayerPingText[playerid] = CreatePlayerTextDraw(playerid, 7.000000, 322.000000, "Nenhum Alvo");
    PlayerTextDrawBackgroundColor(playerid, PlayerPingText[playerid], 255);
    PlayerTextDrawFont(playerid, PlayerPingText[playerid], 1);
    PlayerTextDrawLetterSize(playerid, PlayerPingText[playerid], 0.430000, 1.500000);
    PlayerTextDrawColor(playerid, PlayerPingText[playerid], -16776961);
    PlayerTextDrawSetOutline(playerid, PlayerPingText[playerid], 1);
    PlayerTextDrawSetProportional(playerid, PlayerPingText[playerid], 1);
    PlayerTextDrawUseBox(playerid, PlayerPingText[playerid], 1);
    PlayerTextDrawBoxColor(playerid, PlayerPingText[playerid], 0x90948DFF);
    PlayerTextDrawTextSize(playerid, PlayerPingText[playerid], 132.000000, -135.000000);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    PlayerTextDrawDestroy(playerid, PlayerPingText[playerid]);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    PlayerTextDrawShow(playerid, PlayerPingText[playerid]);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerTextDrawHide(playerid, PlayerPingText[playerid]);
    return 1;
}
public OnPlayerUpdate(playerid)
{
    new OutroPlayer = GetPlayerTargetPlayer(playerid);
    new OutroPplayer;
    new PlayerPingString[20];
    if(GetPlayerTeam(OutroPlayer) == GetPlayerTeam(playerid) && OutroPlayer != INVALID_PLAYER_ID)//Funзгo retirada do SA-MP Wiki
    {

        format(PlayerPingString, sizeof(PlayerPingString), "~r~Ping Alvo: ~w~%i", GetPlayerPing(OutroPplayer));
        PlayerTextDrawSetString(playerid, PlayerPingText[playerid], PlayerPingString);
    }
    else
    {

        PlayerTextDrawSetString(playerid, PlayerPingText[playerid], "~r~Nenhum Alvo");
    }
    return 1;
}

public OnPlayerCommandText(playerid, commandid, params[])
{
    switch(commandid)
    {

        case iscmd("i,r"):
        {

            new id;
            if(sscanf(params,"i", id)) return SendClientMessage(playerid , -1, " Uso /ir [ID do player] ");
            new Float:x, Float:y, Float:z;
            GetPlayerPos(id, x, y, z);
            SetPlayerPos(playerid, x,y,z);
            return true;
        }
        case iscmd("p,i,n,g,d,e,l,e"):
        {

            new id;
            if(sscanf(params,"i", id)) return SendClientMessage(playerid , -1, " Uso /pingdele [ID do player] ");
            if(!IsPlayerConnected(id))
            {

                new PingDele = GetPlayerPing(id);
                new PingdoCara[24];
                format(PingdoCara, sizeof(PingdoCara), "O ping dele agora й: %i", PingDele);
                SendClientMessage(playerid, -1, PingdoCara);
            }
            else
            {

                SendClientMessage(playerid, -1, "Este Player Nгo estб online no momento");
            }
            return 1;
        }
        case iscmd("m,e,u,i,p"):
        {
            new seuping[24];
            format(seuping, sizeof(seuping), "Seu ping agora й: %i", GetPlayerPing(playerid));
            SendClientMessage(playerid, -1, seuping);
            return 1;
        }
        default: return SendClientMessage(playerid, -1, "[Erro]: Comando desconhecido, desculpe.");
    }

    return false;
}
Includes utilizadas no mesmo:

SSCANF: http://dl.dropbox.com/u/21683085/sscanf(2).rar
ZCMD: http://www.solidfiles.com/d/879d1213...16d464e90c8cf9
INCLUDE icmd: https://sampforum.blast.hk/showthread.php?tid=468211

Projeto Pastebin / 4shared:

PASTEBIN

4Shared

OBS:

Estou disposto a receber crнticas e dicas, peзo desculpa por algum erro de portuguкs ou atй mesmo dentro do cуdigo, mб organizaзгo ou algo do tipo, aceito elogios tbm :d '-'

@EDIT: MUDEI O PROCESSADOR DE COMANDOS APENAS DO [ pawn] DO POST, PARA QUEM PREFERIR NO PASTEBIN E NO 4SHARED ESTБ EM ZCMD.

@REALMENTE ICMD Й MUITO MELHOR!!! '-'

Agradeзo a atenзгo desde jб.

TБ AS IBБGENS:



https://www.dropbox.com/s/n8ilalu582z2a9v/sa-mp-017.png


https://www.dropbox.com/s/9n1kxu7hp5fp9l7/sa-mp-016.png
Reply
#2

Can u upload some pics
Reply
#3

IBAGENS
Reply
#4

Bom e aprovado +REP!
Reply
#5

Simples, Porйm bom
Reply
#6

@ iDreak vlw ai

@ Duduzinho vlw lek uahsuahs tu й fera
Reply
#7

o codigo em si e simples

podia ter usado o processador de comandos aqui da board, o ICMD, mas ta bom ate

parabens.
Reply
#8

Quote:
Originally Posted by PT
Посмотреть сообщение
o codigo em si e simples

podia ter usado o processador de comandos aqui da board, o ICMD, mas ta bom ate

parabens.
VLW PT, cara eu sempre tentei usar esse ICMD nunca consegui vocк podia me passar um tutorial depois ai?
Reply
#9

Quote:
Originally Posted by focaximubh
Посмотреть сообщение
VLW PT, cara eu sempre tentei usar esse ICMD nunca consegui vocк podia me passar um tutorial depois ai?
cara super simples

olha o topico oficial

https://sampforum.blast.hk/showthread.php?tid=468211

mesmo assim se nao entender

cria ae um topico que eu ou outro qualquer ajudara vc de boa, mas digo o uso dela e super simples, vc entendera de boa...

acho que o bruno tambem fez de proposito, rapida e uso facil...
Reply
#10

Quote:
Originally Posted by PT
Посмотреть сообщение
cara super simples

olha o topico oficial

https://sampforum.blast.hk/showthread.php?tid=468211

mesmo assim se nao entender

cria ae um topico que eu ou outro qualquer ajudara vc de boa, mas digo o uso dela e super simples, vc entendera de boa...

acho que o bruno tambem fez de proposito, rapida e uso facil...
VLW PT, vou seguir sua dica e estudar este processador, sem contar que й melhor usar um feito pela nossa BOARD nй '-' vamos comeзar a valorizar mais as coisas feitar pela PT/BR pois estamos deixando muito de lado, criticam os tуpicos simples e veneram os tуpicos inъteis, vou iniciar um estudo para aprender o uso da mesma, e conto com sua ajuda tbm hehe vlw brother.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)