Jump to content
Rpg²S Forum

Kir 99

Utenti
  • Posts

    38
  • Joined

  • Last visited

Posts posted by Kir 99

  1. ciao a tutti, come da titolo, ho un problema con 2 script, uno è il Caterpilar ex e l' altro è uno script che fa parte dello XAS hero 3.7 , (XAS - Battler). ho provato a risolvere ma con rgss sono una frana! allora, il problema è questo: lo xas hero senza il caterpilar va, senza darmi alcun errore. dopo aver aggiunto il caterpilar quando faccio il test viene questo errore: erro no script xas battler, em 488 na linha 'nomethoderror' undefined method 'dead?' for #<Game_Party_Actor:0x81efbd0>
     
    ecco gli script:
     
    caterpilar ex


    #################################################################
    ################## CATERPILLAR EX ###############################
    ####### Caterpillar - http://www4.big.or.jp/~fukuyama/ ##########
    ####### Seleção rápida - JOAONETO - mr_mcloud@hotmail.com #######
    ####### Ativar/Desativar Caterpillar - JOAONETO #################
    ####### Quantidade de Heróis - JOAONETO #########################
    #################################################################

    # Este é o mesmo Caterppilar, porém com algumas inclusões:
    #1º - Mudança de líder em tempo de jogo
    #2º - Ativar/Desativar Caterpillar em tempo de jogo
    #3º - Mudar a quantidade de heróis que o Caterpillar vai exibir

    # Para mudar a equipe, aperte L(A tecla Q)
    # Para On/Off o Caterpillar, Aperte R(A tecla W)
    #Para mudar as Teclas, apenas troque-as no código logo abaixo.

    #Para mudar a quantidade de exibição de heróis, apenas mude o
    #Valor de $HEROS para o valor que você quer mais um.
    #EX: $HEROS = 3 vai mostrar o Líder mais 3 aliados
    #---------------------------------------------------------------
    class Scene_Map
    alias new_update update
    def update
    new_update
    if Input.trigger?(Input::L)
    $game_system.se_play($data_system.decision_se)
    change_party
    end
    if Input.trigger?(Input::R)
    $game_system.se_play($data_system.decision_se)
    $TRAIN_ACTOR_TRANSPARENT == false ? $TRAIN_ACTOR_TRANSPARENT = true : $TRAIN_ACTOR_TRANSPARENT = false
    end
    end

    def change_party
    @heros = []
    for i in 0...$game_party.actors.size
    @heros[i] = $game_party.actors[i]
    end
    for i in 1...@heros.size
    $game_party.actors[i - 1] = @heros[i]
    end
    $game_party.actors[@heros.size - 1] = @heros[0]
    $game_player.refresh
    end
    end

    TRAIN_ACTOR_TRANSPARENT_SWITCH = true
    $TRAIN_ACTOR_TRANSPARENT = false
    $HEROS = 5

    DOWN_LEFT = 1
    DOWN_RIGHT = 3
    UP_LEFT = 7
    UP_RIGHT = 9
    JUMP = 5

    class Game_Party_Actor < Game_Character
    def initialize
    super()
    @through = true
    end
    def setup(actor)
    if actor != nil
    @character_name = actor.character_name
    @character_hue = actor.character_hue
    else
    @character_name = ""
    @character_hue = 0
    end
    @opacity = 255
    @blend_type = 0
    end
    def screen_z(height = 0)
    if $game_player.x == @x and $game_player.y == @y
    return $game_player.screen_z(height) - 1
    end
    super(height)
    end
    def move_down(turn_enabled = true)
    if turn_enabled
    turn_down
    end
    if passable?(@x, @y, Input::DOWN)
    turn_down
    @y += 1
    end
    end
    def move_left(turn_enabled = true)
    if turn_enabled
    turn_left
    end
    if passable?(@x, @y, Input::LEFT)
    turn_left
    @x -= 1
    end
    end
    def move_right(turn_enabled = true)
    if turn_enabled
    turn_right
    end
    if passable?(@x, @y, Input::RIGHT)
    turn_right
    @x += 1
    end
    end
    def move_up(turn_enabled = true)
    if turn_enabled
    turn_up
    end
    if passable?(@x, @y, Input::UP)
    turn_up
    @y -= 1
    end
    end
    def move_lower_left
    unless @direction_fix
    @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
    end
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
    @x -= 1
    @y += 1
    end
    end
    def move_lower_right
    unless @direction_fix
    @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
    end
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
    @x += 1
    @y += 1
    end
    end
    def move_upper_left
    unless @direction_fix
    @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
    end
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
    @x -= 1
    @y -= 1
    end
    end
    def move_upper_right
    unless @direction_fix
    @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
    end
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
    @x += 1
    @y -= 1
    end
    end

    def set_move_speed(move_speed)
    @move_speed = move_speed
    end
    end

    class Spriteset_Map
    def setup_actor_character_sprites?
    return @setup_actor_character_sprites_flag != nil
    end
    def setup_actor_character_sprites(characters)
    if !setup_actor_character_sprites?
    index_game_player = 0
    @character_sprites.each_index do |i|
    if @character_sprites[i].character.instance_of?(Game_Player)
    index_game_player = i
    break
    end
    end
    for character in characters.reverse
    @character_sprites.unshift(
    Sprite_Character.new(@viewport1, character)
    )
    end
    @setup_actor_character_sprites_flag = true
    end
    end
    end
    class Scene_Map
    def setup_actor_character_sprites(characters)
    @spriteset.setup_actor_character_sprites(characters)
    end
    end

    class Game_Party
    def set_transparent_actors(transparent)
    @transparent = transparent
    end
    def setup_actor_character_sprites
    if @characters == nil
    @characters = []
    for i in 1 .. $HEROS
    @characters.push(Game_Party_Actor.new)
    end
    end
    if @actors_chach == nil
    @actors_chach = []
    end
    if @actors_chach != @actors
    @actors_chach = @actors.clone
    for i in 1 .. $HEROS
    @characters[i - 1].setup(actors[i])
    end
    end
    if $scene.instance_of?(Scene_Map)
    $scene.setup_actor_character_sprites(@characters)
    end
    end
    def update_party_actors
    setup_actor_character_sprites
    transparent = $game_player.transparent
    if transparent == false
    if TRAIN_ACTOR_TRANSPARENT_SWITCH
    transparent = $TRAIN_ACTOR_TRANSPARENT
    else
    transparent = $game_player.transparent
    end
    end
    for character in @characters
    character.transparent = transparent
    character.set_move_speed($game_player.get_move_speed)
    character.update
    end
    end
    def moveto_party_actors( x, y )
    setup_actor_character_sprites
    for character in @characters
    character.moveto( x, y )
    end
    if @move_list == nil
    @move_list = []
    end
    for i in 0 .. 10
    @move_list[i] = nil
    end
    end
    def move_party_actors
    if @move_list == nil
    @move_list = []
    for i in 0 .. 10
    @move_list[i] = nil
    end
    end
    @move_list.each_index do |i|
    if @characters[i] != nil
    case @move_list[i].type
    when Input::DOWN
    @characters[i].move_down(@move_list[i].args[0])
    when Input::LEFT
    @characters[i].move_left(@move_list[i].args[0])
    when Input::RIGHT
    @characters[i].move_right(@move_list[i].args[0])
    when Input::UP
    @characters[i].move_up(@move_list[i].args[0])
    when DOWN_LEFT
    @characters[i].move_lower_left
    when DOWN_RIGHT
    @characters[i].move_lower_right
    when UP_LEFT
    @characters[i].move_upper_left
    when UP_RIGHT
    @characters[i].move_upper_right
    when JUMP
    @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
    end
    end
    end
    end
    class Move_List_Element
    def initialize(type,args)
    @type = type
    @args = args
    end
    def type() return @type end
    def args() return @args end
    end
    def add_move_list(type,*args)
    @move_list.unshift(Move_List_Element.new(type,args)).pop
    end
    def move_down_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::DOWN,turn_enabled)
    end
    def move_left_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::LEFT,turn_enabled)
    end
    def move_right_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::RIGHT,turn_enabled)
    end
    def move_up_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::UP,turn_enabled)
    end
    def move_lower_left_party_actors
    move_party_actors
    add_move_list(DOWN_LEFT)
    end
    def move_lower_right_party_actors
    move_party_actors
    add_move_list(DOWN_RIGHT)
    end
    def move_upper_left_party_actors
    move_party_actors
    add_move_list(UP_LEFT)
    end
    def move_upper_right_party_actors
    move_party_actors
    add_move_list(UP_RIGHT)
    end
    def jump_party_actors(x_plus, y_plus)
    move_party_actors
    add_move_list(JUMP,x_plus, y_plus)
    end
    end
    module Game_Player_Module
    def update
    $game_party.update_party_actors
    super
    end
    def moveto( x, y )
    super
    $game_party.moveto_party_actors( x, y )
    end
    def move_down(turn_enabled = true)
    if passable?(@x, @y, Input::DOWN)
    $game_party.move_down_party_actors(turn_enabled)
    end
    super(turn_enabled)
    end
    def move_left(turn_enabled = true)
    if passable?(@x, @y, Input::LEFT)
    $game_party.move_left_party_actors(turn_enabled)
    end
    super(turn_enabled)
    end
    def move_right(turn_enabled = true)
    if passable?(@x, @y, Input::RIGHT)
    $game_party.move_right_party_actors(turn_enabled)
    end
    super(turn_enabled)
    end
    def move_up(turn_enabled = true)
    if passable?(@x, @y, Input::UP)
    $game_party.move_up_party_actors(turn_enabled)
    end
    super(turn_enabled)
    end
    def move_lower_left
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
    $game_party.move_lower_left_party_actors
    end
    super
    end
    def move_lower_right
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
    $game_party.move_lower_right_party_actors
    end
    super
    end
    def move_upper_left
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
    (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
    $game_party.move_upper_left_party_actors
    end
    super
    end
    def move_upper_right
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
    (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
    $game_party.move_upper_right_party_actors
    end
    super
    end
    def jump(x_plus, y_plus)
    new_x = @x + x_plus
    new_y = @y + y_plus
    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
    $game_party.jump_party_actors(x_plus, y_plus)
    end
    super(x_plus, y_plus)
    end
    def get_move_speed
    return @move_speed
    end
    end
    class Game_Player
    include Game_Player_Module
    end



     
    xas battler


    #===============================================================================
    #===============================================================================
    # BATTLER
    #===============================================================================
    #===============================================================================


    #===============================================================================
    # SENSOR
    #===============================================================================
    module XRXS_EnemySensor
    def update_sensor
    if self.battler != nil and self.battler.is_a?(Game_Enemy)
    enemy_sensor = XAS_BA_ENEMY::ENEMY_SENSOR[self.battler.id]
    end
    if enemy_sensor != nil
    @sensor_range = enemy_sensor
    else
    @sensor_range = $game_variables[XAS_BA_ENEMY::DEFAULT_ENEMY_SENSOR_VARIABLE_ID]
    end
    if self.battler != nil and (self.knockbacking? or
    self.battler.xas_states_stop == true or
    self.battler.xas_states_sleep == true or
    self.battler.hp == 0 or
    self.throw_on == true)
    @sensor_range = -1
    end
    distance = ($game_player.x - self.x).abs + ($game_player.y - self.y).abs
    enable = (distance <= @sensor_range)
    key = [$game_map.map_id, self.id, XAS_BA::SENSOR_SELF_SWITCH]
    last_enable = $game_self_switches[key]
    last_enable = false if last_enable == nil
    if enable != last_enable
    $game_self_switches[key] = enable
    $game_map.need_refresh = true
    end
    end
    end
    #===============================================================================
    # Game_Event
    #===============================================================================
    class Game_Event < Game_Character
    include XRXS_EnemySensor
    end

    #===============================================================================
    # Game_Player
    #===============================================================================
    class Game_Player < Game_Character
    include XRXS_BattlerAttachment

    # Battler -------------------------------
    def battler
    return $game_party.actors[0]
    end

    # Defeat Process ---------------------------
    def defeat_process
    super
    if XAS_BA::AUTOGAMEOVER == true
    $scene = Scene_Gameover.new rescue nil if self.collapse_done
    else
    $game_switches[XAS_BA::GAMEOVER_SWITCH_ID] = true
    $game_map.refresh
    end
    end

    # update ---------------------------------
    alias xrxs64c_update update
    def update
    xrxs64c_update
    self.battler.remove_states_auto if self.battler != nil
    if self.collapse_done
    self.collapse_done = false
    @xrxs64c_defeat_done = false
    end
    end
    end

    #===============================================================================
    # Game Event
    #===============================================================================
    class Game_Event < Game_Character
    include XRXS_BattlerAttachment

    # Battler ----------------------------------
    def battler
    return @battler
    end

    # refresh ----------------------------------
    alias xrxs64c_refresh refresh
    def refresh
    xrxs64c_refresh
    self.battler_recheck
    end

    # battler_recheck ---------------------------
    def battler_recheck
    return if @battler != nil
    if @page == nil
    return
    end
    @enemy_id = 0
    for page in @event.pages.reverse
    condition = page.condition
    if condition.variable_valid and
    condition.variable_id == XAS_BA::ENEMY_ID_VARIABLE_ID and
    (!condition.switch1_valid or $game_switches[condition.switch1_id]) and
    (!condition.switch2_valid or $game_switches[condition.switch2_id])
    @enemy_id = condition.variable_value
    break
    end
    end
    if @enemy_id == 0
    return
    end
    troop_id = -1
    member_index = -1
    for troop in $data_troops
    next if troop == nil
    for enemy in troop.members
    if enemy.enemy_id == @enemy_id
    troop_id = $data_troops.index(troop)
    member_index = troop.members.index(enemy)
    break
    end
    end
    end
    if troop_id != -1 and member_index != -1
    @battler = Game_Enemy.new(troop_id, member_index)
    end
    end

    # enemy_id ------------------------------------
    def enemy_id
    self.battler
    return @enemy_id
    end

    # treasure dispose ---------------------------------
    def treasure_dispose
    if self.battler == nil and self.is_a?(Game_Event)
    for pg in @event.pages
    if pg.condition.variable_id == 10000 and
    pg.condition.variable_value > 0
    pg.condition.variable_value -= 1
    if pg.condition.variable_value < 100
    self.zoom_x -= 0.01 if self.zoom_x > 0.01
    end
    elsif pg.condition.variable_id == 10000 and
    pg.condition.variable_value == 0
    $game_map.remove_token(self)
    end

    end
    end
    end


    # UPDATE -------------------------------------
    alias xrxs64c_update update
    def update
    if @collapse_wait_count.to_i > 0
    @collapse_wait_count -= 1
    if @collapse_wait_count == 0
    @collapse_wait_count = nil
    $game_map.remove_token(self)
    end
    return
    end
    treasure_dispose
    update_sensor
    xrxs64c_update
    if self.battler != nil
    self.battler.remove_states_auto
    end
    if self.collapse_duration.to_i > 0
    @through = true
    end
    if self.collapse_done
    @opacity = 0
    @collapse_wait_count = 32
    return
    end
    end

    # hit_reaction_on ----------------------------------
    def hit_reaction_on
    self.hit_reaction = true
    end

    # hit_reaction_off ----------------------------------
    def hit_reaction_off
    self.hit_reaction = false
    end

    # hp_hit_reaction ------------------------------------
    def hp_hit_reaction(on)
    lowhp = self.battler.maxhp * XAS_BA_ENEMY::LOWHP / 100
    if self.battler.hp > lowhp
    self.hit_reaction = on
    else
    if on == true
    self.hit_reaction = false
    else
    self.hit_reaction = true
    end
    end
    end

    # hero_level_hit_reaction ------------------------------------
    def hero_level_hit_reaction(level,on)
    actor = $game_party.actors[0]
    if actor.level >= level
    self.hit_reaction = on
    else
    if on == true
    self.hit_reaction = false
    else
    self.hit_reaction = true
    end
    end
    end

    # shield_enable! -----------------------------------------
    def shield_enable!
    @shield_disable = nil
    end

    # shield_disable! ----------------------------------------
    def shield_disable!
    @shield_disable = true
    end

    # lowhp_shield ------------------------------------------
    def lowhp_shield(on)
    lowhp = self.battler.maxhp * XAS_BA_ENEMY::LOWHP / 100
    if on == true
    @shield_disable = true
    elsif on == false
    @shield_disable = nil
    end
    end

    # hp_shield -----------------------------------------------
    def hp_shield(on)
    lowhp = self.battler.maxhp * XAS_BA_ENEMY::LOWHP / 100
    if self.battler.hp > lowhp
    if on == true
    @shield_disable = nil
    else
    @shield_disable = true
    end
    else
    if on == true
    @shield_disable = true
    else
    @shield_disable = nil
    end
    end
    end

    # hero_level_shield ------------------------------------------
    def hero_level_shield(level,on)
    actor = $game_party.actors[0]
    if actor.level >= level
    if on == true
    @shield_disable = nil
    else
    @shield_disable = true
    end
    else
    if on == true
    @shield_disable = true
    else
    @shield_disable = nil
    end
    end
    end

    # shield_directions ---------------------------------------
    def shield_directions
    set = @shield_disable ? [] : XAS_BA_ENEMY::SHILED_DIRECTIONS[self.enemy_id]
    set = [] if set == nil
    return set
    end

    # shield_actions ------------------------------------------
    def shield_actions
    set = XAS_BA_ENEMY::SHILED_ACTIONS[self.enemy_id]
    set = [] if set == nil
    return set
    end

    # knock_back_disable ----------------------------------------
    def knock_back_disable
    return XAS_BA_ENEMY::KNOCK_BACK_DISABLES.include?(self.enemy_id)
    end

    # body_size ------------------------------------------------
    def body_size
    return XAS_BA_ENEMY::BODY_SQUARE[self.enemy_id].to_i
    end

    # defeat_process --------------------------------------------
    def defeat_process
    super
    enemy_defeat_process(self.battler)
    enemy_defeat_animation = XAS_BA_ENEMY::DEF_ANI[enemy_id]
    if XAS_BA_ENEMY::DEF_ANI[enemy_id] != nil and not
    terrain_tag == XAS::FALL_TERRAIN
    self.animation_id = enemy_defeat_animation
    end
    end
    end

    #===============================================================================
    # Game Event
    #===============================================================================
    class Game_Event < Game_Character
    attr_reader :collision_attack

    # img_act_exist --------------------------------------
    def img_act_exist?
    RPG::Cache.character(@page.graphic.character_name + "_Act" , @page.graphic.character_hue) rescue return false
    end

    # attack_on ------------------------------------------
    def attack_on
    if self.battler.is_a?(Game_Enemy) and
    (self.battler.states.include?(XAS::MUTE_ID) or
    self.battler.states.include?(XAS::SEALATTACK_ID))
    @collision_attack = false
    self.battler.damage = XAS::SEALED_TEXT
    self.battler.damage_pop = true
    return false
    end
    @collision_attack = true
    self.animation_id = self.battler.animation1_id
    if img_act_exist?
    @character_name = @page.graphic.character_name + "_Act"
    end
    end

    # attack_off ---------------------------------------------
    def attack_off
    @collision_attack = false
    @character_name = @page.graphic.character_name
    end
    end

    #===============================================================================
    # Game_Player
    #===============================================================================
    class Game_Player < Game_Character

    # check_event_trigger ---------------------------------------
    alias xrxs64c_check_event_trigger_touch check_event_trigger_touch
    def check_event_trigger_touch(x, y)
    xrxs64c_check_event_trigger_touch(x, y)
    if $game_system.map_interpreter.running?
    return
    end
    for event in $game_map.events.values
    next unless event.collision_attack
    unless [1,2].include?(event.trigger)
    if event.battler != nil and event.x == x and event.y == y
    $game_player.attack_effect(event)
    end
    end
    end
    end
    end

    #===============================================================================
    # Game_Event
    #===============================================================================
    class Game_Event < Game_Character

    # check_event_trigger ------------------------------
    alias xrxs64c_check_event_trigger_touch check_event_trigger_touch
    def check_event_trigger_touch(x, y)
    xrxs64c_check_event_trigger_touch(x, y)
    if $game_system.map_interpreter.running?
    return
    end
    return unless self.collision_attack
    if self.battler != nil and x == $game_player.x and y == $game_player.y
    $game_player.attack_effect(self)
    end
    end
    end

    #===============================================================================
    # XAS_BA_BATTLEEVENT_NONPREEMPT
    #===============================================================================
    module XAS_BA_BATTLEEVENT_NONPREEMPT

    # update ---------------------------------------
    def update
    return if self.battler != nil and $game_system.map_interpreter.running?
    super
    end
    end

    #===============================================================================
    # Game_Event
    #===============================================================================
    class Game_Event < Game_Character
    include XAS_BA_BATTLEEVENT_NONPREEMPT
    end

    #===============================================================================
    # Sprite_Character
    #===============================================================================
    class Sprite_Character < RPG::Sprite

    # update -------------------------------------------
    alias xrxs64c_update update
    def update
    if @battler == nil
    @battler = @character.battler
    end
    xrxs64c_update
    if @battler == nil or @_collapse_duration > 0 or
    @character.collapse_done
    return
    end
    if @battler.hiblink_duration.is_a?(Numeric)
    if XAS_BA::BLINK_ON == true
    @character.opacity = (@character.opacity + 70) % 190 + 40
    end
    if XAS_ABS_SETUP::BATTLER_SHAKE_EFFECT == true and @character.knockbacking?
    self.x = @character.screen_x + rand(5)
    end
    @battler.hiblink_duration -= 1
    if @battler.hiblink_duration <= 0
    @battler.hiblink_duration = nil
    @character.opacity = 255
    end
    end
    end
    end

    #===============================================================================
    # Game_Character
    #===============================================================================
    class Game_Character

    # BLOW EFFECT-------------------------------------------
    def blow(d, power = 1)
    @knock_back_prespeed = @move_speed if @knock_back_prespeed == nil
    if self.knock_back_disable and (self.battler.xas_states_sleep == true or
    self.battler.xas_states_stop == true)
    @move_speed = XAS_BA::KNOCK_BACK_SPEED
    end
    return if self.knock_back_disable
    power.times do
    if passable?(self.x, self.y, d)
    @x += ([3,6,9].include?(d) ? 1 : [1,4,7].include?(d) ? -1 : 0)
    @y += ([1,2,3].include?(d) ? 1 : [7,8,9].include?(d) ? -1 : 0)
    end
    end
    if self.battler.is_a?(Game_Enemy)
    enemy_knock_duration = XAS_BA_ENEMY::INVICIBLE_DURATION_ENEMY[enemy_id]
    if enemy_knock_duration != nil
    @knock_back_duration = enemy_knock_duration
    else
    @knock_back_duration = XAS_BA_ENEMY::DEFAULT_INVICIBLE_DURATION_ENEMY
    end
    else
    @knock_back_duration = XAS_BA::KNOCK_BACK_DURATION_HERO
    end
    @move_speed = XAS_BA::KNOCK_BACK_SPEED
    end


    #UPDATE -------------------------------------------
    alias xrxs64c_nb_update update
    def update
    @stop_count = -1 if self.knockbacking? or self.dead?
    xrxs64c_nb_update
    throw_update

    unless moving? or jumping? or
    self.is_a?(Game_Player)
    if terrain_tag == XAS::FALL_TERRAIN and
    @through == false
    if @erased == false
    self.animation_id = XAS::FALL_ANIMATION_ID
    self.erase
    end
    end
    end
    if terrain_tag == XAS::SLIP_TERRAIN and @through == false
    jump(0,0) unless jumping?
    @y += 1
    end

    if self.knockbacking?
    #Definindo gráfico de dano
    if self.battler.is_a?(Game_Enemy)
    @collision_attack = false
    if img_hit_enemy_exist? and not
    self.battler.xas_states_stop == true
    @character_name = @page.graphic.character_name + "_Hit"
    end
    else
    if img_hit_actor_exist?(@actor) and not
    self.battler.xas_states_stop == true
    @character_name = @actor.character_name + "_Hit"
    end
    end
    @pattern = 0
    unless self.battler.xas_states_stop == true or
    self.battler.xas_states_sleep == true or
    self.dead?
    @knock_back_duration -= 1
    end
    if @knock_back_duration <= 0
    unless self.erased == true
    if self.battler.is_a?(Game_Enemy)
    @character_name = @page.graphic.character_name
    else
    @character_name = @actor.character_name
    end
    end
    @knock_back_duration = nil
    @move_speed = @knock_back_prespeed
    @knock_back_prespeed = nil
    end
    return
    end
    end

    # knockbacking? --------------------------------
    def knockbacking?
    return @knock_back_duration != nil
    end

    # collapsing? --------------------------------
    def collapsing?
    return self.collapse_duration.to_i > 0
    end

    end

    # XAS_DamageStop
    #===============================================================================
    module XAS_DamageStop
    def acting?
    return (super or self.knockbacking? or self.collapsing?)
    end
    end

    #===============================================================================
    # Game_Player
    #===============================================================================
    class Game_Player < Game_Character
    include XAS_DamageStop
    end

    #===============================================================================
    # Game_Event
    #===============================================================================
    class Game_Event < Game_Character
    include XAS_DamageStop
    end

    #===============================================================================
    # module RPG
    #===============================================================================
    module RPG
    class Sprite < ::Sprite
    def dispose_animation
    if @_animation_sprites != nil
    sprite = @_animation_sprites[0]
    if sprite != nil
    @@_reference_count[sprite.bitmap] -= 1
    end
    for sprite in @_animation_sprites
    sprite.dispose
    end
    @_animation_sprites = nil
    @_animation = nil
    end
    end
    end
    end

    #===============================================================================
    # Game_Map
    #===============================================================================
    class Game_Map
    def starting?
    if $game_system.map_interpreter.running?
    return true
    end
    for event in $game_map.events.values
    return true if event.starting
    end
    return false
    end
    end

    #===============================================================================
    # class Interpreter
    #===============================================================================
    module XAS_ACTION
    alias xas_z_shoot_bullet shoot_bullet
    def shoot_bullet(action_id)
    bullet_token = xas_z_shoot_bullet(action_id)
    return bullet_token
    end
    end

    #===============================================================================
    # Sprite_Battler Fix
    #===============================================================================
    class Sprite_Battler < RPG::Sprite
    alias xas_damage_update update
    def update
    super
    if @battler_visible
    if @battler.damage_pop
    damage(@battler.damage, @battler.critical,@battler.state,@battler.item)
    @battler.damage = nil
    @battler.critical = false
    @battler.damage_pop = false
    end
    end
    xas_damage_update
    end
    end

     

     

    la 488 sarebbe   @stop_count = -1 if self.knockbacking? or self.dead?

  2. http://rpgcreator.net/screens/plugin.png

     

    guardando questa immagine credo di si XD però in java. credo si possano aggiungere dei plugin o roba simile ma nn ho capito molto bene.... diciamo che qst topic è solo per informarvi che questo progr. c'è, io non ne so più di tanto

     

    non è il massimo, lo so, ma dovrebero migliorarlo........... spero

    cmq RPG maker xp 4ever. XD

  3. Guardate un pò cosa ho trovato! (spero che non sia un doppio topicXD)

     

    l'ho scoperto ieri navigando un pò..............

    non ne so molto ma, per quel che ho capito, è diciamo un programma online per creare rpg, si può usare su pc, ipad e android.

     

    non ho trovato immagini per abbellire un pò il topic, ci sono sono quelle sul sito, ma posso darvi il link del video di presentazione di RPG creator : http://www.youtube.com/watch?v=WGS5xnq63PQ

     

    qui invece il link al sito: http://rpgcreator.net/

     

    la versione RPG costa 19,99 , mentre la versione RPG e MMORPG sarà disponibile a settembre/ottobre 2013. Si può sempre provare la demo, che è una versione beta, qui: http://app.rpgcreator.net/?t=demo

     

    Spero di essere stato utile!!!

  4. stai a ricontrollare bene tutte le opzioni che controllano la nebbia delle mappe e i tint fog e i diversi eventi e fai cm dice Guardian e vedrai che l' errore lo trovi. altrimenti non so proprio cosa dirti :/ una volta son stato tre anni a cercare di capire l' errore che facevo in un evento piuttosto complesso, e alla fine la soluzione era una cavolata madonnale. XD

  5. non è possibile applicare normalmente l' effetto bagliore con gimp, bisogna selezionare la parte di disegno a cui vogliamo applicare l' effetto (strumenti>selezione) poi selezioniamo il colore del bagliore, andiamo su modifica> delinea selezione, mettiamo le nostre impostazioni e poi clicchiamo delinea ;D

  6. ciao tio, mi potresti dire quale strumento o filtro hai utilizzato per riprodurre l' alone intorno alle parole nell' intro e nei crediti? (io uso gimp) PS= la demo mi è piaciuta molto, bellissima la finestra dei messaggi il gioco in generale è fatto proprio bene. la bussola d'oro (e seguito) li collocherei nei primi posti tra i miei libri preferiti ;D

  7. abbandono lo script di mr mo e mi butto nel bstr ad eventi. ho letto il topic e il tutorial di havana 24 (http://www.rpg2s.net/forum/index.php?showtopic=132 che sarebbe per rm2k, ma si può riadattare per xp naturalmente. solo che non mi va. ho provato a risolvere da solo, ma nnt. ecco come ho impostato gli eventi:

     

    EV.1

    options: movement animation

    trigger: autostart

    event commands: variabile hp eroe = hp eroe (nn massimi)

    variabile forza eroe = attacco eroe

    variabile difesa eroe= difesa fisica eroe

    variabile hp mostro= 20

    variabile difesa mostro= random(7,14)

    variabile attacco mostro= random(7,14)

    switch battle off=on

    nuova pagina

    trigger: action key

    condizioni avvio: switch battle off =on

     

     

    EV.2

    grafica: mostro

    movement animation

    hero touch

     

    command:

    key imput process. variabile "invio"

    wait 4 frames

    conditional branch: key a pushed

    show battle animation: sword sul mostro

    variabile forza eroe - variabile difesa mostro

    hp mostro - forza eroe

    forza eroe = attacco eroe

    difesa mostro= random (7,14)

    conditional branch:hp mostro min o uguale a 0

    switch mostro morto on

    end

    else

    show animation axe su eroe

    forza mostro - difesa eroe

    hp eroe - forza mostro

    forza mostro= random (7,14)

    difesa eroe= difesa fisica eroe

    conditional branch: hp eroe min. o uguale a 0

    game over

    end

    end

     

    nuva pagina:

    action key

    condizioni: switch mostro morto on

     

     

    D: dove cacchio ho sbagliato????????????

     

     

    MODIFICA MESSAGGIO:

    HO RISOLTO DA SOLO.... E SINCERAMENTE... Dà MOLTA PIù SODDIDFAZIONE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  8. D: Dopo aver inserito lo script per l' ABS di Mr. Mo l'eroe è diventato orribilmente lento, e anche i messaggi, gli altri personaggi e tutto il gioco in generale. Ho notato che succede lo stesso anche nella demo di Mo. Come posso risolvere???? Grazie in anticipo.

    scusate non ho messo in rosso......

  9. D: Dopo aver inserito lo script per l' ABS di Mr. Mo l'eroe è diventato orribilmente lento, e anche i messaggi, gli altri personaggi e tutto il gioco in generale. Ho notato che succede lo stesso anche nella demo di Mo. Come posso risolvere???? Grazie in anticipo.

  10. per un certo periodo ho usato rpgmxp 1.01.

    poi sono passato a 1.02... che è sicuramente migliore. Solo che.......

    nella versione 1.01 nell' evento "Message" potevo scrivere 4 righe nella finestra di un messaggio mentre

    nella versione 1.02 mi fa scrivere solo 3 righe. inoltre, quando faccio il test play, i messaggi appaiono.... in grassetto.

     

    D: Devo modificare lo script per risolvere? Se si, come?

     

    Grazie ;)

×
×
  • Create New...