QaK
Спасибо
Уже реализовано, в комбобоксе color нужно выбрать цвет а за тем предмет к нему в боксе item. Всего 5 цветов черный красный зеленый голубой желтый. К каждому цвету можно отдельный предмет привязать.
bistriy
Загружается бмп файл в виде матрицы пикселей и потом слева на право считывается как обычная матрица, проверяется цвет каждого пикселя. Если находит 1 из пяти цветов и для них установлен какойто предмет то выкидывает его на землю с стартовыми координатами + координатами пикселя в матрице
Это ты такой умный а я просто непонимаю ! С моим мозгомизвините в 29 лет уже трудно понять у тебя Fer123 молодые мозги лет 18 тебе да ? Ты понимаешь лучше моего. ВОт если можешь обработай этот скрипт и впиши в него подробные обьяснения. Куда что вставляеться , откуда береться , что каждая переменная обозначает ?
bistriy, если не понимаешь - кури матчасть, т.е. учебник по паскалю для начинающих, или даже лучше дельфу для начинающих. Если весь код коментировать - это застрелиться проще, есть алгоритм, есть его реализация в виде программы, ну, можно, допустим, в описании переменных подписать, что какая значит, а не весь код коментить. А так - зная основы программирования - код можно понять.
З.Ы. Запятые, плз, ставь, очень сложно читать посты.
bistriy, если не понимаешь - кури матчасть, т.е. учебник по паскалю для начинающих, или даже лучше дельфу для начинающих. Если весь код коментировать - это застрелиться проще, есть алгоритм, есть его реализация в виде программы, ну, можно, допустим, в описании переменных подписать, что какая значит, а не весь код коментить. А так - зная основы программирования - код можно понять.
З.Ы. Запятые, плз, ставь, очень сложно читать посты.
Я просил хоть немного начать обьяснять суть кода а не давать советы.
Я в советах асс. А вот в кодах нешарю. Вкурил ?
Добавлено через 4 минуты
Вот мое добавление .
Как нарисовать в окне формы картинку:
1. Добавить в функцию function Create_FormMain : TForm;
В процедуру InventoryUpdate я так думаю нужно добавить строку:
Код:
SelectedItems[1,ComboBoxColor.ItemIndex+1]:=ItemBase[1,i];
Для того чтобы первый элемент в таблице Items автоматически при заполнении присваивался цвету который стоит в таблице Color.
Чтобы можно было начинать сразу рисовать одним итемом не выбирая его в таблице. Я например рисую только аденами )
И вопрос :
Как бороться с сообщением вы не можете бросить так далеко, оно появляеться если бросаешь адену очень далеко от того места в котором находишься и рисунок получеться без этих аден . То есть если появляеться такое сообщение то он адены не кидает ((( Это при масштабе 5:1 рисую слово Lineage 2 с твоей картинки. При этом масштабе он букву L вабще не рисует только ineage 2 ((
Как поправить скрипт чтобы при масштабах больше 5:1 он рисовал всё слово с картинки Lineage 2. Может кто нибудь знает ?
bistriy,
попробуй цифру поменьше воткнуть, не 240.
Сам себе воткни ))
Тут ненужная строчка её можно удалить вабще я думаю.
240 - это ограничение от изменения которого размер нарисованной картинки никак не зависит. Просто это ограничение на расстояние на которое будет бежать бот а когда он кидает адену происходит следующее если он не может кинуть на это расстояние адену приходит сообщение с сервера вы не можете кинуть адену так далеко ((( и бот адену не кидает а переходит к следую щей точки.
Идея такая нужно доделать скрипт так :
1. Если приходит сообщение с сервера вы не можете кинуть адену так далеко , бот не кидает адену а сначала бежит в точку куда нужно кинуть адену а потом повторяет последнее действие тоесть кидает адену в эту точку и рисует дальше по порядку точки аденой.
Кто может сделать такую поправку в скрипте ?
Это очень нужно потому что я хочу выложить слово например Lineage 2 в масштабе 10:1 а у бота неполучаеться это сделать и рисуеться только цифра 2 , бот вабще добегает до конца слова и встаёт. Рисует только цифру 2 при таком масштабе (((
bistriy, хамить заканчивай. Если совсем ничего в программировании не понимаешь и код чужой разобрать не можешь, так нефиг умничать
delphi Код:
if delta(MyX,MyY,StartX+currentx*(ComboBoxScale.ItemIndex+1),StartY+currenty*(ComboBoxScale.ItemIndex+1))>240thenbegin//расстояние между точками
buf:=#$01;
WriteD(StartX+currentx*(ComboBoxScale.ItemIndex+1));
writeD(StartY+currenty*(ComboBoxScale.ItemIndex+1));
WriteD(StartZ);
WriteD(MyX);
WriteD(MyY);
WriteD(StartZ);
WriteD(1);
SendToServerEx(Name);
timer.enabled:=false; //Отключаем на время передвижения
ready:=true;
exit;
дословно код: если расстояние до точки выброса адены больше чем 240, тогда топаем в эту точку. Эспешиал фор ю, как говорится, а почему не срабатывает - это другая история.
aBRa_144, Коефициенты i и j в CreateItemBase неправильные для с4 стояли. Исправил скрипт в 1 посте пробуй Ckopo, Необязательно аденой, скрипт может кидаться любым предметом
Последний раз редактировалось Fer123, 04.03.2009 в 17:39.
bistriy
QaK прав, проверь другое значение дельты, например 100. Возможно просто на твоем сервере другое ограничение на дальность выбрасывания предмета.
и в этой строчке if ready and (delta(Myx,Myy....)<100) попробуй 50.
А так как ты хочешь не получится потому что сообщение с сервера "вы не можете кинуть адену так далеко" приходит не сразу и бот успеет обработать еще как минимум 8-10 координат так что последние ты никак не найдешь.
И кстате у меня нормально рисует картинку Lineage 2 при 10:1. А чтоб сделать картинку по больше лучше нарисуй ее побольше в самом файле и используй масштаб 5:1 (самый подходящий для адены). А 6:1 и дальше это для предметов большего размера чем адена. Тоесть подбирать надо такой масштаб чтоб расстояния между предметами не было видно и чтоб они не налягали на друг друга.
Последний раз редактировалось Fer123, 03.03.2009 в 17:52.