| Lecture d'un string | |
|
|
Auteur | Message |
---|
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Lecture d'un string Sam 2 Fév 2008 - 22:09 | |
| J'aimerai qu string comme cela : "1/0/16777215/1000000/16/0/0/1/16/112/1/112/1" Qu'on puisse en extraire les nombres. Le nombre de... nombre est fixe et connu (pas besoin de le chercher) et c'est toujours le caractère "/" qui est utilisé pour les séparations.
Bref, j'aimerais que "1/0/16777215/1000000/16/0/0/1/16/112/1/112/1" me donne un truc du style : a[0]=1 a[1]=0 a[2]=16777215 a[3]=1000000
etc....
Par pitié, aidez mouaaaaa, j'en peux plus de me casser la tête là dessus :gniah: |
|
| |
ombre Utilisateur confirmé: Rang ***
Messages : 689 Localisation : Dans sa batcave.
| Sujet: Re: Lecture d'un string Sam 2 Fév 2008 - 23:39 | |
| |
|
| |
Rem_101 *Excellent utilisateur*
Messages : 4356 Localisation : chez votre marchand de journaux
| Sujet: Re: Lecture d'un string Sam 2 Fév 2008 - 23:41 | |
| |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: Lecture d'un string Dim 3 Fév 2008 - 1:58 | |
| Voici deux script que je vient de te faire .La chaine qui faut leur donner doit être de ce format : 0/1/2/3//5/6/4.5/995484/ //get_entry_value(string,index) //Retournne l'entrée d'index demandé //Chaque nouvelle entrée doit se terminer par un / et s'ajouter à la fin du reste des entrée //exemple de chaine : 100/2/3.5/4/5/6/7/8/945246465/10/11111255786786/12/1/14/15/16/17/18/ //Par CoDeAVE var sep_pos; var sep_pos_end; var str; str=argument0 sep_pos=0; repeat argument1 { sep_pos=string_pos('/',str) str=string_copy(str,sep_pos+1,string_length(str)-(sep_pos)) } sep_pos_end=string_pos('/',str) return real(string_copy(str,0,sep_pos_end-1)) //get_entry_number(string) //Retournne le nombre d'entrée dans la chaine //Par CoDeAVE var count; var str; str=argument0; count=0; while(string_pos('/',str)!=0) { sep_pos=string_pos('/',str) count+=1 str=string_copy(str,sep_pos+1,string_length(str)-(sep_pos)) } return count J'espère que mes deux script te servirons ^^ |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Lecture d'un string Dim 3 Fév 2008 - 8:38 | |
| CoDeAVE, tu est mon Dieu et merci aussi ombre, j'y pensais au script des balises, mais ça aurait demandé de le modifier, alors que là on me sert la solution sur un plateau |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Lecture d'un string Dim 3 Fév 2008 - 9:47 | |
| Voilà, ça marche (encore re-merci CoDEAVE ^^ ) Je vais encore un peu bidouiller le tout , mais je viens de finir unscript permettant d'exportant dans un fichier toutes les données des tiles d'une room, et donc de les ré-importés plus tard. L'import dans une room est quasi instantané. Ca permet par exemple, de rester dans une room et de changer de décors : pour cela, faut faire : - Code:
-
tile_layer_delete(1000000) import_tile("tile2.tf") Juste avec ces deux lignes votre map change totalement. Utile par exemple pour simuler d'un coup de la neige, juste rajouter un bout de tiles, etc,etc. L'export par contre se fait uniquement par le dévelopeur (logique) Et se fait comme ça : - Code:
-
export_tile("tile2.tf") Il suffit de placer se code à un moment dans la room. Un exemple : http://www.zshare.net/download/7147375f4e4827/Les scripts : - Spoiler:
**-------------------------------------------** //export_tile(fname) i=10000000 dim=1 tile_list[0]=-1
//O : -1 //1 : NA //2 : debut while (not tile_exists(i)){i+=1}
for (k=i;k<i+1000000;k+=1) {if tile_exists(k){dim+=1; tile_list[dim]=k}}
f=file_text_open_write(argument0) file_text_write_string(f,"alpha background blend depth height left top visible width x xscale y yscale") file_text_writeln(f) file_text_write_string(f,"dim:"+string(dim)) file_text_writeln(f) show_message(string(dim-2)) for(a=2;a<=dim;a+=1) {i=tile_list[a] text=string(tile_get_alpha(i))+"/"+string(tile_get_background(i))+"/"+string(tile_get_blend(i))+"/"+string(tile_get_depth(i))+"/"+string(tile_get_height(i))+"/"+string(tile_get_left(i))+"/"+string(tile_get_top(i))+"/"+string(tile_get_visible(i))+"/"+string(tile_get_width(i))+"/"+string(tile_get_x(i))+"/"+string(tile_get_xscale(i))+"/"+string(tile_get_y(i))+"/"+string(tile_get_yscale(i))+"/" file_text_write_string(f,text) file_text_writeln(f)} file_text_close(f)
**-----------------------------------** //import_tile(fname) var f,a,dim,i,t,_; f=file_text_open_read(argument0) file_text_readln(f) a=file_text_read_string(f) dim=real(string_copy(a,5,string_length(a)-4)) file_text_readln(f) for(i=1;i<=dim;i+=1) //pour chaque ligne-tile {a=file_text_read_string(f) file_text_readln(f) for(t=1;t<=13;t+=1)//pour chaque valeur a prendre { /////////////////// var sep_pos; var sep_pos_end; var str; str=a sep_pos=0;
repeat t-1 { sep_pos=string_pos('/',str) str=string_copy(str,sep_pos+1,string_length(str)-(sep_pos)) } sep_pos_end=string_pos('/',str) __= real(string_copy(str,0,sep_pos_end-1))
/////////////////// temp[t]=__//real(string_copy(a,index,index+length-1))
//dans temp[]il y a toutes les valeurs l'une après l'autre }//fin d'une ligne _=tile_add(temp[2],temp[6],temp[7],temp[9],temp[5],temp[10],temp[12],temp[4]) tile_set_alpha(_,temp[1]) tile_set_blend(_,temp[3]) tile_set_scale(_,temp[11],temp[13]) }//fin de chaque ligne file_text_close(f)
|
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Lecture d'un string Dim 3 Fév 2008 - 12:10 | |
| bon, vu que ça c'est au point, je continue et bientôt j'aurais un système de map externe à loader :nah: Et ça c'est pratique |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Lecture d'un string Dim 3 Fév 2008 - 13:44 | |
| Je me doute de comment tu fais Edit : c'est le système auquel je pensais. Bien joué pour la programmation car tu pourrais me faire gagner du temps la dessus. Je suis heureux que l'on ai eu la même idée sur le sujet Edit : Et ba dites donc, le codage de ce système m'a bien lair aussi lourd que je pensais. Vraiment, vos scriptes, c'est une petite révolution Chapeau d'avoir pris le temps ! Edit : Ca m'a l'air pas mal aussi : http://gmc.yoyogames.com/index.php?showtopic=353544&st=0 |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Lecture d'un string Dim 3 Fév 2008 - 15:15 | |
| 3 edit -_- Sinon, le truc sur yoyogames a l'air bien aussi, en complément de mon truc, il y aura plus rien dans le .exe |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: Lecture d'un string Dim 3 Fév 2008 - 18:19 | |
| Content de t'avoir servi le tout sur un plateau M@d_Doc. Je trouve très interessant ton système de tuile parce que je suis en train de faire un RPG et justement cela pourrait me servir l'hiver venu dans le jeu . |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Lecture d'un string Lun 4 Fév 2008 - 18:18 | |
| inutile de dire que je peux être intéressé aussi, mais que je choisirais le meilleur système. PS : j'ai encore pas trop réfléchis sur les deux |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Lecture d'un string Lun 4 Fév 2008 - 19:34 | |
| Disons que c'est pas strictement la même chose... Moi ça te sauvegarde tes rooms/tiles/objectsbakcgrounds/ce que tu veux en externe, ça rend le .exe moins gros. L'autre truc libère la RAM.... Ca se complete d'après moi |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Lecture d'un string Mar 5 Fév 2008 - 13:22 | |
| J'ai la flem et le manque de temps contre moi en ce moment, donc uillet aout, je décortique |
|
| |
Contenu sponsorisé
| Sujet: Re: Lecture d'un string | |
| |
|
| |
| Lecture d'un string | |
|