parger
Умник
Всем привет, возник такой вопрос, есть у меня ДМ зоны, но система работает на клавиши, то есть когда игрок нажимает кнопку ему высвечивается сообщение, а нужно реализовать чтобы еще и при заходе в зону отображался текстдрав. Вот мой код:
И вот так используется если игрок начинает допустим бить:
Вот тексдрав ЗЗ:
new Text:green_zone[2]; // - Зеленая зона
Код:
new GREENZONE[100][grzone],
TOTALZONE = 0;
Код:
stock load_greenzone() {
new Cache:result, rows;
result = mysql_query(connects, "SELECT * FROM `"TABLE_GREENZONE"`");
rows = cache_num_rows();
for(new i = 1; i <= rows; i++) {
cache_get_value_name_int(i-1, "id", GREENZONE[i][grid]);
cache_get_value_name_float(i-1, "grx", GREENZONE[i][grX]);
cache_get_value_name_float(i-1, "gry", GREENZONE[i][grY]);
cache_get_value_name_float(i-1, "grz", GREENZONE[i][grZ]);
cache_get_value_name_float(i-1, "grd", GREENZONE[i][grD]);
cache_get_value_name(i-1, "grname", GREENZONE[i][grName], 32);
cache_get_value_name_int(i-1, "grvirt", GREENZONE[i][grVirt]);
TOTALZONE++;
}
cache_delete(result);
printf("[Загрузка ...] Зеленые зоны успешно загружены (%i шт.)",TOTALZONE);
return 1;
}
Код:
stock IsAGreenZone(playerid) {
for(new i = 1; i <= TOTALZONE; i++) {
if(IsPlayerInRangeOfPoint(playerid, GREENZONE[i][grD], GREENZONE[i][grX],GREENZONE[i][grY],GREENZONE[i][grZ]) && GREENZONE[i][grVirt] == GetPlayerVirtualWorld(playerid)) return true;
}
return false;
}
Код:
if(!IsPlayerInAnyVehicle(playerid))
{
if((newkeys & 4) || ((newkeys & 128) && (oldkeys & 128) && (newkeys & 16)))
{
if(!IsACop(playerid) && !IsAArm(playerid) && PI[playerid][pMember] != fWHITEHOUSE && IsAGreenZone(playerid) &&
GetPlayerSpecialAction(playerid)!= SPECIAL_ACTION_DRINK_SPRUNK && GetPlayerWeapon(playerid) != 43 && GetPlayerSpecialAction(playerid)!= SPECIAL_ACTION_DRINK_WINE && GetPlayerSpecialAction(playerid)!= SPECIAL_ACTION_SMOKE_CIGGY && GetPlayerSpecialAction(playerid)!=SPECIAL_ACTION_DRINK_BEER) {
anti_dm{playerid} = 7;
FreezePlayerForTime(playerid,6);
new str[120];
format(str,sizeof(str),"\n"W"В этом месте запрещено "ORANGE"драться/стрелять"W".\nВы будете разморожены через"ORANGE" %d"W" секунд.\n", anti_dm{playerid});
D(playerid, DIALOG_NONE, DSM, "{7396ff}Зеленая зона",str, "Закрыть", "");
}
}
}
new Text:green_zone[2]; // - Зеленая зона
Код:
green_zone[0] = TextDrawCreate(498.3234, 127.0000, "LD_SPAC:white"); // пусто
TextDrawTextSize(green_zone[0], 82.0000, 15.0000);
TextDrawAlignment(green_zone[0], 1);
TextDrawColor(green_zone[0], 144);
TextDrawBackgroundColor(green_zone[0], 255);
TextDrawFont(green_zone[0], 4);
TextDrawSetProportional(green_zone[0], 0);
TextDrawSetShadow(green_zone[0], 0);
green_zone[1] = TextDrawCreate(539.8904, 128.8999, "GREEN_ZONE"); // пусто
TextDrawLetterSize(green_zone[1], 0.2097, 1.0808);
TextDrawAlignment(green_zone[1], 2);
TextDrawColor(green_zone[1], 866792447);
TextDrawBackgroundColor(green_zone[1], 80);
TextDrawFont(green_zone[1], 2);
TextDrawSetProportional(green_zone[1], 1);
TextDrawSetShadow(green_zone[1], 1);
