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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±

    Диалог через енам (название) или просто case 20000, вопрос

    Всем привет. Увидел в моде даймонда вот это:

    PHP код:
    enum
    {
        
    dMakeGun // название диалога
    };

    // в диалоге
    case dMakeGun:
    {
        return 
    true;

    или вот так:
    PHP код:
    //в диалоге
    case 20000:
    {
        return 
    true;

    Что же лучше использовать, или нету вообще разницы?

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Для мода разницы никакой. Разница лишь в том, что в первом случае каждому диалогу можно дать своё имя, в котором можно изложить суть этого самого диалога, что явно поможет при дальнейшей работе с кодом (например, гораздо проще понять о том, что перед тобой диалог с регистрацией, по имени "dRegister", нежели наизусть знать сотни ID диалогов.). Да и если все диалоги делать через enum (так же можно использовать макросы), то их ID 100% не совпадут
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Для мода разницы никакой. Разница лишь в том, что в первом случае каждому диалогу можно дать своё имя, в котором можно изложить суть этого самого диалога, что явно поможет при дальнейшей работе с кодом (например, гораздо проще понять о том, что перед тобой диалог с регистрацией, по имени "dRegister", нежели наизусть знать сотни ID диалогов.). Да и если все диалоги делать через enum (так же можно использовать макросы), то их ID 100% не совпадут
    Спасибо большое. Я ещё заметил, если давать каждому диалогу - название, то у него ID 0 (смотрел через собейт). Но я думаю это не проблема.
    И действительно, куда лучше запоминать названия диалогов, чем сотни диалогов с цифрами.

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

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    Цитата Сообщение от StevenH Посмотреть сообщение
    Спасибо большое. Я ещё заметил, если давать каждому диалогу - название, то у него ID 0 (смотрел через собейт). Но я думаю это не проблема.
    И действительно, куда лучше запоминать названия диалогов, чем сотни диалогов с цифрами.
    Никак не может даваться только ид 0
    Мои глаза от твоего кода лезут на гавно-инфо и создают тему о расстановке пикапов.

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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    1 диалог смог создать через название, но как добавил второй, то ошибка:
    PHP код:
    error 040duplicate "case" label (value 1
    Код:
    PHP код:
    enum
    {
        
    dMakeGun,
        
    dMakeGun2
    }

    // диалоги
    case dMakeGun:
    {
        
    // действие
    }
    case 
    dMakeGun2:
    {
        
    // действие

    Читал что "несколько раз объявлен "case" с одним и тем же параметром;", но не понял чуть чуть. Вроде названия разные.

  7. #6
    Аватар для Роуди.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    Цитата Сообщение от StevenH Посмотреть сообщение
    1 диалог смог создать через название, но как добавил второй, то ошибка:
    PHP код:
    error 040duplicate "case" label (value 1
    Код:
    PHP код:
    enum
    {
        
    dMakeGun,
        
    dMakeGun2
    }

    // диалоги
    case dMakeGun:
    {
        
    // действие
    }
    case 
    dMakeGun2:
    {
        
    // действие

    Читал что "несколько раз объявлен "case" с одним и тем же параметром;", но не понял чуть чуть. Вроде названия разные.
    Вы специально не поставили ";"?

    enum
    {
    dMakegun,
    dMakegun2
    };
    Последний раз редактировалось Роуди.; 03.02.2016 в 23:07. Причина: Ляпнул не подумав
    Мои глаза от твоего кода лезут на гавно-инфо и создают тему о расстановке пикапов.

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Если Вы не понимаете как работает перечисление, используйте явное значение переменных:
    PHP код:
    enum
    {
            
    someNameVar0 0,
            
    someNameVar1 1,
            
    someNameVar2 2,
            
    // etc...
    }; 
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  9. #8
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от Роуди. Посмотреть сообщение
    Вы специально не поставили ";"?
    Хочешь ставь, хочешь нет я ставлю!1!Ё!!ёё12ё1 Все равно работать будет :)

  10. #9
    Аватар для Роуди.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    Цитата Сообщение от Untonyst Посмотреть сообщение
    Хочешь ставь, хочешь нет я ставлю!1!Ё!!ёё12ё1 Все равно работать будет :)
    фигасе, я не знал 0o Думал ерор будет =(
    Мои глаза от твоего кода лезут на гавно-инфо и создают тему о расстановке пикапов.

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от Роуди. Посмотреть сообщение
    фигасе, я не знал 0o Думал ерор будет =(
    Учите синтаксис, мисье.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

 

 

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

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

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

Ваши права

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