Relogio de UP -
felipelm3g - 28.12.2015
Tenho um relogio Up feito por um amigo aqui do forum ,cicinho
mas estou com um problema nele, gostaria de saber o MOTIVO e como resolvo!
Quando player morre o relуgio й duplicado ou quando o cara sai do servidor e entra de novo o relуgio fica mais acelerado.
Ps: Essa ultima ai da aceleraзгo nгo tenho tanta certeza se й esse o motivo, mais de vez em quando, quando olho ta acelerado!
PHP код:
public OnPlayerSpawn(playerid)
{
format(String, sizeof String, "+UP %s", Convert(PlayerInfo[playerid][pSegundos]));
PlayerTextDrawSetString(playerid, RelogioUP[playerid], String);
PlayerInfo[playerid][pSegundos]--;
SetTimerEx("Contagem", 1000, 0, "d", playerid);
return true;
}
forward Contagem(playerid);
public Contagem(playerid)
{
if(PlayerInfo[playerid][pSegundos] > 0)
{
format(String, sizeof String, "+UP %s", Convert(PlayerInfo[playerid][pSegundos]));
PlayerTextDrawSetString(playerid, RelogioUP[playerid], String);
PlayerInfo[playerid][pSegundos]--;
SetTimerEx("Contagem", 1000, 0, "d",playerid);
}else{
PlayerInfo[playerid][pSegundos] = SEGUNDOSScore;
ScoreUP(playerid);
SetTimerEx("Contagem", 1000, 0, "d", playerid);
}
return true;
}
{
PlayerInfo[playerid][pScore] ++;
GivePlayerMoney(playerid, 1500);
SendClientMessage(playerid, 0x00FF00FF, "| Level UP | Parabens voce Upou +1 Level e ganhou R$ 1500");
GameTextForPlayer(playerid, "~w~Level ~p~UP", 2000, 1);
PlayerPlaySound(playerid,1058,0.0,0.0,0.0);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
// COLOQUE AQUI AS FUNЗХES QUE DESEJA NO SEU "Score UP"
}
Convert(number)
{
new hours = 0, mins = 0, secs = 0, string[100];
hours = floatround(number / 3600);
mins = floatround((number / 60) - (hours * 60));
secs = floatround(number - ((hours * 3600) + (mins * 60)));
new days = 0;
if(hours >= 24)
{
days = floatround((hours/24), floatround_floor);
hours = hours % 24;
}
if(days > 0)
{
format(string, 100, "%d, %d:%d:%d:", days, hours, mins, secs);
}
else if(hours > 0)
{
format(string, 100, "%d:%d:%d", hours, mins, secs);
}
else
{
format(string, 100, "%02d:%02d", mins, secs);
}
return string;
}
Como proceder?
Re: Relogio de UP -
F1N4L - 28.12.2015
O relуgio do SAMP й o mesmo horбrio no seu PC, sу acelera se seu PC acelera tbm... provavelmente tem algo errado no seu pc, pois se ele funfa direito ele nгo pode alterar a hora de um modo tгo bugado!
E outra, Й APENAS UM RELУGIO, nгo precisa de nenhuma conversгo de valores, apenas deve atualizar o seu horбrio / horбrio do host para funfar de boa... Olha na minha assinatura e entra no FS despertador e olha o meu sistema de hora! й simples...
@EDIT
Entendi, premiaзгo de tempos em tempos. Jб que vc й novato no assunto pq n usa um sistema de premiaзгo pelo relуgio.
Ex:
if(relogio == 06)
{
GivePlayerMoney(playerid, 1000)
SendClientMessage(playerid, -1, "Agora й 6 da manhг e vc recebeu R$ 1000!")
}
@EDIT2
Se vc usa no seu salvamento o sistema de horas jogadas, seria mais recomendбvel, jб que vc pode definir a HORA, MIN, SEG de tempos jogados para o player receber uma premiaзгo
Re: Relogio de UP -
felipelm3g - 28.12.2015
Cara nгo й hora de servidor, й um relogio de UP
Re: Relogio de UP -
Ever_SH - 28.12.2015
Acho que deve ser pq o Timer nгo й destruнdo quando o player sai do server.
https://sampwiki.blast.hk/wiki/KillTimer
Re: Relogio de UP -
[BOPE]Seu._.Madruga - 28.12.2015
Se o SetTimer jб obtйm o parвmetro Ex, jб estб na cara que й para um certo objetivo exceto de outros iguais.
PHP код:
SetTimerEx("Contagem", 1000, 0, "d", playerid);
PHP код:
enum pTimer {
tContagem
}
new Timer[MAX_PLAYERS][pTimer];
Timer[playerid][tContagem] = SetTimerEx("Contagem", 1000, 0, "i", playerid);
Quando quiser para o timer, principalmente na hora de desconectar o player.
PHP код:
KillTimer(Timer[playerid][tContagem]);