AccueilAccueil  PortailPortail  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez
 

 [VX] Brouillard de Guerre

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 29
Inscrit le : 15/10/2008
Messages : 351

[VX] Brouillard de Guerre Empty
MessageSujet: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 10:14

Bonjour à tous !

Voici un tout nouveau script qui ajoute un brouillard de guerre sur vos cartes. Vous voyez Age Of Empires ? C'est le meme principe: tout endroit non découvert est noirci, laissant encore plus de suspens à votre partie.
[VX] Brouillard de Guerre Fog_sc10
Le principe est très simple:
un rayon est défini: c'est le champ de vision du héro.
les données visitées sont sauvegardée d'une carte à l'autre.
le brouillard peut etre masqué par l'activation d'un interrupteur (1 par défaut). Activé: brouillard masqué, Désactivé: brouillard Affiché.
il peut etre réinitialisé.

Attention, ce script entraine une chute de 5 FPS pour les grandes maps.

Voila tout, voici le tileset à placer dans votre projet, dossier System. Un grand merci à Jess qui me l'a rendu transparent. A nommer "fog.png"
Choisissez parmi plusieurs:
Spoiler:
 
Et le script qui doit etre placé au dessus de main:

Code:
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#                        Brouillard de Guerre                    22/05/09 
#-------------------------------------------------------------------------------
#      ver.0.1                  par Berka                      rgss.2       
#                      http://www.rpgmakervx-fr.com                         
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#                Ajoute un brouillard de guerre sur la Carte                 
#-------------------------------------------------------------------------------
#  Commandes:                                                                 
#  Fog.clear_fog(map_id)          # réinitialise le brouillard (tout noir)   
#  vu_par_hero?(x,y)              # vérifie si [x,y] est vu par le héro     
#  $RayonFog = i                  # modifier le champ de vision du héro     
#-------------------------------------------------------------------------------
#  Fonctions:                                                                 
#  * Activation d'interrupteur pour masquer le brouillard                   
#  * Sauvegarde du brouillard de chaque carte                               
#  * Affichage des bordures de brouillard en parallèle (Thread)             
#  Ne pas utiliser sur de trop grandes cartes, risque de chute de fps !     
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

module Berka
  module Brouillard
    $RayonFog  = 3          # Rayon de vision: calcul optimisé pour 3 & 6
    FichFog    = "fog.png"  # Fichier de tileset brouillard: seule la 1ere pose est utilisée
                            #  doit se trouver dans le dossier systeme de projet
    IDFog      = 1          # Id de l'interrupteur qui désactive/active le brouillard
    ZFog      = 300        # Priorité de superposition du brouillard.         
    Act_GC    = true        # Activation du Ramasse Miettes pour gain de performances
   
                # Ne pas changer !!!!
    Tiles={                # Indexation des autotiles de brouillard
      "0"=>2816,"1"=>2824,"12"=>2844,"123"=>2844,"1234"=>2856,"12346"=>2860,
      "123467"=>2860,"1234678"=>2862,"12346789"=>2862,"1234679"=>2860,"123468"=>2862,
      "1234689"=>2862,"123469"=>2860,"12347"=>2856,"123478"=>2859,"1234789"=>2859,
      "123479"=>2857,"12348"=>2859,"123489"=>2859,"12349"=>2857,"1236"=>2854,
      "12367"=>2855,"123678"=>2861,"123679"=>2855,"1236789"=>2861,"12368"=>2861,
      "123689"=>2861,"12369"=>2854,"1237"=>2845,"12378"=>2849,"123789"=>2849,
      "12379"=>2847,"1238"=>2849,"12389"=>2849,"1239"=>2846,"124"=>2856,"1246"=>2860,
      "12467"=>2860,"124678"=>2862,"1246789"=>2862,"124679"=>2860,"12468"=>2862,
      "124689"=>2862,"12469"=>2860,"1247"=>2856,"12478"=>2859,"124789"=>2859,
      "12479"=>2857,"1248"=>2859,"12489"=>2859,"1249"=>2857,"126"=>2854,"1267"=>2855,
      "12678"=>2861,"126789"=>2861,"12679"=>2855,"1268"=>2861,"12689"=>2861,"1269"=>2854,
      "127"=>2845,"1278"=>2849,"12789"=>2849,"128"=>2849,"1289"=>2849,"129"=>2846,
      "13"=>2828,"134"=>2834,"1346"=>2848,"13467"=>2848,"134678"=>2858,"1346789"=>2858,
      "134679"=>2848,"13468"=>2858,"134689"=>2858,"13469"=>2848,"1347"=>2834,
      "13478"=>2851,"134789"=>2851,"13479"=>2835,"1348"=>2851,"13489"=>2851,
      "1349"=>2835,"136"=>2841,"1367"=>2843,"13678"=>2853,"136789"=>2853,"13679"=>2843,
      "1368"=>2853,"13689"=>2853,"1369"=>2841,"137"=>2829,"1378"=>2839,"13789"=>2839,
      "138"=>2839,"1389"=>2839,"139"=>2830,"14"=>2832,"146"=>2848,"1467"=>2848,
      "14678"=>2858,"146789"=>2858,"14679"=>2848,"1468"=>2862,"14689"=>2858,"1469"=>2848,
      "147"=>2832,"1478"=>2850,"14789"=>2850,"1479"=>2833,"148"=>2850,"1489"=>2850,
      "149"=>2833,"16"=>2841,"167"=>2843,"1678"=>2853,"16789"=>2853,"1679"=>2848,
      "168"=>2853,"1689"=>2853,"169"=>2841,"17"=>2825,"178"=>2838,"1789"=>2838,
      "179"=>2827,"18"=>2838,"189"=>2838,"19"=>2826,"2"=>2844,"23"=>2844,"234"=>2856,
      "2346"=>2860,"23467"=>2860,"234678"=>2862,"2346789"=>2862,"234679"=>2862,
      "23468"=>2862,"234689"=>2862,"23469"=>2860,"2347"=>2856,"23478"=>2859,
      "234789"=>2859,"23479"=>2857,"2348"=>2859,"23489"=>2859,"2348"=>2859,"236"=>2854,
      "2367"=>2855,"23678"=>2861,"236789"=>2861,"23679"=>2855,"2368"=>2861,"23689"=>2861,
      "2369"=>2854,"237"=>2845,"2378"=>2849,"23789"=>2849,"2379"=>2847,"238"=>2849,
      "2389"=>2849,"239"=>2846,"24"=>2856,"246"=>2860,"2467"=>2860,"24678"=>2862,
      "246789"=>2862,"24679"=>2860,"2468"=>2862,"24689"=>2862,"2469"=>2860,"247"=>2856,
      "2478"=>2859,"24789"=>2859,"2479"=>2847,"248"=>2859,"2489"=>2859,"249"=>2857,
      "26"=>2854,"267"=>2854,"2678"=>2861,"26789"=>2861,"2679"=>2855,"268"=>2861,
      "2689"=>2861,"269"=>2854,"27"=>2845,"278"=>2849,"2789"=>2849,"279"=>2847,"28"=>2849,
      "289"=>2849,"29"=>2846,"3"=>2820,"34"=>2834,"346"=>2848,"3467"=>2848,"34678"=>2858,
      "346789"=>2858,"34679"=>2848,"3468"=>2858,"34689"=>2858,"3469"=>2848,"347"=>2834,
      "3478"=>2851,"34789"=>2851,"3479"=>2835,"348"=>2851,"3489"=>2851,"349"=>2835,
      "36"=>2840,"367"=>2842,"3678"=>2852,"36789"=>2852,"3679"=>2842,"368"=>2852,
      "3689"=>2852,"369"=>2840,"37"=>2821,"378"=>2837,"3789"=>2837,"379"=>2823,
      "38"=>2837,"389"=>2837,"39"=>2822,"4"=>2832,"46"=>2848,"467"=>2848,"4678"=>2858,
      "46789"=>2858,"4679"=>2848,"468"=>2858,"4689"=>2858,"469"=>2848,"47"=>2832,
      "478"=>2850,"4789"=>2850,"479"=>2833,"48"=>2850,"489"=>2850,"49"=>2833,
      "6"=>2840,"67"=>2842,"678"=>2852,"6789"=>2852,"679"=>2842,"68"=>2852,
      "689"=>2852,"69"=>2840,"7"=>2817,"78"=>2836,"789"=>2836,"79"=>2819,"8"=>2836,
      "89"=>2836,"9"=>2818 
    } # et tu payes ton mal de crâne, pour trouver chaque valeur ^^
  end
end
module Fog
  def self.clear_fog(id)
    $game_temp.br_maps.delete(id)
    return if !$scene.is_a?(Scene_Map)
    $scene.spriteset.dispose
    $scene.spriteset=Spriteset_Map.new
  end
end
Win32API.new('kernel32','SetPriorityClass','pi','i').call(
Win32API.new('kernel32','GetCurrentProcess','','i').call,256)
include Berka::Brouillard
class Spriteset_Map
  alias :br_create      :create_tilemap
  alias :br_dispose    :dispose_tilemap
  alias :br_view        :dispose_viewports
  alias :br_update      :update_tilemap    unless $@
  alias :br_view_update :update_viewports  unless $@
  attr_accessor :br_tile,:tilemap
  def create_tilemap
    br_create
    @br_tile=Tilemap.new(@br_view=Viewport.new(0,0,Graphics.width,Graphics.height))
    @br_view.z=ZFog
    8.times{|i|@br_tile.bitmaps[i]=@tilemap.bitmaps[i].clone}
    @br_tile.bitmaps[1]=Cache.system(FichFog)
    @br_tile.map_data=Table.new($game_map.width,$game_map.height,3)
    clear_fog
  end
  def clear_fog
    w,h=$game_map.width,$game_map.height
    if $game_temp.br_maps.has_key?($game_map.map_id)
      for x in 0...w;for y in 0...h
        if $game_temp.br_maps[$game_map.map_id][x,y]==0
          @br_tile.map_data[x,y,1]=2816
          a||=true
        else
          @br_tile.map_data[x,y,1]=0
          a||=false
        end
      end;end
      if a
        Thread.new{for x in 0...w;for y in 0...h
          chk(x,y)
        end;end}
      end
    else
      $game_temp.br_maps[$game_map.map_id]||=Table.new(w,h)
      for x in 0...w;for y in 0...h
        @br_tile.map_data[x,y,1]=2816
        $game_temp.br_maps[$game_map.map_id][x,y]=0
      end;end
    end
  end
  def dispose_tilemap
    br_dispose
    @br_tile.dispose
  end
  def dispose_viewports
    br_view
    @br_view.dispose
  end
  def update_tilemap
    br_update
    if $game_switches[IDFog]
      @br_tile.dispose
      return
    end
    GC.start if !$game_player.moving?&&Act_GC
    return if !$game_temp.br_maps.has_key?($game_map.map_id)
    br_obscurcis
    x,y=$game_map.display_x/8,$game_map.display_y/8
    return if x==@br_tile.ox&&y==@br_tile.oy
    @br_tile.ox,@br_tile.oy=x,y
    @br_tile.update
  end
  def br_obscurcis
    x,y=$game_player.x,$game_player.y
    rx,ry=(x-$RayonFog-2..x+$RayonFog+2).to_a,(y-$RayonFog-2..y+$RayonFog+2).to_a
    for tx in rx
      for ty in ry
        r=Math.sqrt(((x-tx)**2+(y-ty)**2))
        chk(tx,ty)if r.between?($RayonFog,$RayonFog+2)
        next if !tx.between?(rx[0],rx[-1])
        if r<=$RayonFog
          @br_tile.map_data[tx,ty,1]=0
          $game_temp.br_maps[$game_map.map_id][tx,ty]=1
        end
      end
    end
  end
  def chk(x,y)
    return if !$game_temp.br_maps.has_key?($game_map.map_id)||x.nil?||y.nil?||
      $game_temp.br_maps[$game_map.map_id][x,y]==1
    d=@br_tile.map_data
    l=[]
    l<<1 if d[x-1,y+1,1]==0
    l<<2 if d[x,y+1,1]==0
    l<<3 if d[x+1,y+1,1]==0
    l<<4 if d[x-1,y,1]==0
    l<<6 if d[x+1,y,1]==0
    l<<9 if d[x+1,y-1,1]==0
    l<<8 if d[x,y-1,1]==0
    l<<7 if d[x-1,y-1,1]==0
    l=l.sort.join
    return if l.nil?||l==""
    @br_tile.map_data[x,y,1]=Tiles[l]
  end
  def update_viewports
    br_view_update
    @br_view.update
  end
end
class Game_Temp
  alias :br_initialize :initialize
  attr_accessor :br_maps
  def initialize
    br_initialize
    @br_maps={}
  end
end
def vu_par_hero?(x,y)
  Math.sqrt((($game_player.x-x)**2+($game_player.y-y)**2))<=$RayonFog
end
class Scene_Map<Scene_Base # correctif: màj spriteset 1/frame
  attr_accessor :spriteset
  def update_basic
    Graphics.update               
    Input.update             
    $game_map.update           
  end
end
class Scene_File<Scene_Base
  alias :br_write_save :write_save_data
  alias :br_read_save  :read_save_data
  def write_save_data(file)
    br_write_save(file)
    Marshal.dump($game_temp.br_maps,file)
  end
  def read_save_data(file)
    br_read_save(file)
    $game_temp.br_maps=Marshal.load(file)
  end
end


En espérant qu'il trouvera preneur,

berka

_________________
.: Je code, donc je suis :.
[VX] Brouillard de Guerre Rpgruby
Rpgruby


Dernière édition par berka le Sam 23 Mai 2009 - 11:57, édité 1 fois
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 10:28

Wouw, merci beaucoup pour ce script Smile Sur XP il y en avait un du même style, mais quand on s'éloignait d'un évent, on ne le voyait plus (comme dans Age of Empire :p) En gros il y avait trois couches:
- La partie non visitée (on ne voit ni la carte, ni les évents)
- La partie visitée éloignée (on voit la carte, mais pas les évents)
- La partie visitée proche (on voit la carte et les évents)

Est-ce le cas ici aussi?

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 29
Inscrit le : 15/10/2008
Messages : 351

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 10:49

Nan, j'y ai pensé, mais le lag etait vraiment trop important.

berka

_________________
.: Je code, donc je suis :.
[VX] Brouillard de Guerre Rpgruby
Rpgruby
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 11:06

Au début du script tu écris:

Code:
$RayonFog  = 3          # Rayon de vision: calcul optimisé pour 3 & 6

Quelles conséquences peuvent-apparaître si le rayon est différent?

Code:
# Activation du Ramasse Miettes pour gain de performances

Que veux-tu dire par activation du ramasse miettes? Oo

Code:
# Priorité de superposition du brouillard.

On peut modifier cette priorité sur chaque map ou c'est constant sur tout le jeu?

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 29
Inscrit le : 15/10/2008
Messages : 351

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 11:50

1) Le héro verra moins loin, si le rayon est plus petit.
2) Le ramasse miettes, est un outil ruby géré par le module GC (GarbageCollector) C'est un module qui vérifie toutes les variables du jeu. Il fait comme une défragmentation en gros: toutes les variables non utilisées sont supprimées et leur adresse memoire est réallouée. Ca va plus vite. Et comme j'ai d'enormes tableaux il faut tout réorganiser a chaque fois.
3) C'est une constante, donc c'est fixé une fois pour toutes dans le jeu.

berka

_________________
.: Je code, donc je suis :.
[VX] Brouillard de Guerre Rpgruby
Rpgruby
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 12:28

Hem, en fait quand je demandais:

Citation :
Code:
$RayonFog  = 3          # Rayon de vision: calcul optimisé pour 3 & 6

Quelles conséquences peuvent-apparaître si le rayon est différent?

C'était parce que tu écris que le calcul est optimisé pour 3 et 6. Je souhaitais savoir si quelque problème pouvait arriver si on mettait un nombre autre que ceux-çi.

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 29
Inscrit le : 15/10/2008
Messages : 351

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 12:30

Ce sera un peu plus lent, vu que les nombres seront décimaux... mais rien de vraiment méchant

_________________
.: Je code, donc je suis :.
[VX] Brouillard de Guerre Rpgruby
Rpgruby
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 12:38

J'ai essayé de modifier Z-fog au début, et cela ne change rien, est-ce normal? (J'ai essayé 3, 1 et 0)

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 29
Inscrit le : 15/10/2008
Messages : 351

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 12:44

Ouaip, ca me fait ca parfois, la priorité des tilemaps sont très capricieuses

_________________
.: Je code, donc je suis :.
[VX] Brouillard de Guerre Rpgruby
Rpgruby
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 12:48

Dernière petite question et je te laisse ^^' Il y a-t-il un moyen autre qu'en modifiant la transparence de l'image par nous même d'atténuer le brouillard, si je veux qu'on voit un peu à travers par exemple Smile (Désolé de toutes ces questions XD)

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
hinola
Voyageur Lv.10
Voyageur Lv.10
hinola


Inscrit le : 07/03/2009
Messages : 380

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 12:51

pour moi, le fog s'affiche 1 seconde et disparait après :s

_________________
[VX] Brouillard de Guerre Neko2sign
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 13:19

Il faut que l'interrupteur choisi (par défaut 1) soit désactivé. Pour choisir l'interrupteur à activer désactiver, modifie la ligne suivante:

Code:
IDFog      = 1          # Id de l'interrupteur qui désactive/active le brouillard

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 29
Inscrit le : 15/10/2008
Messages : 351

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 13:20

@gothor: Si tu modifies le tileset de brouillard avec un logiciel de retouche, le brouillard sera moins opaque.
@hinola: en effet, ton interrupteur #1 est deja utilisé

berka

_________________
.: Je code, donc je suis :.
[VX] Brouillard de Guerre Rpgruby
Rpgruby
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
hinola
Voyageur Lv.10
Voyageur Lv.10
hinola


Inscrit le : 07/03/2009
Messages : 380

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 23 Mai 2009 - 13:29

ah mince désactivé

_________________
[VX] Brouillard de Guerre Neko2sign
Revenir en haut Aller en bas
nuparu1997
Habitant Lv.6
Habitant Lv.6
nuparu1997


Masculin Age : 22
Avertissements : 3
Inscrit le : 08/12/2008
Messages : 135

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeVen 18 Sep 2009 - 17:01

est-il possible, avec un commentaire, de faire qu'un event puisse "voir" dans le brouillard ?
ce serait pratique.
s'il vous plait !!!
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeVen 18 Sep 2009 - 17:28

Code:
    IDFog      = 1          # Id de l'interrupteur qui désactive/active le brouillard

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
nuparu1997
Habitant Lv.6
Habitant Lv.6
nuparu1997


Masculin Age : 22
Avertissements : 3
Inscrit le : 08/12/2008
Messages : 135

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 19 Sep 2009 - 8:16

non, c'est pas ca. je voudrais que le brouillard disparaisse avec l'event comme avec le héros!

c'est à dire que quand le héros va dans une zone noire, elle apprait.
je voudrais que l'event, en se déplacant, puisse faire pareil.

HELP!
Revenir en haut Aller en bas
fabY
dYeu retraité prématurément
dYeu retraité prématurément
fabY


Masculin Age : 24
Inscrit le : 09/02/2008
Messages : 5357

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 19 Sep 2009 - 8:39

Mmmh, je sais pas si tout le script est fait pour que le brouillard soit enlevé seulement par le héros mais si jamais c'est pas ça il faudra rajouter l'équivalent de :
Code:
def vu_par_hero?(x,y)
  Math.sqrt((($game_player.x-x)**2+($game_player.y-y)**2))<=$RayonFog
end

Mais pour un évent?

Sinon le "HELP" est vraiment pas nécessaire tu attend et puis voila >>...

Edit : bon bah j'ai testé ça :
Code:

def vu_par_hero?(x,y)
  Math.sqrt((($game_player.x-x)**2+($game_player.y-y)**2))<=$RayonFog
end
def vu_par_event?(x,y)
  Math.sqrt((($game_map.events[1].x-x)**2+($game_map.events[1].y-y)**2))<=$RayonFog
  end

Mais ça marche pas je vais donc me coucher et laisser berka faire T_T.

edit : ouah j'suis trop fort, j'ai réussis a trouvé une vérification =D, voila à quoi ça sert les comments xD. Faites comme fabY si vous voulez commencer par la fin Cool !

Edit : et voila trouvé, attend le temps que j'édite pour de bon.

Edit final :
Spoiler:
 

A la ligne 155 tu a une ligne qui contient "x,y=$game_map.events[1].x,$game_map.events[1].y". Remplaces 1 par l'id de l'évent de ta carte. Attention, quand tu changera de carte ça sera l'évent 1 de la prochaine carte qui pourra voir. Si jamais tu veut que tous les évent voyent tu me le dit j'édite.
Ah merde, je viens de voir que tu veux que ça soit par un commentaire. Grbml faut que je re-modifie tout ça alors (avec la meche alors =o !);

Rendu :

Spoiler:
 

_________________



Discographies présentes dans mon bunker de 2012
- Therion
- The Libertines
- The Strokes
- Muse
- Epica / Kamelot
- Baroness
- Diablo Swing Orchestra
- Daft Punk / Phoenix
- Children Of Bodom slda
- Tori Amos
- Linkin Park slda
- Kvelertak
slda = sauf les derniers albums | e = especially - http://www.terriblefate.com


Dernière édition par fabY le Dim 20 Sep 2009 - 14:07, édité 1 fois
Revenir en haut Aller en bas
http://rpg-maker-vx.bbactif.com/
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 26
Inscrit le : 27/04/2008
Messages : 1835

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 19 Sep 2009 - 11:04

bien joué fabY Smile Dis moi, t'as trouvé ça tout seul? =°

_________________
[VX] Brouillard de Guerre Userbari
[code:1]
Evènement :

@> Commandes
[/code:1]
Revenir en haut Aller en bas
fabY
dYeu retraité prématurément
dYeu retraité prématurément
fabY


Masculin Age : 24
Inscrit le : 09/02/2008
Messages : 5357

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 19 Sep 2009 - 11:17

Je pense que j'aurai trouvé tout seul mais 2fois plus lentement parce que La Meche m'a expliqué de sortes à ce que je fasse travailler mes méninges mais de façon plus rapide que solo ^^. Enfin bien joué je sais pas puisqu'il voulait des commentaires mais là flemme de le faire en plus je vais miamer... (vous savez que 3scripteurs vont fêter leur anniversaires dans moins de 7jours =DD).

_________________



Discographies présentes dans mon bunker de 2012
- Therion
- The Libertines
- The Strokes
- Muse
- Epica / Kamelot
- Baroness
- Diablo Swing Orchestra
- Daft Punk / Phoenix
- Children Of Bodom slda
- Tori Amos
- Linkin Park slda
- Kvelertak
slda = sauf les derniers albums | e = especially - http://www.terriblefate.com
Revenir en haut Aller en bas
http://rpg-maker-vx.bbactif.com/
Qualcuno
Citadin Lv.7
Citadin Lv.7
Qualcuno


Masculin Age : 23
Inscrit le : 04/09/2009
Messages : 181

[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitimeSam 19 Sep 2009 - 12:51

il est bien le script mais il a fais bugguer mon ordi deux fois ^^(Mais ca peut etre rapport avec le fait que J'avais plein d'autre script dons un anti lag ?)

sinon il est biens sa fais super beau dans une ambiance de guerre avec de la pluie et tout ^^

_________________
[VX] Brouillard de Guerre 100216102120369374
[VX] Brouillard de Guerre 28wckzo
[VX] Brouillard de Guerre 264

[VX] Brouillard de Guerre Img-200458t7rje
Gothor: Je suis qu'une pauvre petite merde qui vaut rien T_T
Gothor: pardonnez-moi mon maître, je me retire...
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Brouillard de Guerre Empty
MessageSujet: Re: [VX] Brouillard de Guerre   [VX] Brouillard de Guerre Icon_minitime

Revenir en haut Aller en bas
 

[VX] Brouillard de Guerre

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Effet "brouillard" sur les liens
» Band of brothers ? Non The Pacific !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Carte et HUDs-
Créer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit