Entiendo perfectamente lo que quieres hacer, pero como ya dijo Captain, Solamente almacenan el ID del textdraw, y las propiedades se setean mediante las funciones que te piden como parametro el id del textdraw, pero no todo esta perdido, puedes hacer un script para clonar las propiedades facilmente..
pawn Код:
#include <a_samp>
enum TextDraw
{
Text:TextDrawID,
Float:posX, Float:posY, tdText[800],
Float:lsX, Float:lsY,
Float:tsX, Float:tsY,
align,
tdColor,
useBox,
boxColor,
shadowSize,
outlineSize,
backgroundColor,
fontID,
proportionalSet,
selectableSet
};
public OnFilterScriptInit()
{
new textdraw1[TextDraw];
textdraw1 = _TextDrawCreate(1.0, 2.0, "Test");
_TextDrawPrintPropietys(textdraw1);
printf("\n---------------------------\n");
new textdraw2[TextDraw];
textdraw2 = _TextDrawClone(textdraw1);
_TextDrawPrintPropietys(textdraw2);
}
stock _TextDrawPrintPropietys(tmp[TextDraw])
{
printf("X: %f | Y: %f | Text: %s", tmp[posX], tmp[posY], tmp[tdText]);
printf("lsX: %f | lsY: %f", tmp[lsX], tmp[lsY]);
printf("tsX: %f | tsY: %f", tmp[tsX], tmp[tsY]);
printf("align: %d", tmp[align]);
printf("tdcolor: %x", tmp[tdColor]);
printf("useBox: %d", tmp[useBox]);
printf("boxColor: %x", tmp[boxColor]);
printf("shadowSize: %d", tmp[shadowSize]);
printf("outlineSize: %d", tmp[outlineSize]);
printf("backgroundColor: %x", tmp[backgroundColor]);
printf("fontID: %d", tmp[fontID]);
printf("proportionalSet: %d", tmp[proportionalSet]);
printf("selectableSet: %d", tmp[selectableSet]);
}
stock _TextDrawClone(td[TextDraw])
{
new tmp[TextDraw];
tmp = td;
tmp[TextDrawID] = TextDrawCreate(tmp[posX], tmp[posY], tmp[tdText]);
TextDrawLetterSize(tmp[TextDrawID], tmp[lsX], tmp[lsY]);
TextDrawTextSize(tmp[TextDrawID], tmp[tsX], tmp[tsY]);
TextDrawAlignment(tmp[TextDrawID], tmp[align]);
TextDrawColor(tmp[TextDrawID], tmp[tdColor]);
TextDrawUseBox(tmp[TextDrawID], tmp[useBox]);
TextDrawBoxColor(tmp[TextDrawID], tmp[boxColor]);
TextDrawSetShadow(tmp[TextDrawID], tmp[shadowSize]);
TextDrawSetOutline(tmp[TextDrawID], tmp[outlineSize]);
TextDrawBackgroundColor(tmp[TextDrawID], tmp[backgroundColor]);
TextDrawFont(tmp[TextDrawID], tmp[fontID]);
TextDrawSetProportional(tmp[TextDrawID], tmp[proportionalSet]);
TextDrawSetSelectable(tmp[TextDrawID], tmp[selectableSet]);
return tmp;
}
stock _TextDrawCreate(Float:x, Float:y, text[])
{
new temp[TextDraw];
temp[TextDrawID] = TextDrawCreate(x, y, text);
temp[posX] = x;
temp[posY] = y;
format(temp[tdText], 800, text);
return temp;
}
stock _TextDrawDestroy(td[TextDraw])
{
TextDrawDestroy(td[TextDraw]);
}
stock _TextDrawLetterSize(td[TextDraw], Float:x, Float:y)
{
TextDrawLetterSize(td[TextDrawID], x, y);
td[lsX] = x;
td[lsY] = y;
}
stock _TextDrawTextSize(td[TextDraw], Float:x, Float:y)
{
TextDrawTextSize(td[TextDrawID], x, y);
td[tsX] = x;
td[tsY] = y;
}
stock _TextDrawAlignment(td[TextDraw], alignment)
{
TextDrawAlignment(td[TextDrawID], alignment);
td[align] = alignment;
}
stock _TextDrawColor(td[TextDraw], color)
{
TextDrawColor(td[TextDrawID], color);
td[tdColor] = color;
}
stock _TextDrawUseBox(td[TextDraw], use)
{
TextDrawUseBox(td[TextDrawID], use);
td[useBox] = use;
}
stock _TextDrawBoxColor(td[TextDraw], color)
{
TextDrawBoxColor(td[TextDrawID], color);
td[boxColor] = color;
}
stock _TextDrawSetShadow(td[TextDraw], size)
{
TextDrawSetShadow(td[TextDrawID], size);
td[shadowSize] = size;
}
stock _TextDrawSetOutline(td[TextDraw], size)
{
TextDrawSetOutline(td[TextDrawID], size);
td[outlineSize] = size;
}
stock _TextDrawBackgroundColor(td[TextDraw], color)
{
TextDrawBackgroundColor(td[TextDrawID], color);
td[backgroundColor] = color;
}
stock _TextDrawFont(td[TextDraw], font)
{
TextDrawFont(td[TextDrawID], font);
td[fontID] = font;
}
stock _TextDrawSetProportional(td[TextDraw], set)
{
TextDrawSetProportional(td[TextDrawID], set);
td[proportionalSet] = set;
}
stock _TextDrawSetSelectable(td[TextDraw], set)
{
TextDrawSetSelectable(td[TextDrawID], set);
}
stock _TextDrawShowForPlayer(playerid, td[TextDraw])
{
TextDrawShowForPlayer(playerid, td[TextDrawID]);
}
stock _TextDrawHideForPlayer(playerid, td[TextDraw])
{
TextDrawHideForPlayer(playerid, td[TextDrawID]);
}
stock _TextDrawShowForAll(td[TextDraw])
{
TextDrawShowForAll(td[TextDrawID]);
}
stock _TextDrawHideForAll(td[TextDraw])
{
TextDrawShowForAll(td[TextDrawID]);
}
stock _TextDrawSetString(td[TextDraw], string[])
{
TextDrawSetString(td[TextDrawID], string);
format(td[tdText], 800, string);
}
Esto es lo que mas se parece a lo que tu dices, que es en C++ por lo general, para acceder a las propiedades harнas asн
Cambiarбs el valor de la propiedad pero no serб aplicada, amenos que hagas una funcion para aplicar los cambios realizados a las propiedades..