Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Работа с таймерами (SetTimer,SetTimerEx) - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Урок ]
Работа с таймерами (SetTimer,SetTimerEx) SetTimer, SetTimerEx
Оценка: ***** 2 Голосов

#11
Пользователь офлайн   ParkuriK 

  • Banned
  • Вставить ник
  • Раскрыть информацию
Урок мне помог спасибо Romzesu!

#12
Пользователь офлайн   zeka99 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Помогите поставить на эту команду таймер

else if(strcmp(cmdtext, "/adrenaline", true) == 0)
 {
 if(PlayerInfo[playerid][pDonateRank] >= 2)
 {
 SetPlayerHealthAC(playerid, 100.0);
 PlayerInfo[playerid][pHP] = 100;
 }
 return 1;
 }

Чтобы можно было колоть адреналин раз в 10 мин
0

#13
Пользователь офлайн   LiMOH 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
zeka99, тебе в твоей теме уже ответили.
0

#14
Пользователь офлайн   zeka99 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияAlessandro Giordano (18 Июль 2012 - 20:46) писал:

zeka99, тебе в твоей теме уже ответили.

Ты её читал я там написал что Error выдаёт и не пашет думаю мож тут помогут
0

#15
Пользователь офлайн   Humphrey 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Очень помог с TimerEx :) Спасибо за урок +
0

#16
Пользователь офлайн   Devid_Gillbert. 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
Отличный урок. Но есть пара вопросов:
Сколько таймеров можно создавать?
Если много, сколько советуется максимум делать?
Большая ли это нагрузка на сервер?
Можно ли использовать таймеры без создания пабликов? а на пример стоков или чего либо другого.
я использую SetTimer.

Сообщение отредактировал Devid_Gillbert.: 16 Сентябрь 2015 - 17:11

0

#17
Пользователь офлайн   .evoxxx 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDevid_Gillbert. (16 Сентябрь 2015 - 17:10) писал:

Отличный урок. Но есть пара вопросов:
Сколько таймеров можно создавать?
Если много, сколько советуется максимум делать?
Большая ли это нагрузка на сервер?
Можно ли использовать таймеры без создания пабликов? а на пример стоков или чего либо другого.
я использую SetTimer.

1)Многовато, но я думаю свыше 1000 не сделаешь xD
2)Нагрузка зависит не от таймеров, а от кода в нем.
3)Без пабликов нельзя, но есть вариант @__lol(); или похожее, но сток не не !

Также рекомендую ежесекундный таймеры и т д , делать для отдельных игроков, тоесть при логине запускаем и т п.
0

#18
Пользователь офлайн   Devid_Gillbert. 

  • Знаток
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSnoopDy (16 Сентябрь 2015 - 17:16) писал:

1)Многовато, но я думаю свыше 1000 не сделаешь xD
2)Нагрузка зависит не от таймеров, а от кода в нем.
3)Без пабликов нельзя, но есть вариант @__lol(); или похожее, но сток не не !

Также рекомендую ежесекундный таймеры и т д , делать для отдельных игроков, тоесть при логине запускаем и т п.

Окей, спасибо.
Но появился ещё вопрос:
Как сделать так, чтобы запускался таймер и обьект начал бы двигатся, а потом запускался бы 2 таймер и обьект бы начал двигаться в другую сторону.
вот мой код поправьте его если не верен):

forward's

forward Vagon1();
forward Vagon2();
forward Vagon3();
forward Vagon4();


new
new Vagon[2];

GameModeInt
SetTimer("Vagon1",10000,true);
SetTimer("Vagon2",10000,true);
Vagon[0] = CreateObject(3585, 499.86, 722.71, 951.67,   0.00, 0.00, 270.00);
Vagon[1] = CreateObject(3585, 503.96,1113.26,951.67,   0.00, 0.00, 270.00);

public OnObjectMoved(objectid)
    SetTimer("Vagon3",10000,true);
	SetTimer("Vagon4",10000,true);
	return true;
}


и сами каллбэеки таймеров:
public Vagon1()
{
   MoveObject(Vagon[0],499.86,1113.26,951.67,10.00);
   return 1;
}
public Vagon2()
{
    MoveObject(Vagon[1],503.96, 722.71, 951.67,10.00);
	return 1;
    }
public Vagon3()
{
	MoveObject(Vagon[0],499.86, 722.71, 951.67,10.00);
	return 1;
}
public Vagon4()
{
	MoveObject(Vagon[1],503.96,1113.26,951.67,10.00);
	return 1;
}


0

#19
Пользователь офлайн   .evoxxx 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDevid_Gillbert. (16 Сентябрь 2015 - 17:32) писал:

Окей, спасибо.
Но появился ещё вопрос:
Как сделать так, чтобы запускался таймер и обьект начал бы двигатся, а потом запускался бы 2 таймер и обьект бы начал двигаться в другую сторону.
вот мой код поправьте его если не верен):

forward's

forward Vagon1();
forward Vagon2();
forward Vagon3();
forward Vagon4();


new
new Vagon[2];

GameModeInt
SetTimer("Vagon1",10000,true);
SetTimer("Vagon2",10000,true);
Vagon[0] = CreateObject(3585, 499.86, 722.71, 951.67,   0.00, 0.00, 270.00);
Vagon[1] = CreateObject(3585, 503.96,1113.26,951.67,   0.00, 0.00, 270.00);

public OnObjectMoved(objectid)
    SetTimer("Vagon3",10000,true);
	SetTimer("Vagon4",10000,true);
	return true;
}


и сами каллбэеки таймеров:
public Vagon1()
{
   MoveObject(Vagon[0],499.86,1113.26,951.67,10.00);
   return 1;
}
public Vagon2()
{
    MoveObject(Vagon[1],503.96, 722.71, 951.67,10.00);
	return 1;
    }
public Vagon3()
{
	MoveObject(Vagon[0],499.86, 722.71, 951.67,10.00);
	return 1;
}
public Vagon4()
{
	MoveObject(Vagon[1],503.96,1113.26,951.67,10.00);
	return 1;
}



достаточно вывести таймер в том паблике, который был обработан таймером.
Тоесть в Vagon1()
поставить
SetTimer("Vagon2",10000,true);

и т д, а еще если так сделаешь, то не забудь убрать в OnGameModeInit :)
0

#20
Пользователь офлайн   Devid_Gillbert. 

  • Знаток
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSnoopDy (16 Сентябрь 2015 - 17:40) писал:

достаточно вывести таймер в том паблике, который был обработан таймером.
Тоесть в Vagon1()
поставить
SetTimer("Vagon2",10000,true);

и т д, а еще если так сделаешь, то не забудь убрать в OnGameModeInit :)

я не совсем понял о_о скинь полный код в ЛС пожалуйста.
0

Поделиться темой:


  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей