[Ajuda]Relogio de up
#1

meu relogio de up fica igualado a todos os players


pawn Код:
//topo do gm
//Relуgio UP
new Text:UPRelogio;
new segUP = 0, minUP = 10;
forward RelogioUP();

//ongamemodint
SetTimer("RelogioUP",1000, 1);
UPRelogio = TextDrawCreate(501.000000, 227.000000, " ");
TextDrawBackgroundColor(UPRelogio, 255);
TextDrawFont(UPRelogio, 3);
TextDrawLetterSize(UPRelogio, 0.609999, 1.799999);
TextDrawColor(UPRelogio, -1);
TextDrawSetOutline(UPRelogio, 1);
TextDrawSetProportional(UPRelogio, 1);


//onplayerspawn
TextDrawShowForPlayer(playerid,UPRelogio);

public RelogioUP()
{
new string[256];
if(segUP == 0 && minUP == 0)
{
dini_IntSet(file, "EXP", dini_Int(file, "EXP")+1);
    //LevelUP();
}
if(segUP==0){
if(minUP == 0)
    minUP = 10;
segUP=59;
minUP--;
}
if(segUP <= 9){ format(string,60,"~p~UP~b~: ~w~%d~b~:~w~0%d",minUP,segUP);
} else {
format(string,60,"~p~UP~b~: ~w~%d~b~:~w~%d",minUP,segUP);
}
TextDrawSetString(UPRelogio,string);
segUP --;
return 1;
}
se possivel se alguem me encinar como eu adiciono um sistema de quando o player logar o relogio continuar de onde parou

Reply
#2

Nao testei, mas acho que deve funcionar

pawn Код:
//topo do gm
//Relуgio UP
new Text:UPRelogio[MAX_PLAYERS];
new segUP = 0, minUP = 10;
forward RelogioUP();

//OnPlayerConect
SetTimer("RelogioUP",1000, 1);
UPRelogio[playerid] = TextDrawCreate(501.000000, 227.000000, " ");
TextDrawBackgroundColor(UPRelogio[playerid], 255);
TextDrawFont(UPRelogio[playerid], 3);
TextDrawLetterSize(UPRelogio[playerid], 0.609999, 1.799999);
TextDrawColor(UPRelogio[playerid], -1);
TextDrawSetOutline(UPRelogio[playerid], 1);
TextDrawSetProportional(UPRelogio[playerid], 1);


//onplayerspawn
TextDrawShowForPlayer(playerid,UPRelogio[playerid]);

public RelogioUP()
{
new string[256];
if(segUP == 0 && minUP == 0)
{
dini_IntSet(file, "EXP", dini_Int(file, "EXP")+1);
    //LevelUP();
}
if(segUP==0){
if(minUP == 0)
    minUP = 10;
segUP=59;
minUP--;
}
if(segUP <= 9){ format(string,60,"~p~UP~b~: ~w~%d~b~:~w~0%d",minUP,segUP);
} else {
format(string,60,"~p~UP~b~: ~w~%d~b~:~w~%d",minUP,segUP);
}
for(new i = 0; i <= MAX_PLAYERS; i++) TextDrawSetString(UPRelogio[i], string);
segUP --;
return 1;
}
Oque й fiz foi mudar a variavel UPRelogio (a variavel que cria o textdraw) para UPRelogio[MAX_PLAYERS], assim criando 1 relogio para kd slot do seu servidor.

Se nao funcionar post ae os erros
Reply
#3

nem deu to desistindo ja disso
Reply
#4

Ei Axo melhor se voce fizesse tipo um comando assim:
no GameModeExit:
dai aqui se colocava aquelas funзгo do dini pra salvar o tempo ou o q vc quizer
dai no OnPlayerConnect:
voce colocava a funзгo do dini pra carregar o tempo quando o player tinha saido do jogo
Reply
#5

Estou usando esse sistema de Relogio UP que й igual a esse do criador do topico!

pawn Код:
//topo do gm
//Relуgio UP
new Text:UPRelogio[MAX_PLAYERS];
new segUP = 0, minUP = 10;
forward RelogioUP();

//OnPlayerConect
SetTimer("RelogioUP",1000, 1);
UPRelogio[playerid] = TextDrawCreate(501.000000, 227.000000, " ");
TextDrawBackgroundColor(UPRelogio[playerid], 255);
TextDrawFont(UPRelogio[playerid], 3);
TextDrawLetterSize(UPRelogio[playerid], 0.609999, 1.799999);
TextDrawColor(UPRelogio[playerid], -1);
TextDrawSetOutline(UPRelogio[playerid], 1);
TextDrawSetProportional(UPRelogio[playerid], 1);


//onplayerspawn
TextDrawShowForPlayer(playerid,UPRelogio[playerid]);

public RelogioUP()
{
new string[256];
if(segUP == 0 && minUP == 0)
{
dini_IntSet(file, "EXP", dini_Int(file, "EXP")+1);
    //LevelUP();
}
if(segUP==0){
if(minUP == 0)
    minUP = 10;
segUP=59;
minUP--;
}
if(segUP <= 9){ format(string,60,"~p~UP~b~: ~w~%d~b~:~w~0%d",minUP,segUP);
} else {
format(string,60,"~p~UP~b~: ~w~%d~b~:~w~%d",minUP,segUP);
}
for(new i = 0; i <= MAX_PLAYERS; i++) TextDrawSetString(UPRelogio[i], string);
segUP --;
return 1;
}
O meu problema й que depois de um tempo ele n executa a funзгo, ou seja quando o relogio chega a 0 ele n dб a exp para os players. mais isso sу depois do server estб a um tempo online!

alguem ajuda?
Reply
#6

Topo do gm:
pawn Код:
new segUP[MAX_PLAYERS];// Variavel de Segundos
new minUP[MAX_PLAYERS];// Variavel de Minutos
new Text:UPRelogio[MAX_PLAYERS];//draw do relogio
OnPlayerConnect:
pawn Код:
minUP[playerid] = 9;
segUP[playerid] = 59;
OnGameModeInt:

pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
        SetTimerEx("RelogioUP", 1000, true, "i", i);
        UPRelogio[i] = TextDrawCreate(509.000000, 222.000000, " ");
        TextDrawBackgroundColor(UPRelogio[i], 255);
        TextDrawFont(UPRelogio[i], 3);
        TextDrawLetterSize(UPRelogio[i], 0.469998, 1.500000);
        TextDrawColor(UPRelogio[i], -1);
        TextDrawSetOutline(UPRelogio[i], 1);
        TextDrawSetProportional(UPRelogio[i], 1);
    }
OnplayerSpawn
pawn Код:
TextDrawShowForPlayer(playerid, UPRelogio[playerid]);
No final do Gm:
pawn Код:
forward RelogioUP(playerid);
public RelogioUP(playerid)
{
    new string[256];
        if(segUP[playerid] == 0 && minUP[playerid] == 0)
        {
            new aname[MAX_PLAYER_NAME];
            GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
            format(file, sizeof(file), PASTA_CONTAS, aname);
            if(PlayerInfo[playerid][Logged] == 1)
            {
                if(AFK[playerid] == 0)
                {
                    dini_IntSet(file, "Tempo", dini_Int(file, "Tempo")+1);
                    //====== [EXP] ======
                    if(dini_Int(file, "Tempo") >=1)
                    {
                        dini_IntSet(file, "EXP", dini_Int(file, "EXP")+1);
                        format(string, sizeof(string), "| UP | Vocк ganhou +1 de experiкncia! [ %d / 5 ]",dini_Int(file, "EXP"));
                        PlayerPlaySound(playerid, 1133, 0, 0, 0);
                        SendClientMessage(playerid, 0x33AAFFFF, string);
                        dini_IntSet(file, "Tempo",0);
                    }
                    if(dini_Int(file, "EXP") >=5)
                    {
                        dini_IntSet(file, "Level", dini_Int(file, "Level")+1);
                        format(string, sizeof(string), "(INFO) Vocк juntou 5 de respeito, e ganhou +1 level. (%d) ",dini_Int(file, "Level"));
                        SendClientMessage(playerid, 0x75EA00AA, string);
                        PlayerPlaySound(playerid, 1057, 0, 0, 0);
                        dini_IntSet(file, "EXP",0);
                    }
                }
            }
        }
        if(segUP[playerid] == 0)
        {
            if(minUP[playerid] == 0)
                minUP[playerid] = 10;
                segUP[playerid] = 59;
                minUP[playerid] --;
        }
        format(string, sizeof(string), "UP: %02d:%02d", minUP[playerid], segUP[playerid]);
        TextDrawSetString(UPRelogio[playerid], string);
        segUP[playerid] --;
        return 1;
}
PS: eu sou o cara do topico... mas como pode ver to banido uii '-'
Reply
#7

Obrigado agora deu certo!
agora vou tentar por para salvar o tempo que o player sai pra quando voltar comeзar de onde parou!

me fala seu nome para eu por nos creditos.

Valew
Reply
#8

Acho q o nick dele e THE_FALLEN mano
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)