Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Потребность Сна - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

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

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

[ Scr ][ GF ]
Потребность Сна
Оценка: -----

#1
Пользователь офлайн   fakeN 

  • © fakeN
  • Вставить ник
  • Раскрыть информацию
Потребность сна.
Данной фишкой вы сможете удивить своих игроков, и улучшить качество РП на своём сервере.

Итак, первым шагом будет создание переменных:
new psleep[MAX_PLAYERS]; // Создаёт каждому игроку счётчик Энергитических очков (О_о)...
forward UpdateSleep(playerid); // Для паблика апдейта очков энергии...

Второй шаг, это создание паблика того самого апдейта очков энергии (отбираем очки энергии):
public UpdateSleep(playerid) { // Паблик апдейта очков энергии
        psleep[playerid]++;
        switch(psleep[playerid])
        {
                case 7 .. 9:
                {
                      SendClientMessage(playerid, -1, "(( Вы устали, вам нужно поспать! ))");
                }
                case 10:
                {
                      SendClientMessage(playerid, -1, "(( Вы уснули. (Проснуться - /unsleep). ))");
                      TogglePlayerControllable(playerid, 0);
                      SetPVarInt(playerid,"SLEEP",gettime()+120);
                      ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1);
                      ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1);
                }
        }
return 1; }

Третий шаг: в public OnGameModeInit вставляем строку:
SetTimer("UpdateSleep",300000,1);

Четвёртым шагом делаем команду "проснуться" в public OnPlayerCommandText(playerid, cmdtext[]):
if (strcmp(cmd, "/unsleep", true) == 0) {

if(GetPVarInt(playerid,"SLEEP") > gettime()) {
SendClientMessage(playerid,-1,"(( Вы ещё не выспались... ))");
return 1; }

	TogglePlayerControllable(playerid, 1);
	SendClientMessage(playerid,-1,"(( Вы выспались... ))");
	psleep[playerid] = 0;

return 1; }

Последним 5ым шагом, делаем "кровати для сна":
if (strcmp(cmd, "/sleep", true) == 0) {

 	if (!PlayerToPoint(3.0, playerid, X,Y,Z) { // X,Y,Z - Координаты кровати
		SendClientMessage(playerid,-1,"(( Вы не на кровати! ))");
	return 1; }

	if (psleep[playerid] <= 3) {
		SendClientMessage(playerid,-1,"(( Вы не устали, что-бы спать! ))");
	return 1; }

	TogglePlayerControllable(playerid, 0);
	SendClientMessage(playerid,-1,"(( Вы легли спать... (1 минута) (Что-бы проснуться /unsleep) ))");
	SetPVarInt(playerid,"SLEEP",gettime()+60);
	ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1); ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1);

return 1; }


Автор: SanStar
1

#2
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
куллл плюс лови.
0

#3
Пользователь офлайн   rickone11 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
я чёт не понял нужно свои координаты вставлять для того чтобы спать?,я думал где захотел там и поспал,а так чё получается одна кровать на весь сервер,понятно,что можно сделать ещё,ну это тупо,ну или я что то не до понял?!
0

#4
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияrickone11 (20 Март 2012 - 16:24) писал:

я чёт не понял нужно свои координаты вставлять для того чтобы спать?,я думал где захотел там и поспал,а так чё получается одна кровать на весь сервер,понятно,что можно сделать ещё,ну это тупо,ну или я что то не до понял?!


Да
0

#5
Пользователь офлайн   Санёк 

  • Няшка
  • Вставить ник
  • Раскрыть информацию
Стырил мой УРок :)
0

#6
Пользователь офлайн   zejbo 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Блин, а как можно сделать что бы можно было спать в домах? Координаты из проперти залить? Не многовато ли будет :)
0

#7
Пользователь офлайн   Akeno21 

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

Просмотр сообщенияrickone11 (20 Март 2012 - 16:24) писал:

я чёт не понял нужно свои координаты вставлять для того чтобы спать?,я думал где захотел там и поспал,а так чё получается одна кровать на весь сервер,понятно,что можно сделать ещё,ну это тупо,ну или я что то не до понял?!

Кто говорил что можно одну кровать? :biggrin:
их создать можно тысячами, и всё
0

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


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

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