Русское сообщество по скриптингу

Сброс настроек клавы одной строкой

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Сброс настроек клавы одной строкой

Сообщение Skriptar » 20 окт 2009, 15:45

client_cmd(id, "unbindall;bind ... bind ... bind .... ")
т.е. я имею ввиду одной строчкой забиндить всю клаву по дефалту
как ставить разделители между bind .... bind .... bind ..... кавычки тут некатят
Приведите плз пример забиндивания любых трех кнопок
Надоела реклама...
Я знаю только то, что я ничего не знаю.
Аватара пользователя
Skriptar
 
Сообщения: 953
Зарегистрирован: 20 окт 2009, 15:34
Благодарил (а): 180 раз.
Поблагодарили: 136 раз.
Языки программирования: Counter-Strike 1.6

Re: Сброс настроек клавы одной строкой

Сообщение Shidla » 20 окт 2009, 16:14

Поставь просто плаг, который будет банить за рекламу.
А то получается, что действуешь не лучше админов серверов, которые рекламу вшивают в конфиг.
Получается что вы оба вмешиваетесь в конфиг юзверя, без его на то согласия :dance2:
Аватара пользователя
Shidla
 
Сообщения: 161
Зарегистрирован: 25 сен 2009, 21:04
Благодарил (а): 700 раз.
Поблагодарили: 42 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Counter-Strike 1.6
(учусь)

Re: Сброс настроек клавы одной строкой

Сообщение Skriptar » 20 окт 2009, 17:17

Shidla писал(а):Поставь просто плаг, который будет банить за рекламу.
А то получается, что действуешь не лучше админов серверов, которые рекламу вшивают в конфиг.
Получается что вы оба вмешиваетесь в конфиг юзверя, без его на то согласия :dance2:


Ох ты умник !!! Плаг у меня стоит и успешно фильтрует, бан говориш ? тоже умно...
Многие не понимают какая реклама и не понимают когда и плагин пишет Options -> Keyboard -> Use Defaults or BAN
так, что никого банить я не собираюсь, а только плагин который фильтрует вывод IP рекламы и сбрасывает клаву по дефалту.

Нда и по поводу вы оба - тот админ вмешивается преследуя свои корыстные цели - .т.е. реклама я спасаю от бана чайника на всех остальных серваках так, что думай ]:->
Я знаю только то, что я ничего не знаю.
Аватара пользователя
Skriptar
 
Сообщения: 953
Зарегистрирован: 20 окт 2009, 15:34
Благодарил (а): 180 раз.
Поблагодарили: 136 раз.
Языки программирования: Counter-Strike 1.6

Re: Сброс настроек клавы одной строкой

Сообщение Ser_UFL » 20 окт 2009, 17:23

Skriptar, а чем не устраивает:
Код: Выделить всё
bind a +moveleft;bind s +back; bind d +moveright; bind w +forward; итд...

?
Запомните, всегда по жизни вас будут красить вежливость и спокойствие, а не наезды и дешевые понты ;)
Аватара пользователя
Ser_UFL
 
Сообщения: 975
Зарегистрирован: 22 авг 2009, 19:30
Откуда: Hell
Благодарил (а): 276 раз.
Поблагодарили: 380 раз.
Языки программирования: Counter-Strike 1.6:
WebMod-scripts, little Pawn.

Re: Сброс настроек клавы одной строкой

Сообщение Skriptar » 20 окт 2009, 17:26

Ser_UFL писал(а):Skriptar, а чем не устраивает:
Код: Выделить всё
bind a +moveleft;bind s +back; bind d +moveright; bind w +forward; итд...

?


щас проверю что то в прошлый раз не прокатывало
Я знаю только то, что я ничего не знаю.
Аватара пользователя
Skriptar
 
Сообщения: 953
Зарегистрирован: 20 окт 2009, 15:34
Благодарил (а): 180 раз.
Поблагодарили: 136 раз.
Языки программирования: Counter-Strike 1.6

Re: Сброс настроек клавы одной строкой

Сообщение rangel » 20 окт 2009, 18:06

Skriptar писал(а):
Shidla писал(а):Поставь просто плаг, который будет банить за рекламу.
А то получается, что действуешь не лучше админов серверов, которые рекламу вшивают в конфиг.
Получается что вы оба вмешиваетесь в конфиг юзверя, без его на то согласия :dance2:


Ох ты умник !!! Плаг у меня стоит и успешно фильтрует, бан говориш ? тоже умно...
Многие не понимают какая реклама и не понимают когда и плагин пишет Options -> Keyboard -> Use Defaults or BAN
так, что никого банить я не собираюсь, а только плагин который фильтрует вывод IP рекламы и сбрасывает клаву по дефалту.

Нда и по поводу вы оба - тот админ вмешивается преследуя свои корыстные цели - .т.е. реклама я спасаю от бана чайника на всех остальных серваках так, что думай ]:->

вообще лучше плагин который чистит конфиг...зачем тебе тот который банит? у меня на сервере стоит оч много плагинов против дитей которые даже не видят какой у них ник (все самописные так сказать)
Аватара пользователя
rangel
 
Сообщения: 140
Зарегистрирован: 28 сен 2009, 18:52
Благодарил (а): 40 раз.
Поблагодарили: 26 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Сброс настроек клавы одной строкой

Сообщение Skriptar » 20 окт 2009, 18:59

Код: Выделить всё

/* AMX Mod script.
*
* Advertising Filter 1.1
*  by SniperBeamer
*
*
*  Description:
*   Blocks and logs advertising (blacklist and ips).
*   You can set up a whitelist and a blacklist.
*
*  Configuration:
*   amx_adfilter_allow_admins - allows admins to advertise (default: 1)
*
* This file is provided as is (no warranties).
*
*/

#include <amxmod>
#include <amxmisc>

#define MAX_ENTRIES 50

new g_logFile[16]
new g_WhiteList[MAX_ENTRIES][32]
new g_WhiteEntries
new g_BlackList[MAX_ENTRIES][32]
new g_BlackEntries

public plugin_init()
{
   register_plugin("Advertising Filter","1.1","SniperBeamer")
   register_cvar("amx_adfilter_allow_admins","1")
   register_clcmd("say","check_ad")
   register_clcmd("say_team","check_ad")

   new filename[64]
   build_path(filename,63,"$basedir/whitelist.ini")
   load_whitelist(filename)
   build_path(filename,63,"$basedir/blacklist.ini")
   load_blacklist(filename)

   get_logfile(g_logFile,15)
}

bool:is_ip(said[])
{
   new pos = -1,pos2 = 0

   for (new i=0; i<3; i++)
   {
      pos2 += pos + 1
      pos = contain(said[pos2],".")

      if (pos==-1)
         return false
      if ( !isdigit(said[pos-1+pos2]) || !isdigit(said[pos+1+pos2]) )
         return false
   }

   return true
}

bool:is_admin(id)
{
   new flags = get_user_flags(id)
   if (
      (flags&ADMIN_IMMUNITY) ||
      (flags&ADMIN_RESERVATION) ||
      (flags&ADMIN_KICK) ||
      (flags&ADMIN_BAN) ||
      (flags&ADMIN_SLAY) ||
      (flags&ADMIN_MAP) ||
      (flags&ADMIN_CVAR) ||
      (flags&ADMIN_CFG) ||
      (flags&ADMIN_CHAT) ||
      (flags&ADMIN_VOTE) ||
      (flags&ADMIN_PASSWORD) ||
      (flags&ADMIN_RCON) ||
      (flags&ADMIN_LEVEL_A) ||
      (flags&ADMIN_LEVEL_B) ||
      (flags&ADMIN_LEVEL_C) ||
      (flags&ADMIN_LEVEL_D) ||
      (flags&ADMIN_LEVEL_E) ||
      (flags&ADMIN_LEVEL_F) ||
      (flags&ADMIN_LEVEL_G) ||
      (flags&ADMIN_LEVEL_H) ||
      (flags&ADMIN_MENU)
      )
   {
      return true
   }

   return false
}

public check_ad(id)
{
   new said[256],bool:bad = false
   read_args(said,255)

   for (new i=0; i<g_BlackEntries; i++)
   {
      if (containi(said,g_BlackList[i])!=-1)
      {
         bad = true
         break
      }
   }

   if (bad || is_ip(said))
   {
      if ( get_cvar_num("amx_adfilter_allow_admins") && is_admin(id) ) return PLUGIN_CONTINUE
      for (new i=0; i<g_WhiteEntries; i++)
         if (containi(said,g_WhiteList[i])!=-1) return PLUGIN_CONTINUE

      new name[32],authid[32]
      get_user_name(id,name,31)
      get_user_authid(id,authid,31)

      client_print(0,print_chat,"No advertising, please!")
      client_cmd(id, "unbindall;bind TAB +showscores;bind ENTER +attack;bind ESCAPE cancelselect;bind SPACE +jump;bind ' +moveup;bind , buyammo1;bind . buyammo2;bind / +movedown;bind 0 slot10;bind 1 slot1;bind 2 slot2;bind 3 slot3;bind 4 slot4;bind 5 slot5;bind 6 slot6;bind 7 slot7;bind 8 slot8;bind 9 slot9;bind ; +mlook;bind [ invprev;bind ] invnext;bind ` toggleconsole;bind a +moveleft;bind b buy;bind c radio3;bind d +moveright;bind e +use;bind g drop;bind h +commandmenu;bind j cheer;bind k +voicerecord;")
      client_cmd(id, "bind l showbriefing;bind m chooseteam;bind n nightvision;bind o buyequip;bind q lastinv;bind r +reload;bind s +back;bind u messagemode2;bind w +forward;bind x radio2;bind y messagemode;bind z radio1;bind ~ toggleconsole;bind UPARROW +forward;bind DOWNARROW +back;bind LEFTARROW +left;bind RIGHTARROW +right;bind ALT +strafe;bind CTRL +duck;bind SHIFT +speed;bind F1 autobuy;bind F2 rebuy;bind F5 snapshot;bind INS +klook;bind PGDN +lookdown;bind PGUP +lookup;bind END centerview;")
      client_cmd(id, "bind MWHEELDOWN invnext;bind MWHEELUP invprev;bind MOUSE1 +attack;bind MOUSE2 +attack2;")
        log_to_file(g_logFile,"Advertising: ^"%s<%d><%s><>^" said %s",
         name,get_user_userid(id),authid,said )

      return PLUGIN_HANDLED
   }

   return PLUGIN_CONTINUE
}

load_whitelist(filename[])
{
   if (!file_exists(filename)) return

   new text[64],text2[64]
   new a,pos = 0

   while ( g_WhiteEntries < MAX_ENTRIES && read_file(filename,pos++,text,255,a) )
   {
      if (text[0]==';') continue

      copy(text2,63,text)
      while (contain(text2," ")!=-1)
         replace(text2,strlen(text2)," ","")
      while (contain(text2,"^t")!=-1)
         replace(text2,strlen(text2),"^t","")
      if (equal(text2,"")) continue

      copy(g_WhiteList[g_WhiteEntries],31,text)

      g_WhiteEntries++
   }
}

load_blacklist(filename[])
{
   if (!file_exists(filename)) return

   new text[64],text2[64]
   new a,pos = 0

   while ( g_BlackEntries < MAX_ENTRIES && read_file(filename,pos++,text,255,a) )
   {
      if (text[0]==';') continue

      copy(text2,63,text)
      while (contain(text2," ")!=-1)
         replace(text2,strlen(text2)," ","")
      while (contain(text2,"^t")!=-1)
         replace(text2,strlen(text2),"^t","")
      if (equal(text2,"")) continue

      copy(g_BlackList[g_BlackEntries],31,text)

      g_BlackEntries++
   }



Непомню, что было но сейчас компилит и плагин бидит по дефалту т.е. так как еслиб игрок ввел unbindall, а потом нажал Options -> Keyboard -> Use Defaults
Длина одной строчки скрипта не должна превышать 512 символов походу, а тогда я ставил 20 строк client_cmd не работало ппц типа клиента валило

Добавлено спустя 3 минуты 7 секунд:
rangel писал(а):
Skriptar писал(а):
Shidla писал(а):Поставь просто плаг, который будет банить за рекламу.
А то получается, что действуешь не лучше админов серверов, которые рекламу вшивают в конфиг.
Получается что вы оба вмешиваетесь в конфиг юзверя, без его на то согласия :dance2:


Ох ты умник !!! Плаг у меня стоит и успешно фильтрует, бан говориш ? тоже умно...
Многие не понимают какая реклама и не понимают когда и плагин пишет Options -> Keyboard -> Use Defaults or BAN
так, что никого банить я не собираюсь, а только плагин который фильтрует вывод IP рекламы и сбрасывает клаву по дефалту.

Нда и по поводу вы оба - тот админ вмешивается преследуя свои корыстные цели - .т.е. реклама я спасаю от бана чайника на всех остальных серваках так, что думай ]:->

вообще лучше плагин который чистит конфиг...зачем тебе тот который банит? у меня на сервере стоит оч много плагинов против дитей которые даже не видят какой у них ник (все самописные так сказать)



Ну чтож если есть какое либо другое средство т.е. выложи плз исходничек
Я знаю только то, что я ничего не знаю.
Аватара пользователя
Skriptar
 
Сообщения: 953
Зарегистрирован: 20 окт 2009, 15:34
Благодарил (а): 180 раз.
Поблагодарили: 136 раз.
Языки программирования: Counter-Strike 1.6

Re: Сброс настроек клавы одной строкой

Сообщение Co6aka » 20 окт 2009, 19:22

кавычки ^"bla-bla^"
Аватара пользователя
Co6aka
 
Сообщения: 226
Зарегистрирован: 30 авг 2009, 21:19
Благодарил (а): 54 раз.
Поблагодарили: 114 раз.
Языки программирования: Counter-Strike 1.6

Re: Сброс настроек клавы одной строкой

Сообщение Ser_UFL » 20 окт 2009, 19:31

Co6aka, это понятно, но это не поможет сделать скрипт в одну строку.
Запомните, всегда по жизни вас будут красить вежливость и спокойствие, а не наезды и дешевые понты ;)
Аватара пользователя
Ser_UFL
 
Сообщения: 975
Зарегистрирован: 22 авг 2009, 19:30
Откуда: Hell
Благодарил (а): 276 раз.
Поблагодарили: 380 раз.
Языки программирования: Counter-Strike 1.6:
WebMod-scripts, little Pawn.

Re: Сброс настроек клавы одной строкой

Сообщение Co6aka » 20 окт 2009, 19:34

Ser_UFL, а я вообще не понимаю, зачем нужен этот плагин.
Аватара пользователя
Co6aka
 
Сообщения: 226
Зарегистрирован: 30 авг 2009, 21:19
Благодарил (а): 54 раз.
Поблагодарили: 114 раз.
Языки программирования: Counter-Strike 1.6

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 11