Просмотр полной версии : [Вопрос] TextDraw
При конекте вызывается TextDraw, хотя я его не вызываю. При спавне он пропадает.
Хотелось бы узнать причину, с чем может быть связано это?
Так же при коннекте подгружается у меня лого( оно состоит из 7 TD), а при спавне 1 TD пропадает.
$continue$
30.08.2015, 03:12
Создание ТД в студию
Создание ТД в студию
всех? или который появляется и лого сервера?
Daniel_Cortez
30.08.2015, 04:25
Только тех, которые появляются. Ну и логотип тоже. И, на всякий случай, где вы их создаёте?
new Text:Box[4];
new Text:LogoServer[7];
public OnGameModeInit() :
LogoServer[0] = TextDrawCreate(505.666595, 1.244439, "I");
TextDrawLetterSize(LogoServer[0], 0.436666, 2.350812);
TextDrawAlignment(LogoServer[0], 1);
TextDrawColor(LogoServer[0], 290490111);
TextDrawSetShadow(LogoServer[0], 0);
TextDrawSetOutline(LogoServer[0], 1);
TextDrawBackgroundColor(LogoServer[0], 51);
TextDrawFont(LogoServer[0], 1);
TextDrawSetProportional(LogoServer[0], 1);
LogoServer[1] = TextDrawCreate(511.000122, 6.637041, "nternational");
TextDrawLetterSize(LogoServer[1], 0.194665, 1.662222);
TextDrawAlignment(LogoServer[1], 1);
TextDrawColor(LogoServer[1], -1);
TextDrawSetShadow(LogoServer[1], 0);
TextDrawSetOutline(LogoServer[1], 1);
TextDrawBackgroundColor(LogoServer[1], 51);
TextDrawFont(LogoServer[1], 2);
TextDrawSetProportional(LogoServer[1], 1);
LogoServer[2] = TextDrawCreate(575.999938, 2.903707, "L");
TextDrawLetterSize(LogoServer[2], 0.365332, 2.222220);
TextDrawAlignment(LogoServer[2], 1);
TextDrawColor(LogoServer[2], 290490111);
TextDrawSetShadow(LogoServer[2], 0);
TextDrawSetOutline(LogoServer[2], 1);
TextDrawBackgroundColor(LogoServer[2], 51);
TextDrawFont(LogoServer[2], 1);
TextDrawSetProportional(LogoServer[2], 1);
LogoServer[3] = TextDrawCreate(583.333068, 5.807404, "ife");
TextDrawLetterSize(LogoServer[3], 0.230665, 1.848888);
TextDrawAlignment(LogoServer[3], 1);
TextDrawColor(LogoServer[3], -1);
TextDrawSetShadow(LogoServer[3], 0);
TextDrawSetOutline(LogoServer[3], 1);
TextDrawBackgroundColor(LogoServer[3], 51);
TextDrawFont(LogoServer[3], 2);
TextDrawSetProportional(LogoServer[3], 1);
LogoServer[4] = TextDrawCreate(599.999938, 3.733365, "ld_pool:ball");
TextDrawLetterSize(LogoServer[4], -0.358999, 1.215405);
TextDrawTextSize(LogoServer[4], 20.000000, 22.814819);
TextDrawAlignment(LogoServer[4], 1);
TextDrawColor(LogoServer[4], 1081705215);
TextDrawSetShadow(LogoServer[4], 0);
TextDrawSetOutline(LogoServer[4], 0);
TextDrawFont(LogoServer[4], 4);
LogoServer[5] = TextDrawCreate(606.666748, 6.637035, "1");
TextDrawLetterSize(LogoServer[5], 0.449999, 1.600000);
TextDrawAlignment(LogoServer[5], 1);
TextDrawColor(LogoServer[5], -1);
TextDrawSetShadow(LogoServer[5], 0);
TextDrawSetOutline(LogoServer[5], 1);
TextDrawBackgroundColor(LogoServer[5], 51);
TextDrawFont(LogoServer[5], 1);
TextDrawSetProportional(LogoServer[5], 1);
LogoServer[6] = TextDrawCreate(542.000061, 19.911128, "roleplay");
TextDrawLetterSize(LogoServer[6], 0.226333, 0.990222);
TextDrawAlignment(LogoServer[6], 1);
TextDrawColor(LogoServer[6], -1);
TextDrawSetShadow(LogoServer[6], 0);
TextDrawSetOutline(LogoServer[6], 1);
TextDrawBackgroundColor(LogoServer[6], 51);
TextDrawFont(LogoServer[6], 2);
TextDrawSetProportional(LogoServer[6], 1);
Box[0] = TextDrawCreate(623.500000, 348.875000, "usebox");
TextDrawLetterSize(Box[0], 0.000000, 6.488886);
TextDrawTextSize(Box[0], 445.500000, 0.000000);
TextDrawUseBox(Box[0], true);
TextDrawBoxColor(Box[0], -236);
Box[1] = TextDrawCreate(498.050048, 352.506378, "usebox");
TextDrawLetterSize(Box[1], 0.000000, 3.802774);
TextDrawTextSize(Box[1], 449.250030, 0.000000);
TextDrawUseBox(Box[1], true);
TextDrawBoxColor(Box[1], 102);
Box[2] = TextDrawCreate(619.850219, 392.706390, "usebox");
TextDrawLetterSize(Box[2], 0.000000, 1.317774);
TextDrawTextSize(Box[2], 449.250030, 0.000000);
TextDrawUseBox(Box[2], true);
TextDrawBoxColor(Box[2], 102);
Box[3] = TextDrawCreate(619.649780, 352.281280, "usebox");
TextDrawLetterSize(Box[3], 0.000000, 3.807775);
TextDrawTextSize(Box[3], 497.299713, 0.000000);
TextDrawUseBox(Box[3], true);
TextDrawBoxColor(Box[3], 102);
public OnPlayerConnect(playerid) :
for(new A; A < sizeof(LogoServer); A++) TextDrawShowForPlayer(playerid,LogoServer[A]);
Daniel_Cortez
30.08.2015, 05:28
Тип PlayerText создан для таких текстдравов, которые могут быть разными для каждого игрока, т.е. иметь разный текст, цвет, размер, etc.
Вы же просто плодите через PlayerText одинаковые копии текстдравов лого. Зачем?
Тип PlayerText создан для таких текстдравов, которые могут быть разными для каждого игрока, т.е. иметь разный текст, цвет, размер, etc.
Вы же просто плодите через PlayerText одинаковые копии текстдравов лого. Зачем?
Кхмм, не подумал, Поправил код.
Проблема осталась, вместо LogoServer[0], подгружается сторонний TextDraw (Уже другой, но на LogoServer[0] координаты)
Не могу понять в чем дело.
$continue$
30.08.2015, 06:32
Попробуйте так:
new Text: text_draw_server_logotip[7] = { Text:INVALID_TEXT_DRAW, ... };
for(new f = 0; f < sizeof(text_draw_server_logotip); f++)
{
TextDrawShowForPlayer(playerid, text_draw_server_logotip[f]);
}
text_draw_server_logotip[0] = TextDrawCreate(505.666595, 1.244439, "I");
TextDrawLetterSize(text_draw_server_logotip[0], 0.436666, 2.350812);
TextDrawAlignment(text_draw_server_logotip[0], 1);
TextDrawColor(text_draw_server_logotip[0], 290490111);
TextDrawSetShadow(text_draw_server_logotip[0], 0);
TextDrawSetOutline(text_draw_server_logotip[0], 1);
TextDrawBackgroundColor(text_draw_server_logotip[0], 51);
TextDrawFont(text_draw_server_logotip[0], 1);
TextDrawSetProportional(text_draw_server_logotip[0], 1);
text_draw_server_logotip[1] = TextDrawCreate(511.000122, 6.637041, "nternational");
TextDrawLetterSize(text_draw_server_logotip[1], 0.194665, 1.662222);
TextDrawAlignment(text_draw_server_logotip[1], 1);
TextDrawColor(text_draw_server_logotip[1], -1);
TextDrawSetShadow(text_draw_server_logotip[1], 0);
TextDrawSetOutline(text_draw_server_logotip[1], 1);
TextDrawBackgroundColor(text_draw_server_logotip[1], 51);
TextDrawFont(text_draw_server_logotip[1], 2);
TextDrawSetProportional(text_draw_server_logotip[1], 1);
text_draw_server_logotip[2] = TextDrawCreate(575.999938, 2.903707, "L");
TextDrawLetterSize(text_draw_server_logotip[2], 0.365332, 2.222220);
TextDrawAlignment(text_draw_server_logotip[2], 1);
TextDrawColor(text_draw_server_logotip[2], 290490111);
TextDrawSetShadow(text_draw_server_logotip[2], 0);
TextDrawSetOutline(text_draw_server_logotip[2], 1);
TextDrawBackgroundColor(text_draw_server_logotip[2], 51);
TextDrawFont(text_draw_server_logotip[2], 1);
TextDrawSetProportional(text_draw_server_logotip[2], 1);
text_draw_server_logotip[3] = TextDrawCreate(583.333068, 5.807404, "ife");
TextDrawLetterSize(text_draw_server_logotip[3], 0.230665, 1.848888);
TextDrawAlignment(text_draw_server_logotip[3], 1);
TextDrawColor(text_draw_server_logotip[3], -1);
TextDrawSetShadow(text_draw_server_logotip[3], 0);
TextDrawSetOutline(text_draw_server_logotip[3], 1);
TextDrawBackgroundColor(text_draw_server_logotip[3], 51);
TextDrawFont(text_draw_server_logotip[3], 2);
TextDrawSetProportional(text_draw_server_logotip[3], 1);
text_draw_server_logotip[4] = TextDrawCreate(599.999938, 3.733365, "ld_pool:ball");
TextDrawLetterSize(text_draw_server_logotip[4], -0.358999, 1.215405);
TextDrawTextSize(text_draw_server_logotip[4], 20.000000, 22.814819);
TextDrawAlignment(text_draw_server_logotip[4], 1);
TextDrawColor(text_draw_server_logotip[4], 1081705215);
TextDrawSetShadow(text_draw_server_logotip[4], 0);
TextDrawSetOutline(text_draw_server_logotip[4], 0);
TextDrawFont(text_draw_server_logotip[4], 4);
text_draw_server_logotip[5] = TextDrawCreate(606.666748, 6.637035, "1");
TextDrawLetterSize(text_draw_server_logotip[5], 0.449999, 1.600000);
TextDrawAlignment(text_draw_server_logotip[5], 1);
TextDrawColor(text_draw_server_logotip[5], -1);
TextDrawSetShadow(text_draw_server_logotip[5], 0);
TextDrawSetOutline(text_draw_server_logotip[5], 1);
TextDrawBackgroundColor(text_draw_server_logotip[5], 51);
TextDrawFont(text_draw_server_logotip[5], 1);
TextDrawSetProportional(text_draw_server_logotip[5], 1);
text_draw_server_logotip[6] = TextDrawCreate(542.000061, 19.911128, "roleplay");
TextDrawLetterSize(text_draw_server_logotip[6], 0.226333, 0.990222);
TextDrawAlignment(text_draw_server_logotip[6], 1);
TextDrawColor(text_draw_server_logotip[6], -1);
TextDrawSetShadow(text_draw_server_logotip[6], 0);
TextDrawSetOutline(text_draw_server_logotip[6], 1);
TextDrawBackgroundColor(text_draw_server_logotip[6], 51);
TextDrawFont(text_draw_server_logotip[6], 2);
TextDrawSetProportional(text_draw_server_logotip[6], 1);
В документации написано, что нужно так инициализировать TextDraw'ы.
http://i.imgur.com/JffooI5.png
Link (http://wiki.sa-mp.com/wiki/TextDraw#Variable_Declaration)
Daniel_Cortez
30.08.2015, 06:43
Попробуйте так:
new Text: text_draw_server_logotip[7] = Text:INVALID_TEXT_DRAW;
new arr[4] = 1;
for (new i = 0; i < sizeof(arr); ++i)
printf("%d", arr[i]);
1
0
0
0
Fail.
for(new f = sizeof(text_draw_server_logotip); f != -1; f--)
{
TextDrawShowForPlayer(playerid, text_draw_server_logotip[f]);
}
И словим выход за пределы массива. Да и вообще, в чём профит создания текстдравов в обратном порядке?
new arr[4] = 1;
for (new i = 0; i < sizeof(arr); ++i)
printf("%d", arr[i]);
1
0
0
0
Fail.
И словим выход за пределы массива. Да и вообще, в чём профит создания текстдравов в обратном порядке?
Мужики, что делать то?
$continue$
30.08.2015, 15:24
Обновил пост.
Обновил пост.
Та даже проблема!
http://cs627130.vk.me/v627130592/1b96b/B_2pbs2CAS8.jpg
$continue$
30.08.2015, 16:24
Та даже проблема!
http://cs627130.vk.me/v627130592/1b96b/B_2pbs2CAS8.jpg
Дак в чем проблема? ТД - даты заежает на логотип, поиграйте с координатами.
Дак в чем проблема? ТД - даты заежает на логотип, поиграйте с координатами.
Дело в том что координаты даты указаны верно! После того как добавил box[0-3] стал при коннекте появляться box[0].
Потом у меня Logo было на PlayerText, я переделал под Text, и бокс перестал появляться. Но теперь дата залазит на координаты, и цвет и координаты от ServerLogo[0].
$continue$
30.08.2015, 16:30
Дело в том что координаты даты указаны верно! После того как добавил box[0-3] стал при коннекте появляться box[0].
Потом у меня Logo было на PlayerText, я переделал под Text, и бокс перестал появляться. Но теперь дата залазит на координаты, и цвет и координаты от ServerLogo[0].
Инициализацию переменной box - покажите.
Инициализацию переменной box - покажите.
stock ShowSpeedomert(playerid)
{
for(new i;i<sizeof(Box);i++) TextDrawShowForPlayer(playerid, Box[i]);
//И тут еще все TextDraw спидометра
}
Удалил дату и время, они все ровно мне не нужны были, как раз хотел удалять, стало все нормально!
Последний вопрос, для Лого нужно TextDrawHideForPlayer в onplayerdisconect ?
Daniel_Cortez
30.08.2015, 17:14
stock ShowSpeedomert(playerid)
{
for(new i;i<sizeof(Box);i++) TextDrawShowForPlayer(playerid, Box[i]);
//И тут еще все TextDraw спидометра
}
Для кода есть тег [php]. Пора бы это уже запомнить, не вчера же здесь зарегистрировались.
Последний вопрос, для Лого нужно TextDrawHideForPlayer в onplayerdisconect ?
Если учесть, что в SA:MP дофигище багов и куй их не исправит, если они не крашат сервер, то... да, перестраховаться никогда не будет лишним.
Для кода есть тег [php]. Пора бы это уже запомнить, не вчера же здесь зарегистрировались.
Если учесть, что в SA:MP дофигище багов и куй их не исправит, если они не крашат сервер, то... да, перестраховаться никогда не будет лишним.
Хорошо, спасибо, закройте тему!
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot