Author Topic: Need Help Editing a Script  (Read 100 times)

0 Members and 1 Guest are viewing this topic.
Helios
*
Rep: +0/-0
Offline Offline
Level 50 (64%)
Need Help Editing a Script
« on: February 15, 2010, 11:20:55 AM »

  • I'm not an English-mind so sorry for my bad grammer.

    This is the original script made by scripter MoMo from Japan. The script will auto-equip a "default" weapon when you remove your hero's equipped weapon. Works flawlessly.

    Spoiler for Hiden:
    Code: [Select]
    module MoMo_No_Weapon_Equip
      # ???????ID
      # weapon_id[????ID] = ??ID
      weapon_id = []
      weapon_id[0] = 2 # ??????(?????????????)
      weapon_id[1] = 3
     
      NO_WEAPON_ID = weapon_id
     
      module_function
      def get_no_weapon_id(actor_id)
        if NO_WEAPON_ID[actor_id] == nil
          return NO_WEAPON_ID[0]
        end
        return NO_WEAPON_ID[actor_id]
      end
    end
    class Game_Actor < Game_Battler
      alias game_actor_no_weapon_equip_initialize initialize
      def initialize(actor_id)
        game_actor_no_weapon_equip_initialize(actor_id)
        @no_weapon_id = MoMo_No_Weapon_Equip.get_no_weapon_id(actor_id)
      end
      alias game_actor_no_weapon_equip_equip equip
      def equip(equip_type, id)
        wep_id = @weapon_id
        if equip_type == 0
          id = 0 if id == @no_weapon_id
          game_actor_no_weapon_equip_equip(equip_type, id)
          @weapon_id = @no_weapon_id if @weapon_id == 0
          $game_party.lose_weapon(@no_weapon_id, 1) if wep_id == @no_weapon_id
        else
          game_actor_no_weapon_equip_equip(equip_type, id)
        end
      end
    end


    And I'm trying to make it work for armor too.
    The result is as follows:

    Spoiler for Hiden:
    Code: [Select]
    module MoMo_No_armor3_Equip
      # ???????ID
      # weapon_id[????ID] = ??ID
      armor_id = []
      armor_id[0] = 2 # ??????(?????????????)
      armor_id[1] = 3
     
      NO_ARMOR3_ID = armor_id
     
      module_function
      def get_no_armor3_id(actor_id)
        if NO_ARMOR3_ID[actor_id] == nil
          return NO_ARMOR3_ID[0]
        end
        return NO_ARMOR3_ID[actor_id]
      end
    end
    class Game_Actor < Game_Battler
      alias game_actor_no_armor3_equip_initialize initialize
      def initialize(actor_id)
        game_actor_no_armor3_equip_initialize(actor_id)
        @no_armor3_id = MoMo_No_armor3_Equip.get_no_armor3_id(actor_id)
      end
      alias game_actor_no_armor3_equip_equip equip
      def equip(equip_type, id)
        ar3_id = @armor3_id
        if equip_type == 0
          id = 0 if id == @no_armor3_id
          game_actor_no_armor3_equip_equip(equip_type, id)
          @armor3_id = @no_armor3_id if @armor3_id == 0
          $game_party.lose_armor(@no_armor3_id, 1) if ar3_id == @no_armor3_id
        else
          game_actor_no_armor3_equip_equip(equip_type, id)
        end
      end
    end

    It "worked" in a strange way...the "default" armor only appear when I change my WEAPON, not armor.

    Could someone help me please?
    modern algebra Male
    *
    Rep: +330/-113
    Offline Offline
    Level 79 (01%)
    Re: Need Help Editing a Script
    « Reply #1 on: February 15, 2010, 11:30:18 AM »

  • Keeping in mind that I haven't looked at RMXP for a long time, I think your problem is that you are only running the appropriate part of the method when equipping a weapon:

    Code: [Select]
        if equip_type == 0

    If equip_type is 0, it means you are equipping a weapon. If you changed that to the appropriate type (by memory: 0 => Weapon, 1 => Shield, 2 => Head, 3 => Body, 4 => Accessory), then it would run when you want it to. Judging by your naming, you want it to be body armor, so try doing it with

    Code: [Select]
    if equip_type == 3

    Helios
    *
    Rep: +0/-0
    Offline Offline
    Level 50 (64%)
    Re: Need Help Editing a Script
    « Reply #2 on: February 16, 2010, 01:45:05 AM »

  • Yes it worked! Thanks for your help :D
     

    hi

    RMRK.net Theme Super Ultra Mega Beta

    Follow RMRK on Twitter Ask RMRK Questions on Formspring Get RMRK Updates via Windows Live

    Page created in 0.1 seconds with 18 queries.