PDA

Просмотр полной версии : [Вопрос] Подключение Textdraw



Andrik851
02.07.2019, 10:32
Доброго времени суток помогите пожалуйста подключить Textdraw

У меня вот такая система зеленых зон вот к ним не могу а точнее не знаю как подключить Textdraw


#define MAX_ANTIDM_ZONES 2
new Float: antiDM[MAX_ANTIDM_ZONES][3] = {
{402.6656,-1892.6240,1.5363},
{2871.8521,-1964.1118,10.3364}
};

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
for(new i = 0; i < MAX_ANTIDM_ZONES; i++)
{
if(!IsPlayerInRangeOfPoint(issuerid, 5.0, antiDM[i][0], antiDM[i][1], antiDM[i][2])) continue;
SendClientMessage(issuerid, -1, "Нельзя драться!!");
SetPVarInt(issuerid, "Anti_zz", GetPVarInt(issuerid, "Anti_zz")+1);
if(GetPVarInt(issuerid, "Anti_zz") == 3) return Kick(issuerid);
}
return 1;
}

punkochel
02.07.2019, 12:20
Сначала необходимо создать текстдрав, для ДМ зон, лучше всего будет создать текстдрав при загрузке мода, так как этот он будет довольно часто использоваться. Далее нам необходимо показать текстдрав при определенных условиях. В твоем случае, это когда один игрок нанес урон другому игроку:


public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
for(new i = 0; i < MAX_ANTIDM_ZONES; i++)
{
if(!IsPlayerInRangeOfPoint(issuerid, 5.0, antiDM[i][0], antiDM[i][1], antiDM[i][2])) continue;
TextDrawShowForPlayer(playerid, IDTD); // Тут ид текстдрава. Функция показывает текстдрав игроку
SendClientMessage(issuerid, -1, "Нельзя драться!!");
SetPVarInt(issuerid, "Anti_zz", GetPVarInt(issuerid, "Anti_zz")+1);
if(GetPVarInt(issuerid, "Anti_zz") == 3) return Kick(issuerid);
}
return 1;
}

Можно сделать так, но это будет несколько глупо в наше время, так как для того чтобы скрыть текстдрав, тебе придется в таймере проверять игрока на радиус действия ДМ зон. Сейчас есть такой плагин как streamer, там есть возможность создавать динамические зоны
Динамические зоны стримера (https://pawno-rus.ru/topic/1552-ispolzovanie-dinamicheskih-zon-streamer-dynamicarea/) тут все подробно расписано.

Andrik851
02.07.2019, 12:45
тексдрав уже есть я не знал просто куда и какт его прописать
спасибо сейчас испробуем

- - - Добавлено - - -


Сначала необходимо создать текстдрав, для ДМ зон, лучше всего будет создать текстдрав при загрузке мода, так как этот он будет довольно часто использоваться. Далее нам необходимо показать текстдрав при определенных условиях. В твоем случае, это когда один игрок нанес урон другому игроку:


public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
for(new i = 0; i < MAX_ANTIDM_ZONES; i++)
{
if(!IsPlayerInRangeOfPoint(issuerid, 5.0, antiDM[i][0], antiDM[i][1], antiDM[i][2])) continue;
TextDrawShowForPlayer(playerid, IDTD); // Тут ид текстдрава. Функция показывает текстдрав игроку
SendClientMessage(issuerid, -1, "Нельзя драться!!");
SetPVarInt(issuerid, "Anti_zz", GetPVarInt(issuerid, "Anti_zz")+1);
if(GetPVarInt(issuerid, "Anti_zz") == 3) return Kick(issuerid);
}
return 1;
}

Можно сделать так, но это будет несколько глупо в наше время, так как для того чтобы скрыть текстдрав, тебе придется в таймере проверять игрока на радиус действия ДМ зон. Сейчас есть такой плагин как streamer, там есть возможность создавать динамические зоны
Динамические зоны стримера (https://pawno-rus.ru/topic/1552-ispolzovanie-dinamicheskih-zon-streamer-dynamicarea/) тут все подробно расписано.

вот мой текстдрав прописывал id 25 но ничего не отображается


zznopark_TD[0] = TextDrawCreate(17.7208, 210.4166, "LD_BEAT:chit"); // Пусто
TextDrawTextSize(zznopark_TD[0], 19.0000, 22.0000);
TextDrawAlignment(zznopark_TD[0], 1);
TextDrawColor(zznopark_TD[0], 1336760063);
TextDrawBackgroundColor(zznopark_TD[0], 255);
TextDrawFont(zznopark_TD[0], 4);
TextDrawSetProportional(zznopark_TD[0], 0);
TextDrawSetShadow(zznopark_TD[0], 0);

zznopark_TD[1] = TextDrawCreate(17.7208, 235.0181, "LD_BEAT:chit"); // Пусто
TextDrawTextSize(zznopark_TD[1], 19.0000, 22.0000);
TextDrawAlignment(zznopark_TD[1], 1);
TextDrawColor(zznopark_TD[1], 1336760063);
TextDrawBackgroundColor(zznopark_TD[1], 255);
TextDrawFont(zznopark_TD[1], 4);
TextDrawSetProportional(zznopark_TD[1], 0);
TextDrawSetShadow(zznopark_TD[1], 0);

zznopark_TD[2] = TextDrawCreate(26.9912, 213.9166, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[2], 24.0000, 15.0000);
TextDrawAlignment(zznopark_TD[2], 1);
TextDrawColor(zznopark_TD[2], 1336760063);
TextDrawBackgroundColor(zznopark_TD[2], 255);
TextDrawFont(zznopark_TD[2], 4);
TextDrawSetProportional(zznopark_TD[2], 0);
TextDrawSetShadow(zznopark_TD[2], 0);

zznopark_TD[3] = TextDrawCreate(26.6282, 238.4166, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[3], 24.0000, 15.0000);
TextDrawAlignment(zznopark_TD[3], 1);
TextDrawColor(zznopark_TD[3], 1336760063);
TextDrawBackgroundColor(zznopark_TD[3], 255);
TextDrawFont(zznopark_TD[3], 4);
TextDrawSetProportional(zznopark_TD[3], 0);
TextDrawSetShadow(zznopark_TD[3], 0);

zznopark_TD[4] = TextDrawCreate(20.7282, 221.1155, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[4], 30.0000, 11.4399);
TextDrawAlignment(zznopark_TD[4], 1);
TextDrawColor(zznopark_TD[4], 1336760063);
TextDrawBackgroundColor(zznopark_TD[4], 255);
TextDrawFont(zznopark_TD[4], 4);
TextDrawSetProportional(zznopark_TD[4], 0);
TextDrawSetShadow(zznopark_TD[4], 0);

zznopark_TD[5] = TextDrawCreate(20.7282, 235.7164, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[5], 30.0000, 11.4399);
TextDrawAlignment(zznopark_TD[5], 1);
TextDrawColor(zznopark_TD[5], 1336760063);
TextDrawBackgroundColor(zznopark_TD[5], 255);
TextDrawFont(zznopark_TD[5], 4);
TextDrawSetProportional(zznopark_TD[5], 0);
TextDrawSetShadow(zznopark_TD[5], 0);

zznopark_TD[6] = TextDrawCreate(124.9843, 210.2663, "LD_BEAT:chit"); // Пусто
TextDrawTextSize(zznopark_TD[6], 19.0000, 22.0000);
TextDrawAlignment(zznopark_TD[6], 1);
TextDrawColor(zznopark_TD[6], 808333055);
TextDrawBackgroundColor(zznopark_TD[6], 255);
TextDrawFont(zznopark_TD[6], 4);
TextDrawSetProportional(zznopark_TD[6], 0);
TextDrawSetShadow(zznopark_TD[6], 0);

zznopark_TD[7] = TextDrawCreate(124.9158, 235.1160, "LD_BEAT:chit"); // Пусто
TextDrawTextSize(zznopark_TD[7], 19.0000, 22.0000);
TextDrawAlignment(zznopark_TD[7], 1);
TextDrawColor(zznopark_TD[7], 808333055);
TextDrawBackgroundColor(zznopark_TD[7], 255);
TextDrawFont(zznopark_TD[7], 4);
TextDrawSetProportional(zznopark_TD[7], 0);
TextDrawSetShadow(zznopark_TD[7], 0);

zznopark_TD[8] = TextDrawCreate(50.7136, 220.2656, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[8], 90.0000, 12.3499);
TextDrawAlignment(zznopark_TD[8], 1);
TextDrawColor(zznopark_TD[8], 808333055);
TextDrawBackgroundColor(zznopark_TD[8], 255);
TextDrawFont(zznopark_TD[8], 4);
TextDrawSetProportional(zznopark_TD[8], 0);
TextDrawSetShadow(zznopark_TD[8], 0);

zznopark_TD[9] = TextDrawCreate(50.6136, 235.7989, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[9], 90.0000, 10.8599);
TextDrawAlignment(zznopark_TD[9], 1);
TextDrawColor(zznopark_TD[9], 808333055);
TextDrawBackgroundColor(zznopark_TD[9], 255);
TextDrawFont(zznopark_TD[9], 4);
TextDrawSetProportional(zznopark_TD[9], 0);
TextDrawSetShadow(zznopark_TD[9], 0);

zznopark_TD[10] = TextDrawCreate(50.7136, 213.7656, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[10], 82.6201, 8.0000);
TextDrawAlignment(zznopark_TD[10], 1);
TextDrawColor(zznopark_TD[10], 808333055);
TextDrawBackgroundColor(zznopark_TD[10], 255);
TextDrawFont(zznopark_TD[10], 4);
TextDrawSetProportional(zznopark_TD[10], 0);
TextDrawSetShadow(zznopark_TD[10], 0);

zznopark_TD[11] = TextDrawCreate(50.7136, 245.2657, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[11], 82.6201, 8.0000);
TextDrawAlignment(zznopark_TD[11], 1);
TextDrawColor(zznopark_TD[11], 808333055);
TextDrawBackgroundColor(zznopark_TD[11], 255);
TextDrawFont(zznopark_TD[11], 4);
TextDrawSetProportional(zznopark_TD[11], 0);
TextDrawSetShadow(zznopark_TD[11], 0);

zznopark_TD[12] = TextDrawCreate(50.4172, 213.9166, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[12], 9.0000, 1.0000);
TextDrawAlignment(zznopark_TD[12], 1);
TextDrawColor(zznopark_TD[12], 1336760063);
TextDrawBackgroundColor(zznopark_TD[12], 255);
TextDrawFont(zznopark_TD[12], 4);
TextDrawSetProportional(zznopark_TD[12], 0);
TextDrawSetShadow(zznopark_TD[12], 0);

zznopark_TD[13] = TextDrawCreate(50.8858, 220.9166, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[13], 19.0000, 1.0000);
TextDrawAlignment(zznopark_TD[13], 1);
TextDrawColor(zznopark_TD[13], 1336760063);
TextDrawBackgroundColor(zznopark_TD[13], 255);
TextDrawFont(zznopark_TD[13], 4);
TextDrawSetProportional(zznopark_TD[13], 0);
TextDrawSetShadow(zznopark_TD[13], 0);

zznopark_TD[14] = TextDrawCreate(35.8931, 225.5832, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[14], 19.0000, 1.0000);
TextDrawAlignment(zznopark_TD[14], 1);
TextDrawColor(zznopark_TD[14], 1336760063);
TextDrawBackgroundColor(zznopark_TD[14], 255);
TextDrawFont(zznopark_TD[14], 4);
TextDrawSetProportional(zznopark_TD[14], 0);
TextDrawSetShadow(zznopark_TD[14], 0);

zznopark_TD[15] = TextDrawCreate(46.6691, 231.4166, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[15], 19.0000, 1.0000);
TextDrawAlignment(zznopark_TD[15], 1);
TextDrawColor(zznopark_TD[15], 1336760063);
TextDrawBackgroundColor(zznopark_TD[15], 255);
TextDrawFont(zznopark_TD[15], 4);
TextDrawSetProportional(zznopark_TD[15], 0);
TextDrawSetShadow(zznopark_TD[15], 0);

zznopark_TD[16] = TextDrawCreate(36.8301, 236.0833, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[16], 19.0000, 1.0000);
TextDrawAlignment(zznopark_TD[16], 1);
TextDrawColor(zznopark_TD[16], 1336760063);
TextDrawBackgroundColor(zznopark_TD[16], 255);
TextDrawFont(zznopark_TD[16], 4);
TextDrawSetProportional(zznopark_TD[16], 0);
TextDrawSetShadow(zznopark_TD[16], 0);

zznopark_TD[17] = TextDrawCreate(49.4802, 253.4167, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[17], 27.0000, -1.0000);
TextDrawAlignment(zznopark_TD[17], 1);
TextDrawColor(zznopark_TD[17], 1336760063);
TextDrawBackgroundColor(zznopark_TD[17], 255);
TextDrawFont(zznopark_TD[17], 4);
TextDrawSetProportional(zznopark_TD[17], 0);
TextDrawSetShadow(zznopark_TD[17], 0);

zznopark_TD[18] = TextDrawCreate(26.9912, 248.1666, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[18], 27.0000, -1.0000);
TextDrawAlignment(zznopark_TD[18], 1);
TextDrawColor(zznopark_TD[18], 1336760063);
TextDrawBackgroundColor(zznopark_TD[18], 255);
TextDrawFont(zznopark_TD[18], 4);
TextDrawSetProportional(zznopark_TD[18], 0);
TextDrawSetShadow(zznopark_TD[18], 0);

zznopark_TD[19] = TextDrawCreate(34.9560, 242.3334, "LD_SPAC:white"); // Пусто
TextDrawTextSize(zznopark_TD[19], 27.0000, -1.0000);
TextDrawAlignment(zznopark_TD[19], 1);
TextDrawColor(zznopark_TD[19], 1336760063);
TextDrawBackgroundColor(zznopark_TD[19], 255);
TextDrawFont(zznopark_TD[19], 4);
TextDrawSetProportional(zznopark_TD[19], 0);
TextDrawSetShadow(zznopark_TD[19], 0);

zznopark_TD[20] = TextDrawCreate(28.8653, 215.9165, "LD_POOL:ball"); // Пусто
TextDrawTextSize(zznopark_TD[20], 12.0000, 15.0000);
TextDrawAlignment(zznopark_TD[20], 1);
TextDrawColor(zznopark_TD[20], 808333055);
TextDrawBackgroundColor(zznopark_TD[20], 255);
TextDrawFont(zznopark_TD[20], 4);
TextDrawSetProportional(zznopark_TD[20], 0);
TextDrawSetShadow(zznopark_TD[20], 0);

zznopark_TD[21] = TextDrawCreate(28.8653, 237.1178, "LD_POOL:ball"); // Пусто
TextDrawTextSize(zznopark_TD[21], 12.0000, 15.0000);
TextDrawAlignment(zznopark_TD[21], 1);
TextDrawColor(zznopark_TD[21], 808333055);
TextDrawBackgroundColor(zznopark_TD[21], 255);
TextDrawFont(zznopark_TD[21], 4);
TextDrawSetProportional(zznopark_TD[21], 0);
TextDrawSetShadow(zznopark_TD[21], 0);

zznopark_TD[22] = TextDrawCreate(33.8246, 238.4665, "LD_SPAC:white"); // ?????
TextDrawTextSize(zznopark_TD[22], 1.4099, 7.7499);
TextDrawAlignment(zznopark_TD[22], 1);
TextDrawColor(zznopark_TD[22], 1336760063);
TextDrawBackgroundColor(zznopark_TD[22], 255);
TextDrawFont(zznopark_TD[22], 4);
TextDrawSetProportional(zznopark_TD[22], 0);
TextDrawSetShadow(zznopark_TD[22], 0);

zznopark_TD[23] = TextDrawCreate(35.4301, 247.7501, "LD_SPAC:white"); // ?????
TextDrawTextSize(zznopark_TD[23], -1.3399, 2.2800);
TextDrawAlignment(zznopark_TD[23], 1);
TextDrawColor(zznopark_TD[23], 1336760063);
TextDrawBackgroundColor(zznopark_TD[23], 255);
TextDrawFont(zznopark_TD[23], 4);
TextDrawSetProportional(zznopark_TD[23], 0);
TextDrawSetShadow(zznopark_TD[23], 0);

zznopark_TD[24] = TextDrawCreate(33.0133, 216.9165, ">"); // ?????
TextDrawLetterSize(zznopark_TD[24], 0.2908, 1.3141);
TextDrawAlignment(zznopark_TD[24], 1);
TextDrawColor(zznopark_TD[24], 1336760063);
TextDrawBackgroundColor(zznopark_TD[24], 255);
TextDrawFont(zznopark_TD[24], 1);
TextDrawSetProportional(zznopark_TD[24], 1);
TextDrawSetShadow(zznopark_TD[24], 0);

zznopark_TD[25] = TextDrawCreate(82.4450, 218.0000, "Green_Zone"); // ?????
TextDrawLetterSize(zznopark_TD[25], 0.2111, 1.0866);
TextDrawAlignment(zznopark_TD[25], 1);
TextDrawColor(zznopark_TD[25], 1336760063);
TextDrawBackgroundColor(zznopark_TD[25], 255);
TextDrawFont(zznopark_TD[25], 2);
TextDrawSetProportional(zznopark_TD[25], 1);
TextDrawSetShadow(zznopark_TD[25], 0);

zznopark_TD[26] = TextDrawCreate(78.7451, 238.5012, "Nopark_zone"); // ?????
TextDrawLetterSize(zznopark_TD[26], 0.2111, 1.0866);
TextDrawAlignment(zznopark_TD[26], 1);
TextDrawColor(zznopark_TD[26], -566989922);
TextDrawBackgroundColor(zznopark_TD[26], 255);
TextDrawFont(zznopark_TD[26], 2);
TextDrawSetProportional(zznopark_TD[26], 1);
TextDrawSetShadow(zznopark_TD[26], 0);

punkochel
02.07.2019, 14:17
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
for(new i = 0; i < MAX_ANTIDM_ZONES; i++)
{
if(!IsPlayerInRangeOfPoint(issuerid, 5.0, antiDM[i][0], antiDM[i][1], antiDM[i][2])) continue;
for(new i; i <= 26; i++) TextDrawShowForPlayer(playerid, zznopark_TD[i);
SendClientMessage(issuerid, -1, "Нельзя драться!!");
SetPVarInt(issuerid, "Anti_zz", GetPVarInt(issuerid, "Anti_zz")+1);
if(GetPVarInt(issuerid, "Anti_zz") == 3) return Kick(issuerid);
}
return 1;
}

Таким образом ты покажешь все текстдравы игроку. Если нужно показать 1 всего текстдрав то:


TextDrawShowForPlayer(playerid, zznopark_TD[ID TexDraw);

execution
03.07.2019, 10:55
Лучше уж так.


for(new i; i < sizeof zznopark_TD; i++) TextDrawShowForPlayer(playerid, zznopark_TD[i);

whale
03.07.2019, 14:10
Лучше уж так.


for(new i; i < sizeof zznopark_TD; i++) TextDrawShowForPlayer(playerid, zznopark_TD[i);


Тогда уж лучше так :crazy:

for(new i = 0, j = sizeof(zznopark_TD); i < j; i++) TextDrawShowForPlayer(playerid, zznopark_TD[i]);