RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-50%
Le deal à ne pas rater :
-50% Baskets Nike Air Huarache Runner
69.99 € 139.99 €
Voir le deal

 

 Un familier (by Hareck)

Aller en bas 
4 participants
AuteurMessage
Hareck
Fou du Roi
Fou du Roi
Hareck


Masculin
Nombre de messages : 848
Age : 31
Projet(s) en cours : Un rogue like
Niveau Rpg Maker : Dieu ultime (no joke...), si on ne compte pas le ruby. Si on compte le ruby, juste Ultra bon. :)
Jeux Préférés : LoL, The Binding of Isaac, la série des TES, les rogues en général, et tant d'autre!
Date d'inscription : 25/07/2007

Un familier (by Hareck) Empty
MessageSujet: Un familier (by Hareck)   Un familier (by Hareck) EmptyLun 04 Aoû 2008, 23:57

Un autre moyen (de moi, avec un script déjà existant) :
Mettez ce script au dessus de main, et nommez le Train_Actor
Auteur : fukuyama

Code:

# Train_Actor
#
# fukuyama@alles.or.jp
# http://www4.big.or.jp/~fukuyama/
#

# ????????????
# 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

Ensuite :
Créez un objet que vous nommerez cage de *chat* si on veut que le familier sois un chat etc...

Ensuite, créer un héros. Nommez le chat (on suivra cette exemple).

Créer un évent commun. Nommez le Cage de chat.
Code:
Message : Voulez vous faire du chat qui est à l'intérieur votre familier?
Proposez un choix : Oui, Non.
Si : Oui
Ajouter à l'équipe le héros : Chat (que vous avez créez avant).
Retirer de l'inventaire l'objet : Cage de chat.
Si : Non
Message : Très bien.

Ensuite, créez un évent, donner lui l'apparence d'un vendeur.
Code:
Condition : Si l'interrupteur familier es activer :
Message : Vous avez déjà un familier.
Message : Voulez vous l'enlever de l'équipe? Mais attention, vous le perdrez définitivement.
Proposer un choix : Oui, non
  Si : Oui
  Message : Très bien.
  Retirer de l'équipe le héros : Chat.
  Si : Non
  Message : D'accort.
Sinon :
Message : Bienvenus dans mon magasin animalier. Voulez vous achetez quelque chose?
Proposer un choix : Oui, Non
Si : Oui
  Que voulez vous?
  Proposer un choix : Annimal de combat, Annimal de magie.
    Si : animal de combat
    Message : Attendez. J'ai peu-être ce qu'il vous faut.
    Message : ...
    Message : J'ai un chat! Il coute X Pièce d'or
    Message : Voulez vous l'acheter
      Proposer un choix : Oui, non
        Condition : Si l'argent possédé est supérieur ou égale à X pièce d'or :
        Activer l'interrupteur
        Ajouter à l'inventaire l'objet : Cage de chat.
        Sinon :
        Message : Désoler. Vous n'avez pas asser d'argent.
    Si : Animal de magie
    Message : Je suis désoler, mais nous n'avons rien.

  Si : Non
  Message : Hooo... Quel dommage.


Dernière édition par Hareck le Jeu 07 Aoû 2008, 22:23, édité 4 fois
Revenir en haut Aller en bas
http://www.shark-team.fr/index.php
demoniak
Acrobate
Acrobate
demoniak


Masculin
Nombre de messages : 108
Age : 30
Projet(s) en cours : "INT" (jouable) et "INT Civilisation"
Niveau Rpg Maker : Moyen moins
Jeux Préférés : D&D 4E, Deus Ex, AoE II, Alien Swarm
Date d'inscription : 23/05/2008

Un familier (by Hareck) Empty
MessageSujet: Re: Un familier (by Hareck)   Un familier (by Hareck) EmptyMar 05 Aoû 2008, 13:44

C'est pour Vx ou pour Xp ???

Sinon c'est super comme idée !
Revenir en haut Aller en bas
http://unforumpourdd4.forumactif.com/
Hareck
Fou du Roi
Fou du Roi
Hareck


Masculin
Nombre de messages : 848
Age : 31
Projet(s) en cours : Un rogue like
Niveau Rpg Maker : Dieu ultime (no joke...), si on ne compte pas le ruby. Si on compte le ruby, juste Ultra bon. :)
Jeux Préférés : LoL, The Binding of Isaac, la série des TES, les rogues en général, et tant d'autre!
Date d'inscription : 25/07/2007

Un familier (by Hareck) Empty
MessageSujet: Re: Un familier (by Hareck)   Un familier (by Hareck) EmptyMar 05 Aoû 2008, 16:09

C'est pour XP.

Et pour le retirer, c'est tout simple. Juste metre retirer de l'équipe telle ou telle familier.
Revenir en haut Aller en bas
http://www.shark-team.fr/index.php
Horus
Jongleur Itinérant
Jongleur Itinérant
Horus


Masculin
Nombre de messages : 79
Age : 28
Projet(s) en cours : Les Contes du veilleur
Niveau Rpg Maker : 6/10
Jeux Préférés : Oblivion, Gothic 3
Date d'inscription : 18/06/2008

Un familier (by Hareck) Empty
MessageSujet: Re: Un familier (by Hareck)   Un familier (by Hareck) EmptyMar 05 Aoû 2008, 16:17

Euh...bolrack..ce n'est pas un tuto mais un script !
Tu ne nous fais casiment rien...le résultat c'est qu'un héro suit un héro...de plus le script n'est pas de toi.
Revenir en haut Aller en bas
Hareck
Fou du Roi
Fou du Roi
Hareck


Masculin
Nombre de messages : 848
Age : 31
Projet(s) en cours : Un rogue like
Niveau Rpg Maker : Dieu ultime (no joke...), si on ne compte pas le ruby. Si on compte le ruby, juste Ultra bon. :)
Jeux Préférés : LoL, The Binding of Isaac, la série des TES, les rogues en général, et tant d'autre!
Date d'inscription : 25/07/2007

Un familier (by Hareck) Empty
MessageSujet: Re: Un familier (by Hareck)   Un familier (by Hareck) EmptyMar 05 Aoû 2008, 21:40

Je donne juste une autre utilisation à ce script.

... Et si tu veux en détail :
Créez un objet que vous nommerez cage de *chat* si on veut que le familier sois un chat etc...

Ensuite, créer un héros. Nommez le chat (on suivra cette exemple).

Créer un évent commun. Nommez le Cage de chat.
Code:
Message : Voulez vous faire du chat qui est à l'intérieur votre familier?
Proposez un choix : Oui, Non.
Si : Oui
Ajouter à l'équipe le héros : Chat (que vous avez créez avant).
Retirer de l'inventaire l'objet : Cage de chat.
Si : Non
Message : Très bien.

Ensuite, créez un évent, donner lui l'apparence d'un vendeur.
Code:
Condition : Si l'interrupteur familier es activer :
Message : Vous avez déjà un familier.
Message : Voulez vous l'enlever de l'équipe? Mais attention, vous le perdrez définitivement.
Proposer un choix : Oui, non
  Si : Oui
  Message : Très bien.
  Retirer de l'équipe le héros : Chat.
  Si : Non
  Message : D'accort.
Sinon :
Message : Bienvenus dans mon magasin animalier. Voulez vous achetez quelque chose?
Proposer un choix : Oui, Non
Si : Oui
  Que voulez vous?
  Proposer un choix : Annimal de combat, Annimal de magie.
    Si : animal de combat
    Message : Attendez. J'ai peu-être ce qu'il vous faut.
    Message : ...
    Message : J'ai un chat! Il coute X Pièce d'or
    Message : Voulez vous l'acheter
      Proposer un choix : Oui, non
        Condition : Si l'argent possédé est supérieur ou égale à X pièce d'or :
        Activer l'interrupteur
        Ajouter à l'inventaire l'objet : Cage de chat.
        Sinon :
        Message : Désoler. Vous n'avez pas asser d'argent.
    Si : Animal de magie
    Message : Je suis désoler, mais nous n'avons rien.

  Si : Non
  Message : Hooo... Quel dommage.


Dernière édition par Bolrack le Mar 05 Aoû 2008, 21:54, édité 1 fois
Revenir en haut Aller en bas
http://www.shark-team.fr/index.php
Deathscythe
Ménestrel
Ménestrel
Deathscythe


Masculin
Nombre de messages : 431
Age : 34
Projet(s) en cours : S'éparpille sur mille projets à la fois. Commence tout, finit rien.
Niveau Rpg Maker : Stagnation constante.
Jeux Préférés : Tout ce qui est convivial et festif. Sinon, les Harvest Moon.
Date d'inscription : 08/05/2007

Un familier (by Hareck) Empty
MessageSujet: Re: Un familier (by Hareck)   Un familier (by Hareck) EmptyMar 05 Aoû 2008, 21:50

En clair, c'est juste un script de chenille, et tout ce que y rajoute, c'est l'idée de faire un de héros un chat ou chien, pour avoir l'illusion d'un familier. Rien de révolutionnaire, même pas une modif sur le script, quoi. Donc, le "par moi", c'est de trop. Et si tu avais la politesse de mettre le nom de l'auteur de ce script, ce serait merveilleux, aussi...
Revenir en haut Aller en bas
Hareck
Fou du Roi
Fou du Roi
Hareck


Masculin
Nombre de messages : 848
Age : 31
Projet(s) en cours : Un rogue like
Niveau Rpg Maker : Dieu ultime (no joke...), si on ne compte pas le ruby. Si on compte le ruby, juste Ultra bon. :)
Jeux Préférés : LoL, The Binding of Isaac, la série des TES, les rogues en général, et tant d'autre!
Date d'inscription : 25/07/2007

Un familier (by Hareck) Empty
MessageSujet: Re: Un familier (by Hareck)   Un familier (by Hareck) EmptyMar 05 Aoû 2008, 21:55

J'ai édité pour précédant poste... Et je vois que mon idée ne vous plais pas... C'est très encourageant.
Revenir en haut Aller en bas
http://www.shark-team.fr/index.php
Contenu sponsorisé





Un familier (by Hareck) Empty
MessageSujet: Re: Un familier (by Hareck)   Un familier (by Hareck) Empty

Revenir en haut Aller en bas
 
Un familier (by Hareck)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Hareck. Mais t'es qui toi?
» Tilesets by Hareck

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: LUDOTHEQUE :: Temple du Savoir :: Systèmes-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser