Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

На оружие

Статус
В этой теме нельзя размещать новые ответы.

PI

The world on the edge of reality
Сейчас я расскажу как создать эффективный анти-чит на оружие.
Начнем.
Для начало добавим массивы.
PHP:
new Weapons[MAX_PLAYERS][47];
Теперь в OnPlayerConnect
PHP:
for(new i=0;i<47;i++) Weapons[playerid][i]=0;//обнуление
Дальше в OnPlayerStateChange добавляем следующие чтоб анти-чит не сработал при посадке например в самолет.
PHP:
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;
             }
	}
Теперь проверка можете поставить ее под таймер ну или как вам удобно.
PHP:
new weap = GetPlayerWeapon(playerid);
	if(weap != 0 && !Weapons[playerid][weap] && weap != 40)
	{
		//Действие например кик
		Kick(playerid);
	}
Теперь макрос выдачи оружия.
PHP:
stock GiveWeapon(player,weapid,ammo);
{
Weapons[player][weapid]= 1;
GivePlayerWeapon(player,weapid,ammo);
return ;
}
Теперь нужно заменить все GivePlayerWeapon на GiveWeapon
можете делать вручную а можете поставить макрос.
Заменить все GivePlayerWeapon на GiveWeapon(кроме) этого:
PHP:
stock GiveWeapon(player,weapid,ammo);
{
Weapons[player][weapid]= 1;
GivePlayerWeapon(player,weapid,ammo);
return ;
}
Все урок окончен.

Автор:sk47
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу