Страница 118 из 190 ПерваяПервая ... 1868108116117118119120128168 ... ПоследняяПоследняя
Показано с 1,171 по 1,180 из 1899

Тема: Поиск скриптов

  1. #1171
    Маститый Аватар для Antberg
    Информация о пользователе
    Регистрация
    14.04.2008
    Сообщений
    1,355
    Записей в дневнике
    3
    Репутация: 53 Добавить или отнять репутацию

    По умолчанию

    Всё таки хочется понять, как именно должен выглядеть код "кармана". Пока что напрашивается такое:

    PHP код:
    SWITCH_ID 25
    if ($game_switches# Если свитчи существуют
    switch = $game_switches[SWITCH_ID]
    if (switch == 
    true)

    (
    какой-нибудь любой возможный скрипт)

    end
    end 
    Но такой вариант не работает, и вылетает, ругаясь на что-то в середине соседнего скрипта (правда, уже только при входе в боёвку).
    В общем, не хватает каких-то важных деталей!
    Последний раз редактировалось Antberg; 05.05.2014 в 17:03.

  2. #1172

    По умолчанию

    Все правильно, оно будет работать.
    А дальше уже нужно смотреть какой скрипт ты пытаешься в него засунуть. Не обязательно в это условие вставлять весь скрипт. Достаточно в него убрать место из которого оно вызывается и все.
    Большие скрипты из множества модулей нужно блокировать очень аккуратно. У них обычно много зависимостей и без лицезрения кода можно предполагать, что угодно. =)

  3. #1173
    Маститый Аватар для Antberg
    Информация о пользователе
    Регистрация
    14.04.2008
    Сообщений
    1,355
    Записей в дневнике
    3
    Репутация: 53 Добавить или отнять репутацию

    По умолчанию

    Но по любому же должен быть универсальный способ блокировки любого скрипта. Более громоздкий, с какими-то модулями, но вполне реализуемый, разве нет?

  4. #1174

    По умолчанию

    Нет нету.
    Если скрипт маленький то этот способ оптимален, НО! Вы должны понимать куда вы вставляете это условие. Если вы целиком запендюрите скрипт во внутрь этого условия то с вероятностью 101 % вылетит ошибка.

  5. #1175
    Маститый Аватар для Antberg
    Информация о пользователе
    Регистрация
    14.04.2008
    Сообщений
    1,355
    Записей в дневнике
    3
    Репутация: 53 Добавить или отнять репутацию

    По умолчанию

    Нет нету.
    Но такого не может быть. -) Ведь можно же, например, как-то сделать, что-бы по аналогии с командами "метка" и "перейти к метке", просто перебрасывало бы в конец скрипта? (если свитч включен) То есть, ни столько по честному сделать, сколько "обмануть" основной принцип работы скриптов? Что-то такое наверняка можно придумать, и скорее всего, это уже кто-то делал.

    Вообще я думаю, подобный скрипт решил бы проблемы многих мэйкеристов! =)

  6. #1176
    Хранитель Аватар для Inca
    Информация о пользователе
    Регистрация
    28.04.2008
    Адрес
    Тауантинсуйя. Лима.
    Сообщений
    2,401
    Записей в дневнике
    9
    Репутация: 70 Добавить или отнять репутацию

    По умолчанию

    Антберг, я бы порекомендовал сделать запрос на иностранном сайте. Например на www.chaos-project.com - там куча скриптеров на XP-мейкере.

  7. #1177
    Местный Аватар для LeeLoo
    Информация о пользователе
    Регистрация
    14.09.2013
    Сообщений
    196
    Записей в дневнике
    5
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от HopeBree Посмотреть сообщение
    изначально я писал с другой интонацией, но после ваших слов, прочитал так же как и вы ее D:
    обычно на расположение файлов отвечает эта строка в скриптах
    Cache.system("file_name")
    где system это название папки, если только используются стандартные папки(!)
    ОК ) Каждый воспринимает "интонацию" по-своему. Простите.

    Это дополнение тоже интересно-полезно, спасибо )

  8. #1178
    Местный Аватар для ReDS
    Информация о пользователе
    Регистрация
    26.07.2009
    Адрес
    Петропавловск-Камчатский
    Сообщений
    129
    Записей в дневнике
    1
    Репутация: 23 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Antberg Посмотреть сообщение
    Всё таки хочется понять, как именно должен выглядеть код "кармана".
    Вот так ещё проще:
    PHP код:
    SWITCH_ID 25
    if $game_switches[SWITCH_ID] == true
      
    return
    end 
    return - прекращает работу метода. Можно этот код поместить в начало метода initialize основного класса скрипта, например, но это не поможет, если скрипт затрагивает другие (стандартные) классы и переопределяет их методы. В таком случае, нужно править весь скрипт. В принципе, задача выполнима, если использовать присваивание псевдонимов методaм (alias), но для этого нужно более-менее разбираться в скриптописании.

    На самом деле, скриптинг легко понять, если осознать, что весь этот код работает на полусотне ключевых слов/символов и куче переменных

    "Главное не суть идеи, а её реализация." (с)

  9. #1179
    Маститый Аватар для Antberg
    Информация о пользователе
    Регистрация
    14.04.2008
    Сообщений
    1,355
    Записей в дневнике
    3
    Репутация: 53 Добавить или отнять репутацию

    По умолчанию

    Да как сказать. Вот я эвентингом в принципе владею, и могу на нём даже боёвку сделать, но загляни я в код чужой эвентной боёвки - и я мало что пойму. Точнее, разобраться смогу только после длительного копания и тестирования (и то, если система не сложная). А тут - скрипты RGSS. Вещь почти не знакомая, и для "старичков" традиционно пугающая. % )

    SWITCH_ID = 25
    if $game_switches[SWITCH_ID] == true
    return
    end
    Ну могу только сказать, что это ни в каком виде не работает, и вылетает с ошибками. Однако, давай разберём хотя-бы ситуацию - как с помощью этого скрипта "посадить на свитч" хотя-бы одну строку с каким-нибудь параметром. К примеру, в уже упоминавшемся Minkoff'e есть строка "MNK_SPEED = 5 # Framerate speed of the battlers", которая задаёт скорость анимации баттлеров. Как сделать так, чтобы в зависимости от включенности того или иного свитча, был доступен разный вариант этой строки?

    Допустим, в оригинале так:

    PHP код:
    # * Animation Frames and Animation Speed
      #--------------------------------------------------------------------------    
      

      
    MNK_SPEED               1       # Framerate speed of the battlers  
      
    MNK_RUSH_SPEED          1.5     # Melee/Skill/Item motion speed of the battlers
      
    MNK_POSES               11      # Maximum # of poses (stances) in the template
      
    MNK_FRAMES              4       # Maximum # of frames in each pose
      
    MNK_FRAMES_STANDARD     4       # Standard # of frames played in each pose. 
    Я пытаюсь применить скрипт кармана, и получается такое:

    PHP код:
      # * Animation Frames and Animation Speed
      #--------------------------------------------------------------------------    
      
    SWITCH_ID 25
    if $game_switches[SWITCH_ID] == true
      
    return 
      
    MNK_SPEED               5       # Framerate speed of the battlers  
    end

    SWITCH_ID 
    26
    if $game_switches[SWITCH_ID] == true
      
    return 
      
    MNK_SPEED               10       # Framerate speed of the battlers  
    end  

    MNK_RUSH_SPEED          
    1.5     # Melee/Skill/Item motion speed of the battlers
      
    MNK_POSES               11      # Maximum # of poses (stances) in the template
      
    MNK_FRAMES              4       # Maximum # of frames in each pose
      
    MNK_FRAMES_STANDARD     4       # Standard # of frames played in each pose. 
    Это вылетает с ошибкой, не давая загрузить даже титульник. Пытался менять местами "return" и "MNK_SPEED", но результат такой-же. Что же надо переделать?

    К слову, запостил вопрос (снова спасибо Оттеру за перевод -)) на chaos-project'e: http://forum.chaos-project.com/index.php/topic,14136

    Как ни странно, там тоже пишут, что невозможно сделать это. -\ Пока что, во всяком случае, предложили такой вариант:

    PHP код:
    def update
      
    return if $game_switches[25]
      
    # Else process code normally
    end 
    Пытался применить его и целиком к скрипту, и к отдельной строке, но опять-же, вылетает ещё до титульника.
    Последний раз редактировалось Antberg; 08.05.2014 в 16:07.

  10. #1180

    По умолчанию

    Вылетает потому что ты не понимаешь принципов программирования. =)
    Ты выключаешь определение переменной при запуске данного скрипта, а значит дальше по ходу программы при запросе к этой переменной программа ее не обнаружит и вывалится с ошибкой.

    Но! Тут даже вылет может быть еще раньше. Если код данного скрипта читается до момента определения свичей и переменнных (то есть до нажатия новая игра или загрузки) то программа просто не знает, что такое $game_switches[25]. И выдаст ошибку.

    А вот это
    def update
    return if $game_switches[25]
    # Else process code normally
    end

    Смысл в том что в теле скрипта обычно есть функция update которая вызывается постоянно и обновляет всякие значения. Если в начало этой функции поставить return if $game_switches[25]
    то при включенном свитче функция update будет вываливаться сразу же при вызове и все что идет дальше выполняться не будет.
    Последний раз редактировалось Lipton; 08.05.2014 в 17:12.

Страница 118 из 190 ПерваяПервая ... 1868108116117118119120128168 ... ПоследняяПоследняя

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

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

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

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

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