ExPRO |
Дата: Суббота, 29.12.2012, 21:39 | Сообщение # 1
|
Боец
Сообщений: 181
Статус: Offline
|
Всех приветствую, достался мне краш от 0,3д по баловался и хватит.. многие сервера по страдали ( прошу прощения ) и так решения этой проблемы у меня вышло в одну строчку...
1 Вариант (Тупо обламывает Крашера) Код public OnVehicleMod(playerid,vehicleid,componentid) { RemoveVehicleComponent(vehicleid,componentid); return 0; } 2. Вариант кикаем. Код public OnVehicleMod(playerid,vehicleid, componentid){if(GetPlayerInterior(playerid) == 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER){Kick(playerid);}return 1;}
Причина вылетов была:
Вы заходите на сервер.. садитесь в 2ух дверную тачку, например инфернус ( от него больше вылетов) и приватный соб создает левые Спойлеры, юбки, бампера и т.д ( ну многие знают что они не ставятся ( ошибаетесь ) их тупо не видно! и просто остается воспользоватся тп к игроку и хватит, что бы весь сервер вылетел.
===========================================
а так же есть и другой краш ну его про фиксил Владокс. Ко всем глобалаьным new: Код static const MaxPassengers[27] = { 0x10331113, 0x11311131, 0x11331313, 0x80133301, 0x1381F110, 0x10311103, 0x10001F10, 0x11113311, 0x13113311, 0x31101100, 0x30001301, 0x11031311, 0x11111331, 0x10013111, 0x01131100, 0x11111110, 0x11100031, 0x11130221, 0x33113311, 0x11111101, 0x33101133, 0x101001F0, 0x03133111, 0xFF11113F, 0x13330111, 0xFF131111, 0x0000FF3F }; и в OnPlayerStateChange: Код if(newstate == PLAYER_STATE_DRIVER) { new model = GetPlayerVehicleSeat(playerid); if(model != 128) { if(!model) { model = GetVehicleModel(GetPlayerVehicleID(playerid)); if(!(400 <= model <= 611) || MaxPassengers[model - 400 >>> 3] >>> ((model - 400 & 7) << 2) & 0xF == 15) return Kick(playerid); } else return Kick(playerid); } } else if(newstate == PLAYER_STATE_PASSENGER) { new model = GetVehicleModel(GetPlayerVehicleID(playerid)); if(400 <= model <= 611) { model -= 400; new seat = GetPlayerVehicleSeat(playerid); if(seat != 128) { model = (MaxPassengers[model >>> 3] >>> ((model & 7) << 2)) & 0xF; if(!model || model == 15) return Kick(playerid); else if(!(0 < seat <= model)) return Kick(playerid); } else return Kick(playerid); } } Описания этого краша: Этот краш так же создает вылеты сервера ( Но только другим способом ) Пример использования этого краша.. Чувак подсаживается к вам в транспорт и сажает вас на 5 место... происходит вылет... 1. Убирает флуд смены мест Код public OnPlayerStateChange(playerid, newstate, oldstate) { if((newstate == 2 && oldstate == 3) || (newstate == 3 && oldstate == 2)) return Kick(playerid); return 1; } 2. Не пускает больше 2х соединений на сервер с одного IP (привет создателям RakSAMP Bot) Код public OnPlayerConnect(playerid) { new ip[2][16]; GetPlayerIp(playerid,ip[0],16); for(new i, m = GetMaxPlayers(), x; i != m; i++) { if(!IsPlayerConnected(i) || i == playerid) continue; GetPlayerIp(i,ip[1],16); if(!strcmp(ip[0],ip[1],true)) x++; if(x > 2) return Kick(i); } return 1; } 3. Убирает краш сервера путем флуда в киллчат Код public OnPlayerSpawn(playerid) { SetPVarInt(playerid,"K_Times",0); return 1; }
public OnPlayerDeath(playerid, killerid, reason) { SetPVarInt(playerid,"K_Times",GetPVarInt(playerid,"K_Times") + 1); if(GetPVarInt(playerid,"K_Times") > 1) return Kick(playerid); return 1; } Код убирает баг подмены диалогов через ArtMoney //в начало после инклудов (обязательно!!!) SPSD(playerid, dialogid, style, caption[], info[], button1[], button2[]) { SetPVarInt(playerid,"DialogID",dialogid); return ShowPlayerDialog(playerid,dialogid,style,caption,info,button1,button2); }
#define ShowPlayerDialog SPSD
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(GetPVarInt(playerid,"DialogID") != dialogid) return Kick(playerid); return 0; }
public OnPlayerConnect(playerid) { SetPVarInt(playerid,"DialogID",-1); return 1; } еперь на вашем сервере не будет вылетов...
Защита от соб от сайта CheatMaster
Защита от чита вылета из тачки Например: Если Установлен собейт от CheatMaster то когда не срабатывает функция RemovePlayerFromVehicle т.е не выкидывает из транспорта и так преступим исправлению этого чита. И так ко всем new добавляем
Создаем паблик Код forward AntiCheat(playerid); public AntiCheat(playerid) { if(IsPlayerInAnyVehicle(playerid) && GetPVarInt(playerid,"Remove")==1) SetPVarInt(playerid,"Remove",0),Kick(playerid),KillTimer(anticheat); //Если игрок в транспорте то Кикаем else if(!IsPlayerInAnyVehicle(playerid) && GetPVarInt(playerid,"Remove")==1) SetPVarInt(playerid,"Remove",0),KillTimer(anticheat); //А если нет, то просто Онулируем ! } // ===== и в конец мода stock RemoveFromVehicle(playerid) { SetPVarInt(playerid,"Remove",1); //Присваиваем один RemovePlayerFromVehicle(playerid); //Выкидываем из транспорта anticheat = SetTimerEx("AntiCheat",2000,0,"i",playerid); //Запускаем таймер return 1; } Ну вроде бы и все Авторы: BJIADOKC And AnGeL Автор темы: ExPRO для www.cheat-master.ru Кому не жалко давайте +
>>> My sa:mp server 176.32.39.43:7777 <<<
|
|
|
|
Хмель |
Дата: Суббота, 29.12.2012, 21:45 | Сообщение # 2
|
Боец
Сообщений: 282
Статус: Offline
|
Ctrl+C CTRL+V же, Тык и Тык (Не реклама)
Сообщение отредактировал xemyjib94 - Суббота, 29.12.2012, 21:48 |
|
|
|
ExPRO |
Дата: Суббота, 29.12.2012, 22:00 | Сообщение # 3
|
Боец
Сообщений: 181
Статус: Offline
|
Цитата (xemyjib94) Ctrl+C CTRL+V же, Тык и Тык (Не реклама) Цитата (xemyjib94) Авторы: BJIADOKC And AnGeL Автор темы: ExPRO для www.cheat-master.ru ок?
>>> My sa:mp server 176.32.39.43:7777 <<<
|
|
|
|
Голубь |
Дата: Понедельник, 31.12.2012, 16:04 | Сообщение # 4
|
Авторитет
Сообщений: 2137
Статус: Offline
|
бред, есть другой крашер
двач https://vk.com/povargek
|
|
|
|
ExPRO |
Дата: Среда, 14.05.2014, 15:11 | Сообщение # 5
|
Боец
Сообщений: 181
Статус: Offline
|
Цитата (Голубь) бред, есть другой крашер Никто не сомневается Добавлено (07.04.2013, 19:43) --------------------------------------------- up Добавлено (14.05.2014, 15:11) --------------------------------------------- Подниму.
>>> My sa:mp server 176.32.39.43:7777 <<<
|
|
|
|
[WS]Grenhelgets |
Дата: Понедельник, 01.12.2014, 17:39 | Сообщение # 6
|
|
Добавь в скайп nicelse.ws предложение есть.
|
|
|
|