How to get this ...
#1

Hi all, I wanted to know how I can get the X and Y position of a TextDraw and display it in a printf?.

Thanks in advance.

Sorry for my Inglйs.
Reply
#2

I don't understand... When you create a textdraw, you know the X and Y position... If you want to replace your textdraw, use a textdraw editor...
Reply
#3

Quote:
Originally Posted by leo3412
Посмотреть сообщение
I don't understand... When you create a textdraw, you know the X and Y position... If you want to replace your textdraw, use a textdraw editor...
Exactly the easier way to get the X,Y,Z is to use an texdraw editor. And What I don't understand is "display it in a printf?."
Reply
#4

Quote:
Originally Posted by .v
Посмотреть сообщение
Exactly the easier way to get the X,Y,Z is to use an texdraw editor. And What I don't understand is "display it in a printf?."
Obviously they want to get the X and Y coordinates of the textdraw and use it in printf.

Example:
pawn Код:
printf("Textdraw | X = %.2f, Y = %.2f",X, Y);
Credits to Nero_3D:
pawn Код:
stock Float: TextDrawCoords[Text: (MAX_TEXT_DRAWS * 2)] = {-1.0, ...};
#define TextDrawCoords[%0][%1] TextDrawCoords[(%0) + Text: (MAX_TEXT_DRAWS * (%1))]
stock Text: TextDrawCreateEx(Float:x, Float:y, text[])
{    
    new Text: gtext = TextDrawCreate(x, y, text);    
    if(gtext != Text: INVALID_TEXT_DRAW)
    {        
        TextDrawCoords[gtext][0] = x;        
        TextDrawCoords[gtext][1] = y;    
    }    
    return gtext;
}
#define TextDrawCreate TextDrawCreateEx
stock TextDrawDestroyEx(Text:text)
{    
    if(TextDrawDestroy(text))
    {        
        TextDrawCoords[text][0] = TextDrawCoords[text][1] = -1.0;        
        return true;    
    }    
    return false;
}
#define TextDrawDestroy TextDrawDestroyEx
stock TextDrawGetPos(Text:text, &Float:x, &Float:y)
{    
    if(TextDrawCoords[text][0] != -1.0)
    {        
        x = TextDrawCoords[text][0];        
        y = TextDrawCoords[text][1];        
        return true;    
    }    
    return false;
}
Example of it's use for printf:
pawn Код:
CMD:gettextpos(playerid,params[])
{
    TextDrawGetPos(MyTextdraw, TEXTPOSX, TEXTPOSY);
    printf("MyTextdraw: X: %.2f | Y: %.2f",TEXTPOSX, TEXTPOSY);
    return 1;
}
Reply
#5

Quote:
Originally Posted by clarencecuzz
Посмотреть сообщение
Obviously they want to get the X and Y coordinates of the textdraw and use it in printf.

Example:
pawn Код:
printf("Textdraw | X = %.2f, Y = %.2f",X, Y);
Credits to Nero_3D:
pawn Код:
stock Float: TextDrawCoords[Text: (MAX_TEXT_DRAWS * 2)] = {-1.0, ...};
#define TextDrawCoords[%0][%1] TextDrawCoords[(%0) + Text: (MAX_TEXT_DRAWS * (%1))]
stock Text: TextDrawCreateEx(Float:x, Float:y, text[])
{    
    new Text: gtext = TextDrawCreate(x, y, text);    
    if(gtext != Text: INVALID_TEXT_DRAW)
    {        
        TextDrawCoords[gtext][0] = x;        
        TextDrawCoords[gtext][1] = y;    
    }    
    return gtext;
}
#define TextDrawCreate TextDrawCreateEx
stock TextDrawDestroyEx(Text:text)
{    
    if(TextDrawDestroy(text))
    {        
        TextDrawCoords[text][0] = TextDrawCoords[text][1] = -1.0;        
        return true;    
    }    
    return false;
}
#define TextDrawDestroy TextDrawDestroyEx
stock TextDrawGetPos(Text:text, &Float:x, &Float:y)
{    
    if(TextDrawCoords[text][0] != -1.0)
    {        
        x = TextDrawCoords[text][0];        
        y = TextDrawCoords[text][1];        
        return true;    
    }    
    return false;
}
Example of it's use for printf:
pawn Код:
CMD:gettextpos(playerid,params[])
{
    TextDrawGetPos(MyTextdraw, TEXTPOSX, TEXTPOSY);
    printf("MyTextdraw: X: %.2f | Y: %.2f",TEXTPOSX, TEXTPOSY);
    return 1;
}
Thanks, I'll try with that
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)