Bonjour !
Et Re en quelque sorte , je me suis enfin décidé a rererere ... refaire un jeu mais je pense que celui la je vais le terminer ^^
Bon j'ai un problème , je veux faire un inventaire ( comme le post précédent tien ) mais j'ai un soucis , et un peut bizzard :/
Je vous explique , mon code est le suivant :
- Code:
-
for (i=0 ; global.inv_max_capa >i ; i+=1){
if ( global.inv_player[ i ] == 0 ){
global.inv_player[ i ] = object_get_name(object_index);
i = global.inv_max_capa;
}
}
Bon je suis vraiment en train de faire le début , donc ne vous inquiétez pas hein
, bon ce que je vexu faire c'est de ballaiyer la variable global.inv_player[ ] avec la variable i de la boucle for , afin de savoir si il y a une case du tableau qui est vide ( false ou 0 ) . Le problème c'est que quand je lance le code ( qui est juste sur un objet qui touche mon perso , donc quand je touche cette objet avec mon perso ) GM me met sa comme message d'érreur :
- Code:
-
___________________________________________
ERROR in
action number 1
of Collision Event with object obj_player
for object obj_pomme:
In script scr_inv_addobj:
Error in code at line 2:
if ( global.inv_player[ i ] == 0 ){
^
at position 37: Cannot compare arguments.
Voila , sa me fais rager car je sais pas comment le patché .
NB : J'ai fais des test et remarquer que si je met directement quelque chose dans la case 1 sois : global.inv_player[0] = "lol"
Le message s'éffiche quand je tape l'objet ( qui je le redis lance le script lors de la colision entre moi et l'objet ) .
Si je fais : global.inv_player[1] = "lol"
Alors sa marche , mais ! si je répète l'action sois je tape dans un autre objet le meme ou différent mais avec le meme script l'érreur apparait.
Donc l'érreur apparais lorsque la variable i de la boucle for trouve vraiment une case vide égale a 0 ou false.
Du coup je sais pas du tout comment faire :/
Le code de mon controler d'inventaire et du lancement du jeu ( d'ailleur si vous trouvé ( chose qui est très très fort possible sachant que j'ai fais sa en 2 minutes sans logique ) une amélioration faites vous plaisir
) :
- Code:
-
global.inv_corrent_case = 0
global.game_firststart = 0
global.inv_max_capa = 10
temp_w_pas=0
if global.game_firststart == 0{
while (temp_w_pas < global.inv_max_capa) {
global.inv_player[temp_w_pas] = false
temp_w_pas += 1
global.game_firststart = 1;
}
if temp_w_pas > global.inv_max_capa {
game_save("save1")
game_restart()
}
}else{
game_load("save1")
}
global.inv_player[0] = "lol"
Le script executer lors d'un colision avec le joueur ( le meme plus haut ) :
- Code:
-
for (i=0 ; global.inv_max_capa >i ; i+=1){
if ( global.inv_player[ i ] == 0 ){
global.inv_player[ i ] = object_get_name(object_index);
i = global.inv_max_capa;
}
}
Plz Help me ! i love you !