Pokémon Script Project Index du Forum

S’enregistrer | Rechercher | Connexion
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Infinité de Tag Terrains.

 
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Scripts
Sujet précédent :: Sujet suivant   
Auteur Message
Rey'
Membre


Inscrit le: 09 Aoû 2010
Messages: 382
Forever Alone
Localisation: Le Havre
Masculin
ID Steam: TheRey

MessagePosté le: Mer 24 Avr - 11:32 (2013)    Sujet du message: Infinité de Tag Terrains.

Bonjour/soir à tous ! Je viens vous partager un script que j'ai trouvé et qui est fort intéressant.

L’intérêt réside dans le fait qu'il est possible avec ce script de posséder une infinité de tag, nous ne sommes donc plus limiter à 8 Tag Terrains (0 à 7).

Code:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Unlimited Terrain Tags Script by Nathmatt
# Version: 1.00
# Type: Add On
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

#  This work is protected by the following license:
# #----------------------------------------------------------------------------
# # 
# #  Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
# #  ( http://creativecommons.org/licenses/by-nc-sa/3.0/ )
# # 
# #  You are free:
# # 
# #  to Share - to copy, distribute and transmit the work
# #  to Remix - to adapt the work
# # 
# #  Under the following conditions:
# # 
# #  Attribution. You must attribute the work in the manner specified by the
# #  author or licensor (but not in any way that suggests that they endorse you
# #  or your use of the work).
# # 
# #  Noncommercial. You may not use this work for commercial purposes.
# # 
# #  Share alike. If you alter, transform, or build upon this work, you may
# #  distribute the resulting work only under the same or similar license to
# #  this one.
# # 
# #  - For any reuse or distribution, you must make clear to others the license
# #    terms of this work. The best way to do this is with a link to this web
# #    page.
# # 
# #  - Any of the above conditions can be waived if you get permission from the
# #    copyright holder.
# # 
# #  - Nothing in this license impairs or restricts the author's moral rights.
# # 
# #----------------------------------------------------------------------------
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Instrutions:
#  Scroll down to the config and add terrain_tags by adding these to the config
#  module (Unlimited_Terrain_Tags.add_terrains(tileset_id,x,y,terrain_tag))
#
#   tileset_id  - is the tilsets id
#   x,y         - is the location on the tile set
#   terrain_tag - is the terrain_tag for that tile
#
# To get the x and y think of the tilset as the map and the x and y are each block
# dont count the auto tiles.
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module Unlimited_Terrain_Tags
 
# dont touch any of this
 
  $terrains = []
 
  class Terrains
   
    attr_reader   :tileset_id,:tile_id,:terrain_tag
   
    def initialize(tileset_id,tile_id,terrain_tag)
      @tileset_id,@tile_id,@terrain_tag = tileset_id,tile_id,terrain_tag
    end
   
  end
 
  def self.get_tile_id(x,y)
    return((y*8)+x)+384
  end
 
  def self.add_terrains(tileset_id,x,y,terrain_tag)
    $terrains.push(Terrains.new(tileset_id,self.get_tile_id(x,y),terrain_tag))
  end 
 
  #============================================================================
  # MCES::Config
  #----------------------------------------------------------------------------
  #  The configuration for Unlimited Terrain Tags
  #============================================================================
  module Config
    # add terrain tags here
    #Unlimited_Terrain_Tags.add_terrains(tileset_id,x,y,terrain_tag)
  end
 
  def self.get_terrain_tag(tileset_id,tile_id)
    $terrains.each {|terrain|
    if [tileset_id,tile_id] == [terrain.tileset_id,terrain.tile_id]
      return terrain.terrain_tag
    end}
    return 0
  end
 
end
 
class Game_Map
 
  def terrain_tag(x, y)
    if @map_id != 0
      [2, 1, 0].each{|i|
      tile_id = data[x, y, i]
      if tile_id == nil
        return 0
      else
        t = Unlimited_Terrain_Tags.get_terrain_tag(@map.tileset_id,tile_id)
        return t if t > 0
        return @terrain_tags[tile_id] if @terrain_tags[tile_id] > 0
      end}
    end
    return 0
  end
 
end


Mais comment marche ce script ?

Il suffit juste d'aller à la ligne 83. Pour ajouter de nouveaux tags, il faut écrire ceci : Unlimited_Terrain_Tags.add_terrains(tileset_id,x,y,terrain_tag).
Vous pouvez en ajouter autant que vous le voulez.

Tileset_id correspond au numéro de votre tileset dans votre BDD, x et y correspondent aux carreaux verticaux et horizontaux, et terrain_tag par le tag terrain que vous voulez attribuer à ce tile.

ATTENTION : la ligne des autotiles ne comptent pas ! Il faut donc commencer à compter à partir de la 1ère ligne de votre tileset.
De plus, la première ligne et la première colonne compte pour 0.

Voilà un petit schéma explicatif, au cas ou :


De plus, ce script ne marche pas avec les autotiles.

Voilà, j'espère que vous avez compris, si toutefois vous n'y arrivez toujours pas, postez un message ici. Clin d'œil foireux


Dernière édition par Rey' le Sam 27 Avr - 14:34 (2013); édité 1 fois
Revenir en haut
Skype
Publicité






MessagePosté le: Mer 24 Avr - 11:32 (2013)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Pαlвσlѕку
Administrateur
Administrateur


Inscrit le: 17 Aoû 2008
Messages: 5 982
Masculin

MessagePosté le: Mer 24 Avr - 15:15 (2013)    Sujet du message: Infinité de Tag Terrains.

Tu as testé s'il était totalement compatible avec PSP ?

Sinon, c'est un script fort pratique pour ceux qui manque de tags terrains où qui en abusent.
Revenir en haut
Skype
Rey'
Membre


Inscrit le: 09 Aoû 2010
Messages: 382
Forever Alone
Localisation: Le Havre
Masculin
ID Steam: TheRey

MessagePosté le: Mer 24 Avr - 17:29 (2013)    Sujet du message: Infinité de Tag Terrains.

Oui, j'ai oublié de le préciser, il fonctionne avec PSP. Clin d'œil foireux
Revenir en haut
Skype
M. XD
Membre


Inscrit le: 24 Avr 2013
Messages: 49
Bêta-Testeur.
Localisation: Marseille.

MessagePosté le: Jeu 25 Avr - 00:06 (2013)    Sujet du message: Infinité de Tag Terrains.

Merci du Partage ! Imbécile heureux
Revenir en haut
Skype
Arc-Arceus
Modérateur
Modérateur


Inscrit le: 21 Fév 2010
Messages: 911
Deus Ex Machina
Localisation: 8e dimension à droite
Féminin

MessagePosté le: Sam 27 Avr - 11:20 (2013)    Sujet du message: Infinité de Tag Terrains.

Et comment fait-on si l'on désire affecter ces nouveaux tags aux autotiles ? 42
Revenir en haut
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Sam 27 Avr - 11:28 (2013)    Sujet du message: Infinité de Tag Terrains.

Essaie les coordonnées négatives Gros matou qui ronronne
Revenir en haut
Facebook Twitter
Rey'
Membre


Inscrit le: 09 Aoû 2010
Messages: 382
Forever Alone
Localisation: Le Havre
Masculin
ID Steam: TheRey

MessagePosté le: Sam 27 Avr - 14:25 (2013)    Sujet du message: Infinité de Tag Terrains.

C'est vrai que j'y avais pas pensé. Du coup, j'essaye la proposition de Yuri et je vous redis ça. ^^

EDIT : Non, ça ne marche pas. Faut croire que le script n'a pas été prévu pour les autotiles.
Revenir en haut
Skype
Pαlвσlѕку
Administrateur
Administrateur


Inscrit le: 17 Aoû 2008
Messages: 5 982
Masculin

MessagePosté le: Sam 27 Avr - 17:23 (2013)    Sujet du message: Infinité de Tag Terrains.

Les autotiles ne font pas parties des tilesets.
Il faudrait compléter le script pour qu'ils soient pris en compte.
Revenir en haut
Skype
Sphinx
Scribe
Scribe


Inscrit le: 07 Jan 2008
Messages: 9 736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

MessagePosté le: Dim 28 Avr - 12:09 (2013)    Sujet du message: Infinité de Tag Terrains.

sisi ils font partie des tilesets Imbécile heureux

D'ailleurs, la numérotation des tile_id de chaque tileset (hors autotiles) ne commence pas à 0 ^^ Dans l'introduction de ce script j'explique comment marche le calcul du tile_id ^^ Et chaque autotile correspond en réalité à 48 tiles (les 48 formes qu'il peut adopter selon la situation)

edit : [url=http://pokemonscriptproject.xooit.fr/t5194-Script-Couper-l-herbe-sous-le-pied-du-joueur-version-3.htm?theme=test#p108000]Explication détaillée du calcul du tileid pour les autotiles (la règle générale suit le concept expliqué dans le lien au dessus)
Revenir en haut
Pαlвσlѕку
Administrateur
Administrateur


Inscrit le: 17 Aoû 2008
Messages: 5 982
Masculin

MessagePosté le: Dim 28 Avr - 13:47 (2013)    Sujet du message: Infinité de Tag Terrains.

Ah ouais j'avais totalement oublié le fonctionnement en fait.
Revenir en haut
Skype
Arc-Arceus
Modérateur
Modérateur


Inscrit le: 21 Fév 2010
Messages: 911
Deus Ex Machina
Localisation: 8e dimension à droite
Féminin

MessagePosté le: Jeu 2 Mai - 14:38 (2013)    Sujet du message: Infinité de Tag Terrains.

Allez, j'ai regardé le script, et en fait c'est tout bête : à la ligne 70, il faut virer le 384, qui sert juste à zapper les autotiles dans la numérotation ! x)
Après il suffit d'appliquer les règles de calcul données par Sphinx et le compte est bon ! ça marche impec' chez moi, et c'est très utile. Gros matou qui ronronne
Revenir en haut
Rey'
Membre


Inscrit le: 09 Aoû 2010
Messages: 382
Forever Alone
Localisation: Le Havre
Masculin
ID Steam: TheRey

MessagePosté le: Jeu 2 Mai - 16:13 (2013)    Sujet du message: Infinité de Tag Terrains.

Content que ce script plaise à tout le monde. :D
Je savais bien que faire une recherche pour les Tags Terrains serait pratique.
Revenir en haut
Skype
Sphinx
Scribe
Scribe


Inscrit le: 07 Jan 2008
Messages: 9 736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

MessagePosté le: Mar 7 Mai - 06:48 (2013)    Sujet du message: Infinité de Tag Terrains.

Arc-Arceus a écrit:
Après il suffit d'appliquer les règles de calcul données par Sphinx et le compte est bon ! ça marche impec' chez moi, et c'est très utile. Gros matou qui ronronne

Normal qu'elles marchent, elles ont été appliquées à plus de 5.000 années de construction de pyramides ^^

Plus sérieusement, j'avais été obligé de creuser la question à cause de mon autre script, donc autant que mes recherches servent à nouveau si elles le peuvent :p
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 16:58 (2017)    Sujet du message: Infinité de Tag Terrains.

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Scripts Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)
Traduction par : phpBB-fr.com