prt_added=1110
var ("prt"+string_copy(prt_added,2,2))=prt_added


quiero que quede
prt11=1110

pero no se como hacerlo, me da error si lo intento ???

No se puede. La mejor solución sería usar mapas.
alaberga regué el café.

BA:STFW&RTFM

Por supuesto que te da error, ese código no tiene ni pies ni cabeza. En primer lugar no puedes usar strings directamente para nombrar variables, en segundo prt_added tiene valor real, asi que las funciones de string no van a funcionar en con él sin primero transformarlo.

Ahora bien, es posible crear variables al vuelo a partir de strings, pero requiere usar las funciones apropiadas, y se pueden crear solo de rango global o de instancia, no locales como quieres hacer en el código que muestras, por lo que coincido con NiuWeb, si de verdad requieres que el valor sea asignado con esa identificación lo mejor seria utilizar un mapa y destruirlo al final del código.

Para el ejemplo que pones el código seria así:

[gml]
var Mapa = ds_map_create()

prt_added=1110
var ("prt"+string_copy(prt_added,2,2))=prt_added

Mapa[? "prt"+string_copy(string(prt_added),2,2)] = prt_added
[/gml]

Y para acceder al valor seria con Mapa[? "prt11"] por ejemplo:

[gml]Variable = Mapa[? "prt11"]
Mapa[? "prt11"] += 1000[/gml]

Y al final del código o evento (dependiendo si estas usando scripts o bloques de código) destruir el mapa.

[gml]ds_map_destroy(Mapa)[/gml]

muchas gracias, ya decía yo que me había inventado algo :-[ :-[
Lo he probado y funciona perfectamente, gracias :) :) :)