Main Menu
  • Welcome to The RPG Maker Resource Kit.

Party Help

Started by Majestic Wolf, February 06, 2006, 05:56:41 AM

0 Members and 1 Guest are viewing this topic.

Majestic Wolf

I've been trying to make it so all 4 party members when walking around, their sprites show up instead of the first person on the list. Everything I've tried so far hasn't worked, or I'm doing it wrong.

Just wondering what commands/scripts I may need for this to work

Thanks in advance, and don't flame, I'm just really confused

Also Known As:
Nec - Tactics Arena Online / MysticNec - Maple Story / [opiate] Mystic - Counter-Strike

haloOfTheSun

Caterpillar Script, Scripts Database

EDIT: The Scripts Database seems to have been cleaned out. O_o
:tinysmile:

Majestic Wolf

So any ideas how to solve this?
I don't think it is anything too hard, well I messed up, but I'm still learning. Basically all I want is for when your walking around on the screen it looks like this

X=Party Leader (aka character in first slot)
Party Member In Slot 2
Party Member In Slot 3
Party Member In Slot 4

So with that, this is what I would want. Just picture them walking to the right

XXXX

Also Known As:
Nec - Tactics Arena Online / MysticNec - Maple Story / [opiate] Mystic - Counter-Strike

blueXx

well i suppose you could make a common parallel process going like:

if button X is pushed then
-if member X is in the party then
--turn memberX switch on
-else
--turn memberX switch off (simply because this way you won't have to mass around with turning switches off)
(and then you do that for every hero you will have in the party)
after you are done with that you do:
-remove party member: X
-remove party member: every other party member that could be in there for the entire game
and then you get a message
-message: choose the leader:
loop
-if memberX is on then
--would you like member X to lead the party?
--show choices: yes,no
--upon yes:
---add party member X
---memberX switch = off
---end loop
--upon no:
---(nothing)
-if all the other member switch  = on then
--same for every other member
repeat

if member X switch = on then
-change party: + member X
if all the other member switches = on then
-change party: + any other member

hmm that should do the trick, if you face any problems tell me
the cata script work alot better no doubt though, cause it doesn't require any work
holy shit my sig was big!

thatsmypie

#
# Train_Actor
#
# fukuyama@alles.or.jp
#

# ????????????
# true ???????????
# TRAIN_ACTOR_TRANSPARENT_SWITCH = false
TRAIN_ACTOR_TRANSPARENT_SWITCH = true

# ????????????
# ??????????ON???????
TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX = 20

# ??
#Input::DOWN = 2
#Input::LEFT = 4
#Input::RIGHT = 6
#Input::UP = 8
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
#--------------------------------------------------------------------------
# ? ????
# turn_enabled : ?????????????????
#--------------------------------------------------------------------------
def move_down(turn_enabled = true)
# ????
if turn_enabled
turn_down
end
# ???????
if passable?(@x, @y, Input::DOWN)
# ????
turn_down
# ?????
@y += 1
end
end
#--------------------------------------------------------------------------
# ? ????
# turn_enabled : ?????????????????
#--------------------------------------------------------------------------
def move_left(turn_enabled = true)
# ????
if turn_enabled
turn_left
end
# ???????
if passable?(@x, @y, Input::LEFT)
# ????
turn_left
# ?????
@x -= 1
end
end
#--------------------------------------------------------------------------
# ? ????
# turn_enabled : ?????????????????
#--------------------------------------------------------------------------
def move_right(turn_enabled = true)
# ????
if turn_enabled
turn_right
end
# ???????
if passable?(@x, @y, Input::RIGHT)
# ????
turn_right
# ?????
@x += 1
end
end
#--------------------------------------------------------------------------
# ? ????
# turn_enabled : ?????????????????
#--------------------------------------------------------------------------
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 .. 4
@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 .. 4
@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 = $game_switches[TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX]
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
# ???? (0,0) ??????????????????
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

# -----------------------------------------------
# move_speed ??????????
# -----------------------------------------------
def get_move_speed
return @move_speed
end
end

class Game_Player
include Game_Player_Module
end


Thats the code(I think)

See if that works!

blueXx

woot where did you find it? ~_~
back to script db it should go
holy shit my sig was big!

Majestic Wolf

I haven't done any wokr with scripts yet :oops:
Where exactly in the database would I put that?

Also I have a quick question, I have a AI give you 4 Hi-Potions near the start before crossing a field incase you pretty much die, problem is everytime you talk to him you get the amount, basically you could get unlimited by talking to him constantly. How do I stop that, I'm guessing another event command?

Also when I receieve the items, it doesn't show, but I think I have to use a Message command for that. I'm not 100% sure but I'll play around with that problem till someones responds

Also Known As:
Nec - Tactics Arena Online / MysticNec - Maple Story / [opiate] Mystic - Counter-Strike

blueXx

that should answer the first:
http://www.crankeye.com/forums/viewtopic.php?t=4362

(lol i actually made it with the cata script  :^^: )

stopping that guy is easy, your event needs to look like

if switch donepots is off then
-message: person X: hello there ,here are your potions
-change items: potion + 4
-message: *obtained 4 potions*
-switch donepots = on
else
-message: person X: omg you again? i gave you the potions already
holy shit my sig was big!

GilgameshRO

Use a variable or a Switch.

After he gives you the potions have it turn on the switch (or add a number to the variable). Make a new page in that event and make the requirement that the previously metioned switch be on (or variable be a certain number). Then put somthing new for him to say or whatever you want to happen when you talk to him.

(note: This is the only time I will ever explain switches or variables to anyone.)

Majestic Wolf

I got the script working, no problems with that now.

But I'm screwing up with the switch/variable. This is what I have so far.

http://img155.imageshack.us/img155/9793/switchhelperoo9ie.png


*Sigh*

The thing with me is once you show me once and I understand, I won't ever ask again, and I bet I'm just not doing something right that is really easy :O_o:

Also Known As:
Nec - Tactics Arena Online / MysticNec - Maple Story / [opiate] Mystic - Counter-Strike

GilgameshRO


Majestic Wolf

Thanks for the help guys

Also Known As:
Nec - Tactics Arena Online / MysticNec - Maple Story / [opiate] Mystic - Counter-Strike