(++добавлено++) (---убрано---) (для активации скринов надо установить и настроить bandicam) автоматически заходит на сервер если реконнект (---убрал---) если один и тот же игрок флудит лечением, то не лечим, а говорим что уже лечили его (++добавлено++) спрашивает вопросы о том что болит в ответ на вопросы.с антифлудом в 7 секунд функции: предлагает лечение по ключевым словам, голова, горло и т.п. делает рп отигровку с именем пациента в конце и скринит лечение. рассказывает где получить медкарту (рецепты убрано) каждый час скрин и движение назад вперед когда сытость падает кушает 2 пачки чипсов и спранк антибот: на типичные слова проверки на бота отвечает с задержкой, как буд то сам печатает. когда задаются вопросы о боте, ходит вперед назад. по нажатию f2 скрипт встает на паузу. удобно когда надо что то самому написать.
лучше не оставлять его на долго без присмотра. персонаж может уйти сам куда угодно. но на часок другой можно
управление
важно!прежде всего просмотрите скрипт и измените под себя переменные в начале в блокноте нажмите f3 и вставьте ключевое слово!изменить!
cntrl+1запуск скрипта. когда переоделись и зашли в палату cntrl+1 cntrl+2 обычный бинд лечения cntrl+3 вопрос, что болит cntrl+4 доклад в рацию cntrl+5 просто проверка движения со скрином. . скрипт ниже:
(( слова (мат) замените на конкретные, либо удалите ))
#ifwinactive gta:sa:mp
;=================управление==================; ;!!!!!важно!прежде всего просмотрите скрипт и измениет под себя переменные в начале!!!! ;в блокноте нажмите f3 и вставте ключевое слово !изменить! ; cntrl+1 запуск скрипта. когда переоделись и зашли в палату cntrl+1 ; cntrl+2 обычный бинд лечения ; cntrl+3 вопрос, что болит ; cntrl+4 доклад в рацию ; cntrl+5 просто проверка движения со скрином.
stringcasesense, locale ;нечувствительность к ригистру
global ntime:=% a_hour ""a_min ""a_sec global counth:=0 ;переменная подсчета количества вылеченных global secflood:= 8 ;антифлуд секунды, можно поставить побольше, чтобы не флудить. ;но если будет много, многие игроки не будут знать что говорить
name := "c:\users\godarck\documents\gta san andreas user files\samp\chatlog.txt" ;путь к чатлогу самп !изменить! global nameheal:="c:\users\godarck\documents\gta san andreas user files\samp\heal.txt" ;путь к каталогу вылеченых !изменить!
if lastline2 contains %name1%,%name2%,%name3% ;отклик на ваше имя { random, var0, 1, 3 if (var0=1 ) { str2=здравствуйте } else if (var0=2 ) { str2=да чего? } else if (var0=3 ) { str2=ау } sleep 1340 sendinput {f6}%str2%{enter} }
if lastline2 contains вы тут { ;система анти адм бот sendinput {enter} sleep 1350 sendinput {f6}да{enter} sleep 2340 sendinput {f6}где мне еще быть то?{enter} mousexy(-350, 0) labelmove() sleep 3200 sendinput {f6}кек{enter} }
if lastline2 contains вы были телепортированы администратором { ;бэкап чатлога, скрин и выход сразу filecopy, %name% , %name%%ntime%tp.txt sendinput {f11} sendinput {f6}/q{enter} }
if lastline2 contains сам с собой { sleep 320 sendinput {f6}бывает{enter} }
if lastline2 contains пошевелитесь,бот,вы тут { ;система анти адм бот random, otv, 1, 6 if lastline2 contains ffe6e6 { if otv=4 { sleep 1350 sendinput {f6}/n такой скрипт ахк.{enter} } if otv=3 { sleep 1350 sendinput {f6}/n сам ты бот -_-{enter} } } else { if otv=1 { sleep 1350 sendinput {f6}что простите?{enter} } if otv=2 { sleep 1450 sendinput {f6}я не понимаю вас{enter} } if otv=5 { sleep 1550 sendinput {f6}я не понимаю что вы хотите?{enter} } if otv=6 { sleep 1250 sendinput {f6}вылечить?{enter} } } labelmove() }
if lastline2 contains рецепт,аптечка,аптечку,аптеки,аптечки { if (antiflood() = 1) { ;sleep 550 ;sendinput {f6}я не могу выписывать рецeпты. обратитесь к старшему персоналу.{enter} } }
if lastline2 contains таблетку,таблетки { if (antiflood() = 1) { sleep 550 sendinput {f6}от чего вам выписать тaблeтки? что у вас болит?{enter} } }
if lastline2 contains голова,галава,golova,головка,голава,галова,голоав { regexmatch(lastline2,"\{ffffff\}(.+?)\[(.+?)\]+.+говорит:",match) if (healflood(match1) = 1) { sendinput {f6}/heal %match2% 50{enter} lastline1 := getnewline(name) if lastline1 contains вы далеко от игрока { askq() } if lastline1 contains вы отправили предложение о лечении { counth:=counth + 1 ;сбор количества вылеченных sendinput {f6}/me достала сумку{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/me достала лекарство из сумки{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/time{enter} sendinput {f6}/me передала лекарство "супрастин" больному %match1%{enter} ;!изменить! на муж род sleep 500 sendinput {f11} } } else { healfloodotv() } }
if lastline2 contains живот,желудок,животик,зуб,зубы {
regexmatch(lastline2,"\{ffffff\}(.+?)\[(.+?)\]+.+говорит:",match) if (healflood(match1) = 1) { sendinput {f6}/heal %match2% 30{enter} lastline1 := getnewline(name) if lastline1 contains вы далеко от игрока { askq()
} if lastline1 contains вы отправили предложение о лечении { sendinput {f6}/me достала сумку{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/me достала лекарство из сумки{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/time{enter} sendinput {f6}/me передала обезболивающее лекарство "пропоксифен" больному %match1%{enter} ;!изменить! на муж род sleep 500
sendinput {f11} } } else { healfloodotv() } }
if lastline2 contains изжега,изжога,газы,пучит,пукаю,печень {
regexmatch(lastline2,"\{ffffff\}(.+?)\[(.+?)\]+.+говорит:",match) if (healflood(match1) = 1) { sendinput {f6}/heal %match2% 30{enter} lastline1 := getnewline(name) if lastline1 contains вы далеко от игрока { askq()
} if lastline1 contains вы отправили предложение о лечении { counth:=counth+1 sendinput {f6}/me осмотрела горло больному{enter} ;!изменить! на муж род sleep 2000 sendinput {f6}/me достала лекарство "иммодиум" из сумки{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/time{enter} sendinput {f6}/me налила в ложечку и дал больному %match1%{enter} ;!изменить! на муж род sleep 500 } } else { healfloodotv() } }
if lastline2 contains нога,ноги,рука,руки,тело,(мат),писька,пиписька,хер,спина,член,писюн,шея {
regexmatch(lastline2,"\{ffffff\}(.+?)\[(.+?)\]+.+говорит:",match) if (healflood(match1) = 1) { sendinput {f6}/heal %match2% 50{enter} lastline1 := getnewline(name) if lastline1 contains вы далеко от игрока { askq()
}
if lastline1 contains вы отправили предложение о лечении { counth:=counth+1 sendinput {f6}/me достала сумку{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/me достала лекарство из сумки{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/time{enter} sendinput {f6}/me передала обезболивающую мазь "пенталгин" больному %match1%{enter} ;!изменить! на муж род sleep 500 sendinput {f6}втирайте эту мазь в больное место и вам станет легче.{enter} sendinput {f11} } } else { healfloodotv() } }
if lastline2 contains сердце,нервы,нервишки, {
regexmatch(lastline2,"\{ffffff\}(.+?)\[(.+?)\]+.+говорит:",match) if (healflood(match1) = 1) { sendinput {f6}/heal %match2% 100{enter} lastline1 := getnewline(name) if lastline1 contains вы далеко от игрока { askq()
} if lastline1 contains вы отправили предложение о лечении { counth:=counth+1 sendinput {f6}/me достала сумку{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/me достала лекарство из сумки{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/time{enter} sendinput {f6}/me дала таблетку "корвалол" больному %match1%{enter} ;!изменить! на муж род sleep 500 sendinput {f11} } } else { healfloodotv() } }
if lastline2 contains горло,грипп,кашель {
regexmatch(lastline2,"\{ffffff\}(.+?)\[(.+?)\]+.+говорит:",match) if (healflood(match1) = 1) { sendinput {f6}/heal %match2% 50{enter} lastline1 := getnewline(name) if lastline1 contains вы далеко от игрока { askq()
} if lastline1 contains вы отправили предложение о лечении { counth:=counth+1 sendinput {f6}/me осмотрела горло больному{enter} ;!изменить! на муж род sleep 2000 sendinput {f6}/me достала лекарство "доктор-мом" из сумки{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/time{enter} sendinput {f6}/me налила в ложечку и дал больному %match1%{enter} ;!изменить! на муж род sleep 500 sendinput {f11} } } else { healfloodotv() } }
if lastline2 contains вагина,(МАТ),молочница,месячные {
regexmatch(lastline2,"\{ffffff\}(.+?)\[(.+?)\]+.+говорит:",match) if (healflood(match1) = 1) { sendinput {f6}/heal %match2% 50{enter} lastline1 := getnewline(name) if lastline1 contains вы далеко от игрока { askq()
} if lastline1 contains вы отправили предложение о лечении { counth:=counth+1 sendinput {f6}/me досталa сумку{enter} ;!изменить! на муж род sleep 2000 sendinput {f6}/me досталa лекарство "флюкостат" из сумки{enter} ;!изменить! на муж род sleep 1000 sendinput {f6}/time{enter} sendinput {f6}/me передалa пациентке %match1% ампулу лекарства "флюкостат"{enter} ;!изменить! на муж род sleep 500 sendinput {f11} } } else { healfloodotv() } }
if lastline2 contains мед.карта,медицинскую карту,медкарту,медкарта,мед карту,мед. карту?, мед.карту { if (antiflood() = 1) { sleep 760 sendinput {f6}мeд. карту можно получить в кабинете на втором этаже у старшего персонала.{enter} } }
if lastline2 contains прив,даров,здаров,здравствуйтe { sleep 760 askq() }
if lastline2 contains спасибо,досвидания,удачи,спс { ;if (antiflood() = 1) ;{ sleep 1360 sendinput {f6}всего доброго, не болейте.{enter} ;} }
regexmatch(predline,"(.+?)\[(.+?)\]",match2last) regexmatch(pred2line,"(.+?)\[(.+?)\]",match3last) regexmatch(last,"(.+?)\[(.+?)\]",match1last) if (match1last1=match2last1 or match1last=match3last1) ;если больные одинаковы тогда идет команда что мы вас уже лечили { healtime:=stime-30 ;если разница в запросе лечения больше 30 секунд тогда лечим if (healtime > match2last2 ) {
healfloodotv() { stime:=% a_hour ""a_min ""a_sec if (stime >= ntime) { global ntime:=% a_hour ""a_min ""a_sec global ntime:=ntime+secflood ;между фразами антифлуд random, var0, 1, 4 if (var0=1) { str1=я вам уже давала лекарство ;!изменить! на муж род } else if (var0=2 ) { str1=/n я тебе уже отправляла лечение ;!изменить! на муж род } else if (var0=3 ) { str1=/n я тебе отправляла лечение ;!изменить! на муж род } else if (var0=4 ) { str1=/n погоди немного. } sleep 970 sendinput {f6}%str1%{enter} }
}
askq() { ;функция вызывается, когда игрок далеко от вас, и вы говорите чтобы к вам подошли лечится stime:=% a_hour ""a_min ""a_sec if (stime >= ntime) { global ntime:=% a_hour ""a_min ""a_sec global ntime:=ntime+secflood ;между фразами антифлуд random, var0, 1, 7 if (var0=1) { str1=здравствуйте. что у вас болит? } else if (var0=2 ) { str1=расскажите что у вас болит? } else if (var0=3 ) { str1=что вас беспокоит? } else if (var0=4 ) { str1=что болит? } else if (var0=5 ) { str1=что у вас болит? } else if (var0=6 ) { str1=если у вас что то болит,подходите ко мне. } else { str1=я не расслышала ;!изменить! на муж род } sleep 500 sendinput {f6}%str1%{enter} } return str1 }
getnewline(filename) { ;функция чтения последней строки, если файл изменен каждыее 100 мс static old static new if !old { filegetsize, old, %filename% new := old } while old = new { sleep 100 filegetsize, new, %filename% } old := new loop, read, %filename% if a_loopreadline { global lastline11:= last ;предыдущая строка (бывает нужным когда в одну секунду поступает лечение и кто то говорит еще ) last := a_loopreadline ;последняя строка } return last }