pues lo que pasa es que en unscript dibujo  un sprite que especifico en uno de los argumentos y dentro del mismo script verifico el sprite que estoy especificando


pero tengo el personaje que puede tener dos tipos de ropas diferentes por lo que necesito dibujar( sin tener que poner if ropa=1... else ...) el sprite que corresponda

pense hacerlo de esta forma

string("chara")+string(ropa)+string("face")

pero me sale que no puede comparar argumentos y sin las comillas me sale que noencuentra la variable chara

no se si m puedan ayudar


ropa solo puede tomar valor 0 o 1

#1 Enero 02, 2010, 07:47:00 AM Ultima modificación: Enero 02, 2010, 08:00:25 AM por Texic
Hasta donde yo se no podes formar el nombre de un recurso mediante un string (si entendi lo que quer?as hacer, porque esta algo confuso), aunque ser?a bastante
interesante y util si alguien me demostrara una forma de hacerlo (La cual sigo creyendo, no existe).
Por cierto, "chara" y "face" ya son string, no necesitas ponerlo dentro de la funci?n, a?n asi no entiendo muy bien lo que tratas de hacer..

EDITO: Que pelo... Me acabo de dar cuenta de que lo que intentas hacer se puede. Tanto tiempo programando sin eso... Bueno, me abriste una nueva puerta xD
Ahora, tu error asi como lo pones no deber?a existir o no lo entiendo del todo =/
?? Se puede hacer tambien con el GM6??
Quizas es s?lo mala sint?xis y pusiste striing o algo asi  en alguna parte, suele pasar




Pod?s, usando execute string:
execute_string("sprite_index=chara"+string(ropa)+"face;");
Y como dijo Texic, chara y face ya son strings al estar entre comillas, usar un string en la funci?n string() es in?til, adem?s de que se ve tonto :P.

EDIT: Casi me olvido, cuidad?n con la funci?n execute_string, es muy lenta. Usala solo cuando no tengas alternativa.
Vim.

#3 Enero 02, 2010, 03:12:22 PM Ultima modificación: Enero 02, 2010, 03:18:39 PM por deathmetal
y solo es posible hacerlo de esa manera?? con el execute string? esque no lo uso en una sola parte si no cada que habla el persnaje o como hago para que uns tring seme reconozca como nombre de sprite


ya texic: peeero claaaro que puedes crear strings y asta variables de esa manera xDD jajaja no soy tan tonto como para inventarme algo tan fmado jaja saludos  gracias por el comentario de las strings dentro delas strings xD no me habia dado cuenta

Tal vez con arrays.
Algo as?:
sprite[0]=chara0face;
sprite[1]=chara1face;

Y despu?s:
sprite_index=sprite[ropa];

Pero a menos que tengas muchos execute_codes juntos,  no creo que se note mucho. Por ejemplo, una vez yo us? al rededor de 20 en create de un objeto que se repet?a como 500 veces en cada room y el tiempo de carga era de unos 40 segundos (despu?s lo optimic? y el tiempo de carga baj? como a la mitad :P).
Vim.

la cosa es que va dentro de un argumento asi:

msjscr("mensaje",sprite)

como seria entonces? si necesidad de poner if global.ropa=1{...}else{}