Giving player +1 score every minute
#1

Giving player +1 score every minute

Can anyone help me with this? Thanks!
Reply
#2

Код:
forward TIMER_score_incremet(id);
public TIMER_score_incremet(id)
{
    new n = GetPlayerScore(id);
    SetPlayerScore(id ,n + 1);
     
    return 1;
}

OnPlayerConnect(playerid)
{
    SetTimerEx("TIMER_score_incremet" ,60 * 1000 ,true ,"d" ,playerid);
}
Reply
#3

pawn Код:
new OneScoreOneMinuteTimer;

public OnGameModeInit()
{
 OneScoreOneMinuteTimer = SetTimer("OneScoreOneMinute",60000,1);
 return 1;
}

forward OneScoreOneMinute();
public OneScoreOneMinute()
{
      for(new i = 0; i < MAX_PLAYERS+1; i++)
     {
         if (IsPlayerConnected(i))
      {
             SetPlayerScore(i,GetPlayerScore(i)+1);
          }
      }
      return 1;
}
Reply
#4

It's not so hard to do, create a timer who give you each 60000m.s he will get a score.

pawn Код:
SetTimer("Rewards",60000, true); // on game mode init

forward Rewards();
public Rewards()
{
    // your code
    return 1;
}
Reply
#5

With y_timers:

pawn Код:
ptask GiveScoreEveryMinute[60 * 1000](playerid) {
    GivePlayerScore(playerid, 1);
}
Reply
#6

Код:
// Timer Name: ScoreUpdater
// TickRate: 1 Minutes.
task ScoreUpdater[60000]() {
	foreach(new i: Player)
	{
		// Code here
	}
}
I prefer doing it as a task rather than a "SetTimer".

EDIT: just like Sinner there
Reply
#7

pawn Код:
new seconds[MAX_PLAYERS];
public OnGameModeInit()
{
    SetTimer("scoretimer", 1000, true);
    return 1;
}
public OnPlayerConnect(playerid)
{
    seconds[playerid] = 0;
    return 1;
}


forward scoretimer();
public scoretimer()
{
    for(new i; i<MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        seconds[i] ++;
        if(seconds[i] == 60)
        {
            SetPlayerScore(i, GetPlayerScore(i) + 1);
            seconds[i] = 0;
        }
    }
    return 1;
}
Reply
#8

I got same problem too
Reply
#9

simple
pawn Код:
//OnPlayerSpawn
        SetTimerEx("ScoreTimer",60000,false,"i",playerid);

forward ScoreTimer(playerid);
Public ScoreTimer
{
    SetPlayerScore(playerid, GetPlayerScore(playerid) +1);
    SetTimerEx("ScoreTimer",60000,false,"i",playerid);
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)