Guest Access
Go to page : 1, 2, 3
Administrator
Administrator
Administrator
profile
G@MeF@Ce
profile
Yo shogun3 - just curious, what did you end up using?
I know it's been over a year but I haven't forgotten about this and still look forward to the Fist's RPG.
I know it's been over a year but I haven't forgotten about this and still look forward to the Fist's RPG.
Administrator
Show Signature
ACTIVATED
ACTIVATED
ACTIVATED
profile
shogun3
profile
I decided to use xas only.. cuz I want the game to be a sidescroller... I am waiting for the new realease to keep working on the code
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
Administrator
profile
G@MeF@Ce
profile
action side scroller!? NICE! now you are talking my language
just sent you a PM with an early version of the latest Xplat project yet to come.
Maybe this could be used as your starter kit?
edit: yo sho, did you get a chance to look at the project I sent you?
just sent you a PM with an early version of the latest Xplat project yet to come.
Maybe this could be used as your starter kit?
edit: yo sho, did you get a chance to look at the project I sent you?
Administrator
Show Signature
ACTIVATED
ACTIVATED
ACTIVATED
profile
shogun3
profile
I did and it's really good, the only problem I have with xas 3.91 is that the sized event script
I use in my project is not compatible with the xas scripts, and to me that script is crucial since I use bigger sprites...
I use in my project is not compatible with the xas scripts, and to me that script is crucial since I use bigger sprites...
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
Administrator
profile
G@MeF@Ce
profile
yo sho - check the BATTLER script, line 201
A = the enemy ID
B = the size of the body square
you may not need the sized event script after all...
- Code:
BODY_SQUARE = {
A=>B
}
A = the enemy ID
B = the size of the body square
you may not need the sized event script after all...
Administrator
Show Signature
ACTIVATED
ACTIVATED
ACTIVATED
profile
shogun3
profile
yeah but the sized event script actually gives u the chance to interact with more than one tile of a sprite whereas the body square thingy is just hit detection for the tools...
maybe someone can make it compatible with the newer version of xas...
maybe someone can make it compatible with the newer version of xas...
ACTIVATED
Show Signature
ACTIVATED
Administrator
Administrator
Administrator
profile
G@MeF@Ce
profile
I'll take a swing at it ~> [You must be registered and logged in to see this link.]
Administrator
Show Signature
ACTIVATED
ACTIVATED
EVENTALIST
EVENTALIST
EVENTALIST
profile
Well not that i don't support XAS or anything seeing as its a great ABS. But WABS has what you want basically build into it, granted it's not complete yet still in alpha. The AI team mates are event clones and have their own built in HUDS. < Looking like an aid for you. Granted XAS can do it too but not with out some additional programing and eventing.
Granted that wont be an option seeing all the work you have already put into the project.
Also here
mr_wiggles
profile
shogun3 wrote:I noticed that some of you guys seem pretty skilled when it comes to scripting and eventing, so I hope you don't mind if I ask you a question regarding a feature I would like to implement in the tactical battle system I'm using (Gubid) which allows for the placement of extra party members and troops on the battlefield.
While these extra troop members are able to move/attack/die like their counterparts, I can't use conditional switches to call events when they are hit, have a state inflicted, etc. because the drop down menu only lists 8 enemies. Example: If enemy#8 has state "Hit" inflicted==>show picture 3.
Do you guys think it's impossible to do so through events?
Well not that i don't support XAS or anything seeing as its a great ABS. But WABS has what you want basically build into it, granted it's not complete yet still in alpha. The AI team mates are event clones and have their own built in HUDS. < Looking like an aid for you. Granted XAS can do it too but not with out some additional programing and eventing.
Granted that wont be an option seeing all the work you have already put into the project.
Also here
shogun3 wrote:yeah but the sized event script actually gives u the chance to interact with more than one tile of a sprite whereas the body square thingy is just hit detection for the tools...
maybe someone can make it compatible with the newer version of xas...
- Code:
#===============================================================================
# Bigger Event Interaction
#===============================================================================
# By: Mr_Wiggles
# Version: 1.0
# 2/5/13
#-------------------------------------------------------------------------------
# Events always grow to the LEFT!, odd tiled events are centered after moving
# left.
#
# Create an event with a comment in an event in the TOP 10 LINES!
# BIGEVENT <size x> <size y>
#
# i.e. "BIGEVENT 2 2" will make an event 2 tiles by 2 tiles large.
#===============================================================================
module BigEvent
# INCREMENT
Increment = 1
def self.front_pos_large_event?(event)
# Calculate player new position
d = $game_player.direction
new_x = $game_player.x + (d == 6 ? Increment : d == 4 ? -Increment : 0)
new_y = $game_player.y + (d == 2 ? Increment : d == 8 ? -Increment : 0)
# Calculate event offset (ie size delta)
event_new_size = event.check_event_size
if (event_new_size==false)
ex, ey = 0,0
else
ex ,ey = event_new_size
end
# Calculate event min and max coordinates
p1, p2 = event.x - ex, event.y - ey
p3, p4 = event.x, event.y
plx, ply = new_x, new_y
# Verify if player new position is inside event min and max coordinates
if (plx >= p1 and plx <= p3) and (ply >= p2 and ply <= p4)
return true
else
return false
end
end
end
class Game_Event < Game_Character
attr_accessor :hasBeenLift
alias :bigev_init :initialize
def initialize(*args)
bigev_init(*args)
check_event_size # run first to make sprites aligned correctly
@hasBeenLift=false
#File.open("debug.txt", 'a') {|f| f.write(self.inspect) } if (@newsize != false)
end
def check_event_size
return @newsize unless @newsize.nil?
list = @event.pages[0].list
for i in 0..9 # check top 10 lines
line = list[i]
next if line.nil?
command = line.parameters[0]
break unless command.is_a?(String)
next if command.nil?
command = command.split
if command.include?("BIGEVENT")
sizex = command[1].to_i - 1
sizey = command[2].to_i - 1
#DEBUG.write("sizex="+sizex.to_s+",sizey="+sizey.to_s)
end
end
if sizex.nil? or sizey.nil?
@newsize = false
else
@newsize = [sizex, sizey]
end
return @newsize
end
def screen_x
if @newsize.is_a?(Array)
extra = (@newsize[0] % 2 == 0) ? -16 : 0 # even odd offset
return (@real_x - $game_map.display_x + 3) / 4 + extra
end
return (@real_x - $game_map.display_x + 3) / 4 + 16
end
end
class Game_Player < Game_Character
alias :bigev_passable? :passable?
def passable?(x, y, d)
for event in $game_map.events.values
event_new_size = event.check_event_size
#DEBUG.write("PASSABLE="+ (!(event.hasBeenLift == true && event.throw_active == false && event_new_size && check_large_event(event, event_new_size, d))).to_s)
return false if event.hasBeenLift == false && event.throw_active == false && event_new_size && check_large_event(event, event_new_size, d)
end
#DEBUG.write("COND3="+bigev_passable?(x, y, d).to_s)
return bigev_passable?(x, y, d)
end
def check_large_event(event, size, dir = nil)
#DEBUG.write("Size:#{size} Colision with: #{event.id} and this: #{self.id}")
ex, ey = size
p1, p2 = event.x - ex, event.y - ey
p3, p4 = event.x, event.y
plx, ply = (self.x), (self.y)
if dir != nil
plx = plx + (dir == 6 ? 1 : dir == 4 ? -1 : 0)
ply = ply + (dir == 2 ? 1 : dir == 8 ? -1 : 0)
end
#DEBUG.write("EVENT original=["+p3.to_s+","+p4.to_s+"] corrected=["+p1.to_s+","+p2.to_s+"], PLAYER origin=["+(self.x).to_s+","+self.y.to_s+"], PLAYER cible=["+plx.to_s+","+ply.to_s+"]")
if (plx >= p1 and plx <= p3) and (ply >= p2 and ply <= p4)
#DEBUG.write("Passable=false")
return true
end
#DEBUG.write("Passable=true")
return false # passable
end
#--------------------------------------------------------------------------
# ? Can Pickup?
#--------------------------------------------------------------------------
def pickup_event
return if @pickup_lock
return if @pickup_lock_time > 0
return if $game_system.map_interpreter.running?
return if $game_switches[XASTHROW_ACTIVE_SWITCH_ID] == false
#return if $game_switches[76] = true
return if jumping?
return if @swimming
return if $game_temp.cast_time > 0
$game_map.events.each_value do |event|
front_pos = BigEvent::front_pos_large_event?(event)
#DEBUG.write("pickup_event[" + event.id.to_s + "] front_pos=" + front_pos.to_s)
if front_pos
next if event.throw == 0
next if event.erased
next if event.collapsing?
next if event.through
next if event.throw_weight > @throw_weight_max.to_i
if event.battler != nil and not event.battler.e_item
next if event.battler.dead?
$game_temp.carry_time = Graphics.frame_rate * XAS::ENEMY_CARRY_TIME
event.blow(0,0)
end
@pickup_lock_time = 15
event.throw_active = true
#LEPAS33
event.hasBeenLift=true
$throw_active=true
@pickup_lock = true
@need_refresh_pose = true
#Baf Edit : Added lift SE
$game_system.se_play(XAS::LIFT_SE)
event.jump(0,0)
event.x = @x
event.y = @y
event.pre_move_speed = event.move_speed
event.move_speed = 7
end
end
end
end
EVENTALIST
Show Signature
EVENTALIST
Administrator
Administrator
Administrator
profile
G@MeF@Ce
profile
awesome Sho + (checking out the demo, you know I'm such a FOTNS fan +)
awesome wiggles + (big event script? @,@)
awesome wiggles + (big event script? @,@)
Administrator
Show Signature
Go to page : 1, 2, 3