Quelque soit la valeur de DRs_playerfood (qui est une variable global) il m'affiche bien le message box correspondant avec les choix possibles. Cependant quelque soit le bouton sur lequel j'appuie et à partir de n'importe quel menu, il m'arrête le script sans rien avoir posé et surtout sans le messagebox de fin ( ce qui m'amène à penser que je ne me suis pas gourée sur les coordonnées ). Je suis dans une cellule intérieure. Ce script n'a pas toujours été sous cette forme (j'ai essayé des variantes).
Voilà mon script.
Begin Drs_food_script Short button Short button2 set button to ( -1 ) set button2 to ( -1 ) if ( onactivate == 1 ) if ( DRs_playerfood == 0 ) messagebox "Il n'y a pas de nourriture disponible pour vous, cependant vous pouvez avoir de l'eau.", "Non, merci", "S'il-vous-plait" set button to Getbuttonpressed if ( button == 1) placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 endif else messagebox "Que voulez-vous ?", "Eau", "Alcool", "Cote de chien en sauce au miel", "Rat avec légumes braisés", "Scrib séché, sauce céréales", "Oeuf à la coque version coupe-faim", "Oeuf à la coque avec lit de racine", "Plat spécial entrainement" set Drs_playerfood to 0 set button2 to getbuttonpressed if ( button2 == 0 ) messagebox "Voici." placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 elseif ( button2 == 1 ) messagebox "Allez le chercher au bar prévu à cet effet, aux cavernes inférieures." elseif ( button2 == 2 ) messagebox "Voici." placeitem ingred_hound_meat_01, 6244, 5325, 12169, 0 placeitem ingred_comberry_01, 6242, 5330, 12168, 5400 placeitem ingred_comberry_01, 6247, 5333, 12169, 10800 placeitem ingred_bread_01, 6214, 5278, 12172, 0 placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 elseif ( button2 == 3 ) messagebox "Voici." placeitem ingred_rat_meat_01, 6249, 5327, 12169, 0 placeitem ingred_scuttle_01, 6238, 5326, 12170, 0 placeitem ingred_scuttle_01, 6243, 5335, 12169, 5400 placeitem ingred_bread_01, 6214, 5278, 12172, 0 placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 elseif ( button2 == 4 ) messagebox "Voici." placeitem ingred_scrib_jerky_01, 6237, 5329, 12170, 0 placeitem ingred_scrib_jerky_01, 6243, 5331, 12170, 0 placeitem ingred_saltrice_01, 6249, 5331, 12172, 0 placeitem ingred_saltrice_01, 6244, 5325, 12172, 5400 placeitem ingred_bread_01, 6214, 5278, 12172, 0 placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 elseif ( button2 == 5 ) messagebox "Voici." placeitem food_kwama_egg_02, 6244, 5329, 12178, 0 placeitem misc_com_plate_01, 6258, 5301, 12169, 0 placeitem ingred_trama_root_01, 6260, 5304, 12170, 0 placeitem ingred_trama_root_01, 6256, 5300, 12170, 10800 placeitem ingred_bread_01, 6214, 5278, 12172, 0 placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 elseif ( button2 == 6 ) messagebox "Voici." placeitem food_kwama_egg_01, 6244, 5329, 12178, 0 placeitem misc_com_plate_01, 6258, 5301, 12169, 0 placeitem ingred_trama_root_01, 6260, 5304, 12170, 0 placeitem ingred_trama_root_01, 6256, 5300, 12170, 10800 placeitem ingred_bread_01, 6214, 5278, 12172, 0 placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 elseif ( button2 == 7 ) messagebox "Voici." placeitem ingred_crab_meat_01, 6244, 5329, 12171, 0 placeitem ingred_saltrice_01, 6240, 5329, 12170, 0 placeitem ingred_saltrice_01, 6244, 5329, 12170, 0 placeitem ingred_saltrice_01, 6248, 5329, 12170, 0 placeitem ingred_bread_01, 6214, 5278, 12172, 0 placeitem Drs_waterbottle_02, 6180, 5337, 12183, 0 endif endif endif end Drs_food_script
Les variantes ont été du style (j'avais à chaque fois déclaré les variables en rab) :
if ( Drs_playerfood == 0 ) Messagebox "blabla", "choix1", "choix2" set controlvar to 1 ... endif if ( controlvat == 1 ) if ( Getbuttonpressed == 0 ) return elseif ( Getbuttonpressed == 1 ) placeitem endif endif ...
ou
if ( Drs_playerfood == 0 ) Messagebox "blabla", "choix1", "choix2" set controlvar to 1 set button to Getbuttonpressed ... endif if ( controlvar == 1 ) if ( button == 0 ) return elseif ( button == 1 ) placeitem endif endif
ou encore
if ( Drs_playerfood == 0 ) Messagebox "blabla", "choix1", "choix2" set button to getbuttonpressed if ( button == 0 ) return elseif ( button == 1 ) placeitem endif endif
Je ne comprends pas ce qui peut ne pas marcher.