OnPlayerClickTextDraw doesn't work.
#1

I have this code:
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(_:clickedid != INVALID_TEXT_DRAW) // If the player clicked a valid textdraw, continue with the coding. (_:var removes the Text: tag, to avoid tag mismatch)
    {
        if(clickedid == LockTD)
        {
            SendClientMessage(playerid,C_WHITE,"clicked");
            print(HouseInfo[pNearHouse[playerid]][hOwner]);
            if(HouseInfo[pNearHouse[playerid]][hOwner] == PlayerInfo[playerid][pUID])
            {
                if(HouseInfo[pNearHouse[playerid]][hLocked])
                {
                    HouseInfo[pNearHouse[playerid]][hLocked] = 0;
                    GameTextForPlayer(playerid,"~g~House unlocked!",1000,6);
                }
                else
                {
                    HouseInfo[pNearHouse[playerid]][hLocked] = 1;
                    GameTextForPlayer(playerid,"~r~House locked!",1000,6);
                }  
            }
            else
                SendClientMessage(playerid,C_RED,"You're not near your house.");
        }
        TextDrawHideForPlayer(playerid, BoxTD);
        TextDrawHideForPlayer(playerid, LockTD);
        CancelSelectTextDraw(playerid);
    }
    return 1;
}
Textdraws:
pawn Код:
BoxTD = TextDrawCreate(550.000000, 130.000000, "                                                                                                                                ");
    TextDrawAlignment(BoxTD, 2);
    TextDrawBackgroundColor(BoxTD, 255);
    TextDrawFont(BoxTD, 1);
    TextDrawLetterSize(BoxTD, 0.500000, 1.000000);
    TextDrawColor(BoxTD, -1);
    TextDrawSetOutline(BoxTD, 0);
    TextDrawSetProportional(BoxTD, 1);
    TextDrawSetShadow(BoxTD, 1);
    TextDrawUseBox(BoxTD, 1);
    TextDrawBoxColor(BoxTD, 255);
    TextDrawTextSize(BoxTD, 40.000000, 93.000000);

    HouseTD = TextDrawCreate(550.000000, 132.000000, "House Menu");
    TextDrawAlignment(HouseTD, 2);
    TextDrawBackgroundColor(HouseTD, 255);
    TextDrawFont(HouseTD, 1);
    TextDrawLetterSize(HouseTD, 0.290000, 1.000000);
    TextDrawColor(HouseTD, -16776961);
    TextDrawSetOutline(HouseTD, 0);
    TextDrawSetProportional(HouseTD, 1);
    TextDrawSetShadow(HouseTD, 1);

    LockTD = TextDrawCreate(517.000000, 144.000000, "Lock");
    TextDrawAlignment(LockTD, 2);
    TextDrawBackgroundColor(LockTD, 255);
    TextDrawFont(LockTD, 1);
    TextDrawLetterSize(LockTD, 0.290000, 1.000000);
    TextDrawColor(LockTD, 0xFFFFFFAA);
    TextDrawSetOutline(LockTD, 0);
    TextDrawSetProportional(LockTD, 1);
    TextDrawSetShadow(LockTD, 1);
    TextDrawUseBox(LockTD, 1);
    TextDrawBoxColor(LockTD, 0xffffff00);
    TextDrawTextSize(LockTD, 5, 64);

    RentTD = TextDrawCreate(536.000000, 154.000000, "Rent options");
    TextDrawAlignment(RentTD, 2);
    TextDrawBackgroundColor(RentTD, 255);
    TextDrawFont(RentTD, 1);
    TextDrawLetterSize(RentTD, 0.290000, 1.000000);
    TextDrawColor(RentTD, 0xFFFFFFAA);
    TextDrawSetOutline(RentTD, 0);
    TextDrawSetProportional(RentTD, 1);
    TextDrawSetShadow(RentTD, 1);
    TextDrawUseBox(RentTD, 1);
    TextDrawBoxColor(RentTD, 0xffffff00);
    TextDrawTextSize(RentTD, 5, 64);

    SellMTD = TextDrawCreate(517.000000, 164.000000, "Sell (to market)");
    TextDrawAlignment(SellMTD, 2);
    TextDrawBackgroundColor(SellMTD, 255);
    TextDrawFont(SellMTD, 1);
    TextDrawLetterSize(SellMTD, 0.290000, 1.000000);
    TextDrawColor(SellMTD, 0xFFFFFFAA);
    TextDrawSetOutline(SellMTD, 0);
    TextDrawSetProportional(SellMTD, 1);
    TextDrawSetShadow(SellMTD, 1);
    TextDrawUseBox(SellMTD, 1);
    TextDrawBoxColor(SellMTD, 0xffffff00);
    TextDrawTextSize(SellMTD, 5, 64);

    SellSTD = TextDrawCreate(543.000000, 174.000000, "Sell (to person)");
    TextDrawAlignment(SellSTD, 2);
    TextDrawBackgroundColor(SellSTD, 255);
    TextDrawFont(SellSTD, 1);
    TextDrawLetterSize(SellSTD, 0.290000, 1.000000);
    TextDrawColor(SellSTD, 0xFFFFFFAA);
    TextDrawSetOutline(SellSTD, 0);
    TextDrawSetProportional(SellSTD, 1);
    TextDrawSetShadow(SellSTD, 1);
    TextDrawUseBox(SellSTD, 1);
    TextDrawBoxColor(SellSTD, 0xffffff00);
    TextDrawTextSize(SellSTD, 5, 64);

    SignTD = TextDrawCreate(526.000000, 184.000000, "Put sign");
    TextDrawAlignment(SignTD, 2);
    TextDrawBackgroundColor(SignTD, 255);
    TextDrawFont(SignTD, 1);
    TextDrawLetterSize(SignTD, 0.290000, 1.000000);
    TextDrawColor(SignTD, 0xFFFFFFAA);
    TextDrawSetOutline(SignTD, 0);
    TextDrawSetProportional(SignTD, 1);
    TextDrawSetShadow(SignTD, 1);
    TextDrawUseBox(SignTD, 1);
    TextDrawBoxColor(SignTD, 0xffffff00);
    TextDrawTextSize(SignTD, 5, 64);

    DetailsTD = TextDrawCreate(538.000000, 194.000000, "House details");
    TextDrawAlignment(DetailsTD, 2);
    TextDrawBackgroundColor(DetailsTD, 255);
    TextDrawFont(DetailsTD, 1);
    TextDrawLetterSize(DetailsTD, 0.290000, 1.000000);
    TextDrawColor(DetailsTD, 0xFFFFFFAA);
    TextDrawSetOutline(DetailsTD, 0);
    TextDrawSetProportional(DetailsTD, 1);
    TextDrawSetShadow(DetailsTD, 1);
    TextDrawUseBox(DetailsTD, 1);
    TextDrawBoxColor(DetailsTD, 0xffffff00);
    TextDrawTextSize(DetailsTD, 5, 64);
   
    TextDrawSetSelectable(BoxTD, false);
    TextDrawSetSelectable(LockTD, true);
    TextDrawSetSelectable(RentTD, true);
    TextDrawSetSelectable(SellMTD, true);
    TextDrawSetSelectable(SellSTD, true);
    TextDrawSetSelectable(SignTD, true);
    TextDrawSetSelectable(DetailsTD, true);
Command:
pawn Код:
CMD:house(playerid,params[])
{
    for(new i=0;i<MAX_HOUSES;i++)
    {
        if(IsPlayerInRangeOfPoint(playerid,3.0,HouseInfo[i][hEntrance][0],HouseInfo[i][hEntrance][1],HouseInfo[i][hEntrance][2]))
        {
            TextDrawShowForPlayer(playerid,BoxTD);
            TextDrawShowForPlayer(playerid,HouseTD);
            TextDrawShowForPlayer(playerid,LockTD);
            TextDrawShowForPlayer(playerid,SellMTD);
            TextDrawShowForPlayer(playerid,SellSTD);
            TextDrawShowForPlayer(playerid,RentTD);
            TextDrawShowForPlayer(playerid,DetailsTD);
            TextDrawShowForPlayer(playerid,SignTD);
            SelectTextDraw(playerid, 0x000000AA);
            pNearHouse[playerid] = i;
        }
    }
    return 1;
}
I'm not making them all yet, just LockTD to test and it doesn't work, it does hover above it as needed but when I click nothing happens.
Reply
#2

we have a Function that name is
PHP код:
TextDrawSetSelectable 
but i can't see anywhere of your script
Reply
#3

pawn Код:
if(_:clickedid != INVALID_TEXT_DRAW)
change this to this--
pawn Код:
if(clickedid != INVALID_TEXT_DRAW)
Reply
#4

Quote:

TextDrawSetSelectable MUST be used BEFORE the textdraw is shown to players

https://sampwiki.blast.hk/wiki/TextDrawSetSelectable
Reply
#5

Quote:
Originally Posted by amirab
Посмотреть сообщение
we have a Function that name is
PHP код:
TextDrawSetSelectable 
but i can't see anywhere of your script
I have it... read the code.

Quote:
Originally Posted by BroZeus
Посмотреть сообщение
pawn Код:
if(_:clickedid != INVALID_TEXT_DRAW)
change this to this--
pawn Код:
if(clickedid != INVALID_TEXT_DRAW)
Doesn't work.

Quote:
Originally Posted by Threshold
Посмотреть сообщение
I did it before showing the textdraw.
Reply
#6

Bro maybe you didn't understandt just change this :
PHP код:
LockTD TextDrawCreate(517.000000144.000000"Lock");
    
TextDrawAlignment(LockTD2);
    
TextDrawBackgroundColor(LockTD255);
    
TextDrawFont(LockTD1);
    
TextDrawLetterSize(LockTD0.2900001.000000);
    
TextDrawColor(LockTD0xFFFFFFAA);
    
TextDrawSetOutline(LockTD0);
    
TextDrawSetProportional(LockTD1);
    
TextDrawSetShadow(LockTD1);
    
TextDrawUseBox(LockTD1);
    
TextDrawBoxColor(LockTD0xffffff00);
    
TextDrawTextSize(LockTD564); 
to This One :
PHP код:
LockTD TextDrawCreate(517.000000144.000000"Lock");
    
TextDrawAlignment(LockTD2);
    
TextDrawBackgroundColor(LockTD255);
    
TextDrawFont(LockTD1);
    
TextDrawLetterSize(LockTD0.2900001.000000);
    
TextDrawColor(LockTD0xFFFFFFAA);
    
TextDrawSetOutline(LockTD0);
    
TextDrawSetProportional(LockTD1);
    
TextDrawSetShadow(LockTD1);
    
TextDrawUseBox(LockTD1);
    
TextDrawBoxColor(LockTD0xffffff00);
    
TextDrawTextSize(LockTD564);
    
TextDrawSetSelectable(LockTD 1); 
please change then you will see what i am saying

And If I Helped you in my sign you can see
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)