Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 7 из 7
  1. #1
    Аватар для Albert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±

    Разные чекпоинты

    Я хочу создать работу. Когда игрок берёт дежурство, то появляется чекпоинт. Он на него становится, ему пишет в чат что-нибудь и появялется другой в другом месте. Он на него становится и происходят другие действия.

    Я ищу мануалы. Нашёл лишь то что можно создавать на весь сервер один чекпоинт с одним действием. А как сделать по моему?

    Код:
    // На спауне игроку устанавливается чекпоинт
    public OnPlayerSpawn(playerid)
    {
        SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);
        return 1;
    }
     
    // когда игрок входит в чекпоинт, ему дают $1000.
    // сам чекпоинт отключается
    public OnPlayerEnterCheckpoint(playerid)
    {
        GivePlayerMoney(playerid, 1000);
        DisablePlayerCheckpoint(playerid);
        return 1;
    }
    //Translate by theAlone
    Не злитесь. Я всего лишь учусь скриптить

  2. #2
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Создаём переменную, либо пвар, в котором будем хранить некий "айди чекпоинта", чтобы, встав на чекпоинт, у нас выполнялись нужные действия:
    PHP код:
    new CP_id[MAX_PLAYERS]; // к глобальным переменным 
    Используем так:
    PHP код:
    SetPlayerCheckPoint(playerid, ...);
    CP_id[playerid] = 1
    в OnPlayerEnterCheckpoint(playerid):
    PHP код:
    if(CP_id[playerid] == 1)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, ...);
    SendClientMessage(playerid, -1"Иди на следующий чекпоинт");
    CP_id[playerid] = 2;
    }
    else if(
    CP_id[playerid] == 2)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid, -1"Миссия выполнена");
    CP_id[playerid] = 0;

    В OnPlayerConnect:
    PHP код:
    CP_id[playerid] = 0

  3. Пользователь сказал cпасибо:
    Albert (09.01.2015)
  4. #3
    Аватар для Albert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    new CP_id[MAX_PLAYERS]; так и писать?
    или может new CP_1[MAX_PLAYERS];
    потом new CP_2[MAX_PLAYERS]; и т. д.?
    Не злитесь. Я всего лишь учусь скриптить

  5. #4
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от Albert Посмотреть сообщение
    new CP_id[MAX_PLAYERS]; так и писать?
    или может new CP_1[MAX_PLAYERS];
    потом new CP_2[MAX_PLAYERS]; и т. д.?
    Так и писать.

  6. Пользователь сказал cпасибо:
    Albert (09.01.2015)
  7. #5
    Аватар для Albert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Что здесь нужно писать вместо троеточия?
    SetPlayerCheckPoint(playerid, ...);

    Для чего это писать в коннет?
    CP_id[playerid] = 0;

    - - - Добавлено - - -

    error 017: undefined symbol "SetPlayerCheckPoint"
    Последний раз редактировалось Albert; 09.01.2015 в 18:07.
    Не злитесь. Я всего лишь учусь скриптить

  8. #6
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,362
    Репутация:
    771 ±
    На SetPlayerCheckpoint замените, обнулять надо при коннекте, чтобы сервер "знал", что у игрока не установлен чекпоинт. Всё верно вам посоветовали. Только можно было всё через массив сделать, и от туда брать координаты. Но разницы никакой, разве что код будет проще.

  9. Пользователь сказал cпасибо:
    Albert (09.01.2015)
  10. #7
    Аватар для Albert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Как всегда Лондлем всё доходчиво объяснит. И тебе, Мазила, спасибо большое. Всем спасибо большое. Проблема решена. Скоро буду спрашивать про систему бизнесов и домов.
    Не злитесь. Я всего лишь учусь скриптить

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •