[AJUDA] Textdraw Kills
#1

Pessoal fiz um text de kills sу que ele nгo pega os kills quando loga, e quando o usuбrio morre num conta.

Cуdigo
pawn Код:
//no OnGameModeInit
        Textdraw1 = TextDrawCreate(597.000000, 103.000000, "0");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 1);
    TextDrawLetterSize(Textdraw1, 0.390000, 1.200000);
    TextDrawColor(Textdraw1, -1);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetShadow(Textdraw1, 1);

    for(new i; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerConnected(i))
        {
            TextDrawShowForPlayer(i, Textdraw1);
        }
    }

       //OnPlayerConnect
       TextDrawShowForPlayer(playerid, Textdraw1);

       //OnPlayerDeath
       PlayerInfo[playerid][Morto] += 1;
       TextDrawSetString(Textdraw1, PlayerInfo[playerid][Morto]);
eu fiz um comando /status, que aparece em SendClientMessage, nele funciona, sу nгo funciona o Text, como eu arrumo?
Reply
#2

Simples esta faltando um SetTimer , no topo

pawn Код:
new Kills[MAX_PLAYERS];
pawn Код:
forward stats(playerid);
Debaixo da textdraw, OnGameModInit
pawn Код:
SetTimer("stats", 1000, 1);
no final
pawn Код:
public stats(playerid)
{
new stringkills[256];
format(stringkills,sizeof(stringkills),"Kills: %d", Kills[playerid]);
TextDrawSetString(Text:nomeDoSeuTextDraw, stringkills);
return 1;
}
Espero ter ajudado.
Reply
#3

Quote:
Originally Posted by zbt_Daimyo
Посмотреть сообщение
...Simples esta faltando um SetTimer , no topo...
... new stringkills[256];...
Realmente nгo hб necessidade de um "SetTimer" para calcular o nъmero de vezes que o jogador morreu. Basta colocar a funзгo em "OnPlayerDeath".

256 Realmente nгo hб necessidade de tudo isso!

__________
Quote:
Originally Posted by GuikBretas
Посмотреть сообщение
Pessoal fiz um text de kills sу que ele nгo pega os kills quando loga, e quando o usuбrio morre num conta.

Cуdigo
pawn Код:
....
eu fiz um comando /status, que aparece em SendClientMessage, nele funciona, sу nгo funciona o Text, como eu arrumo?
Bom, acredito que seu servidor nгo tenha mais de que 200 jogadores. Entгo, podemos otimizar o script usando "packed strings":

Topo do GM/Fs:
pawn Код:
new Text:Textdraw1[MAX_PLAYERS char];
OnPlayerConnect (Ou aonde vocк quer que o TextDraw apareзa):
pawn Код:
TextDrawShowForPlayer(playerid, Textdraw1{playerid});
OnPlayerDisconnect:
pawn Код:
TextDrawHideForPlayer(playerid, Textdraw1{playerid});
OnPlayerDeath:
pawn Код:
new string[20];
PlayerInfo[playerid][Morto] += 1;
format(string, sizeof(string), "%d", PlayerInfo[playerid][Morto];
TextDrawSetString(Textdraw1{playerid},string);
OnGameModeInit:
pawn Код:
for ( new slots = GetMaxPlayers( ), i; i < slots; i++ )
Textdraw1{i} = TextDrawCreate(597.000000, 103.000000, "0"),
TextDrawBackgroundColor(Textdraw1{i}, 255),
TextDrawFont(Textdraw1{i}, 1),
TextDrawLetterSize(Textdraw1{i}, 0.390000, 1.200000),
TextDrawColor(Textdraw1{i}, -1),
TextDrawSetOutline(Textdraw1{i}, 0),
TextDrawSetProportional(Textdraw1{i}, 1),
TextDrawSetShadow(Textdraw1{i}, 1);
Ps: Script nгo testado.

Edit.
Quote:
Originally Posted by GuikBretas
Посмотреть сообщение
...sу que ele nгo pega os kills quando loga...
Para pegar o nъmero de mortes/Assassinatos do jogador quando ele loga no servidor й necessбrio que vocк primeiramente salve as informaзхes em algum arquivo quando ele sair. Assim, quando ele retornar sу haverб necessidade de carregar o arquivo e fazer uma atualizaзгo no TextDraw.
Reply
#4

Sim realmente nao sabia disso.: D
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)