PapaBallon 1 Опубликовано 14 февраля Жалоба Поделиться Опубликовано 14 февраля Здравствуйте, уважаемый администратор. В настоящее время на сервере запущен ивент "Сердечки". С учётом реалий объёма фарма на нашем ботосервере, прошу рассмотреть возможность добавить у ивент-менеджера кнопку "сыграть все игры сразу" , чтобы все сердечки в инвентаре были обменяны на награды (согласен даже на пониженный шанс выиграть). А то ну совсем не интересно стоять тыкать тысячи раз на диалоги. Многие игроки (вроде меня) не сильны в создании скриптов, поэтому думаю будут за это благодарны администрации! Ссылка на сообщение Поделиться на другие сайты
DeAsce 1 Опубликовано 14 февраля Жалоба Поделиться Опубликовано 14 февраля begin while engine.delay(600) do Begin Delay(200); Engine.Settarget(31227); delay(100); Engine.DlgOpen; Delay(100); Engine.DlgSel(1); Delay(500); Engine.DlgSel('камень'); end; end. Держи скрипт друже) Ссылка на сообщение Поделиться на другие сайты
PapaBallon 1 Опубликовано 15 февраля Автор Жалоба Поделиться Опубликовано 15 февраля Спасибо большое, друг! Ссылка на сообщение Поделиться на другие сайты
Flier 0 Опубликовано 15 февраля Жалоба Поделиться Опубликовано 15 февраля Скрипт недоработан. Изначально тыкает один раз и на повтор уходит. А там подразумевается, что можно 10 попыток. begin while engine.delay(600) do Begin Delay(200); Engine.Settarget(31227); delay(100); Engine.DlgOpen; Delay(100); Engine.DlgSel(1); Delay(500); Engine.DlgSel('камень'); Delay(100); Engine.DlgSel('ножницы'); Delay(100); Engine.DlgSel('ножницы'); Delay(100); Engine.DlgSel('бумага'); Delay(100); Engine.DlgSel('камень'); Delay(100); Engine.DlgSel('ножницы'); Delay(100); Engine.DlgSel('камень'); Delay(100); Engine.DlgSel('бумага'); Delay(100); Engine.DlgSel('бумага'); Delay(100); Engine.DlgSel('ножницы'); Delay(100); end; end. Такой допилил, чтобы биться с ним до победного конца)) варианты можно любые накидать Ссылка на сообщение Поделиться на другие сайты
Selivar 10 Опубликовано 17 февраля Жалоба Поделиться Опубликовано 17 февраля Ну раз пошла такая пьянка, то можно еще вот так var i: integer; begin engine.SetTarget(31227); engine.DlgOpen; engine.delay(100); engine.DlgSel(1); while engine.delay(100) do begin engine.DlgSel('Play again!'); engine.delay(100); engine.DlgSel(i mod 3 + 1); end; end. Ссылка на сообщение Поделиться на другие сайты
Auth 29 Опубликовано 17 февраля Жалоба Поделиться Опубликовано 17 февраля 17 hours ago, Selivar said: Ну раз пошла такая пьянка, то можно еще вот так var i: integer; begin engine.SetTarget(31227); engine.DlgOpen; engine.delay(100); engine.DlgSel(1); while engine.delay(100) do begin engine.DlgSel('Play again!'); engine.delay(100); engine.DlgSel(i mod 3 + 1); end; end. не понял как это работает? что в i? остаток от деления на 3 и что дальше? uses sysutils,classes; const Amount:integer = 10; var Current:integer; procedure Choice(iRnd:integer); begin Engine.ByPassToServer('scripts_events.heart.heart:play ' + IntToStr(iRnd)); Delay(500); end; function ContainsBeforeEnd(const str, substr: string): Boolean; var P: Integer; begin P := Pos(substr, str); if P = 0 then Result := False else Result := P + Length(substr) - 1 <> Length(str); end; begin while True do begin Engine.SetTarget(31227); Delay(500); Engine.DlgOpen; Delay(500); Engine.ByPassToServer('scripts_events.heart.heart:letsplay'); Delay(500); for Current:=1 to Amount do begin Choice(Random(3)); if ContainsBeforeEnd(Engine.DlgText, 'A tie! ') then begin Delay(500); print('A tie, step#' + IntToStr(Current)); Choice(Random(3)); end; if ContainsBeforeEnd(Engine.DlgText, 'I win! So sorry! ') then begin Delay(500); Engine.ByPassToServer('scripts_events.heart.heart:letsplay'); Current:=0; end; end; Delay(500); end; end. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти