• 0
Sign in to follow this  
Followers 0
Умелец

[закрыто] Проблема с PayDay

Question

По идее должно выводить SCM (SendClientMessage) о PayDay'e всем игрокам, но нет выводит только одному.

 

По моим догадкам проблема заключается в player_info[TIME]

 

Спойлер

forward PayDay();
public PayDay()
{
	
	new hour, minute, second;
	gettime(hour, minute, second);
	foreach(new i : Player)
	{
	    if(GetPVarInt(i, "logged") == 1)
	    {
			if(player_info[i][TIME] < 20)
			{
				new string[120];
				format(string, sizeof(string), "Текущее время: {1472FF}%d:%d", hour, minute);
				SCM(i, COLOR_WHITE, string);
				SCM(i, COLOR_WHITE, "\tБАНКОВСКИЙ ЧЕК");
	   			SCM(i, COLOR_WHITE, "_______________________________");
	   			SCM(i, COLOR_YELLOW, "Для получения зарплаты необходимо находиться в игре минимум 20 минут");
	   			SCM(i, COLOR_WHITE, "_______________________________");
	   			return 1;
			}
			else
			{
				new string[120];
				SCM(i, COLOR_WHITE, string);
				SCM(i, COLOR_WHITE, "\tБАНКОВСКИЙ ЧЕК");
	   			SCM(i, COLOR_WHITE, "_______________________________");
	   			SCM(i, COLOR_WHITE, "Зарплата: {2FED36}99999$");
	   			SCM(i, COLOR_WHITE, "Текущий баланс счёта: {2FED36}99999$");
	   			SCM(i, COLOR_WHITE, "_______________________________");
				player_info[i][TIME] = 0;
			 }
	    }
	}
	new query[35];
	format(query, sizeof(query), "UPDATE `users` SET `time` = '0'");
	mysql_query(dbHandle, query, false);
	return 1;
}

 

 

Share this post


Link to post

4 answers to this question

  • 0

@Умелец, а зачем гадать? Проверяйте последовательно, на каком этапе идет прерывание той или иной итерации.

Share this post


Link to post
  • 0

@odosenok При удалении player_info[TIME] все идет гладко, но что с ним не так ?

 

Edited by Умелец

Share this post


Link to post
  • 0

@Умелец, вероятно, эта переменная каждую минуту должна инкрементироваться. Выполните поиск по этой переменной да проверьте, увеличивается ли она где-нибудь регулярно.

Share this post


Link to post
  • 0

@odosenok 

Спойлер

forward minuteupdate(playerid);
public minuteupdate(playerid)
{
	if(GetPVarInt(playerid, "logged") == 1)
	{
		player_info[playerid][TIME]++;
		new query[70];
		format(query, sizeof(query), "UPDATE `users` SET `time` = '%d' WHERE `id` = '%d' LIMIT 1", player_info[playerid][TIME], player_info[playerid][ID]);
		mysql_query(dbHandle, query, false);
	}
	new hour, minute, second;
	gettime(hour, minute, second);
	if(minute == 0)
	{
		PayDay();
	}

	return 1;
}

 

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • SheikhMAN
      By SheikhMAN
      Приветствую дорогие коллеги. Намучался, хочу решить одну проблему, делаю проверку на правильность введенной почты,
      и не могу правильно настроить это дело в диалоге. Кто поможет, буду очень рад. Внизу прикрепил скрипт.

      Внутри спойлера код.
       
       
    • про Cadillac
      By про Cadillac
      Кто может помочь с проблемой? Не могу найти где и как поменять цену и название на авто в салоне. В pwn лазил, нету кода на цену авто.там стоят цены самповских машин, я их менял но в игре цены не менялись. Лазил в handling.cfg, там также не работает.