Напишите условия антифлуда, реализовать не сложно.
Хотелось бы поставить антифлуд на /report и /vopros /f и желательно /pay
Quote (Geryy)
Ну показывайте что у вас в if(newstate == PLAYER_STATE_DRIVER) А в PLAYER_STATE_PASSENGER никакое мп5 не дается, или это не полный код?
Code
if(newstate == PLAYER_STATE_DRIVER) //buggy dont finnish {// 38 / 49 / 56 = SS new newcar = GetPlayerVehicleID(playerid); // new housecar = PlayerInfo[playerid][pPhousekey]+1; new buycar = newcar-1; new engine,lights,alarm,doors,bonnet,boot,objective; new skin = GetPlayerSkin(playerid); TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0; if(GetPlayerWeapon(playerid) != 0 && GetPlayerWeapon(playerid) != 0 && GetPlayerWeapon(playerid) != 0 && GetPlayerWeapon(playerid) != 0 && GetPlayerWeapon(playerid) != 0 && GetPlayerWeapon(playerid) != 0 && GetPlayerWeapon(playerid) != 0) { SetPlayerArmedWeapon(playerid, 0); }
Добавлено (11.01.2012, 03:33) --------------------------------------------- То есть, когда сажусь за руль с кулаком - автоматом перекидует на мп5. А хотелось-бы чтобы не перекидовало.
То есть, когда сажусь за руль с кулаком - автоматом перекидует на мп5.
Опять эта 7кратная проверка..пздц. Функция SetPlayerArmedWeapon(playerid,0); просто обезаруживает игрока, ничего ему не выдает. Смотри где дается оружие GivePlayerWeapon при посадке, может в public OnPlayerEnterVehicle или в каком-нить таймере есть еще проверка.
Quote (mdavid)
Хотелось бы поставить антифлуд на /report и /vopros /f и желательно /pay
Заводи переменную типа new Flood[MAX_PLAYERS];
Сделай какой-нить таймер секунды на 3(или сколько те нужно) там скидывай
for(new i; i < MAX_PLAYERS; i++) Flood[i] = 0;
Ну и в самое начало нужных тебе команд вставляй чонить такое
if (Flood[playerid] != 0) { SendClientMessage(playerid, COLOR_YELLOW, " Вы слишком часто вводите команды!"); return 1; } Flood[playerid]++;