Страница 7 из 187 ПерваяПервая ... 567891757107 ... ПоследняяПоследняя
Показано с 61 по 70 из 1863

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

  1. #61
    Познающий Аватар для AvatarOfEnkidu
    Информация о пользователе
    Регистрация
    04.04.2010
    Адрес
    г. Железнодорожный
    Сообщений
    486
    Репутация: 19 Добавить или отнять репутацию

    По умолчанию

    Народ, нужен скрипт следующего плана:
    Кды монстр использует на персе опр. скилл, перс с вероятностью в 30-50% его выучивает.

    С пояснениями и инструкцией для чайников

  2. #62

    По умолчанию

    Отредактируй Game_Battler 3. Добавленный код выделен красным. Если что-то тебя не устраивает - измени. Добавь в игру новый Статус (по-умолчанию, он должен идти под номером 17). Назначь его снятие ("-") навыкам, которые можно выучить от монстров. Собственно все. Теперь, если персонаж, находясь в защите, попадает под действие любого помеченного снятием 17ого статуса навыка (при этом навык не промахивается[Miss от защиты за промах не считается]), то, с вероятностью 10%, он этот навык выучит. Никаких сообщений о полученном навыке или чего-либо еще при этом выводиться не будет, а изучить его сможет любой персонаж, так что рекомендую подумать над тем по какому признаку делить способных и неспособных изучать навыки (н.п. по классу), ну и каким макаром ты будешь оповещать игрока. Наслаждайся.
    Код:
     #--------------------------------------------------------------------------
      # * Apply Skill Effects
      #     user  : the one using skills (battler)
      #     skill : skill
      #--------------------------------------------------------------------------
      def skill_effect(user, skill)
        # Clear critical flag
        self.critical = false
        # If skill scope is for ally with 1 or more HP, and your own HP = 0,
        # or skill scope is for ally with 0, and your own HP = 1 or more
        if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
           ((skill.scope == 5 or skill.scope == 6) and self.hp >= 1)
          # End Method
          return false
        end
        # Clear effective flag
        effective = false
        # Set effective flag if common ID is effective
        effective |= skill.common_event_id > 0
        # First hit detection
        hit = skill.hit
        if skill.atk_f > 0
          hit *= user.hit / 100
        end
        hit_result = (rand(100) < hit)
        # Set effective flag if skill is uncertain
        effective |= hit < 100
        # If hit occurs
        if hit_result == true
          # Calculate power
          power = skill.power + user.atk * skill.atk_f / 100
          if power > 0
            power -= self.pdef * skill.pdef_f / 200
            power -= self.mdef * skill.mdef_f / 200
            power = [power, 0].max
          end
          # Calculate rate
          rate = 20
          rate += (user.str * skill.str_f / 100)
          rate += (user.dex * skill.dex_f / 100)
          rate += (user.agi * skill.agi_f / 100)
          rate += (user.int * skill.int_f / 100)
          # Calculate basic damage
          self.damage = power * rate / 20
          # Element correction
          self.damage *= elements_correct(skill.element_set)
          self.damage /= 100
          # If damage value is strictly positive
          if self.damage > 0
            # Guard correction
            if self.guarding?
              self.damage /= 2
            end
          end
          # Dispersion
          if skill.variance > 0 and self.damage.abs > 0
            amp = [self.damage.abs * skill.variance / 100, 1].max
            self.damage += rand(amp+1) + rand(amp+1) - amp
          end
          # Second hit detection
          eva = 8 * self.agi / user.dex + self.eva
          hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
          hit = self.cant_evade? ? 100 : hit
          hit_result = (rand(100) < hit)
          # Set effective flag if skill is uncertain
          effective |= hit < 100
        end
        # If hit occurs
        if hit_result == true
          # If physical attack has power other than 0
          if skill.power != 0 and skill.atk_f > 0
            # State Removed by Shock
            remove_states_shock
            # Set to effective flag
            effective = true
          end
          # Substract damage from HP
          last_hp = self.hp
          self.hp -= self.damage
          effective |= self.hp != last_hp
          # State change
          @state_changed = false
          effective |= states_plus(skill.plus_state_set)
          effective |= states_minus(skill.minus_state_set)
          # If power is 0
          if skill.power == 0
            # Set damage to an empty string
            self.damage = ""
            # If state is unchanged
            unless @state_changed
              # Set damage to "Miss"
              self.damage = "Miss"
            end
          end
          # Если боец - персонаж и он не умер после навыка
          if (self.is_a?(Game_Actor)) && (self.hp > 0)
            # Если навык снимает 17ый статус
            if (skill.minus_state_set.include?(17))
            # Если навык еще не изучен
            unless (self.skill_learn?(skill.id))
              # Если боец в защите
              if (self.guarding?)
                # И если ему повезет, то с вероятностью 10% (не 10 на самом деле, но не так уж и важно)...
                if (rand(100) < 10)
                  # ...он выучит примененный на него навык
                  self.learn_skill(skill.id)
                end
              end
            end
            end
          end
        # If miss occurs
        else
          # Set damage to "Miss"
          self.damage = "Miss"
        end
        # If not in battle
        unless $game_temp.in_battle
          # Set damage to nil
          self.damage = nil
        end
        # End Method
        return effective
      end
    Последний раз редактировалось Equilibrium Keeper; 06.05.2010 в 00:13.

  3. #63
    Маститый Аватар для Nalia
    Информация о пользователе
    Регистрация
    18.09.2009
    Адрес
    Пенза
    Сообщений
    1,374
    Записей в дневнике
    104
    Репутация: 78 Добавить или отнять репутацию

    По умолчанию

    Avatar, я могу опробовать написать... Но только месяца через два, не меньше
    Я отрицаю вашу реальность и заменю её своей. (c) Джон Адам Севидж

    Надо работать, работать надо. Ремешки под касками затянуть потуже, шинели в порядок привести, в кобуру засунуть трудолюбие 36 калибра и марш за мейкер! (с) Tall Men

  4. #64

    По умолчанию

    Хммм... Nalia, а чем мой вариант не устроил? о.О

  5. #65
    Маститый Аватар для Nalia
    Информация о пользователе
    Регистрация
    18.09.2009
    Адрес
    Пенза
    Сообщений
    1,374
    Записей в дневнике
    104
    Репутация: 78 Добавить или отнять репутацию

    По умолчанию

    Я пошутила... Просто приятно осознавать, что я, который в скрпитах почти полный ноль, правильно догадалась, где и чего править
    Я отрицаю вашу реальность и заменю её своей. (c) Джон Адам Севидж

    Надо работать, работать надо. Ремешки под касками затянуть потуже, шинели в порядок привести, в кобуру засунуть трудолюбие 36 калибра и марш за мейкер! (с) Tall Men

  6. #66
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию

    как в ФФ Blue Magic
    PHP код:
    Magic={
    1  => 90
    28 
    => 50
    29 
    => 33
    }

    class 
    Game_Battler
        alias blm_game_battler_skill_effect skill_effect
        def skill_effect
    (userskill)
         
    blm_game_battler_skill_effect(userskill)
         if 
    user.is_a?(Game_Enemy) && self.is_a?(Game_Actor) && \
           
    rand(100)< Magic[skill.id].to_i && self.class_id == Id_Class  && !skill_learn?(skill.id)
             
    self.learn_skill(skill.idtrue
             
    self.damage "-Выучено #{skill.name}-"
          
    end
       end
    end


    class Game_Actor Game_Battler
       def learn_skill
    (skill_idplay false)
             @
    skills.push(skill_id) if skill_id 0
             
    @skills.sort!
             
    Audio.me_play("Audio/ME/011-Item02") if play 
          end
    end 
    просто добавить перед маином, и поменять Id_Class на номер класса героя, который будет учить.
    Magic - хеш, где первае число - заклинание, которое можно учить, второе - шанс.
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

  7. #67
    Познающий Аватар для AvatarOfEnkidu
    Информация о пользователе
    Регистрация
    04.04.2010
    Адрес
    г. Железнодорожный
    Сообщений
    486
    Репутация: 19 Добавить или отнять репутацию

    По умолчанию

    Короче сам мне их и добавишь, т.ек я хз в скриптах капитально. Скоро уже

  8. #68
    Бывалый Аватар для Inkognitoo
    Информация о пользователе
    Регистрация
    30.09.2008
    Адрес
    Пермь.
    Сообщений
    988
    Записей в дневнике
    4
    Репутация: 16 Добавить или отнять репутацию

    По умолчанию

    Хоть спасибо бы сказал)

  9. #69
    Познающий Аватар для AvatarOfEnkidu
    Информация о пользователе
    Регистрация
    04.04.2010
    Адрес
    г. Железнодорожный
    Сообщений
    486
    Репутация: 19 Добавить или отнять репутацию

    По умолчанию

    спасибо

  10. #70

    По умолчанию

    Цитата Сообщение от AvatarOfEnkidu Посмотреть сообщение
    Короче сам мне их и добавишь, т.ек я хз в скриптах капитально. Скоро уже
    Вот и помогай таким...

    Dark32
    Великолепно! Кстати, вопрос по хешевым базам. Насколько вредно (или наоборот) их использовать? Мне они капитально не нравятся и я стемлюсь избегать их, путем записи тегов в названия, описания, Note (в случае VX) и т.д. Но это чисто интуитивно. А что ты скажешь?

    Nalia
    Да, брось ты! Разобраться где искать - главное. Дальше дело техники, благо доков по руби вообще и RGSS в частности навалом. В том числе и на русском. России нужны скриптеры!
    Последний раз редактировалось Equilibrium Keeper; 07.05.2010 в 16:53.

Страница 7 из 187 ПерваяПервая ... 567891757107 ... ПоследняяПоследняя

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

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

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

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

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

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

Ваши права

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