Danik.
Новичок
Античит на WallHack
Изначально делал это для hz.by, но там это не пригодилось. Т.к. многие сервера сейчас не могу справиться с такой проблемой как чит WallHack, я решил выложить урок.
В public OnGameModeInit():
ShowNameTags(false);
Ко все new:
//AnitWallHack by Danik
new Text3D:AntiWallHackName[MAX_PLAYERS];
new Text3D:AntiWallHackName[MAX_PLAYERS];
В начало public OnPlayerConnect(playerid):
new pname[MAX_PLAYER_NAME+6];
format(pname, sizeof pname, "%s (%d)",PlayerName(playerid), playerid);
AntiWallHackName[playerid] = Create3DTextLabel(pname, 0xFFFFFFFF, 0, 0, 0, 10, 0, 1 );
Attach3DTextLabelToPlayer(AntiWallHackName[playerid], playerid, 0.0, 0.0, 0.1);
format(pname, sizeof pname, "%s (%d)",PlayerName(playerid), playerid);
AntiWallHackName[playerid] = Create3DTextLabel(pname, 0xFFFFFFFF, 0, 0, 0, 10, 0, 1 );
Attach3DTextLabelToPlayer(AntiWallHackName[playerid], playerid, 0.0, 0.0, 0.1);
В public OnPlayerDisconnect(playerid, reason):
Delete3DTextLabel(AntiWallHackName[playerid]);
Например:
Для того чтобы скрыть ник вам нужно использовать:
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, " ");
format(pname, sizeof pname, "%s (%d)",PlayerName(playerid), playerid);
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, pname);
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, pname);
Я думаю будет нормально, если во время АФК, у него вместо игрового NickName будет надпись сколько он находится в AFK:
format(string,sizeof string, "{AAAAAA}%s[%d] Offline %d seconds", PlayerName(playerid), playerid, AFK_IdleTime[playerid]);
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, string);
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, string);
if(Если ник не скрыт) {
format(loginmsg, sizeof loginmsg, "%s (%d)",PlayerName(playerid), playerid);
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, loginmsg);
} else {
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, " ");
}
format(loginmsg, sizeof loginmsg, "%s (%d)",PlayerName(playerid), playerid);
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, loginmsg);
} else {
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, " ");
}
Автор данного античита: Danik
Офф. сылка:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
При копировании материала ссылка на сайт sa-mp.by обязательна.
