TD Select - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: TD Select (
/showthread.php?tid=568742)
TD Select -
SkyLoKi - 24.03.2015
Проблему решили..
http://forum.sa-mp.com/showthread.ph...39#post3412639
1. Создал я TextDraw для смены цвета
PHP Code:
for(new i=1; i < sizeof(ChangeColor); i++)
{
ChangeColor[i] = TextDrawCreate(X, Y, "box");
TextDrawLetterSize(ChangeColor[i], 0.0, 1.426062);
TextDrawTextSize(ChangeColor[i], 40, 0.0);
TextDrawAlignment(ChangeColor[i], 1);
TextDrawColor(ChangeColor[i], -1);
TextDrawUseBox(ChangeColor[i], 1);
TextDrawBoxColor(ChangeColor[i], Colors[i]);
TextDrawSetOutline(ChangeColor[i], 0);
TextDrawBackgroundColor(ChangeColor[i], 255);
TextDrawFont(ChangeColor[i], 1);
TextDrawSetProportional(ChangeColor[i], 1);
TextDrawSetShadow(ChangeColor[i], 0);
TextDrawSetSelectable(ChangeColor[i], 1);
X = X + 25;
count++;
if(count == 4)
{
Y = Y + 30.0;
X = 25.0;
count = 1;
}
}
2. Добавил TextDrawSetSelectable
3. Добавил показ этих TD для игроков
Таким образом я пока что вывожу TD, и их выводит нормально
PHP Code:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SUBMISSION)
{
for(new i; i < sizeof(ChangeColor); i++)
{
TextDrawShowForPlayer(playerid,ChangeColor[i]);
}
SelectTextDraw(playerid, 0xFF4040AA) ;
}
return 1;
}
А далее проблема!!
Паблик этот не срабатывает, print добавил и ни один не выводится
PHP Code:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
print("OnPlayerClickTextDraw 1");
if (_:clickedid == INVALID_TEXT_DRAW )
{
print("OnPlayerClickTextDraw 2");
for(new i; i < sizeof(ChangeColor); i++)
{
TextDrawHideForPlayer(playerid,ChangeColor[i]);
}
}
for(new i; i < sizeof(ChangeColor); i++)
{
print("OnPlayerClickTextDraw 3");
if(clickedid == ChangeColor[i])
{
SetPlayerColor( playerid, Colors[ i ] );
CancelSelectTextDraw( playerid ) ;
for(new j; j < sizeof(ChangeColor); j++)
{
TextDrawHideForPlayer(playerid,ChangeColor[j]);
}
}
}
return 1 ;
}
Re: TD Select -
Stepashka - 25.03.2015
А ты по ним кликаешь?
Re: TD Select -
SkyLoKi - 25.03.2015
Кликал и не по ним тоже
Должно ведь было бы все убраться
Но уже ошибку свою понял.
У меня параметр Y функции TextDrawTextSize был равен нулю, а этого нельзя было допускать