collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Hilfe zu Skripten.  (Gelesen 51379 mal)

Offline N0rtekCriss

  • Ralph
  • *
  • Beiträge: 8
  • Projekte :The New World Online
Re: Hilfe zu Skripten.
« Antwort #90 am: März 07, 2009, 17:07:12 »
hey leutz bin neu hier und weis jetzt nicht so recht ob das was ich fragen willl hier rein gehört xD

allsoooo
ich suche ein script was es mir erlaubt mehr sachen an mein cahr zu binden wie ringe amulet und so weiter
allso normal kann man 5 sachen an einem char binden  aber ich hätte gern noch 5 weiterre slots für ringe ohrringe und amulet
ich hoffe ihr wisst was ich meine  allso wenn jemand weiss wie es geht bitte schreiben  wenn möglich gleich mit script ^^
und anleitung wie ich es einbaun kann

danke schön

mfg N0rtekcriss
Status von
 The New World
Story :          [##########] 100%
Map  :          [##########] 10%
Events :        [##########] 0%
Skript :         [##########] 60%
Ressourcen : [##########] 60%
Fertig :                 [13%]
              Von N0rtekCriss & Deity
      


Click here to feed me a Star Fruit!
Get your own at Flyffables![/

Re: Hilfe zu Skripten.

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Hilfe zu Skripten.
« Antwort #91 am: März 07, 2009, 22:25:53 »
Könnte sein, dass das doch zu Requests gehört aber trotzdem hier die Antwort.
Dieser Script ist meiner Meinung nach, genau das richtige solange du ein bischen Englisch kannst.
KGC EquipExtension erlaubt es dir weitere Plätze im Equipment bereich zu erschaffen. Der hacken ist, dass du durch eine Abfrage nichtmehr auf ein Equipment zurückgreifen kannst. Das heisst du kannst nicht abfragen ob "Player 1" ein "Long Sword" an hat.
Ich erlaube es mir mal das Script direkt zu posten.
Spoiler for Hiden:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/   ?                Skill CP System - KGC_SkillCPSystem               ? VX ?
#_/   ?                      Last Update: 2008/09/06                          ?
#_/   ?            Translated and Extended Updates by Mr. Anonymous           ?
#_/   ? KGC Site:                                                             ?
#_/   ? http://f44.aaa.livedoor.jp/~ytomy/                                    ?
#_/   ? Translator's Blog:                                                    ?
#_/   ? http://mraprojects.wordpress.com                                      ?
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/         This script has two functions equipment-related functions.
#_/   The first function is the ability to create moire 'slots' for equipment,
#_/  such as separating Boots and Gauntlets from mere 'accessories'.
#_/  It is possible to also create additional equipment slots. See the customize
#_/  block for more details.
#_/ 
#_/   The second function is an "EP" (Equipment Point) System, which allows you
#_/  to designate how many 'points' an item costs to successfully equip. A
#_/  character's total EP expenditure is increased upon leveling up.
#_/  This introduces more strategy-oriented character customization.
#_/----------------------------------------------------------------------------
#_/                        ? Instructions For Usage ?
#_/  To make use of these functions, you must insert the tag into the desired
#_/   item's "Notes" box located in the Armor tab of the database. For example,
#_/   you want the Leather Boots to be bound to the "Legs" slot and cost
#_/   2 EP to equip. Insert <equipkind Legs>, press enter, then add <EP 2>
#_/ 
#_/                                ? Tags ?
#_/  <equipkind EquipType>
#_/   Where EquipType = The name of the type of equipment. See EXTRA_EQUIP_KIND
#_/                                                        below.
#_/  <EP Amount>
#_/   Where Amount = The desired amount of EP the item requires to equip.
#_/
#_/
#_/                           ? Script Commands ?
#_/  These commands are used in "Script" function in the third page of event
#_/   commands under "Advanced".
#_/
#_/  * set_actor_equip_type(ActorID, [EquipType])
#_/     Allows you to manually specify an actor's equipment slots. a
#_/      Ex. set_actor_equip_type(2, [0, 2, 3, 3, 3])
#_/      If "nil"(without quotations) is appointed to EquipType, the default
#_/      EQUIP_TYPE (see below) is used. Trust me, it's useful!
#_/
#_/  * change_actor_equipment(ActorID, equipslot_index, ItemID)
#_/     Allows you to change the equipment of a specified actor.
#_/      equipslot_index works by finding the equipment slot number, which is
#_/      different from EQUIP_TYPE. Setting ItemID to 0 will remove the item.
#_/                   With the default setup, we see:
#_/      0=Weapon 1=Shield 2=Headgear 3=Armor 4=Accessory 5=Legs 6=Arms
#_/
#_/                         So, for an example:
#_/                  change_actor_equipment(1, 3, 15)
#_/ Would change Ralph's(Actor01 in the database) armor to Chainmail(By default)
#_/                                           
#_/     
#_/============================================================================
#_/ Installation: This script must be inserted below KCG_ExtendedEquipScene
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
#                           ? Customization ?                                 #
#=============================================================================#

module KGC
  module EquipExtension
  #           ? Extended Equipment Classification Names ?
  #  You may designate the names of additional equipment slots here.
  #   Each time you designate a new equipment slot, it is assigned a number.
  #   The first four equipment types (Shield, Helmet, Armor, and Accessory) are
  #   given as 1, 2, 3, 4, respectively. Then the values below are assigned in
  #   order. By default "Legs" and "Arms" would be 4 and 5. It is possible
  #   to add additional slots.
  #  Example: EXTRA_EQUIP_KIND = ["Legs", "Arms", "Skill Book"]
  EXTRA_EQUIP_KIND = ["Legs", "Arms"]

  #                     ? Equipment Placement ?
  #  This allows you to arrange the equip slots as you see fit on the equipment
  #   menu. Note the order listed below.
  #                  ** Equipment Classification Summary **
  # 0.Shield  1.Headgear  2.Armor  3.Accessory  4. "Legs"  5."Arms"
  #  Note that these can be changed as desired. By default, we've enabled two
  #   accessory slots at the end, instead of one. If you plan on adding extra
  #   equip slots, the category's cooresponding number must be inserted in the
  #   brackets [] below.
  EQUIP_TYPE = [0, 1, 2, 5, 4, 3, 3]

  #                       ? EP (Equip Point) System ?
  #  These settings are for the Equipment Point Limit System.
  #   This toggle allows you to use the EP system if set to true.
  #   If set to false, the EP system will be disabled.
  USE_EP_SYSTEM = true
  # VOCAB_EP appears once a character gains EP from battle. (Not Tested)
  VOCAB_EP   = "EP"
  # VOCAB_EP_A appears above the EP gauge.
  VOCAB_EP_A = "EP"
  # This toggle allows you to display the EP gauge in the actor status window.
  SHOW_STATUS_EP = true

  #                          ? Default EP Cost ?
  #  Allows you to change the default amount an item costs to equip in EP.
  #   (When not otherwise specified.)
  DEFAULT_EP_COST   = 1
  #  This toggle allows you to hide the EP cost of an item if its cost is 0.
  #   true = hide
  #   false = show
  HIDE_ZERO_EP_COST = true

  #                        ? EP Values & Level Gain ?
  #  Maximum EP that can be spent equipping items.
  EP_MAX = 20
  # Characters begin with this amount of EP.
  EP_MIN = 5
  # ? EP Level Gain
  #  This is the formula for the amount of EP gained upon leveling up.
  #  The result of this formula is automatically converted to an integer.
  EP_CALC_EXP = "level * 0.3 + 4"
  # ? Individual Actor EP Level Gain
  PERSONAL_EP_CALC_EXP = [] # <- Do not alter or remove!
  #  Below here, you may specify formulas for individual actors that dictates
  #   the amount of EP they recieve upon leveling up. Like EP_CALC_EXP, the
  #   result is converted to an integer.
  #  Format: PERSONAL_EP_CALC_EXP[ActorID] = "Formula"
  #  The format is just like EP_CALC_EXP, except each actor is defined after
  #   PERSONAL_EP_CALC_EXP in brackets [].
  #  Any actor not specified uses the EP_CALC_EXP formula.
  #  Example:
  # PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
  #                 ? Insert Personal EP Calculations Below Here ?
  PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
 
 
 
  #                 ? Insert Personal EP Calculations Above Here ?
 
  #                        ? EP Gauge Colorization ?
  #  Allows you to change the color of the EP gauges.
  #  The color can also be determined by a red, green, and blue values.
  #  Example: GAUGE_NORMAL_START_COLOR = Color.new(255, 0, 0)  <- This is red.
  #   This method of color assignment is much like Tint Screen event command.
  #
  #  This affects the color of number that represents EP cost.
  EP_COST_COLOR        = 23
  #  This is the fill color for the early phase of the guage.
  EP_GAUGE_START_COLOR = 28
  #  This is the fill color for the late phase of the guage. (When full)
  EP_GAUGE_END_COLOR   = 29
  end
end

#=============================================================================#
#                          ? End Customization ?                              #
#=============================================================================#

#=================================================#
#                    IMPORT                       #
#=================================================#

$imported = {} if $imported == nil
$imported["EquipExtension"] = true

#=================================================#

module KGC::EquipExtension
  # Unless the EP system is used...
  unless USE_EP_SYSTEM
    SHOW_STATUS_EP = false
    HIDE_ZERO_EP_COST = true
  end

#==============================================================================
# ? KGC::EquipExtension::Regexp
#==============================================================================
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#                          Note Field Tag Strings                             #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Whatever word(s) are after the separator ( | ) in the following lines are
#   what are used to determine what is searched for in the "Note" section of
#   an item or armor.

  #  Regular expressions defined
  module Regexp
    # Base Item Module
    module BaseItem
      #  EP Tag String
      EP_COST = /<EP\s*(\d+)>/i
      #  Item Type Tag String
      # Special note: I cannot get this tag to work right. If anyone knows how
      # this works or if it's bugged, please let me know.
      EQUIP_TYPE = /<(?:EQUIP_TYPE|equiptype)\s*(\d+(?:\s*,\s*\d+)*)>/
    end

    #  Base Armor Module
    module Armor
      #  Armor Type Tag String
      EQUIP_KIND = /<(?:EQUIP_KIND|equipkind)\s*(.+)>/i
    end
   
  end
end

#=================================================#

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def restore_equip
    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.restore_equip
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     actor_id   : ???? ID
  #     equip_type : ?????
  #--------------------------------------------------------------------------
  def set_actor_equip_type(actor_id, equip_type = nil)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.equip_type = equip_type
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     actor_id   : ???? ID
  #     index      : ???? (0~)
  #     item_id    : ?? or ?? ID (0 ???)
  #--------------------------------------------------------------------------
  def change_actor_equipment(actor_id, index, item_id)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.change_equip_by_id(index, item_id)
  end
end
end

class Game_Interpreter
  include KGC::Commands
end

#=================================================#

#==============================================================================
# ¦ Vocab
#==============================================================================

module Vocab
  # EP
  def self.ep
    return KGC::EquipExtension::VOCAB_EP
  end

  # EP (?)
  def self.ep_a
    return KGC::EquipExtension::VOCAB_EP_A
  end

  # ?????
  def self.extra_armor(index)
    return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    @__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
    @__equip_type = []

    self.note.split(/[\r\n]+/).each { |line|
      case line
      when KGC::EquipExtension::Regexp::BaseItem::EP_COST
        # ?? EP
        @__ep_cost = $1.to_i
      when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
        # ?????
        @__equip_type = []
        $1.scan(/\d+/) { |num|
          @__equip_type << num.to_i
        }
      end
    }

    # EP ???????????? EP = 0
    @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
  end
  #--------------------------------------------------------------------------
  # ? ?? EP
  #--------------------------------------------------------------------------
  def ep_cost
    create_equip_extension_cache if @__ep_cost == nil
    return @__ep_cost
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def equip_type
    create_equip_extension_cache if @__equip_type == nil
    return @__equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::Armor
#==============================================================================

class RPG::Armor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    super
    @__kind = -1

    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
        # ????
        e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
        next if e_index == nil
        @__kind = e_index + 4
      end
    }
  end

unless $@
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  alias kind_KGC_EquipExtension kind
  def kind
    create_equip_extension_cache if @__kind == nil
    return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
  end
end

end

#=================================================#

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_writer   :equip_type               # ?????
  #--------------------------------------------------------------------------
  # ? ??????
  #     actor_id : ???? ID
  #--------------------------------------------------------------------------
  alias setup_KGC_EquipExtension setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @extra_armor_id = []

    setup_KGC_EquipExtension(actor_id)

    restore_equip
  end
  #--------------------------------------------------------------------------
  # ? MaxEP ??
  #--------------------------------------------------------------------------
  def maxep
    calc_exp = KGC::EquipExtension::PERSONAL_EP_CALC_EXP[self.id]
    if calc_exp == nil
      calc_exp = KGC::EquipExtension::EP_CALC_EXP
    end
    n = Integer(eval(calc_exp))
    return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
  end
  #--------------------------------------------------------------------------
  # ? EP ??
  #--------------------------------------------------------------------------
  def ep
    n = 0
    equips.compact.each { |item| n += item.ep_cost }
    return [maxep - n, 0].max
  end
  #--------------------------------------------------------------------------
  # ? EP ????
  #--------------------------------------------------------------------------
  def ep_limit
    return KGC::EquipExtension::EP_MAX
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def equip_type
    if @equip_type.is_a?(Array)
      return @equip_type
    else
      return KGC::EquipExtension::EQUIP_TYPE
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def armor_number
    return equip_type.size
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def extra_armor_number
    return [armor_number - 4, 0].max
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ??????
  #--------------------------------------------------------------------------
  def extra_armor_id
    @extra_armor_id = [] if @extra_armor_id == nil
    return @extra_armor_id
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  alias armors_KGC_EquipExtension armors
  def armors
    result = armors_KGC_EquipExtension

    # 5??????????
    extra_armor_number.times { |i|
      armor_id = extra_armor_id[i]
      result << (armor_id == nil ? nil : $data_armors[armor_id])
    }
    return result
  end
  #--------------------------------------------------------------------------
  # ? ????? (?????????)
  #     equip_type : ????
  #     item       : ?? or ?? (nil ??????)
  #     test       : ?????? (???????????????????)
  #--------------------------------------------------------------------------
  alias change_equip_KGC_EquipExtension change_equip
  def change_equip(equip_type, item, test = false)
    change_equip_KGC_EquipExtension(equip_type, item, test)

    # ????????????
    if extra_armor_number > 0
      item_id = item == nil ? 0 : item.id
      case equip_type
      when 5..armor_number  # ?????
        @extra_armor_id = [] if @extra_armor_id == nil
        @extra_armor_id[equip_type - 5] = item_id
      end
    end

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     item : ?????? or ??
  #    ??/???????????????????????
  #--------------------------------------------------------------------------
  alias discard_equip_KGC_EquipExtension discard_equip
  def discard_equip(item)
    last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]

    discard_equip_KGC_EquipExtension(item)

    curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    return unless item.is_a?(RPG::Armor)  # ?????
    return if last_armors != curr_armors  # ???????

    # ????????
    extra_armor_number.times { |i|
      if extra_armor_id[i] == item.id
        @extra_armor_id[i] = 0
        break
      end
    }

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ???
  #     class_id : ????? ID
  #--------------------------------------------------------------------------
  alias class_id_equal_KGC_EquipExtension class_id=
  def class_id=(class_id)
    class_id_equal_KGC_EquipExtension(class_id)

    return if extra_armor_number == 0  # ????????

    # ?????????????
    for i in 5..armor_number
      change_equip(i, nil) unless equippable?(equips[i])
    end
  end
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     equip_type : ????
  #     item       : ?? or ??
  #--------------------------------------------------------------------------
  def ep_condition_clear?(equip_type, item)
    return true if item == nil  # nil ?????? OK

    curr_item = equips[equip_type]
    offset = (curr_item != nil ? curr_item.ep_cost : 0)
    return false if self.ep < (item.ep_cost - offset)   # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def restore_equip
    return if @__last_equip_type == equip_type

    # ??????·????????
    last_equips = equips
    last_hp = self.hp
    last_mp = self.mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids = battle_skill_ids.clone
    end

    # ?????
    last_equips.each_index { |i| change_equip(i, nil) }

    # ???·????????
    last_equips.compact.each { |item| equip_legal_slot(item) }
    self.hp = last_hp
    self.mp = last_mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
    end
    @__last_equip_type = equip_type.clone
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     item : ?? or ??
  #--------------------------------------------------------------------------
  def equip_legal_slot(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == 0
        # ?? 1
        change_equip(0, item)
      elsif two_swords_style && @armor1_id == 0
        # ?? 2 (??????)
        change_equip(1, item)
      end
    elsif item.is_a?(RPG::Armor)
      if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
        # ????? (????????)
        change_equip(1, item)
      else
        # ??????????
        list = [-1, @armor2_id, @armor3_id, @armor4_id]
        list += extra_armor_id
        # ?????????????????
        equip_type.each_with_index { |kind, i|
          if kind == item.kind && list[i] == 0
            change_equip(i + 1, item)
            break
          end
        }
      end
    end
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def ep_color(actor)
    return knockout_color if actor.maxep > 0 && actor.ep == 0
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 1 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color1
    color = KGC::EquipExtension::EP_GAUGE_START_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 2 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color2
    color = KGC::EquipExtension::EP_GAUGE_END_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ???
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep(actor, x, y, width = 120)
    draw_actor_ep_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
    self.contents.font.color = ep_color(actor)
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
    else
      self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
    end
    self.contents.font.color = normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ??????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep_gauge(actor, x, y, width = 120)
    gw = width * actor.ep / [actor.maxep, 1].max
    gc1 = ep_gauge_color1
    gc2 = ep_gauge_color2
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
  #--------------------------------------------------------------------------
  # ? ?? EP ???
  #     item    : ?? or ??
  #     rect    : ??????
  #     enabled : ????
  #--------------------------------------------------------------------------
  def draw_equipment_ep_cost(item, rect, enabled = true)
    return if item == nil
    # ?? EP 0 ????????
    return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0

    color = KGC::EquipExtension::EP_COST_COLOR
    self.contents.font.color = (color.is_a?(Integer) ?
      text_color(color) : color)
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, item.ep_cost, 2)
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Equip
#==============================================================================

class Window_Equip < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = @actor.equips.clone
    @item_max = [@data.size, @actor.armor_number + 1].min
    create_contents

    # ???????
    self.contents.font.color = system_color
    if @actor.two_swords_style
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
      self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
    else
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
      name = armor_slot_name(@actor.equip_type[0])
      self.contents.draw_text(4, WLH * 1, 92, WLH, name)
    end
    for i in 1...@actor.armor_number
      name = armor_slot_name(@actor.equip_type[i])
      self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
    end

    # ??????
    rect = Rect.new(92, 0, self.width - 128, WLH)
    @item_max.times { |i|
      rect.y = WLH * i
      draw_item_name(@data[i], rect.x, rect.y)
      draw_equipment_ep_cost(@data[i], rect)
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     kind : ??
  #--------------------------------------------------------------------------
  def armor_slot_name(kind)
    case kind
    when 0..3
      return eval("Vocab.armor#{kind + 1}")
    else
      return Vocab.extra_armor(kind - 4)
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ????? 1 ????????
  #--------------------------------------------------------------------------
  def cursor_pagedown
    return if Input.repeat?(Input::R)
    super
  end
  #--------------------------------------------------------------------------
  # ? ????? 1 ???????
  #--------------------------------------------------------------------------
  def cursor_pageup
    return if Input.repeat?(Input::L)
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active

    if Input.repeat?(Input::RIGHT)
      cursor_pagedown
    elsif Input.repeat?(Input::LEFT)
      cursor_pageup
    end
  end
end

end

#=================================================#

#==============================================================================
# ¦ Window_EquipItem
#==============================================================================

class Window_EquipItem < Window_Item
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    @item_enabled = []
    super
    @data.each { |item| @item_enabled << enable?(item) }
  end
  #--------------------------------------------------------------------------
  # ? ????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
  #--------------------------------------------------------------------------
  # ? ??????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def enable?(item)
    return false unless @actor.equippable?(item)                      # ????
    return false unless @actor.ep_condition_clear?(@equip_type, item)  # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     index : ????
  #--------------------------------------------------------------------------
  def draw_item(index)
    super(index)   
    rect = item_rect(index)
    item = @data[index]

    # ??????????
    cw = self.contents.text_size(sprintf(":%2d", 0)).width
    rect.width -= cw + 4
    draw_equipment_ep_cost(item, rect, enable?(item))
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     equip_type : ????
  #--------------------------------------------------------------------------
  def simple_refresh(equip_type)
    # ???????????
    last_equip_type = @equip_type
    @equip_type = equip_type

    @data.each_with_index { |item, i|
      # ????????????????
      if enable?(item) != @item_enabled[i]
        draw_item(i)
        @item_enabled[i] = enable?(item)
      end
    }
    # ???????
    @equip_type = last_equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ Window_EquipStatus
#==============================================================================

class Window_EquipStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  alias refresh_KGC_EquipExtension refresh
  def refresh
    refresh_KGC_EquipExtension

    draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Status
#==============================================================================

class Window_Status < Window_Base

if KGC::EquipExtension::SHOW_STATUS_EP
  #--------------------------------------------------------------------------
  # ? ???????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  alias draw_basic_info_KGC_EquipExtension draw_basic_info
  def draw_basic_info(x, y)
    draw_basic_info_KGC_EquipExtension(x, y)

    draw_actor_ep(@actor, x + 160, y + WLH * 4)
  end
end

  #--------------------------------------------------------------------------
  # ? ??????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)

    item_number = [@actor.equips.size, @actor.armor_number + 1].min
    item_number.times { |i|
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    }
  end
end

#=================================================#

#==============================================================================
# ¦ Window_ShopStatus
#==============================================================================

class Window_ShopStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      index = actor.equip_type.index(@item.kind)
      item1 = (index != nil ? actor.equips[1 + index] : nil)
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        change = atk2 - atk1
      else
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        change = def2 - def1
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
  #--------------------------------------------------------------------------
  # ? ?????????
  #     actor_index : ??????????
  #     equip_index : ????????
  #--------------------------------------------------------------------------
  alias initialize_KGC_EquipExtension initialize
  def initialize(actor_index = 0, equip_index = 0)
    initialize_KGC_EquipExtension(actor_index, equip_index)

    unit = ($imported["LargeParty"] ?
      $game_party.all_members : $game_party.members)
    actor = unit[actor_index]
    @equip_index = [@equip_index, actor.armor_number].min
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  alias create_item_windows_KGC_EquipExtension create_item_windows
  def create_item_windows
    create_item_windows_KGC_EquipExtension

    kind = equip_kind(@equip_index)
    EQUIP_TYPE_MAX.times { |i|
      @item_windows[i].visible = (kind == i)
    }
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def update_item_windows
    kind = equip_kind(@equip_window.index)
    for i in 0...EQUIP_TYPE_MAX
      @item_windows[i].visible = (kind == i)
      @item_windows[i].update
    end
    @item_window = @item_windows[kind]
    @item_window.simple_refresh(@equip_window.index)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     index : ?????????
  #--------------------------------------------------------------------------
  def equip_kind(index)
    if index == 0
      return 0
    else
      return @actor.equip_type[index - 1] + 1
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def update_status_window
    if @equip_window.active
      @status_window.set_new_parameters(nil, nil, nil, nil)
    elsif @item_window.active
      temp_actor = Marshal.load(Marshal.dump(@actor))
      temp_actor.change_equip(@equip_window.index, @item_window.item, true)
      new_atk = temp_actor.atk
      new_def = temp_actor.def
      new_spi = temp_actor.spi
      new_agi = temp_actor.agi
      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
    end
    @status_window.update
  end
end

  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias update_item_selection_KGC_EquipExtension update_item_selection
  def update_item_selection
    if Input.trigger?(Input::C)
      # ????????
      index = @equip_window.index
      item = @item_window.item
      unless item == nil ||
          (@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
        Sound.play_buzzer
        return
      end
    end

    update_item_selection_KGC_EquipExtension
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_EquipExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_EquipExtension(file)

    KGC::Commands.restore_equip
    Graphics.frame_reset
  end
end

MfG
Deity



Re: Hilfe zu Skripten.

Offline Gilbse

  • Ralph
  • *
  • Beiträge: 18
Re: Hilfe zu Skripten.
« Antwort #92 am: März 09, 2009, 14:35:45 »
Kann mir jemand nen skript geben der macht das eine uhr im spiel ist?

Re: Hilfe zu Skripten.

Offline Kiige

  • a Lonely Artist Genre
  • Database-Verunstalter
  • **
  • Beiträge: 197
  • Mr. Anything is possible party rocket launcher
Re: Hilfe zu Skripten.
« Antwort #93 am: März 09, 2009, 17:59:41 »
also für eine Interne SPielzeit Uhr haben
wir das das Simple Day and Night Script
von hellMinor
http://rpgvx.de/forum.php?topic=271.0


für eine Externe Uhr mit Lokalzeit wüsst ich jetzt nichts,
aber das gehört eher in die Script Request als hier.
Dieser Thread ist wohl eher wenn man Probleme mit Scripten hat
und nicht sucht.
KleX und Ich über Zombies
Spoiler for Hiden:
KleX:
aber findest du nicht, dass man manchmal, um eine illusion zu erschaffen die logik etwas nach hinten schieben muss?
z.B. bei zombiefilmen. da sind immer ca 100x mehr zombies, als in der stadt menschen gelebt haben. aber es wäre ja langweilig, wenn nach der hälfte des films keine zombies mehr da sind

Kiige:
weil Zombies Herdentiere sind
Zombies wandern aus städte aus, in denen kein leben mehr existiert

KleX:
herdentiere *lach* xD

Re: Hilfe zu Skripten.

Offline Sk!p

  • Foren-ReArchitekt
  • VX-Großmeister
  • *****
  • Beiträge: 975
  • Mit(t)arbeiter schreibt man mit einem T =P
    • Foren-ReArchitekt
Re: Hilfe zu Skripten.
« Antwort #94 am: März 09, 2009, 18:12:46 »
@gilbse

Ich muss dich jetzt mal ganz direkt fragen was du eigentlich willst.
Im allgemeinen Schnelle-Hilfe-Threat hast du bereits nach einer Uhr gefragt wenn ich mich nicht irre,
und man hat dir ein Top-Skript zur verfügung gestellt.

Du hast nach einer erklärung gefragt, du hast sie bekommen.
Die wurde alles auf dem Presentierteller gereicht.

Also warum stellst du die selbe anfrage noch einmal in einem anderen Threat?!

Sk!p

Klischee Antagonist! | Back From Hell To Conquer The World!


Re: Hilfe zu Skripten.

Offline N0rtekCriss

  • Ralph
  • *
  • Beiträge: 8
  • Projekte :The New World Online
Re: Hilfe zu Skripten.
« Antwort #95 am: März 10, 2009, 03:20:15 »
  brauche hilfe bei der 6ten zeile ich finmd da nix was nicht passt xD aber der bring mir immer nen PIMm ^^ wenn ich das spiel staten will  [ Script ´Input` 238: No MethodERROR occurred.undefined method ´[]` for nil:NilClass]
ich raff das echt nicht xDDDDD


  REG_KVALUES = {0=>32,1=>13,2=>27,3=>96,4=>16,5=>90,6=>88,7=>67,8=>86,9=>66,
                 10=>65,11=>83,12=>68,13=>81,14=>87}
  def convert_keys(key)
    keys = []
    reg_key = 'HKEY_CURRENT_USER\\Software\\Enterbrain\\RGSS'
    data = Registry.read_entry(reg_key, 'ButtonAssign')[10].scan(/./)
    15.times {|i| keys.push(REG_KVALUES) if key == data.unpack('C')[0]}
    keys
  end   
  module_function :convert_keys
Status von
 The New World
Story :          [##########] 100%
Map  :          [##########] 10%
Events :        [##########] 0%
Skript :         [##########] 60%
Ressourcen : [##########] 60%
Fertig :                 [13%]
              Von N0rtekCriss & Deity
      


Click here to feed me a Star Fruit!
Get your own at Flyffables![/

Re: Hilfe zu Skripten.

Offline Kiige

  • a Lonely Artist Genre
  • Database-Verunstalter
  • **
  • Beiträge: 197
  • Mr. Anything is possible party rocket launcher
Re: Hilfe zu Skripten.
« Antwort #96 am: März 10, 2009, 03:32:14 »
soweit ich das verstehe,
versteht das Script folgende Zeile nicht
keys = []

ist auch logisch, da anscheinen nichts angegeben ist, versucht er vergeblich etwas
zu lesen das nicht existiert, in [] kommen meißten zahlen oder befehle wie auch namen
aber da nix drinne steht versucht er das[] selber zu analysieren, es macht halt für den Script keinen Sinn

da ich aber nicht weiß was das ganze bezwecken soll
kann ich jetzt nichts anderes sagen als es sinnvoll zu füllen
aber ich glaube, es ist besser wenn du das ganz Script einmal zeigst.
Damit auch ein paar Akzeptable Hilfen angeboten werden können
« Letzte Änderung: März 10, 2009, 03:43:20 von Kiige »
KleX und Ich über Zombies
Spoiler for Hiden:
KleX:
aber findest du nicht, dass man manchmal, um eine illusion zu erschaffen die logik etwas nach hinten schieben muss?
z.B. bei zombiefilmen. da sind immer ca 100x mehr zombies, als in der stadt menschen gelebt haben. aber es wäre ja langweilig, wenn nach der hälfte des films keine zombies mehr da sind

Kiige:
weil Zombies Herdentiere sind
Zombies wandern aus städte aus, in denen kein leben mehr existiert

KleX:
herdentiere *lach* xD

Re: Hilfe zu Skripten.

Offline N0rtekCriss

  • Ralph
  • *
  • Beiträge: 8
  • Projekte :The New World Online
Re: Hilfe zu Skripten.
« Antwort #97 am: März 10, 2009, 03:55:04 »
ok hier ist das ganze script

#=============================================================================
# *** AWorks Input Module(AIM)
#=============================================================================
# Created by AWorks
# Version: 3.00 BETA
# Last Modification: 30/11/2008 (day/month/year)
#=============================================================================
#==== Special Thanks ====
# * Poccil(Peter O.)
#   - For his researchs on modifing ruby objects with C
# * ERZENGEL
#   - For his help in editing ruby strings with C
#=============================================================================
#==== Description ====
# This script simulates the RGSS module "Input". It is not the original module,
# but it has all the original module functions and some new.
#=============================================================================
#==== Requeriments ====
# * AWorks DLL BETA
#=============================================================================
#==== Version History ====
# * Version 1.00
#   - New methods: Input.reiterate?; Input.activated?; Input.press_all;
#     Input.trigger_all; Input.repeat_all; Input.reiterate_all
#   - New Keys: LOWER_LEFT; LOWER_RIGHT; UPPER_LEFT; UPPER_RIGHT
# * Version 1.10
#   - New methods: Input.event; Input.free_key; Input.free_all_keys
# * Version 1.11
#   - Changed the variables: @repeat_time, @reiterate_time, @reiterate and
#     @update_keys to constants variables for easy editing.
# * Version 1.12(Now in Aleworks Input Module Compability Patch 1)
#   - Compability with the event commands: Asing Key and Condition Branch
# * Version 1.20
#   - Little lag reduction
#   - New methods: Input.release?; Input.release_all
# * Version 1.21
#   - Major bug fixed, when using arrays in Input.press?, Input.trigger?,
#     Input.reiterate? and Input.release?
#   - Removed UPDATE_KEYS and REITERATE
# * Version 2.00
#   - Little lag reduction
#   - Rewrited some code
#   - No more need of Win32::Registry, but need Aleworks Library
#   - Key Combos
#     - New Class: Input::Key_Combo
#     - New Methods: Input.add_combo; Input.combo; Input.combos; Input.combos;
#       Input.delete_combo; Input.delete_ended_combos
#   - Mouse Input
#     - New Methods: Input.mouse_double_click?; Input.mouse_x?; Input.mouse_y?;
#       Input.mouse_dragging?; Input.mouse_drag_rect?; Input.mouse_drag_coor?
#     - New Constants: MOUSE_INPUT; MOUSE_DOUBLE_CLICK_TIME;
#       MOUSE_DOUBLE_CLICK_PIX; MOUSE_DRAG_PIX; MOUSE_PRIMARY; MOUSE_SECONDARY
# * Version 2.01
#   - Input.mouse_x? and Input.mouse_y? will now return nil if the mouse pointer
#     is out of the game screen.
# * Version 2.02
#   - Fixed error in Input.press?
# * Version 2.03
#   - Fixed error of the Array Input feature
#   - Updated Input.dir4 and Input.dir8
#   - New Constants: REAL_DIRS
# * Version 2.04
#   - Fixed error direction input error.
# * Version 3.00 BETA
#   - Complete rewrite of the script, now it uses AWorks.dll for input updating
#=============================================================================

#=============================================================================
# ** Module Input
#=============================================================================
module Input
      @keys = []
    @pressed = []
    Mouse_Left = 1
    MOUSE_PRIMARY = 1
    Mouse_Right = 2
    MOUSE_SECONDARY = 2
    Mouse_Middle = 4
    Back= 8
    Tab = 9
    Enter = 13
    Shift = 16
    Ctrl = 17
    Alt = 18
    Esc = 0x1B
    LEFT=0x25
    UP=0x26
    RIGHT=0X27
    DOWN=0x28
    LT = 0x25
    UPs = 0x26 
    RT = 0x27
    DN = 0x28
    Space = 32
    Numberkeys = {}
    Numberkeys[0] = 48        # => 0
    Numberkeys[1] = 49        # => 1
    Numberkeys[2] = 50        # => 2
    Numberkeys[3] = 51        # => 3
    Numberkeys[4] = 52        # => 4
    Numberkeys[5] = 53        # => 5
    Numberkeys[6] = 54        # => 6
    Numberkeys[7] = 55        # => 7
    Numberkeys[8] = 56        # => 8
    Numberkeys[9] = 57        # => 9
    Numberpad = {}
    Numberpad[0] = 45
    Numberpad[1] = 35
    Numberpad[2] = 40
    Numberpad[3] = 34
    Numberpad[4] = 37
    Numberpad[5] = 12
    Numberpad[6] = 39
    Numberpad[7] = 36
    Numberpad[8] = 38
    Numberpad[9] = 33
    Letters = {}
    Letters["A"] = 65
    Letters["B"] = 66
    Letters["C"] = 67
    Letters["D"] = 68
    Letters["E"] = 69
    Letters["F"] = 70
    Letters["G"] = 71
    Letters["H"] = 72
    Letters["I"] = 73
    Letters["J"] = 74
    Letters["K"] = 75
    Letters["L"] = 76
    Letters["M"] = 77
    Letters["N"] = 78
    Letters["O"] = 79
    Letters["P"] = 80
    Letters["Q"] = 81
    Letters["R"] = 82
    Letters["S"] = 83
    Letters["T"] = 84
    Letters["U"] = 85
    Letters["V"] = 86
    Letters["W"] = 87
    Letters["X"] = 88
    Letters["Y"] = 89
    Letters["Z"] = 90
    Fkeys = {}
    Fkeys[1] = 112
    Fkeys[2] = 113
    Fkeys[3] = 114
    Fkeys[4] = 115
    Fkeys[5] = 116
    Fkeys[6] = 117
    Fkeys[7] = 118
    Fkeys[8] = 119
    Fkeys[9] = 120
    Fkeys[10] = 121
    Fkeys[11] = 122
    Fkeys[12] = 123
    Collon = 186        # => \ |
    Equal = 187         # => = +
    Comma = 188         # => , <
    Underscore = 189    # => - _
    Dot = 190           # => . >
    Backslash = 191     # => / ?
    Lb = 219
    Rb = 221
    Quote = 222         # => '"
  #===========================================================================
  # ** Module Registry
  #===========================================================================
  module Registry
    module_function
    RegCloseKey = Win32API.new('advapi32', 'RegCloseKey', 'L', 'L')
    RegOpenKeyExA = Win32API.new('advapi32', 'RegOpenKeyExA', 'LPLLP', 'L')
    RegQueryValueExA = Win32API.new('advapi32', 'RegQueryValueExA','LPLPPP','L')
    HKEYS = {'HKEY_CLASSES_ROOT' => 0x80000000,'HKEY_CURRENT_USER' =>0x80000001,
      'HKEY_LOCAL_MACHINE' => 0x80000002, 'HKEY_USERS' => 0x80000003,
      'HKEY_CURRENT_CONFIG' => 0x80000005}
    #-------------------------------------------------------------------------
    # * Read an Entry
    #-------------------------------------------------------------------------
    def read_entry(key, entry)
      key.sub!(/(.*?)\\/, '')
      if HKEYS[$1] != nil
        hkey = HKEYS[$1]
      else
        return nil
      end
      opened, type, size = [0].pack('V'), [0].pack('V'), [0].pack('V')
      RegOpenKeyExA.call(hkey, key, 0, 131097, opened)
      opened = (opened + [0].pack('V')).unpack('V')[0]
      RegQueryValueExA.call(opened, entry, 0, type, 0, size)
      data = ' ' * (size + [0].pack('V')).unpack('V')[0]
      RegQueryValueExA.call(opened, entry, 0, type, data, size)
      RegCloseKey.call(opened)
      data = data[0, (size + [0].pack('V')).unpack('V')[0]]
      type = (type += [0].pack('V')).unpack('V')[0]
      case type
      when 1
        data.chop
      when 2
        data.chop.gsub(/%([^%]+)%/) { ENV[$1] || $& }
      when 3
        data
      when 4
        (data += [0].pack('V')).unpack('V')[0]
      when 5
        data.unpack('N')[0]
      when 7
        data.split(/\0/)
      when 11
        (data.unpack('VV')[1] << 32) | data[0]
      else
        nil
      end
    end
  end
  #---------------------------------------------------------------------------
  # * Variables definition
  #---------------------------------------------------------------------------
  @time = Array.new(256, 0)
  @press = Array.new(256, false)
  @trigger = Array.new(256, false)
  @repeat = Array.new(256, false)
  @release = Array.new(256, false)
  @dirs = [0, 0]
  #---------------------------------------------------------------------------
  # * API declaration
  #---------------------------------------------------------------------------
  InputInitialize = Win32API.new("Input", 'InputInitialize', 'LLLLLL', '')
  InputUpdate = Win32API.new("Input", 'InputUpdate', '', '')
  #---------------------------------------------------------------------------
  # * convert_keys (internal method)
  #---------------------------------------------------------------------------
  REG_KVALUES = {0=>32,1=>13,2=>27,3=>96,4=>16,5=>90,6=>88,7=>67,8=>86,9=>66,
                 10=>65,11=>83,12=>68,13=>81,14=>87}
  def convert_keys(key)
    keys =
    reg_key = 'HKEY_CURRENT_USER\\Software\\Enterbrain\\RGSS'
    data = Registry.read_entry(reg_key, 'ButtonAssign')[10, 25].scan(/./)
    15.times {|i| keys.push(REG_KVALUES[i]) if key == data[i].unpack('C')[0]}
    keys
  end   
  module_function :convert_keys
  #---------------------------------------------------------------------------
  # * Keys Constants definitions
  #---------------------------------------------------------------------------
  LOWER_LEFT = 97
  LOWER_RIGHT = 99
  UPPER_LEFT = 103
  UPPER_RIGHT = 105
  DOWN = [98, 40]
  LEFT = [100, 37]
  RIGHT = [ 102, 39]
  UP = [104, 38]
  A = convert_keys(11)
  B = [45] + convert_keys(12)
  C = convert_keys(13)
  X = convert_keys(14)
  Y = convert_keys(15)
  Z = convert_keys(16)
  L = [33] + convert_keys(17)
  R = [34] + convert_keys(18)
  SHIFT = 16
  CTRL = 17
  ALT = 18
  F5 = 116
  F6 = 117
  F7 = 118
  F8 = 119
  F9 = 120
  #---------------------------------------------------------------------------
  # * Initialize Input DLL
  #---------------------------------------------------------------------------
  InputInitialize.call(@time.object_id, @press.object_id, @trigger.object_id,
  @repeat.object_id,  @release.object_id, @dirs.object_id)
  #---------------------------------------------------------------------------
  # * Keys input state update
  #---------------------------------------------------------------------------
  def Input.update
    InputUpdate.call
  end
  #---------------------------------------------------------------------------
  # * Press?
  #---------------------------------------------------------------------------
  def Input.press?(vk)
    @press.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Pressed
  #---------------------------------------------------------------------------
  def Input.pressed
    array = Array.new
    @press.each_index {|i| array.push(i) if @press[i]}
    array
  end
  #---------------------------------------------------------------------------
  # * Trigger?
  #---------------------------------------------------------------------------
  def Input.trigger?(vk)
    @trigger.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Triggered
  #---------------------------------------------------------------------------
  def Input.triggered
    array = Array.new
    @trigger.each_index {|i| array.push(i) if @trigger[i]}
    array
  end
 
  def Input.triggerd?(what)
    if triggered.include?(what)
      return true
    end
  end
 
  def Input.pressed?(what)
    if pressed.include?(what)
      return true
    end
  end
 
 
  #---------------------------------------------------------------------------
  # * Repeat?
  #---------------------------------------------------------------------------
  def Input.repeat?(vk)
    @repeat.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Repeated
  #---------------------------------------------------------------------------
  def Input.repeated
    array = Array.new
    @repeat.each_index {|i| array.push(i) if @repeat[i]}
    array
  end
  #---------------------------------------------------------------------------
  # * Release?
  #---------------------------------------------------------------------------
  def Input.release?(vk)
    @release.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Released
  #---------------------------------------------------------------------------
  def Input.released
    array = Array.new
    @release.each_index {|i| array.push(i) if @release[i]}
    array
  end
  #---------------------------------------------------------------------------
  # * 4 Directions
  #---------------------------------------------------------------------------
  def Input.dir4
    @dirs[0]
  end
  #---------------------------------------------------------------------------
  # * 8 Directions
  #---------------------------------------------------------------------------
  def Input.dir8
    @dirs[1]
  end
end
Status von
 The New World
Story :          [##########] 100%
Map  :          [##########] 10%
Events :        [##########] 0%
Skript :         [##########] 60%
Ressourcen : [##########] 60%
Fertig :                 [13%]
              Von N0rtekCriss & Deity
      


Click here to feed me a Star Fruit!
Get your own at Flyffables![/

Re: Hilfe zu Skripten.

Offline Sk!p

  • Foren-ReArchitekt
  • VX-Großmeister
  • *****
  • Beiträge: 975
  • Mit(t)arbeiter schreibt man mit einem T =P
    • Foren-ReArchitekt
Re: Hilfe zu Skripten.
« Antwort #98 am: März 10, 2009, 05:10:44 »
So wie ich das sehe, und ich habe wenig bzw. keine ahnung von Skripten,
versucht er eine Taste abzufragen und danach eine Taster die man drücken muss
um ein Event auszulösen.

Dar keine Taste definiert ist, fährt er sich fest.

Sk!p

Klischee Antagonist! | Back From Hell To Conquer The World!


Re: Hilfe zu Skripten.

Offline N0rtekCriss

  • Ralph
  • *
  • Beiträge: 8
  • Projekte :The New World Online
Re: Hilfe zu Skripten.
« Antwort #99 am: März 10, 2009, 10:51:28 »
Freunde ich brauch mal wieder hilfe XD

Bin auch der suche nach einen script was es mir erlaubt
größere charsets zu benutzen ich meine für den spiel verlauf allso zum laufen und so weiter

was ich genau meine ist das


ich hoffe ihr könnt mir helfen ^^

MFG N0rtekCriss
Status von
 The New World
Story :          [##########] 100%
Map  :          [##########] 10%
Events :        [##########] 0%
Skript :         [##########] 60%
Ressourcen : [##########] 60%
Fertig :                 [13%]
              Von N0rtekCriss & Deity
      


Click here to feed me a Star Fruit!
Get your own at Flyffables![/

Re: Hilfe zu Skripten.

Offline Darv

  • Mr. MACK-Tile
  • ***
  • Beiträge: 276
Re: Hilfe zu Skripten.
« Antwort #100 am: März 10, 2009, 11:31:51 »
Schneid dein Charset doch zusammen und pack das "abgeschnitene" in ein neues Charset ??

Re: Hilfe zu Skripten.

Offline N0rtekCriss

  • Ralph
  • *
  • Beiträge: 8
  • Projekte :The New World Online
Re: Hilfe zu Skripten.
« Antwort #101 am: März 10, 2009, 11:38:54 »
geht eben nicht weil die vorlagen bissel zu gross sind und wenn ich die anpasse mit gimp dan verschwimmen die farben schaut einfach nur scheisse aus
Status von
 The New World
Story :          [##########] 100%
Map  :          [##########] 10%
Events :        [##########] 0%
Skript :         [##########] 60%
Ressourcen : [##########] 60%
Fertig :                 [13%]
              Von N0rtekCriss & Deity
      


Click here to feed me a Star Fruit!
Get your own at Flyffables![/

Re: Hilfe zu Skripten.

Offline Darv

  • Mr. MACK-Tile
  • ***
  • Beiträge: 276
Re: Hilfe zu Skripten.
« Antwort #102 am: März 10, 2009, 11:58:52 »
-.- gib mal her das Charset ich schneid es zu.

Leute wir sind hier im Skript-Threat.
Was hat das zuschneiden von Grafiken mit Skripten zu tun?
Bleibt bitte beim Thema.

~Sk!p
« Letzte Änderung: März 10, 2009, 20:41:04 von Sk!p »

Re: Hilfe zu Skripten.

Amsel

  • Gast
Re: Hilfe zu Skripten.
« Antwort #103 am: März 11, 2009, 17:10:40 »
Ich würde gerne in einem Common Event die aktuellen MP eines Actors in eine Variable ablegen.
Leider Funktioniert:

@>Control Variables[0008:] = [Actor]'s MP
nicht

Wie kann ich in diesem Fall die aktuellen MP des Actors an eine Variable weitergeben?

Re: Hilfe zu Skripten.

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Hilfe zu Skripten.
« Antwort #104 am: März 11, 2009, 17:20:05 »
Ich glaube der fehler tritt auf, weil Game Interpreter einen fehler hat.
Versuch es mit diesem Script und dann sollte es eigenlich einwandfrei funktionieren.
Game Intepreter
MfG
Deity



 


 Bild des Monats

rooftop party

Views: 3581
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal