- SkilloStaffeux retraité
- Nombre de messages : 526
Age : 35
Localisation : Rennes
Distinction : J'aime ce gars
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' ]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008
[Script] System de Zooms Multiples
Mer 19 Mai 2010 - 3:06
Bonjours je poste ici un petit script que j'ai fait pour mon projet il y a un petit moment.
Edit: Arrivée de la version 2.0
Ce script vous permette de définir des map sur lesquelles le hero ou tous les events seront sous l'effet d'un zoom.
Ce zoom étant défini pour en même temps que chaque map. Vous permettant ainsi de faire par exemple une map sur laquelle le hero sera 2 fois plus petit et une autre ou il sera 3 fois plus grand.
Ajouts de la v2:
_Possibilité de configurer le zoom d'un event à l'aide de ses commentaire
_Clarification du script (merki Berka)
_Ajout d'un interrupteur permettant de désactiver le zoom de la map sur les events
_Ajout d'un interrupteur permettant de désactiver le zoom configuré à l'aide de commentaires dans tous les events
_Ajout d'un interrupteur permettant de définir la priorité entre la map et les commentaires.
_Désormais le zoom d'une map peut être définie à l'ai d'une seul valeur ou alors d'un couple de deux valeurs.
Zoom_System à placer au dessus de main:
Quelques screens:
Démo:
http://www.mediafire.com/?mhlxnq5gutt
Voilà laisser vos comms
Edit: Arrivée de la version 2.0
Ce script vous permette de définir des map sur lesquelles le hero ou tous les events seront sous l'effet d'un zoom.
Ce zoom étant défini pour en même temps que chaque map. Vous permettant ainsi de faire par exemple une map sur laquelle le hero sera 2 fois plus petit et une autre ou il sera 3 fois plus grand.
Ajouts de la v2:
_Possibilité de configurer le zoom d'un event à l'aide de ses commentaire
_Clarification du script (merki Berka)
_Ajout d'un interrupteur permettant de désactiver le zoom de la map sur les events
_Ajout d'un interrupteur permettant de désactiver le zoom configuré à l'aide de commentaires dans tous les events
_Ajout d'un interrupteur permettant de définir la priorité entre la map et les commentaires.
_Désormais le zoom d'une map peut être définie à l'ai d'une seul valeur ou alors d'un couple de deux valeurs.
Zoom_System à placer au dessus de main:
- Spoiler:
- Code:
#==============================================================================
# ** Zoom System fait par Skillo
#==============================================================================
# Pour definir un ZOOM sur un events il suffit de mettre ZOOM dans un commentaire
# ensuite vous pouvez definir le zoom appliqué sur x en mettant la valeur dans un
# commentaire en juste en dessous de celui du ZOOM. Si aucun zoom sur x n'est défini sa valeur
# sera celle definie ci-dessous.
# Pour définir le zoom appliqué sur y en mettre la valeur dans un
# commentaire juste en dessous de celui du zoom sur x. Si aucun zoom sur y n'est défini sa valeur
# sera celle definie ci-dessous.
module ZOOM
# Si il y a ici des interrupteur qui ne vous interressent pas mettez les à 0
# ici sera défini l'interrupteur désactivant le zoom
# IDSWITCHES = id de l'interrupteur
IDSWITCHES = 1
# ici sera défini l'interrupteur désactivant le zoom sur l'equipe.
# HEROSWITCHES = id de l'interrupteur
HEROSWITCHES = 2
# ici sera défini l'interrupteur désactivant le zoom sur les autres events que l'equipe
# EVENTSWITCHES = id de l'interrupteur
EVENTSWITCHES = 3
# ici sera défini l'interrupteur désactivant le zoom definie dans les commentaires d'un event
# EVENTCOMMENTSWITCHES = id de l'interrupteur
EVENTCOMMENTSWITCHES = 4
# ici sera défini si le zoom affectera les vehicules
# INCLUDEVEHICULES = true/false
INCLUDEVEHICULES = false
# ici sera defini si les paremètres de zoom dans les commentaires des events sont prioritaires par rapport
# à ceux de la map
# COMMENTSPRIORITY = true/false
COMMENTSPRIORITY = true
# ici sera défini si le zoom sur x par default si ZOOM est definie dans les commentaires d'un event
# ZOOM_DEFAUT_EVENT_X = coeff (1 par default)
ZOOM_DEFAUT_EVENT_X = 0.75
# ici sera défini si le zoom sur y par default si ZOOM est definie dans les commentaires d'un event
# ZOOM_DEFAUT_EVENT_Y = coeff (1 par default)
ZOOM_DEFAUT_EVENT_y = 0.75
# ici sera défini les maps affectées par le zoom ainsi que le coefficient associé ou le couple [coeff x, coeff y]
# ZOOMMAP =
# {
# id de la map => coeff,
# id de la map => [coeff x, coeff y]
# }
# Avec 1 le coefficient de zoom par defaut.
# Par exemple:
# si on a 6 => 0.5 :
# sur la map 6 le/les hero/events seront deux fois plus petit.
# si on a 7 => [0.5, 2] :
# sur la map 7 le/les hero/events seront deux fois moins gros mais deux fois plus grands.
ZOOMMAP =
{
1 => 0.75,
2 => [0.5, 2]
}
end
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This sprite is used to display characters. It observes a instance of the
# Game_Character class and automatically changes sprite conditions.
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# * Update Character Sprite
#--------------------------------------------------------------------------
def update_characters
for sprite in @character_sprites
sprite.zoom_x = sprite.zoom_y = 1
sprite.update
@zoom = false
if sprite.character.is_a?(Game_Event)
setup_zoom(sprite, sprite.character) if !$game_switches[ZOOM::EVENTCOMMENTSWITCHES]
end
next if $game_switches[ZOOM::IDSWITCHES] or !ZOOM::ZOOMMAP.keys.include?($game_map.map_id)
next if ZOOM::COMMENTSPRIORITY and @zoom
case sprite.character
when Game_Event
next if $game_switches[ZOOM::EVENTSWITCHES]
when Game_Vehicle
next if !ZOOM::INCLUDEVEHICULES
when Game_Player
next if $game_switches[ZOOM::HEROSWITCHES]
end
if ZOOM::ZOOMMAP[$game_map.map_id].is_a?(Array)
zoom_x = ZOOM::ZOOMMAP[$game_map.map_id][0]
zoom_y = ZOOM::ZOOMMAP[$game_map.map_id][1]
else
zoom_x = zoom_y = ZOOM::ZOOMMAP[$game_map.map_id]
end
sprite.zoom_x = zoom_x
sprite.zoom_y = zoom_y
sprite.update
end
end
#--------------------------------------------------------------------------
# * Setup Zoom
#--------------------------------------------------------------------------
def setup_zoom(sprite, event)
next if event.list == nil
for i in 0...event.list.size
if event.list[i].code == 108 and event.list[i].parameters.include?("ZOOM")
@zoom = true
if event.list[i+1] != nil and event.list[i+1].code == 108
sprite.zoom_x = event.list[i+1].parameters[0].to_f
else
sprite.zoom_x = ZOOM::ZOOM_DEFAUT_EVENT_X
end
if event.list[i+2] != nil and event.list[i+2].code == 108
sprite.zoom_y = event.list[i+2].parameters[0].to_f
else
sprite.zoom_y = ZOOM::ZOOM_DEFAUT_EVENT_Y
end
sprite.update
end
end
end
end
Quelques screens:
- Spoiler:
Démo:
http://www.mediafire.com/?mhlxnq5gutt
Voilà laisser vos comms
Re: [Script] System de Zooms Multiples
Mer 19 Mai 2010 - 11:34
Pratique. Mais je trouve que :
Ce que tu peux faire c'est mettre des return à la place de tes conditions. Ca gagnera en rapidité et en clareté.
- Code:
sprite.zoom_x = sprite.zoom_y = 1
sprite.update
Ce que tu peux faire c'est mettre des return à la place de tes conditions. Ca gagnera en rapidité et en clareté.
- Code:
def update_characters
sprite.zoom_x = sprite.zoom_y = 1
sprite.update
return if !ZOOM::ZOOMMAP.keys.include?($game_map.map_id)
case sprite.character
when Game_Player
when Game_Vehicle
return if !ZOOM::INCLUDEVEHICULES
end
sprite.zoom_x = sprite.zoom_y = ZOOM::ZOOMMAP[$game_map.map_id]
sprite.update
end
- SkilloStaffeux retraité
- Nombre de messages : 526
Age : 35
Localisation : Rennes
Distinction : J'aime ce gars
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' ]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008
Re: [Script] System de Zooms Multiples
Mer 19 Mai 2010 - 13:34
Je vais test ça c'est vrai que c'est beaucoup plus light.
Edit: en fait ça marche pas. ça réactualise pas les sprite du coup on vois plus le perso bouger les sprites sont fixes.
Edit: en fait ça marche pas. ça réactualise pas les sprite du coup on vois plus le perso bouger les sprites sont fixes.
Re: [Script] System de Zooms Multiples
Mer 19 Mai 2010 - 17:54
Oui, ce que je t'ai donné c'était des bases. Voila un truc plus approfondi, je ne sais pas si ca fonctionne. Pas testé:
- Code:
#==============================================================================
# ** Zoom By Map fait par Skillo
#==============================================================================
module ZOOM
# ici sera défini l'interrupteur désactivant le zoom
# IDSWITCHES = id de l'interrupteur
IDSWITCHES = 1
# ici sera défini l'interrupteur activant le zoom sur les autres event sque le hero
# HEROSWITCHES = id de l'interrupteur
HEROSWITCHES = 2
# ici sera défini si le zoom affectera les vehicules
# INCLUDEVEHICULES = true/false
INCLUDEVEHICULES = false
# ici sera défini les maps affectées par le zoom ainsi que le coefficient associé
# ZOOMMAP =
# {
# id de la map => coeff,
# id de la map => coeff
# }
# Avec 1 le coefficient de zoom par defaut.
# Par exemple si on a 6 => 0.5 :
# sur la map 6 le/les hero/events seront deux fois plus petit.
ZOOMMAP =
{
1 => 0.5,
2 => 3,
7 => 96
}
end
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This sprite is used to display characters. It observes a instance of the
# Game_Character class and automatically changes sprite conditions.
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# * Update Character Sprite
#--------------------------------------------------------------------------
def update_characters
for sprite in @character_sprites
sprite.zoom_x = sprite.zoom_y = 1
sprite.update
next if $game_switches[ZOOM::IDSWITCHES] or !ZOOM::ZOOMMAP.keys.include?($game_map.map_id)
zoom = ZOOM::ZOOMMAP[$game_map.map_id]
case sprite.character
when Game_Player
next if $game_switches[ZOOM::HEROSWITCHES]
when Game_Vehicle
next if !ZOOM::INCLUDEVEHICULES
end
sprite.zoom_x = sprite.zoom_y = zoom
sprite.update
end
end
end
- SkilloStaffeux retraité
- Nombre de messages : 526
Age : 35
Localisation : Rennes
Distinction : J'aime ce gars
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' ]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008
Re: [Script] System de Zooms Multiples
Jeu 20 Mai 2010 - 1:51
Merci Berka ça m'a été super utile!!
Version 2.0 disponible dans le premier post.
Version 2.0 disponible dans le premier post.
- Coco'Staffeux retraité
- Nombre de messages : 6578
Age : 31
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux
N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
Re: [Script] System de Zooms Multiples
Sam 22 Mai 2010 - 16:44
Déplacé dans la zone VIP // Divers x)
- ErtiloMembre
- Nombre de messages : 28
Distinction : aucune
Date d'inscription : 03/05/2010
Re: [Script] System de Zooms Multiples
Mar 25 Mai 2010 - 8:38
C'est un joli script merci du partage :p
Mais il semblerait que lorsque dans la démo on remet sont personnage à taille normale il ne soit plus possible de parler aux autres PNJ ... es-ce juste la démo ou bien le script ?
Mais il semblerait que lorsque dans la démo on remet sont personnage à taille normale il ne soit plus possible de parler aux autres PNJ ... es-ce juste la démo ou bien le script ?
- SkilloStaffeux retraité
- Nombre de messages : 526
Age : 35
Localisation : Rennes
Distinction : J'aime ce gars
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' ]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008
Re: [Script] System de Zooms Multiples
Mar 25 Mai 2010 - 12:42
C'est dans la demo j'ai fais exprès pour pas avoir à gérer tous les cas de figures mais bien entendu on peut faire tout ce qu'on veut.
- ErtiloMembre
- Nombre de messages : 28
Distinction : aucune
Date d'inscription : 03/05/2010
Re: [Script] System de Zooms Multiples
Mar 25 Mai 2010 - 15:40
D'accord autant pour moi alors ^^
(désolé pour le flood x.x')
(désolé pour le flood x.x')
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum