[Ajuda] Timer + TextDrawCreate
#1

Olб!

Eu quero que quando o killerid matar o playerid apareзa um textdraw para o killerid e apуs 3 segundos o textdraw desapareзa.

Fiz o seguinte cуdigo:

pawn Код:
if(killerid == INVALID_PLAYER_ID)
    {
        SendDeathMessage(INVALID_PLAYER_ID, playerid, 53);
        ResetPlayerMoneyEx(playerid);
    }
    else
    {
        SendDeathMessage(killerid, playerid, reason);
        if(GetPlayerMoneyEx(playerid) > 0)
        {
            if(mVida[killerid] == 1)
            {
                if(GetPlayerMoneyEx(playerid) >= 1000)
                {
                    new string[128];

                    format(string, sizeof(string), "+$%i", GetPlayerMoneyEx(playerid));
                    TextDrawSetString(MoreMoney, string);
                    TextDrawShowForPlayer(killerid, MoreMoney);
                    GivePlayerMoneyEx(killerid, GetPlayerMoneyEx(playerid)-300);
                    ResetPlayerMoneyEx(playerid);
                    SetTimer("MoreMoney", 3000, false);
                }
                else
                {
                    new string[128];

                    format(string, sizeof(string), "+$%i", GetPlayerMoneyEx(playerid));
                    TextDrawSetString(MoreMoney, string);
                    TextDrawShowForPlayer(killerid, MoreMoney);
                    GivePlayerMoneyEx(killerid, GetPlayerMoneyEx(playerid));
                    ResetPlayerMoneyEx(playerid);
                }
            }
            else
            {
                new string[128];

                format(string, sizeof(string), "+$%i", GetPlayerMoneyEx(playerid));
                TextDrawSetString(MoreMoney, string);
                TextDrawShowForPlayer(killerid, MoreMoney);
                GivePlayerMoneyEx(killerid, GetPlayerMoneyEx(playerid));
                ResetPlayerMoneyEx(playerid);
            }
        }
    }
Mas o timer nгo й iniciado ou nгo estб executando o cуdigo, oque estб errado?

cуdigo dos timers:

pawn Код:
public mMoney(playerid)
{
    TextDrawHideForPlayer(playerid, MoreMoney);
    TextDrawSetString(MoreVida, "-$300");
    TextDrawShowForPlayer(playerid, MoreVida);
    SetTimer("MoreVida", 2000, true);
}

public MoreV(playerid)
{
    new Float:Vida;

    GetPlayerHealth(playerid, Vida);

    if(Vida <= 99)
    {
        SetPlayerHealth(playerid, Vida+15);
        GivePlayerMoney(playerid, -300);
    }

    TextDrawHideForPlayer(playerid, MoreVida);
}
Reply
#2

Coloque um print("xxxxxxxxxx");

na callbacks para ver se realmente nгo estasendo chamada
Reply
#3

https://sampwiki.blast.hk/wiki/GameTextForPlayer
Reply
#4

Entгo Garfield, atй pensei em usar, mas acho que o GameTextForPlayer o texto fica no meio da tela, preciso que fique no canto da tela, no lado direito.

@Schocc , vou fazer isso, vou ver se consigo algum amigo para ir testar comigo, obrigado por me lembrar do debug.
Reply
#5

Quote:
Originally Posted by AiaN
Посмотреть сообщение
Entгo Garfield, atй pensei em usar, mas acho que o GameTextForPlayer o texto fica no meio da tela, preciso que fique no canto da tela, no lado direito.
Hб seis estilos de GameText.
Veja: https://sampwiki.blast.hk/wiki/GameTextStyle#Text_Styles
Reply
#6

Mas nenhum deles fica no canto direito da tela.
Reply
#7

troque o timer por:
pawn Код:
SetTimer("MoreMoney", 3000, false, "i", killerid);
Reply
#8

Obrigado, assim que puder irei fazer o teste.

Olhando agora, percebi que o nome da public que o timer irб chamar nгo й a mesma da public criada, acho que й por isso que nгo estб dando certo.

Enfim, assim que puder irei testar.

Mudando completamente de assunto.. Alguйm sabe como colocar o pickup de vida e colete quando o killerid atira no jogador ? Como tem em alguns servidores de A/D ?!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)