Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для Shubert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Адрес
    Москва
    Сообщений
    12
    Репутация:
    0 ±

    Система личного авто.

    Делаю систему личного авто. Никак не могу добиться результата совпадения ID машины в игре и в enum'e.
    Ведь в енуме с 0 начинается отсчёт, а в игре машины с 1. Получается, что когда нужно провести какую-либо операцию с авто нужно делать так:
    cInfo[GetPlayerVehicleID(playerid)-1][cFuel] = 20. Всё время отнимать единицу, путаница.
    Есть выход из данной ситуации?

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    new
        
    vehicleid GetPlayerVehicleID(playerid) - 1;

    cInfo[vehicleid][cFuel] = 20

  3. #3
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Тут либо везде отнимать единицу, либо делать массив на одну ячейку больше и не использовать нигде нулевую ячейку.
    Что интересно, второй вариант в Pawn будет оптимальнее: на 4 байта больше в секции данных, но зато на 4 x <кол-во обращений к массиву с отниманием единицы> байт меньше в секции кода.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Адрес
    Москва
    Сообщений
    12
    Репутация:
    0 ±
    Хорошо, допустим я пойду по второму пути. Не использовать 0 ячейку...
    Вот загрузка авто циклом.
    PHP код:
        new i;
        while(
    != db_num_rows(qresult))
        {
            } 
    По умолчанию переменная имеет значение 0. Значит считать будет с 0, пока не загрузит всё. Мне нужно присвоить ей значение 1? Или как делать? Я не пойму уже...

  5. #5
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Shubert Посмотреть сообщение
    Хорошо, допустим я пойду по второму пути. Не использовать 0 ячейку...
    Вот загрузка авто циклом.
    PHP код:
        new i;
        while(
    != db_num_rows(qresult))
        {
            } 
    По умолчанию переменная имеет значение 0. Значит считать будет с 0, пока не загрузит всё. Мне нужно присвоить ей значение 1? Или как делать? Я не пойму уже...
    А зачем использовать значение по умолчанию, когда можно самому указать нужное?
    PHP код:
    new 1
    Если не понимаете таких основ - лучше не беритесь за скриптинг, почитайте сначала какую-нибудь литературу по программированию.
    Почти в любом книжном магазине можно найти что-нибудь по языку C - этот язык во многом схож с Pawn.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. #6
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    А зачем использовать значение по умолчанию, когда можно самому указать нужное?
    PHP код:
    new 1
    Если не понимаете таких основ - лучше не беритесь за скриптинг, почитайте сначала какую-нибудь литературу по программированию.
    Почти в любом книжном магазине можно найти что-нибудь по языку C - этот язык во многом схож с Pawn.
    Ну объявление точно, никак в pawn, не?
    new - выделение динамической памяти (Ну из плюсов, из сей не знаю)

 

 

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

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

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

Ваши права

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