Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Deathmatch зоны

Статус
В этой теме нельзя размещать новые ответы.

Cesare228

Ученик
Доброго времени суток, пользователи Pawno-Info.ru. Сегодня мне в голову пришла мысль создать урок по которому Вы сможете создать DeathMatch зону, в этот раз, я постараюсь все объяснить понятно.

Сразу же создаем глобальную переменную (ко всем new):
PHP:
new dmzone[MAX_PLAYERS];
Сделаем так, чтобы при каждом подключении переменная была равна 0 (чтобы не спавниться каждый раз на ДМ). В OnPlayerConnect:
PHP:
dmzone[playerid] = 0;
Создав глобальную переменную мы можем переходить к созданию команды.
В OnCommandText добавим:

PHP:
 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:


PHP:
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 ХП нашему игроку.
}
Вот и все, писал прямо с браузера, так что об ошибках сообщайте.
Автор: Cesare228(Я)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу