Проблемка с пейдеем
#1

Приветствую, есть такая проблема, сервер не считает каждый час пейдей.
Вот код:

Код HTML:
stock PayDay(playerid)
{
	if(!gPlayerLogged[playerid]) return true;
	SCM(playerid, COLOR_GREY, "~~~~~~~~~~~{30C346} [ Квитанция ]{A9A3AA} ~~~~~~~~~~~");
	if(PlayerInfo[playerid][Level] > 0)
	{
		format(msg, 30, "	Налог государству: {30C346}%i$",ZP[5]);
		FB[1] += ZP[5];
		SCM(playerid, COLOR_GREY, msg);
		SCM(playerid, COLOR_GREY, "");
	}
	SCM(playerid,COLOR_GREY,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
	if(GetPVarInt(playerid, "GetHome") > 0)
	{
		SCM(playerid, COLOR_TEXT,"Ваш дом был продан государству!");
		SCM(playerid, COLOR_TEXT,"Стоимость дом переведена на банковский счет!");
		DeletePVar(playerid, "GetHome");
	}
	else if(GetPVarInt(playerid, "GetRent") > 0)
	{
		SCM(playerid,COLOR_TEXT,"Владельца вашего дома выселели за неуплату");
		DeletePVar(playerid, "GetRent");
	}
	else if(GetPVarInt(playerid, "SellRent") > 0)
	{
		SCM(playerid,COLOR_TEXT,"Вы были выселены из арендованого дома, за неуплату");
		DeletePVar(playerid, "SellRent");
	}
	return true;
}
Дальше есть enum который должен прибавляться EXP после каждого пейдея.
Выглядит он так
Код HTML:
enum pInfo
{
	Name[MAX_PLAYER_NAME],
	Admin,
	Level,
	Exp,
	Money,
        ....
};
Reply
#2

Вызывается по таймеру?
Reply
#3

Вызвать пейдей можно командой /payday или подождать 00 часа.
Вот команда payday:
Код HTML:
CMD:payday(playerid,params[])
{
	if(!gPlayerLogged[playerid]) return SCM(playerid,COLOR_OSN,AUTO_LOG);
	if(AdmLogged[playerid] == false || PlayerInfo[playerid][Admin] != 4) return true;
	PayDayTime();
	return true;
}
Вот TayDayTime()
Код HTML:
stock PayDayTime()
{
	SellHouse();
	SellRent();
	foreach(new i : Player)
	{
		if(!IsPlayerConnected(i) || gPlayerLogged[i] == false) continue;
		PayDay(i);
	}
	return true;
}
Reply
#4

Крашдетектор стоит? Есть у меня смутные сомнения, что код ложится где то в SellHouse(); SellRent(); , и не до какого пейдея дело вообще не доходит.
На будущее, при использовании foreach проверка на isplayerconnected не нужна.
Reply
#5

А PayDayTime вызывается таймером?

Когда командой вызываешь срабатывает?
Reply
#6

Quote:

Дальше есть enum который должен прибавляться EXP после каждого пейдея.

В коде этого нет, поэтому и не прибавляется. В этом проблема?
Reply
#7

В OnGameModeInit (скорее всего) должен быть SetTimer или SetTimerEx. Скинь код запуска таймера и паблик, который он запускает.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)