Текущая версия SA-MP: 0.3.7


IP: 77.220.180.96:7777
  Новые сообщения · Поиск
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: KaTacTpOqpa  
Анти-Спидхак
BJIADOKC Сообщение # 1  | 12:20:37
Скриптеры
Сообщений: 601
Репутация: 161
нигде не увидел такой функции, тогда я буду первым)
сначала создаем саму функцию:
в самое начало вставляем:
Code

new Float:OldX[MAX_PLAYERS], Float:OldY[MAX_PLAYERS], Float:OldZ[MAX_PLAYERS];//берем старую позицию игрока

Code

stock GetPlayerSpeed(playerid)
{
new Float:X, Float:Y, Float:Z, Float:Distance;
GetPlayerPos(playerid, X, Y, Z);//новая позиция игрока
Distance = floatsqroot(floatpower(floatabs(floatsub(X,OldX[playerid])),2)+floatpower(floatabs(floatsub(Y,OldY[playerid])),2)+floatpower(floatabs(floatsub(Z,OldZ[playerid])),2)); //вычисляем расстояние от старой позиции до новой
if(floatround(Distance*6.2137125, floatround_floor) > 250) //если скорость > 250
{
TogglePlayerControllable(playerid,false); //люблю так поиздеваться xD
BanEx(playerid,"Speedhack"); //баним по причине спидхак
}
OldX[playerid] = X; //делаем старые позицию новыми
OldY[playerid] = Y;
OldZ[playerid] = Z;
}

и вставляем в паблик обновления:
Code

public OnPlayerUpdate(playerid)
{
GetPlayerSpeed(playerid);
return 1;
}

писал сам, если будут какие то баги или глюки пишите сюда
есть один баг но его исправляйте сами, мне лень)))
при входе в тачку или телепортации скорость резко зашкаливает такчто подумайте как это убрать
лично я поставил таймер на 5 секунд на освобождение от бана т.е при входе в тачку или телепортации вас не забанит но если сильно лагаешь то может
ну вот и все))
урок от BJIADOKC


тут больше не сижу... открыл свой проект
blazer321 Сообщение # 2  | 12:22:38
VIP-пользователи
Сообщений: 641
BJIADOKC, полезная штукенция)

Старший админ сервера Универсал.

Demetrius Сообщение # 3  | 13:35:06
VIP-пользователи
Сообщений: 1192
Репутация: 158
blazer321, очень даже полезная)
BJIADOKC, +100500


Sweet >>> Armin >>> Demetrius

SA:MP >> MTA:SA >> IRL
BJIADOKC Сообщение # 4  | 22:31:50
Скриптеры
Сообщений: 601
Репутация: 161
нашел еще один баг (баг совершенно любого антиспидхака):
при падении с большой высоты скорость зашкаливает
буду думать как убирать happy


тут больше не сижу... открыл свой проект
UDAV Сообщение # 5  | 01:03:05
Пользователи
Сообщений: 4
Репутация: 2
BJIADOKC, ага я уже испытал на парашюте xDDDDD

Добавлено (27.02.2011, 01:03)
---------------------------------------------
а ты укажи id авто что бы по спидхаку банило

VERGIL Сообщение # 6  | 23:07:27
Пользователи
Сообщений: 82
Репутация: 28
лучше кик + в чат гвоорило что кикнут за подозрение "спидхак"

Добавлено (19.06.2011, 23:07)
---------------------------------------------
то есть админы поймут что он сх использует и в случае частого использования можно банить а не сразу!
Таким образом можно потерять не мало народу!


THIS IS POLCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I your friend ;D
Jin Сообщение # 7  | 12:29:18
Забаненые
Сообщений: 84
Репутация: -23
Code
C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\Копия мода\Новая папка\lvdm.pwn(8783) : warning 213: tag mismatch
C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\Копия мода\Новая папка\lvdm.pwn(8784) : warning 213: tag mismatch
C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\Копия мода\Новая папка\lvdm.pwn(8785) : warning 213: tag mismatch


Cтрочки:
Code
OldX[playerid] = X; //делаем старые позицию новыми
OldY[playerid] = Y;
OldZ[playerid] = Z;

Добавлено (20.06.2011, 12:29)
---------------------------------------------
А да и как сделать чтоб был кик

BJIADOKC Сообщение # 8  | 17:07:58
Скриптеры
Сообщений: 601
Репутация: 161
Quote (Jin)
C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\Копия мода\Новая папка\lvdm.pwn(8783) : warning 213: tag mismatch
C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\Копия мода\Новая папка\lvdm.pwn(8784) : warning 213: tag mismatch
C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\Копия мода\Новая папка\lvdm.pwn(8785) : warning 213: tag mismatch

проверь, все ли вставил из начала
Quote (Jin)
А да и как сделать чтоб был кик

Quote

TogglePlayerControllable(playerid,false); //люблю так поиздеваться xD
BanEx(playerid,"Speedhack"); //баним по причине спидхак

заменяешь на Kick(playerid);


тут больше не сижу... открыл свой проект
Jin Сообщение # 9  | 12:54:24
Забаненые
Сообщений: 84
Репутация: -23
a ты исправил лаг
Quote
нашел еще один баг (баг совершенно любого антиспидхака):
при падении с большой высоты скорость зашкаливает
буду думать как убирать
BJIADOKC Сообщение # 10  | 13:21:20
Скриптеры
Сообщений: 601
Репутация: 161
Quote (BJIADOKC)
Distance = floatsqroot(floatpower(floatabs(floatsub(X,OldX[playerid])),2)+floatpower(floatabs(floatsub(Y,OldY[playerid])),2)+floatpower(floatabs(floatsub(Z,OldZ[playerid])),2)); //вычисляем расстояние от старой позиции до новой

замени на
Quote

Distance = floatsqroot(floatpower((X - OldX[playerid]),2.0)+floatpower((Y - OldY[playerid]),2.0));


тут больше не сижу... открыл свой проект
Jin Сообщение # 11  | 19:43:47
Забаненые
Сообщений: 84
Репутация: -23
Code
C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(8829) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

Header size:           4736 bytes
Code size:           570388 bytes
Data size:         20390524 bytes
Stack/heap size:      16384 bytes; estimated max. usage=4115 cells (16460 bytes)
Total requirements:20982032 bytes

1 Warning.


Cтрочка
Code
Kick(playerid,"Speedhack"); //áàíèì ïî ïðè÷èíå ñïèäõàê


P.S просто не хочу чтоб варнинги были smile
BJIADOKC Сообщение # 12  | 03:13:36
Скриптеры
Сообщений: 601
Репутация: 161
Quote (BJIADOKC)
заменяешь на Kick(playerid);

Quote (Jin)
Kick(playerid,"Speedhack");

Quote (BJIADOKC)
Kick(playerid);


тут больше не сижу... открыл свой проект
Jin Сообщение # 13  | 10:40:36
Забаненые
Сообщений: 84
Репутация: -23
а как сделать причину?!
BJIADOKC Сообщение # 14  | 21:26:58
Скриптеры
Сообщений: 601
Репутация: 161
всмысле? кик не записывается в файл, там причина попросту ненужна

тут больше не сижу... открыл свой проект
Jin Сообщение # 15  | 22:07:19
Забаненые
Сообщений: 84
Репутация: -23
У меня вообще супер лаг захожу на серв и мя кикает cry
BJIADOKC Сообщение # 16  | 22:12:33
Скриптеры
Сообщений: 601
Репутация: 161
понятно, это же мегабаговый вариант :DD
в OnPlayerUpdate пихни:
Code

if(IsPlayerInAnyVehicle(playerid))
{
new Float:V[3];
GetVehicleVelocity(GetPlayerVehicleID(playerid),V[0],V[1],V[2]);
V[2] = floatmul(floatsqroot(floatpower(V[0],2.0)+floatpower(V[1],2.0)),150.0);
if(floatround(V[2]) > 280)
{
Kick(playerid);
return 1;
}
}


тут больше не сижу... открыл свой проект
Jin Сообщение # 17  | 22:14:39
Забаненые
Сообщений: 84
Репутация: -23
Проверю отпишусь smile лутши беги в тему "Вопросы по скриптенгу" happy
[JIuC]eH[oK] Сообщение # 18  | 16:36:08
Модераторы
Сообщений: 972
Репутация: 414
Вообше анти спид хак почти что невозможно написать! А если игрок летит на гидре, он сразу получает бан? Веть гидра летит очень быстро!


Администратор Универсала.
По вопросам обращайтесь ко мне в
Личку.
Demetrius Сообщение # 19  | 20:24:57
VIP-пользователи
Сообщений: 1192
Репутация: 158
Quote (|pr0_Sn1peR|_MiniguN)
Вообше анти спид хак почти что невозможно написать! А если игрок летит на гидре, он сразу получает бан? Веть гидра летит очень быстро!

Делаешь проверку на то, что игрок сидит в гидре. И пилишь для проверки смещения по координатам более дальнее расстояние.
Problems?
+ это урок 2х летней давности. Спроси у него сам, может кинет другой, нормальный вариант.


Sweet >>> Armin >>> Demetrius

SA:MP >> MTA:SA >> IRL
[JIuC]eH[oK] Сообщение # 20  | 22:54:51
Модераторы
Сообщений: 972
Репутация: 414
Demetrius, есть много транспортов с большой скоростью. Что на все ставить проверку? Это уже как то не правильно... Смысл скрипта теряется


Администратор Универсала.
По вопросам обращайтесь ко мне в
Личку.
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: