Contagem para ganhar level -
VinnyScript - 17.05.2015
Estou a procura de um code que em tempo altomatico fique setando score para ao PLAYER,
ex: a cada 10 minutos o player ganha um score.
( player em afk - ano Upa )
c alguem souber onde posso achar um code parecido fico grato desde ja <3
Re: Oi ? Click ae e me ajuda <3 -
RebeloX - 17.05.2015
Lк as regras e aprende a usar as devidas TAGs.
Re: Oi ? Click ae e me ajuda <3 -
VinnyScript - 17.05.2015
puts nen vi vey @Arrumado
Re: Oi ? Click ae e me ajuda <3 -
RebeloX - 17.05.2015
simples:
PHP код:
public OnGameModeInit()
{
SetTimer("UpLevel",60*10*1000,true);
return 1;
}
forward UpLevel();
public UpLevel()
{
for(new i = 0; i <= GetPlayerPoolSize; i++)
{
SetPlayerScore(i, GetPlayerScore(i) + 1);
}
return 1;
}
Re: Oi ? Click ae e me ajuda <3 -
n0minal - 17.05.2015
Vou te ensinar como fazer, primeiro de tudo vocк vк o que quer:
1-Timer com loop pra dar score a cada 10 minutos.
2-Saber calcular o tempo do timer.
3-Dar ou nгo o score.
Primeiro de tudo vocк precisa comeзar o temporizador (timer). A melhor forma de comeзar um timer global й na public OnGameModeInit.
Entгo precisamos saber o tempo do timer, pra isso usaremos matemбtica bбsica:
1 segundo = 1000 milisegundos
1 minuto = 60 segundos (60 segundos = 1000 * 60)
10 minutos = 10(minutos) * 60(segundos) * 1000(milisegundos)
Код:
public OnGameModeInit()
{
SetTimer("DoarXP", 10 * 60 * 1000, true);
}
forward DoarXP();
public DoarXP()
{
/*EXEMPLO:
for(new player; player < GetPlayerPoolSize(); player++)
{
if(!IsPlayerConnected(player) || IsPlayerAfk(player)) continue;//ignora ids desconectados e afk e pula pro proximo id
//caso a condicional acima nгo seja atendida, o script continua daqui...
SetPlayerScore(player, GetPlayerScore(player) + 2); //2 scores foram acrescidos na variбvel
SendClientMessage(player, -1, "Vocк recebeu 2 scores por estar online");
}
*/
}
Porйm, vocк quer q jogadores inativos nгo recebam, entгo vocк precisa criar seu prуprio sistema de detecзгo AFK, geralmente dб pra fazer com macros como esta:
Код:
new PlayerTick[MAX_PLAYERS];
#define IsPlayerAfk(%0) (PlayerTick[%0]+1000 < GetTickCount())
public OnPlayerUpdate(playerid)
{
PlayerTick[playerid]=GetTickCount();
}
Re: Oi ? Click ae e me ajuda <3 -
RebeloX - 17.05.2015
Quote:
Originally Posted by ipsLeon
Код:
forward DoarXP();
public DoarXP()
{
/*EXEMPLO:
for(new player; player < GetPlayerPoolSize(); player++)
{
if(!IsPlayerConnected(player) || IsPlayerAfk(player)) continue;//ignora ids desconectados e afk e pula pro proximo id
//caso a condicional acima nгo seja atendida, o script continua daqui...
SetPlayerScore(player, GetPlayerScore(player) + 2); //2 scores foram acrescidos na variбvel
SendClientMessage(player, -1, "Vocк recebeu 2 scores por estar online");
}
*/
}
|
Existem duas coisas erradas, primeiramente ao usar o GetPlayerPoolSize й necessбrio utilizar o operador <= e nгo < visto que ele pega o id mais alto e nгo a quantidade de players, logo 10 players 9 ids o que acontece й que sу 8 jogadores receberam o XP.
Depois nгo existe necessidade de utilizar a funзгo IsPlayerConnected, isto porque o GetPlayerPoolSize jб faz isto, visto que ele pega o id mais alto em uso no servidor.
Re: Oi ? Click ae e me ajuda <3 -
DiegoCosta - 17.05.2015
Altere o Titulo do topico, leia as regras.
Re: Oi ? Click ae e me ajuda <3 -
VinnyScript - 17.05.2015
ipsLeon Vllw mesmo obrigado a todos ae bjs 7belo
Re: Oi ? Click ae e me ajuda <3 -
Gii - 17.05.2015
Quote:
Originally Posted by BlueX
Existem duas coisas erradas, primeiramente ao usar o GetPlayerPoolSize й necessбrio utilizar o operador <= e nгo < visto que ele pega o id mais alto e nгo a quantidade de players, logo 10 players 9 ids o que acontece й que sу 8 jogadores receberam o XP.
Depois nгo existe necessidade de utilizar a funзгo IsPlayerConnected, isto porque o GetPlayerPoolSize jб faz isto, visto que ele pega o id mais alto em uso no servidor.
|
Existe uma coisa errada!
Deve-se usar IsPlayerConnected!
Digamos que existam dois jogadores conectados (ID 1 e ID 3), a funзгo retornara 3, porйm o ID 2 nгo esta conectado!
Beijos!
Re: Oi ? Click ae e me ajuda <3 -
RebeloX - 17.05.2015
Quote:
Originally Posted by Gii
Existe uma coisa errada!
Deve-se usar IsPlayerConnected!
Digamos que existam dois jogadores conectados (ID 1 e ID 3), a funзгo retornara 3, porйm o ID 2 nгo esta conectado!
Beijos!
|
Nesse aspeto tens razгo.