Text Draw Help
#1

See post below.
Reply
#2

I have created a textdraw which is supposed to be selected and turn "green" when highlighted. When I click on it, it should send me a message that says I clicked it.

The issue: when I hover over it, nothing happens. When I click on it, nothing happens. I can see the textdraws, but nothing happens upon hovering/clicking them.

pawn Код:
new Text:Textdraw10;

//OnGameModeInit

Textdraw10 = TextDrawCreate(280.000000, 166.340713, "Test");
TextDrawLetterSize(Textdraw10, 0.341333, 1.765926);
TextDrawTextSize(Textdraw10, 81.000007, 33.599998);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 2);
TextDrawSetProportional(Textdraw10, 1);
TextDrawSetSelectable(Textdraw10, true);

// On player connect

TextDrawShowForPlayer(playerid, Text:Textdraw10);
SelectTextDraw(playerid, 0x00FF00FF);

//OnPlayerClickTextdraw

if(clickedid == Text:Textdraw10)
{
    SendClientMessage(playerid, 0xFFFFFFAA, "You clicked Test.");
}
Of course these are actually under the correct callbacks. I just didn't feel like pasting them in too.
Reply
#3

Try This :-
pawn Код:
new Text:Textdraw10;

//OnGameModeInit

Textdraw10 = TextDrawCreate(280.000000, 166.340713, "Test");
TextDrawLetterSize(Textdraw10, 0.341333, 1.765926);
TextDrawTextSize(Textdraw10, 81.000007, 33.599998);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 2);
TextDrawSetProportional(Textdraw10, 1);
TextDrawSetSelectable(Textdraw10, 1);

// On player connect

TextDrawShowForPlayer(playerid, Text:Textdraw10);
SelectTextDraw(playerid, 0x00FF00FF);

//OnPlayerClickTextdraw

if(clickedid == Text:Textdraw10)
{
    SendClientMessage(playerid, 0xFFFFFFAA, "You clicked Test.");
}
Reply
#4

Didn't change anything

+rep for whoever can help me
Reply
#5

If I'm not mistaken (not too familiar with textdraws) you only use the "Text:" prefix at the top of the script when you're declaring it. In TextDrawShowForPlayer and OnPlayerClickTextdraw it should only be labelled as "Textdraw10"

I.e,
pawn Код:
if(clickedid == Textdraw10)
Reply
#6

I changed everything and removed all of the unnecessary Text:'s (now the only Text: prefixes are when defining them at the top of the script) and literally NOTHING changed.

I tried implementing these textdraws into another script and it still does nothing.

Here is the new.pwn with the textdraws. As you can see they show but they do nothing (don't change color on hover, don't do anything when clicked). If you help me with this, I will love you and rep you forever.

pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>
new Text:Textdraw9;
new Text:Textdraw10;

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#else

main()
{
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
   
    Textdraw9 = TextDrawCreate(280.666687, 103.288864, "Test1");
    TextDrawLetterSize(Textdraw9, 0.346333, 1.612444);
    TextDrawTextSize(Textdraw9, 81.000015, 33.599994);
    TextDrawAlignment(Textdraw9, 1);
    TextDrawColor(Textdraw9, -1);
    TextDrawSetShadow(Textdraw9, 0);
    TextDrawSetOutline(Textdraw9, 1);
    TextDrawBackgroundColor(Textdraw9, 51);
    TextDrawFont(Textdraw9, 2);
    TextDrawSetProportional(Textdraw9, 1);
    TextDrawSetSelectable(Textdraw9, true);
   
    Textdraw10 = TextDrawCreate(280.000000, 166.340713, "Test2");
    TextDrawLetterSize(Textdraw10, 0.341333, 1.765926);
    TextDrawTextSize(Textdraw10, 81.000007, 33.599998);
    TextDrawAlignment(Textdraw10, 1);
    TextDrawColor(Textdraw10, -1);
    TextDrawSetShadow(Textdraw10, 0);
    TextDrawSetOutline(Textdraw10, 1);
    TextDrawBackgroundColor(Textdraw10, 51);
    TextDrawFont(Textdraw10, 2);
    TextDrawSetProportional(Textdraw10, 1);
    TextDrawSetSelectable(Textdraw10, true);
    //LoadServer
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    TextDrawShowForPlayer(playerid, Textdraw9);
    TextDrawShowForPlayer(playerid, Textdraw10);
    SelectTextDraw(playerid, 0x00FF00FF);  
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == Textdraw9)
    {
        Kick(playerid);
    }
    else if(clickedid == Textdraw10)
    {
        Kick(playerid);
    }
    return 1;
}
Reply
#7

Issue is still present.
Reply
#8

Anyone?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)