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

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

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

[ Урок ]
Создаем DeathMatch зону
Оценка: ****- 1 Голосов

#1
Пользователь офлайн   new.pwn 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Доброго времени суток, пользователи Pawn-Wiki.RU. Сегодня мне в голову пришла мысль создать урок по которому Вы сможете создать DeathMatch зону, в этот раз, я постараюсь все объяснить понятно.

Сразу же создаем глобальную переменную (ко всем new):
new dmzone[MAX_PLAYERS];


Сделаем так, чтобы при каждом подключении переменная была равна 0 (чтобы не спавниться каждый раз на ДМ). В OnPlayerConnect:

dmzone[playerid] = 0;


Создав глобальную переменную мы можем переходить к созданию команды.
В OnCommandText добавим:
	if(strcmp(cmd, "/dm", true) == 0)
	{
 		if(dmzone[playerid] == 1) //Читается как: если переменная dmzone ровна 1
 	{ // то
              SendClientMessage(playerid,COLOR_GREY,"Вы уже на DM, чтобы выйти используйте </exit>"); // выводим сообщение игроку      	
 	}
 		else // но если переменная dmzone ровна 0
 	{ //то
              dmzone[playerid] = 1; // выставляем переменной значение 1
              SetPlayerPos(playerid, X, Y, Z); // телепортируем игрока на DM зону (x, y, z поменять на свои координаты)
              GivePlayerWeapon(playerid,24,1000); // выдаем игроку оружие. В моем случае я выдаю Deagle (24 id) с 1000 пт. Поменяйте на свое.
              GivePlayerWeapon(playerid,26,1000); // по схеме что и выше, только shotgun
              GivePlayerWeapon(playerid,31,1000); // по схеме что и выше, только m4
              SetPlayerHealth(playerid,100); // выдаем 100 ХП нашему игроку.
              SendClientMessage(playerid,COLOR_GREY,"Вы вошли на </dm>."); // показываем сообщение игроку
	}
      return 1;
      }
if(strcmp(cmd, "/exit", true) == 0)
	{
 		if(dmzone[playerid] == 0) //Читается как: если переменная dmzone ровна 0
 	{ // то
              SendClientMessage(playerid,COLOR_GREY,"Вы не на DM."); // выводим сообщение игроку      	
 	}
 		else // но если переменная dmzone ровна 1
 	{ // то
              dmzone[playerid] = 0; // аннулируем переменную
              SetPlayerPos(playerid, X, Y, Z); // телепортируем игрока на спавн (x, y, z поменять на свои координаты)
              SendClientMessage(playerid,COLOR_GREY,"Вы вышли из </dm>."); // выводим сообщение игроку
	}
      return 1;
      }


Команда есть, но теперь нужно сделать чтобы при смерти наш игрок спавнился снова на ДМ.

в OnPlayerSpawn:

if(dmzone[playerid] == 1) // но если переменная dmzone ровна 1
{ //то
SetPlayerPos(playerid, X, Y, Z); // телепортируем игрока на DM зону (x, y, z поменять на свои координаты)
GivePlayerWeapon(playerid,24,1000); // выдаем игроку оружие. В моем случае я выдаю Deagle (24 id) с 1000 пт. 
GivePlayerWeapon(playerid,26,1000); // по схеме что и выше, только shotgun
GivePlayerWeapon(playerid,31,1000); // по схеме что и выше, только m4
SetPlayerHealth(playerid,100); // выдаем 100 ХП нашему игроку.
}

Вот и все, писал прямо с браузера, так что об ошибках сообщайте.
Автор: new.pwn (Я)

Сообщение отредактировал new.pwn: 03 мая 2014 - 17:53

2

#2
Пользователь офлайн   Александр 

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

new.pwn сказал:

Вы сможете создать DeathMatch зову

Исправь ошибку.
0

#3
Пользователь офлайн   new.pwn 

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

Просмотр сообщенияАлександр (15 марта 2014 - 01:00) писал:

Исправь ошибку.

Спасибо, исправил.
0

#4
Пользователь офлайн   new.pwn 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Обновил.

Сообщение отредактировал new.pwn: 15 марта 2014 - 15:29

0

#5
Пользователь офлайн   #Mickey 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Вполне даже не плохо.
Спасибо за данный урок!
0

#6
Пользователь офлайн   new.pwn 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Обновил.
0

#7
Пользователь офлайн   new.pwn 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Update
0

#8
Пользователь офлайн   daeq 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Class)
0

#9
Пользователь офлайн   Dante2410 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Хороший урок!
0

#10
Пользователь офлайн   RazoRs 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
норм
0

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


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

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


Яндекс.Метрика