- Сообщений: 1640
- Спасибо получено: 1080
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
Проходимость и подобное
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
13 года 3 нед. назад #59896
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer создал тему: Проходимость и подобное
Форумчане! Делую небольшую игру на VxAce и есть парочка вещей, которые не могу нормально реализовать.
1. Как сделать эвент проходимым только с двух сторон?(верх вниз и вправо влево) Эвент пустой, в нем анимация.
Пытался сделать через тайл, т.к. там можно настроить это все, но не понял как делать анимированный тайлсет.
2. Знает ли кто, как заставить событие сдвинуться от игрока, с проверкой на проходимость?(Например колонна) Где то видел скрипт, но он был на xp, к Ace адаптировать не смог(
3. Можно ли заставить событие сработать после того, как гг СОШЕЛ с него. Может есть какой скрипт?
Очень надеюсь на помощь.
1. Как сделать эвент проходимым только с двух сторон?(верх вниз и вправо влево) Эвент пустой, в нем анимация.
Пытался сделать через тайл, т.к. там можно настроить это все, но не понял как делать анимированный тайлсет.
2. Знает ли кто, как заставить событие сдвинуться от игрока, с проверкой на проходимость?(Например колонна) Где то видел скрипт, но он был на xp, к Ace адаптировать не смог(
3. Можно ли заставить событие сработать после того, как гг СОШЕЛ с него. Может есть какой скрипт?
Очень надеюсь на помощь.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
13 года 3 нед. назад #59897
от caveman
caveman ответил в теме Проходимость и подобное
1. Если в Ace можно запилить пустой тайл (в картинке удалить квадрат 32*32) как в XP, то просто подставь тайл под евент, настроив предварительно у тайла проходимость. А у евента проставь THROUGH = true.
2. Mожно вызывать функцию $game_map.passable?(x, y, d), где x, y - координаты проверяемого тайла, d - направление (2, 4, 6,
.
def passable?(x, y, d)
check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f)
end
допиши у себя аналог её, который берет координаты х, y из переменных и вызывает эту функцию, типа
def passable?(d)
x = $game_variables[1]
y = $game_variables[2]
check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f)
end
а перед вызовом заполняй эти переменные будущими координатами своей колонны
3. Пользуй параллельное событие, которое активируется по switch, который ставится в true, когда ты встанешь на то событие. В этом параллельном событии (при включенном свитче) ты просто проверяешь, совпадают ли координаты игрока с событием. Если нет - выключай тот свитч и активируй свое событие.
2. Mожно вызывать функцию $game_map.passable?(x, y, d), где x, y - координаты проверяемого тайла, d - направление (2, 4, 6,
.def passable?(x, y, d)
check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f)
end
допиши у себя аналог её, который берет координаты х, y из переменных и вызывает эту функцию, типа
def passable?(d)
x = $game_variables[1]
y = $game_variables[2]
check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f)
end
а перед вызовом заполняй эти переменные будущими координатами своей колонны
3. Пользуй параллельное событие, которое активируется по switch, который ставится в true, когда ты встанешь на то событие. В этом параллельном событии (при включенном свитче) ты просто проверяешь, совпадают ли координаты игрока с событием. Если нет - выключай тот свитч и активируй свое событие.
Спасибо сказали: strelokhalfer
Тема заблокирована.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
13 года 3 нед. назад - 13 года 3 нед. назад #59901
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Проходимость и подобное
Спасибо за ответ!
1. А можно ли сделать тайл проходимым в одностороннем порядке? Т.е. снизу вверх пройти можно, но не наоборот.
2. А можно по подробнее? В скриптах не силен. Переменные заполнял
3. Более менее понял.
1. А можно ли сделать тайл проходимым в одностороннем порядке? Т.е. снизу вверх пройти можно, но не наоборот.
2. А можно по подробнее? В скриптах не силен. Переменные заполнял
3. Более менее понял.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 13 года 3 нед. назад пользователем strelokhalfer.
Тема заблокирована.
13 года 3 нед. назад #59902
от DeadElf79
DeadElf79 ответил в теме Проходимость и подобное
Ответ на третий вопрос из первого поста недавно нашел на одном форуме:
Код:
=begin
#===============================================================================
Title: Custom Event Triggers
Author: Tsukihime
Date: Apr 9, 2013
** Change log
Apr 9
- implemented parallel processing for all custom triggers
Apr 8
- added "region enter" trigger
- added "region leave" trigger
Apr 5
- added "event_to_event" trigger
Apr 4, 2013
- added "timer_expire" trigger
- Initial release
** Terms of Use
* Free to use in commercial/non-commercial projects
* No real support. The script is provided as-is
* Will do bug fixes, but no compatibility patches
* Features may be requested but no guarantees, especially if it is non-trivial
* Credits to Tsukihime in your project
* Preserve this header
** Description
This script provides additional event triggers.
The built-in event triggers include
Action Trigger
Player Touch
Event Touch
Autorun
Parallel Process
This script provides additional triggers.
** Installation
Place this below Materials and above Main
** Usage
To specify a custom page trigger, create a comment of the form
<page trigger: trigger_name>
Where `trigger_name` is one of the available custom event triggers.
-- Extended trigger data --
This script adds "extended data" to the trigger.
Certain triggers may use this data to determine how to run.
The general format for extended trigger data is
<page trigger: trigger_name ext_data>
Where ext_data is any string. Check the reference to see what kinds of
extended data may be required for each trigger.
-- Parallel Triggers --
All event pages using custom triggers can be set as parallel processes if
you set the trigger to Parallel Process. However, the difference is that
rather than running constantly, they will begin to run only when their
activation condition is met. However, after they begin running they will
continue to run until the page is changed.
** Reference
Here is a list of available triggers and their trigger timing. The timing
indicates when the page will be checked.
Name: Player_Leave
Time: Triggered when the player steps off an event. Note that this means the
event must have below-character priority.
Ext: None
Name: Timer_Expire
Time: Triggered when the game timer expires (eg: it goes to zero)
Ext: None
Name: Event_To_Event
Time: Triggered when an event comes into contact with another event (using the
"event touch" rules)
Ext: Takes a list of event ID's. Only the specified event ID's can trigger
this event. When no ext data is specified, then any event can
trigger this event. Use -1 if you want the player to trigger it as well
Name: Region_Enter
Time: Triggered when a player enters a particular region. Does not check if
the player is already in the region
Ext: Takes a list of region ID's
Name: Region_Leave
Time: Triggered when a player leaves a particular region
Ext: Takes a list of region ID's
#===============================================================================
=end
$imported = {} if $imported.nil?
$imported["TH_CustomEventTriggers"] = true
#===============================================================================
# ** Configuration
#===============================================================================
module TH
module Custom_Event_Triggers
#===============================================================================
# ** Rest of script
#===============================================================================
Trigger_Table = {
# default triggers
:action_trigger => 0,
:player_touch => 1,
:event_touch => 2,
:autorun => 3,
:parallel_process => 4,
# custom triggers
:player_leave => 5,
:timer_expire => 6,
:event_to_event => 7,
:region_enter => 8,
:region_leave => 9
}
Regex = /<page trigger:\s*(\w+)\s*(.*)>/i
end
end
#
#
#
module RPG
class Event::Page
def parallel_process?
return @old_trigger == 4
end
#
# Load any custom triggers, if necessary
#
alias :th_custom_event_triggers_trigger :trigger
def trigger
parse_event_triggers unless @custom_event_triggers_checked
th_custom_event_triggers_trigger
end
#
# Extended trigger data. Use depends on the trigger type
#
def trigger_ext
return @trigger_ext unless @trigger_ext.nil?
parse_event_triggers unless @custom_event_triggers_checked
return @trigger_ext
end
#
# Returns a symbol representing the trigger type. These are the keys in
# the trigger table above
#
def trigger_type
return @trigger_type unless @trigger_type.nil?
parse_event_triggers unless @custom_event_triggers_checked
return @trigger_type
end
#
# Search for a page trigger comment
#
def parse_event_triggers
@old_trigger = @trigger
@trigger_ext = ""
@list.each do |cmd|
if cmd.code == 108 && cmd.parameters[0] =~ TH::Custom_Event_Triggers::Regex
@trigger_type = $1.downcase.to_sym
@trigger = TH::Custom_Event_Triggers::Trigger_Table[@trigger_type]
@trigger_ext = parse_extended_trigger($2)
end
end
@custom_event_triggers_checked = true
end
#
# Parse the extended data according to the trigger type. Different triggers
# may expect different input
#
def parse_extended_trigger(data)
case @trigger_type
when :event_to_event, :region_enter, :region_leave
@trigger_ext = data.split.map{|val| val.to_i}
else
@trigger_ext = data
end
end
end
end
#
#
#
class Game_Timer
#
# Check map events for any events that trigger on time expiry
#
alias :th_custom_event_triggers_on_expire :on_expire
def on_expire
th_custom_event_triggers_on_expire
$game_map.events.each_value do |event|
event.check_event_trigger_on_timer_expire([6])
end
end
end
#
#
#
class Game_Player < Game_Character
attr_reader :last_region_id
attr_reader :last_x
attr_reader :last_y
alias :th_custom_event_triggers_update :update
def update
store_previous_position unless moving?
th_custom_event_triggers_update
end
alias :th_custom_event_triggers_update_nonmoving :update_nonmoving
def update_nonmoving(last_moving)
th_custom_event_triggers_update_nonmoving(last_moving)
return if $game_map.interpreter.running?
if last_moving
check_player_leave_event
if @last_region_id != self.region_id
check_player_region_enter_events
check_player_region_leave_events
end
end
end
#
# Check for events with event-to-event trigger as well, in case the player
# also triggers it
#
alias :th_custom_event_triggers_check_event_trigger_touch :check_event_trigger_touch
def check_event_trigger_touch(x, y)
th_custom_event_triggers_check_event_trigger_touch(x, y)
return if $game_map.interpreter.running?
start_map_event(x, y, [7], true)
end
#
# New. Keep track of most recent position
#
def store_previous_position
@last_real_x = @real_x
@last_real_y = @real_y
@last_x = @x
@last_y = @y
@last_region_id = self.region_id
end
#
# New. Determines if any events at the player's previous position should be
# triggered
#
def check_player_leave_event
check_event_trigger_before([5])
end
#
# New. Check any events in the player's previous position
#
def check_event_trigger_before(triggers)
start_map_event(@last_x, @last_y, triggers, false)
end
#
# New. Check any events in the player's previous position
#
def check_player_region_enter_events
$game_map.events.each_value do |event|
event.check_event_trigger_on_region_enter
end
end
def check_player_region_leave_events
$game_map.events.each_value do |event|
event.check_event_trigger_on_region_leave
end
end
end
class Game_Event < Game_Character
alias :th_custom_event_triggers_start :start
def start
return if empty?
p 'here'
if @page.parallel_process?
@interpreter = Game_Interpreter.new
else
th_custom_event_triggers_start
end
end
#
# New. Returns the extended trigger data
#
def trigger_ext
@page.nil? ? [] : @page.trigger_ext
end
#
# Start an event if timer expires
#
def check_event_trigger_on_timer_expire(triggers)
start if trigger_in?(triggers)
end
#
# First check event touch with player, then event touch with event
#
alias :th_custom_event_triggers_check_event_trigger_touch :check_event_trigger_touch
def check_event_trigger_touch(x, y)
th_custom_event_triggers_check_event_trigger_touch(x, y)
return if $game_map.interpreter.running?
check_event_to_event_touch(x, y, [7])
end
#
# Check whether events coming into contact should trigger
#
def check_event_to_event_touch(x, y, triggers)
$game_map.events_xy(x, y).each do |event|
next unless event.trigger_in?(triggers)
event.start if event.trigger_ext.empty? || event.trigger_ext.include?(@id)
end
end
#
# Check whether events should run due to player entering a region
#
def check_event_trigger_on_region_enter
start if @trigger == 8 && trigger_ext.include?($game_player.region_id)
end
#
# Check whether events should run due to player leaving a region
#
def check_event_trigger_on_region_leave
start if @trigger == 9 && trigger_ext.include?($game_player.last_region_id)
end
end
Код:
ВНИМАНИЕ: Спойлер!
=begin
#===============================================================================
Title: Custom Event Triggers
Author: Tsukihime
Date: Apr 9, 2013
** Change log
Apr 9
- implemented parallel processing for all custom triggers
Apr 8
- added "region enter" trigger
- added "region leave" trigger
Apr 5
- added "event_to_event" trigger
Apr 4, 2013
- added "timer_expire" trigger
- Initial release
** Terms of Use
* Free to use in commercial/non-commercial projects
* No real support. The script is provided as-is
* Will do bug fixes, but no compatibility patches
* Features may be requested but no guarantees, especially if it is non-trivial
* Credits to Tsukihime in your project
* Preserve this header
** Description
This script provides additional event triggers.
The built-in event triggers include
Action Trigger
Player Touch
Event Touch
Autorun
Parallel Process
This script provides additional triggers.
** Installation
Place this below Materials and above Main
** Usage
To specify a custom page trigger, create a comment of the form
<page trigger: trigger_name>
Where `trigger_name` is one of the available custom event triggers.
-- Extended trigger data --
This script adds "extended data" to the trigger.
Certain triggers may use this data to determine how to run.
The general format for extended trigger data is
<page trigger: trigger_name ext_data>
Where ext_data is any string. Check the reference to see what kinds of
extended data may be required for each trigger.
-- Parallel Triggers --
All event pages using custom triggers can be set as parallel processes if
you set the trigger to Parallel Process. However, the difference is that
rather than running constantly, they will begin to run only when their
activation condition is met. However, after they begin running they will
continue to run until the page is changed.
** Reference
Here is a list of available triggers and their trigger timing. The timing
indicates when the page will be checked.
Name: Player_Leave
Time: Triggered when the player steps off an event. Note that this means the
event must have below-character priority.
Ext: None
Name: Timer_Expire
Time: Triggered when the game timer expires (eg: it goes to zero)
Ext: None
Name: Event_To_Event
Time: Triggered when an event comes into contact with another event (using the
"event touch" rules)
Ext: Takes a list of event ID's. Only the specified event ID's can trigger
this event. When no ext data is specified, then any event can
trigger this event. Use -1 if you want the player to trigger it as well
Name: Region_Enter
Time: Triggered when a player enters a particular region. Does not check if
the player is already in the region
Ext: Takes a list of region ID's
Name: Region_Leave
Time: Triggered when a player leaves a particular region
Ext: Takes a list of region ID's
#===============================================================================
=end
$imported = {} if $imported.nil?
$imported["TH_CustomEventTriggers"] = true
#===============================================================================
# ** Configuration
#===============================================================================
module TH
module Custom_Event_Triggers
#===============================================================================
# ** Rest of script
#===============================================================================
Trigger_Table = {
# default triggers
:action_trigger => 0,
:player_touch => 1,
:event_touch => 2,
:autorun => 3,
:parallel_process => 4,
# custom triggers
:player_leave => 5,
:timer_expire => 6,
:event_to_event => 7,
:region_enter => 8,
:region_leave => 9
}
Regex = /<page trigger:\s*(\w+)\s*(.*)>/i
end
end
#
#
#
module RPG
class Event::Page
def parallel_process?
return @old_trigger == 4
end
#
# Load any custom triggers, if necessary
#
alias :th_custom_event_triggers_trigger :trigger
def trigger
parse_event_triggers unless @custom_event_triggers_checked
th_custom_event_triggers_trigger
end
#
# Extended trigger data. Use depends on the trigger type
#
def trigger_ext
return @trigger_ext unless @trigger_ext.nil?
parse_event_triggers unless @custom_event_triggers_checked
return @trigger_ext
end
#
# Returns a symbol representing the trigger type. These are the keys in
# the trigger table above
#
def trigger_type
return @trigger_type unless @trigger_type.nil?
parse_event_triggers unless @custom_event_triggers_checked
return @trigger_type
end
#
# Search for a page trigger comment
#
def parse_event_triggers
@old_trigger = @trigger
@trigger_ext = ""
@list.each do |cmd|
if cmd.code == 108 && cmd.parameters[0] =~ TH::Custom_Event_Triggers::Regex
@trigger_type = $1.downcase.to_sym
@trigger = TH::Custom_Event_Triggers::Trigger_Table[@trigger_type]
@trigger_ext = parse_extended_trigger($2)
end
end
@custom_event_triggers_checked = true
end
#
# Parse the extended data according to the trigger type. Different triggers
# may expect different input
#
def parse_extended_trigger(data)
case @trigger_type
when :event_to_event, :region_enter, :region_leave
@trigger_ext = data.split.map{|val| val.to_i}
else
@trigger_ext = data
end
end
end
end
#
#
#
class Game_Timer
#
# Check map events for any events that trigger on time expiry
#
alias :th_custom_event_triggers_on_expire :on_expire
def on_expire
th_custom_event_triggers_on_expire
$game_map.events.each_value do |event|
event.check_event_trigger_on_timer_expire([6])
end
end
end
#
#
#
class Game_Player < Game_Character
attr_reader :last_region_id
attr_reader :last_x
attr_reader :last_y
alias :th_custom_event_triggers_update :update
def update
store_previous_position unless moving?
th_custom_event_triggers_update
end
alias :th_custom_event_triggers_update_nonmoving :update_nonmoving
def update_nonmoving(last_moving)
th_custom_event_triggers_update_nonmoving(last_moving)
return if $game_map.interpreter.running?
if last_moving
check_player_leave_event
if @last_region_id != self.region_id
check_player_region_enter_events
check_player_region_leave_events
end
end
end
#
# Check for events with event-to-event trigger as well, in case the player
# also triggers it
#
alias :th_custom_event_triggers_check_event_trigger_touch :check_event_trigger_touch
def check_event_trigger_touch(x, y)
th_custom_event_triggers_check_event_trigger_touch(x, y)
return if $game_map.interpreter.running?
start_map_event(x, y, [7], true)
end
#
# New. Keep track of most recent position
#
def store_previous_position
@last_real_x = @real_x
@last_real_y = @real_y
@last_x = @x
@last_y = @y
@last_region_id = self.region_id
end
#
# New. Determines if any events at the player's previous position should be
# triggered
#
def check_player_leave_event
check_event_trigger_before([5])
end
#
# New. Check any events in the player's previous position
#
def check_event_trigger_before(triggers)
start_map_event(@last_x, @last_y, triggers, false)
end
#
# New. Check any events in the player's previous position
#
def check_player_region_enter_events
$game_map.events.each_value do |event|
event.check_event_trigger_on_region_enter
end
end
def check_player_region_leave_events
$game_map.events.each_value do |event|
event.check_event_trigger_on_region_leave
end
end
end
class Game_Event < Game_Character
alias :th_custom_event_triggers_start :start
def start
return if empty?
p 'here'
if @page.parallel_process?
@interpreter = Game_Interpreter.new
else
th_custom_event_triggers_start
end
end
#
# New. Returns the extended trigger data
#
def trigger_ext
@page.nil? ? [] : @page.trigger_ext
end
#
# Start an event if timer expires
#
def check_event_trigger_on_timer_expire(triggers)
start if trigger_in?(triggers)
end
#
# First check event touch with player, then event touch with event
#
alias :th_custom_event_triggers_check_event_trigger_touch :check_event_trigger_touch
def check_event_trigger_touch(x, y)
th_custom_event_triggers_check_event_trigger_touch(x, y)
return if $game_map.interpreter.running?
check_event_to_event_touch(x, y, [7])
end
#
# Check whether events coming into contact should trigger
#
def check_event_to_event_touch(x, y, triggers)
$game_map.events_xy(x, y).each do |event|
next unless event.trigger_in?(triggers)
event.start if event.trigger_ext.empty? || event.trigger_ext.include?(@id)
end
end
#
# Check whether events should run due to player entering a region
#
def check_event_trigger_on_region_enter
start if @trigger == 8 && trigger_ext.include?($game_player.region_id)
end
#
# Check whether events should run due to player leaving a region
#
def check_event_trigger_on_region_leave
start if @trigger == 9 && trigger_ext.include?($game_player.last_region_id)
end
end
Спасибо сказали: strelokhalfer
Тема заблокирована.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
13 года 3 нед. назад #59903
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Проходимость и подобное
Решение в виде скрипта не плохо, но придется разбираться.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
13 года 3 нед. назад #59904
от caveman
caveman ответил в теме Проходимость и подобное
ежели дотерпишь до вечера - соберу дома демку с ответами на все вопросы
Тема заблокирована.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
13 года 3 нед. назад #59905
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Проходимость и подобное
Хорошо, пока над другим поработаю)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
13 года 3 нед. назад #59906
от caveman
Как вариант - предлагаю вот что: окружить твое событие (назову его EV) пустыми событиями с 4х сторон, которые срабатывают по касанию игрока. В них пишешь: для событий снизу и слева (откуда можешь пройти) Set Move Route у EV ставишь THROUGH = ON; у остальных (откуда не можешь пройти) - Set Move Route у EV и THROUGH = OFF.
caveman ответил в теме Проходимость и подобное
Нет, нельзя. Более того, попробовал в событии менять THROUGH - получаются какие-то чудеса с тем, что событие потом более не срабатывает, в общем, муть.1. А можно ли сделать тайл проходимым в одностороннем порядке? Т.е. снизу вверх пройти можно, но не наоборот.
Как вариант - предлагаю вот что: окружить твое событие (назову его EV) пустыми событиями с 4х сторон, которые срабатывают по касанию игрока. В них пишешь: для событий снизу и слева (откуда можешь пройти) Set Move Route у EV ставишь THROUGH = ON; у остальных (откуда не можешь пройти) - Set Move Route у EV и THROUGH = OFF.
Тема заблокирована.
13 года 3 нед. назад #59907
от caveman
caveman ответил в теме Проходимость и подобное
rghost.ru/45402305
тут примерчик
Тема заблокирована.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
13 года 3 нед. назад - 13 года 3 нед. назад #59909
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Проходимость и подобное
Запаралелить придется, по координатам вычислять(
Но за помощь спасибо! Сейчас рассмотрю твой примерчик.
Но за помощь спасибо! Сейчас рассмотрю твой примерчик.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 13 года 3 нед. назад пользователем strelokhalfer.
Тема заблокирована.
13 года 3 нед. назад #59910
от caveman
caveman ответил в теме Проходимость и подобное
ну или параллелить, если нет возможности поместить пустышки рядом. Самое главное, как я вот сегодня выяснил, ставить THROUGH до того, как ты залез на это событие, иначе какая-то фигня получается. У меня выходило, что после первого прохода событие переставало реагировать на игрока.
Тема заблокирована.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
13 года 3 нед. назад #59911
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Проходимость и подобное
О! Так просто, даже стыдно что не допер)
А как насчет 2 пункта? В руби не силен совсем, есть хорошие самоучители?
А как насчет 2 пункта? В руби не силен совсем, есть хорошие самоучители?
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
13 года 3 нед. назад #59912
от caveman
caveman ответил в теме Проходимость и подобное
я еще на работе, так что позже... в XP в своей игре (тут демо валяется), я подобное делал.
Тема заблокирована.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
13 года 3 нед. назад #59913
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Проходимость и подобное
Ааа, дак я с твоей игры то код и стырил)
Когда кстати ее доделаешь?
Покумекаю, может сам смогу адаптировать) Базовые знания то имеются)
Когда кстати ее доделаешь?
Покумекаю, может сам смогу адаптировать) Базовые знания то имеются)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
13 года 3 нед. назад #59915
от caveman
caveman ответил в теме Проходимость и подобное
rghost.ru/45406464
- тут по поводу пункта два. Сам метод я поместил в скриптах в файл ТЕСТ сразу над Main.
Погоняй шарик
Доделаю нескоро, к середине лета по оптимистическим настроениям.
Погоняй шарик
Доделаю нескоро, к середине лета по оптимистическим настроениям.
Спасибо сказали: strelokhalfer
Тема заблокирована.
13 года 3 нед. назад - 13 года 3 нед. назад #59916
от Cerberus
Жуть болотная, на лапках, в тапках и с пулемётом...
Cerberus ответил в теме Проходимость и подобное
Скрипты, скрипты... Если надо толкнуть на один шаг - то это элементарно делается эвентом. Если до первого препятствия - то похитрее и с накладными расходами (1-3 свитча, в зависимости от условия, и одна переменная).
На один шаг:
До первого препятствия, герой может двигаться:
До первого препятствия, герой ждёт:
Конечно, если не обходиться принципиально одними эвентами - можно и без большей части накладных расходов (один свитч всё равно нужен), но я решил не заморачиваться. Алгоритм всё равно тот же.
На один шаг:
До первого препятствия, герой может двигаться:
До первого препятствия, герой ждёт:
Конечно, если не обходиться принципиально одними эвентами - можно и без большей части накладных расходов (один свитч всё равно нужен), но я решил не заморачиваться. Алгоритм всё равно тот же.
Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 13 года 3 нед. назад пользователем Cerberus.
Спасибо сказали: strelokhalfer
Тема заблокирована.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
13 года 3 нед. назад #59932
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Проходимость и подобное
Всем спасибо за помощь!
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
Время создания страницы: 0.121 секунд
