Kronos Дата: Четверг, 03.07.2014, 01:19 | Сообщение # 1
Местный мазафака
Сообщений: 117
Многие сервера сейчас не могу справиться с такой проблемой как чит WallHack, я решил выложить урок. В public OnGameModeInit(): Ко все new: Код
//AnitWallHack by Danik 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);
В public OnPlayerDisconnect(playerid, reason): Код
Delete3DTextLabel(AntiWallHackName[playerid]);
Могу сказать одно, для того чтобы скрыть ник, вам просто нужно будет использовать Update3DTextLabelText. Например: Для того чтобы скрыть ник вам нужно использовать: Код
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, " ");
Чтобы открыть ник для этого нужно узнать ник игрока и просто обновить 3DText: Код
format(pname, sizeof pname, "%s (%d)",PlayerName(playerid), playerid); Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, pname);
Т.к. большинство модов используют AFK System, чтобы вам было легче я покажу это на примере. Я думаю будет нормально, если во время АФК, у него вместо игрового NickName будет надпись сколько он находится в AFK: Код
format(string,sizeof string, "{AAAAAA}%s[%d] Offline %d seconds", PlayerName(playerid), playerid, AFK_IdleTime[playerid]); 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, " "); }
Автор данного античита: Danik
Сообщение Многие сервера сейчас не могу справиться с такой проблемой как чит WallHack, я решил выложить урок. В public OnGameModeInit(): Ко все new: Код
//AnitWallHack by Danik 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);
В public OnPlayerDisconnect(playerid, reason): Код
Delete3DTextLabel(AntiWallHackName[playerid]);
Могу сказать одно, для того чтобы скрыть ник, вам просто нужно будет использовать Update3DTextLabelText. Например: Для того чтобы скрыть ник вам нужно использовать: Код
Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, " ");
Чтобы открыть ник для этого нужно узнать ник игрока и просто обновить 3DText: Код
format(pname, sizeof pname, "%s (%d)",PlayerName(playerid), playerid); Update3DTextLabelText(AntiWallHackName[playerid], 0xFFFFFFFF, pname);
Т.к. большинство модов используют AFK System, чтобы вам было легче я покажу это на примере. Я думаю будет нормально, если во время АФК, у него вместо игрового NickName будет надпись сколько он находится в AFK: Код
format(string,sizeof string, "{AAAAAA}%s[%d] Offline %d seconds", PlayerName(playerid), playerid, AFK_IdleTime[playerid]); 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, " "); }
Автор данного античита: Danik Автор - Kronos Дата добавления - 03.07.2014 в 01:19