AMX MOD X
Среда, 24.04.2024, 14:51:24



Приветствую Вас Гость | RSS
[ Главная ] [ Помощь по коду - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Помощь по коду
Помощь по коду
pikeДата: Среда, 12.08.2009, 02:05:40 | Сообщение # 1
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
При обнаружении у одного игрока в бан идут все
Code

public Speedhack()
{
  for(new i=1;i<=g_MaxPlayers;i++)
  {
   if(is_user_alive(i))
   {
    new origin[3]  
    new oldorigin[3]
    new dist
    //new flags = entity_get_int(i,EV_INT_flags)
     
    //Get origins
    get_user_origin(i, origin, 0)
    oldorigin[0] = userOrg[i][0]
    oldorigin[1] = userOrg[i][1]
    oldorigin[2] = userOrg[i][2]
     
    {
     origin[2] = 0
     oldorigin[2] = 0
    }
     
    dist = get_distance(origin, oldorigin)
     
    if (userDetections[i][SPEEDHACK] >= 3)
    userDetections[i][SPEEDHACK]--
     
    if (userDetections[i][SPEEDHACK] < 0)
     userDetections[i][SPEEDHACK] = 0
     
    if (dist >= 240)
     userDetections[i][SPEEDHACK] = userDetections[i][SPEEDHACK] + 3
      
    if (userDetections[i][SPEEDHACK] >= 6)
     
    //if (userDetections[i][SPEEDHACK] >= 8)
    cheatDetected(i,SPEEDHACK)
     
    userOrg[i][0] = origin[0]
    userOrg[i][1] = origin[1]
    userOrg[i][2] = origin[2]
    }
    
                    }
   
          return PLUGIN_CONTINUE
}

Изменения делал
Code

public Speedhack(id)

cheatDetected(id,SPEEDHACK)

Обнаружение есть, но бана нет, т.к. читается имя сервера.
Code
server_cmd("amx_banip %d #%d %s", get_cvar_num("anti_hack_bantime"), get_user_userid(id), reason)
 
defaultNick8433Дата: Среда, 12.08.2009, 02:20:24 | Сообщение # 2
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Если скорость игрока болшая,то его банит,да?

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pikeДата: Среда, 12.08.2009, 11:05:37 | Сообщение # 3
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
Да.
 
defaultNick8433Дата: Среда, 12.08.2009, 12:30:50 | Сообщение # 4
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Вместо этого
Code
server_cmd("amx_banip %d #%d %s", get_cvar_num("anti_hack_bantime"), get_user_userid(id), reason)

попробуй это
Code
server_cmd("ban %d #%d %s", get_cvar_num("anti_hack_bantime"), get_user_userid(i), reason)

Quote
public Speedhack(id)

cheatDetected(id,SPEEDHACK)

Не используй


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pikeДата: Среда, 12.08.2009, 14:26:12 | Сообщение # 5
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
Спасибо за ответ.
У меня
Code
public cheatDetected(id, rcode)
{
   new name[64]
   new ip[64], reason[64]
   new authid[64]
   get_user_name(id, name, 63)
   get_user_ip(id, ip, 63, 1)
   get_user_authid(id, authid, 63)
   if (rcode==MAYHEM)
   reason = "Cheat Project Mayhem"
   if (rcode==SPEEDHACK)
   reason = "Speedhack"
/// ..........и др.
         server_cmd("amx_banip %d #%d %s", get_cvar_num("anti_hack_bantime"), get_user_userid(id), reason)

С остальными обнаружениями и банами порядок.
Speedhack детектится, но сервер не понимает кого точно банить и банит всех.


Сообщение отредактировал pike - Среда, 12.08.2009, 14:27:13
 
defaultNick8433Дата: Среда, 12.08.2009, 14:41:12 | Сообщение # 6
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Попробуй создать логическую переменную new bool:bancheat[33],и когда будет к примеру:
Code
if (rcode==SPEEDHACK)  
    reason = "Speedhack"

делай переменную нашу правдивой,чтобы выделить определённого игрока,связанного с читом определённым:
Code
bancheat[id]=true

Ну а дальше будет идти бан:
Code
server_cmd(ban %d  #%d %s",get_cvar_num("anti_hack_bantime"),id,"Причина бана")

При коннекте и дисконнекте следует сделать переменную ложной,чтобы не банились игроки случайные,при заходе на сервер или выходе.
Code
public client_putinserver(id)
{
bancheat[id]=false
}
public client_disconnect(id)
{
bancheat[id]=false
}

Да кстати в массивах name,ip,authid размерность сократи до 32


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pikeДата: Среда, 12.08.2009, 15:09:44 | Сообщение # 7
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
Это то что нужно, спасибо, работает.
 
defaultNick8433Дата: Среда, 12.08.2009, 15:15:40 | Сообщение # 8
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Всегда пожалуйста :)

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pikeДата: Среда, 12.08.2009, 15:42:36 | Сообщение # 9
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
Симитировать спидхак можно многократным использованием на игроке команды slap
Возможно отключить обнаружение на этот случай ?
 
defaultNick8433Дата: Среда, 12.08.2009, 15:53:31 | Сообщение # 10
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Возможно:
Code
if (rcode==SPEEDHACK&&user_slap(id,1))  
return PLUGIN_HANDLED


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pikeДата: Среда, 12.08.2009, 16:49:38 | Сообщение # 11
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
так не видит слэп, может здесь
Code

     if (userDetections[i][SPEEDHACK] >= 6)
       
     //if (userDetections[i][SPEEDHACK] >= 8)
     &&user_slap(id,1)        //  если юзер слэп нет детекта
     cheatDetected(i,SPEEDHACK)  
 
defaultNick8433Дата: Среда, 12.08.2009, 18:33:29 | Сообщение # 12
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
тогда if(user_slap(i,1))

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pikeДата: Среда, 12.08.2009, 19:08:37 | Сообщение # 13
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
Quote (defaultNick8433)
тогда if(user_slap(i,1))

В твой предыдущий код ?
 
defaultNick8433Дата: Среда, 12.08.2009, 19:11:14 | Сообщение # 14
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Code
if(user_slap(i,1))    
cheatDetected(i,SPEEDHACK)

Так


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pikeДата: Среда, 12.08.2009, 20:36:43 | Сообщение # 15
Полковник
Группа: Пользователи
Сообщений: 207
Репутация: 4
Статус: Не в сети
Не то.
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Помощь по коду
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

AMX Mod X Russian Community © 2006-2024