Перейти к содержанию
Авторизация  
Demon Hunter

[Помощь] Система AFK

Рекомендуемые сообщения

Demon Hunter

Добрый вечер, кто может вырезать систему AFK с мода TitanTech (основа GreenTech)?

Я пытался, но у меня не получается.

Помогите.

 

https://yadi.sk/d/sdabGfya38oReZ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Боюсь, только в стол заказов. Врятли кто-то за бесплатно будет копаться в быдлокоде и вырезать. Хотя, не исключено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vladimir_Kulkov

В лс напиши, мне все равно делать нечего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

@Vladimir_Kulkov,Попытался написать, но мне написало что вам больше писать нельзя!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
xIBORIx

Делов то...

В паблик TimerUpdate

	AFKSystem();

Собственно сам паблик:

public AFKSystem()
{
	for(new playerid;playerid < GetMaxPlayers();playerid++)
	{
		if(IsPlayerConnected(playerid))
		{
			if(PlayerInfo[playerid][pAdministrator] <= 0)
			{
				if(GetPVarInt(playerid, "PlayerInAFK") == 0) SetPVarInt(playerid, "PlayerInAFK", -1);
				else if(GetPVarInt(playerid, "PlayerInAFK") == -1)
				{
					SetPVarInt(playerid, "PlayerInAFK", 1);
					new string[56];
					format(string, sizeof(string), "((АФК: %s))", ConvertSeconds(GetPVarInt(playerid, "PlayerInAFK")));
					SetPlayerChatBubble(playerid, string, 0xFFFF00AA, 20.0, 1200);
				}
				else if(GetPVarInt(playerid, "PlayerInAFK") > 0)
				{
					new string[56];
					SetPVarInt(playerid, "PlayerInAFK", GetPVarInt(playerid, "PlayerInAFK")+1);
					format(string, sizeof(string), "((АФК: %s))", ConvertSeconds(GetPVarInt(playerid, "PlayerInAFK")));
					SetPlayerChatBubble(playerid, string, 0xFFFF00AA, 20.0, 1200);
				}
				if(GetPVarInt(playerid, "PlayerInAFK") >= 900)
				{
					new string[128];
					new pname[MAX_PLAYER_NAME];
					GetPlayerName(playerid,pname,sizeof(pname));
					format(string,sizeof(string),"[Сервер]: %s [id: %d] был кикнут автоматически за АФК более чем 15 минут!",pname,playerid);
					SendClientMessageToAll(COLOR_AMDRED,string);
					Kick(playerid);
				}
			}
		}
	}
}
Изменено пользователем xIBORIx

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

@xIBORIx,

Не успел авторизоваться, как меня кикнуло за АФК более чем 15 минут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

SetPVarInt(playerid, "PlayerInAFK",0); в паблик он плеер коннект я с телефона просто

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

,То-же самое...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

Кинь TimerUpdate, мб он стоит не на 1000 милисекунд, тобишь 1 секунду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

,

SetTimer("TimerUpdate", 5, 1);

 

CALLBACK: TimerUpdate()
{
AFKSystem();
foreach(Player, i)
{
if(GetPVarInt(i,"Fishing") > 0)
{
new fish = GetPVarInt(i,"Fishing") + random(30);
SetPVarInt(i,"Fishing",GetPVarInt(i,"Fishing")+1);
if(GetPVarInt(i,"Fishing") == fish)
{
new td = random(5); new rand = 3 + random(3);
TextDrawShowForPlayer(i,pull[td]); SelectTextDraw(i, 0x00FF00FF);
SetPVarInt(i,"Fishing",0);
SetPVarInt(i,"FishTD",rand);
}
}
if(GetPVarInt(i,"FishTD") > 0)
{
SetPVarInt(i,"FishTD",GetPVarInt(i,"FishTD")-1);
if(GetPVarInt(i,"FishTD") == 0)
{
for(new td = 0; td SetPVarInt(i,"Fishing",1);
SendClientMessage(i,-1,"?? ???????? ????!");
ApplyAnimation(i,"RIOT","RIOT_FUKU",2.0,0,0,0,0,0);
SetPVarInt(i,"StartFishing",2);
}
}
if(GetPVarInt(i,"StartFishing") > 0)
{
SetPVarInt(i,"StartFishing",GetPVarInt(i,"StartFishing")-1);
if(GetPVarInt(i,"StartFishing") == 0)
{
TogglePlayerControllable(i,0);
}
}
if(HoldTime > 0)
{
HoldTime--;
if(HoldTime {
if(GetPVarInt(i,"InRemont") == 1)
{
if(PlayerInfo[pMoney] SendClientMessage(i,COLOR_LIGHTGREEN,"???????????! ???? ?/c ?????? ??? ?????. ??????? ??????!");
SetPVarInt(i,"InRemont",0); GiveMoney(i,-5000);
new v = GetPlayerVehicleID(i);
SetVehicleHealth(v,1000.0); RepairVehicle(v);
}
else if(GetPVarInt(i,"InPerekras") == 1)
{
if(PlayerInfo[pMoney] SendClientMessage(i,COLOR_LIGHTGREEN,"???????????! ???? ?/c ?????? ????? ????? ????. ??????? ??????!");
SetPVarInt(i,"InPerekras",0); GiveMoney(i,-50000);
new v = GetPlayerVehicleID(i);
ChangeVehicleColor(v,GetPVarInt(i,"CarColor1"),GetPVarInt(i,"CarColor2")); CarInfo[GetRealID(v)][cCol1] = GetPVarInt(i,"CarColor1"); CarInfo[GetRealID(v)][cCol2] = GetPVarInt(i,"CarColor2"); SaveCar(GetRealID(v));
}
HoldTime = 0;
TogglePlayerControllable(i, true);
}
}
}
return true;
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

SetTimer("TimerUpdate", 1000, 1);

Поставь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

 

 


SetTimer("TimerUpdate", 1000, 1);
Всё работает теперь хорошо, но теперь когда человек не в афк, у него над головой пишет что он АФК, что теперь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso
				else if(GetPVarInt(playerid, "PlayerInAFK") == -1)
				{
					SetPVarInt(playerid, "PlayerInAFK", 1);
					new string[56];
					format(string, sizeof(string), "((АФК: %s))", ConvertSeconds(GetPVarInt(playerid, "PlayerInAFK")));
					SetPlayerChatBubble(playerid, string, 0xFFFF00AA, 20.0, 1200);
				}

Тут если у игрока -1 по АФК, тобишь он не в АФК, то ему пишет, попробуй убрать этот код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

,Когда убрал, теперь когда он в АФК, над головой не светиться! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

верни, и тут я уже хз. Извиняй брат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

,И за это спаспбо 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vladimir_Kulkov

format(string, sizeof(string), "((АФК: %s))", ConvertSeconds(GetPVarInt(playerid, "PlayerInAFK")));

Замени на

format(string, sizeof(string), "((АФК: %s))", ConvertSeconds(SetPVarInt(playerid, "PlayerInAFK")));

Не уверен, что правильно, но попытка не пытка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@Vladimir_Kulkov, во-первых это устанавливает время AFK, во-вторых там аргументы варнинги будут, ибо нужно указывать значение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vladimir_Kulkov
,для начала, пусть попробует, если же будут ошибки, то я не прав.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Demon Hunter

 

 


format(string, sizeof(string), "((АФК: %s))", ConvertSeconds(SetPVarInt(playerid, "PlayerInAFK")));
Warning

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.