Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Античит На Оружие - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (4 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Античит На Оружие
Оценка: ***-- 3 Голосов

#1
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
Сейчас я расскажу как создать эффективный анти-чит на оружие.
Начнем.
Для начало добавим массивчики.
new Weapons[MAX_PLAYERS][47];

Теперь в OnPlayerConnect
for(new i=0;i<47;i++) Weapons[playerid][i]=0;//обнуление

Дальше в OnPlayerStateChange добавляем следующие чтоб анти-чит не сработал при посадке например в самолет.
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
	{
             new model = GetVehicleModel(GetPlayerVehicleID(playerid));
             switch(model)
             {
                 case 592,577,511,512,520,593,553,476,519,460,513,548,425,417,487,488,497,563,447,469: Weapons[playerid][46]= 1;
                 case 457: Weapons[playerid][2]= 1;
                 case 596,597,598,599: Weapons[playerid][25]= 1;
             }
	}

Теперь проверка в OnPlayerUpdate:
new weap = GetPlayerWeapon(playerid);
	if(weap != 0 && !Weapons[playerid][weap] && weap != 40)
	{
		//Действие например кик
		Kick(playerid);
	}

Теперь макрос выдачи оружия.
stock GiveWeapon(player,weapid,ammo)
{
Weapons[player][weapid]= 1;
GivePlayerWeapon(player,weapid,ammo);
return ;
}



Теперь нужно заменить все GivePlayerWeapon на GiveWeapon
можете делать вручную а можете поставить макрос.
#define GivePlayerWeapon GiveWeapon

Автор: sk47
Все урок окончен.
6

#2
Пользователь офлайн   Yatakoi 

  • Местный
  • Вставить ник
  • Раскрыть информацию
не понял,Это античит на патроны?
0

#3
Пользователь офлайн   fakeN 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Даже если на патроны,когда читом ставиш оружие то даются патроны)
1

#4
Пользователь офлайн   Yatakoi 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Он работает хорошо?
Палит?
1

#5
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияYatakoi (26 Август 2011 - 22:29) писал:

Он работает хорошо?
Палит?


Работает все отлично на себе проверял.
1

#6
Пользователь офлайн   Rock & Roll 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
А если так?
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
	{
	SendClientMessage(playerid,COLOR_SYSTEM,"Вы кикнуты за использование минигана.");
	Kick(playerid);
    return 1;}

0

#7
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияHyDr0 (25 Декабрь 2011 - 09:45) писал:

А если так?
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
	{
	SendClientMessage(playerid,COLOR_SYSTEM,"Вы кикнуты за использование минигана.");
	Kick(playerid);
    return 1;}



Это только на одно оружия... Миниган.
1

#8
Пользователь офлайн   Rock & Roll 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Ну почему же:
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
	{
	SendClientMessage(playerid,COLOR_SYSTEM,"Вы кикнуты за использование минигана.");
	Kick(playerid);
    return 1;}
    if(GetPlayerWeapon(playerid) == WEAPON_ROCKETLAUNCHER)
	{
	SendClientMessage(playerid,COLOR_SYSTEM,"Вы кикнуты за использование базуки");
	Kick(playerid);
    return 1;}
	}
    if(GetPlayerWeapon(playerid) == WEAPON_HEATSEEKER)
	{
	SendClientMessage(playerid,COLOR_SYSTEM,"Вы кикнуты за использование рпг");
	Kick(playerid);
    return 1;}
    if(GetPlayerWeapon(playerid) == WEAPON_FLAMETHROWER)
	{
	SendClientMessage(playerid,COLOR_SYSTEM,"Вы кикнуты за использование огнемета");
	Kick(playerid);
    return 1;}

И так далее можно. А в чем плюсы? Во 1 оптимизированно, и нагрузки на сервер никакой! Это приемливо)
0

#9
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
В этом античите что я дал там ловит и кикает за все оружия.(Ну конечно если чит использовать) а если оружия сервером выдать или админкой тогда не кикнет...
1

#10
Пользователь офлайн   Jeff_Hardy 

  • Banned
  • Вставить ник
  • Раскрыть информацию
На держи + очень хороший античит, оптимизированный!

Поделиться темой:


  • (4 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей