Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

REC=NOOBLE

Рег
14 Мар 2016
Сообщения
166
Реакции
0
var Index :integer;
begin
while Engine.Status = lsOnline do begin
if (ChatMessage.ChatType = mtAll) and ChatMessage.Unread then
begin
Index:=-1000;
Index:=Pos('n',ChatMessage.Text);
Index:=Pos('Н',ChatMessage.Text);
if Index=0 then
begin
Engine.CancelTarget;
Engine.SetTarget(ChatMessage.Sender);
Engine.UseSkill(1323);
delay(500);
end;
Engine.MoveTo(148024, -55512, -2728);


end;
end;
end.

Вот написал скриптик почему он бафает всех кто написал хоть что-то в белый чат ?
Есть скрип который сравнивает строки, но вы представте себе чтоб сколько дятлов которые пишут Дай нобл , нублл, НуБл ПЖ.
Решил пропарсить строку и приналичии в ней Н или N то берет таргет и бафает. Подозриваю что я что-то не так пропарсил. В нете видел примеры на StrScan но у нас тип данных не тот. Может как-то сделать приведение типов К стрингу?
Играю на фришках Интерлют.
 
Так. Нужно чтобы при наличии в строке H или N брал в таргет и бафал. Если меня память не подводит, то pos(); возвращает 0, если что-то не находит.


if( (Pos('N',ChatMessage.Text)<>0) or (Pos('H',ChatMessage.Text)<>0) ) then ...

И почему именно H и N?
 
pos возвращает позицию. если позиция = 0, значит не найдено, т.к. у символов в строках в принципе нумерация с 1.

А баффать он будет всех, в чьих сообщениях есть буква N или Н. Глупо.

Опять вот эти циклы без задержек с миллионами итераций в секунду...
 
@Krickt,
Krickt написал(а):
pos возвращает позицию. если позиция = 0, значит не найдено, т.к. у символов в строках в принципе нумерация с 1.
Если проставить условие >0 то вообще нифига не работает.



BlackBeard написал(а):
И почему именно H и N?
Krickt написал(а):
А баффать он будет всех, в чьих сообщениях есть буква N или Н. Глупо.
Глупо писать масив (в принцепе с чего и начинал) где вариантов может быть уйма.
У меня насчиталось уже 50 елементов и то было еще много уникумов которые писали по другому.
Решил не заморачиваться спирит оре стоит копейки , мне не жалко другим приятно =)


Krickt написал(а):
Опять вот эти циклы без задержек с миллионами итераций в секунду...
Умеем учимся и практикуем =) Слава богу комп сильный проблем нету(Пока до много поточности не дошел) =)



BlackBeard написал(а):
Так. Нужно чтобы при наличии в строке H или N брал в таргет и бафал. Если меня память не подводит, то pos(); возвращает 0, если что-то не находит.
Я думумал что он разбивает строку на масив(чаров) и находит в нем нужный елемент , и выдает номер ячейки , потому и начал отчет с нуля.
 
magogs написал(а):
Я думумал что он разбивает строку на масив(чаров) и находит в нем нужный елемент , и выдает номер ячейки , потому и начал отчет с нуля.
Не верно в корне, pos возвращает позицию (от того и пос) вхождения одной подстроки в другую это может быть RawByteString, позиция всегда будет больше нуля т.к. тип String это не массив как многие полагают, а нулевой символ у него занимает указать на начало массива. (Есть опция $ZEROBASEDSTRINGS , но она влияет только на вычисление выражений вида StrVar[число])
В отличии от Copy которая может принимать также и обычный массив (в массивах индексация начинается с нуля)
 
Назад
Сверху