Скрипт на беггинг, begging script |
Скрипт на беггинг, begging script |
8 октября 2018 06:54
Сообщение #1
|
|
sub beg() UO.FilterSpeech('clear') UO.FilterSpeech('on') UO.FilterSpeech('add', 'У меня нет денег, не поделитесь?') UO.FilterSpeech('add', 'Позолотите ручку!') UO.FilterSpeech('add', 'Не соблаговолите ли Вы помочь бедняку?') UO.FilterSpeech('add', 'Подайте кто сколько может...') UO.FilterSpeech('add', 'Дайте немного денег бедному ньюбу') UO.FilterSpeech('add', 'Плиззз, дайте мне денюжков!!!') UO.FilterSpeech('add', 'Дайте мне денег, мру с голода...') UO.FilterSpeech('add', 'Жрать хочу больше чем чесаться!') UO.FilterSpeech('add', 'Прошу, помогите, чем можете...') UO.FilterSpeech('add', 'У такого бедняка как я нет денег даже на одежду!') UO.FilterSpeech('add', 'Неужели вы думаете, что попрошайничать - веселое занятие?') UO.FilterSpeech('add', 'Уважаемый, отсыпь чуть чуть золота?') UO.FilterSpeech('add', 'Может быть Вы сегодня будете щедрее других?') UO.FilterSpeech('add', 'Ваш социальный статус поднимется на глазах, если поделитесь деньгами!') UO.FilterSpeech('add', 'Ох, я так устал просить деньги, но у меня нет ни гроша...') UO.FilterSpeech('add', 'Денег у меня нет, но могу предложить') UO.FilterSpeech('add', 'To whom do you wish to grovel?') UO.FilterSpeech('add', 'You grovel at') UO.FilterSpeech('add', 'You fail utterly at your attempt to grovel') UO.FilterSpeech('add', 'Храню деньги в банке! И другим рекомендую.') UO.FilterSpeech('add', 'Нигде от вас спасения нет...') UO.FilterSpeech('add', 'Сами голодаем, не обессудьте...') UO.FilterSpeech('add', 'Отстань, попрошайка!') UO.FilterSpeech('add', 'Не проще ли убить пару монстров?') UO.FilterSpeech('add', 'Извините, но мне нечем с Вами поделиться...') UO.IgnoreReset() UO.Ignore(self) var i var bUseBank = false # складывать ли деньги в банк? var sBankSerial = '0x4067EAF5' # id контейнера банка - узнать командой uo.getserial(lastcontainer) после открытия банка var sTypeGold = '0x0EED' # type денег var iGoldAmount = 1000 # минимальное кол-во денег для отправки в банк var iMaletype = '0x0190' # тип мужского персонажа (string) var iFemaletype = '0x0191' # тип женского персонажа (string) var iSearchDist = 2 # радиус поиска в тайлах (int) var fIgnoreSeconds = 120.0 # время игнорирования персонажей бомжей без денег в секундах (float) var iHighestIgnored = -1 # последний индекс массива игнорируемых персонажей (int) DIM viIgnoreTimers[99] # массив временных меток для игнорируемых персонажей (int) DIM vsIgnoredChars[99] # массив серийников игнорируемых персонажей (string) var iArrayLength = GetArrayLength(viIgnoreTimers) - 1 # длина массивов - количество игнорируемых персонажей (int) for i = 0 to iArrayLength # инициализирую массивы, если этого не сделать, то инжект плюется ошибками viIgnoreTimers[i] = 0 vsIgnoredChars[i] = '0' next var iJournalLine = 0 # указатель на строку журнала, выданную поиском по журналу (int) var bVictimFound = false # флаг найденной жертвы (bool) var sVictimId = '0' # серийник жертвы (string) var sMessageColor = '0x03B2' # цвет диалога begging'a (string) var sJournalToClear = 'Пожалуй,|Отстань|Храню|Нигде|Не проще|Сами|Извините,|Денег у меня нет' UO.ChangeJournalLength(10) # [block start] очищаем журнал от лишних записей перед запуском скрипта repeat iJournalLine = UO.InJournal(sJournalToClear) if iJournalLine then UO.SetJournalLine(iJournalLine - 1, '') endif until iJournalLine == 0 repeat iJournalLine = UO.InJournal("You fail utterly|You can't see") if iJournalLine then UO.SetJournalLine(iJournalLine - 1, '') endif until iJournalLine == 0 # [block end] # основное тело скрипта while true Sleep(10) # [block start] очищаем массив игнорируемых персонажей if iHighestIgnored > -1 then for i = 0 to iHighestIgnored Sleep(1) if i == iHighestIgnored AND viIgnoreTimers[i] == 0 then iHighestIgnored = iHighestIgnored - 1 break endif if viIgnoreTimers[i] == 0 OR CurrentTime() - viIgnoreTimers[i] < 0.00001 * fIgnoreSeconds then continue endif UO.Ignore(vsIgnoredChars[i], 'off') viIgnoreTimers[i] = 0 if i == iHighestIgnored then iHighestIgnored = iHighestIgnored - 1 endif next endif # [block end] # [block start] кладем деньги в банк if bUseBank and UO.Count(sTypeGold, '0x0000', backpack) > iGoldAmount then UO.Msg('bank') Sleep(500) UO.FindType(sTypeGold, '0x0000', backpack) UO.MoveItem(finditem, 0, sBankSerial) Sleep(500) endif # [block end] # [block start] поиск жертвы if bVictimFound then UO.Track(0) bVictimFound = false endif UO.FindType(iMaletype, -1, 'ground', iSearchDist) if UO.FindCount() then bVictimFound = true else UO.FindType(iFemaletype, -1, 'ground', iSearchDist) if UO.FindCount() then bVictimFound = true endif endif if not bVictimFound then continue endif # [block end] # [block start] жертва найдена - вымогательство sVictimId = UO.GetSerial(finditem) UO.UseSkill('Begging', finditem) for i = 0 to 660 UO.Track(sVictimId) Sleep(10) # сообщение об отсутствии денег или подачка от NPC iJournalLine = UO.InJournal(sJournalToClear) if iJournalLine then if UO.JournalSerial(iJournalLine - 1) == sVictimId AND UO.JournalColor(iJournalLine - 1) == sMessageColor then UO.SetJournalLine(iJournalLine - 1, '') UO.CharPrint(self, '23', 'empty') UO.Ignore(sVictimId) for i = 0 to iArrayLength Sleep(1) if viIgnoreTimers[i] == 0 then viIgnoreTimers[i] = CurrentTime() vsIgnoredChars[i] = sVictimId if i > iHighestIgnored then iHighestIgnored = i endif break endif next else UO.SetJournalLine(iJournalLine - 1, '') endif break endif # сообщение о неудаче: жертва за пределом досягаемости iJournalLine = UO.InJournal("You fail utterly|You can't see") if iJournalLine then if UO.JournalSerial(iJournalLine - 1) == '0xFFFFFFFF' then #system message UO.SetJournalLine(iJournalLine - 1, '') UO.CharPrint(self, '23', 'failed') UO.Ignore(sVictimId) for i = 0 to iArrayLength Sleep(1) if viIgnoreTimers[i] == 0 then viIgnoreTimers[i] = CurrentTime() - 0.00001 * fIgnoreSeconds + 0.00002 # spam prevention vsIgnoredChars[i] = sVictimId if i > iHighestIgnored then iHighestIgnored = i endif break endif next else UO.SetJournalLine(iJournalLine - 1, '') endif break endif # сообщение об удаче: получены деньги от игрока iJournalLine = UO.InJournal('Держи,') if iJournalLine then if UO.JournalSerial(iJournalLine - 1) == sVictimId AND UO.JournalColor(iJournalLine - 1) == sMessageColor then UO.SetJournalLine(iJournalLine - 1, '') UO.CharPrint(self, '23', 'success') else UO.SetJournalLine(iJournalLine - 1, '') endif break endif next # [block end] wend end sub |
|
|
|
14 октября 2018 08:06
Сообщение #2
|
|
Во спасибо, а то мой что то перестал работать |
|
|
|
|
Сейчас: 22 ноября 2024 20:39 |